.flashyn-account-identity-shell{display:none!important}
.flashyn-identity-modal[hidden]{display:none!important}.flashyn-identity-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:22px}.flashyn-identity-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.68);backdrop-filter:blur(6px)}.flashyn-identity-dialog{position:relative;z-index:1;width:min(100%,540px);max-height:calc(100dvh - 44px);overflow:auto;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(15,23,42,.28)}.flashyn-identity-dialog .flashyn-identity-renderer{width:100%}.flashyn-identity-dialog .flashyn-auth-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.flashyn-identity-dialog .flashyn-auth-card{box-sizing:border-box;width:100%;padding:34px 34px 30px;background:#fff;border:0!important;border-radius:24px;box-shadow:none!important;overflow:hidden}.flashyn-identity-dialog .flashyn-auth-visual{height:180px;margin:-34px -34px 26px;overflow:hidden;background:#f8fafc}.flashyn-identity-dialog .flashyn-auth-visual img{width:100%;height:100%;display:block;object-fit:cover}.flashyn-identity-close{position:absolute;right:14px;top:14px;z-index:8;width:38px;height:38px;border:1px solid #e4e7ec;border-radius:50%;background:rgba(255,255,255,.96);color:#344054;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(16,24,40,.12)}.flashyn-identity-dialog .flashyn-auth-brand{display:flex;gap:12px;align-items:flex-start;margin-bottom:24px}.flashyn-identity-dialog .flashyn-auth-brand>div{min-width:0}.flashyn-identity-dialog .flashyn-auth-brand strong{display:block;color:#111827;font-size:26px;line-height:1.15;letter-spacing:-.02em}.flashyn-identity-dialog .flashyn-auth-brand small{display:block;margin-top:7px;color:#667085;font-size:14px;line-height:1.55}.flashyn-identity-dialog .flashyn-auth-icon{font-size:23px;line-height:1}.flashyn-identity-dialog .flashyn-auth-step{display:none}.flashyn-identity-dialog .flashyn-auth-step.is-active{display:block}.flashyn-identity-dialog .flashyn-auth-step h3{margin:0 0 7px;color:#111827;font-size:22px;line-height:1.3}.flashyn-identity-dialog .flashyn-auth-step>p{margin:0 0 18px;color:#667085;font-size:14px;line-height:1.55}.flashyn-identity-dialog .flashyn-auth-label,.flashyn-identity-dialog .flashyn-auth-grid label{display:flex;flex-direction:column;gap:7px;color:#344054;font-size:13px;font-weight:650}.flashyn-identity-dialog input,.flashyn-identity-dialog select,.flashyn-identity-dialog textarea{box-sizing:border-box;width:100%;min-height:46px;border:1px solid #cfd8e3;border-radius:10px;padding:10px 12px;background:#fff;box-shadow:none}.flashyn-identity-dialog input:focus,.flashyn-identity-dialog select:focus,.flashyn-identity-dialog textarea:focus{border-color:#6366f1;outline:0;box-shadow:0 0 0 4px rgba(99,102,241,.12)}.flashyn-identity-dialog .flashyn-phone-input{display:grid;grid-template-columns:auto 1fr;border:1px solid #cfd8e3;border-radius:10px;overflow:hidden;background:#fff}.flashyn-identity-dialog .flashyn-phone-input input{border:0;border-radius:0}.flashyn-identity-dialog .flashyn-country-fixed{display:flex;align-items:center;padding:0 12px;border-right:1px solid #e4e7ec;color:#475467;font-size:13px}.flashyn-identity-dialog .flashyn-auth-help{font-size:11px;color:#98a2b3;font-weight:400}.flashyn-identity-dialog .flashyn-auth-primary{width:100%;min-height:48px;margin-top:14px;border:0;border-radius:11px;background:#111827;color:#fff;font-size:14px;font-weight:750;padding:11px 16px;cursor:pointer}.flashyn-identity-dialog .flashyn-auth-primary:hover{background:#000}.flashyn-identity-dialog .flashyn-auth-alt,.flashyn-identity-dialog .flashyn-auth-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:14px}.flashyn-identity-dialog .flashyn-auth-link{border:0;background:none;color:#4f46e5;text-decoration:none;font-size:12px;padding:0}.flashyn-identity-dialog .flashyn-auth-consent,.flashyn-identity-dialog .flashyn-auth-terms{display:flex;flex-direction:row;align-items:flex-start;gap:9px;margin-top:12px;font-size:11px;font-weight:400;line-height:1.5}.flashyn-identity-dialog .flashyn-auth-consent input,.flashyn-identity-dialog .flashyn-auth-terms input{flex:0 0 16px;width:16px!important;height:16px!important;min-width:16px;min-height:16px!important;margin:2px 0 0;padding:0}.flashyn-identity-dialog .flashyn-auth-consent span,.flashyn-identity-dialog .flashyn-auth-terms span{flex:1;min-width:0}.flashyn-identity-dialog .flashyn-otp-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.flashyn-identity-dialog .flashyn-otp-inputs input{padding:0;text-align:center;font-size:21px;font-weight:750}.flashyn-identity-dialog .flashyn-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.flashyn-identity-dialog .flashyn-span-2{grid-column:1/-1}.flashyn-identity-dialog .flashyn-profile-step{max-height:67dvh;overflow:auto;padding-right:4px}.flashyn-identity-dialog .flashyn-auth-message{margin-top:12px;border-radius:8px;font-size:12px;line-height:1.5}.flashyn-identity-dialog .flashyn-inline-control{display:grid;grid-template-columns:1fr auto;gap:8px}.flashyn-identity-dialog .flashyn-inline-verify,.flashyn-identity-dialog .flashyn-auth-secondary-button{border:1px solid #cfd8e3;border-radius:9px;background:#fff;padding:8px 12px;font-weight:650;cursor:pointer}.flashyn-identity-dialog details{border:1px solid #e5eaf0;border-radius:10px;padding:10px;background:#fbfcfe}.flashyn-identity-dialog details summary{cursor:pointer}.flashyn-identity-dialog .flashyn-address-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.flashyn-identity-dialog .flashyn-profile-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.flashyn-identity-dialog .flashyn-profile-actions .flashyn-auth-primary{width:auto;flex:1;margin:0}.flashyn-identity-dialog .flashyn-profile-skip{font-size:12px;color:#667085}body.flashyn-identity-modal-open{overflow:hidden}.flashyn-identity-modal-open>*:not(.flashyn-identity-modal){pointer-events:none}.flashyn-identity-modal-open .flashyn-identity-modal{pointer-events:auto}
@media(max-width:640px){.flashyn-identity-modal{align-items:end;padding:0}.flashyn-identity-dialog{width:100%;max-height:96dvh;border-radius:24px 24px 0 0}.flashyn-identity-dialog .flashyn-auth-card{border-radius:24px 24px 0 0;padding:28px 20px 24px}.flashyn-identity-dialog .flashyn-auth-visual{margin:-28px -20px 22px;height:150px}.flashyn-identity-dialog .flashyn-auth-brand strong{font-size:23px}.flashyn-identity-dialog .flashyn-auth-grid,.flashyn-identity-dialog .flashyn-address-fields{grid-template-columns:1fr}.flashyn-identity-dialog .flashyn-span-2{grid-column:auto}}

body.flashyn-identity-modal-open [data-flashyn-suppressed-login="1"]{display:none!important;visibility:hidden!important;pointer-events:none!important}
[data-flashyn-suppressed-login="1"]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.flashyn-identity-dialog .flashyn-profile-accordion summary{display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none}.flashyn-identity-dialog .flashyn-profile-accordion summary::-webkit-details-marker{display:none}.flashyn-identity-dialog .flashyn-profile-accordion summary>span:first-child{display:flex;flex-direction:column;gap:3px}.flashyn-identity-dialog .flashyn-profile-accordion summary small{color:#667085;font-weight:400}.flashyn-identity-dialog .flashyn-auth-grid{align-items:start}.flashyn-identity-dialog .flashyn-auth-grid>*{min-width:0}.flashyn-identity-dialog .flashyn-inline-verify{min-height:46px;align-self:end}.flashyn-identity-dialog .flashyn-auth-card{max-height:calc(100dvh - 44px);overflow:auto;scrollbar-width:thin}
/* v7.15.3.5: Flashyn owns logged-out account authentication. Suppress known theme login shells. */
body:not(.logged-in) [data-flashyn-suppressed-login="1"],
body:not(.logged-in) .account-login-form,
body:not(.logged-in) .customer-login-form,
body:not(.logged-in) .login-popup:not(.flashyn-identity-modal),
body:not(.logged-in) .account-popup:not(.flashyn-identity-modal){display:none!important;visibility:hidden!important;pointer-events:none!important}

/* v7.15.3.6 shared identity header */
.flashyn-identity-header-logo{width:100%;display:flex;justify-content:var(--fx-logo-align,center);padding:4px 0 14px}.flashyn-identity-header-logo img{width:min(var(--fx-logo-width,180px),100%);height:auto;max-height:96px;object-fit:contain}
/* v7.15.3.7 shared logo/card width ownership. */
.flashyn-identity-renderer{width:100%}.flashyn-identity-renderer.fxid-width-narrow{max-width:390px}.flashyn-identity-renderer.fxid-width-medium{max-width:500px}.flashyn-identity-renderer.fxid-width-wide{max-width:640px}
.flashyn-identity-renderer .flashyn-auth-shell{max-width:100%!important;width:100%!important}
.flashyn-identity-header-logo{display:flex;width:100%;justify-content:var(--fx-logo-align,center);margin:0 0 16px}.flashyn-identity-header-logo img{display:block;width:min(var(--fx-logo-width,180px),100%);height:auto;max-height:120px;object-fit:contain}
/* v7.15.3.8: when Flashyn owns login, suppress external password dialogs at source level. */
body.flashyn-identity-owned-login :is(dialog,[role="dialog"],[aria-modal="true"],.modal,.popup,.drawer,.offcanvas,.bls-modal,.bls-popup):has(input[type="password"]):not(.flashyn-identity-modal):not(.flashyn-identity-dialog),
[data-flashyn-suppressed-login="1"]{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important}
[data-flashyn-legacy-login-hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
/* v7.15.3.10/.13: confirmed Glozin markup — #login-modal wraps .modal__backdrop and
   .modal__container > .modal__wrapper > .modal__content > #customer_login as siblings.
   Target the outer container by its stable ID so the backdrop is hidden too. */
body.flashyn-identity-owned-login #login-modal,
body.flashyn-identity-owned-login .modal__container:has(#customer_login),
body.flashyn-identity-owned-login .modal__container:has(.woocommerce-customer-login){display:none!important;visibility:hidden!important;pointer-events:none!important}
/* v7.15.3.21: confirmed My Account page renders its own inline #customer_login inside
   .cits-my-account, separate from (and duplicate-ID with) the global #login-modal.
   Scope explicitly to avoid hiding the wrong element. */
body:not(.logged-in).flashyn-identity-owned-login .cits-my-account:has(#customer_login),body:not(.logged-in).flashyn-identity-owned-login .cits-my-account:has(.woocommerce-customer-login){display:none!important;visibility:hidden!important;pointer-events:none!important}

/* v7.15.5.4 — shared logo sizing modes */
.flashyn-identity-header-logo[data-logo-mode="natural"] img{width:auto;max-width:none;height:auto}
.flashyn-identity-header-logo[data-logo-mode="fit"] img{width:auto;max-width:100%;height:auto}
.flashyn-identity-header-logo[data-logo-mode="fill"] img{width:100%;max-width:100%;height:auto;max-height:none}
.flashyn-identity-header-logo[data-logo-mode="percentage"] img{width:var(--fx-logo-width,100%);max-width:100%;height:auto}
.flashyn-identity-header-logo[data-logo-mode="fixed"] img{width:var(--fx-logo-width,180px);max-width:100%;height:auto}
/* v7.15.6.1 — profile continuity and validation UX. */
.flashyn-identity-dialog{overflow:hidden!important;display:flex;flex-direction:column}
.flashyn-identity-dialog .flashyn-auth-card{display:flex;flex-direction:column;max-height:calc(100dvh - 44px)!important;overflow:hidden!important}
.flashyn-auth-step.is-active{max-height:none!important;overflow:visible!important;padding-right:0!important}
.flashyn-profile-step{overflow-y:auto!important;overscroll-behavior:contain;padding-right:6px!important;padding-bottom:104px!important}
.flashyn-profile-actions{position:sticky!important;bottom:-1px!important;margin:18px -2px -1px!important;padding:18px 2px 8px!important;background:linear-gradient(to top,#fff 82%,rgba(255,255,255,.92))!important;border-top:1px solid #eef2f7;z-index:8}
.flashyn-profile-step label{position:relative}
.flashyn-profile-step label.has-error .flashyn-auth-help{color:var(--fx-auth-muted,#667085)}
.flashyn-field-error{margin-top:7px!important;font-size:12px!important;font-weight:650!important}
.flashyn-profile-step label.has-valid input,.flashyn-profile-step label.has-valid select,.flashyn-profile-step label.has-valid textarea{border-color:#cbd5e1!important;box-shadow:none!important}
.flashyn-instagram-follow{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-width:82px}
.flashyn-instagram-follow[hidden]{display:none!important}
@media(max-width:767px){.flashyn-identity-modal{padding:8px}.flashyn-identity-dialog{max-height:calc(100dvh - 16px)}.flashyn-identity-dialog .flashyn-auth-card{max-height:calc(100dvh - 16px)!important}.flashyn-profile-step{padding-bottom:112px!important}.flashyn-profile-actions{margin-left:-2px!important;margin-right:-2px!important}}
/* v7.15.7 — progressive profile sections, single scroll region, section error states. */
.flashyn-identity-dialog .flashyn-profile-sections{display:grid;gap:10px;margin:2px 0 6px}
.flashyn-identity-dialog .flashyn-profile-section{margin:0;background:#fff}
.flashyn-identity-dialog .flashyn-profile-section>summary{padding:4px 2px}
.flashyn-identity-dialog .flashyn-profile-section-body{padding:10px 2px 4px;border-top:1px solid #eef2f7;margin-top:8px}
.flashyn-identity-dialog .flashyn-profile-section-body .flashyn-auth-grid{margin-top:2px}
.flashyn-identity-dialog .flashyn-profile-section .flashyn-address-section{margin:0;padding:0;border:0;background:transparent}
.flashyn-identity-dialog .flashyn-profile-section.has-error{border-color:var(--fx-auth-error,#be123c)}
.flashyn-identity-dialog .flashyn-profile-section.has-error>summary strong{color:var(--fx-auth-error,#be123c)}
.flashyn-identity-dialog .flashyn-profile-section .flashyn-address-accordion{border:0;padding:0;background:transparent}
.flashyn-identity-dialog .flashyn-profile-step label.has-error{color:var(--fx-auth-error,#be123c)}
.flashyn-identity-dialog .flashyn-profile-step label.has-error input,
.flashyn-identity-dialog .flashyn-profile-step label.has-error select,
.flashyn-identity-dialog .flashyn-profile-step label.has-error textarea{border-color:var(--fx-auth-error,#be123c)!important;box-shadow:0 0 0 3px rgba(190,18,60,.10)!important}
/* Exactly one vertical scrollbar: the profile step. Nested containers never scroll. */
.flashyn-identity-dialog .flashyn-profile-sections,
.flashyn-identity-dialog .flashyn-profile-section,
.flashyn-identity-dialog .flashyn-profile-section-body,
.flashyn-identity-dialog .flashyn-address-fields{overflow:visible!important;max-height:none!important}

/* v7.15.7.1 — profile scroll repair. The generic `.flashyn-auth-step.is-active`
   rule (two classes) was beating `.flashyn-profile-step` (one class), forcing
   overflow:visible on the profile step so nothing scrolled and the sticky footer
   floated over content. These higher-specificity rules restore the intended
   single scroll region. */
.flashyn-identity-dialog .flashyn-auth-card{min-height:0}
.flashyn-identity-dialog .flashyn-auth-step.flashyn-profile-step.is-active{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:6px!important;overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.flashyn-identity-dialog .flashyn-auth-step.flashyn-profile-step.is-active .flashyn-profile-actions{position:sticky;bottom:-1px;z-index:8}
/* Give the last section breathing room so the sticky footer never covers a field. */
.flashyn-identity-dialog .flashyn-profile-sections{padding-bottom:6px}

/* v7.15.7.2 — profile shell, footer and accordion stabilization. */
.flashyn-auth-shell.is-profile-active .flashyn-auth-card{
 display:flex!important;
 flex-direction:column!important;
 height:min(88dvh,760px)!important;
 max-height:min(88dvh,760px)!important;
 overflow:hidden!important;
}
.flashyn-auth-shell.is-profile-active .flashyn-auth-brand{flex:0 0 auto}
.flashyn-auth-shell .flashyn-profile-step.is-active{
 display:flex!important;
 flex:1 1 auto!important;
 flex-direction:column!important;
 min-height:0!important;
 max-height:none!important;
 overflow:hidden!important;
 padding-right:0!important;
 padding-bottom:0!important;
}
.flashyn-profile-scroll-body{
 flex:1 1 auto;
 min-height:0;
 overflow-y:auto;
 overflow-x:hidden;
 overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;
 scrollbar-gutter:stable;
 padding:2px 6px 18px 0;
}
.flashyn-profile-actions-shell{
 flex:0 0 auto;
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 gap:16px;
 margin:0!important;
 padding:16px 0 2px!important;
 border-top:1px solid #e8edf4;
 background:#fff!important;
 position:relative!important;
 bottom:auto!important;
 z-index:10;
}
.flashyn-profile-actions-shell[hidden]{display:none!important}
.flashyn-profile-actions-shell .flashyn-auth-primary{margin:0!important;width:100%!important}
.flashyn-profile-actions-shell .flashyn-profile-skip{white-space:nowrap}
.flashyn-profile-section{
 border:1px solid #dfe6ef!important;
 border-radius:14px!important;
 box-shadow:none!important;
 background:#fff!important;
}
.flashyn-profile-section>summary{
 min-height:68px;
 padding:14px 16px!important;
 border-radius:14px;
 transition:background .16s ease,border-color .16s ease;
}
.flashyn-profile-section>summary:hover{background:#f8fafc}
.flashyn-profile-section[open]>summary{background:#f8fafc;border-bottom-left-radius:0;border-bottom-right-radius:0}
.flashyn-profile-section-body{padding:14px 16px 16px!important;margin:0!important;border-top:1px solid #edf1f5!important}
.flashyn-accordion-indicator{display:inline-flex!important;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:#475467;transition:transform .18s ease,background .18s ease!important;font-size:0!important}
.flashyn-accordion-indicator svg{width:18px;height:18px;display:block}
.flashyn-profile-section[open] .flashyn-accordion-indicator{transform:rotate(180deg)!important;background:#eef2ff;color:var(--fx-auth-primary,#4f46e5)}
.flashyn-profile-section summary strong{font-size:15px;line-height:1.3}
.flashyn-profile-section summary small{font-size:12px;line-height:1.45;margin-top:4px}
@media(max-width:767px){
 .flashyn-auth-shell.is-profile-active .flashyn-auth-card{height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important}
 .flashyn-profile-actions-shell{grid-template-columns:minmax(0,1fr) auto;padding-bottom:calc(4px + env(safe-area-inset-bottom))!important}
 .flashyn-profile-scroll-body{padding-right:2px}
}
/* v7.15.8.0 Identity runtime rebuild */
.flashyn-section-state{margin-left:auto;margin-right:10px;font-size:12px;font-weight:800;white-space:nowrap}
.flashyn-section-state.is-complete{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:14px}
.flashyn-section-state.is-optional{color:#64748b;background:#f1f5f9;border-radius:999px;padding:4px 9px}
.flashyn-inline-email-otp{margin-top:12px;padding:14px;border:1px solid #dbe5f0;border-radius:14px;background:#f8fafc;display:grid;gap:10px}
.flashyn-inline-email-otp[hidden]{display:none!important}
.flashyn-inline-email-copy{font-size:13px;color:#475569}
.flashyn-inline-email-otp .flashyn-otp-inputs{display:grid;grid-template-columns:repeat(6,minmax(36px,1fr));gap:8px}
.flashyn-inline-email-otp [data-inline-email-digit]{width:100%;min-width:0;text-align:center;font-weight:800;font-size:18px}
.flashyn-inline-email-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.flashyn-inline-email-otp [data-inline-email-status]{min-height:18px;color:#475569}
.flashyn-inline-email-otp [data-inline-email-status].is-error{color:#b91c1c}
.flashyn-profile-section>summary{align-items:center}
.flashyn-field-error[data-error-for]{display:block;margin-top:6px;color:#b91c1c;font-size:12px}
@media(max-width:520px){.flashyn-inline-email-otp .flashyn-otp-inputs{gap:5px}.flashyn-inline-email-otp [data-inline-email-digit]{font-size:16px;padding-left:0;padding-right:0}}


/* v7.15.8.3 — mobile OTP autofill and border-safe inline email code row. */
.flashyn-identity-dialog .flashyn-inline-email-otp .flashyn-otp-inputs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important;width:100%;max-width:100%;overflow:visible}
.flashyn-identity-dialog .flashyn-inline-email-otp [data-inline-email-digit]{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;border-width:1px!important;border-style:solid!important;position:relative;z-index:1}
.flashyn-identity-dialog .flashyn-inline-email-otp [data-inline-email-digit]:focus{z-index:2}
@media(max-width:420px){.flashyn-identity-dialog .flashyn-inline-email-otp .flashyn-otp-inputs{gap:5px!important}.flashyn-identity-dialog .flashyn-inline-email-otp [data-inline-email-digit]{min-height:42px!important;font-size:17px!important;padding:0!important}}


/* v7.16.6 — real-device mobile field alignment. */
@media(max-width:767px){
  .flashyn-identity-dialog .flashyn-auth-step,
  .flashyn-identity-dialog .flashyn-auth-label,
  .flashyn-identity-dialog .flashyn-auth-grid label,
  .flashyn-identity-dialog .flashyn-auth-help,
  .flashyn-identity-dialog .flashyn-auth-consent,
  .flashyn-identity-dialog .flashyn-auth-terms,
  .flashyn-identity-dialog .flashyn-auth-message,
  .flashyn-identity-dialog .flashyn-inline-email-otp,
  .flashyn-identity-dialog .flashyn-verification-meta{text-align:left!important}
  .flashyn-identity-dialog .flashyn-auth-step>h3,
  .flashyn-identity-dialog .flashyn-auth-step>p{text-align:center!important}
  .flashyn-identity-dialog .flashyn-otp-inputs,
  .flashyn-identity-dialog .flashyn-inline-email-otp__digits{justify-content:center!important;text-align:center!important}
  .flashyn-identity-dialog .flashyn-auth-label>span,
  .flashyn-identity-dialog .flashyn-auth-help,
  .flashyn-identity-dialog .flashyn-auth-consent span,
  .flashyn-identity-dialog .flashyn-auth-terms span{align-self:stretch!important;text-align:left!important}
}


/* v7.16.8 — physical-mobile OTP fit without changing autofill behaviour. */
@media(max-width:520px){
  .flashyn-identity-dialog .flashyn-otp-inputs{grid-template-columns:repeat(6,minmax(0,44px))!important;justify-content:center!important;gap:5px!important;width:100%!important}
  .flashyn-identity-dialog .flashyn-otp-inputs input{width:44px!important;min-width:0!important;max-width:44px!important;height:52px!important;min-height:52px!important;padding:0!important;box-sizing:border-box!important}
}
@media(max-width:360px){
  .flashyn-identity-dialog .flashyn-otp-inputs{grid-template-columns:repeat(6,minmax(0,40px))!important;gap:4px!important}
  .flashyn-identity-dialog .flashyn-otp-inputs input{width:40px!important;max-width:40px!important;height:50px!important;min-height:50px!important}
}

/* v8.2.4 — keep OTP delivery confirmation aligned with the verification controls. */
.flashyn-identity-dialog .flashyn-auth-step[data-step="otp"] .flashyn-auth-message {
	width: min(100%, 420px);
	box-sizing: border-box;
	margin: 12px auto 0 !important;
	padding: 10px 14px !important;
	text-align: center !important;
}
.flashyn-identity-dialog .flashyn-auth-step[data-step="otp"] .flashyn-verification-meta,
.flashyn-identity-dialog .flashyn-auth-step[data-step="otp"] .flashyn-auth-timers,
.flashyn-identity-dialog .flashyn-auth-step[data-step="otp"] .flashyn-auth-row {
	width: min(100%, 420px);
	margin-inline: auto !important;
}

/* v7.29.0: theme-independent country flag and XStore modal compatibility. */
.flashyn-identity-dialog .flashyn-country-fixed{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:94px!important;white-space:nowrap!important;font-family:inherit!important;letter-spacing:normal!important;text-transform:none!important}
.flashyn-identity-dialog .flashyn-country-flag{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:16px!important;flex:0 0 22px!important;overflow:hidden!important;border-radius:2px!important;box-shadow:0 0 0 1px rgba(15,23,42,.10)!important}
.flashyn-identity-dialog .flashyn-country-flag svg{display:block!important;width:22px!important;height:16px!important;min-width:22px!important;max-width:22px!important;fill:none}
.flashyn-identity-dialog .flashyn-country-dial{display:inline-block!important;line-height:1!important;font:inherit!important;font-weight:700!important;color:inherit!important}
body.flashyn-theme-adapter--xstore .flashyn-identity-modal{z-index:1000001!important}
body.flashyn-theme-adapter--xstore .flashyn-identity-dialog .flashyn-phone-input,body.flashyn-theme-adapter--xstore .flashyn-identity-dialog input,body.flashyn-theme-adapter--xstore .flashyn-identity-dialog button{font-family:inherit}

/* Checkout authentication is a real gate: the identity experience opens
 * immediately, cannot be dismissed into an unusable checkout, and exposes
 * one explicit safe exit back to the cart. */
.flashyn-identity-modal[data-flashyn-checkout-gate] .flashyn-identity-backdrop,
.flashyn-identity-modal[data-flashyn-checkout-gate] .flashyn-identity-close {
	pointer-events: none !important;
}
.flashyn-identity-modal[data-flashyn-checkout-gate] .flashyn-identity-close {
	display: none !important;
}
.flashyn-checkout-gate-exit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	min-height: 38px;
	margin: 10px auto 0;
	padding: 0 14px;
	border-radius: 999px;
	color: #475569;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
}
.flashyn-checkout-gate-exit:hover { color: #0f172a; text-decoration: underline; }
.flashyn-checkout-gate-exit[hidden] { display: none !important; }

/* The account page owns this inline Flashyn shell. Theme-login suppression
 * must never hide it and leave the customer on an empty "Login" page. */
[data-flashyn-account-identity-fallback],
[data-flashyn-account-identity-fallback] .woocommerce-form-login,
[data-flashyn-account-identity-fallback] form {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
}
body.flashyn-identity-owned-login [data-flashyn-account-identity-fallback],
body.flashyn-identity-owned-login [data-flashyn-account-identity-fallback] .woocommerce-form-login,
body.flashyn-identity-owned-login [data-flashyn-account-identity-fallback] form {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}
