/* Auth-only styles: existing catalogue and checkout keep their own field system. */
.phone-auth-page {
    --auth-ink: #183f35;
    --auth-muted: #697b74;
    --auth-accent: #11765d;
    --auth-line: #dce5e0;
    --auth-radius: 12px;
    padding: 48px 0 80px;
}
.phone-auth-page [hidden] { display: none !important; }
.phone-auth-page .auth-row { margin-top: 0; }
.phone-auth-page .auth-card {
    max-width: 480px;
    padding: 36px;
    gap: 0;
    border: 1px solid #e7ede9;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 48px -24px rgba(22, 62, 48, .18);
}
.phone-auth-eyebrow { color: var(--auth-accent); font-size: 10px; line-height: 1.4; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; }
.phone-auth-page .auth-card__title { color: var(--auth-ink); font-size: 30px; font-weight: 500; line-height: 1.15; letter-spacing: -.035em; }
.phone-auth-page .auth-card__subtitle { margin-top: 10px; color: var(--auth-muted); font-size: 14px; line-height: 1.55; }
.phone-auth-page .auth-tabs { margin: 24px 0; padding: 4px; gap: 4px; border: 1px solid #edf1ee; background: #f2f6f3; border-radius: var(--auth-radius); }
.phone-auth-page .auth-tabs__button { min-height: 40px; border-radius: 8px; font-size: 13px; color: #63756d; }
.phone-auth-page .auth-tabs__button.active { color: var(--auth-ink); box-shadow: 0 2px 6px rgba(25, 61, 46, .07); }
.phone-auth-panel { display: none; width: 100%; }
.phone-auth-panel.active { display: block; }
.phone-auth-page .auth-form { width: 100%; gap: 18px; }
.phone-auth-page .auth-form__input { gap: 8px; }
.phone-auth-page .auth-form__input-text { color: #354d43; font-size: 12px; font-weight: 500; line-height: 1.4; }
.phone-auth-page .auth-form__input input {
    appearance: none;
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    min-height: 52px;
    padding: 14px 15px;
    border: 1px solid var(--auth-line);
    border-radius: var(--auth-radius);
    background: #fbfcfb;
    color: var(--auth-ink);
    font-size: 16px;
    line-height: 1.4;
    transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.phone-auth-page .auth-form__input input::placeholder { color: #94a19b; opacity: 1; font-size: 14px; }
.phone-auth-page .auth-form__input input:hover { border-color: #afc4b8; }
.phone-auth-page .auth-form__input input:focus { outline: none; border-color: var(--auth-accent); background: #fff; box-shadow: 0 0 0 3px rgba(17, 118, 93, .10); }
.phone-auth-page .auth-form__input input:user-invalid { border-color: #ba574b; }
.phone-auth-password { position: relative; display: flex; width: 100%; }
.phone-auth-page .phone-auth-password input { padding-right: 87px; }
.phone-auth-password-toggle { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); padding: 8px 0; color: var(--auth-accent); font-size: 12px; font-weight: 500; background: none; cursor: pointer; }
.phone-auth-page .auth-form__hint { margin-top: -6px; color: var(--auth-muted); font-size: 12px; line-height: 1.6; }
.phone-auth-page .phone-auth-call-hint { margin: 0; color: #52695d; font-size: 15px; line-height: 1.55; }
.phone-auth-widget { width: 100%; }
.phone-auth-widget__destination { margin-bottom: 10px; color: var(--auth-ink); font-size: 15px; font-weight: 500; line-height: 1.5; }
.phone-auth-widget .phone-auth-call-hint { margin-bottom: 12px; }
.phone-auth-widget__mount { min-height: 150px; margin-bottom: 16px; }
.phone-auth-widget [data-widget-recheck] { display: block; margin-top: 12px; }
.phone-auth-widget .idgtl-verify-widget-component-container,
.phone-auth-widget .idgtl-verify-widget-component-container .widget-component { width: 100%; max-width: 100%; }
.phone-auth-widget .idgtl-verify-widget-component-container .widget-component { padding: 16px 0; background: transparent; }
.phone-auth-widget #idgtl-2fa-widget { font-family: inherit; }
.phone-auth-widget .idgtl-verify-widget-component-container .button-widget-close { display: none; }
/* Restyle the official widget's DOM without replacing its verification flow. */
.phone-auth-widget #idgtl-2fa-widget * { font-family: inherit; }
.phone-auth-widget .confirmation-section-component .selected-channel-icon { display: none; }
.phone-auth-widget .confirmation-section-component .input-otp { justify-content: flex-start; margin: 4px 0 18px; }
.phone-auth-widget .input-otp-component { display: flex; gap: 12px; }
.phone-auth-widget .input-otp-component .otp-container + .otp-container { margin-left: 0; }
.phone-auth-widget .input-otp-component .otp-container input {
    appearance: none;
    box-sizing: border-box;
    width: 56px;
    height: 60px;
    padding: 10px 0;
    border: 1px solid var(--auth-line);
    border-radius: var(--auth-radius);
    background: #fbfcfb;
    box-shadow: none;
    color: var(--auth-ink);
    font-size: 26px;
    font-weight: 500;
    line-height: 1.4;
    caret-color: var(--auth-accent);
    cursor: text;
    transition: border-color .15s, box-shadow .15s;
}
.phone-auth-widget .input-otp-component .otp-container input:hover { border-color: #afc4b8; }
.phone-auth-widget .input-otp-component .otp-container input:focus { border-color: var(--auth-accent); box-shadow: 0 0 0 3px rgba(17,118,93,.10); }
.phone-auth-widget .input-otp-component.error .otp-container input { border-color: #ba574b; box-shadow: none; }
.phone-auth-widget .input-otp-component.disabled .otp-container input { background: #f2f6f3; color: #849087; box-shadow: none; cursor: default; }
.phone-auth-widget .confirmation-section-component .countdown { text-align: left; }
.phone-auth-widget .confirmation-section-component .countdown span { color: var(--auth-muted); font-size: 13px; font-weight: 400; line-height: 1.6; }
.phone-auth-widget .confirmation-section-component .countdown .error-message { color: #9b392b; }
.phone-auth-widget .confirmation-section-component .countdown button,
.phone-auth-widget .error-message-section-component .button-reset { color: var(--auth-accent); font-size: 13px; font-weight: 500; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
.phone-auth-widget .error-message-section-component span { color: var(--auth-ink); font-size: 16px; line-height: 1.5; }
.phone-auth-page .auth-form__forgot { margin: -4px 0 0; font-size: 12px; color: var(--auth-accent); }
.phone-auth-page .auth-form__button { margin-top: 2px; padding: 15px 18px; min-height: 50px; border-radius: var(--auth-radius); background: var(--auth-accent); color: #fff; font-size: 14px; line-height: 1.4; font-weight: 500; white-space: normal; transition: background-color .15s, box-shadow .15s; }
.phone-auth-page .auth-form__button:hover { background: #0c604b; box-shadow: 0 4px 14px rgba(17, 118, 93, .12); }
.phone-auth-page button:disabled { opacity: .5; cursor: default; box-shadow: none; }
.phone-auth-page .auth-card__switch { padding-top: 22px; margin-top: 24px; border-top: 1px solid #edf1ee; color: var(--auth-muted); font-size: 12px; line-height: 1.6; }
.phone-auth-message { width: 100%; margin-top: 16px; padding: 12px 14px; border: 1px solid #dbe9e1; border-radius: var(--auth-radius); background: #f0f7f2; color: var(--auth-ink); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.phone-auth-message--error { background: #fff4f1; border-color: #f1d5ce; color: #9b392b; }
.phone-auth-panel .phone-auth-message { margin-top: 0; }
.phone-auth-panel [data-phone-error] { margin-top: 18px; }
.phone-auth-link { align-self: flex-start; padding: 2px 0; color: var(--auth-accent); font: inherit; font-size: 12px; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; background: none; cursor: pointer; }
.phone-auth-check { display: flex; align-items: flex-start; gap: 10px; color: #586b61; font-size: 12px; line-height: 1.6; }
.phone-auth-check input { width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0; accent-color: var(--auth-accent); }
.phone-auth-check a { color: var(--auth-accent); text-decoration: underline; text-underline-offset: 2px; }
.phone-auth-page button:focus-visible, .phone-auth-page a:focus-visible { outline: 2px solid var(--auth-accent); outline-offset: 3px; }
.phone-auth-page #auth-call-code { font-size: 28px; letter-spacing: 10px; text-align: center; }
.phone-auth-page .auth-gift { margin-top: 16px; padding: 14px 16px; background: #f0f6f0; border: 1px solid #dfebdf; border-radius: var(--auth-radius); justify-content: space-between; }
.phone-auth-page .auth-gift__text { color: #345746; font-size: 12px; line-height: 1.5; }
.phone-auth-bonus-value { color: #256447; font-size: 25px; font-weight: 500; letter-spacing: -.04em; }
.phone-auth-page .auth-gift__note { margin: 8px 0 24px; color: var(--auth-muted); font-size: 11px; line-height: 1.6; }
.phone-auth-secondary { margin-top: 24px; align-self: center; }
.phone-auth-note { color: #849087; font-weight: 400; }
.phone-auth-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
@media (max-width: 480px) {
    .phone-auth-page { padding: 28px 0 48px; }
    .phone-auth-page .auth-card { padding: 28px 22px; border-radius: 20px; }
    .phone-auth-page .auth-card__title { font-size: 28px; }
    .phone-auth-page .auth-card__subtitle { font-size: 13px; }
    .phone-auth-widget .input-otp-component { gap: 8px; }
    .phone-auth-widget .input-otp-component .otp-container input { width: 52px; height: 56px; font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) { .phone-auth-page * { transition: none !important; } }

.has-phone-auth [data-configurator-widget], .has-phone-auth .floating-configurator { display: none !important; }

.phone-auth-close { position: absolute; top: 14px; right: 16px; padding: 4px 7px; font-size: 24px; line-height: 1; color: #71847a; }
.phone-auth-profile-form { margin-top: 24px; }
.phone-auth-page .auth-card__switch .phone-auth-registration { font-size: 14px; font-weight: 500; margin-left: 4px; }
.phone-auth-page .auth-card__subtitle + .phone-auth-panel { margin-top: 24px; }
.profile-auth-page .profile-block__input input { min-height: 50px; padding: 13px 14px; border: 1px solid #dce5e0; border-radius: 12px; background: #fbfcfb; font-size: 16px; line-height: 1.4; color: #183f35; }
.profile-auth-page .profile-block__input input:focus { outline: none; border-color: #11765d; box-shadow: 0 0 0 3px rgba(17,118,93,.1); }
.profile-auth-page .profile-block__input input[readonly] { background: #eff5f0; color: #536c5e; }
.profile-auth-page .profile-block__input-text { font-size: 12px; line-height: 1.4; color: #354d43; }
.profile-auth-page .auth-form__hint { color: #697b74; font-size: 12px; line-height: 1.6; }
.profile-auth-page input[type="date"] { appearance: auto; }

/* Authentication keeps only a quiet legal footer, without retail navigation. */
.auth-footer{width:100%;padding:0 0 24px;color:#697b74}
.auth-footer__inner{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:4px 24px;max-width:820px;margin:0 auto;padding-top:16px;border-top:1px solid #dce5e0}
.auth-footer small{font-size:12px;line-height:1.5}
.auth-footer nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 20px}
.auth-footer a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5;color:inherit;text-decoration:none}
.auth-footer a:hover{text-decoration:underline;text-underline-offset:4px;color:#183f35}
.auth-footer a:focus-visible{outline:2px solid #11765d;outline-offset:3px}
@media(max-width:480px){.auth-footer__inner{flex-direction:column;align-items:center;gap:0;padding-top:14px}.auth-footer nav{gap:0 16px}.auth-footer{padding-bottom:16px}}
/* Keep legal links at the page bottom; long forms still scroll naturally. */
.wrapper:has(> .auth-footer){display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.wrapper:has(> .auth-footer)>.header,.wrapper:has(> .auth-footer)>.auth-footer{flex-shrink:0}
.wrapper:has(> .auth-footer)>.main{flex:1 0 auto}
@media(max-width:1024px){
    .wrapper:has(> .auth-footer){min-height:calc(100vh - 120px - env(safe-area-inset-bottom,0px));min-height:calc(100dvh - 120px - env(safe-area-inset-bottom,0px))}
}

/* Selected compact registration note: below the existing signup link. */
.phone-auth-bonus{width:100%;margin-top:13px;text-align:center;color:#697b74;font-size:12px;line-height:1.6}
.phone-auth-bonus__caption{margin:0 0 1px;color:#52695d}
.phone-auth-bonus__caption strong{font-weight:600;color:#11765d}
.phone-auth-bonus__details summary{display:inline-flex;align-items:center;gap:7px;min-height:32px;color:#11765d;font-size:11px;list-style:none;cursor:pointer;transition:color .18s}
.phone-auth-bonus__details summary::-webkit-details-marker{display:none}
.phone-auth-bonus__details summary::after{content:'';width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s}
.phone-auth-bonus__details[open] summary::after{transform:translateY(1px) rotate(225deg)}
.phone-auth-bonus__details summary:hover{color:#0a9271}
.phone-auth-bonus__details summary:focus-visible{outline:2px solid #11765d;outline-offset:2px;border-radius:3px}
.phone-auth-bonus__terms{padding-top:12px;text-align:left;color:#697b74;font-size:11px;line-height:1.7}

/* Channel choice and delivery instructions belong to the official verifier. */
.phone-auth-widget .pick-channel-section .section-title,
.phone-auth-widget .confirmation-message-component {
    margin: 0 0 20px; padding: 0; text-align: left; color: var(--auth-ink);
    font-size: 15px; font-weight: 400; line-height: 1.55; text-transform: none; letter-spacing: normal;
}
.phone-auth-widget .pick-channel-section .section-title span,
.phone-auth-widget .confirmation-message-component span { font: inherit; color: inherit; }
.phone-auth-widget .pick-channel-section .channels { display: grid; gap: 10px; width: 100%; }
.phone-auth-widget .button-channel-component {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px;
    margin: 0; padding: 14px 16px; border: 1px solid var(--auth-line);
    border-radius: var(--auth-radius); background: transparent; color: var(--auth-ink);
    box-shadow: none; cursor: pointer; transition: background-color .18s, border-color .18s;
}
.phone-auth-widget .button-channel-component:hover { background: #f0f3f0; border-color: #9caaa2; }
.phone-auth-widget .button-channel-component:focus-visible { outline: 2px solid var(--auth-accent); outline-offset: 3px; }
.phone-auth-widget .button-channel-component .channel-name { flex: 1; text-align: left; font-size: 15px; line-height: 1.4; }
.phone-auth-widget .button-channel-component .channel-name span { font: inherit; }
.phone-auth-widget .button-channel-component .channel-icon { display: none; }
.phone-auth-widget .button-channel-component .icon-chevron { width: 16px; height: 16px; opacity: .55; }
.phone-auth-widget .idgtl-logo-link { margin-top: 20px; opacity: .5; }

.phone-auth-page .auth-form__privacy { margin: 0 0 18px; font-size: 12px; line-height: 1.6; color: var(--auth-muted); }
.phone-auth-page .auth-form__hint a, .phone-auth-page .auth-form__hint a:visited { color: var(--auth-accent); text-decoration: underline; text-decoration-color: #b7cec3; text-underline-offset: 3px; }
.phone-auth-page .auth-form__hint a:hover { color: #0c604b; text-decoration-color: currentColor; }
