/* Danbuzz checkout and thank-you pages (checkout.php, woocommerce/checkout/*). Built on events.css: its tokens (.devt), the
   night -> day blocks, glass cards and the event page's notched ticket stub. Everything is scoped to .devt-co. */

/* WoodMart's own page title and checkout steps give way to ours; snippets 27/28 summaries give way to the stub */
.devt-co-page :is(.wd-page-title,.wd-checkout-steps){display:none}
.devt-co-page :is(.buzzpass-credit-card,.checkout-price-cut-box){display:none!important}
.devt.devt-co{--co-ok:#0F7B4A;--co-line:rgba(81,42,116,.2);--co-field:rgba(255,255,255,.88)}
.devt.devt-co :is(input[type=radio],input[type=checkbox]){accent-color:var(--accent)}

/* ---------- Night header: kicker, title, steps, notices ---------- */
.devt .devt-co-head{padding-top:64px;padding-bottom:150px}
.devt .devt-co-kicker{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;color:var(--bolt)}
.devt .devt-co-kicker .devt-i{width:14px;height:14px}
.devt .devt-co-head .devt-title{font-size:clamp(44px,7vw,88px)}
.devt .devt-co-steps{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;counter-reset:none}
.devt .devt-co-steps li{display:flex;margin:0}
.devt .devt-co-steps :is(li>a,li:not(:has(a))){display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 6px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass);color:var(--ink-2);font:500 14px var(--sans);text-decoration:none}
.devt .devt-co-steps span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.14);font:700 12px var(--mono)}
.devt .devt-co-steps li.is-done>a{color:#fff}
.devt .devt-co-steps li.is-done span{background:var(--bolt);color:#1E1030}
.devt .devt-co-steps li[aria-current]{border-radius:999px;box-shadow:0 0 0 2px #fff}
.devt .devt-co-steps li[aria-current]:not(:has(a)){background:#fff;color:#1E1030;font-weight:600}
.devt .devt-co-steps li[aria-current] span{background:var(--accent);color:#fff}
.devt .devt-co-notices{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;max-width:640px;margin-top:22px}
.devt .devt-co-notices .woocommerce-info::before{display:none}
.devt .devt-co-notices .woocommerce-info a{color:#fff!important;font-weight:600;text-decoration:underline;text-decoration-color:var(--bolt);text-underline-offset:3px}

/* ---------- Day block: details | ticket stub ---------- */
.devt .devt-co-body{padding-top:0;padding-bottom:190px}
.devt .devt-co-form{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:start;gap:28px 40px;margin-top:-104px} /* the cards rise into the night fade */
.devt .devt-co-main{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0} /* explicit, like .devt-ty-main: a wide child must not widen it */
.devt .devt-co-side{position:sticky;top:96px;min-width:0}
.devt .devt-co-card{margin:0;padding:28px;border:1px solid var(--glass-line);border-radius:24px;background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-hi),0 30px 60px -36px rgba(42,21,64,.5);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.devt .devt-co-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.devt .devt-co-card-head h2{margin:0;color:var(--ink);font:700 30px/1 var(--display);font-stretch:75%;letter-spacing:-.01em;text-transform:none}
.devt .devt-co-card-head p{margin:6px 0 0;color:var(--ink-3);font-size:14px}
.devt .devt-co-stub-head{margin:0 0 14px;padding-inline:4px}

/* WooCommerce's two-column customer box becomes one; its "Billing details" heading is ours now */
.devt.devt-co #customer_details{display:block;width:auto;float:none}
.devt.devt-co #customer_details :is(.col-1,.col-2){float:none;width:auto;max-width:none;padding:0}
.devt.devt-co #customer_details .col-2:empty{display:none}
.devt.devt-co .woocommerce-billing-fields>h3,.devt.devt-co .woocommerce-shipping-fields>h3:not(#ship-to-different-address){display:none}
.devt.devt-co :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.devt.devt-co .form-row{grid-column:1/-1;float:none;width:auto;margin:0;padding:0}
.devt.devt-co :is(.form-row-first,.form-row-last){grid-column:span 1}
.devt.devt-co .form-row label{display:block;margin:0 0 6px;color:var(--ink-2);font:600 13px/1.3 var(--sans)}
.devt.devt-co .form-row label .required{color:var(--accent);text-decoration:none;border:0}
.devt.devt-co .form-row label .optional{color:var(--ink-3);font-weight:400}
.devt.devt-co .form-row :is(input.input-text,select,textarea){box-sizing:border-box;width:100%;height:52px;margin:0;padding:0 16px;border:1px solid var(--co-line);border-radius:14px;background:var(--co-field);box-shadow:none;color:var(--ink);font:400 16px var(--sans);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.devt.devt-co .form-row textarea{height:auto;min-height:96px;padding-block:12px}
.devt.devt-co .form-row :is(input.input-text,select,textarea):focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 4px rgba(130,36,227,.16)}
.devt.devt-co .form-row.woocommerce-invalid :is(input.input-text,select){border-color:var(--sold);box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.devt.devt-co .select2-container .select2-selection--single{height:52px;border:1px solid var(--co-line);border-radius:14px;background:var(--co-field)}
.devt.devt-co .select2-container .select2-selection__rendered{line-height:50px;padding-left:16px}
.devt.devt-co .select2-container .select2-selection__arrow{height:50px}

/* The promo tick, under the details (tickets.php; one optional box since 2026-10-07, was a required Yes/No) */
.devt.devt-co .danbuzz-promo{margin:0;padding:18px 22px;border:1px solid var(--glass-line);border-radius:20px;background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-hi);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.devt.devt-co .danbuzz-promo-tick{display:flex;align-items:flex-start;gap:12px;margin:0;color:var(--ink);font:600 16px/1.35 var(--sans);cursor:pointer}
.devt.devt-co .danbuzz-promo-tick input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent)}
.devt.devt-co .danbuzz-promo-tick small{display:block;margin-top:2px;color:var(--ink-3);font:400 14px/1.4 var(--sans)}
.devt.devt-co .danbuzz-promo-tick:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.devt .devt-co-pack-terms{display:block;margin-top:4px;color:var(--ink-3);font-size:12.5px;line-height:1.4}
.devt .devt-co-help{display:block;margin-top:14px;text-align:center}
.devt.devt-co .danbuzz-promo-saved{margin:0;padding:14px 18px;border-radius:14px;background:var(--glass);color:var(--ink-2);font-size:14px}

/* ---------- The ticket stub: summary (top half) over payment (bottom half), with the event page's notches ---------- */
.devt .devt-co-stub{filter:drop-shadow(0 1px 1px rgba(18,16,22,.1)) drop-shadow(0 22px 30px rgba(26,17,34,.3))}
.devt .devt-co-stub .devt-co-sum{display:block;width:100%;margin:0;padding:20px 22px 18px;border:0;border-radius:18px 18px 0 0;background:var(--surface);color:var(--ink);
	-webkit-mask:radial-gradient(circle at 0 100%,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 100%,#0000 12px,#000 12.5px) right/51% 100% no-repeat;
	mask:radial-gradient(circle at 0 100%,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 100%,#0000 12px,#000 12.5px) right/51% 100% no-repeat}
.devt .devt-co-sum :is(thead,tbody,tfoot){display:block}
.devt .devt-co-sum tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 14px;margin:0;padding:6px 0;border:0;background:none}
.devt .devt-co-sum :is(th,td){display:block;padding:0;border:0;background:none;color:inherit;font:400 14px/1.4 var(--sans);text-align:left;text-transform:none;letter-spacing:0}
.devt .devt-co-sum :is(td:last-child,th+td){text-align:right;font:500 15px/1.4 var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.devt .devt-co-sum thead th{color:var(--ink-3);font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.devt .devt-co-sum tbody{margin:4px 0 10px;border-bottom:2px dashed var(--rule)}
.devt :is(.devt-co-sum,.devt-ty-items) .devt-co-thumb{flex:none;width:52px;height:65px;overflow:hidden;border-radius:8px;background:#512A74}
.devt :is(.devt-co-sum,.devt-ty-items) .devt-co-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.devt :is(.devt-co-sum,.devt-ty-items) .devt-co-what{display:grid;gap:3px;min-width:0}
.devt :is(.devt-co-sum,.devt-ty-items) .devt-co-title{color:var(--ink);font:700 17px/1.1 var(--display);font-stretch:75%;text-transform:uppercase;text-wrap:balance}
.devt :is(.devt-co-sum,.devt-ty-items) .devt-co-type{color:var(--ink-2);font-size:13px}
.devt :is(.devt-co-sum,.devt-ty-items) :is(dl.variation,ul.wc-item-meta){display:grid;grid-template-columns:auto 1fr;gap:0 6px;margin:4px 0 0;padding:0;color:var(--ink-3);font-size:12px;list-style:none}
.devt :is(.devt-co-sum,.devt-ty-items) :is(dl.variation dt,dl.variation dd,ul.wc-item-meta li){margin:0;padding:0;float:none;font-weight:400}
.devt :is(.devt-co-sum,.devt-ty-items) ul.wc-item-meta li{grid-column:1/-1;display:flex;gap:6px}
.devt :is(.devt-co-sum,.devt-ty-items) :is(dl.variation dd p,ul.wc-item-meta p){margin:0}
.devt .devt-co-was{color:var(--ink-3);font:400 12px var(--mono);text-decoration:line-through}
.devt .devt-co-sum tfoot tr :is(th,td){font-size:14px}
.devt .devt-co-sum tfoot th small{display:block;margin-top:2px;color:var(--ink-3);font:400 12px/1.35 var(--sans);text-transform:none;letter-spacing:0}
.devt .devt-co-sum tfoot th small.devt-co-clan{display:flex;align-items:center;gap:6px;margin-top:4px;color:var(--ink-2)} /* Join the Buzzpass clan (user 2026-10-15) */
.devt .devt-co-sum .devt-co-clan .devt-i{flex:none;width:14px;height:14px;color:#B98A00}
.devt .devt-co-sum .devt-co-clan a{color:var(--accent,#8224E3);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.devt .devt-co-sum .devt-co-orig td{color:var(--ink-3);text-decoration:line-through}
.devt .devt-co-sum :is(.devt-co-disc,.devt-co-waived) td,.devt .devt-co-sum .devt-co-waived small{color:var(--co-ok)}
.devt .devt-co-sum .devt-co-waived td s{margin-right:6px;color:var(--ink-3)}
.devt .devt-co-sum tr.order-total{margin-top:6px;padding-top:12px;border-top:1px solid var(--rule)}
.devt .devt-co-sum tr.order-total th{color:var(--ink);font:700 20px/1 var(--display);font-stretch:75%;text-transform:uppercase}
.devt .devt-co-sum tr.order-total td{color:var(--ink);font:800 30px/1 var(--display);font-stretch:75%}
.devt .devt-co-sum tr.order-total td small{display:block;color:var(--ink-3);font:400 11px var(--mono)} /* WooCommerce's "includes tax" note */
.devt .devt-co-sum tr.devt-co-saved{grid-template-columns:1fr;padding-top:12px}
.devt .devt-co-sum tr.devt-co-saved td{text-align:left;white-space:normal;font:inherit}
.devt :is(.devt-co-sum tr.devt-co-saved td>span,.devt-co-saved-pill){display:inline-block;max-width:100%;padding:7px 14px 7px 10px;border-radius:999px;background:#FFF4C2;color:#5C4200;font:600 13px/1.2 var(--sans);text-align:left;white-space:normal}
.devt :is(.devt-co-sum,.devt-co-saved-pill) .devt-i{display:inline-block;width:14px;height:14px;margin:-2px 6px 0 0;vertical-align:middle;color:#C99A00}
.devt .devt-co-stub #payment{position:relative;margin:0;padding:20px 22px 22px;border:0;border-radius:0 0 18px 18px;background:var(--surface);color:var(--ink);
	-webkit-mask:radial-gradient(circle at 0 0,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 12px,#000 12.5px) right/51% 100% no-repeat;
	mask:radial-gradient(circle at 0 0,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 12px,#000 12.5px) right/51% 100% no-repeat}
.devt .devt-co-stub #payment::before{content:"";position:absolute;left:22px;right:22px;top:0;border-top:2px dashed var(--rule)}
.devt .devt-co-stub #payment ul.payment_methods{display:grid;gap:10px;margin:0 0 16px;padding:0;border:0;list-style:none}
.devt .devt-co-stub #payment ul.payment_methods::before,.devt .devt-co-stub #payment ul.payment_methods::after{display:none}
.devt .devt-co-pay{position:relative;margin:0!important;padding:0!important;list-style:none}
.devt .devt-co-pay>input{position:absolute;opacity:0;pointer-events:none}
.devt .devt-co-pay>label{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:14px;border:1.5px solid var(--rule);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}
.devt .devt-co-pay>label:hover{border-color:rgba(130,36,227,.5)}
.devt .devt-co-pay:has(>input:checked)>label{border-color:var(--accent);background:#F7F1FF;box-shadow:0 0 0 3px rgba(130,36,227,.12)}
.devt .devt-co-pay:has(>input:focus-visible)>label{outline:2px solid var(--accent);outline-offset:2px}
.devt .devt-co-pay>label img{display:none} /* gateway logos: the card says it in words */
.devt .devt-co-pay-text{display:grid;gap:2px;min-width:0}
.devt .devt-co-pay-title{font:600 15px/1.25 var(--sans)}
.devt .devt-co-pay-sub{color:var(--ink-3);font-size:12.5px;line-height:1.4}
.devt .devt-co-pay-warn{color:var(--sold);font:600 12.5px/1.4 var(--sans)}
.devt .devt-co-pay-tag{align-self:start;padding:4px 9px;border-radius:999px;background:#FFF4C2;color:#5C4200;font:600 11px/1.2 var(--sans);white-space:nowrap}
.devt .devt-co-pay:has(>input:checked) .devt-co-pay-tag{background:var(--bolt);color:#1E1030}
.devt .devt-co-stub #payment .payment_box{margin:8px 0 0;padding:12px 14px;border-radius:12px;background:#F4F0F7;color:var(--ink-2);font-size:13px}
.devt .devt-co-stub #payment .payment_box::before{display:none}
.devt .devt-co-stub #payment .payment_box :is(p,fieldset){margin:0}
.devt .devt-co-stub #payment .payment_box:is(.payment_method_razorpay,.payment_method_cod,.payment_method_mycred){display:none!important} /* the card already says it */
.devt .devt-co-stub #payment .place-order{margin:0;padding:0;background:none}
.devt .devt-co-stub .woocommerce-terms-and-conditions-wrapper{margin:0 0 14px;color:var(--ink-3);font-size:12.5px;line-height:1.5}
.devt .devt-co-stub .woocommerce-terms-and-conditions-wrapper a{color:var(--accent)}
.devt .devt-co-stub .woocommerce-terms-and-conditions-wrapper .form-row{margin-top:8px}
.devt .devt-co-stub .woocommerce-terms-and-conditions-wrapper label{display:flex;align-items:flex-start;gap:8px;color:var(--ink-2);font:500 13px/1.4 var(--sans)}
.devt .devt-co-stub #place_order{float:none;display:block;width:100%;height:58px;margin:0;padding:0 18px;border:0;border-radius:14px;background:var(--accent);box-shadow:0 18px 30px -18px rgba(130,36,227,.8);color:#fff;font:700 17px var(--sans);letter-spacing:0;text-transform:none;transition:background .2s var(--ease),transform .12s var(--ease)}
.devt .devt-co-stub #place_order:hover{background:var(--accent-press)}
.devt .devt-co-stub #place_order:active{transform:scale(.98)}
.devt .devt-co-stub #place_order:focus-visible{outline:3px solid var(--bolt);outline-offset:3px}
.devt.devt-co .blockUI.blockOverlay{border-radius:18px;background:rgba(255,255,255,.6)!important}

/* Checkout errors. WooCommerce puts them at the top of the form (which rises into the night fade) and scrolls there, so the card is
   solid, clears the sticky header, and its links keep the error colour (WoodMart would make them white). Under a field: the
   inline message and a red border; the email Yes/No gets a red outline when it was left unanswered (checkout.js). */
.devt.devt-co :is(.woocommerce-NoticeGroup-checkout,.woocommerce-NoticeGroup-updateOrderReview){grid-column:1/-1;scroll-margin-top:120px}
.devt.devt-co .woocommerce-NoticeGroup :is(ul.woocommerce-error,.woocommerce-message,.woocommerce-info){position:relative;margin:0;padding:16px 18px 16px 52px;border:1px solid rgba(180,35,24,.28);border-radius:16px;background:#fff;box-shadow:0 20px 40px -26px rgba(26,17,34,.6);color:#7A1A12;font:500 15px/1.5 var(--sans);list-style:none;text-align:left}
.devt.devt-co .woocommerce-NoticeGroup :is(.woocommerce-message,.woocommerce-info){border-color:rgba(130,36,227,.28);color:var(--ink)}
.devt.devt-co .woocommerce-NoticeGroup ul.woocommerce-error::before{left:18px;top:18px;color:var(--sold)}
.devt.devt-co .woocommerce-NoticeGroup ul.woocommerce-error li{margin:0;padding:3px 0;color:#7A1A12}
.devt.devt-co .woocommerce-NoticeGroup ul.woocommerce-error :is(a,a:hover){color:#7A1A12!important;font-weight:600;text-decoration:underline;text-decoration-color:rgba(122,26,18,.4);text-underline-offset:3px}
.devt.devt-co .woocommerce-NoticeGroup :is(.woocommerce-message,.woocommerce-info) a{color:var(--accent)!important}
.devt.devt-co .checkout-inline-error-message{margin:6px 0 0;color:var(--sold);font:500 12.5px/1.4 var(--sans)}
.devt.devt-co .woocommerce-terms-and-conditions-wrapper .woocommerce-invalid label{color:var(--sold)}
.devt.devt-co .danbuzz-promo.is-missing{border-color:var(--sold);box-shadow:0 0 0 3px rgba(180,35,24,.14)}
.devt.devt-co .danbuzz-promo.is-missing legend{color:var(--sold)}

/* ---------- Thank-you page ---------- */
.devt .devt-ty-head{padding-top:64px;padding-bottom:150px}
.devt .devt-ty-mark{display:grid;place-items:center;width:64px;height:64px;margin-bottom:18px;border-radius:50%;background:var(--bolt);color:#1E1030;box-shadow:0 0 0 8px rgba(245,197,24,.18);animation:devt-rise .5s var(--settle) both}
.devt .devt-ty-head.is-wait .devt-ty-mark{background:rgba(255,255,255,.14);color:#fff;box-shadow:0 0 0 8px rgba(255,255,255,.06)}
.devt .devt-ty-head.is-failed .devt-ty-mark{background:#E5484D;color:#fff;box-shadow:0 0 0 8px rgba(229,72,77,.2)}
.devt .devt-ty-mark svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.devt .devt-ty-head .devt-label{margin:0 0 8px;color:var(--bolt)}
.devt .devt-ty-head .devt-title{font-size:clamp(44px,7.5vw,92px)}
.devt .devt-ty-lede{max-width:56ch;margin:14px 0 0;color:var(--ink-2);font-size:18px;line-height:1.5;text-wrap:pretty}
.devt .devt-ty-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:20px 0 0}
.devt .devt-ty-btn{display:inline-flex;align-items:center;height:50px;padding:0 26px;border-radius:14px;background:#fff;color:#1E1030;font:700 16px var(--sans);text-decoration:none}
.devt .devt-ty-btn:hover{background:var(--bolt);color:#1E1030}
.devt .devt-ty-link{color:#fff;font-weight:600}
/* "Complete your payment" (order-receipt.php): Razorpay's own markup. Its "click the button below" line repeats the lede; its
   buttons become ours; its "Please wait" note carries inline colours */
.devt .devt-ty-gateway{margin:24px 0 0;color:var(--ink-2)}
.devt .devt-ty-gateway>p:has(+form[name=razorpayform]){display:none}
.devt .devt-ty-gateway p{margin:0 0 12px}
.devt .devt-ty-gateway p:has(#btn-razorpay){display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.devt .devt-ty-gateway #btn-razorpay{height:50px;padding:0 30px;border:0;border-radius:14px;background:#fff;color:#1E1030;font:700 16px var(--sans);text-transform:none;letter-spacing:0;cursor:pointer}
.devt .devt-ty-gateway #btn-razorpay:hover{background:var(--bolt)}
.devt .devt-ty-gateway #btn-razorpay-cancel{height:auto;padding:0;border:0;background:none;color:#fff;font:600 16px var(--sans);text-decoration:underline;text-underline-offset:4px;text-transform:none;letter-spacing:0;cursor:pointer}
.devt .devt-ty-gateway #msg-razorpay-success{padding:14px 18px!important;border:0!important;border-radius:14px;background:rgba(255,255,255,.12)!important;color:#fff}
.devt .devt-ty-facts{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0}
.devt .devt-ty-facts>div{display:grid;gap:2px;padding:10px 16px;border:1px solid var(--glass-line);border-radius:14px;background:var(--glass)}
.devt .devt-ty-facts dt{color:var(--ink-3);font:500 10.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.devt .devt-ty-facts dd{margin:0;color:#fff;font:600 15px/1.3 var(--sans);font-variant-numeric:tabular-nums}
.devt .devt-ty-facts dd .woocommerce-Price-amount{color:inherit}

.devt .devt-ty-body{padding-top:0;padding-bottom:190px}
.devt .devt-ty-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:start;gap:24px 40px;margin:-104px 0 56px}
.devt .devt-ty-main{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0} /* an explicit column: an auto one grew to its widest child (the audition upload) and pushed the whole column off a phone */
.devt .devt-ty-main>*{min-width:0;overflow-wrap:anywhere}
.devt .devt-ty-main input[type=file]{max-width:100%}
.devt .devt-ty-side{position:sticky;top:96px;display:grid;gap:16px;min-width:0}
.devt .devt-ty-event{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:14px;border:1px solid var(--glass-line);border-radius:22px;background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-hi),0 26px 48px -32px var(--tint,#512A74);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ink);text-decoration:none;transition:transform .3s var(--ease)}
.devt .devt-ty-event:hover{color:var(--ink);transform:translateY(-3px)}
.devt .devt-ty-event-art{overflow:hidden;aspect-ratio:4/5;border-radius:14px;background:#512A74}
.devt .devt-ty-event-art img{display:block;width:100%;height:100%;object-fit:cover}
.devt .devt-ty-event-text{display:grid;align-content:center;gap:6px;min-width:0}
.devt .devt-ty-event-text .devt-label{color:var(--ink-3)}
.devt .devt-ty-event-title{font:800 clamp(24px,3vw,34px)/.95 var(--display);font-stretch:70%;text-transform:uppercase;text-wrap:balance}
.devt .devt-ty-event-meta{color:var(--ink-2);font:500 13px/1.45 var(--mono)}

/* The tickets box (tickets.php) as a night pass */
.devt.devt-ty .danbuzz-tickets-box{position:relative;overflow:hidden;margin:0;padding:24px;border-radius:22px;background:#1E1030;background:radial-gradient(120% 90% at 100% 0,#512A74 0,transparent 60%),#1E1030;color:#fff;box-shadow:0 30px 60px -34px rgba(30,16,48,.8)}
.devt.devt-ty .danbuzz-tickets-h{margin:0 0 6px;color:#fff;font:700 30px/1 var(--display);font-stretch:75%;text-transform:none}
.devt.devt-ty :is(.danbuzz-tickets-count,.danbuzz-tickets-wait){margin:0 0 16px;color:rgba(255,255,255,.78);font-size:15px}
.devt.devt-ty .danbuzz-tickets-open{display:inline-flex;align-items:center;height:50px;padding:0 24px;border-radius:14px;background:var(--bolt);color:#1E1030;font:700 16px var(--sans);text-decoration:none;transition:transform .12s var(--ease)}
.devt.devt-ty .danbuzz-tickets-open:active{transform:scale(.98)}
.devt.devt-ty #danbuzz-fix-email{margin-top:18px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.22);color:rgba(255,255,255,.78);font-size:14px}
.devt.devt-ty #danbuzz-fix-email p{margin:0}
.devt.devt-ty #danbuzz-fix-email strong{color:#fff}
.devt.devt-ty .danbuzz-fix-open{padding:0;border:0;background:none;color:var(--bolt);font:600 14px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.devt.devt-ty .danbuzz-fix-form{flex-wrap:wrap;gap:8px;margin-top:12px}
.devt.devt-ty .danbuzz-fix-form:not([style*="none"]){display:flex}
.devt.devt-ty .danbuzz-fix-form input[type=email]{flex:1;min-width:200px;height:46px;padding:0 14px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font:400 16px var(--sans)}
.devt.devt-ty .danbuzz-fix-send{height:46px;padding:0 18px;border:0;border-radius:12px;background:#fff;color:#1E1030;font:700 14px var(--sans);cursor:pointer}
.devt.devt-ty .danbuzz-fix-note{margin-top:8px!important;color:var(--bolt)}

/* Receipt and "Booked by" */
.devt .devt-ty-receipt,.devt .devt-ty-billing{padding:22px;border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 22px 40px -28px rgba(26,17,34,.45)}
.devt .devt-ty-side h2{margin:0 0 14px;color:var(--ink);font:700 24px/1 var(--display);font-stretch:75%;text-transform:none}
.devt .devt-ty-items{display:grid;gap:0;margin:0 0 12px;padding:0 0 12px;border-bottom:2px dashed var(--rule);list-style:none}
.devt .devt-ty-items li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;margin:0;padding:10px 0}
.devt .devt-ty-items li+li{border-top:1px solid var(--rule)}
.devt .devt-ty-price{display:grid;justify-items:end;align-content:start;gap:2px;font:500 15px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.devt .devt-ty-totals{display:grid;gap:8px;margin:0;padding:0}
.devt .devt-ty-totals>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.devt .devt-ty-totals dt{color:var(--ink-2);font-size:14px}
.devt .devt-ty-totals dt small{display:block;color:var(--ink-3);font-size:12px}
.devt .devt-ty-totals dd{margin:0;font:500 15px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.devt .devt-ty-totals .is-off :is(dd,small){color:var(--co-ok)}
.devt .devt-ty-totals .is-total{margin-top:4px;padding-top:12px;border-top:1px solid var(--rule)}
.devt .devt-ty-totals .is-total dt{color:var(--ink);font:700 20px/1 var(--display);font-stretch:75%;text-transform:uppercase}
.devt .devt-ty-totals .is-total dd{font:800 28px/1 var(--display);font-stretch:75%}
.devt .devt-co-saved-pill{margin:14px 0 0}
.devt .devt-ty-billing p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.6}
.devt .devt-ty-main>:not(.devt-ty-event):not(.danbuzz-tickets-box) h2{color:var(--ink)} /* anything else hooked in, e.g. the audition upload */

/* ---------- Narrow screens ---------- */
@media (max-width:980px){
	.devt .devt-co-form,.devt .devt-ty-grid{grid-template-columns:minmax(0,1fr);margin-top:-96px}
	.devt :is(.devt-co-side,.devt-ty-side){position:static}
	.devt .devt-co-body{padding-bottom:230px}
}
@media (max-width:599px){
	.devt :is(.devt-co-head,.devt-ty-head){padding-top:40px}
	.devt .devt-co-card{padding:20px;border-radius:20px}
	.devt .devt-co-card-head h2{font-size:26px}
	.devt .devt-co-stub .devt-co-sum{padding:18px 16px 16px}
	.devt .devt-co-stub #payment{padding:18px 16px}
	.devt .devt-co-pay>label{grid-template-columns:36px minmax(0,1fr);padding:12px}
	.devt .devt-co-pay-tag{grid-column:2;justify-self:start}
	.devt .devt-ty-event{grid-template-columns:88px minmax(0,1fr);gap:14px}
	.devt .devt-ty-facts>div{flex:1 1 40%}
	.devt .devt-ty-lede{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
	.devt :is(.devt-ty-mark,.devt-ty-event,.devt-co-pay>label,#place_order){transition:none;animation:none}
}
/* WooCommerce's "Create an account?" and "Additional information" (order notes) inside "Your details" */
.devt.devt-co .woocommerce-account-fields{margin-top:16px}
.devt.devt-co .woocommerce-account-fields .form-row label.checkbox,.devt.devt-co .woocommerce-account-fields label{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--ink-2);font:500 14px var(--sans);cursor:pointer}
.devt.devt-co .woocommerce-account-fields input[type=checkbox]{width:18px;height:18px;margin:0}
.devt.devt-co .woocommerce-additional-fields{margin-top:22px;padding-top:20px;border-top:1px dashed var(--co-line)}
.devt.devt-co .woocommerce-additional-fields>h3{margin:0 0 12px;color:var(--ink);font:700 20px/1.1 var(--display);font-stretch:75%;letter-spacing:0;text-transform:none}

/* ---------- Cart (woocommerce/cart/*): a card per ticket line beside the summary stub ---------- */
.devt .devt-cart-lines{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.devt.devt-co .devt-cart-line{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:start;gap:14px 20px;padding:18px}
.devt .devt-cart-poster{display:block;overflow:hidden;aspect-ratio:4/5;border-radius:14px;background:#512A74}
.devt .devt-cart-poster img{display:block;width:100%;height:100%;object-fit:cover}
.devt .devt-cart-info{display:grid;align-content:start;gap:4px;min-width:0}
.devt .devt-cart-when{margin:0;color:var(--ink-3)}
.devt .devt-cart-title{margin:0;font:800 clamp(22px,2.4vw,28px)/.95 var(--display);font-stretch:70%;text-transform:uppercase;text-wrap:balance}
.devt .devt-cart-title a{color:var(--ink);text-decoration:none}
.devt .devt-cart-title a:hover{color:var(--accent)}
.devt .devt-cart-type{margin:0;color:var(--ink-2);font-size:14px}
.devt.devt-co .devt-cart-info dl.variation{display:grid;grid-template-columns:auto 1fr;gap:0 6px;margin:4px 0 0;color:var(--ink-3);font-size:12.5px}
.devt.devt-co .devt-cart-info dl.variation :is(dt,dd){margin:0;padding:0;float:none;font-weight:400}
.devt.devt-co .devt-cart-info dl.variation dd p{margin:0}
.devt .devt-cart-each{margin:6px 0 0;font:500 14px var(--mono);font-variant-numeric:tabular-nums}
.devt .devt-cart-each .devt-co-was{margin-right:6px}
.devt .devt-cart-each>span:last-child{color:var(--ink-3);font:400 12px var(--sans)}
.devt .devt-cart-side{display:grid;justify-items:end;gap:10px}
.devt.devt-co .devt-cart-side .quantity{display:inline-flex;align-items:center;margin:0;border:1px solid var(--co-line);border-radius:999px;background:#fff;overflow:hidden}
.devt.devt-co .devt-cart-side .quantity :is(.minus,.plus,input[type=button]){width:38px;min-width:0;height:38px;margin:0;padding:0;border:0;background:none;color:var(--ink);font:500 18px var(--sans);cursor:pointer}
.devt.devt-co .devt-cart-side .quantity :is(.minus,.plus,input[type=button]):hover{background:#F3EAFE}
.devt.devt-co .devt-cart-side .quantity input.qty{width:40px;height:38px;margin:0;padding:0;border:0;background:none;color:var(--ink);font:600 15px var(--mono);text-align:center;-moz-appearance:textfield;appearance:textfield}
.devt.devt-co .devt-cart-side .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none}
.devt .devt-cart-crew{display:inline-block;padding:7px 12px;border-radius:999px;background:#F3EAFE;color:#3B1270;font:600 13px var(--sans)}
.devt .devt-cart-side .product-subtotal{display:grid;justify-items:end;font:600 18px var(--mono);font-variant-numeric:tabular-nums}
.devt.devt-co .devt-cart-side .product-remove a.remove{display:inline;width:auto;height:auto;border:0;background:none!important;color:var(--ink-3)!important;font:500 13px var(--sans);text-decoration:underline;text-underline-offset:3px}
.devt.devt-co .devt-cart-side .product-remove a.remove:hover{color:var(--sold)!important}
.devt .devt-cart-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:4px}
.devt.devt-co .devt-cart-actions .coupon{display:flex;gap:8px;flex:1 1 280px;max-width:420px}
.devt.devt-co .devt-cart-actions .coupon input.input-text{flex:1;height:46px;margin:0;padding:0 14px;border:1px solid var(--co-line);border-radius:12px;background:var(--co-field);font:400 15px var(--sans)}
.devt.devt-co .devt-cart-actions button.button{height:46px;margin:0;padding:0 18px;border:1px solid var(--co-line);border-radius:12px;background:#fff;color:var(--ink);font:600 14px var(--sans);text-transform:none;letter-spacing:0}
.devt.devt-co .devt-cart-actions button.devt-cart-update{border-color:transparent;background:none;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}
.devt.devt-co .devt-cart-actions button.devt-cart-update:disabled{opacity:.5}
.devt.devt-co .cart-collaterals{width:auto;float:none}
.devt.devt-co .cart-collaterals .cross-sells{display:none} /* the summary stays the one thing on the right */
.devt.devt-co .cart_totals{width:auto;float:none}
.devt .devt-co-stub .devt-cart-go{position:relative;margin:0;padding:20px 22px 22px;border-radius:0 0 18px 18px;background:var(--surface);
	-webkit-mask:radial-gradient(circle at 0 0,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 12px,#000 12.5px) right/51% 100% no-repeat;
	mask:radial-gradient(circle at 0 0,#0000 12px,#000 12.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 0,#0000 12px,#000 12.5px) right/51% 100% no-repeat}
.devt .devt-co-stub .devt-cart-go::before{content:"";position:absolute;left:22px;right:22px;top:0;border-top:2px dashed var(--rule)}
.devt.devt-co a.devt-cart-checkout{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:58px;margin:0;padding:0 20px;border:0;border-radius:14px;background:var(--accent);box-shadow:0 18px 30px -18px rgba(130,36,227,.8);color:#fff;font:700 17px var(--sans);text-decoration:none;text-transform:none;transition:background .2s var(--ease),transform .12s var(--ease)}
.devt.devt-co a.devt-cart-checkout:hover{background:var(--accent-press);color:#fff}
.devt.devt-co a.devt-cart-checkout:active{transform:scale(.98)}
.devt .devt-cart-checkout-total{display:inline-flex;align-items:center;gap:8px;font:700 17px var(--mono)}
.devt .devt-cart-checkout-total .woocommerce-Price-amount{color:#fff}
.devt .devt-co-sum tr.devt-co-credits-row{grid-template-columns:1fr;padding-top:10px}
.devt .devt-co-sum tr.devt-co-credits-row td{color:var(--ink-2);font:500 13px/1.4 var(--sans);text-align:left;white-space:normal}
.devt .devt-cart-empty{padding-bottom:190px}
.devt.devt-co .devt-cart-empty-msg :is(.cart-empty,.woocommerce-info,.wd-empty-page-text){display:none} /* the title says it; the element stays for WooCommerce's cart script; WoodMart adds its own text */

/* ---------- WooCommerce notices in the night header ("removed. Undo?", out of stock): glass, readable links ---------- */
.devt.devt-co .devt-co-head .woocommerce-notices-wrapper:has(>*){display:grid;gap:10px}
.devt.devt-co .devt-cart-empty-msg .woocommerce-notices-wrapper:has(>*){max-width:640px;margin-top:22px} /* the title has no gap under it */
.devt.devt-co .devt-co-head .woocommerce-notices-wrapper>:is(.woocommerce-message,.woocommerce-info,.woocommerce-error){margin:0;padding:14px 16px!important;border:1px solid var(--glass-line)!important;border-radius:14px;background:var(--glass)!important;color:#fff!important;font:500 15px/1.5 var(--sans);list-style:none;text-align:left} /* !important: WoodMart's notice colours */
.devt.devt-co .devt-co-head .woocommerce-notices-wrapper>*::before{display:none}
.devt.devt-co .devt-co-head .woocommerce-notices-wrapper a{margin:0 0 0 6px;padding:0;border:0;background:none;color:#fff!important;font:600 15px var(--sans);text-decoration:underline;text-decoration-color:var(--bolt);text-underline-offset:3px;text-transform:none}
.devt.devt-co .devt-co-head .woocommerce-notices-wrapper>.woocommerce-error{background:#fff!important;color:#7A1A12!important}
.devt.devt-co .devt-co-head .woocommerce-notices-wrapper>.woocommerce-error a{color:#7A1A12!important}

/* ---------- Checkout whose cart emptied (checkout.php danbuzz_checkout_expired) ---------- */
.devt .devt-co-gone{max-width:640px}
.devt.devt-co:has(.devt-co-gone) :is(.devt-co-steps,.devt-co-notices){display:none} /* "1 ticket" no longer applies */
.devt .devt-co-gone h2{margin:0 0 8px;color:var(--ink);font:700 30px/1 var(--display);font-stretch:75%;letter-spacing:-.01em;text-transform:none}
.devt .devt-co-gone p{margin:0;color:var(--ink-2)}
.devt .devt-co-gone .devt-ty-btn{background:var(--accent);color:#fff}
.devt .devt-co-gone .devt-ty-btn+.devt-ty-btn{background:#fff;box-shadow:inset 0 0 0 1px var(--co-line);color:#1E1030}

/* ---------- Guest names (checkout.php danbuzz_guests_editor), in cart lines and at checkout ---------- */
.devt.devt-co .devt-guests{grid-column:1/-1;display:grid;gap:10px;min-width:0;margin:4px 0 0;padding:16px 0 0;border:0;border-top:1px dashed var(--co-line)}
.devt.devt-co .devt-guests legend{float:left;width:100%;margin:0;padding:0;color:var(--ink);font:700 19px/1.1 var(--display);font-stretch:75%}
.devt .devt-guests-hint{clear:both;margin:0;color:var(--ink-3);font-size:13px}
.devt .devt-guest{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px} /* the name, then email + phone, then "Add a stage name" */
.devt .devt-guest>label:nth-of-type(1){grid-column:2/-1}
.devt .devt-guest>label:nth-of-type(2){grid-column:2}
.devt .devt-guest>label:nth-of-type(3){grid-column:3}
/* A friend's stage name is optional and folded away (the buyer's own is asked once, above "Who's coming") */
.devt .devt-guest-aka{grid-column:2/-1}
.devt .devt-guest-aka summary{display:inline-block;padding:6px 0;color:var(--accent);font:500 14px/1.3 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer;list-style:none}
.devt .devt-guest-aka summary::-webkit-details-marker{display:none}
.devt .devt-guest-aka summary::before{content:"+ "}
.devt .devt-guest-aka summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.devt .devt-guest-aka[open] summary{display:none}
.devt .devt-guest label{margin:0}
.devt .devt-guest-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#F3EAFE;color:#3B1270;font:700 13px var(--mono)}
.devt.devt-co .devt-guest input{box-sizing:border-box;width:100%;height:44px;margin:0;padding:0 12px;border:1px solid var(--co-line);border-radius:12px;background:var(--co-field);color:var(--ink);font:400 15px var(--sans)}
.devt.devt-co .devt-guest input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 4px rgba(130,36,227,.16)}
.devt .devt-opt-tag{margin-left:6px;color:var(--ink-3);font:500 12px/1 var(--mono);font-stretch:100%;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.devt.devt-co .devt-name-one{display:block;margin:0;max-width:420px}
.devt.devt-co .devt-name-one input{box-sizing:border-box;width:100%;height:48px;margin:0;padding:0 14px;border:1px solid var(--co-line);border-radius:12px;background:var(--co-field);color:var(--ink);font:400 16px var(--sans)}
.devt.devt-co .devt-name-one input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 4px rgba(130,36,227,.16)}
.devt .devt-names .devt-guests-status{min-height:0}
.devt .devt-guests-status{min-height:1.4em;margin:0;color:var(--accent);font:600 13px/1.4 var(--sans)}
.devt .devt-guests.is-done .devt-guests-status{color:var(--co-ok)}
.devt.devt-co .devt-guests-card .devt-label{margin:0 0 8px;color:var(--ink-3)}
.devt.devt-co .devt-guests-card .devt-guests{padding-top:0;border-top:0}

@media (max-width:767px){
	.devt.devt-co .devt-cart-line{grid-template-columns:76px minmax(0,1fr);padding:14px}
	.devt .devt-cart-side{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
	.devt .devt-guest{grid-template-columns:28px minmax(0,1fr)}
	.devt .devt-guest>label,.devt .devt-guest>label:nth-of-type(odd){grid-column:2}
}

/* "Come back to this page" (danbuzz_comeback_note() in checkout.php): above Pay at checkout and on "Complete your payment".
   Bolt-yellow on purpose: it has to be seen on the night hero and on the white checkout alike. */
.devt .db-comeback{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;padding:14px 16px;border:2px solid #F5C518;border-radius:16px;background:#FFF6CC;color:#1E1030;text-align:left}
.devt .db-comeback svg{flex:none;width:26px;height:26px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.devt .db-comeback p{display:grid;gap:4px;margin:0;font:400 14px/1.4 var(--sans)}
.devt .db-comeback strong{font-size:16px;font-weight:700;line-height:1.35}
.devt .db-comeback span{color:#5E5470}
.devt-ty-pay .db-comeback{max-width:560px;margin:22px 0 0}
.devt-co-page:has(#payment_method_mycred:checked) .db-comeback{display:none} /* credits need no app */

/* Touch screens (user report 2026-10-01: the checkout glitched while scrolling). Phones redraw blur behind glass and drop-shadow
   filters on every scroll frame, and the site's bottom toolbar slid in and out over the Pay button while the Pay bar did too.
   So on touch: solid cards, no filter on the stub, and the Pay bar is the only bar at the bottom of the checkout. */
@media (hover:none){
	.devt .devt-co-stub{filter:none}
	.devt :is(.devt-co-card,.danbuzz-promo){-webkit-backdrop-filter:none;backdrop-filter:none;background:#F7F4FC}
	body.woocommerce-checkout.devt-co-page .wd-toolbar{display:none}
}

/* ---------- The Terms box under "I have read the terms" (info-pages.php danbuzz_info_terms_box: the terms page, cleaned) ---------- */
.devt.devt-co .di-terms-box{margin:10px 0 0;padding:14px 16px;border:1px solid var(--co-line);border-radius:12px;background:#fff;color:var(--ink-2);font:400 13px/1.55 var(--sans)}
.devt.devt-co .di-terms-box h2{margin:14px 0 4px;color:var(--ink);font:700 14px/1.3 var(--sans);text-transform:none}
.devt.devt-co .di-terms-box h2:first-child{margin-top:0}
.devt.devt-co .di-terms-box :is(p,ul){margin:0 0 8px}
.devt.devt-co .di-terms-box ul{padding-left:18px}


/* Phones zoom into a field whose text is under 16px (user report 2026-10-15: "the screen zooms in while I fill checkout").
   On touch screens these fields read 16px; computers keep 15px. */
@media (hover:none){
	.devt.devt-co .devt-guest input,.devt.devt-co .devt-cart-side .quantity input.qty,.devt.devt-co .devt-cart-actions .coupon input.input-text,.devt .devt-co-coupon input{font-size:16px}
}
/* The buyer's own ticket in the names editor, when the event page marked it "Me" */
.devt .devt-guest-me{grid-column:2/-1;font-weight:600}

/* ================= Checkout, round A: "Review & pay" (picture docs/mockups/easy-booking/4-pay.png) =================
   Scoped to the checkout form (.checkout.devt-co-form) and #order_review, so the cart, which shares the classes above, keeps its
   ticket stub. Computers: Who's coming + your details | order, totals, discount code, Pay with (sticky where it fits). Phones:
   one column in the picture's order (the two columns become one with display:contents and order), the terms tick and Pay fixed
   at the bottom. Solid white cards: no blur, filter, mask or moving box around a field (iPhone focus, CLAUDE.md Gotchas). */
.devt .devt-co-steps span svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.devt .devt-co-steps li.is-done:not(:has(a)){color:#fff}
.devt .checkout.devt-co-form :is(.devt-co-main,.devt-co-side){display:grid;grid-template-columns:minmax(0,1fr);gap:14px;position:static}
@media (min-width:981px) and (min-height:900px){.devt .checkout.devt-co-form .devt-co-side{position:sticky;top:96px}} /* only where the column fits */
.devt .checkout.devt-co-form .devt-co-card,.devt #order_review .devt-co-sum,.devt #order_review .devt-co-coupon,.devt #order_review .devt-co-payhead,.devt.devt-co #order_review #payment{margin:0;border:1px solid var(--co-line);border-radius:18px;background:var(--surface);box-shadow:0 14px 30px -24px rgba(42,21,64,.45);color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask:none;mask:none}
.devt .checkout.devt-co-form .devt-co-card{padding:18px 20px}
/* A card's small heading: WHO'S COMING, YOUR DETAILS, PAY WITH */
.devt .devt-co-cap{margin:0 0 10px;color:var(--ink-3);font:600 13px/1.3 var(--sans);font-stretch:100%;letter-spacing:.06em;text-transform:uppercase}
.devt .devt-co-cap-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.devt a.devt-co-edit,.devt .devt-co-me-change{flex:none;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--accent);font:600 14px/1.3 var(--sans);letter-spacing:0;text-transform:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer} /* WoodMart styles every button */
.devt a.devt-co-edit:hover,.devt .devt-co-me-change:hover{background:none;color:var(--accent-press)}

/* The order card (checkout.php danbuzz_checkout_order_card()) */
.devt .devt-co-ev{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px}
.devt .devt-co-ev+.devt-co-ev{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule)}
.devt .devt-co-order .devt-co-thumb{display:block;width:62px;height:78px;overflow:hidden;border-radius:10px;background:#512A74}
.devt .devt-co-order .devt-co-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.devt .devt-co-ev-text{min-width:0}
.devt .devt-co-ev-title{margin:0;color:var(--ink);font:600 17px/1.25 var(--sans);text-wrap:balance}
.devt .devt-co-ev-when{margin:2px 0 0;color:var(--ink-3);font:400 13.5px/1.35 var(--sans)}
.devt .devt-co-lines{margin:8px 0 0;padding:0;list-style:none}
.devt .devt-co-lines li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;padding:3px 0;color:var(--ink-2);font:400 15px/1.4 var(--sans)}
.devt .devt-co-line-what{display:grid;gap:2px;min-width:0}
.devt .devt-co-line-price{flex:none;color:var(--ink);font:500 15px/1.4 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
.devt .devt-co-line-price .woocommerce-Price-amount{color:inherit}
.devt .devt-co-lines :is(dl.variation,ul.wc-item-meta){display:grid;grid-template-columns:auto 1fr;gap:0 6px;margin:0;padding:0;color:var(--ink-3);font-size:12.5px;list-style:none}
.devt .devt-co-lines :is(dl.variation dt,dl.variation dd){margin:0;padding:0;float:none;font-weight:400}
.devt .devt-co-lines dl.variation dd p{margin:0}

/* "Who's coming" read-only (checkout.php danbuzz_checkout_people_card()) */
.devt .devt-co-people-ev{margin-top:8px}
.devt .devt-co-people-ev p{margin:0;color:var(--ink);font:600 14px/1.3 var(--sans)}
.devt .devt-co-ppl{margin:0;padding:0;list-style:none}
.devt .devt-co-ppl li{display:flex;align-items:center;gap:10px;margin:0;padding:5px 0;color:var(--ink);font:400 15px/1.35 var(--sans)}
.devt .devt-co-ppl-n{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#F3EAFE;color:var(--accent);font:600 12.5px/1 var(--mono)}
.devt .devt-co-ppl-name{min-width:0;overflow-wrap:anywhere}
.devt .devt-co-ppl-name small{color:var(--ink-3);font-size:13px}

/* "Your details" as one line (danbuzz_checkout_details_complete()): WooCommerce's boxes stay in the form, folded until Change */
.devt .devt-co-me{display:flex;align-items:center;justify-content:space-between;gap:14px}
.devt .devt-co-me p{display:grid;gap:2px;min-width:0;margin:0}
.devt .devt-co-me b{color:var(--ink);font:500 15.5px/1.35 var(--sans);overflow-wrap:anywhere}
.devt .devt-co-me span{color:var(--ink-3);font:400 13.5px/1.35 var(--sans);overflow-wrap:anywhere}
.devt.devt-co #customer_details.is-short .devt-co-fields{display:none}
.devt.devt-co #customer_details:not(.is-short) .devt-co-me{display:none}
.devt .devt-co-fields-note{margin:-2px 0 16px;color:var(--ink-3);font-size:14px}

/* The email tick: a plain row, as in the picture */
.devt .checkout.devt-co-form :is(.danbuzz-promo,.danbuzz-promo-saved){padding:4px 6px;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.devt .checkout.devt-co-form .danbuzz-promo-tick{font:400 15px/1.4 var(--sans);color:var(--ink-2)}
.devt .checkout.devt-co-form .danbuzz-promo-tick input{width:20px;height:20px}
.devt .checkout.devt-co-form .danbuzz-promo-tick small{font-size:13px}

/* Totals, discount code and payment: one card each inside #order_review (WooCommerce refreshes the table and #payment) */
.devt #order_review.devt-co-stub{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;filter:none}
.devt #order_review .devt-co-sum{display:block;width:100%;padding:16px 20px}
.devt #order_review .devt-co-sum tbody{margin:0;border:0}
.devt #order_review .devt-co-sum tbody:not(:has(tr)){display:none} /* the tickets are in the order card; a hook may still add rows here */
.devt #order_review .devt-co-sum :is(th,td){font:400 15px/1.4 var(--sans)}
.devt #order_review .devt-co-sum tfoot th{color:var(--ink-2)}
.devt #order_review .devt-co-sum :is(td:last-child,th+td){color:var(--ink);font:500 15px/1.4 var(--sans);font-variant-numeric:tabular-nums}
.devt #order_review .devt-co-sum tfoot th small{font:400 12px/1.35 var(--sans);color:var(--ink-3)}
.devt #order_review .devt-co-sum tfoot th small.devt-co-clan{color:var(--ink-2)}
.devt #order_review .devt-co-sum tr.order-total{margin-top:8px;padding-top:12px;border-top:1.5px dashed var(--rule)}
.devt #order_review .devt-co-sum tr.order-total th{color:var(--ink);font:600 19px/1.2 var(--sans);font-stretch:100%;text-transform:none}
.devt #order_review .devt-co-sum tr.order-total td{color:var(--ink);font:700 21px/1.2 var(--sans);font-stretch:100%}
.devt #order_review .devt-co-sum tr.devt-co-saved{padding-top:10px}
.devt #order_review .devt-co-sum tr.devt-co-saved td>span{display:block;padding:8px 12px;border-radius:10px;font:500 13.5px/1.3 var(--sans)}
.devt #order_review .devt-co-sum .woocommerce-remove-coupon{margin:0 -8px 0 0;color:var(--accent);vertical-align:middle} /* WoodMart's X in a 30px box, its text at size 0: the icon lines up with the amounts above and below */

/* "Have a discount code? Apply ›" (checkout.php danbuzz_checkout_coupon_box()): one row; the code box opens under it in place */
.devt #order_review .devt-co-coupon{display:grid;gap:10px;padding:0}
.devt #order_review .devt-co-coupon:has(.devt-co-coupon-box:not([hidden])),.devt #order_review .devt-co-coupon:has(.devt-co-coupon-note:not(:empty)){padding-bottom:14px}
.devt .devt-co-coupon-open{display:flex;align-items:center;gap:10px;width:100%;min-height:54px;margin:0;padding:0 20px;border:0;border-radius:18px;background:none;box-shadow:none;color:var(--ink);font:500 15.5px/1.3 var(--sans);text-align:left;text-transform:none;letter-spacing:0;cursor:pointer} /* WoodMart styles every button */
.devt .devt-co-coupon-open:hover{background:none;color:var(--ink)}
.devt .devt-co-coupon-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.devt .devt-co-coupon-tag{flex:none;width:18px;height:18px;fill:none;stroke:var(--ink-3);stroke-width:1.8;stroke-linejoin:round}
.devt .devt-co-coupon-go{margin-left:auto;color:var(--accent);font-weight:600;white-space:nowrap}
.devt .devt-co-coupon-open[aria-expanded="true"] .devt-co-coupon-go{display:none}
.devt .devt-co-coupon-box{display:flex;gap:8px;padding:0 16px}
.devt .devt-co-coupon-box[hidden]{display:none}
.devt .devt-co-coupon-box input{flex:1;min-width:0;height:48px;margin:0;padding:0 14px;border:1px solid var(--co-line);border-radius:12px;background:var(--co-field);color:var(--ink);font:400 15px var(--sans)}
.devt .devt-co-coupon-apply{flex:none;height:48px;margin:0;padding:0 20px;border:2px solid var(--accent);border-radius:12px;background:none;box-shadow:none;color:var(--accent);font:700 15px var(--sans);text-transform:none;letter-spacing:0;cursor:pointer}
.devt .devt-co-coupon-apply:hover{background:rgba(130,36,227,.08)}
.devt .devt-co-coupon.is-busy .devt-co-coupon-apply{opacity:.6;pointer-events:none}
.devt .devt-co-coupon-note{margin:0;padding:0 20px;color:var(--co-ok);font:500 13px/1.4 var(--sans)}
.devt .devt-co-coupon-note:empty{display:none}
.devt .devt-co-coupon-note.is-error{color:#B42318}

/* "Pay with" (danbuzz_checkout_pay_heading(), outside #payment so the refresh keeps it) and #payment draw one card */
.devt #order_review .devt-co-payhead{margin:0 0 -14px;padding:18px 20px 10px;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:none}
.devt.devt-co #order_review #payment{position:relative;padding:4px 20px 20px}
.devt.devt-co #order_review .devt-co-payhead+#payment{border-top:0;border-radius:0 0 18px 18px}
.devt.devt-co #order_review #payment::before{display:none}
.devt #order_review #payment ul.payment_methods{margin:0}
.devt #order_review .devt-co-pay>label{grid-template-columns:22px minmax(0,1fr) auto;padding:14px;border-color:var(--co-line);box-shadow:none}
.devt #order_review .devt-co-pay:has(>input:checked)>label{border-color:var(--accent);box-shadow:none}
.devt .devt-co-pay-ring{display:block;width:22px;height:22px;box-sizing:border-box;border:2px solid #B9B0CC;border-radius:50%;transition:border .15s var(--ease)}
.devt .devt-co-pay:has(>input:checked) .devt-co-pay-ring{border:7px solid var(--accent)}
.devt .devt-co-pay-title{display:flex;align-items:center;gap:6px;font:500 15.5px/1.3 var(--sans)}
.devt .devt-co-pay-title .devt-i{flex:none;width:16px;height:16px;color:#C99A00}
.devt .devt-co-pay-sub{font-size:13px}

/* The terms tick on one short line right above Pay, then Pay, then "Booked the moment you pay" small under it: WooCommerce's own
   #terms and #place_order (WooCommerce keeps #terms ticked when it redraws #payment). On phones this block is the bar at the bottom. */
.devt.devt-co #order_review #payment .place-order{margin:16px 0 0;padding:16px 0 0;border-top:1.5px dashed var(--rule);background:none}
.devt #order_review .woocommerce-terms-and-conditions-wrapper{margin:0 0 12px}
.devt #order_review .woocommerce-privacy-policy-text p{margin:0 0 8px}
.devt #order_review .woocommerce-terms-and-conditions-wrapper a{text-decoration:underline;text-underline-offset:2px}
.devt #order_review .woocommerce-terms-and-conditions-wrapper .form-row{margin:0}
.devt #order_review .woocommerce-terms-and-conditions-wrapper label{gap:10px;margin:0;font:400 13.5px/1.45 var(--sans);cursor:pointer}
.devt #order_review .woocommerce-terms-and-conditions-wrapper input#terms{flex:none;width:20px;height:20px;margin:0;accent-color:var(--accent)}
.devt #order_review .woocommerce-terms-and-conditions-wrapper abbr.required{display:none} /* the tick is the requirement; WooCommerce says so if it's missed */
.devt #order_review #place_order{height:56px}
.devt #order_review .place-order .db-comeback{justify-content:center;align-items:center;gap:6px;margin:8px 0 0;padding:0;border:0;background:none;color:var(--ink-3)}
.devt #order_review .place-order .db-comeback svg{width:16px;height:16px;margin:0;color:var(--co-ok)}
.devt #order_review .place-order .db-comeback p{display:block}
.devt #order_review .place-order .db-comeback strong{color:var(--ink-3);font:500 12.5px/1.3 var(--sans)}
.devt #order_review .place-order .db-comeback span{display:none}

@media (max-width:980px){
	/* One column in the picture's order; WooCommerce's notices (order 0) stay on top */
	.devt .checkout.devt-co-form{gap:12px}
	.devt .checkout.devt-co-form>:is(.devt-co-main,.devt-co-side){display:contents}
	.devt .checkout.devt-co-form .devt-co-main>*{order:3}
	.devt .checkout.devt-co-form .devt-co-side>*{order:4}
	.devt .checkout.devt-co-form .devt-co-order{order:1}
	.devt .checkout.devt-co-form :is(.devt-co-people,.devt-guests-card){order:2}
	.devt .checkout.devt-co-form :is(.danbuzz-promo,.danbuzz-promo-saved){order:5}
	.devt .checkout.devt-co-form .devt-co-help{order:6;margin-top:0}
	.devt.devt-co #order_review.devt-co-stub{gap:12px}
	.devt #order_review .devt-co-payhead{margin-bottom:-12px}
	/* The terms tick and Pay, fixed to the bottom (the picture's bar). The day block sits above the footer so nothing later in the
	   page paints over the bar; its isolation is no containing block for a fixed box. */
	.devt.devt-co .devt-co-body{z-index:5;padding-bottom:250px}
	.devt.devt-co #order_review #payment .place-order{position:fixed;z-index:400;left:0;right:0;bottom:0;margin:0;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--co-line);background:var(--surface);box-shadow:0 -10px 26px -14px rgba(30,16,48,.3)}
	.devt #order_review .place-order .woocommerce-privacy-policy-text{display:none} /* the tick links the privacy policy right there */
	.devt #order_review .place-order .di-terms-box{max-height:38vh!important}
	.devt #order_review .woocommerce-terms-and-conditions-wrapper{margin-bottom:10px}
	.devt #order_review .place-order .db-comeback{margin-top:6px}
}
@media (max-width:599px){
	.devt .checkout.devt-co-form .devt-co-card{padding:16px}
	.devt #order_review .devt-co-sum{padding:14px 16px}
	.devt.devt-co #order_review #payment{padding:4px 16px 16px}
	.devt #order_review .devt-co-payhead{padding:16px 16px 10px}
	.devt .devt-co-coupon-open{padding:0 16px}
	.devt #order_review .devt-co-pay>label{grid-template-columns:22px minmax(0,1fr);padding:12px}
	.devt #order_review .devt-co-pay-tag{grid-column:2;justify-self:start}
	.devt .devt-co-steps :is(li>a,li:not(:has(a))){height:34px;padding-right:12px;font-size:13.5px}
}

/* Round A, review fixes */
/* "2 · Who's coming" while a line still waits for a name or a friend's phone (the names editor is on this page) */
.devt .devt-co-steps li.is-todo{color:#fff;font-weight:600}
.devt .devt-co-steps li.is-todo span{background:transparent;box-shadow:inset 0 0 0 2px var(--bolt);color:#fff}
/* "Original price" struck above the ticket price: the reason for "You save ₹X" */
.devt #order_review .devt-co-sum tr.devt-co-orig{padding-bottom:0}
.devt #order_review .devt-co-sum tr.devt-co-orig :is(th,td){color:var(--ink-3);font-size:13.5px}
.devt #order_review .devt-co-sum tr.devt-co-orig td{text-decoration:none}
/* "Pay with" is decided per refresh: with nothing to pay (a coupon down to ₹0) WooCommerce draws no payment cards, so the heading
   goes and #payment keeps its own top corners */
.devt #order_review .devt-co-payhead:not(:has(+#payment .wc_payment_methods li)){display:none}
.devt.devt-co #order_review .devt-co-payhead:not(:has(+#payment .wc_payment_methods li))+#payment{padding-top:20px;border-top:1px solid var(--co-line);border-radius:18px}
.devt.devt-co #order_review #payment:not(:has(.wc_payment_methods li)) .place-order{margin-top:0;padding-top:0;border-top:0}
@media (max-width:980px){
	/* Nothing else floats over the bar: no back-to-top or WoodMart toolbar here (the dock isn't printed at checkout: lib/dock.php
	   danbuzz_dock_on()), and the cookie card sits above the bar (its height: --co-bar-h, checkout.js) */
	body.devt-co-page :is(.scrollToTop,.wd-toolbar){display:none!important}
	html body.woocommerce-checkout.devt-co-page .db-consent{bottom:calc(var(--co-bar-h,190px) + 10px)}
	html.devt-co-typing body.woocommerce-checkout.devt-co-page .db-consent{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
	/* With nothing to pay, #payment holds only the bar: no empty card */
	.devt.devt-co #order_review #payment:not(:has(.wc_payment_methods li)){padding:0;border:0;background:none;box-shadow:none}
	/* A text box has focus (the keyboard is up): the bar steps out of view, the box itself never moves */
	.devt.devt-co #order_review #payment .place-order{transition:transform .25s var(--ease),visibility 0s}
	html.devt-co-typing .devt.devt-co #order_review #payment .place-order{visibility:hidden;transform:translateY(110%);transition:transform .25s var(--ease),visibility 0s .25s}
}
@media (max-width:980px) and (prefers-reduced-motion:reduce){
	.devt.devt-co #order_review #payment .place-order,html.devt-co-typing .devt.devt-co #order_review #payment .place-order{transition:none}
}

/* Checkout's steps as the booking screen's chips (events.css .devt-bk-steps; user pick B 2026-11-01, picture brand/A2):
   ✓ Programme · ✓ Ticket · ✓ Who · 4 Pay in mono caps, ticks in bolt yellow, Pay white. The cart's steps keep their look. */
.devt .devt-co-steps.is-chips{gap:6px;font:700 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.devt .devt-co-steps.is-chips :is(li>a,li:not(:has(a))){gap:6px;height:auto;padding:6px 10px 6px 6px;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.75);font:inherit}
.devt .devt-co-steps.is-chips li.is-done>a{color:rgba(255,255,255,.75)}
.devt .devt-co-steps.is-chips li.is-done>a:hover{background:rgba(255,255,255,.18);color:#fff}
.devt .devt-co-steps.is-chips span{width:18px;height:18px;background:rgba(255,255,255,.18);color:#fff;font:700 10px/1 var(--mono)}
.devt .devt-co-steps.is-chips span svg{width:11px;height:11px}
.devt .devt-co-steps.is-chips li.is-done span{background:var(--bolt);color:#1E1030}
.devt .devt-co-steps.is-chips li[aria-current]{box-shadow:none}
.devt .devt-co-steps.is-chips li[aria-current]:not(:has(a)){background:#fff;color:#121016;font-weight:700}
.devt .devt-co-steps.is-chips li[aria-current] span{background:#121016;color:#fff}
.devt .devt-co-steps.is-chips li.is-todo{color:#fff}
.devt .devt-co-steps.is-chips li.is-todo span{background:transparent;box-shadow:inset 0 0 0 2px var(--bolt);color:#fff}
@media (max-width:767px){.devt .devt-co-steps.is-chips :is(li>a,li:not(:has(a))){height:auto;padding-right:10px;font-size:11px}}

/* Instalments: "How do you want to pay?" above the totals (instalments.php danbuzz_inst_choice(), picture docs/mockups/instalments/2-checkout.png).
   The cards are .devt-co-pay above. The slot is only drawn for a package, and is empty when it has nothing to choose. */
.devt .devt-co-inst-slot:empty{display:none}
.devt .devt-co-inst-picks{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.devt .devt-co-inst-plan{display:grid;margin:8px 0 0;color:var(--ink)}
.devt .devt-co-inst-plan>span{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(64px,auto);align-items:baseline;gap:12px;padding:9px 0;border-top:1.5px dashed var(--rule)}
.devt .devt-co-inst-plan>span:last-child{padding-bottom:0}
.devt .devt-co-inst-plan .n{font:600 14.5px/1.3 var(--sans)}
.devt .devt-co-inst-plan .d{color:var(--ink-3);font:400 12.5px/1.3 var(--mono)}
.devt .devt-co-inst-plan .a{text-align:right;font:600 14.5px/1.3 var(--mono);font-variant-numeric:tabular-nums}
.devt .devt-co-inst-plan .is-paid .d{color:var(--ink-2)}
/* The booking's parts on its thank-you page (danbuzz_inst_thankyou_plan()), a card like the receipt's */
.devt .devt-ty-inst{padding:22px;border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 22px 40px -28px rgba(26,17,34,.45)}
.devt .devt-ty-inst h2{margin:0;font:700 22px/1.1 var(--display);font-stretch:75%;text-transform:none}
.devt .devt-ty-inst p{margin:12px 0 0;color:var(--ink-2);font-size:14px;line-height:1.5}
.devt .devt-co-inst-rule,.devt .devt-co-inst-note{margin:10px 0 0;color:var(--ink-2);font:400 13.5px/1.5 var(--sans)}
.devt .devt-co-inst-note{margin:0}
