/* ── Cart: delivery pass item styling ────────────────────────────────────── */

.annual_delivery-item .cart_action_btn { display: none !important; }
.annual_delivery-item .product-name a { font-weight: 700; color: #FFA222; }
.annual_delivery-item .w_50.t_r,
.annual_delivery-item .w_50.t_c.product-quantity { display: none; }
.annual_delivery-item .w_50.t_l { margin-top: 25px !important; }

/* ── Free shipping upsell banner ─────────────────────────────────────────── */

.annual-delivery-pass-section {
    border: 1px solid #FFA222;
    padding: 20px;
    margin-bottom: 20px;
    margin-top: 20px;
    background-color: #FFF1DE;
    border-radius: 8px;
}

.annual-pass-cta {
    text-align: left;
    display: flex;
    gap: 20px;
}

.annual-delivery-pass-section img { max-width: 140px; }

.annual-pass-content .retail-price { font-size: 18px !important; }

.annual-pass-cta h4 {
    margin-bottom: 6px;
    letter-spacing: 0 !important;
    color: var(--text);
    font-size: 25px !important;
    line-height: 30px !important;
}

.login-cta {
    text-decoration: underline;
    color: var(--text);
    cursor: pointer;
    font-weight: 700;
}

p.desktop { margin-bottom: 0; margin-top: 10px; }

.annual-delivery-pass-section a.button {
    letter-spacing: 0;
    color: #FFFFFF !important;
    text-transform: capitalize;
    text-align: center;
    line-height: 1.1;
    font-size: var(--btn-font-size-compact);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--btn-h);
    padding: 0 var(--btn-pad-x);
    width: 100%;
    max-width: fit-content;
    background-color: var(--cta-orange);
    border-radius: var(--radius-btn);
}

.annual-delivery-pass-section a.button:hover {
    background-color: var(--cta-orange-hover) !important;
    color: #FFFFFF !important;
}

/* ── Free shipping active / in-cart notice ───────────────────────────────── */

.free-shipping-pass-upsell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    margin-top: 20px;
}

.free-shipping-pass-upsell.pass-active {
    flex-direction: column;
    align-items: flex-start;
    background-color: #ECF3F4;
    border: 1px solid #AAD1D1;
    border-radius: 8px;
    padding: 10px;
    gap: 0;
}

.free-shipping-pass-upsell h4 {
    letter-spacing: 0 !important;
    color: var(--text);
    font-size: 25px !important;
    line-height: 30px !important;
    margin: 0;
}

.free-shipping-pass-upsell span { font-size: 13px; }

.free-shipping-pass-upsell a.button {
    letter-spacing: 0;
    color: #FFFFFF !important;
    text-transform: capitalize;
    text-align: center;
    line-height: 1.1;
    font-size: var(--btn-font-size-compact);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--btn-h);
    padding: 0 var(--btn-pad-x);
    width: 100%;
    max-width: 164px;
    background-color: var(--black);
    border-radius: var(--radius-btn);
}

.free-shipping-pass-upsell a.button:hover {
    background-color: #3a3a3a !important;
    color: #FFFFFF !important;
}

/* ── Bullet points ───────────────────────────────────────────────────────── */

ul.bullet-points {
    margin: 0 0 12px;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
    font-size: 18px;
    line-height: 23px;
    color: var(--text);
    letter-spacing: 0.48px;
}

ul.bullet-points li { display: flex; align-items: center; gap: 5px; }
ul.bullet-points li::before { content: "\2022"; font-size: 22px; }

span.retail-price {
    opacity: 50%;
    text-decoration: line-through;
    font-family: 'Cormorant Infant' !important;
    padding-left: 10px;
}

/* ── Modal overlay ───────────────────────────────────────────────────────── */

#vdp-modal-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
}

#vdp-content-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 415px;
}

#vdp-content-wrapper img { height: 100%; }

.vdp-modal-content {
    background: #fff;
    padding: 40px 20px;
    border-radius: 0 8px 8px 0;
    max-width: 450px;
    text-align: center;
    position: relative;
    height: 100%;
}

.add-offer-container h3 { text-transform: capitalize; }

.vdp-close-button {
    position: absolute;
    top: 0; right: 0;
    background: none;
    border: none;
    font-size: 40px;
    cursor: pointer;
    background-color: transparent;
    color: var(--text);
    padding: 12px 10px;
    font-weight: 200;
    line-height: 0;
}

.vdp-close-button:hover { background-color: transparent; color: var(--text); }

.login-container { display: none; margin: 0; }

.add-offer-container p {
    letter-spacing: 0 !important;
    color: var(--text);
    line-height: 27px !important;
    font-size: 20px !important;
    margin-bottom: 30px;
}

.add-offer-container p:first-of-type { margin-bottom: 20px; }

span.sale-price { font-weight: 700; font-size: 30px; }

#vdp-modal .add-offer-container a.button {
    letter-spacing: 0;
    color: #FFFFFF !important;
    text-transform: capitalize;
    text-align: center;
    line-height: 1.1;
    font-size: var(--btn-font-size);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--btn-h);
    padding: 0 var(--btn-pad-x);
    border-radius: var(--radius-btn);
    background-color: var(--cta-orange);
    margin-bottom: 23px;
}

#vdp-modal .add-offer-container a.button:hover { background-color: var(--cta-orange-hover); color: #FFFFFF !important; }

#no_btn {
    display: block;
    text-decoration: underline;
    letter-spacing: 0.2px;
    color: var(--text);
    text-transform: capitalize;
    line-height: 20px;
    font-size: 14px;
    margin: 23px auto 0;
    cursor: pointer;
    background-color: transparent;
}

#vdp-modal .add-offer-container #login-toggle {
    background-color: #f9f9f9;
    color: var(--text);
    border-radius: 5px;
    text-transform: capitalize;
    line-height: 24px;
    font-size: 16px;
    border: 1px solid #f2f2f2;
    padding: 5px 25px;
    display: block;
    width: fit-content;
    margin: 0 auto;
    cursor: pointer;
}

/* ── Modal: login state ──────────────────────────────────────────────────── */

#vdp-modal-overlay.show-login img,
#vdp-modal-overlay.show-login .add-offer-container { display: none; }

#vdp-modal-overlay.show-login .login-container { display: block; }

#vdp-modal-overlay.show-login .vdp-modal-content {
    border-radius: 8px;
    height: auto;
    padding: 25px 38px;
    max-width: 726px;
    width: 100%;
    text-align: left;
}

#vdp-modal-overlay.show-login .sign-in-text span {
    letter-spacing: 0;
    color: var(--text);
    font-weight: 700;
    text-align: left;
    line-height: 33px;
    font-size: 25px;
    display: block;
    margin-bottom: 20px;
}

/* ── Login form ──────────────────────────────────────────────────────────── */

#vdp-login-form label {
    letter-spacing: 0;
    color: var(--text);
    line-height: 27px;
    font-size: 20px;
    text-transform: capitalize;
}

#vdp-login-form p { margin: 0; }

#vdp-login-form input {
    width: 100%;
    padding: 8px;
    border: 1px solid #707070;
    background-color: transparent;
    height: 40px;
    margin-bottom: 12px;
}

#vdp-login-form button#vdp_login_button {
    letter-spacing: 0;
    color: #FFFFFF;
    text-transform: capitalize;
    line-height: 1.1;
    font-size: var(--btn-font-size-compact);
    font-weight: 500;
    min-height: var(--btn-h);
    padding: 0 var(--btn-pad-x);
    border: 1px solid var(--black);
    border-radius: var(--radius-btn);
    background-color: var(--black);
}

#vdp-login-form button#vdp_login_button:hover {
    background-color: #3a3a3a !important;
    color: #FFFFFF !important;
}

#lost_password {
    letter-spacing: 0;
    color: var(--text);
    line-height: 27px;
    font-size: 20px;
    display: block;
    cursor: pointer;
}

.vdp-login-error, .vdp-login-success { text-align: center; }

/* ── Loading spinner ─────────────────────────────────────────────────────── */

#loading { text-align: center; display: none; }

#loading h4 {
    letter-spacing: 0.2px;
    color: var(--text);
    line-height: 24px;
    font-size: 20px;
    margin-bottom: 15px;
}

#loading svg {
    animation: rotate 2s linear infinite;
    transform-origin: center;
    max-width: 30px;
    fill: #565656;
}

@keyframes rotate {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.login-container.loading #input_wrapper { display: none; }
.login-container.loading #loading { display: block; }

/* ── Links / return to offer ─────────────────────────────────────────────── */

#return-to-offer {
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 5px;
    width: 100%;
    cursor: pointer;
}

#return-to-offer p { font-size: 16px !important; }
#return-to-offer svg { max-width: 15px; fill: #565656; }

.links-wrapper {
    display: flex;
    white-space: nowrap;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
}

/* ── Checkout: delivery pass warning ─────────────────────────────────────── */

#delivery-pass-warning { background: white; }

#delivery-pass-warning.highlight p {
    color: red;
    transition: color 0.3s;
}

span.info::before { display: none !important; }
.create-account .delivery-pass-warning p { margin-bottom: 0; }

/* ── Checkout login form (popup) ─────────────────────────────────────────── */

.mfp-content form.woocommerce-form.woocommerce-form-login.login { padding: 25px 35px; }

.mfp-content .woocommerce-form-login h2 {
    letter-spacing: 0;
    color: var(--text);
    font-weight: 700;
    margin: 0 0 20px;
    line-height: 33px;
    font-size: 22px;
}

.mfp-content p.form-row.is-active { margin: 0; }
.mfp-content .woocommerce-form-login .form-row.form-row-first { margin-bottom: 12px; }

.woocommerce-form-login .form-row.form-row-last {
    margin-bottom: 7px;
    margin-top: 0 !important;
}

.woocommerce-form-login .form-row.form-row-first label,
.woocommerce-form-login .form-row.form-row-last label {
    display: block;
    letter-spacing: 0;
    color: var(--text);
    text-align: left;
    line-height: 20px !important;
    margin: 0;
    font-size: 16px;
    font-weight: 400 !important;
}

.woocommerce-form-login .form-row.form-row-first input,
.woocommerce-form-login .form-row.form-row-last input {
    border: 1px solid #707070;
    width: 100%;
    padding: 5px;
    height: 40px;
}

.mfp-content input[type=checkbox]:before { border: 1px solid #707070; }
.mfp-content input[type=checkbox] { margin-right: 5px !important; }

.mfp-content .woocommerce-form-login .woocommerce-form__label-for-checkbox span {
    letter-spacing: 0;
    color: var(--text);
    text-align: left;
    font-weight: 400;
    line-height: 27px !important;
    font-size: 16px;
}

.mfp-content .woocommerce-form-login__submit {
    letter-spacing: 0;
    color: #FFFFFF;
    text-transform: uppercase;
    line-height: 22px;
    font-size: 16px;
    font-weight: 400;
    padding: 15px 36px;
    width: fit-content;
    margin-top: 13px !important;
}

.mfp-content .woocommerce-form-login .lost_password {
    text-align: left;
    margin-top: 12px;
}

.mfp-content .woocommerce-form-login .lost_password a {
    text-decoration: none;
    letter-spacing: 0;
    color: var(--text);
    font-weight: 400;
    text-transform: capitalize;
    line-height: 27px;
    font-size: 16px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media screen and (max-width: 768px) {
    .annual-delivery-pass-section { padding: 10px; margin-bottom: 6px; }
    .annual-delivery-pass-section img { display: none; }
    .annual-pass-cta { text-align: center; justify-content: center; }
    .annual-pass-content .retail-price { padding: 0; font-size: 16px !important; }
    .annual-pass-cta h4 { font-size: 20px !important; line-height: 25px !important; font-weight: 700; }
    .annual-delivery-pass-section a.button { font-size: 12px; padding: 6px; max-width: 100%; }
    ul.bullet-points { justify-content: center; }

    #vdp-modal-overlay { padding: 10px; }
    #vdp-modal-overlay img { display: none; }
    .vdp-modal-content { border-radius: 8px; height: auto; padding: 40px 20px; }
    .add-offer-container p { line-height: 24px !important; font-size: 18px !important; }
    #vdp-modal .add-offer-container a.button { line-height: 22px; font-size: 18px; margin-bottom: 20px; }
    #vdp-modal .add-offer-container #login-toggle { font-size: 14px; }
    #no_btn { line-height: 20px; font-size: 13px; margin-top: 25px; }
    #vdp-modal-overlay.show-login .sign-in-text span { line-height: 27px; font-size: 22px; }
    #vdp-modal-overlay.show-login .vdp-modal-content { padding: 20px; }
    #vdp-login-form label { line-height: 24px; font-size: 18px; }
    #vdp-login-form input { padding: 6px; height: 35px; }
    button#vdp_login_button { font-size: 16px; }
    #lost_password { line-height: 24px; font-size: 18px; }

    .free-shipping-pass-upsell {
        flex-wrap: wrap;
        justify-content: center;
        padding: 10px;
        gap: 10px;
        margin-bottom: 6px;
    }
    .free-shipping-pass-upsell h4 { font-size: 20px !important; line-height: 27px !important; }
}

@media screen and (max-width: 500px) {
    #login-wrapper { display: block; }
}

@media screen and (max-width: 360px) {
    #vdp-modal .add-offer-container a.button { font-size: 18px; }
    #vdp-login-form label { line-height: 24px; font-size: 14px; }
    .links-wrapper { flex-wrap: wrap-reverse; gap: 10px; }
}

/* ── Express Checkout login gate (guest + pass in cart) ──────────────────────
 * Apple Pay/Google Pay render inside #vt-express-checkout via the payment
 * gateway's own JS — we can't intercept their click handlers directly, so an
 * opaque button sits on top of them instead and captures the click itself. */
.vt-express-checkout--gated {
    position: relative;
}
.vt-express-checkout--gated > :not(.vt-express-gate) {
    visibility: hidden;
}
.vt-express-gate {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    background: var(--grey4, #f4f0eb);
    border: 1px solid var(--grey3, #ddd);
    border-radius: var(--radius, 8px);
    cursor: pointer;
    padding: 12px;
    text-align: center;
}
.vt-express-gate__msg {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--black);
    font-weight: 500;
}
.vt-express-gate__cta {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    text-decoration: underline;
    text-underline-offset: 2px;
    color: var(--text);
}
.vt-express-gate:hover .vt-express-gate__cta {
    color: var(--black);
}

/* ── Delivery Pass login nudge (any guest, regardless of cart contents) ──── */
.vt-vdp-nudge {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-bottom: 16px;
    padding: 10px 12px;
    background: var(--grey4, #f4f0eb);
    border: 1px solid var(--grey3, #ddd);
    border-radius: var(--radius, 8px);
    cursor: pointer;
    text-align: left;
}
.vt-vdp-nudge__icon {
    flex-shrink: 0;
    color: var(--text);
}
.vt-vdp-nudge__text {
    flex: 1;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--black);
    line-height: 1.4;
}
.vt-vdp-nudge__cta {
    flex-shrink: 0;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
    color: var(--text);
}
.vt-vdp-nudge:hover .vt-vdp-nudge__cta {
    color: var(--black);
}

/* ── Delivery Pass login modal — duplicated from account.css/checkout.css so
 * the cart page doesn't have to load either just for this widget. ─────────── */
.vt-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.vt-confirm-modal[hidden] { display: none; }
.vt-confirm-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(34, 31, 32, 0.5);
}
.vt-confirm-modal__box {
    position: relative;
    width: 100%;
    max-width: 380px;
    background: var(--white);
    border-radius: var(--radius);
    padding: 28px 24px 24px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}
.vt-vdp-login-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    background: none;
    border: none;
    padding: 4px;
    line-height: 0;
    color: var(--text);
    cursor: pointer;
}
.vt-vdp-login-modal__close:hover { color: var(--black); }
.vt-vdp-login-modal__title {
    font-family: var(--font-heading, var(--font-body));
    font-size: 1.125rem;
    color: var(--black);
    margin: 0 0 10px;
    padding-right: 20px;
}
.vt-vdp-login-modal__hint {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.5;
    margin: 0 0 16px;
}
.vt-vdp-login-modal__signup-hint {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--text);
    text-align: center;
    margin: 14px 0 0;
}
.vt-vdp-login-modal__signup-hint a {
    color: var(--black);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ── OTC ("log in with a code") widget — duplicated, see above ──────────────── */
.vt-otc { margin-top: 0; text-align: left; }
.vt-otc__panel { margin-top: 0; padding: 0; border: none; }
.vt-otc__hint {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--text);
    margin: 0 0 12px;
    line-height: 1.5;
}
.vt-otc .vt-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}
.vt-otc .vt-form-label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text);
}
.vt-otc__submit,
.vt-otc__resend {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
}
.vt-otc__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    padding: 0;
    background: var(--vt-true-black, var(--black));
    color: var(--white);
    border: 1px solid var(--vt-true-black, var(--black));
    border-radius: var(--radius-btn);
    transition: background 0.18s;
}
.vt-otc__submit:hover {
    background: #3a3637;
    border-color: #3a3637;
}
.vt-otc__submit:disabled {
    opacity: 0.6;
    cursor: default;
}
.vt-otc__resend {
    display: block;
    width: 100%;
    margin-top: 10px;
    background: none;
    border: none;
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.vt-otc__resend:disabled {
    text-decoration: none;
    cursor: default;
    opacity: 0.7;
}
.vt-otc__error {
    margin: 10px 0 0;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: #b3261e;
}
.vt-otc .vt-auth-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--text);
    font-weight: 300;
    margin: 10px 0;
}
.vt-otc .vt-auth-remember input[type="checkbox"] {
    width: 15px;
    height: 15px;
    accent-color: var(--black);
    flex-shrink: 0;
}

/* ── Password login fallback (data-login-mode-panel="password") ─────────────
 * Same form-field look as .vt-otc's, but not nested inside it, so these are
 * unscoped rather than reusing the .vt-otc-prefixed selectors above. ──────── */
.vt-vdp-login-modal .vt-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}
.vt-vdp-login-modal .vt-form-label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text);
}
.vt-vdp-login-modal .vt-forgot-link {
    display: block;
    font-size: 12px;
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-align: right;
    margin: -6px 0 6px;
}
.vt-vdp-login-modal .vt-forgot-link:hover { color: var(--black); }
.vt-vdp-login-modal .vt-auth-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--text);
    font-weight: 300;
    margin: 0 0 14px;
}
.vt-vdp-login-modal .vt-auth-remember input[type="checkbox"] {
    width: 15px;
    height: 15px;
    accent-color: var(--black);
    flex-shrink: 0;
}
.vt-vdp-login-modal .vt-auth-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    background: var(--vt-true-black, var(--black));
    color: var(--white);
    border: 1px solid var(--vt-true-black, var(--black));
    border-radius: var(--radius-btn);
    cursor: pointer;
    transition: background 0.18s;
    text-decoration: none;
}
.vt-vdp-login-modal .vt-auth-submit:hover {
    background: #3a3637;
    border-color: #3a3637;
}
.vt-vdp-login-modal .vt-auth-submit--outline {
    margin-top: 12px;
    min-height: 40px;
    font-size: 0.8125rem;
    font-weight: 400;
    background: transparent;
    color: var(--vt-true-black, var(--black));
}
.vt-vdp-login-modal .vt-auth-submit--outline:hover {
    background: var(--grey3, #e9e9e8);
    color: var(--white);
}

/* ── Password field + show/hide toggle — same pattern as account.css's
 * .vt-pw-wrap/.vt-pw-toggle, duplicated here (not shared) since account.css
 * only loads on My Account pages, not the cart. Without this, WooCommerce's
 * own JS still wraps the input and injects its default unstyled
 * show-password button, which renders as a bare circle with the input not
 * stretched to full width. ─────────────────────────────────────────────── */
.vt-vdp-login-modal .vt-pw-wrap {
    position: relative;
    display: block;
    width: 100%;
    box-sizing: border-box;
}
.vt-vdp-login-modal .vt-pw-wrap .password-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
}
.vt-vdp-login-modal .vt-pw-wrap .show-password-input {
    display: none !important;
}
.vt-vdp-login-modal .vt-pw-wrap .woocommerce-Input,
.vt-vdp-login-modal .vt-pw-wrap .input-text,
.vt-vdp-login-modal .vt-pw-wrap .password-input .woocommerce-Input,
.vt-vdp-login-modal .vt-pw-wrap .password-input .input-text {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-right: 44px;
    display: block;
}
.vt-vdp-login-modal .vt-pw-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    color: var(--text);
    line-height: 0;
    transition: color 0.15s;
}
.vt-vdp-login-modal .vt-pw-toggle:hover { color: var(--black); }
.vt-vdp-login-modal .vt-pw-icon,
.vt-vdp-login-modal .vt-pw-icon--show,
.vt-vdp-login-modal .vt-pw-icon--hide {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ── Forgot-password panel ────────────────────────────────────────────────── */
.vt-vdp-login-modal .vt-forgot-link {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
}
.vt-vdp-login-modal [data-vt-forgot-intro] {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.5;
    margin: 0 0 14px;
}
.vt-vdp-login-modal .vt-forgot-error {
    margin: 8px 0 0;
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: #b3261e;
}
.vt-vdp-login-modal [data-vt-forgot-submit] {
    margin-top: 4px;
}
.vt-vdp-login-modal [data-vt-forgot-success] {
    font-family: var(--font-body);
    font-size: 0.8125rem;
    color: var(--text);
    line-height: 1.5;
    margin: 0 0 14px;
}
