.grecaptcha-badge {
    visibility: hidden !important;
}

.auth-page.fancy-short-banner-three {
    --auth-coral: #ff574d;
    --auth-coral-dark: #e9443b;
    --auth-coral-soft: #fff0ee;
    --auth-ink: #20242c;
    --auth-muted: #707683;
    --auth-line: #e8e9ed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 0 !important;
    min-height: 650px;
    padding: clamp(54px, 7vw, 96px) 0;
    overflow: hidden;
    color: var(--auth-ink);
}

.auth-page__container {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.auth-page__container > .wrapper {
    width: 100%;
}

.auth-page__column {
    width: min(100%, 600px);
}

.auth-page--student .auth-page__column {
    width: min(100%, 680px);
}

.auth-card {
    position: relative;
    width: 100%;
    padding: clamp(28px, 4.5vw, 46px);
    overflow: hidden;
    border: 1px solid rgba(255, 87, 77, 0.11);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 28px 80px rgba(78, 43, 40, 0.11);
}

.auth-card__accent {
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #ff574d, #ff8c6f 52%, #ffc1ad);
}

.auth-card__heading {
    max-width: 520px;
    margin: 0 auto 30px;
    text-align: center;
}

.auth-card__icon {
    display: grid;
    width: 48px;
    height: 48px;
    margin: 0 auto 14px;
    place-items: center;
    border-radius: 16px;
    background: var(--auth-coral-soft);
    color: var(--auth-coral);
    font-size: 1.4rem;
}

.auth-card__title {
    margin: 0;
    color: var(--auth-ink);
    font-size: clamp(1.75rem, 4.5vw, 2.35rem);
    font-weight: 700;
    letter-spacing: -0.035em;
}

.auth-card__description {
    margin: 10px 0 0;
    color: var(--auth-muted);
    font-size: 1rem;
    line-height: 1.55;
}

.auth-card__body {
    padding: 0;
}

.auth-page .alert {
    margin-bottom: 22px;
    padding: 13px 15px;
    border: 1px solid #ffd0cc;
    border-radius: 14px;
    background: #fff5f4;
    color: #9e312b;
    font-size: 0.93rem;
}

.auth-page .alert-success {
    border-color: #bfe7d1;
    background: #f0fbf5;
    color: #207447;
}

.auth-page .alert-warning {
    border-color: #f3d8a3;
    background: #fff9ed;
    color: #805e1f;
}

.auth-google-account {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 22px;
    padding: 14px 16px;
    border: 1px solid var(--auth-line);
    border-radius: 14px;
    background: #fafafb;
}

.auth-google-account__icon {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(32, 36, 44, 0.08);
    color: #d54235;
    font-size: 1.15rem;
}

.auth-google-account__details {
    min-width: 0;
}

.auth-google-account__name,
.auth-google-account__email {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.auth-google-account__name {
    color: var(--auth-ink);
    font-weight: 600;
}

.auth-google-account__email {
    margin-top: 2px;
    color: var(--auth-muted);
    font-size: 0.86rem;
}

.auth-page .form-label {
    margin-bottom: 8px;
    color: #404550;
    font-size: 0.94rem;
    font-weight: 600;
}

.auth-page .form-control {
    width: 100%;
    height: 56px;
    padding: 0 17px;
    border: 1.5px solid var(--auth-line);
    border-radius: 14px;
    outline: 0;
    background: #fbfbfc;
    color: var(--auth-ink);
    font-family: inherit;
    font-size: 1rem;
    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}

.auth-page .form-control:hover {
    border-color: #d5d7dd;
    background: #fff;
}

.auth-page .form-control:focus {
    border-color: var(--auth-coral);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 87, 77, 0.14);
}

.auth-page .form-control.is-invalid {
    border-color: #dc3545;
    box-shadow: none;
}

.auth-page .form-control::placeholder {
    color: #a3a7af;
}

.auth-page textarea.form-control {
    height: auto;
    min-height: 104px;
    padding-top: 14px;
    padding-bottom: 14px;
    resize: vertical;
}

.auth-page .form-text,
.auth-page .text-muted {
    color: var(--auth-muted) !important;
}

.auth-page .phone-prefix {
    display: flex;
    min-width: 64px;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--auth-line);
    border-right: 0;
    border-radius: 14px 0 0 14px;
    background: #f4f4f6;
    color: #555b66;
    font-weight: 600;
}

.auth-page .login-phone,
.auth-page .register-phone {
    border-left: 0 !important;
    border-radius: 0 14px 14px 0 !important;
}

.auth-page .position-relative.d-flex:focus-within .phone-prefix {
    border-color: var(--auth-coral);
    background: var(--auth-coral-soft);
    color: var(--auth-coral-dark);
}

.auth-page .input-icon {
    position: absolute;
    top: 50%;
    right: 17px;
    color: #8c919b;
    transform: translateY(-50%);
    pointer-events: none;
}

.auth-page .with-icon {
    padding-right: 48px;
}

.auth-page .auth-input-tooltip::before,
.auth-page .auth-input-tooltip::after {
    position: absolute;
    z-index: 5;
    right: 12px;
    bottom: calc(100% + 8px);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition:
        opacity 150ms ease,
        transform 150ms ease,
        visibility 150ms ease;
}

.auth-page .auth-input-tooltip::before {
    right: 22px;
    bottom: calc(100% + 3px);
    width: 10px;
    height: 10px;
    background: #30343c;
    content: '';
    transform: translateY(4px) rotate(45deg);
}

.auth-page .auth-input-tooltip::after {
    width: max-content;
    max-width: min(320px, calc(100vw - 56px));
    padding: 9px 11px;
    border-radius: 9px;
    background: #30343c;
    color: #fff;
    content: attr(data-tooltip);
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    box-shadow: 0 8px 20px rgba(32, 36, 44, 0.2);
}

.auth-page .auth-input-tooltip:hover::before,
.auth-page .auth-input-tooltip:hover::after,
.auth-page .auth-input-tooltip:focus-within::before,
.auth-page .auth-input-tooltip:focus-within::after {
    visibility: visible;
    opacity: 1;
}

.auth-page .auth-input-tooltip:hover::before,
.auth-page .auth-input-tooltip:focus-within::before {
    transform: translateY(0) rotate(45deg);
}

.auth-page .auth-input-tooltip:hover::after,
.auth-page .auth-input-tooltip:focus-within::after {
    transform: translateY(0);
}

.auth-page .auth-help-details {
    margin: 0 0 12px;
}

.auth-page .auth-help-question {
    color: #7b808a;
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}

.auth-page .auth-help-question:hover {
    color: #555b66;
}

.auth-page .auth-help-question:focus-visible {
    border-radius: 6px;
    outline: 3px solid rgba(255, 87, 77, 0.2);
    outline-offset: 3px;
}

.auth-page .auth-help-panel {
    margin-top: 12px;
    padding: 16px;
    border: 1px solid #ffd8d4;
    border-radius: 14px;
    background: #fff8f7;
    color: #4b505a;
    font-size: 0.91rem;
    line-height: 1.55;
}

.auth-page .auth-help-panel p {
    margin: 0 0 10px;
}

.auth-page .auth-help-panel ul {
    margin: 0 0 10px;
    padding-left: 20px;
}

.auth-page .auth-help-panel li + li {
    margin-top: 4px;
}

.auth-primary-button.btn-four {
    display: inline-flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--auth-coral), #ff6c62);
    box-shadow: 0 12px 24px rgba(255, 87, 77, 0.22);
    color: #fff;
    font: 700 1rem/1 'Gilroy', system-ui, sans-serif;
    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease;
}

.auth-primary-button.btn-four:hover,
.auth-primary-button.btn-four:focus-visible {
    background: linear-gradient(135deg, var(--auth-coral-dark), #f75e55);
    box-shadow: 0 14px 28px rgba(255, 87, 77, 0.28);
    color: #fff;
    transform: translateY(-1px);
}

.auth-primary-button.btn-four:disabled {
    opacity: 0.65;
    transform: none;
}

.auth-secondary-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #ffd0cc;
    border-radius: 14px;
    background: #fff;
    color: #b63831;
    font-weight: 600;
}

.auth-secondary-button:hover,
.auth-secondary-button:focus-visible {
    border-color: var(--auth-coral);
    background: var(--auth-coral-soft);
    color: var(--auth-coral-dark);
}

.auth-danger-button {
    display: inline-flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 0;
    border-radius: 14px;
    background: #c93636;
    box-shadow: 0 12px 24px rgba(201, 54, 54, 0.2);
    color: #fff;
    font-weight: 700;
}

.auth-danger-button:hover,
.auth-danger-button:focus-visible {
    background: #ac2929;
    color: #fff;
}

.auth-danger-button:disabled {
    opacity: 0.5;
    box-shadow: none;
}

.auth-page .auth-scope-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.auth-page .auth-scope-list li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid var(--auth-line);
    border-radius: 12px;
    background: #fafafb;
    color: #555b66;
    font-size: 0.9rem;
    font-weight: 600;
}

.auth-page .auth-scope-list i {
    color: var(--auth-coral-dark);
}

.auth-page .auth-preference-option {
    margin-bottom: 14px;
    padding: 17px 18px;
    border: 1.5px solid var(--auth-line);
    border-radius: 16px;
    background: #fbfbfc;
    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}

.auth-page .auth-preference-option:has(.form-check-input:checked) {
    border-color: #ffc2bc;
    background: #fff9f8;
}

.auth-page .auth-preference-option:has(.form-check-input:focus-visible) {
    box-shadow: 0 0 0 3px rgba(255, 87, 77, 0.14);
}

.auth-page .auth-preference-option__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.auth-page .auth-preference-option__content {
    min-width: 0;
}

.auth-page .auth-preference-option__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 3px;
    color: var(--auth-ink);
    font-weight: 600;
}

.auth-page .auth-preference-option__title i {
    color: var(--auth-coral-dark);
}

.auth-page .auth-preference-option__description {
    color: var(--auth-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.auth-page .auth-preference-option .form-switch {
    min-height: 0;
    padding-left: 0;
}

.auth-page .auth-preference-option .form-check-input {
    width: 44px;
    height: 25px;
    margin: 0;
    border-color: #d8dbe1;
    background-color: #d8dbe1;
    box-shadow: none;
    cursor: pointer;
}

.auth-page .auth-preference-option .form-check-input:checked {
    border-color: var(--auth-coral);
    background-color: var(--auth-coral);
}

.auth-page .auth-preference-status {
    display: block;
    margin-top: 11px;
    font-size: 0.82rem;
    line-height: 1.45;
}

.auth-page .auth-preference-status--pending {
    color: #96681b;
}

.auth-page .auth-preference-status--rejected {
    color: #b43831;
}

.notification-preferences-page .auth-page__column {
    width: min(100%, 760px);
}

.notification-preferences-card {
    --mascot-coral: #ff574d;
    --mascot-coral-light: #ff8c6f;
    --mascot-peach: #ffe5df;
    --mascot-ink: #343740;
}

.notification-preferences-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.78fr);
    align-items: center;
    gap: clamp(18px, 4vw, 38px);
    margin-bottom: 28px;
}

.notification-preferences-hero .auth-card__heading {
    margin: 0;
    text-align: left;
}

.notification-preferences-eyebrow {
    display: inline-block;
    margin-bottom: 9px;
    color: var(--auth-coral-dark);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.notification-preferences-summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding: 8px 11px;
    border: 1px solid #ffd3cd;
    border-radius: 999px;
    background: #fff7f5;
    color: #8e3a34;
    font-size: 0.78rem;
    font-weight: 700;
}

.notification-preferences-summary i {
    color: var(--auth-coral);
}

.notification-mascot {
    --eye-x: 0px;
    --eye-y: 0px;
    position: relative;
    width: min(100%, 270px);
    min-height: 210px;
    justify-self: center;
    isolation: isolate;
}

.notification-mascot__blob {
    position: absolute;
    z-index: -1;
    inset: 17px 4px 6px;
    border-radius: 44% 56% 47% 53% / 55% 45% 55% 45%;
    background:
        radial-gradient(circle at 72% 24%, rgba(255, 255, 255, 0.72) 0 8px, transparent 9px),
        linear-gradient(145deg, #fff0ed, #ffe0d9);
    animation: notification-blob 8s ease-in-out infinite alternate;
}

.notification-mascot svg {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.notification-mascot__character {
    transform-origin: 160px 206px;
}

.notification-mascot__paper {
    fill: #fff;
    stroke: var(--mascot-ink);
    stroke-width: 4px;
}

.notification-mascot__envelope-back {
    fill: var(--mascot-coral-light);
    stroke: var(--mascot-ink);
    stroke-linejoin: round;
    stroke-width: 4px;
}

.notification-mascot__envelope-fold {
    fill: var(--mascot-coral);
    stroke: var(--mascot-ink);
    stroke-linejoin: round;
    stroke-width: 4px;
}

.notification-mascot__envelope-line {
    fill: none;
    stroke: var(--mascot-ink);
    stroke-linecap: round;
    stroke-width: 4px;
}

.notification-mascot__eyes > circle:not(.notification-mascot__pupil) {
    fill: #fff;
    stroke: var(--mascot-ink);
    stroke-width: 3px;
}

.notification-mascot__pupil {
    fill: var(--mascot-ink);
    transform: translate(var(--eye-x), var(--eye-y));
    transition: transform 80ms linear;
}

.notification-mascot__brow,
.notification-mascot__mouth {
    fill: none;
    stroke: var(--mascot-ink);
    stroke-linecap: round;
    stroke-width: 4px;
    transform-box: fill-box;
    transform-origin: center;
    transition: transform 220ms ease;
}

.notification-mascot__mouth {
    display: none;
}

.notification-mascot[data-state='happy'] .notification-mascot__mouth--happy,
.notification-mascot[data-state='calm'] .notification-mascot__mouth--calm,
.notification-mascot[data-state='silent'] .notification-mascot__mouth--silent {
    display: block;
}

.notification-mascot[data-state='happy'] .notification-mascot__brow--left {
    transform: rotate(7deg) translateY(-2px);
}

.notification-mascot[data-state='happy'] .notification-mascot__brow--right {
    transform: rotate(-7deg) translateY(-2px);
}

.notification-mascot[data-state='silent'] .notification-mascot__brow--left {
    transform: rotate(-12deg) translateY(4px);
}

.notification-mascot[data-state='silent'] .notification-mascot__brow--right {
    transform: rotate(12deg) translateY(4px);
}

.notification-mascot__badge {
    fill: #fff;
    stroke: var(--mascot-ink);
    stroke-width: 4px;
    transition:
        fill 220ms ease,
        transform 220ms ease;
    transform-box: fill-box;
    transform-origin: center;
}

.notification-mascot__badge-check {
    fill: none;
    stroke: var(--mascot-coral);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 5px;
    transition: stroke 220ms ease;
}

.notification-mascot[data-state='silent'] .notification-mascot__badge {
    fill: var(--mascot-peach);
    transform: scale(0.9);
}

.notification-mascot[data-state='silent'] .notification-mascot__badge-check {
    stroke: #bb4a43;
}

.notification-mascot__sparkles {
    fill: none;
    stroke: var(--mascot-coral);
    stroke-linecap: round;
    stroke-width: 4px;
    opacity: 0.7;
    transform-origin: center;
}

.notification-mascot.is-reacting .notification-mascot__character {
    animation: notification-react 420ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.notification-mascot.is-saving .notification-mascot__character {
    animation: notification-saving 340ms ease-in-out infinite;
}

.notification-mascot__confetti {
    position: absolute;
    z-index: 2;
    top: 52%;
    left: 50%;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.notification-mascot__confetti span {
    position: absolute;
    width: 8px;
    height: 12px;
    border-radius: 3px;
    background: var(--confetti-color);
    opacity: 0;
}

.notification-mascot.is-celebrating .notification-mascot__character {
    animation: notification-celebrate 700ms 180ms cubic-bezier(0.2, 0.85, 0.25, 1);
}

.notification-mascot.is-celebrating .notification-mascot__sparkles {
    animation: notification-sparkle 850ms ease-in-out 2;
}

.notification-mascot.is-celebrating .notification-mascot__confetti span {
    animation: notification-confetti 1050ms calc(var(--confetti-index, 0) * 45ms) ease-out both;
}

.notification-mascot__confetti span:nth-child(2) { --confetti-index: 1; }
.notification-mascot__confetti span:nth-child(3) { --confetti-index: 2; }
.notification-mascot__confetti span:nth-child(4) { --confetti-index: 3; }
.notification-mascot__confetti span:nth-child(5) { --confetti-index: 4; }
.notification-mascot__confetti span:nth-child(6) { --confetti-index: 5; }
.notification-mascot__confetti span:nth-child(7) { --confetti-index: 6; }
.notification-mascot__confetti span:nth-child(8) { --confetti-index: 7; }

@keyframes notification-blob {
    from {
        border-radius: 44% 56% 47% 53% / 55% 45% 55% 45%;
        transform: rotate(-2deg) scale(0.98);
    }

    to {
        border-radius: 55% 45% 58% 42% / 43% 55% 45% 57%;
        transform: rotate(2deg) scale(1.02);
    }
}

@keyframes notification-react {
    0%, 100% { transform: translateY(0) scale(1); }
    45% { transform: translateY(-7px) scale(1.015); }
}

@keyframes notification-saving {
    0%, 100% { transform: rotate(-1deg); }
    50% { transform: rotate(1deg); }
}

@keyframes notification-celebrate {
    0%, 100% { transform: translateY(0) scale(1); }
    35% { transform: translateY(-18px) rotate(-2deg) scale(1.025); }
    60% { transform: translateY(0) rotate(1deg); }
    78% { transform: translateY(-7px); }
}

@keyframes notification-sparkle {
    0%, 100% { opacity: 0.7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.18) rotate(5deg); }
}

@keyframes notification-confetti {
    0% {
        opacity: 1;
        transform: translate(0, 0) rotate(0);
    }

    75% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate(var(--confetti-x), var(--confetti-y)) rotate(320deg);
    }
}

@media (max-width: 767.98px) {
    .notification-preferences-hero {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 24px;
    }

    .notification-preferences-hero .auth-card__heading {
        text-align: center;
    }

    .notification-preferences-summary {
        margin-top: 14px;
    }

    .notification-mascot {
        width: min(78vw, 250px);
        min-height: 182px;
        margin-top: -8px;
    }

    .notification-preferences-page .auth-preference-option {
        padding: 15px 14px;
    }
}

.notification-preferences-page .auth-page__column {
    width: min(100%, 760px);
}

.notification-preferences-card {
    padding-top: 24px;
}

.unsubscribe-animation {
    --unsubscribe-coral: #ff0000;
    --unsubscribe-coral-dark: #2e186a;
    --unsubscribe-coral-soft: #fe7624;
    --unsubscribe-cloud: #f5f3fb;
    --eye-x: 0px;
    --eye-y: 0px;
    width: min(100%, 540px);
    margin: -10px auto 16px;
}

.notification-preferences-hero .unsubscribe-animation {
    width: min(100%, 285px);
    margin: 0;
    justify-self: center;
}

.unsubscribe-animation [fill='#543093'] {
    fill: var(--unsubscribe-coral-dark);
}

.unsubscribe-animation [stroke='#543093'] {
    stroke: var(--unsubscribe-coral-dark);
}

.unsubscribe-animation [fill='#d960ae'] {
    fill: var(--unsubscribe-coral);
}

.unsubscribe-animation [fill='#f3c1df'] {
    fill: var(--unsubscribe-coral-soft);
}

.unsubscribe-animation [fill='#eddfeb'] {
    fill: var(--unsubscribe-cloud);
}

.unsubscribe-animation [stroke='#eddfeb'] {
    stroke: var(--unsubscribe-cloud);
}

.unsubscribe-animation__svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

#unsubscribe-envelope,
#unsubscribe-paper-group,
#unsubscribe-eye-group,
#unsubscribe-mouth,
.unsubscribe-brow,
.unsubscribe-happy-brows {
    transform-box: fill-box;
    transform-origin: center;
}

#unsubscribe-envelope,
#unsubscribe-paper-group,
#unsubscribe-eye-group,
#unsubscribe-mouth,
.unsubscribe-brow,
.unsubscribe-happy-brows,
.unsubscribe-mouth {
    transition:
        opacity 180ms linear,
        transform 200ms linear;
}

#unsubscribe-eyes {
    transform: translate(var(--eye-x), var(--eye-y));
    transition: transform 80ms linear;
}

.unsubscribe-mouth,
.unsubscribe-tongue,
.unsubscribe-laughing-eyes,
.unsubscribe-happy-brows {
    opacity: 0;
    pointer-events: none;
}

.unsubscribe-mouth--neutral {
    opacity: 1;
}

.unsubscribe-animation.is-scared .unsubscribe-mouth--neutral,
.unsubscribe-animation.is-happy .unsubscribe-mouth--neutral,
.unsubscribe-animation.is-sad .unsubscribe-mouth--neutral,
.unsubscribe-animation.is-laughing .unsubscribe-mouth--neutral {
    opacity: 0;
}

.unsubscribe-animation.is-scared .unsubscribe-mouth--scared,
.unsubscribe-animation.is-happy .unsubscribe-mouth--happy,
.unsubscribe-animation.is-sad .unsubscribe-mouth--sad,
.unsubscribe-animation.is-laughing .unsubscribe-mouth--laughing,
.unsubscribe-animation.is-laughing .unsubscribe-tongue,
.unsubscribe-animation.is-laughing .unsubscribe-laughing-eyes {
    opacity: 1;
}

.unsubscribe-animation.is-scared #unsubscribe-paper-group {
    transform: translateY(15px);
}

.unsubscribe-animation.is-scared #unsubscribe-eye-group,
.unsubscribe-animation.is-scared #unsubscribe-mouth {
    transform: translateY(5px);
}

.unsubscribe-animation.is-scared .unsubscribe-brow {
    transform: translateY(5px);
}

.unsubscribe-animation.is-happy #unsubscribe-mouth {
    transform: translateY(10px);
}

.unsubscribe-animation.is-happy .unsubscribe-brow {
    opacity: 0;
}

.unsubscribe-animation.is-happy .unsubscribe-happy-brows {
    opacity: 1;
    transform: translateY(-10px);
}

.unsubscribe-animation.is-sad #unsubscribe-eye-group {
    transform: translateY(15px);
}

.unsubscribe-animation.is-sad .unsubscribe-brow {
    transform: translateY(10px);
}

.unsubscribe-animation.is-laughing #unsubscribe-eyes {
    opacity: 0;
}

.unsubscribe-animation.is-laughing .unsubscribe-brow {
    opacity: 0;
}

.unsubscribe-animation.is-laughing #unsubscribe-eye-group {
    transform: translateY(10px);
}

.unsubscribe-animation.is-shaking #unsubscribe-envelope {
    animation: unsubscribe-shake 85ms linear infinite alternate;
}

.unsubscribe-animation.is-jumping #unsubscribe-envelope {
    animation: unsubscribe-happy-jump 1.9s 500ms linear infinite;
}

.unsubscribe-confetti-piece {
    opacity: 0;
    transform-box: fill-box;
    transform-origin: center;
}

.unsubscribe-animation.is-celebrating .unsubscribe-confetti-piece {
    animation: unsubscribe-confetti 3s var(--confetti-delay) linear infinite;
}

.notification-preferences-card .auth-card__heading .auth-card__title {
    font-size: clamp(1.65rem, 4vw, 2rem);
    letter-spacing: 0.015em;
}

.notification-preferences-card .auth-card__heading .auth-card__description {
    letter-spacing: 0.025em;
}

@keyframes unsubscribe-shake {
    from { transform: translateX(-4px); }
    to { transform: translateX(4px); }
}

@keyframes unsubscribe-happy-jump {
    0%, 15.8%, 31.6%, 47.4%, 100% { transform: translateY(0); }
    7.9% { transform: translateY(-20px); }
    23.7% { transform: translateY(-10px); }
    39.5% { transform: translateY(-5px); }
}

@keyframes unsubscribe-confetti {
    0% {
        opacity: 0;
        transform: translate(0, 0) rotate(0);
    }

    4%, 72% {
        opacity: var(--confetti-opacity);
    }

    100% {
        opacity: 0;
        transform: translate(var(--confetti-x), var(--confetti-y)) rotate(360deg);
    }
}

@media (max-width: 767.98px) {
    .notification-preferences-card {
        padding-top: 14px;
    }

    .notification-preferences-eyebrow,
    #notificationPreferencesDescription {
        display: none;
    }

    .unsubscribe-animation {
        width: min(100%, 360px);
        margin: -14px auto 2px;
    }

    .notification-preferences-hero .unsubscribe-animation {
        width: min(78vw, 285px);
        margin: -8px auto 0;
    }
}

.auth-card a:not(.btn) {
    color: var(--auth-coral-dark);
    font-weight: 600;
}

.auth-card a:not(.btn):hover {
    color: #bd342d;
}

.auth-recaptcha-notice {
    margin: 16px 0 0;
    color: #989da6;
    font-size: 0.72rem;
    line-height: 1.35;
    text-align: center;
}

.auth-card .auth-terms a,
.auth-card .auth-terms a:hover,
.auth-card .auth-terms a:focus-visible {
    color: inherit;
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 10px 0;
    color: #989da6;
    font-size: 0.85rem;
}

.auth-divider::before,
.auth-divider::after {
    height: 1px;
    flex: 1;
    background: var(--auth-line);
    content: '';
}

.auth-login-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    border: 0;
    border-radius: 14px;
    background: #f3f3f5;
}

.auth-login-tabs .nav-item {
    min-width: 0;
}

.auth-login-tabs .nav-link {
    width: 100%;
    min-height: 44px;
    padding: 9px 10px;
    border: 0;
    border-radius: 11px;
    color: #696f79;
    font-weight: 600;
}

.auth-login-tabs .nav-link:hover {
    border: 0;
    color: var(--auth-coral-dark);
}

.auth-login-tabs .nav-link.active {
    border: 0;
    background: #fff;
    box-shadow: 0 3px 12px rgba(37, 40, 47, 0.08);
    color: var(--auth-coral-dark);
}

.auth-page .btn-show-password {
    position: absolute;
    top: 50%;
    right: 12px;
    display: grid;
    width: 36px;
    height: 36px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #777d87;
    transform: translateY(-50%);
}

.auth-page .btn-show-password:hover {
    background: #f3f3f5;
    color: var(--auth-coral-dark);
}

.auth-page .verification-method-toggle .btn-group {
    gap: 4px;
    padding: 4px;
    border-radius: 14px;
    background: #f3f3f5;
}

.auth-page .verification-method-toggle .btn-method {
    flex: 1;
    min-height: 46px;
    padding: 9px 12px;
    border: 0;
    border-radius: 11px !important;
    background: transparent;
    color: #696f79;
    font-weight: 600;
}

.auth-page .verification-method-toggle .btn-method:hover {
    border: 0;
    background: #fff;
    color: var(--auth-coral-dark);
}

.auth-page .verification-method-toggle .btn-method.active {
    border: 0;
    background: #fff;
    box-shadow: 0 3px 12px rgba(37, 40, 47, 0.08);
    color: var(--auth-coral-dark);
}

.auth-page .custom-radio-wrapper {
    position: relative;
    display: flex;
    min-height: 50px;
    align-items: center;
    padding: 12px 14px;
    border: 1.5px solid var(--auth-line);
    border-radius: 14px;
    background: #fbfbfc;
    transition:
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease;
}

.auth-page .custom-radio-wrapper:hover,
.auth-page .custom-radio-wrapper:has(input:checked) {
    border-color: #ffb7b1;
    background: #fff8f7;
}

.auth-page .custom-radio-wrapper:has(input:focus-visible) {
    box-shadow: 0 0 0 3px rgba(255, 87, 77, 0.14);
}

.auth-page .custom-radio-wrapper input[type='radio'] {
    margin-right: 8px;
    accent-color: var(--auth-coral);
}

.auth-page .custom-radio-wrapper input[type='radio']:checked + label {
    color: var(--auth-coral-dark);
    font-weight: 600;
}

.auth-page .file-upload-control {
    position: relative;
    overflow: hidden;
    border: 1.5px solid var(--auth-line);
    border-radius: 14px;
    background: #fbfbfc;
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.auth-page .file-upload-control:focus-within {
    border-color: var(--auth-coral);
    box-shadow: 0 0 0 3px rgba(255, 87, 77, 0.14);
}

.auth-page .file-upload-input {
    position: absolute;
    z-index: 2;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.auth-page .file-upload-display {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    gap: 12px;
    padding: 8px;
    background: transparent;
    cursor: pointer;
    user-select: none;
}

.auth-page .file-upload-button {
    display: inline-flex;
    align-items: center;
    padding: 9px 13px;
    border-radius: 10px;
    background: var(--auth-coral-soft);
    color: var(--auth-coral-dark);
    font-weight: 600;
    white-space: nowrap;
}

.auth-page .file-upload-text {
    min-width: 0;
    flex: 1;
    overflow: hidden;
    color: var(--auth-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.auth-page .file-upload-text.has-file {
    color: var(--auth-ink);
    font-weight: 500;
}

.auth-page .file-upload-control.disabled {
    opacity: 0.6;
    pointer-events: none;
}

.auth-page .file-upload-control.has-error {
    border-color: #dc3545;
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.12);
}

.auth-page .file-upload-control.has-error .file-upload-button {
    background: #fff0ef;
    color: #b52d26;
}

.auth-page .auth-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.auth-page .auth-identity-panel,
.auth-page .auth-info-panel {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    padding: 14px 16px;
    border: 1px solid var(--auth-line);
    border-radius: 14px;
    background: #fafafb;
}

.auth-page .auth-info-panel {
    align-items: flex-start;
    background: #fff8f7;
    border-color: #ffd8d4;
    color: #545963;
    font-size: 0.91rem;
    line-height: 1.5;
}

.auth-page .auth-identity-panel__icon,
.auth-page .auth-info-panel__icon {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 11px;
    background: var(--auth-coral-soft);
    color: var(--auth-coral-dark);
}

.auth-page .auth-identity-panel__label {
    display: block;
    color: var(--auth-muted);
    font-size: 0.8rem;
}

.auth-page .auth-identity-panel__value {
    display: block;
    overflow: hidden;
    color: var(--auth-ink);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.auth-page .auth-form-actions {
    display: grid;
    gap: 10px;
}

.auth-page .auth-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 18px;
    color: #686e78 !important;
    font-weight: 600;
    text-decoration: none;
}

.auth-page .auth-back-link:hover {
    color: var(--auth-coral-dark) !important;
}

.auth-page .auth-check-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #626873;
    font-size: 0.9rem;
    line-height: 1.45;
}

.auth-page .auth-check-row input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 2px;
    accent-color: var(--auth-coral);
}

.auth-page--profile.fancy-short-banner-three {
    display: block;
    min-height: 650px;
    padding: clamp(28px, 4vw, 54px) 0 clamp(60px, 7vw, 90px);
    overflow: visible;
}

.auth-profile-navigation {
    margin-bottom: 22px;
}

.auth-profile-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 560px);
    margin: 0 auto;
    padding: 5px;
    border: 1px solid rgba(255, 87, 77, 0.1);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 10px 32px rgba(78, 43, 40, 0.08);
    backdrop-filter: blur(14px);
}

.auth-profile-tabs .nav-link {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 12px;
    color: #6c727d;
    font-weight: 600;
}

.auth-profile-tabs .nav-link:hover {
    color: var(--auth-coral-dark);
}

.auth-profile-tabs .nav-link.active {
    background: #fff;
    box-shadow: 0 4px 14px rgba(37, 40, 47, 0.09);
    color: var(--auth-coral-dark);
}

.auth-profile-content .profile-tab-content > .row {
    --bs-gutter-x: 22px;
    --bs-gutter-y: 22px;
}

.auth-page--profile .auth-profile-card {
    overflow: visible;
    padding: 26px;
    border-radius: 24px;
}

.auth-page--profile .auth-profile-card::before {
    display: none;
}

.auth-page--profile .auth-profile-card--compact {
    padding: 22px;
}

.auth-page--profile .auth-profile-card .card-header {
    background: transparent !important;
}

.auth-page--profile .auth-profile-card .card-header h4 {
    display: flex;
    align-items: center;
    color: var(--auth-ink);
    font-size: 1.15rem;
    letter-spacing: -0.015em;
}

.auth-page--profile .auth-profile-card .card-header h4 i {
    color: var(--auth-coral-dark);
}

.auth-page--profile .auth-profile-card .divider {
    height: 1px;
    margin: 15px 0 20px;
    background: var(--auth-line);
}

.auth-page--profile .auth-profile-card .card-body {
    padding: 0;
}

.auth-page--profile .auth-profile-card--main > .card-header:not(:first-child) {
    margin-top: 28px;
}

.auth-page--profile #profileInformation > .row,
.auth-page--profile #educationDisplay > .row {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 12px;
}

.auth-page--profile #profileInformation .input-group-meta,
.auth-page--profile #educationDisplay .input-group-meta {
    height: 100%;
    min-height: 78px;
    margin-bottom: 0 !important;
    padding: 13px 14px;
    border: 1px solid var(--auth-line);
    border-radius: 14px;
    background: #fafafb;
}

.auth-page--profile #profileInformation .input-group-meta label,
.auth-page--profile #educationDisplay .input-group-meta label {
    margin: 0 !important;
    color: var(--auth-muted);
    font-size: 0.8rem;
    font-weight: 500;
}

.auth-page--profile #profileInformation .input-group-meta label i,
.auth-page--profile #educationDisplay .input-group-meta label i {
    color: var(--auth-coral-dark);
}

.auth-page--profile #profileInformation .input-group-meta .ps-4,
.auth-page--profile #educationDisplay .input-group-meta .ps-4 {
    margin-top: 5px;
    padding-left: 0 !important;
    color: var(--auth-ink);
    font-size: 0.94rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.auth-page--profile .profile-email-value {
    display: block;
}

.auth-page--profile .profile-email-verification {
    margin-top: 6px;
}

.auth-page--profile .profile-email-verification__link {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 5px 9px;
    border: 1px solid #ffd0cc;
    border-radius: 9px;
    background: #fff;
    color: var(--auth-coral-dark) !important;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
}

.auth-page--profile .profile-email-verification__link:hover {
    border-color: var(--auth-coral);
    background: var(--auth-coral-soft);
}

.auth-page--profile #editEducationBtn,
.auth-page--profile .btn-outline-custom {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #ffd0cc;
    border-radius: 12px;
    background: #fff;
    color: var(--auth-coral-dark);
    font-weight: 600;
}

.auth-page--profile #editEducationBtn:hover,
.auth-page--profile .btn-outline-custom:hover {
    border-color: var(--auth-coral);
    background: var(--auth-coral-soft);
    color: var(--auth-coral-dark);
}

.auth-page--profile .auth-profile-card--compact .d-grid {
    gap: 9px !important;
}

.auth-page--profile .auth-profile-card--compact .d-grid .btn {
    min-height: 44px;
    padding: 9px 12px;
    border-color: #e2e3e7;
    border-radius: 12px;
    background: #fff;
    color: #3f434a !important;
    font-size: 0.88rem !important;
    font-weight: 600;
}

.auth-page--profile .auth-profile-card--compact .d-grid .btn:hover {
    border-color: #cfd1d6;
    background: #f5f5f7;
    color: #272a30 !important;
}

.auth-page--profile .auth-profile-card--compact .auth-profile-delete-link {
    border-color: #e2e3e7;
    background: #fff;
    color: #3f434a;
}

.auth-page--profile .auth-profile-card--compact .auth-profile-delete-link:hover {
    border-color: #cfd1d6;
    background: #f5f5f7;
    color: #272a30;
}

.auth-page--profile .auth-profile-card--compact .btn-warning {
    border-color: #ffd8d4;
    background: var(--auth-coral-soft);
    color: var(--auth-coral-dark);
}

.auth-page--profile .auth-profile-card--compact .alert {
    margin-bottom: 12px;
}

.auth-page--profile .auth-profile-card--compact .card-body.fs-14 {
    color: var(--auth-muted);
}

.auth-page--profile .auth-profile-card--compact .card-body.fs-14 strong {
    color: var(--auth-ink);
}

.auth-page--profile #educationEdit .auth-primary-button,
.auth-page--profile #educationEdit .btn-four {
    min-height: 52px;
}

.auth-page--profile #educationEdit .auth-education-update-form {
    padding: 18px;
    border: 1px solid var(--auth-line);
    border-radius: 16px;
    background: #fafafb;
}

.auth-page--profile #educationEdit .auth-education-update-form .input-group-meta {
    display: block;
}

.auth-page--profile #educationEdit .auth-education-update-form .input-group-meta > .position-relative {
    width: 100%;
    padding-left: 0 !important;
}

.auth-page--profile #educationEdit .auth-education-info {
    align-items: center;
    margin-bottom: 18px !important;
}

.auth-page--profile #educationEdit .auth-education-update-form .form-label {
    margin-bottom: 8px;
    color: #404550;
    font-size: 0.88rem;
    font-weight: 600;
    text-transform: none;
}

.auth-page--profile #educationEdit .auth-education-update-form .form-control.with-icon {
    height: 56px;
    padding: 0 48px 0 17px;
    border: 1.5px solid var(--auth-line);
    border-radius: 14px;
    background: #fff;
    color: var(--auth-ink);
    font-size: 1rem;
}

.auth-page--profile #educationEdit .auth-education-update-form .form-control:focus {
    border-color: var(--auth-coral);
    box-shadow: 0 0 0 3px rgba(255, 87, 77, 0.14);
}

.auth-page--profile #educationEdit .auth-education-update-form .input-icon {
    right: 17px;
    left: auto;
    color: #8c919b;
}

@media (max-width: 767.98px) {
    .auth-shell-wrapper {
        display: flow-root;
        overflow-x: clip;
        overflow-y: visible;
    }

    .auth-page.fancy-short-banner-three {
        box-sizing: border-box;
        min-height: calc(var(--mobile-stable-viewport-height, 100svh) - 176px);
        padding: 22px 0 !important;
        overflow: visible;
    }

    .auth-page > .container {
        padding-right: 12px;
        padding-left: 12px;
    }

    .auth-card {
        padding: 30px 18px 26px;
        border-radius: 22px;
    }

    .auth-card__accent {
        display: none;
    }

    .auth-card__heading {
        margin-bottom: 24px;
    }

    .auth-card__icon {
        width: 44px;
        height: 44px;
        margin-bottom: 12px;
        border-radius: 14px;
    }

    .auth-card__title {
        font-size: 1.85rem;
    }

    .auth-card__description {
        font-size: 0.94rem;
    }

    .auth-page .auth-form-grid,
    .auth-page .auth-scope-list {
        grid-template-columns: 1fr;
    }

    .auth-login-tabs .nav-link {
        font-size: 0.9rem;
    }

    .auth-page .user-data-form .input-group-meta .form-control {
        font-size: 16px;
    }

    .auth-page .verification-method-toggle .btn-method {
        padding-right: 7px;
        padding-left: 7px;
        font-size: 0.86rem;
    }

    .auth-page--profile.fancy-short-banner-three {
        min-height: calc(var(--mobile-stable-viewport-height, 100svh) - 176px);
        padding: 20px 0 34px !important;
    }

    .auth-profile-navigation {
        display: none;
    }

    .auth-page--profile .auth-profile-card,
    .auth-page--profile .auth-profile-card--compact {
        padding: 22px 18px;
        border-radius: 22px;
    }

    .auth-page--profile .auth-profile-card .card-header h4 {
        font-size: 1.05rem;
    }

    .auth-page--profile .auth-profile-card .card-body {
        padding: 0 !important;
    }

    .auth-page--profile .auth-profile-card--main > .card-header:not(:first-child) {
        margin-top: 24px;
    }

    .auth-page--profile #profileInformation > .row,
    .auth-page--profile #educationDisplay > .row {
        --bs-gutter-y: 0;
    }

    .auth-page--profile #profileInformation .input-group-meta,
    .auth-page--profile #educationDisplay .input-group-meta {
        display: grid;
        min-height: 56px;
        grid-template-columns: minmax(118px, 38%) minmax(0, 1fr);
        align-items: center;
        column-gap: 10px;
        padding: 10px 2px;
        border: 0;
        border-bottom: 1px solid var(--auth-line);
        border-radius: 0;
        background: transparent;
    }

    .auth-page--profile #profileInformation > .row > div:last-child .input-group-meta,
    .auth-page--profile #educationDisplay > .row > div:last-child .input-group-meta {
        border-bottom: 0;
    }

    .auth-page--profile #profileInformation .input-group-meta label,
    .auth-page--profile #educationDisplay .input-group-meta label {
        min-width: 0;
        white-space: nowrap;
        font-size: 0.72rem;
    }

    .auth-page--profile #profileInformation .input-group-meta > div,
    .auth-page--profile #educationDisplay .input-group-meta > div {
        min-width: 0;
        margin: 0;
        padding: 0 !important;
    }

    .auth-page--profile #profileInformation .input-group-meta .ps-4,
    .auth-page--profile #educationDisplay .input-group-meta .ps-4,
    .auth-page--profile #profileInformation .input-group-meta span,
    .auth-page--profile #educationDisplay .input-group-meta span {
        font-size: clamp(0.72rem, 2.9vw, 0.8rem);
        white-space: nowrap;
    }

    .auth-page--profile #profileInformation .input-group-meta .ps-4,
    .auth-page--profile #educationDisplay .input-group-meta .ps-4 {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .auth-page--profile .profile-email-field {
        grid-template-rows: auto auto;
        min-height: 100px !important;
        align-items: center;
    }

    .auth-page--profile .profile-email-field > .ps-4 {
        display: contents;
    }

    .auth-page--profile .profile-email-value {
        overflow: hidden;
        text-overflow: ellipsis;
        grid-column: 2;
    }

    .auth-page--profile .profile-email-verification {
        width: 100%;
        margin-top: 8px;
        grid-column: 1 / -1;
    }

    .auth-page--profile .profile-email-verification__link {
        width: 100%;
        min-height: 38px;
        justify-content: center;
        white-space: nowrap;
        text-align: center;
    }

    .auth-page--profile #educationEdit .auth-education-update-form {
        padding: 16px;
        border-radius: 14px;
    }

    .auth-page--profile #educationEdit .auth-education-update-form .form-label {
        font-size: 0.82rem;
    }

    .auth-page--profile #educationEdit .auth-education-update-form .form-control.with-icon {
        height: 52px;
        font-size: 16px;
    }
}

/* Coupon wallet */
.auth-page--coupons.fancy-short-banner-three {
    display: block;
    min-height: 650px;
    padding: clamp(28px, 4vw, 54px) 0 clamp(60px, 7vw, 90px);
    overflow: visible;
    animation: auth-coupons-background-pan 36s ease-in-out infinite alternate;
}

.auth-page--coupons.fancy-short-banner-three::before {
    animation: auth-coupons-background-depth-pan 48s ease-in-out infinite alternate;
}

@keyframes auth-coupons-background-pan {
    0% {
        background-position: calc(50% - 19px) calc(50% - 1.3px);
    }

    50% {
        background-position: calc(50% + 19px) calc(50% + 1.3px);
    }

    100% {
        background-position: 50% 50%;
    }
}

@keyframes auth-coupons-background-depth-pan {
    0% {
        background-position: calc(50% + 36px) calc(50% - 1.5px);
        transform: scale(1.049);
    }

    50% {
        background-position: calc(50% - 36px) calc(50% + 1.5px);
        transform: scale(1.051);
    }

    100% {
        background-position: 50% 50%;
        transform: scale(1.05);
    }
}

.auth-coupon-toolbar {
    margin-bottom: 22px;
    padding: 25px 27px;
    overflow: visible;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(78, 43, 40, 0.08);
}

.auth-coupon-toolbar__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.auth-coupon-toolbar__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: var(--auth-coral-dark);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.auth-coupon-toolbar h1 {
    margin: 0;
    color: var(--auth-ink);
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
    font-weight: 700;
    letter-spacing: -0.035em;
}

.auth-coupon-toolbar p {
    margin: 5px 0 0;
    color: var(--auth-muted);
    font-size: 0.88rem;
}

.auth-coupon-summary {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: repeat(2, minmax(105px, 1fr));
    gap: 8px;
}

.auth-coupon-summary span {
    display: grid;
    min-height: 58px;
    align-content: center;
    padding: 8px 14px;
    border: 1px solid var(--auth-line);
    border-radius: 15px;
    background: #fafafb;
    color: var(--auth-muted);
    font-size: 0.7rem;
    line-height: 1.2;
}

.auth-coupon-summary strong {
    margin-bottom: 2px;
    color: var(--auth-ink);
    font-size: 1.15rem;
    line-height: 1;
}

.auth-coupon-toolbar__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--auth-line);
}

.auth-page--coupons .coupon-filter-group {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--auth-line);
    border-radius: 14px;
    background: #f5f5f7;
}

.auth-page--coupons .coupon-filter-pill {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #727782;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    transition:
        color 180ms ease,
        background 180ms ease,
        box-shadow 180ms ease;
}

.auth-page--coupons .coupon-filter-pill:hover {
    color: var(--auth-coral-dark);
}

.auth-page--coupons .coupon-filter-pill.is-active {
    background: #fff;
    box-shadow: 0 3px 11px rgba(34, 38, 46, 0.08);
    color: var(--auth-coral-dark);
}

.auth-page--coupons .auth-coupon-search {
    position: relative;
    display: block;
    width: min(100%, 330px);
    flex: 0 1 330px;
    margin: 0;
}

.auth-page--coupons .auth-coupon-search input {
    width: 100%;
    height: 46px;
    padding: 0 16px 0 45px;
    border: 1px solid var(--auth-line);
    border-radius: 14px;
    outline: 0;
    background: #fbfbfc;
    color: var(--auth-ink);
    font-family: inherit;
    font-size: 0.86rem;
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.auth-page--coupons .auth-coupon-search input:focus {
    border-color: var(--auth-coral);
    box-shadow: 0 0 0 3px rgba(255, 87, 77, 0.12);
}

.auth-page--coupons .auth-coupon-search .icon {
    top: 50%;
    left: 16px;
    width: 17px;
    transform: translateY(-50%);
    opacity: 0.52;
}

.auth-coupon-list .filter-container {
    --bs-gutter-x: 22px;
    --bs-gutter-y: 22px;
}

.auth-coupon-item {
    display: flex;
    margin-top: 12px;
    margin-bottom: 12px;
}

.auth-coupon-item > .item {
    display: flex;
    width: 100%;
}

.auth-page--coupons .auth-coupon-card {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 87, 77, 0.11);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 16px 44px rgba(78, 43, 40, 0.075);
}

.auth-page--coupons .auth-coupon-card:hover {
    border-color: rgba(255, 87, 77, 0.18);
    box-shadow: 0 19px 50px rgba(78, 43, 40, 0.095);
}

.auth-page--coupons .auth-coupon-card::before {
    position: absolute;
    z-index: 1;
    inset: 0 0 auto;
    height: 4px;
    border-radius: 22px 22px 0 0;
    background: linear-gradient(90deg, #ff574d, #ff8c6f 56%, #ffc1ad);
    content: '';
}

.auth-page--coupons .auth-coupon-card .card-body {
    position: relative;
    z-index: 2;
    padding: 23px !important;
}

.auth-page--coupons .auth-coupon-card picture,
.auth-page--coupons .auth-coupon-card picture img,
.auth-page--coupons .auth-coupon-card .card-body > .mb-3 > img {
    width: auto;
    max-width: 150px;
    height: auto;
    max-height: 50px;
    object-fit: contain;
}

.auth-page--coupons .coupon-title {
    margin-top: 15px !important;
    line-height: 1.35;
}

.auth-page--coupons .coupon-title a {
    color: var(--auth-ink);
    font-size: 0.95rem;
    font-weight: 700;
}

.auth-page--coupons .coupon-title a:hover {
    color: var(--auth-coral-dark);
}

.auth-page--coupons .auth-coupon-card .bg-light {
    border: 1px solid var(--auth-line);
    border-radius: 14px !important;
    background: #fafafb !important;
}

.auth-page--coupons .auth-coupon-card .bg-success {
    border: 1px solid #bfe7d1;
    border-radius: 14px !important;
    background: #f0fbf5 !important;
    color: #207447 !important;
}

.auth-page--coupons .auth-coupon-card .bg-secondary {
    border: 1px solid #dedfe4;
    border-radius: 14px !important;
    background: #f1f2f4 !important;
    color: #676c76 !important;
}

.auth-page--coupons .auth-coupon-card .btn-outline-custom,
.auth-page--coupons .auth-coupon-card .trial-button {
    border: 1px solid rgba(255, 87, 77, 0.34);
    border-radius: 11px;
    background: #fff;
    color: var(--auth-coral-dark);
    box-shadow: none;
}

.auth-page--coupons .auth-coupon-card .btn-outline-custom:hover,
.auth-page--coupons .auth-coupon-card .trial-button:hover {
    background: var(--auth-coral-soft);
    color: var(--auth-coral-dark);
}

.auth-page--coupons .auth-coupon-card > .card-body > .d-flex.justify-content-between:last-child {
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--auth-line);
    font-size: 0.72rem;
}

.auth-page--coupons .auth-coupon-card--expired {
    border: 2px solid #d4d6dc;
    background: #f1f2f4 !important;
    box-shadow: none;
    filter: grayscale(0.72) saturate(0.35);
    opacity: 0.76;
}

.auth-page--coupons .auth-coupon-card--expired:hover {
    border-color: #c4c7ce;
    box-shadow: none;
}

.auth-page--coupons .auth-coupon-expired-badge {
    position: relative;
    z-index: 3;
    display: inline-flex;
    min-height: 30px;
    margin: 20px 23px 0;
    padding: 5px 11px;
    align-items: center;
    gap: 7px;
    border: 1px solid #c9cbd1;
    border-radius: 999px;
    background: #e1e2e6;
    color: #555962;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.auth-page--coupons .auth-coupon-card--expired .card-body {
    padding-top: 14px !important;
}

.auth-page--coupons .auth-coupon-card--expired::before {
    background: #c7c9cf;
}

.auth-page--coupons .auth-coupon-list [class*='empty-state-'] > div {
    margin: 0;
    padding: clamp(42px, 7vw, 72px) 24px !important;
    border: 1px solid rgba(255, 87, 77, 0.11);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 20px 60px rgba(78, 43, 40, 0.07);
}

.auth-page--coupons .auth-coupon-list [class*='empty-state-'] i[style] {
    color: #b2b4bc !important;
    font-size: 3rem !important;
}

.auth-page--coupons .auth-coupon-list [class*='empty-state-'] h4 {
    color: var(--auth-ink) !important;
    font-size: 1.2rem;
}

.auth-page--coupons .auth-coupon-list [class*='empty-state-'] .btn-primary {
    min-height: 46px;
    padding: 0 20px;
    border: 0;
    border-radius: 12px;
    background: var(--auth-coral);
    box-shadow: 0 10px 24px rgba(255, 87, 77, 0.2);
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .auth-page--coupons.fancy-short-banner-three {
        min-height: calc(var(--mobile-stable-viewport-height, 100svh) - 176px);
        padding: 20px 0 34px !important;
    }

    .auth-coupons-content > .container {
        padding-right: 12px;
        padding-left: 12px;
    }

    .auth-coupon-toolbar {
        margin-bottom: 14px;
        padding: 18px;
        border-radius: 20px;
    }

    .auth-coupon-toolbar__heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
    }

    .auth-coupon-toolbar h1 {
        font-size: 1.35rem;
        white-space: nowrap;
    }

    .auth-coupon-summary {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 5px 12px;
        margin-top: 0;
    }

    .auth-coupon-summary span {
        display: inline-flex;
        min-height: 0;
        align-items: baseline;
        gap: 4px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        font-size: 0.67rem;
        white-space: nowrap;
    }

    .auth-coupon-summary strong {
        margin: 0;
        font-size: 0.95rem;
    }

    .auth-coupon-toolbar__controls {
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-top: 14px;
        padding-top: 14px;
    }

    .auth-page--coupons .coupon-filter-group {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .auth-page--coupons .coupon-filter-pill {
        min-width: 0;
        padding: 0 5px;
        font-size: 16px;
        white-space: nowrap;
    }

    .auth-page--coupons .auth-coupon-search {
        width: 100% !important;
        max-width: none !important;
        height: 48px;
        flex-basis: auto;
        justify-self: stretch;
    }

    .auth-page--coupons .auth-coupon-search input {
        height: 48px;
        font-size: 16px;
    }

    .auth-page--coupons .auth-coupon-search input::placeholder {
        font-size: 14px;
    }

    .auth-coupon-list .filter-container {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }

    .auth-coupon-item {
        margin-top: 8px;
        margin-bottom: 8px;
    }

    .auth-page--coupons .auth-coupon-card {
        border-radius: 20px;
    }

    .auth-page--coupons .auth-coupon-card .card-body {
        padding: 20px 18px !important;
    }

    .auth-page--coupons .auth-coupon-card > .card-body > .d-flex.justify-content-between:last-child {
        flex-wrap: wrap;
        row-gap: 5px;
    }

    .auth-page--coupons .auth-coupon-list [class*='empty-state-'] > div {
        padding: 44px 18px !important;
        border-radius: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .auth-page *,
    .auth-page *::before,
    .auth-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
