/*
 * Saiwa Gostar — premium hero slider polish
 * Local stylesheet; no external CDN or assets required.
 */

/* The slider sits above a soft ambient shadow instead of touching the page edges. */
.hero-slider {
    --slider-duration: 6800ms;
    position: relative;
    isolation: isolate;
    width: min(calc(100% - 40px), 1680px);
    margin: clamp(22px, 3.2vw, 42px) auto clamp(42px, 5.2vw, 76px);
    overflow: visible !important;
    border-radius: 30px;
    background: transparent;
    color: #fff;
    box-shadow:
        0 28px 76px rgba(16, 31, 46, .20),
        0 9px 24px rgba(16, 31, 46, .10);
}

/* Colorful, blurred ambient shadow behind the whole slider. */
.hero-slider::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 34px 3% -28px;
    border-radius: 34px;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 15% 20%, rgba(222, 99, 56, .42), transparent 42%),
        radial-gradient(ellipse at 82% 70%, rgba(176, 36, 49, .40), transparent 45%),
        linear-gradient(115deg, rgba(29, 53, 72, .42), rgba(190, 51, 54, .28));
    filter: blur(34px);
    opacity: .86;
    mask-image: none;
}

.hero-slider::after {
    content: "";
    position: absolute;
    z-index: 5;
    top: 0;
    inset-inline: 5%;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
}

.hero-slides {
    position: relative;
    height: clamp(500px, 67svh, 760px);
    min-height: 500px;
    overflow: hidden;
    border-radius: 30px;
    background:
        radial-gradient(ellipse at 14% 88%, rgba(219, 93, 52, .18), transparent 38%),
        linear-gradient(130deg, #152431, #273b4a);
}

.hero-slide {
    overflow: hidden;
    border-radius: inherit;
    transform: translateY(7px) scale(1.004);
    transition:
        opacity .65s ease,
        transform .85s cubic-bezier(.2,.7,.2,1),
        visibility .65s ease;
}

.hero-slide.is-active {
    transform: translateY(0) scale(1);
}

.hero-slide-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: #dfe5e8;
}

.hero-slide-backdrop img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: var(--hero-image-position, center center);
    opacity: 1 !important;
    filter: none !important;
    transform: scale(1.018);
    transition: transform 8s cubic-bezier(.2,.7,.2,1);
    will-change: transform;
}

.hero-slide.is-active .hero-slide-backdrop img {
    transform: scale(1);
}

/* Keep the photograph clear; place contrast only behind text, not over the entire image. */
.hero-slide-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            270deg,
            rgba(7, 16, 24, var(--hero-overlay, .18)) 0%,
            rgba(7, 16, 24, .14) 30%,
            rgba(7, 16, 24, .045) 59%,
            transparent 82%
        ),
        linear-gradient(0deg, rgba(7, 16, 24, .20), transparent 26%);
}

.hero-slide-grid {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1540px;
    height: 100%;
    margin-inline: auto;
    padding: clamp(28px, 5.2vw, 78px) clamp(24px, 5.5vw, 88px);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0;
}

.hero-slide--background .hero-slide-grid {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.hero-slide-copy {
    position: relative;
    z-index: 2;
    width: min(100%, 760px);
    max-width: 760px;
    margin-inline-start: 0;
    padding: clamp(22px, 3.2vw, 44px);
    border: 1px solid rgba(255,255,255,.30);
    border-radius: 26px;
    background:
        linear-gradient(125deg, rgba(13, 26, 36, .66), rgba(13, 26, 36, .34));
    box-shadow:
        0 22px 55px rgba(5, 14, 22, .19),
        inset 0 1px 0 rgba(255,255,255,.15);
    text-shadow: 0 2px 18px rgba(0,0,0,.22);
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 clamp(12px, 2vw, 22px);
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 999px;
    background: rgba(255,255,255,.15);
    color: #fff;
    font-size: .83rem;
    font-weight: 850;
    letter-spacing: .015em;
}

.hero-kicker > span {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #ffb078;
    box-shadow: 0 0 0 5px rgba(255,176,120,.15), 0 0 18px rgba(255,176,120,.6);
}

.hero-slide-copy h1,
.hero-slide-copy h2 {
    max-width: 15ch;
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(2.1rem, 4.2vw, 4.65rem);
    line-height: 1.26;
    font-weight: 950;
    letter-spacing: -.035em;
    text-wrap: balance;
    text-shadow: 0 4px 24px rgba(0,0,0,.25);
}

.hero-slide-copy .hero-lead {
    max-width: 57ch;
    margin: 0;
    color: rgba(255,255,255,.94);
    font-size: clamp(.98rem, 1.25vw, 1.16rem);
    line-height: 2;
    font-weight: 500;
}

.hero-slide-copy .hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: clamp(20px, 2.7vw, 32px);
}

.hero-slide-copy .btn {
    min-height: 49px;
    padding: 12px 20px;
    border-radius: 14px;
    font-weight: 850;
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.hero-slide-copy .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0,0,0,.19);
}

.hero-slide-copy .btn-primary {
    border: 1px solid rgba(255,255,255,.16);
    background: linear-gradient(135deg, #e86e3d, #bf3038);
    color: #fff;
}

.hero-slide-copy .btn-hero-ghost {
    border: 1px solid rgba(255,255,255,.52);
    background: rgba(255,255,255,.10);
    color: #fff;
}

.hero-slide-copy .btn-hero-ghost:hover {
    background: rgba(255,255,255,.18);
}

.hero-slide--image-only .hero-slide-grid {
    padding: 0;
    pointer-events: none;
}

.hero-slide--image-only .hero-slide-shade {
    background: transparent !important;
}

.hero-slide--image-only .hero-slide-copy {
    display: none;
}

.hero-slide-visual {
    filter: drop-shadow(0 24px 38px rgba(0,0,0,.26));
}

.hero-slider-bottom {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: minmax(100px, 1fr) auto auto;
    align-items: center;
    gap: clamp(14px, 2.6vw, 36px);
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 15px clamp(20px, 4.5vw, 66px);
    border-top: 1px solid rgba(255,255,255,.13);
    border-radius: 0 0 30px 30px;
    background:
        radial-gradient(ellipse at 15% 0%, rgba(210, 75, 57, .15), transparent 52%),
        linear-gradient(110deg, #14232f, #1c2c39);
    color: #fff;
}

.hero-slider-index {
    display: none !important;
}

.hero-slider-progress {
    height: 3px;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(255,255,255,.16);
}

.hero-slider-progress span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f0a25f, #e86e3d, #bd3038);
    transform-origin: right center;
    transform: scaleX(0);
}

.hero-slider-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.hero-slider-dots button {
    display: grid;
    place-items: center;
    width: 25px;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.hero-slider-dots button span {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(255,255,255,.38);
    transition: width .25s ease, background .25s ease, box-shadow .25s ease;
}

.hero-slider-dots button.is-active span {
    width: 23px;
    background: #f2a06a;
    box-shadow: 0 0 14px rgba(242,160,106,.42);
}

.hero-slider-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    direction: ltr;
}

.hero-slider-controls button {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 14px;
    background: rgba(255,255,255,.065);
    color: #fff;
    cursor: pointer;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.hero-slider-controls button:hover:not(:disabled) {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.48);
    background: rgba(255,255,255,.15);
}

.hero-slider-controls button:focus-visible,
.hero-slider-dots button:focus-visible {
    outline: 3px solid #ffb078;
    outline-offset: 3px;
}

.hero-slider-controls button:disabled {
    opacity: .4;
    cursor: not-allowed;
}

.hero-slider-controls svg {
    width: 19px;
    height: 19px;
}

.hero-slider-bottom-line {
    height: 4px;
    overflow: hidden;
    border-radius: 0 0 30px 30px;
    background: linear-gradient(90deg, #b82b35, #e86e3d, #f0b56b);
    box-shadow: 0 5px 14px rgba(184,43,53,.22);
}

@media (min-width: 1500px) {
    .hero-slide-copy h1,
    .hero-slide-copy h2 {
        font-size: clamp(3.5rem, 4vw, 4.8rem);
    }
}

@media (max-width: 900px) {
    .hero-slider {
        width: min(calc(100% - 28px), 1680px);
        margin-block: 20px 46px;
        border-radius: 24px;
    }

    .hero-slides {
        height: clamp(480px, 64svh, 650px);
        min-height: 480px;
        border-radius: 24px 24px 0 0;
    }

    .hero-slide-grid {
        padding: 32px clamp(20px, 4vw, 40px);
    }

    .hero-slide-copy {
        max-width: 650px;
        padding: clamp(20px, 3.5vw, 32px);
        border-radius: 22px;
    }

    .hero-slide-copy h1,
    .hero-slide-copy h2 {
        font-size: clamp(2rem, 5.4vw, 3.6rem);
    }

    .hero-slider-bottom {
        padding: 13px 20px;
        border-radius: 0 0 24px 24px;
    }

    .hero-slider-bottom-line {
        border-radius: 0 0 24px 24px;
    }
}

@media (max-width: 600px) {
    .hero-slider {
        width: calc(100% - 20px);
        margin: 14px auto 38px;
        border-radius: 19px;
        box-shadow: 0 18px 46px rgba(16,31,46,.19), 0 6px 18px rgba(184,43,53,.08);
    }

    .hero-slider::before {
        inset: 24px 4% -18px;
        filter: blur(23px);
        opacity: .72;
    }

    .hero-slides {
        height: clamp(470px, 70svh, 610px);
        min-height: 470px;
        border-radius: 19px 19px 0 0;
    }

    .hero-slide-shade {
        background:
            linear-gradient(0deg, rgba(7,16,24,.70) 0%, rgba(7,16,24,.30) 53%, rgba(7,16,24,.04) 100%) !important;
    }

    .hero-slide-grid {
        align-items: end;
        padding: 24px 16px 26px;
    }

    .hero-slide--background .hero-slide-grid {
        align-items: end;
    }

    .hero-slide-copy {
        width: 100%;
        max-width: none;
        padding: 20px 18px;
        border-radius: 18px;
        background: linear-gradient(145deg, rgba(13,26,36,.72), rgba(13,26,36,.46));
        box-shadow: 0 14px 35px rgba(5,14,22,.18), inset 0 1px 0 rgba(255,255,255,.13);
    }

    .hero-kicker {
        margin-bottom: 10px;
        padding: 6px 10px;
        font-size: .74rem;
    }

    .hero-slide-copy h1,
    .hero-slide-copy h2 {
        max-width: 100%;
        margin-bottom: 10px;
        font-size: clamp(1.75rem, 7.5vw, 2.5rem);
        line-height: 1.35;
    }

    .hero-slide-copy .hero-lead {
        font-size: .9rem;
        line-height: 1.85;
    }

    .hero-slide-copy .hero-actions {
        gap: 8px;
        margin-top: 17px;
    }

    .hero-slide-copy .btn {
        min-height: 43px;
        padding: 9px 13px;
        border-radius: 11px;
        font-size: .84rem;
    }

    .hero-slider-bottom {
        grid-template-columns: minmax(40px, 1fr) auto;
        gap: 10px;
        padding: 10px 13px;
        border-radius: 0 0 19px 19px;
    }

    .hero-slider-progress {
        display: none;
    }

    .hero-slider-dots {
        justify-content: flex-start;
        gap: 3px;
    }

    .hero-slider-dots button {
        width: 20px;
        height: 30px;
    }

    .hero-slider-dots button.is-active span {
        width: 17px;
    }

    .hero-slider-controls {
        gap: 5px;
    }

    .hero-slider-controls button {
        width: 36px;
        height: 36px;
        border-radius: 11px;
    }

    .hero-slider-bottom-line {
        height: 3px;
        border-radius: 0 0 19px 19px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide,
    .hero-slide-backdrop img,
    .hero-slider-controls button,
    .hero-slide-copy .btn,
    .hero-slider-dots button span {
        transition: none !important;
    }
}


/* v6: the complete slider control bar and bottom accent are intentionally removed. */
.hero-slider-bottom,
.hero-slider-bottom-line {
    display: none !important;
}
.hero-slides {
    border-radius: 30px !important;
}
@media (max-width: 900px) {
    .hero-slides { border-radius: 24px !important; }
}
@media (max-width: 600px) {
    .hero-slides { border-radius: 19px !important; }
}


/* ==========================================================
   v7 — Full image visibility + refined editorial typography
   ========================================================== */

/* Preserve the complete source image in front, with a soft ambient fill behind it. */
.hero-slide-backdrop {
    isolation: isolate;
    background:
        radial-gradient(ellipse at 50% 45%, rgba(255,255,255,.18), transparent 62%),
        linear-gradient(135deg, #d8dfe2, #b8c4ca 48%, #d4d9db);
}

.hero-slide-backdrop .hero-slide-backdrop-fill {
    z-index: 0;
    object-fit: cover !important;
    object-position: center center;
    transform: scale(1.06) !important;
    filter: blur(13px) brightness(.78) saturate(.82) !important;
    opacity: .48 !important;
    transition: opacity .6s ease;
}

.hero-slide-backdrop .hero-slide-backdrop-image {
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: left center;
    padding: clamp(8px, 1.3vw, 18px);
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    transition: opacity .5s ease;
    will-change: auto;
}

.hero-slide.is-active .hero-slide-backdrop .hero-slide-backdrop-image {
    transform: none !important;
}

/* A restrained contrast veil; the photo itself stays bright and clear. */
.hero-slide-shade {
    background:
        linear-gradient(
            270deg,
            rgba(7, 16, 24, .12) 0%,
            rgba(7, 16, 24, .10) 29%,
            rgba(7, 16, 24, .025) 54%,
            transparent 76%
        ) !important;
}

/* Reduce the text card's footprint so more of the photograph remains visible. */
.hero-slide-copy {
    width: min(100%, 610px);
    max-width: 610px;
    padding: clamp(22px, 2.8vw, 36px);
    border: 1px solid rgba(255,255,255,.23);
    border-radius: 22px;
    background: linear-gradient(130deg, rgba(17, 30, 39, .48), rgba(17, 30, 39, .25));
    box-shadow:
        0 16px 42px rgba(5, 14, 22, .13),
        inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(5px) saturate(110%);
    -webkit-backdrop-filter: blur(5px) saturate(110%);
    text-shadow: 0 1px 10px rgba(0,0,0,.16);
}

.hero-kicker {
    gap: 9px;
    margin-bottom: clamp(10px, 1.5vw, 17px);
    padding: 7px 12px;
    font-weight: 650;
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.27);
}

.hero-slide-copy h1,
.hero-slide-copy h2 {
    max-width: 14ch;
    margin-bottom: 13px;
    font-size: clamp(2rem, 3.6vw, 3.65rem);
    line-height: 1.32;
    font-weight: 700;
    letter-spacing: -.025em;
    text-shadow: 0 2px 14px rgba(0,0,0,.17);
}

.hero-slide-copy .hero-lead {
    max-width: 54ch;
    font-size: clamp(.96rem, 1.12vw, 1.08rem);
    line-height: 1.95;
    font-weight: 400;
    color: rgba(255,255,255,.93);
}

.hero-slide-copy .hero-actions {
    gap: 10px;
    margin-top: clamp(17px, 2vw, 25px);
}

.hero-slide-copy .btn {
    min-height: 45px;
    padding: 10px 17px;
    border-radius: 12px;
    font-weight: 650;
    box-shadow: 0 7px 17px rgba(0,0,0,.09);
}

.hero-slide-copy .btn:hover {
    box-shadow: 0 10px 22px rgba(0,0,0,.14);
}

/* Desktop/tablet: preserve the whole image and keep copy compact on the RTL side. */
@media (min-width: 901px) {
    .hero-slides {
        height: clamp(480px, 62vw, 620px);
        min-height: 480px;
        max-height: 620px;
    }

    .hero-slide-grid {
        padding-inline: clamp(24px, 4vw, 64px);
    }

    .hero-slide-copy {
        margin-inline-start: 0;
    }
}

@media (max-width: 900px) {
    .hero-slide-backdrop .hero-slide-backdrop-image {
        padding: 8px;
        object-position: center center;
    }

    .hero-slide-copy {
        max-width: 560px;
        padding: clamp(18px, 3vw, 28px);
        border-radius: 19px;
    }

    .hero-slide-copy h1,
    .hero-slide-copy h2 {
        font-size: clamp(1.9rem, 4.8vw, 3rem);
        font-weight: 700;
    }
}

@media (max-width: 600px) {
    .hero-slides {
        height: clamp(520px, 76svh, 650px);
        min-height: 520px;
    }

    .hero-slide-backdrop .hero-slide-backdrop-fill {
        opacity: .35 !important;
        filter: blur(10px) brightness(.78) saturate(.8) !important;
    }

    .hero-slide-backdrop .hero-slide-backdrop-image {
        object-fit: contain !important;
        object-position: center 24%;
        padding: 8px 4px 110px;
    }

    .hero-slide-shade {
        background: linear-gradient(0deg, rgba(7,16,24,.22), transparent 50%) !important;
    }

    .hero-slide-grid,
    .hero-slide--background .hero-slide-grid {
        align-items: end;
        padding: 16px 12px 14px;
    }

    .hero-slide-copy {
        width: 100%;
        max-width: none;
        padding: 16px 15px;
        border-radius: 16px;
        background: linear-gradient(145deg, rgba(17,30,39,.65), rgba(17,30,39,.43));
        backdrop-filter: blur(5px);
        -webkit-backdrop-filter: blur(5px);
    }

    .hero-kicker {
        margin-bottom: 8px;
        padding: 5px 9px;
        font-size: .72rem;
        font-weight: 600;
    }

    .hero-slide-copy h1,
    .hero-slide-copy h2 {
        max-width: 100%;
        margin-bottom: 8px;
        font-size: clamp(1.55rem, 6.4vw, 2.1rem);
        line-height: 1.36;
        font-weight: 700;
    }

    .hero-slide-copy .hero-lead {
        font-size: .86rem;
        line-height: 1.8;
        font-weight: 400;
    }

    .hero-slide-copy .hero-actions {
        margin-top: 13px;
        gap: 7px;
    }

    .hero-slide-copy .btn {
        min-height: 40px;
        padding: 8px 11px;
        font-size: .8rem;
        font-weight: 600;
        border-radius: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide-backdrop .hero-slide-backdrop-fill,
    .hero-slide-backdrop .hero-slide-backdrop-image {
        transition: none !important;
    }
}
