/* =========================================================
   ISTOREA SPECIAL OFFERS — v1.3.0
   Created and Designed by Kshitiz Jain
   ========================================================= */

.iso-offers,
.iso-offers *,
.iso-offers *::before,
.iso-offers *::after { box-sizing:border-box; }

.iso-offers {
    --iso-bg:#010101;
    --iso-panel:#0a0a09;
    --iso-gold:#dcb44a;
    --iso-gold-soft:#edd378;
    --iso-ivory:#f4efe7;
    --iso-line:rgba(255,255,255,.10);
    --iso-line-gold:rgba(220,180,74,.24);
    position:relative;
    width:100%;
    overflow:hidden;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(220,180,74,.04), transparent 42%),
        linear-gradient(180deg,#020202 0%,#000000 100%);
    color:var(--iso-ivory);
    padding:16px 0 28px;
    isolation:isolate;
}

.iso-offers__ambient {
    position:absolute; inset:0; pointer-events:none; z-index:0;
    background:
        radial-gradient(circle at 14% 38%, rgba(220,180,74,.07), transparent 16%),
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.02), transparent 18%),
        radial-gradient(circle at 92% 48%, rgba(220,180,74,.025), transparent 18%);
}

.iso-offers__inner {
    position:relative;
    z-index:1;
    width:min(1900px, calc(100% - 14px));
    margin:0 auto;
}

.iso-offers__head {
    text-align:center;
    margin:0 auto 16px;
    max-width:1200px;
}

.iso-offers__eyebrow {
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(220,180,74,.82);
    font:700 8px/1 Arial,Helvetica,sans-serif;
    letter-spacing:.42em;
    text-transform:uppercase;
    margin-bottom:4px;
}
.iso-offers__eyebrow span { display:none; }
.iso-offers__eyebrow:empty { display:none; }

.iso-offers__head h2 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(54px,4.5vw,86px);
    line-height:.90;
    font-weight:700;
    letter-spacing:-.055em;
    text-transform:uppercase;
}

.iso-offers__head h2 span {
    color:#f5f1ea;
    text-shadow:0 0 10px rgba(255,255,255,.18), 0 0 28px rgba(255,255,255,.08);
}

.iso-offers__head h2 em {
    color:var(--iso-gold);
    font-style:normal;
    text-shadow:none;
}

.iso-offers__subtitle {
    margin:8px auto 0;
    color:rgba(244,239,231,.46);
    font:400 12px/1.5 Arial,Helvetica,sans-serif;
    letter-spacing:.06em;
}
.iso-offers__subtitle:empty { display:none; }

.iso-offers__rail {
    display:grid;
    grid-template-columns:1.02fr 1fr 1fr 1fr;
    gap:14px;
    align-items:stretch;
}

.iso-offer {
    position:relative;
    min-height:376px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:26px 26px 22px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:32px;
    background:linear-gradient(180deg,#090909 0%, #060606 100%);
    box-shadow:0 12px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.02);
    transition:transform .32s ease, border-color .32s ease, box-shadow .32s ease;
}

.iso-offer::before {
    content:"";
    position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(circle at 16% 10%, rgba(255,255,255,.02), transparent 24%);
}

.iso-offer__index { display:none; }
.iso-offer__body { position:relative; z-index:2; display:flex; flex-direction:column; height:100%; }

.iso-offer__icon {
    width:42px; height:42px; flex:0 0 42px;
    display:flex; align-items:center; justify-content:center;
    border-radius:50%;
    border:1px solid rgba(220,180,74,.78);
    color:var(--iso-gold);
    margin-bottom:18px;
    background:rgba(220,180,74,.035);
}
.iso-offer__icon svg {
    width:20px; height:20px;
    fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round;
}

.iso-offer h3 {
    margin:0;
    color:var(--iso-gold);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(23px,1.85vw,34px);
    line-height:1.04;
    font-weight:700;
    letter-spacing:-.03em;
}

.iso-offer__label {
    margin:6px 0 0;
    color:inherit;
    font-family:Georgia,"Times New Roman",serif;
    font-size:16px;
    line-height:1.15;
    font-weight:700;
}

.iso-offer__note {
    margin:16px 0 0;
    color:rgba(244,239,231,.42);
    font:700 10px/1.35 Arial,Helvetica,sans-serif;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.iso-offer__lead {
    margin:10px 0 0;
    color:rgba(244,239,231,.94);
    font:600 14px/1.35 Georgia,"Times New Roman",serif;
}

.iso-offer__discount {
    display:flex;
    align-items:flex-end;
    gap:8px;
    margin:14px 0 0;
    color:var(--iso-gold);
}
.iso-offer__discount strong {
    font:700 clamp(48px,3.6vw,66px)/.84 Georgia,"Times New Roman",serif;
    letter-spacing:-.07em;
}
.iso-offer__discount span {
    padding-bottom:7px;
    font:700 14px/1 Georgia,"Times New Roman",serif;
}

.iso-offer__value {
    display:grid;
    grid-template-columns:1fr 34px 1fr;
    align-items:center;
    margin:16px 0 2px;
}
.iso-offer__value > div:not(.iso-offer__arrow) { display:flex; flex-direction:column; align-items:center; gap:5px; }
.iso-offer__value small {
    color:rgba(244,239,231,.86);
    font:700 9px/1 Arial,Helvetica,sans-serif;
    letter-spacing:.08em;
}
.iso-offer__value strong {
    color:var(--iso-gold);
    font:700 28px/1 Georgia,"Times New Roman",serif;
    text-shadow:0 0 10px rgba(220,180,74,.08);
}
.iso-offer__arrow {
    color:#f2ede4;
    text-align:center;
    font:400 28px/1 Georgia,"Times New Roman",serif;
}

.iso-offer__group-line {
    margin:10px 0 10px;
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    color:#f3eee6;
    font:600 14px/1.35 Georgia,"Times New Roman",serif;
}
.iso-offer__group-line strong {
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 14px;
    border-radius:999px;
    background:#010101;
    color:var(--iso-gold);
    font:700 14px/1 Georgia,"Times New Roman",serif;
}

.iso-offer__list {
    list-style:none;
    margin:14px 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:12px;
}
.iso-offer__list li {
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:11px;
    color:#f2ede4;
    font:600 12px/1.36 Georgia,"Times New Roman",serif;
}

.iso-offer__list li > span:not(.iso-offer__bullet):not(.iso-offer__white-dot) {
    width:18px; height:18px; flex:0 0 18px;
    display:flex; align-items:center; justify-content:center;
    margin-top:1px;
    border:1px solid rgba(220,180,74,.48);
    border-radius:50%;
    color:inherit;
}
.iso-offer__list li > span svg { width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:1.7; }
.iso-offer__bullet,
.iso-offer__white-dot {
    width:8px; height:8px; flex:0 0 8px; border-radius:50%; margin-top:5px;
}
.iso-offer__bullet { background:var(--iso-gold); }
.iso-offer__white-dot { background:#fff; }

.iso-offer__list--dash { gap:11px; }
.iso-offer__list--dash li {
    display:block;
    padding-left:18px;
    line-height:1.45;
}
.iso-offer__list--dash li::before {
    content:"—";
    position:absolute;
    left:0;
    top:0;
    color:#f3eee6;
}

.iso-offer__cta {
    position:relative;
    z-index:3;
    margin-top:auto;
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    border-radius:999px;
    text-decoration:none!important;
    color:#0a0804!important;
    background:linear-gradient(180deg,#dfba56 0%, #d9b24c 100%);
    border:1px solid rgba(255,223,132,.34);
    font:700 10px/1 Arial,Helvetica,sans-serif;
    letter-spacing:.16em;
    text-transform:uppercase;
    box-shadow:none;
}
.iso-offer__cta::before,
.iso-offer__cta b { display:none; }

.iso-offer--featured {
    color:#070604;
    border-color:rgba(255,228,138,.55);
    background:linear-gradient(180deg,#eccb6b 0%, #e3bc54 100%);
    box-shadow:0 0 34px rgba(220,180,74,.18), 0 12px 30px rgba(0,0,0,.26);
}
.iso-offer--featured::before {
    background:radial-gradient(circle at 0% 0%, rgba(255,255,255,.15), transparent 42%);
}
.iso-offer--featured .iso-offer__icon { display:none; }
.iso-offer--featured h3,
.iso-offer--featured .iso-offer__label,
.iso-offer--featured .iso-offer__list li,
.iso-offer--featured .iso-offer__lead,
.iso-offer--featured .iso-offer__group-line,
.iso-offer--featured .iso-offer__group-line span { color:#0a0804; }
.iso-offer--featured .iso-offer__list li > span { color:#0a0804; border-color:rgba(0,0,0,.30)!important; }
.iso-offer__icon--dark { color:#0a0804; border-color:rgba(0,0,0,.28); background:rgba(0,0,0,.05); }
.iso-offer__list--dark li > span { color:#0a0804; border-color:rgba(0,0,0,.36)!important; }
.iso-offer__cta--dark {
    background:#040404;
    border-color:#040404;
    color:var(--iso-gold)!important;
}
.iso-offer__shine {
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 16% 14%, rgba(255,255,255,.12), transparent 28%);
}

@media (hover:hover) and (pointer:fine) {
    .iso-offer:hover {
        transform:translateY(-6px);
        border-color:rgba(220,180,74,.36);
        box-shadow:0 22px 50px rgba(0,0,0,.36), 0 0 20px rgba(220,180,74,.03);
    }
    .iso-offer--featured:hover {
        box-shadow:0 0 36px rgba(220,180,74,.22), 0 22px 50px rgba(0,0,0,.28);
    }
}

.iso-offers__mobile-meta { display:none; }

@media (max-width:1420px) {
    .iso-offers__inner { width:min(1700px, calc(100% - 12px)); }
    .iso-offers__rail { gap:12px; }
    .iso-offer { padding:24px 22px 20px; min-height:368px; }
    .iso-offer h3 { font-size:clamp(21px,1.7vw,30px); }
}

@media (max-width:1199px) {
    .iso-offers { padding:18px 0 26px; }
    .iso-offers__rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .iso-offer { min-height:390px; }
}

@media (max-width:767px) {
    .iso-offers {
        padding:28px 0 36px;
        overflow:visible;
    }
    .iso-offers__inner { width:100%; }
    .iso-offers__head { margin-bottom:18px; padding:0 14px; }
    .iso-offers__eyebrow { font-size:6px; letter-spacing:.28em; margin-bottom:6px; }
    .iso-offers__head h2 { font-size:clamp(38px,13vw,56px); line-height:.92; }
    .iso-offers__subtitle { font-size:10px; }

    .iso-offers__rail {
        display:flex;
        gap:12px;
        overflow-x:auto;
        padding:0 14px 8px;
        scroll-snap-type:x mandatory;
        -ms-overflow-style:none;
        scrollbar-width:none;
    }
    .iso-offers__rail::-webkit-scrollbar { display:none; }

    .iso-offer {
        flex:0 0 84vw;
        min-height:400px;
        scroll-snap-align:center;
        border-radius:28px;
        padding:24px 20px 18px;
    }
    .iso-offer__icon { width:40px; height:40px; flex-basis:40px; margin-bottom:16px; }
    .iso-offer__icon svg { width:18px; height:18px; }
    .iso-offer h3 { font-size:clamp(26px,8vw,38px); }
    .iso-offer__label { font-size:15px; }
    .iso-offer__discount strong { font-size:56px; }
    .iso-offer__discount span { font-size:15px; padding-bottom:7px; }
    .iso-offer__lead { font-size:15px; }
    .iso-offer__value strong { font-size:26px; }
    .iso-offer__value { grid-template-columns:1fr 32px 1fr; }
    .iso-offer__group-line { font-size:14px; }
    .iso-offer__group-line strong { min-height:28px; font-size:13px; }
    .iso-offer__list li { font-size:13px; }
    .iso-offer__cta { min-height:40px; }

    .iso-offers__mobile-meta {
        display:flex;
        align-items:center;
        justify-content:center;
        gap:12px;
        padding:8px 18px 0;
        color:rgba(244,239,231,.58);
        font:700 10px/1 Arial,Helvetica,sans-serif;
        letter-spacing:.16em;
        text-transform:uppercase;
    }
    .iso-offers__progress {
        width:88px; height:2px; overflow:hidden; border-radius:999px;
        background:rgba(255,255,255,.12);
    }
    .iso-offers__progress i {
        display:block; width:100%; height:100%; transform-origin:left center; transform:scaleX(.25);
        background:linear-gradient(90deg,#d8af49,#f0cf73);
    }
}

@media (max-width:420px) {
    .iso-offer { flex-basis:88vw; min-height:390px; padding:22px 18px 18px; }
    .iso-offer__discount strong { font-size:52px; }
    .iso-offer__list li { font-size:12px; }
}
