/* Legible controls and resilient user-authored content. */
:focus-visible{outline:3px solid #1762a0!important;outline-offset:3px}
button,.btn{min-height:44px;min-width:44px}
#app .invite [data-inline][data-empty=true]{display:inline-block;min-width:44px!important;min-height:44px!important}
#app .invite [data-inline][data-empty=true]:before{content:attr(data-placeholder);font:16px/1.4 Arial,sans-serif;letter-spacing:0;text-transform:none;opacity:1}
#app .invite .hero h1{max-width:100%;min-width:0}
#app .invite .hero h1 span{white-space:normal!important;overflow-wrap:anywhere;max-width:100%;min-width:0;line-height:1.1!important}
#app .invite .hero h1.long-names{font-size:clamp(24px,5vw,48px)!important;letter-spacing:.02em!important}
body #app .invite .hero h1.long-names span{font-size:clamp(24px,5vw,48px)!important;letter-spacing:.02em!important}
@media(min-width:801px){body #app .invite #hero.hero-public:has(h1.long-names){height:auto!important;min-height:560px!important;aspect-ratio:auto!important}}
#app .invite :is(h2,p,figcaption,[data-inline]){overflow-wrap:anywhere}
.editor-save-status{position:fixed;z-index:90;bottom:12px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);width:max-content;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;border:1px solid #bdb4a8;border-radius:14px;background:#fffdf8;color:#292620;font:14px/1.5 Arial,sans-serif;box-shadow:0 3px 18px #0002}
.editor-save-status[data-state=error]{border-color:#a52626;background:#fff4ef;color:#782222}
.editor-save-status button{background:#292620;color:#fff;border:0;border-radius:8px;padding:8px 12px}
#app .brand-word>span{color:#8b703f!important}
#app :is(.page-head,.account-notice-head) .eyebrow{color:#775c34!important}
#app #home-templates>p,#app .home-redesign li>b{color:#596672!important}
#app .home-steps li[aria-current=step]>b{color:#885713!important}
#app .home-desktop-intro>mark{background:#885713!important;color:#fff!important}
#app .home-section-text>mark{background:#885713!important;color:#fff!important}
#app .home-hero .home-eyebrow{color:#775c34!important}
#app .home-responses-card>header>div>span,#app .wait{color:#795020!important}
#app .footer :is(a,.footer-inn),#app footer :is(.footer-inn),#app .footer-links a,#app .footer-legal a{color:#655f57!important}
#app .invite{--readable-accent:#4e6245;--readable-muted:#62645e}
body[data-colorway=forest] #app .invite,body[data-colorway=burgundy] #app .invite,body[data-colorway=emerald] #app .invite,body[data-colorway=navy] #app .invite{--readable-accent:#f4e5bf;--readable-muted:#e4e1d8}
#app .invite :is(.schedule b,.option-add,.guest-detail-card h3 span){color:var(--readable-accent)!important}
#app .invite :is(.chat-link-editor>span,.countdown-clock span){color:var(--readable-muted)!important}
#app .invite :is(.rsvp .btn,.chat .btn){background:#405a37!important;color:#fff!important;opacity:1!important}
#app .invite .attendance-question label>span{background:#405a37!important;color:#fff!important;opacity:1!important}
#app .invite .guest-survey .attendance-question label{opacity:1!important;background:#405a37!important;color:#fff!important}
#app .invite .guest-detail-card{background:var(--page)!important}
#app .invite .guest-detail-card h3 span{opacity:1!important}
#app .invite .guest-survey label{color:var(--text)!important}
#app .invite .report-link{color:var(--readable-muted)!important;opacity:1!important}
#app .invite .farewell-text{color:var(--text)!important}
#app .invite .wedding-day{background:#765623!important;color:#fff!important}
#app .invite .guest-survey label:has(input:focus-visible){outline:3px solid #1762a0;outline-offset:3px}
#app .invite .guest-survey:has(input[name=attending]:not(:checked)) fieldset{opacity:1}
.hero-live-screen .hero-preview-poster{display:block;width:100%;height:100%;object-fit:cover;transform:none!important}
.account-notice .muted{color:#62645e!important}

/* A single, styled checkout consent control; disabled payment keeps the usual cursor. */
.payment-modal-layer [data-checkout-consent]{margin:20px 46px;padding:18px 20px;border:1px solid #e3d3bd;border-radius:20px;background:#fffdf9}
.payment-modal-layer [data-checkout-consent] .legal-check{align-items:center;gap:14px;margin:0;cursor:pointer;color:#39342d;font-size:15px;line-height:1.5}
.payment-modal-layer [data-checkout-consent] input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box;width:24px!important;height:24px!important;min-width:24px!important;flex:0 0 24px;margin:0;border:1.5px solid #aa8752;border-radius:6px;background:#fff;display:grid;place-content:center;cursor:pointer}
.payment-modal-layer [data-checkout-consent] input[type=checkbox]:checked{background:#997337;border-color:#997337}
.payment-modal-layer [data-checkout-consent] input[type=checkbox]:checked::after{content:'';width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.payment-modal-layer [data-checkout-consent] input[type=checkbox]:focus-visible{outline:3px solid #1762a0;outline-offset:3px}
.payment-modal-layer button:disabled{cursor:default!important}
@media(max-width:760px){.payment-modal-layer [data-checkout-consent]{margin:16px 16px;padding:16px}.payment-modal-layer [data-checkout-consent] .legal-check{font-size:14px}}
#app .editor-canvas .invite .dress .look-card:not(.is-active) .look-change{display:none!important;pointer-events:none!important}
#app .editor-canvas .invite .dress .look-card.is-active .look-change{display:block!important;pointer-events:auto!important}
/* Keep hit targets stable while scrolling on mobile WebKit. */
#app .invite-sheet>section,#app .invite-editor>section{content-visibility:visible!important;contain-intrinsic-size:none!important}

/* Keep the active photo action legible, including hover and keyboard focus. */
#app .editor-canvas .invite .dress .look-card.is-active .look-change{background:#fffffff0!important;color:#292620!important;opacity:1!important;font-size:12px!important;bottom:14px!important}
/* The countdown crop uses the same shape and image sizing as the invitation. */
.modal-stage.photo-countdown{width:min(36.6667vw,266.6667px)!important;aspect-ratio:335/360!important;border-radius:50% 50% 9.333px 9.333px / 32% 32% 9.333px 9.333px!important}
.modal-stage.photo-countdown .crop-guide{border:0;box-shadow:none}
@media(max-width:800px){.modal-stage.photo-countdown{width:min(48vw,226.6667px)!important;border-radius:50% 50% 8px 8px / 32% 32% 8px 8px!important}}

@media(max-width:800px){#app .invite .hero-public[data-cover-theme="classic"] h1:not(.long-names) span{font-size:clamp(28px,12vw,48px)!important;letter-spacing:.025em!important}}

#app .invite[data-invitation-theme="classic"] .countdown-photo{width:min(346.667px,58.667%)!important;margin-bottom:110px!important}
@media(max-width:800px){#app .invite[data-invitation-theme="classic"] .countdown-photo{width:min(280px,57.333%)!important;margin-bottom:86.667px!important}}
