/* =========================================================
   WAVE HOME — EDITORIAL LUXURY SYSTEM
========================================================= */

.wave-editorial-hero {
    position: relative;
    min-height: 820px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #061c2b;
    color: #fff;
}

.wave-hero-photo {
    position: absolute;
    inset: 0;
    background-image: url("../images/lifestyle/hero-pour.jpg");
    background-size: cover;
    background-position: 67% center;
    transform: scale(1.02);
}

.wave-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(2, 18, 30, .88) 0%, rgba(2, 18, 30, .58) 40%, rgba(2, 18, 30, .08) 74%),
        linear-gradient(180deg, rgba(1, 12, 20, .18), rgba(1, 12, 20, .35));
}

.wave-hero-content {
    position: relative;
    z-index: 2;
    padding: 150px 0 100px;
}

.wave-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #9adcf2;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.wave-kicker.blue {
    color: var(--blue);
}

.wave-editorial-hero h1 {
    max-width: 760px;
    margin-top: 20px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(58px, 8vw, 104px);
    line-height: .9;
    letter-spacing: -6px;
}

.wave-editorial-hero h1 em,
.wave-standard-heading h2 em {
    color: #8fd9ef;
    font-style: normal;
}

.wave-editorial-hero p {
    max-width: 560px;
    margin-top: 28px;
    color: rgba(255, 255, 255, .76);
    font-size: 16px;
    line-height: 1.8;
}

.wave-hero-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 34px;
    flex-wrap: wrap;
}

.wave-text-link {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.wave-text-link i {
    margin-left: 7px;
    color: #7ed4ed;
}

.wave-trust-bar {
    position: relative;
    z-index: 3;
    margin-top: -1px;
    background: #071f31;
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.wave-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.wave-trust-grid > div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 22px 20px;
    border-right: 1px solid rgba(255, 255, 255, .08);
}

.wave-trust-grid > div:last-child {
    border-right: 0;
}

.wave-trust-grid i {
    color: #73cbe5;
    font-size: 16px;
}

.wave-trust-grid strong,
.wave-trust-grid small {
    display: block;
}

.wave-trust-grid strong {
    color: #fff;
    font-size: 11px;
}

.wave-trust-grid small {
    margin-top: 2px;
    color: rgba(255,255,255,.48);
    font-size: 9px;
}

.wave-stories {
    background: #081a28;
}

.wave-story {
    min-height: 610px;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
}

.wave-story.reverse {
    grid-template-columns: .85fr 1.15fr;
}

.wave-story-image {
    position: relative;
    min-height: 610px;
    overflow: hidden;
}

.wave-story-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4,17,28,.0) 58%, rgba(4,17,28,.18) 100%);
}

.wave-story.reverse .wave-story-image::after {
    background: linear-gradient(270deg, rgba(4,17,28,.0) 58%, rgba(4,17,28,.18) 100%);
}

.wave-story-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .8s ease;
}

.wave-story:hover .wave-story-image img {
    transform: scale(1.035);
}

.wave-story-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 72px clamp(34px, 6vw, 110px);
}

.wave-story-dark {
    background: #071926;
    color: #fff;
}

.wave-story-light {
    background: #f7fbfd;
    color: var(--blue-dark);
}

.wave-story-warm {
    background: #241a14;
    color: #fff;
}

.wave-story-green {
    background: #10261f;
    color: #fff;
}

.wave-story-number {
    color: #79cee8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.wave-story-copy h2 {
    max-width: 600px;
    margin-top: 18px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(38px, 4.5vw, 70px);
    line-height: .97;
    letter-spacing: -4px;
}

.wave-story-copy p {
    max-width: 510px;
    margin-top: 24px;
    color: rgba(255,255,255,.68);
    font-size: 14px;
    line-height: 1.9;
}

.wave-story-light .wave-story-copy p {
    color: #62798a;
}

.wave-story-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    align-self: flex-start;
    margin-top: 28px;
    color: #8dd9ef;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.1px;
}

.wave-story-light .wave-story-link {
    color: var(--blue);
}

.wave-featured-wrap {
    padding-top: 110px;
    padding-bottom: 110px;
}

.wave-standard-panel {
    padding: 130px 0;
    background:
        radial-gradient(circle at 80% 10%, rgba(41,169,207,.16), transparent 28%),
        #f5fafc;
}

.wave-standard-heading h2 {
    margin-top: 14px;
    color: var(--blue-dark);
    font-family: "Manrope", sans-serif;
    font-size: clamp(44px, 5vw, 72px);
    line-height: .96;
    letter-spacing: -5px;
}

.wave-standard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 58px;
}

.wave-standard-grid > div {
    padding: 30px;
    min-height: 220px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(6,44,73,.05);
}

.wave-standard-grid span {
    color: var(--blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.wave-standard-grid h3 {
    margin-top: 28px;
    color: var(--blue-dark);
    font-family: "Manrope", sans-serif;
    font-size: 21px;
}

.wave-standard-grid p {
    margin-top: 8px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.7;
}

.wave-final-cta {
    padding: 150px 0;
    text-align: center;
    color: #fff;
    background:
        linear-gradient(135deg, rgba(1,22,36,.82), rgba(7,88,116,.88)),
        url("../images/lifestyle/hero-pour.jpg") center / cover;
}

.wave-final-cta h2 {
    margin-top: 16px;
    font-family: "Manrope", sans-serif;
    font-size: clamp(44px, 5vw, 72px);
    line-height: .98;
    letter-spacing: -4px;
}

.wave-final-cta p {
    max-width: 650px;
    margin: 20px auto 30px;
    color: rgba(255,255,255,.72);
}


/* =========================================================
   REAL LIFESTYLE IMAGE TUNING
========================================================= */

.wave-hero-photo {
    background-position: center center;
}

.wave-story-image img {
    object-fit: cover;
    object-position: center center;
}

.wave-story:nth-child(1) .wave-story-image img {
    object-position: center 52%;
}

.wave-story:nth-child(2) .wave-story-image img {
    object-position: center center;
}

.wave-story:nth-child(3) .wave-story-image img {
    object-position: center 42%;
}

.wave-story:nth-child(4) .wave-story-image img {
    object-position: center center;
}

.wave-story:nth-child(5) .wave-story-image img {
    object-position: center 48%;
}

.wave-story:nth-child(6) .wave-story-image img {
    object-position: center center;
}

.wave-story-family {
    min-height: 640px;
    grid-template-columns: 1.05fr .95fr;
}

.wave-story-family .wave-story-image {
    min-height: 640px;
}

.wave-story-family .wave-story-copy {
    background:
        linear-gradient(145deg, #0b1d2b, #123c53);
}

@media (max-width: 950px) {
    .wave-story-family {
        grid-template-columns: 1fr;
    }

    .wave-story-family .wave-story-image {
        min-height: 420px;
    }
}

@media (max-width: 650px) {
    .wave-story-family .wave-story-image {
        min-height: 300px;
    }
}

/* Make product cards feel photographic rather than illustrative. */
.product-image {
    height: 235px;
    background: #edf7fa;
}

.product-image::before {
    width: 250px;
    height: 250px;
    background: rgba(255,255,255,.35);
}

.product-emoji {
    width: 100%;
    height: 100%;
    display: block;
    font-size: 0;
    object-fit: cover;
    transition: transform .45s ease;
}

.product-card:hover .product-emoji {
    transform: scale(1.045);
}

/* Cart icon polish */
.cart-button i {
    font-size: 16px;
}

.cart-item-image {
    position: relative;
    overflow: hidden;
}

.cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.cart-item-image.image-missing img {
    display: none;
}

.cart-fallback-icon {
    display: none;
    color: var(--blue);
    font-size: 18px;
}

.cart-item-image.image-missing .cart-fallback-icon {
    display: block;
}

@media (max-width: 950px) {
    .wave-trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .wave-story,
    .wave-story.reverse {
        grid-template-columns: 1fr;
    }

    .wave-story-image {
        min-height: 420px;
        order: 1;
    }

    .wave-story-copy {
        order: 2;
        padding: 58px 6%;
    }

    .wave-story.reverse .wave-story-image,
    .wave-story.reverse .wave-story-copy {
        order: initial;
    }

    .wave-standard-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .wave-editorial-hero {
        min-height: 720px;
    }

    .wave-hero-photo {
        background-position: 62% center;
    }

    .wave-hero-content {
        padding: 130px 0 85px;
    }

    .wave-editorial-hero h1 {
        letter-spacing: -4px;
    }

    .wave-trust-grid {
        grid-template-columns: 1fr;
    }

    .wave-trust-grid > div {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .wave-trust-grid > div:last-child {
        border-bottom: 0;
    }

    .wave-story-image {
        min-height: 300px;
    }

    .wave-story-copy h2 {
        letter-spacing: -2.5px;
    }

    .wave-final-cta {
        padding: 105px 0;
    }
}


/* =========================================================
   WAVE — HOMEPAGE FINAL ART DIRECTION
========================================================= */

.wave-editorial-hero {
    min-height: 860px;
}

.wave-hero-photo {
    background-image: url("../images/lifestyle/hero-option1.jpg");
    background-position: center center;
    background-size: cover;
}

.wave-hero-overlay {
    background:
        linear-gradient(90deg, rgba(2,15,25,.86) 0%, rgba(2,15,25,.60) 36%, rgba(2,15,25,.12) 72%),
        linear-gradient(180deg, rgba(1,12,20,.10), rgba(1,12,20,.38));
}

.wave-editorial-hero h1 {
    max-width: 720px;
}

.wave-story {
    min-height: 660px;
}

.wave-story-image {
    min-height: 660px;
}

.wave-story-morning .wave-story-image img {
    object-position: center center;
}

.wave-story-essentials {
    min-height: 610px;
    grid-template-columns: .95fr 1.05fr;
    background: linear-gradient(135deg, #0a1c2a, #0e3850);
    color: #fff;
}

.wave-story-essentials .wave-story-copy p { color: rgba(255,255,255,.68); }

.wave-essentials-visual {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    background:
        radial-gradient(circle at 40% 35%, rgba(69,201,235,.22), transparent 30%),
        linear-gradient(145deg, #061a28, #0a3145 70%, #0d5570);
    display: grid;
    place-items: center;
}

.essentials-orb {
    position: absolute;
    width: 340px;
    height: 340px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 50%;
    box-shadow: inset 0 0 80px rgba(255,255,255,.04), 0 0 100px rgba(50,197,231,.08);
}

.essentials-icon-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, 150px);
    gap: 16px;
}

.essentials-icon-grid span {
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 140px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 24px;
    background: rgba(255,255,255,.055);
    backdrop-filter: blur(18px);
    color: #fff;
}

.essentials-icon-grid i {
    color: #81d9ef;
    font-size: 28px;
}

.essentials-icon-grid small {
    color: rgba(255,255,255,.68);
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.wave-story-morning {
    background: #101b22;
    color: #fff;
}

.wave-story-morning .wave-story-copy p { color: rgba(255,255,255,.68); }
.wave-story-morning .wave-story-link { color: #8dd9ef; }

@media (max-width: 950px) {
    .wave-story-essentials { grid-template-columns: 1fr; }
    .wave-essentials-visual { min-height: 420px; }
}

@media (max-width: 650px) {
    .wave-editorial-hero { min-height: 760px; }
    .wave-hero-photo { background-position: 60% center; }
    .wave-story,
    .wave-story-essentials { min-height: 0; }
    .wave-story-image,
    .wave-essentials-visual { min-height: 330px; }
    .essentials-icon-grid { grid-template-columns: repeat(2, 120px); }
}


/* =========================================================
   WAVE FINAL EDITORIAL STORY SYSTEM
========================================================= */
.wave-stories{padding:0!important;background:#031a2a!important}
.wave-story{position:relative!important;min-height:640px!important;display:flex!important;align-items:stretch!important;overflow:hidden!important;border-top:1px solid rgba(255,255,255,.08)!important}
.wave-story::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,17,27,.86) 0%,rgba(2,17,27,.54) 39%,rgba(2,17,27,.14) 70%,rgba(2,17,27,.35) 100%);z-index:1;pointer-events:none}
.wave-story.reverse::after{background:linear-gradient(270deg,rgba(2,17,27,.86) 0%,rgba(2,17,27,.54) 39%,rgba(2,17,27,.14) 70%,rgba(2,17,27,.35) 100%)}
.wave-story-image{position:absolute!important;inset:0!important;z-index:0!important}
.wave-story-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;transform:scale(1.01)!important;filter:saturate(.98) contrast(1.02)!important;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s ease!important}
.wave-story:hover .wave-story-image img{transform:scale(1.055)!important;filter:saturate(1.08) contrast(1.05)!important}
.wave-story-copy{position:relative!important;z-index:2!important;max-width:650px!important;width:100%!important;padding:110px 8vw!important;display:flex!important;flex-direction:column!important;justify-content:center!important;color:#fff!important}
.wave-story.reverse .wave-story-copy{margin-left:auto!important;text-align:left!important}
.wave-story-number{color:#58d0f4!important;font-size:11px!important;font-weight:900!important;letter-spacing:3px!important}
.wave-story-copy h2{margin-top:12px!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(45px,6vw,78px)!important;line-height:.94!important;letter-spacing:-3px!important;color:#fff!important;text-shadow:0 10px 40px rgba(0,0,0,.35)!important}
.wave-story-copy p{max-width:520px!important;margin:24px 0 28px!important;color:rgba(255,255,255,.80)!important;font-size:14px!important;line-height:1.9!important}
.wave-story-link{display:inline-flex!important;align-items:center!important;gap:10px!important;color:#fff!important;font-size:11px!important;font-weight:900!important;letter-spacing:1.2px!important;text-transform:uppercase!important}
.wave-story-link:hover{color:#68dbfb!important}
.wave-story-family::after{background:linear-gradient(90deg,rgba(2,17,27,.88),rgba(2,17,27,.36) 55%,rgba(2,17,27,.30))}
.wave-story-essentials::after{background:linear-gradient(270deg,rgba(2,17,27,.90),rgba(2,17,27,.35) 58%,rgba(2,17,27,.25))}
.wave-essentials-visual{position:absolute!important;inset:0!important;z-index:0!important;background:linear-gradient(90deg,rgba(2,17,27,.35),rgba(2,17,27,.78)),url('../images/lifestyle/family-dining.png') center/cover!important}
.wave-essentials-visual .essentials-orb,.wave-essentials-visual .essentials-icon-grid{display:none!important}
.wave-story-morning .wave-story-image img{object-position:center 53%!important}
.wave-story-family .wave-story-image img{object-position:center 42%!important}
.wave-story:nth-child(even){background:#020f19!important}
.wave-featured-wrap{background:#f7fbfd!important}
.wave-final-cta{background:linear-gradient(135deg,#041f34,#0a5f80)!important;color:#fff!important}
@media (max-width:850px){.wave-story{min-height:590px!important}.wave-story-copy,.wave-story.reverse .wave-story-copy{margin:0!important;padding:90px 26px 70px!important;max-width:none!important}.wave-story::after,.wave-story.reverse::after{background:linear-gradient(180deg,rgba(2,17,27,.28),rgba(2,17,27,.86) 70%)!important}.wave-story-copy h2{font-size:48px!important;letter-spacing:-2px!important}.wave-story-copy p{font-size:13px!important}}
