/** Shopify CDN: Minification failed

Line 777:0 Unexpected "}"

**/

  :root{
    --navy:#1B2745;
    --navy-ink:#22303F;
    --sky:#7EA8C4;
    --sky-pale:#C9DCE8;
    --cream:#FAF6EC;
    --sand:#EDE1C8;
    --white:#FFFFFF;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Jost', sans-serif;
    background:var(--cream);
    color:var(--navy-ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Fraunces', serif;
    font-weight:500;
    color:var(--navy);
    line-height:1.1;
  }
  a{text-decoration:none; color:inherit;}
  img{display:block; max-width:100%;}
  .container{max-width:1180px; margin:0 auto; padding:0 28px;}
  ul{list-style:none;}

  /* ---------- Wave divider (signature element) ---------- */
  .wave-divider{width:100%; line-height:0; margin:0;}
  .wave-divider svg{width:100%; height:60px; display:block;}

  /* ---------- Top delivery strip ---------- */
  .top-strip{
  background:var(--navy);
  color:var(--cream);
  overflow:hidden;
  white-space:nowrap;
}

.top-strip-track{
  display:flex;
  width:max-content;
  animation:ouahaj-marquee 18s linear infinite;
}

.top-strip-content{
  display:flex;
  align-items:center;
  flex-shrink:0;
  gap:14px;
  padding:10px 24px;
  font-size:12.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
}

.top-strip-content span{
  white-space:nowrap;
}

.top-strip .sep{
  opacity:.55;
}

@keyframes ouahaj-marquee{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}
  /* ---------- Header ---------- */
  header{
    background:var(--cream);
    padding:18px 0;
    position:sticky; top:0; z-index:50;
    border-bottom:1px solid rgba(27,39,69,0.08);
  }
  .header-row{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
}

.logo-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  left:50%;
  transform:translateX(-50%);
}

.logo-mark img{
  height:90px;
  width:auto;
  display:block;
}
  nav.main-nav ul{display:flex; gap:34px; font-size:14.5px; letter-spacing:0.02em;}
  nav.main-nav a{position:relative; padding-bottom:4px; transition:color .2s;}
  nav.main-nav a:hover{color:var(--sky);}
  .header-cta{
    background:var(--navy); color:var(--cream);
    padding:11px 22px; border-radius:2px;
    font-size:13.5px; letter-spacing:0.04em;
    transition:background .2s;
  }
  .header-cta:hover{background:#0f1a30;}
.nav-toggle{
  display:none;
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  font-size:26px;
  background:none;
  border:none;
  color:var(--navy);
  cursor:pointer;
}
  /* ---------- Hero ---------- */
  .hero{position:relative; overflow:hidden; background:var(--navy);}
  .hero-img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0; opacity:0.88;}
  .hero-inner{
    position:relative; z-index:2;
    min-height:640px;
    display:flex; flex-direction:column; justify-content:flex-end;
    padding:70px 0 90px;
    background:linear-gradient(180deg, rgba(27,39,69,0) 0%, rgba(20,30,54,0.55) 55%, rgba(15,23,43,0.92) 100%);
  }
  .hero-eyebrow{
    color:var(--sky-pale); text-transform:uppercase; letter-spacing:0.22em;
    font-size:12.5px; margin-bottom:18px; font-weight:500;
  }
  .hero h1{
  color:var(--cream);
font-size:clamp(2rem, 4.6vw, 3.8rem);
  max-width:720px;
  font-weight:500;
  line-height:1.05;
  letter-spacing:-0.02em;
}

.hero h1 em{
  font-style:normal;
  color:inherit;
}
  .hero p.sub{
  color:var(--sky-pale);
  font-size:16px;
  max-width:480px;
  margin-top:18px;
  font-family:'Jost', sans-serif;
  font-weight:300;
  line-height:1.5;
}
  .hero-actions{display:flex; gap:16px; margin-top:34px; flex-wrap:wrap;}
  .btn{
    display:inline-block; padding:15px 30px; font-size:14px; letter-spacing:0.05em;
    text-transform:uppercase; font-weight:500; border-radius:2px; transition:all .2s;
    border:1.5px solid transparent; cursor:pointer;
  }
  .btn-primary{background:var(--cream); color:var(--navy);}
  .btn-primary:hover{background:var(--sky-pale);}
  .btn-outline{border-color:var(--cream); color:var(--cream); background:transparent;}
  .btn-outline:hover{background:rgba(250,246,236,0.12);}

  /* ---------- Trust strip ---------- */
  .trust-strip{
    background:var(--white); padding:34px 0; border-bottom:1px solid rgba(27,39,69,0.07);
  }
  .trust-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;
  }
  .trust-item{display:flex; flex-direction:column; align-items:center; gap:8px;}
  .trust-item .ic{font-size:24px;}
  .trust-item span.label{font-size:13px; letter-spacing:0.02em; color:var(--navy-ink); font-weight:500;}

  /* ---------- Section headings ---------- */
  .section{padding:90px 0;}
  .section-tight{padding:60px 0;}
  .eyebrow{
    text-transform:uppercase; letter-spacing:0.2em; font-size:12px; font-weight:600;
    color:var(--sky); margin-bottom:14px; display:block;
  }
  .section-head{max-width:600px; margin-bottom:50px;}
  .section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);}
  .section-head p{margin-top:14px; color:#556074; font-size:15.5px; max-width:480px;}

  /* ---------- Product section ---------- */
  .product-wrap{
    display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:flex-start;
  }
  .product-gallery{position:relative;}
  .product-gallery img{border-radius:4px; width:100%;}
  .gallery-tag{
    position:absolute; top:18px; left:18px; background:var(--navy); color:var(--cream);
    font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; padding:7px 14px; border-radius:2px;
  }
  .product-info .tagline-quote{
    font-family:'Fraunces'; font-style:italic; color:var(--navy); font-size:19px;
    border-left:3px solid var(--sky); padding-left:16px; margin-bottom:26px;
  }
  .product-info h2{font-size:2rem; margin-bottom:6px;}
  .product-price{font-size:20px; color:var(--navy); font-weight:600; margin-bottom:14px;}
  .product-price span{font-size:13px; color:#8a93a3; font-weight:400; margin-left:8px;}

  .color-select{margin-bottom:30px;}
  .color-select .label-row{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px;}
  .color-select .label-row span.small{font-size:13px; color:#8a93a3;}
  .swatches{display:flex; gap:12px;}
  .swatch-btn{
    display:flex; align-items:center; gap:9px; padding:9px 16px 9px 9px;
    border:1.5px solid rgba(27,39,69,0.18); border-radius:30px; background:var(--white);
    cursor:pointer; transition:all .18s; font-size:13.5px; font-weight:500; color:var(--navy-ink);
  }
  .swatch-btn .dot{width:18px; height:18px; border-radius:50%; border:1px solid rgba(0,0,0,0.15);}
  .swatch-btn.active{border-color:var(--navy); background:var(--navy); color:var(--cream);}

  .feature-list{margin:28px 0; border-top:1px solid rgba(27,39,69,0.09);}
  .feature-list li{
    display:flex; gap:14px; padding:14px 0; border-bottom:1px solid rgba(27,39,69,0.09); font-size:14.5px;
  }
  .feature-list li .ic{font-size:19px; flex-shrink:0;}

  .badge-row{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px;}
  .badge{
    background:var(--sand); color:var(--navy); font-size:12.5px; font-weight:500;
    padding:8px 15px; border-radius:20px;
  }

  .add-cart-btn{
    display:block;
    width:100%; background:var(--navy); color:var(--cream); padding:18px; text-align:center;
    border-radius:2px; font-size:14.5px; letter-spacing:0.05em; text-transform:uppercase;
    font-weight:500; border:none; cursor:pointer; transition:background .2s;
  }
  .add-cart-btn:hover{background:#0f1a30;}
  .cod-note{text-align:center; font-size:12.5px; color:#8a93a3; margin-top:12px;}

  /* ---------- Packaging section ---------- */
  .packaging-section{background:var(--navy); color:var(--cream); overflow:hidden;}
  .packaging-wrap{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .packaging-wrap img{border-radius:4px;}
  .packaging-copy .eyebrow{color:var(--sky-pale);}
  .packaging-copy h2{color:var(--cream); font-size:clamp(1.8rem,3.2vw,2.5rem); margin-bottom:22px;}
  .packaging-copy p{color:#C4CEDE; font-size:15.5px; margin-bottom:16px; max-width:440px;}
  .packaging-list{margin-top:26px;}
  .packaging-list li{display:flex; gap:12px; padding:10px 0; font-size:14.5px; color:#DCE4EF; border-top:1px solid rgba(250,246,236,0.12);}
  .packaging-list li:last-child{border-bottom:1px solid rgba(250,246,236,0.12);}

  /* ---------- About teaser ---------- */
  .about-teaser{
    display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:center;
  }
  .about-mark{
    display:flex; align-items:center; justify-content:center;
    background:var(--sand); border-radius:4px; padding:50px;
  }
  .about-mark img{max-width:220px;}
  .about-copy h2{font-size:clamp(1.8rem,3.2vw,2.4rem); margin-bottom:20px;}
  .about-copy p{color:#556074; font-size:15.5px; margin-bottom:16px; max-width:480px;}
  .about-copy a.link-more{
    display:inline-flex; align-items:center; gap:8px; margin-top:10px; font-weight:500;
    color:var(--navy); font-size:14.5px; border-bottom:1.5px solid var(--sky); padding-bottom:2px;
  }

  /* ---------- Footer ---------- */
  footer{background:#131E36; color:#C4CEDE; padding-top:60px;}
  .footer-grid{
    display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px;
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .footer-brand img{height:42px; margin-bottom:16px;}
  .footer-brand p{font-size:13.5px; color:#8b96ab; max-width:260px;}
  .footer-col h4{
    color:var(--cream); font-size:13px; letter-spacing:0.08em; text-transform:uppercase;
    margin-bottom:18px; font-weight:600;
  }
  .footer-col ul li{margin-bottom:11px; font-size:14px;}
  .footer-col ul li a:hover{color:var(--sky-pale);}
  .social-row{display:flex; gap:14px; margin-top:6px;}
  .social-row a{
    width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,0.25);
    display:flex; align-items:center; justify-content:center; transition:all .2s;
  }
  .social-row a:hover{background:var(--sky); border-color:var(--sky);}
  .social-row svg{width:16px; height:16px; fill:var(--cream);}
  .footer-bottom{
    display:flex; justify-content:space-between; padding:26px 0; font-size:12.5px; color:#6f7b93;
    flex-wrap:wrap; gap:10px;
  }

  /* ---------- Responsive ---------- */
  @media(max-width:900px){
    nav.main-nav{display:none;}
    .header-cta{display:none;}
    .nav-toggle{display:block;}
    .trust-grid{grid-template-columns:repeat(2,1fr);}
    .product-wrap, .packaging-wrap, .about-teaser{grid-template-columns:1fr; gap:36px;}
    .footer-grid{grid-template-columns:1fr 1fr; gap:32px;}
    .hero-inner{min-height:520px; padding:50px 0 60px;}
  }
  @media(max-width:520px){
    .footer-grid{grid-template-columns:1fr;}
    .trust-grid{grid-template-columns:1fr 1fr;}
    .container{padding:0 20px;}
  }


/* Shopify integration helpers */
.shopify-section { margin:0; padding:0; }
.ouahaj-section-root { margin:0; }
.ouahaj-hidden { display:none !important; }
.ouahaj-product-form { margin:0; }
.add-cart-btn[disabled]{opacity:.55;cursor:not-allowed;}
.nav-toggle{line-height:1;}
.mobile-nav{
  display:none; background:var(--cream); border-top:1px solid rgba(27,39,69,.08);
  padding:14px 20px 18px;
}
.mobile-nav.open{display:block;}
.mobile-nav a{display:block;padding:10px 0;font-size:15px;color:var(--navy);}
@media(min-width:901px){.mobile-nav{display:none!important;}}
@media (max-width: 768px){
  .hero-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }

  .hero-actions .btn{
    width:100%;
    max-width:456px;
    text-align:center;
  }
}
@media (max-width:768px){
  #boutique{
    padding-top:28px !important;
    padding-bottom:45px !important;
  }

  #boutique .product-wrap{
    gap:24px !important;
  }

  #boutique .product-info{
    padding-top:0 !important;
  }

  #boutique .product-info h2{
    margin:0 0 10px !important;
  }

  #boutique .product-price{
    margin:0 0 24px !important;
  }

  #boutique .color-select{
    margin-top:0 !important;
    margin-bottom:24px !important;
  }
}
#boutique .product-info h2{
  font-family:'Jost', sans-serif;
  font-size:32px;
  font-weight:600;
  line-height:1.05;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--navy);
}
@media (max-width:768px){

  #boutique.section{
    padding-top:24px !important;
  }

  #boutique .product-wrap{
    display:block !important;
  }

  #boutique .product-gallery{
    margin-bottom:18px !important;
  }

  #boutique .product-info{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  #boutique .product-info h2{
    font-family:'Jost', sans-serif !important;
    font-size:27px !important;
    line-height:1.05 !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    margin:0 0 8px !important;
  }

  #boutique .product-price{
    margin:0 0 14px !important;
  }

  #boutique .product-price strong{
    font-size:26px !important;
  }

  #boutique .product-price .old-price{
    font-size:17px !important;
    text-decoration:line-through !important;
    opacity:.65;
  }
}
#boutique .color-select{
  margin-top:-14px !important;
  margin-bottom:20px !important;
}

#boutique .color-select .label-row{
  margin-bottom:12px !important;
}

#boutique .color-select .label-row strong{
  font-size:16px !important;
  line-height:1.2 !important;
}

#boutique .color-select .label-row strong{
  font-size:16px !important;
  line-height:1.2 !important;
}
#boutique .color-select .label-row{
  margin-bottom:30px !important;
}

#boutique .color-select .swatches{
  margin-top:0 !important;
}
@media (max-width:768px){

  #boutique .add-cart{
    position:fixed !important;
    left:16px;
    right:16px;
    bottom:14px;
    z-index:9999;

    width:calc(100% - 32px) !important;
    min-height:58px;

    background:#1B2B4D !important;
    color:#fff !important;

    border:1px solid rgba(255,255,255,.12) !important;
    border-radius:18px !important;

    font-size:16px !important;
    font-weight:600 !important;
    letter-spacing:.04em;

    padding:17px 20px !important;
    margin:0 !important;

    box-shadow:0 10px 30px rgba(15,28,55,.28) !important;
  }

  #boutique .add-cart:active{
    transform:scale(.98);
  }

  body{
    padding-bottom:90px;
  }
}
/* Hide OUAHAJ native cart button, keep product form for COD app */
.ouahaj-product-form > .add-cart-btn{
  display:none !important;
}

#boutique > .add-cart-btn,
#boutique .product-info > .add-cart-btn{
  display:none !important;
}
 #boutique .size-guide{
  margin:24px 0 10px;
}

#boutique .size-guide img{
  width:100%;
  height:auto;
  display:block;
  border-radius:14px;
}
.label-row {
  margin-bottom: 12px;
}

.swatches {
  margin-top: 6px;
}
.label-row strong {
  font-size: 18px;
  display: block;
  margin-bottom: 12px;
}
@media (max-width: 768px) {
  #about .about-copy {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (max-width: 768px) {

  #boutique .product-info {
    transform: none !important;
    margin-top: 18px !important;
    padding-top: 0 !important;
  }

  #boutique .product-info h2 {
    font-size: 31px !important;
    line-height: 1.08 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 12px !important;
  }

  #boutique .product-price strong {
    font-size: 29px !important;
    line-height: 1 !important;
  }

  #boutique .product-price .old-price {
    font-size: 18px !important;
  }

  #boutique .product-price {
    margin-bottom: 28px !important;
  }

  #boutique .label-row strong {
    font-size: 17px !important;
    margin-bottom: 14px !important;
  }

  #boutique .swatches {
    margin-top: 0 !important;
  }
}
@media (max-width: 768px) {

  #about {
    padding-top: 55px !important;
    padding-bottom: 55px !important;
  }

  .ouahaj-packaging {
    padding-top: 45px !important;
    padding-bottom: 45px !important;
  }
}
@media (max-width: 768px) {
  #boutique {
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
  }

  #boutique .size-guide {
    margin-bottom: 0 !important;
  }

  .wave-divider {
    margin-top: 0 !important;
    height: 20px !important;
  }

  .wave-divider svg {
    display: block;
    width: 100%;
    height: 25px !important;
  }
}
@media (max-width: 768px) {
  #boutique .size-guide {
    width: calc(100% + 32px);
    margin-left: -16px;
  }

  #boutique .size-guide img {
    width: 100% !important;
    max-width: none !important;
    height: auto;
  }
}
/* OUAHAJ mobile product price */
@media (max-width: 749px) {
  .product-price {
    font-size: 20px !important;
    line-height: 1.05 !important;
    margin-bottom: 10px !important;
  }

  .product-price span {
    font-size: 13px !important;
    margin-left: 6px !important;
  }

  .color-select {
    margin-top: 0 !important;
  }

  .color-select .label-row {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }
}
/* OUAHAJ product price - mobile */
@media (max-width: 749px) {

  .product-price {
    margin-bottom: 12px !important;
    line-height: 1 !important;
  }

  .product-price strong {
    font-size: 36px !important;
    line-height: 1 !important;
  }

  .product-price .old-price {
    font-size: 23px !important;
    margin-left: 8px !important;
  }

  .product-info .label-row {
    margin-top: 0 !important;
  }
}
@media (max-width: 749px) {

  #boutique .product-info p.product-price > strong {
  font-size: 28px !important;
  line-height: 1 !important;
  color: #0d0b0aff !important;
}

  #boutique .product-info p.product-price > span.old-price {
    font-size: 20px !important;
    line-height: 1 !important;
  }

  #boutique .product-info p.product-price {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
  }

  #boutique .product-info .color-select {
    margin-top: 0 !important;
  }

  #boutique .product-info .color-select .label-row {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }
}
/* Disable BLEU MARINE */
label:has(input[value="BLEU MARINE"]),
label:has(input[value="Bleu Marine"]),
label:has(input[value="bleu marine"]) {
  opacity: 0.4 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
  position: relative;
}

/* Add SOLD OUT text */
label:has(input[value="BLEU MARINE"])::after,
label:has(input[value="Bleu Marine"])::after,
label:has(input[value="bleu marine"])::after {
  content: "ÉPUISÉ";
  position: absolute;
  top: -9px;
  right: -8px;
  background: #111;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 3px 6px;
  border-radius: 10px;
}
/* ===== OUAHAJ DESKTOP HEADER FIX ===== */
@media (min-width: 990px) {

  .ouahaj-site-header .header-row {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-areas: "nav logo cta" !important;
    align-items: center !important;
    column-gap: 28px !important;
  }

  .ouahaj-site-header .main-nav {
    grid-area: nav !important;
    justify-self: start !important;
    position: static !important;
    transform: none !important;
  }

  .ouahaj-site-header .main-nav ul {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }

  .ouahaj-site-header .logo-mark {
    grid-area: logo !important;
    justify-self: center !important;
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    z-index: 2;
  }

  .ouahaj-site-header .logo-mark img {
    display: block !important;
    width: 170px !important;
    max-width: 170px !important;
    height: auto !important;
  }

  .ouahaj-site-header .header-cta {
    grid-area: cta !important;
    justify-self: end !important;
    white-space: nowrap !important;
    position: static !important;
    transform: none !important;
  }
}
@media (min-width: 990px) {
  .ouahaj-site-header .header-row {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    min-height: 0 !important;
  }

  .ouahaj-site-header .logo-mark img {
    width: 135px !important;
    max-width: 135px !important;
  }

  .ouahaj-site-header .main-nav a {
    font-size: 14px !important;
  }

  .ouahaj-site-header .header-cta {
    padding: 12px 18px !important;
    font-size: 14px !important;
  }
}
}