[hidden]{display:none!important}.registration-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.83rem;font-weight:800;color:#65718a;margin:-6px 0 25px}.countdown{color:var(--red)}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;align-items:start}.page-heading{margin-bottom:28px}.page-heading h1{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2}.page-heading>p:last-child{color:#647084}.product-list{display:grid;gap:16px}.product{display:flex;align-items:center;gap:20px;padding:23px;border:1px solid #dfdfe6;border-radius:8px;background:#fff;box-shadow:0 3px 12px #08285805}.product__copy{flex:1}.product h2{font-size:1.16rem;margin:0 0 5px}.product p{font-size:.92rem;margin:0 0 10px;color:#647084}.product__price{font-weight:900;color:var(--red)}.product__stock{display:block;font-size:.77rem;color:#647084;margin-top:6px}.quantity{display:flex;align-items:center;border:1px solid #d6dae2;border-radius:6px;overflow:hidden;flex-shrink:0}.quantity button{font:700 1.3rem Nunito,sans-serif;width:38px;height:42px;color:var(--navy);border:0;background:#f4f5f8;cursor:pointer}.quantity input{width:43px;height:42px;border:0;text-align:center;font:800 1rem Nunito,sans-serif;-moz-appearance:textfield;padding:0}.quantity input::-webkit-inner-spin-button{appearance:none}.cart{background:#f8f4ed;border:1px solid #e9e1d7;border-radius:8px;padding:25px;position:sticky;top:24px;transform:rotate(.5deg)}.cart h2{font-size:1.2rem;margin:8px 0 20px}.cart .script-kicker{font-size:1.8rem}.cart-line{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed #d5d4d2;font-size:.91rem}.cart-line span:last-child{white-space:nowrap;font-weight:800}.cart-total{display:flex;justify-content:space-between;gap:10px;font-size:1.12rem;font-weight:900;margin-top:18px}.cart-empty{font-size:.95rem;color:#738096;padding:15px 0}.small-print{font-size:.84rem;line-height:1.65;color:#637186;margin-top:22px}.step-actions{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin:30px 0 10px}.customer-form label,.admin-form label{display:grid;gap:7px;font-weight:800;font-size:.94rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}input,textarea,select{font:inherit;color:var(--navy);border:1px solid #cbd2dc;border-radius:5px;background:#fff;padding:12px;width:100%;min-width:0}input:focus,textarea:focus,select:focus{outline:3px solid #9aafd7;outline-offset:2px}.checkbox{display:flex!important;align-items:flex-start;gap:10px!important;margin-top:24px;font-weight:500!important;font-size:.88rem!important}.checkbox input{width:19px;height:19px;flex-shrink:0;accent-color:var(--red);margin-top:3px}.payment-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px}.summary-panel{border:1px solid #e0e2e8;border-radius:8px;padding:28px;background:#fff}.summary-panel h2{font-size:1.2rem;margin:0 0 20px}.text-button{border:0;background:none;padding:14px 0;color:var(--red);font:800 .9rem Nunito,sans-serif;cursor:pointer;text-decoration:underline}.pay-button{margin-top:12px;width:100%;justify-content:center}.button:disabled,button:disabled{opacity:.55;cursor:not-allowed}.notice{padding:15px 18px;background:#edf3fa;border-radius:6px;line-height:1.6}.notice--error,.pending-extra{color:#a70d29;background:#fff0f0}.status-pill{display:inline-block;padding:5px 10px;border-radius:20px;background:#edf5ed;color:#21603c;font-weight:800;font-size:.82rem}.confirmation-mark{font-size:2.7rem;color:#256640}.qr-image{width:180px;height:180px;object-fit:contain;display:block;margin:15px 0}.order-reference{font-weight:900;letter-spacing:.05em}.customer-summary p{margin:8px 0}a:focus-visible,button:focus-visible{outline:3px solid #91aadc;outline-offset:4px}
@media(max-width:1000px){.order-layout{grid-template-columns:minmax(0,1fr) 250px;gap:22px}.cart{padding:19px}.product{padding:18px;gap:14px}}@media(max-width:760px){.order-layout,.payment-layout{grid-template-columns:1fr}.cart{display:none}.form-grid{grid-template-columns:1fr}.registration-meta{font-size:.76rem}.step-actions .button{flex-grow:1;justify-content:center}.summary-panel{padding:20px}.welcome__photos{margin-top:15px}.product{align-items:flex-start}.product h2{font-size:1.07rem}.quantity button{width:31px}.quantity input{width:32px}.product__stock{font-size:.72rem}.customer-form .button{width:100%}}@media(max-width:380px){.product{flex-wrap:wrap}.product__copy{flex-basis:100%}}

/* Home: compact intro, practical facts and registration status by the photos. */
.welcome__copy { align-self: start; }
.welcome__aside { min-width: 0; align-self: center; }
.event-facts { display: flex; flex-wrap: wrap; gap: 18px 26px; margin: 25px 0 22px; }
.event-fact { position: relative; min-width: 0; padding-left: 30px; }
.event-fact dt { font-weight: 800; font-size: 1rem; line-height: 1.35; }
.event-fact dd { margin: 3px 0 0; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.event-fact svg { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; fill: none; stroke: #d70c32; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.event-fact--location { flex-basis: 100%; }
.registration-meta .countdown:empty { display: none; }
@media (min-width: 861px) {
    .content-stage::before { margin-bottom: 20px; }
    .welcome__photos { margin-bottom: 0; }
}
@media (max-width: 860px) {
    .welcome__aside { width: 100%; }
    .event-facts { gap: 16px 24px; }
}

/* Keep the photo caption compact, including when older saved text has one line. */
.photo-note { width: 190px; min-height: 100px; padding: 20px 24px 24px; display: flex; align-items: center; justify-content: center; }
.photo-note > .preserve-lines { display: block; width: 100%; overflow-wrap: break-word; text-wrap: balance; }

/* The existing paint-brush SVG matches the painted banner style. */
.registration-meta__paint { display: none; }
.registration-meta[data-context="home"] { position: relative; isolation: isolate; width: min(100%, 470px); margin: 6px auto 28px; padding: 22px 28px 24px; gap: 4px; align-items: center; justify-content: center; text-align: center; color: #fff; }
.registration-meta[data-context="home"] > span { position: relative; flex-basis: 100%; }
.registration-meta[data-context="home"] .registration-meta__paint { display: block; position: absolute; z-index: -1; inset: -5px 0; width: 100%; height: calc(100% + 10px); color: #a00523; pointer-events: none; transform: rotate(-2deg); }
.registration-meta[data-context="home"] #open-status { font-family: "Caveat", cursive; font-size: clamp(1.4rem, 2.2vw, 1.7rem); font-weight: 700; line-height: 1.12; }
.registration-meta[data-context="home"] .countdown { color: #fff; font-size: .8rem; line-height: 1.35; }
#home-status-slot .registration-meta { margin: 76px auto 0; }
@media (max-width: 620px) {
    .photo-note { width: 170px; min-height: 90px; padding: 18px 22px 22px; }
    .registration-meta[data-context="home"] { padding: 22px 25px 24px; }
}
