/* =========================================================
   FONTES
========================================================= */
@font-face{
  font-family:"GT Walsheim Pro";
  src:url("/assets/GT-Walsheim-Pro-Regular.woff2") format("woff2"),
      url("/assets/GT-Walsheim-Pro-Regular.woff") format("woff");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"GT Walsheim Pro";
  src:url("/assets/GT-Walsheim-Pro-Medium.woff2") format("woff2"),
      url("/assets/GT-Walsheim-Pro-Medium.woff") format("woff");
  font-weight:500;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"GT Walsheim Pro";
  src:url("/assets/GT-Walsheim-Pro-Bold.woff2") format("woff2"),
      url("/assets/GT-Walsheim-Pro-Bold.woff") format("woff");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"GT Walsheim Pro";
  src:url("/assets/GT-Walsheim-Pro-Black.woff2") format("woff2"),
      url("/assets/GT-Walsheim-Pro-Black.woff") format("woff");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* =========================================================
   VARIABLES GLOBALES
========================================================= */
:root{
  --serta-blue:#061b3e;
  --serta-blue-2:#0b2f66;
  --serta-sky:#eef5ff;
  --serta-sky-2:#f7faff;
  --serta-yellow:#fee22f;
  --serta-yellow-dark:#f4d400;
  --serta-text:#163152;
  --serta-muted:#5d6f89;
  --serta-card:#ffffff;
  --serta-shadow:0 18px 50px rgba(6,27,62,.08);
  --serta-shadow-soft:0 14px 34px rgba(6,27,62,.08);
  --serta-radius:22px;
  --serta-radius-sm:16px;
  --serta-container:1320px;
  --header-height:70px;
  --header-logo-width:64px;
  --header-underline-height:2px;
  --header-border:rgba(6,27,62,.10);
  --font-serta:"GT Walsheim Pro", Arial, Helvetica, sans-serif;
  --font-body:Arial, Helvetica, sans-serif;
}

/* =========================================================
   RESET / BASE
========================================================= */
*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  margin:0;
  padding:0;
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  padding:0;
  overflow-x:hidden;
  background:#f4f7fb;
  color:var(--serta-text);
  font-family:var(--font-serta);
  font-weight:400;
  line-height:1.35;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  touch-action:pan-y;
}

img{
  max-width:100%;
  height:auto;
  display:block;
  border:0;
}

a{
  color:inherit;
  text-decoration:none;
}

input,
select,
textarea,
button{
  font:inherit;
  font-family:var(--font-serta);
}

input,
select,
textarea{
  font-size:16px;
}

button,
.button,
.btn,
.hero-btn,
.split-link,
.nav_link{
  font-family:var(--font-serta);
}

strong,
b{
  font-weight:700;
}

main{
  display:block;
}

.serta-page-wrap{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

#MainContent{
  flex:1 0 auto;
  overflow:hidden;
}

.main-container,
.home-container{
  width:100%;
  max-width:var(--serta-container);
  margin:0 auto;
  padding-left:22px;
  padding-right:22px;
}

.home-container{
  box-sizing:border-box;
}

.bg-white{ background:#fff; }
.text-white{ color:#fff !important; }
.text-navy{ color:var(--serta-blue) !important; }
.bg-sky{ background:#eef5ff; }
.bg-wool{ background:#f7f3eb; }

@media (max-width:991px){
  .main-container,
  .home-container{
    padding-left:16px;
    padding-right:16px;
  }
}

/* =========================================================
   HEADER
========================================================= */
.site-header{
  position:sticky;
  top:0;
  z-index:999;
  background:#fff;
  border-bottom:1px solid var(--header-border);
}

.site-header__inner{
  min-height:var(--header-height);
  display:flex;
  align-items:center;
  gap:30px;
}

.site-header__logo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
}

.site-header__logo img{
  width:var(--header-logo-width);
  min-width:var(--header-logo-width);
  height:auto;
  cursor:pointer;
}

.site-header__nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}

.site-header__nav-left,
.site-header__nav-right{
  display:flex;
  align-items:center;
  gap:38px;
  min-width:0;
}

.site-header__nav-right{
  margin-left:auto;
}

.nav_link{
  position:relative;
  display:inline-flex;
  align-items:center;
  color:var(--serta-blue);
  font-size:15px;
  font-weight:500;
  line-height:1.15;
  white-space:nowrap;
  height:calc(var(--header-height) - 2px);
  padding:0;
  transition:color .18s ease, opacity .18s ease;
}

.nav_link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:var(--header-underline-height);
  background:var(--serta-blue);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}

.nav_link:hover{
  color:var(--serta-blue-2);
}

.nav_link:hover::after,
.nav_link.is-active::after{
  transform:scaleX(1);
}

.nav_link--instagram{
  height:auto;
  min-height:38px;
  padding:10px 18px;
  border-radius:999px;
  color:#fff !important;
  font-size:14px;
  line-height:1;
  font-weight:700;
  background:linear-gradient(90deg,#feda75 0%, #fa7e1e 22%, #d62976 50%, #962fbf 76%, #4f5bd5 100%);
  box-shadow:0 10px 24px rgba(79,91,213,.18);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.nav_link--instagram::after{
  display:none;
}

.nav_link--instagram:hover{
  color:#fff !important;
  opacity:.96;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(79,91,213,.24);
}

.site-header__toggle{
  display:none;
  appearance:none;
  border:none;
  background:none;
  color:var(--serta-blue);
  font-size:28px;
  line-height:1;
  padding:0;
  cursor:pointer;
  margin-left:auto;
}

.site-header__mobile{
  display:none;
  border-top:1px solid var(--header-border);
  background:#fff;
}

.site-header.is-open .site-header__mobile{
  display:block;
}

.site-header__mobile-inner{
  padding-top:8px;
  padding-bottom:12px;
}

.site-header__mobile a{
  display:block;
  padding:14px 0;
  border-top:1px solid var(--header-border);
  color:var(--serta-blue);
  font-size:15px;
  font-weight:500;
  line-height:1.15;
}

.site-header__mobile a:first-child{
  border-top:none;
}

.site-header__mobile a.is-active{
  color:var(--serta-blue-2);
}

.site-header__mobile a.site-header__mobile-instagram{
  margin-top:10px;
  border-top:none;
  text-align:center;
  color:#fff !important;
  font-weight:700;
  border-radius:999px;
  background:linear-gradient(90deg,#feda75 0%, #fa7e1e 22%, #d62976 50%, #962fbf 76%, #4f5bd5 100%);
  padding:12px 16px;
}

@media (max-width:1199px){
  :root{
    --header-height:68px;
    --header-logo-width:60px;
  }

  .site-header__inner{
    gap:24px;
  }

  .site-header__nav{
    gap:24px;
  }

  .site-header__nav-left,
  .site-header__nav-right{
    gap:28px;
  }

  .nav_link{
    font-size:13px;
  }

  .nav_link--instagram{
    min-height:34px;
    padding:9px 15px;
    font-size:13px;
  }
}

@media (max-width:760px){
  :root{
    --header-height:60px;
    --header-logo-width:56px;
  }

  .site-header__inner{
    min-height:var(--header-height);
    gap:14px;
  }

  .site-header__nav{
    display:none;
  }

  .site-header__toggle{
    display:block;
  }
}

/* =========================================================
   BOUTONS GLOBAUX
========================================================= */
.button,
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border:none;
  border-radius:999px;
  background:var(--serta-blue);
  color:#fff !important;
  font-weight:700;
  cursor:pointer;
}

.button--primary{
  background:var(--serta-yellow);
  color:var(--serta-blue) !important;
}

.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none !important;
  font-size:17px;
  font-weight:700;
  line-height:1.1;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease;
  box-sizing:border-box;
}

.hero-btn:hover{
  transform:translateY(-1px);
}

.hero-btn--primary{
  background:var(--serta-yellow);
  color:var(--serta-blue) !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20);
}

.hero-btn--primary:hover{
  background:var(--serta-yellow-dark);
}

.hero-btn--instagram{
  min-height:56px;
  padding:14px 28px;
  font-size:17px;
  font-weight:700;
  line-height:1.1;
  color:#fff !important;
  background:linear-gradient(90deg,#feda75 0%, #fa7e1e 22%, #d62976 50%, #962fbf 76%, #4f5bd5 100%);
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}

.hero-btn--instagram:hover{
  opacity:.96;
}

.hero-btn--contact{
  background:var(--serta-blue);
  color:#fff !important;
  box-shadow:0 14px 30px rgba(0,0,0,.20);
}

.hero-btn--contact:hover{
  background:var(--serta-blue-2);
}

@media (max-width:991px){
  .hero-btn--primary,
  .hero-btn--instagram,
  .hero-btn--contact{
    width:100%;
    max-width:360px;
  }
}

@media (max-width:760px){
  .hero-btn{
    min-height:52px;
    padding:13px 20px;
    font-size:16px;
  }

  .hero-btn--instagram{
    min-height:52px;
    padding:13px 20px;
    font-size:16px;
  }
}

/* =========================================================
   HOME - STRUCTURE
========================================================= */
.home-wrap{
  padding-bottom:34px;
}

.home-section{
  margin-top:24px;
}

.home-section-lg{
  margin-top:34px;
}

.home-banner{
  background:var(--serta-yellow);
  color:var(--serta-blue);
  text-align:center;
  font-weight:700;
  font-size:18px;
  line-height:1.2;
  padding:14px 18px;
}

#noscollections{
  scroll-margin-top:88px;
}

.footer-space{
  height:12px;
}

@media (max-width:991px){
  .home-section{
    margin-top:18px;
  }

  .home-section-lg{
    margin-top:28px;
  }

  .home-banner{
    font-size:16px;
    padding:12px 14px;
  }
}

@media (max-width:760px){
  #noscollections{
    scroll-margin-top:78px;
  }
}

/* =========================================================
   HOME - HERO
========================================================= */
.hero-home{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  overflow:hidden;
  background:#000;
}

.hero-home video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-home::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(6,27,62,.35) 0%, rgba(6,27,62,.42) 32%, rgba(6,27,62,.54) 100%);
  z-index:1;
}

.hero-home__inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:52px 24px;
  text-align:center;
  color:#fff;
}

.hero-home__eyebrow{
  display:inline-block;
  margin:0 0 14px 0;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  font-size:14px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.02em;
}

.hero-home__title{
  margin:0;
  font-size:56px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}

.hero-home__subtitle{
  margin:14px 0 2px 0;
  font-size:23px;
  line-height:1.1;
  font-weight:500;
  opacity:.96;
}

.hero-home__collections{
  margin:0;
  font-size:34px;
  line-height:1.08;
  font-weight:700;
}

.hero-home__buttons{
  margin-top:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
}

.hero-home__anchor{
  margin-top:24px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff !important;
  font-size:14px;
  line-height:1.1;
  font-weight:500;
  opacity:.9;
}

@media (max-width:1199px){
  .hero-home{
    min-height:660px;
  }

  .hero-home__title{
    font-size:48px;
  }

  .hero-home__collections{
    font-size:30px;
  }
}

@media (max-width:991px){
  .hero-home{
    min-height:620px;
  }

  .hero-home__inner{
    padding:40px 18px;
  }

  .hero-home__eyebrow{
    font-size:13px;
    margin-bottom:10px;
  }

  .hero-home__title{
    font-size:38px;
  }

  .hero-home__subtitle{
    font-size:19px;
    margin-top:12px;
    margin-bottom:2px;
  }

  .hero-home__collections{
    font-size:27px;
  }

  .hero-home__buttons{
    gap:12px;
    flex-direction:column;
  }
}

@media (max-width:760px){
  .hero-home{
    min-height:560px;
  }

  .hero-home__title{
    font-size:31px;
  }

  .hero-home__subtitle{
    font-size:17px;
  }

  .hero-home__collections{
    font-size:22px;
    line-height:1.18;
  }
}

@media (max-width:640px){
  .hero-home__inner{
    padding:34px 16px;
  }
}

/* =========================================================
   TITRES DE SECTION
========================================================= */
.home-block{
  background:var(--serta-card);
  border-radius:var(--serta-radius);
  box-shadow:var(--serta-shadow);
}

.section-head{
  text-align:center;
  margin-bottom:20px;
}

.section-head h2,
.section-head h1{
  margin:0;
  color:var(--serta-blue);
  font-size:40px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}

.section-head p{
  margin:10px 0 0 0;
  color:var(--serta-muted);
  font-size:19px;
  line-height:1.15;
  font-weight:500;
}

.section-head--collections h2{
  font-size:60px;
  line-height:.96;
  letter-spacing:-.04em;
  padding-top:33px;
}

.section-head--collections p{
  font-size:20px;
  line-height:1.1;
  font-weight:500;
}

@media (max-width:1199px){
  .section-head--collections h2{
    font-size:52px;
  }
}

@media (max-width:991px){
  .section-head h2,
  .section-head h1{
    font-size:34px;
  }

  .section-head p{
    font-size:17px;
  }

  .section-head--collections h2{
    font-size:46px;
  }
}

@media (max-width:760px){
  .section-head h2,
  .section-head h1{
    font-size:28px;
  }

  .section-head--collections h2{
    font-size:38px;
  }
}

/* =========================================================
   CARTES COLLECTIONS - HOME
========================================================= */
.collections-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
}

.collection-card{
  overflow:hidden;
  background:#fff;
  border-radius:24px;
  box-shadow:var(--serta-shadow);
  border:1px solid rgba(6,27,62,.06);
  transition:transform .2s ease, box-shadow .2s ease;
}

.collection-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 54px rgba(6,27,62,.12);
}

.collection-card a{
  text-decoration:none !important;
}

.collection-card__media{
  display:block;
  aspect-ratio:1.55 / 1;
  overflow:hidden;
  background:#e9eef7;
}

.collection-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.collection-card__body{
  padding:22px 24px 44px;
}

.collection-card__body--center{
  text-align:center;
}

.collection-card__title{
  margin:0 0 12px 0;
  color:var(--serta-blue);
  font-size:28px;
  line-height:1.04;
  font-weight:700;
  letter-spacing:-.02em;
}

.collection-card__title--large{
  font-size:32px;
  line-height:1;
}

.collection-card__text{
  margin:0;
  color:var(--serta-text);
  font-size:17px;
  line-height:1.28;
  font-weight:400;
}

.collection-card__text + .collection-card__text{
  margin-top:12px;
}

.collection-card__text--highlight{
  font-weight:700;
  color:var(--serta-blue);
}

@media (max-width:991px){
  .collections-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .collection-card__body{
    text-align:left;
  }

  .collection-card__media{
    aspect-ratio:1.65 / 1;
  }

  .collection-card__title{
    font-size:25px;
  }

  .collection-card__title--large{
    font-size:27px;
  }
}

@media (max-width:760px){
  .collection-card__body{
    padding:18px 18px 20px;
  }

  .collection-card__media{
    aspect-ratio:1.7 / 1;
  }

  .collection-card__title{
    font-size:24px;
  }

  .collection-card__title--large{
    font-size:25px;
  }

  .collection-card__text{
    font-size:16px;
    line-height:1.24;
  }
}

/* =========================================================
   BLOCS SPLIT
========================================================= */
.split-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,46%);
  align-items:stretch;
  overflow:hidden;
  background:#fff;
  border-radius:30px;
  box-shadow:var(--serta-shadow);
}

.split-card--reverse{
  grid-template-columns:minmax(420px,46%) minmax(0,1fr);
}

.split-card__content{
  padding:38px 40px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.split-card__tag{
  display:inline-flex;
  width:max-content;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  background:#edf4ff;
  color:var(--serta-blue-2);
  font-size:13px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.split-card__title{
  margin:0 0 14px 0;
  color:var(--serta-blue);
  font-size:38px;
  line-height:1.02;
  font-weight:700;
  letter-spacing:-.03em;
}

.split-card__text{
  margin:0;
  color:var(--serta-text);
  font-size:18px;
  line-height:1.36;
  font-weight:400;
}

.split-card__text + .split-card__text{
  margin-top:12px;
}

.split-card__media{
  min-height:100%;
  background:#eaf1fb;
}

.split-card__media img{
  width:100%;
  height:100%;
  min-height:100%;
  display:block;
  object-fit:cover;
}

.hotel-logos{
  margin-top:18px;
}

.hotel-logos img{
  max-width:100%;
  height:auto;
  display:block;
}

.split-links{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.split-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:12px 22px;
  border-radius:999px;
  background:var(--serta-blue);
  color:#fff !important;
  font-size:16px;
  line-height:1.1;
  font-weight:700;
  box-shadow:0 10px 24px rgba(6,27,62,.18);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease;
}

.split-link:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(6,27,62,.22);
  background:var(--serta-blue-2);
}

.pill-flag{
  margin-top:18px;
}

.pill-flag img{
  width:140px;
  height:auto;
  display:block;
}

@media (max-width:1199px){
  .split-card,
  .split-card--reverse{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:991px){
  .split-card,
  .split-card--reverse{
    grid-template-columns:1fr;
  }

  .split-card__content{
    padding:28px 24px 30px;
  }

  .split-card__title{
    font-size:31px;
  }

  .split-card__text{
    font-size:17px;
    line-height:1.48;
  }

  .split-card__media{
    min-height:300px;
    order:-1;
  }
}

@media (max-width:760px){
  .split-card__title{
    font-size:27px;
  }

  .split-card__text{
    font-size:16px;
  }
}

/* =========================================================
   NOS MATELAS POUR TOUS
========================================================= */
.sleep-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.sleep-card{
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--serta-shadow);
  border:1px solid rgba(6,27,62,.06);
}

.sleep-card__media{
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:#edf2f8;
}

.sleep-card__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease;
  transform:scale(1);
}

.sleep-card:hover .sleep-card__media img{
  transform:scale(1.06);
}

.sleep-card__body{
  padding:18px 18px 20px;
}

.sleep-card__title{
  margin:0 0 10px 0;
  color:var(--serta-blue);
  font-size:21px;
  line-height:1.12;
  font-weight:700;
  letter-spacing:-.02em;
}

.sleep-card__text{
  margin:0;
  color:var(--serta-text);
  font-size:16px;
  line-height:1.32;
  font-weight:400;
}

.sleep-grid .sleep-card:nth-child(1) .sleep-card__media img{ object-position:46% center; }
.sleep-grid .sleep-card:nth-child(2) .sleep-card__media img{ object-position:88% center; }
.sleep-grid .sleep-card:nth-child(3) .sleep-card__media img{ object-position:47% center; }
.sleep-grid .sleep-card:nth-child(4) .sleep-card__media img{ object-position:center center; }

@media (max-width:1199px){
  .sleep-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:991px){
  .sleep-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
}

@media (max-width:760px){
  .sleep-grid .sleep-card .sleep-card__media img{
    object-position:center center !important;
  }

  .sleep-card__title{
    font-size:18px;
  }

  .sleep-card__media{
    aspect-ratio:1 / .65;
  }

  .sleep-card__body{
    padding:14px 16px 16px;
  }

  .sleep-card__text{
    font-size:15px;
    line-height:1.24;
  }

  .sleep-card:hover .sleep-card__media img{
    transform:scale(1.03);
  }
}

/* =========================================================
   CTA PANEL
========================================================= */
.cta-panel{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  box-shadow:var(--serta-shadow);
  min-height:430px;
  display:grid;
  align-items:stretch;
}

.cta-panel__bg{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#111d34;
}

.cta-panel__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transform:translateX(11%);
}

.cta-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    #111d34 0%,
    rgba(17,29,52,.95) 18%,
    rgba(17,29,52,.75) 35%,
    rgba(17,29,52,.35) 55%,
    rgba(17,29,52,0) 72%
  );
  z-index:1;
}

.cta-panel__content{
  position:relative;
  z-index:2;
  max-width:680px;
  padding:44px;
  color:#fff;
}

.cta-panel__title{
  margin:0 0 12px 0;
  font-size:42px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}

.cta-panel__text{
  margin:0;
  font-size:20px;
  line-height:1.32;
  font-weight:400;
  opacity:.96;
}

.cta-panel__buttons{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:22px;
}

@media (max-width:991px){
  .cta-panel{
    min-height:380px;
  }

  .cta-panel__content{
    padding:28px 22px;
  }

  .cta-panel__title{
    font-size:33px;
  }

  .cta-panel__text{
    font-size:18px;
  }
}

@media (max-width:760px){
  .cta-panel__title{
    font-size:28px;
  }

  .cta-panel__text{
    font-size:17px;
    line-height:1.28;
  }

  .cta-panel__buttons{
    flex-direction:column;
    align-items:flex-start;
  }

  .cta-panel__buttons .hero-btn{
    width:100%;
    max-width:320px;
  }

  .cta-panel__bg img{
    transform:translateX(0);
  }

  .cta-panel::before{
    background:linear-gradient(
      90deg,
      rgba(17,29,52,.98) 0%,
      rgba(17,29,52,.92) 28%,
      rgba(17,29,52,.75) 55%,
      rgba(17,29,52,.35) 78%,
      rgba(17,29,52,.15) 100%
    );
  }

  .cta-panel__content{
    max-width:520px;
  }
}

/* =========================================================
   PAGE COLLECTION PRODUIT
========================================================= */
.collection-page{
  width:100%;
  font-family:var(--font-body);
}

.collection-page,
.collection-page *{
  color:#00263e;
}

.collection-page p,
.collection-page li,
.collection-page a,
.collection-page span,
.collection-page div{
  font-family:var(--font-body);
}

.collection-page h1,
.collection-page h2,
.collection-page h3,
.collection-page h4,
.collection-page h5,
.collection-page h6,
.collection-page h1 *,
.collection-page h2 *,
.collection-page h3 *,
.collection-page h4 *,
.collection-page h5 *,
.collection-page h6 *{
  font-family:"GT Walsheim Pro", Arial, Helvetica, sans-serif !important;
}

.collection-page h1,
.collection-page h2,
.collection-page h3{
  font-weight:400;
}

.collection-page h4,
.collection-page h5,
.collection-page h6{
  font-weight:500;
}

.collection-page b,
.collection-page strong{
  font-weight:500;
}

/* ---------- landing collection ---------- */
#presentation_collection{
  display:grid;
  grid-template-columns:minmax(360px,38%) minmax(0,62%);
  align-items:stretch;
  margin:0 0 30px 0;
  overflow:hidden;
}

#presentation_collection > div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}

#presentation_collection h1{
  margin:0;
  padding:42px 42px 0;
  text-align:left;
  font-family:"GT Walsheim Pro", Arial, Helvetica, sans-serif !important;
  font-weight:500;
  font-size:56px;
  line-height:.96;
  letter-spacing:-.05em;
}

#presentation_collection p{
  margin:0;
  padding:18px 42px 42px;
  text-align:left;
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.45;
  font-weight:400;
}

.presentation_collection{
  width:100%;
  height:100%;
  min-height:100%;
  display:block;
  object-fit:cover;
}

.presentation_collection_perfectsleeper{
  background-color:#ecf5fe;
}

.presentation_collection_iseries{
  background-color:#22354c;
  color:#fff;
}

.texte_collection_iseries{
  color:#fff !important;
}

.texte_collection_iseries > b,
.texte_collection_iseries strong{
  color:#fff !important;
}

/* ---------- cartes produits liés génériques ---------- */
#produits_collection{
  margin-top:4px;
}

#produits_collection img{
  width:100%;
  display:block;
}

#produits_collection > a{
  display:block;
  border:1px solid #e7e9ef;
  margin-bottom:20px;
  text-decoration:none;
  background:#fff;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

#produits_collection > a:hover{
  border-color:#d6deea;
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(6,27,62,.08);
}

#produits_collection > a > h4{
  margin:14px 26px 4px;
  font-size:14px;
  line-height:1.15;
  color:#163152;
  font-weight:500;
}

#produits_collection > a > h1{
  margin:0 26px 10px;
  font-weight:700 !important;
  font-size:28px;
  line-height:1.02;
  letter-spacing:-.03em;
  color:#163152;
}

#produits_collection > a > p{
  margin:0 26px 18px;
  font-size:14px;
  line-height:1.35;
  color:#163152;
}

/* ---------- fiche produit ---------- */
.collection-page.product-page{
  max-width:var(--serta-container);
  padding-top:18px;
  padding-bottom:36px;
}

.product-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 16px 0;
  color:var(--serta-muted);
  font-size:14px;
  line-height:1.35;
}

.product-breadcrumb a{
  color:var(--serta-blue);
  text-decoration:none;
}

.product-breadcrumb a:hover{
  text-decoration:underline;
}

.product-breadcrumb b{
  color:var(--serta-blue);
  font-weight:700;
}

.product-top-card,
.product-details-card,
.product-related-card{
  background:#fff;
  border-radius:28px;
  box-shadow:var(--serta-shadow);
  border:1px solid rgba(6,27,62,.06);
}

.product-top-card{
  padding:18px;
  margin-bottom:22px;
  overflow:hidden;
}

.product-details-card{
  padding:20px;
  margin-bottom:22px;
  overflow:hidden;
}

.product-details-card #details_produit{
  overflow:visible;
}

.product-related-card{
  padding:18px;
}

.product-related-head{
  margin:0 0 14px 0;
}

.product-related-head h2{
  margin:0 0 4px 0;
  color:var(--serta-blue);
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}

.product-related-head h3{
  margin:0;
  color:var(--serta-muted);
  font-size:18px;
  line-height:1.2;
  font-weight:500;
}

#photos-produit,
#texte-produit,
#details_produit,
#myModal,
#photos-produit *,
#texte-produit *,
#details_produit *,
#myModal *{
  box-sizing:border-box;
}

/* ---------- top card layout ---------- */
.product-top-card #photos-produit{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  line-height:0;
}

.product-top-card #photos-produit img{
  display:block;
  width:100%;
  margin:0;
  cursor:pointer;
  border-radius:16px;
  overflow:hidden;
  transition:opacity .18s ease;
}

.product-top-card #photos-produit img:first-child{
  grid-column:1 / -1;
  border-radius:22px;
}

.product-top-card #photos-produit img:hover{
  opacity:.92;
}

.product-top-card #texte-produit{
  margin-bottom:0;
}

.product-top-card #texte-produit > h1{
  margin:0 0 8px 0;
  color:var(--serta-blue);
  font-size:clamp(2.2rem, 4vw, 3.9rem);
  line-height:.94;
  font-weight:900;
  letter-spacing:-.05em;
}

.product-top-card #texte-produit > h4{
  margin:0 0 14px 0;
  color:var(--serta-muted);
  font-size:18px;
  line-height:1.2;
  font-weight:500;
}

.product-top-card #description_produit{
  margin-bottom:18px;
  font-size:16px;
  line-height:1.55;
  color:var(--serta-text);
}

.product-top-card #description_produit p{
  margin:0 0 1em 0;
}

.product-top-card #description_produit ul,
.product-top-card #description_produit ol{
  margin:0 0 1em 1.2em;
}

.product-top-card #description_produit li{
  margin:0 0 .35em 0;
}

.product-top-card .bt-pdf{
  display:inline-block;
  width:13em;
  min-width:83px;
  margin-top:0;
  margin-bottom:14px;
}

.product-top-card .bt-pdf:hover{
  opacity:.5;
}

.product-top-card .fermete{
  width:100%;
  display:block;
  margin-top:4px;
  margin-bottom:18px;
  border-radius:16px;
  overflow:hidden;
}

/* ---------- pictos en vraie grille ---------- */
.product-pictos{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-top:4px;
}

.product-pictos .picto{
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:0;
}

/* ---------- composition ---------- */
.product-details-card #details_produit{
  clear:none;
  margin-bottom:0;
}

.product-details-card #details_produit > h2{
  margin:0 0 8px 0;
  color:var(--serta-blue);
  font-size:clamp(2rem, 3.2vw, 3rem);
  line-height:.98;
  font-weight:900;
  letter-spacing:-.04em;
}

.product-details-card #details_produit > p{
  margin:0 0 20px 0;
  color:var(--serta-muted);
  font-size:16px;
  line-height:1.45;
}

.composition-container{
  position:relative;
  margin-right:1.5em;
  margin-bottom:22px;
}

.composition{
  margin:1em 0;
  padding:.2em;
  border:2px solid #5cc7ed;
  border-radius:23px;
  list-style:none;
  background:transparent;
  box-shadow:none;
}

.composition-container div{
  position:absolute;
  right:-1.5em;
  left:0;
  top:0;
  bottom:0;
  border-right:2px solid #5cc7ed;
}

.composition-container div span{
  position:absolute;
  right:0;
  top:50%;
  transform:translate(-.5em,50%);
  rotate:180deg;
  writing-mode:vertical-lr;
  background:#fff;
  padding:.5em 0;
  font-family:"GT Walsheim Pro", Arial, Helvetica, sans-serif !important;
  font-size:18px;
  line-height:1;
  font-weight:400;
  color:#163152;
}

.composition li{
  position:relative;
  background:#caf0f5;
  padding:.45em .7em .45em 2.6em;
  margin:.35em;
  border-radius:1em;
  font-size:.98rem;
  line-height:1.25;
  color:#163152;
  white-space:normal;
}

.composition li span{
  position:absolute;
  left:.65em;
  top:50%;
  transform:translateY(-50%);
  width:1.25rem;
  height:1.25rem;
  border-radius:50%;
  background:#000;
  color:#fff;
  border:2px solid #fff;
  font-weight:700;
  font-size:.72rem;
  line-height:1.05rem;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

.composition li b,
.composition li strong{
  font-weight:700;
}

.product-details-card .coupe{
  width:100%;
  display:block;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(6,27,62,.08);
  margin:10px 0 22px 0;
}

.product-details-card #details_produit > ul,
.product-details-card #details_produit > ol{
  margin:0 0 16px 20px;
}

.product-details-card #details_produit > p,
.product-details-card #details_produit li{
  font-size:16px;
  line-height:1.65;
  color:var(--serta-text);
}

.product-details-card #details_produit > p + p{
  margin-top:12px;
}

/* ---------- produits associés ---------- */
.product-related-card #produits_collection{
  margin-top:0;
}

.product-related-card #produits_collection > a{
  border:none;
  border-radius:22px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--serta-shadow-soft);
}

.product-related-card #produits_collection > a:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(6,27,62,.12);
}

.product-related-card #produits_collection > a > h4{
  margin:16px 22px 6px;
  font-size:13px;
  line-height:1.15;
  color:var(--serta-blue-2);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.product-related-card #produits_collection > a > h1{
  margin:0 22px 10px;
  color:var(--serta-blue);
  font-size:30px;
  line-height:1;
  font-weight:700 !important;
  letter-spacing:-.03em;
}

.product-related-card #produits_collection > a > p{
  margin:0 22px 22px;
  color:var(--serta-text);
  font-size:15px;
  line-height:1.45;
}

/* ---------- modal ---------- */
.modal{
  display:none;
  position:fixed;
  z-index:9999;
  inset:0;
  width:100%;
  height:100%;
  overflow:auto;
  background-color:rgba(0,0,0,.84);
}

.mySlides{
  display:none;
  max-width:90%;
  max-height:90vh;
  margin:auto;
  position:relative;
  top:50%;
  transform:translateY(-50%);
}

#modal_close,
#modal_prev,
#modal_next,
#modal_index{
  position:absolute;
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  z-index:10000;
}

#modal_index{
  top:17px;
  left:16px;
  font-weight:400;
  font-size:15px;
  cursor:default;
}

#modal_close{
  top:10px;
  right:17px;
  font-size:35px;
  font-weight:500;
  line-height:1;
}

#modal_prev,
#modal_next{
  top:50%;
  transform:translateY(-50%);
  width:auto;
  padding:16px;
  font-size:20px;
  font-weight:700;
  user-select:none;
  -webkit-user-select:none;
  transition:color .2s ease;
}

#modal_prev{ left:0; }
#modal_next{ right:0; }

#modal_prev:hover,
#modal_next:hover,
#modal_close:hover,
#modal_close:focus{
  color:#999;
}

/* ---------- responsive ---------- */
@media (min-width:520px){
  #produits_collection{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
  }

  #produits_collection > a{
    flex:0 0 48.9%;
    margin-bottom:2.2%;
  }
}

@media (min-width:730px){
  .product-top-card{
    display:grid;
    grid-template-columns:minmax(0,60%) minmax(0,40%);
    gap:22px;
    align-items:start;
  }

  .product-top-card #photos-produit{
    width:auto;
    float:none;
  }

  .product-top-card #texte-produit{
    width:auto;
    margin-left:0;
    padding-top:2px;
  }
}

@media (min-width:980px){
  #produits_collection > a{
    flex:0 0 31.9%;
    margin-bottom:2.15%;
  }
}

@media (max-width:1199px){
  #presentation_collection h1{
    font-size:50px;
  }
}

@media (max-width:991px){
  #presentation_collection{
    grid-template-columns:1fr;
    margin-bottom:24px;
  }

  #presentation_collection > div{
    order:1;
  }

  .presentation_collection{
    order:2;
    width:100%;
    height:auto;
    min-height:0;
  }

  #presentation_collection h1{
    padding:28px 28px 0;
    font-size:42px;
  }

  #presentation_collection p{
    padding:14px 28px 28px;
    font-size:17px;
  }

  .collection-page.product-page{
    padding-top:18px;
    padding-bottom:30px;
  }

  .product-related-head h2{
    font-size:28px;
  }

  .product-related-head h3{
    font-size:16px;
  }

  .product-pictos{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }

  .product-related-card #produits_collection > a > h1{
    font-size:26px;
  }
}

@media (max-width:760px){
  .collection-page.product-page{
    padding-bottom:22px;
  }

  #presentation_collection{
    margin-bottom:20px;
  }

  #presentation_collection h1{
    padding:22px 20px 0;
    font-size:34px;
    line-height:1.02;
  }

  #presentation_collection p{
    padding:12px 20px 22px;
    font-size:15px;
    line-height:1.42;
  }

  .product-breadcrumb{
    margin-bottom:14px;
    font-size:13px;
    gap:6px;
  }

  .product-top-card,
  .product-details-card,
  .product-related-card{
    border-radius:22px;
  }

  .product-top-card{
    padding:14px;
  }

  .product-details-card{
    padding:18px;
  }

  .product-related-card{
    padding:14px;
  }

  .product-top-card #photos-produit{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .product-top-card #photos-produit img{
    border-radius:14px;
  }

  .product-top-card #photos-produit img:first-child{
    grid-column:1 / -1;
    border-radius:18px;
  }

  .product-top-card #texte-produit{
    margin-top:14px;
  }

  .product-top-card #texte-produit > h1{
    font-size:clamp(2rem, 9vw, 2.8rem);
  }

  .product-top-card #texte-produit > h4{
    font-size:16px;
    margin-bottom:14px;
  }

  .product-top-card #description_produit{
    font-size:15px;
    line-height:1.55;
  }

  .product-pictos{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
  }

  .product-details-card #details_produit > h2{
    font-size:clamp(1.8rem, 8vw, 2.4rem);
  }

  .product-details-card #details_produit > p,
  .product-details-card #details_produit li{
    font-size:15px;
    line-height:1.55;
  }

  .composition-container{
    margin-right:1.2em;
  }

  .composition-container div{
    right:-1.2em;
  }

  .composition-container div span{
    font-size:15px;
  }

  .product-related-card #produits_collection > a > h4{
    margin:14px 18px 6px;
    font-size:13px;
  }

  .product-related-card #produits_collection > a > h1{
    margin:0 18px 8px;
    font-size:24px;
  }

  .product-related-card #produits_collection > a > p{
    margin:0 18px 18px;
    font-size:14px;
  }

  #modal_prev,
  #modal_next{
    padding:12px;
    font-size:18px;
  }

  #modal_close{
    top:8px;
    right:14px;
  }

  #modal_index{
    top:14px;
    left:14px;
    font-size:14px;
  }
}

@media (max-width:520px){
  .product-pictos{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
  }

  .composition-container{
    margin-right:1em;
  }

  .composition-container div{
    right:-1em;
  }

  .composition-container div span{
    font-size:14px;
  }

  .composition li{
    font-size:.93rem;
    line-height:1.22;
    padding:.42em .65em .42em 2.45em;
  }

  .composition li span{
    left:.58em;
    width:1.15rem;
    height:1.15rem;
    font-size:.68rem;
  }
}

@media (max-width:370px){
  #presentation_collection h1{
    font-size:29px;
  }

  #produits_collection > a > h1{
    font-size:22px;
  }
}


/* =========================================================
   PAGE REVENDEURS
========================================================= */
.store-search-wrap{
  display:flex;
  justify-content:center;
  margin:18px 0 10px;
}

.store-search-box{
  display:flex;
  gap:12px;
  width:100%;
  max-width:760px;
  align-items:center;
  justify-content:center;
}

#adress_input{
  flex:1 1 auto;
  min-width:0;
  height:54px;
  padding:0 18px;
  border:1px solid rgba(6,27,62,.22);
  border-radius:18px;
  background:#fff;
  color:#061b3e;
  font-size:18px;
  outline:none;
  box-shadow:none;
}

#adress_input:focus{
  border-color:#061b3e;
}

#adress_search_btn{
  flex:0 0 auto;
  height:54px;
  padding:0 24px;
  border:none;
  border-radius:18px;
  background:#061b3e;
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease;
}

#adress_search_btn:hover{
  transform:translateY(-1px);
  background:#0b2f66;
}

#map-container{
  display:block;
  margin-top:24px;
  margin-bottom:40px;
}

#map{
  width:100%;
  height:680px;
  min-height:680px;
  border-radius:26px;
  overflow:hidden;
  background:#dfe7f3;
  box-shadow:0 18px 50px rgba(6,27,62,.10);
}

#panel{
  display:none !important;
}

/* on masque la croix native Google */
.gm-style .gm-ui-hover-effect,
.gm-style .gm-style-iw-chr,
.gm-style .gm-style-iw-tc{
  display:none !important;
}

/* wrappers Google */
.gm-style .gm-style-iw-c{
  padding:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  max-width:min(92vw,460px) !important;
}

.gm-style .gm-style-iw-d{
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
  max-width:100% !important;
  max-height:none !important;
}

/* popup */
.gm-style .store-popup,
.gm-style .store-popup *{
  box-sizing:border-box !important;
  font-family:var(--font-serta) !important;
}

.gm-style .store-popup{
  position:relative !important;
  width:320px !important;
  min-width:0 !important;
  max-width:320px !important;
  background:#fff !important;
  color:#163152 !important;
  overflow:hidden !important;
  border-radius:24px !important;
  border:1px solid rgba(6,27,62,.08) !important;
  box-shadow:0 18px 40px rgba(6,27,62,.16) !important;
  outline:none !important;
}

.gm-style .store-popup:focus,
.gm-style .store-popup *:focus{
  outline:none !important;
  box-shadow:none !important;
}

/* bouton fermer custom */
.gm-style .store-popup__close{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  z-index:20 !important;
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  border:3px solid #6f6f6f !important;
  background:#f3f3f3 !important;
  color:#666 !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:400 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  cursor:pointer !important;
  padding:0 !important;
  box-shadow:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}

.gm-style .store-popup__close:hover{
  background:#ececec !important;
}

.gm-style .store-popup__close:focus,
.gm-style .store-popup__close:active{
  outline:none !important;
  box-shadow:none !important;
  background:#ececec !important;
}

/* top */
.gm-style .store-popup__top{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:14px 64px 12px 16px !important;
  background:#fff !important;
  min-height:72px !important;
}

.gm-style .store-popup__brand{
  width:auto !important;
  height:74px !important;
  display:block !important;
  flex:0 0 auto !important;
}

.gm-style .store-popup__badge{
  margin-left:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:9px 14px !important;
  min-height:38px !important;
  border-radius:999px !important;
  background:#edf4ff !important;
  color:#061b3e !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  text-align:center !important;
  white-space:normal !important;
  max-width:170px !important;
}

/* photo */
.gm-style .store-popup__photo-wrap{
  width:100% !important;
  background:#fff !important;
  padding:0 !important;
  overflow:hidden !important;
}

.gm-style .store-popup__photo{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  background:#fff !important;
}

/* body */
.gm-style .store-popup__body{
  padding:16px 16px 18px !important;
}

.gm-style .store-popup__title{
  display:block !important;
  margin:0 0 10px 0 !important;
  padding:0 !important;
  color:#061b3e !important;
  font-size:18px !important;
  line-height:1.08 !important;
  font-weight:700 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
}

.gm-style .store-popup__distance{
  display:inline-block !important;
  margin:0 0 10px 0 !important;
  padding:6px 9px !important;
  border-radius:999px !important;
  background:#fee22f !important;
  color:#061b3e !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1 !important;
}

.gm-style .store-popup__address{
  display:block !important;
  margin:0 0 10px 0 !important;
  padding:0 !important;
  color:#163152 !important;
  font-size:15px !important;
  line-height:1.28 !important;
  font-weight:400 !important;
  text-align:left !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}

.gm-style .store-popup__meta{
  display:block !important;
  margin:7px 0 0 0 !important;
  padding:0 !important;
  color:#163152 !important;
  font-size:14px !important;
  line-height:1.32 !important;
  font-weight:400 !important;
  text-align:left !important;
}

.gm-style .store-popup__meta-label{
  font-weight:700 !important;
  color:#061b3e !important;
}

.gm-style .store-popup__meta-value{
  font-weight:400 !important;
  color:#163152 !important;
  white-space:pre-line !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}

.gm-style .store-popup__meta a{
  color:#061b3e !important;
  text-decoration:underline !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}


#adress_reset_btn{
  flex:0 0 auto;
  height:54px;
  padding:0 22px;
  border:1px solid rgba(6,27,62,.16);
  border-radius:18px;
  background:#fff;
  color:#061b3e;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}

#adress_reset_btn:hover{
  transform:translateY(-1px);
  background:#f7faff;
  border-color:rgba(6,27,62,.28);
}



@media (max-width:991px){
  #map{
    min-height:420px;
    height:420px;
  }

  .gm-style .store-popup{
    max-width:400px !important;
  }

  .gm-style .store-popup__top{
    padding:13px 58px 10px 14px !important;
    gap:12px !important;
    min-height:68px !important;
  }

  .gm-style .store-popup__badge{
    padding:8px 12px !important;
    min-height:36px !important;
    font-size:12px !important;
    max-width:150px !important;
  }

  .gm-style .store-popup__body{
    padding:14px 14px 16px !important;
  }

  .gm-style .store-popup__title{
    font-size:17px !important;
  }

  .gm-style .store-popup__address{
    font-size:14px !important;
  }

  .gm-style .store-popup__meta{
    font-size:13px !important;
  }

  .gm-style .store-popup__close{
    width:42px !important;
    height:42px !important;
    font-size:26px !important;
  }
}

@media (max-width:760px){
  .store-search-wrap{
    margin:18px 0 22px;
  }

  .store-search-box{
    flex-direction:column;
    max-width:none;
    gap:10px;
  }

  #adress_input{
    width:100%;
    min-height:48px;
    height:48px;
    font-size:16px;
    border-radius:14px;
  }

  #adress_search_btn{
    width:100%;
    min-height:48px;
    height:48px;
    font-size:15px;
  }

    #adress_reset_btn{
    width:100%;
    min-height:48px;
    height:48px;
    font-size:15px;
    border-radius:14px;
  }

  #map{
    height:520px;
    min-height:520px;
    border-radius:20px;
  }

  .gm-style .gm-style-iw-c{
    max-width:calc(100vw - 48px) !important;
  }

  .gm-style .store-popup{
    width:min(320px, calc(100vw - 56px)) !important;
    min-width:0 !important;
    max-width:min(320px, calc(100vw - 56px)) !important;
    border-radius:22px !important;
  }

  .gm-style .store-popup__top{
    padding:12px 56px 10px 13px !important;
    gap:10px !important;
    align-items:flex-start !important;
    min-height:64px !important;
  }

  .gm-style .store-popup__brand{
    height:62px !important;
  }

  .gm-style .store-popup__badge{
    padding:8px 10px !important;
    min-height:34px !important;
    font-size:11px !important;
    line-height:1.1 !important;
    max-width:128px !important;
  }

  .gm-style .store-popup__photo-wrap{
    height:150px !important;
    min-height:150px !important;
    max-height:150px !important;
  }

  .gm-style .store-popup__body{
    padding:13px 13px 15px !important;
  }

  .gm-style .store-popup__title{
    font-size:16px !important;
    line-height:1.08 !important;
  }

  .gm-style .store-popup__address{
    font-size:13px !important;
    line-height:1.26 !important;
  }

  .gm-style .store-popup__meta{
    font-size:12px !important;
    line-height:1.28 !important;
  }

  .gm-style .store-popup__close{
    top:10px !important;
    right:10px !important;
    width:40px !important;
    height:40px !important;
    border-width:3px !important;
    font-size:24px !important;
  }
}



.store-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:22px;
  align-items:stretch;
}

.store-sidebar{
  background:#fff;
  border-radius:26px;
  border:1px solid rgba(6,27,62,.08);
  box-shadow:0 18px 50px rgba(6,27,62,.08);
  overflow:hidden;
  min-height:680px;
  max-height:680px;
  display:flex;
  flex-direction:column;
}

.store-sidebar__head{
  padding:22px 22px 16px;
  border-bottom:1px solid rgba(6,27,62,.08);
  background:#fff;
}

.store-sidebar__head h3{
  margin:0 0 6px 0;
  color:#061b3e;
  font-size:24px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.02em;
}

.store-sidebar__head p{
  margin:0;
  color:#5d6f89;
  font-size:14px;
  line-height:1.35;
  font-weight:400;
}

.store-results{
  flex:1 1 auto;
  overflow:auto;
  padding:10px;
  background:#f8fbff;
}

.store-results__empty{
  padding:20px 16px;
  color:#5d6f89;
  font-size:14px;
  line-height:1.4;
}

.store-result-item{
  width:100%;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border:none;
  border-radius:18px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  margin:0 0 10px 0;
  box-shadow:0 8px 20px rgba(6,27,62,.06);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.store-result-item:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(6,27,62,.10);
}

.store-result-item.is-active{
  background:#eef5ff;
  box-shadow:0 12px 24px rgba(6,27,62,.12);
}

.store-result-item__rank{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#061b3e;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:700;
}

.store-result-item__content{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.store-result-item__title{
  color:#061b3e;
  font-size:18px;
  line-height:1.15;
  font-weight:700;
  margin-bottom:4px;
}

.store-result-item__meta{
  color:#0b2f66;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  margin-bottom:6px;
}

.store-result-item__address{
  color:#163152;
  font-size:14px;
  line-height:1.35;
  margin-bottom:8px;
}

.store-result-item__distances{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.store-result-item__road,
.store-result-item__direct{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 8px;
  border-radius:999px;
  background:#f3f7fc;
  color:#163152;
  font-size:12px;
  line-height:1;
  font-weight:600;
}

@media (max-width:1199px){
  .store-layout{
    grid-template-columns:minmax(0,1fr) 320px;
  }
}

@media (max-width:991px){
  .store-layout{
    grid-template-columns:1fr;
  }

  .store-sidebar{
    display:none;
  }
}

/* =========================================================
   PAGE COLLECTION LANDING
========================================================= */
.collection-landing{
  padding-bottom:34px;
}

.collection-hero{
  position:relative;
  min-height:500px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#091a36;
}

.collection-hero__media{
  position:absolute;
  inset:0;
}

.collection-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

.collection-hero__overlay{
  position:absolute;
  inset:0;
}

.collection-hero--perfect .collection-hero__overlay{
  background:linear-gradient(
    90deg,
    rgba(6,27,62,.86) 0%,
    rgba(6,27,62,.70) 34%,
    rgba(6,27,62,.38) 62%,
    rgba(6,27,62,.20) 100%
  );
}

.collection-hero--iseries .collection-hero__overlay{
  background:linear-gradient(
    90deg,
    rgba(8,24,46,.88) 0%,
    rgba(8,24,46,.72) 34%,
    rgba(8,24,46,.42) 62%,
    rgba(8,24,46,.22) 100%
  );
}

.collection-hero .main-container{
  position:relative;
  z-index:2;
}

.collection-hero__content{
  max-width:820px;
  margin:0 auto;
  padding:44px 0;
  color:#fff;
  text-align:center;
}

.collection-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 14px 0;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  font-size:14px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.02em;
}

.collection-hero__title{
  margin:0;
  color:#fff;
  font-size:60px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}

.collection-hero__text{
  margin:18px auto 0;
  max-width:760px;
  color:rgba(255,255,255,.95);
  font-size:22px;
  line-height:1.4;
  font-weight:400;
}

.collection-hero__buttons{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:center;
}

.collection-products-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:10px;
}

.collection-product-card{
  min-width:0;
}

.collection-product-card__link{
  display:block;
  height:100%;
  overflow:hidden;
  background:#fff;
  border-radius:24px;
  box-shadow:var(--serta-shadow);
  border:1px solid rgba(6,27,62,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.collection-product-card__link:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 54px rgba(6,27,62,.12);
  border-color:rgba(6,27,62,.12);
}

.collection-products-grid--iseries .collection-product-card__link:hover{
  box-shadow:0 22px 54px rgba(8,24,46,.14);
}

.collection-product-card__media{
  aspect-ratio:1.45 / 1;
  overflow:hidden;
  background:#e9eef7;
}

.collection-product-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.collection-product-card__body{
  padding:20px 22px 22px;
}

.collection-product-card__collection{
  display:inline-flex;
  margin-bottom:10px;
  padding:7px 11px;
  border-radius:999px;
  background:#edf4ff;
  color:var(--serta-blue-2);
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.collection-product-card__collection--iseries{
  background:#e8f3ff;
  color:#0b2f66;
}

.collection-product-card__title{
  margin:0 0 10px 0;
  color:var(--serta-blue);
  font-size:28px;
  line-height:1.03;
  font-weight:700;
  letter-spacing:-.03em;
}

.collection-product-card__text{
  margin:0;
  color:var(--serta-text);
  font-size:16px;
  line-height:1.42;
  font-weight:400;
}

.collection-product-card__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:16px;
  padding:10px 18px;
  border-radius:999px;
  background:var(--serta-blue);
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:700;
  box-shadow:0 10px 24px rgba(6,27,62,.14);
}

.cta-panel--collection{
  min-height:390px;
}

.cta-panel--iseries::before{
  background:linear-gradient(
    90deg,
    rgba(10,24,48,.98) 0%,
    rgba(10,24,48,.92) 18%,
    rgba(10,24,48,.76) 35%,
    rgba(10,24,48,.36) 55%,
    rgba(10,24,48,0) 72%
  );
}

@media (max-width:991px){
  .collection-hero{
    min-height:440px;
  }

  .collection-hero__title{
    font-size:44px;
  }

  .collection-hero__text{
    font-size:19px;
  }

  .collection-products-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .collection-product-card__title{
    font-size:25px;
  }
}

@media (max-width:760px){
  .collection-hero{
    min-height:380px;
  }

  .collection-hero__content{
    padding:30px 0 34px;
  }

  .collection-hero__eyebrow{
    font-size:13px;
    margin-bottom:10px;
  }

  .collection-hero__title{
    font-size:34px;
    line-height:1.04;
  }

  .collection-hero__text{
    margin-top:14px;
    font-size:17px;
    line-height:1.45;
  }

  .collection-hero__buttons{
    margin-top:22px;
    flex-direction:column;
    align-items:center;
  }

  .collection-hero__buttons .hero-btn{
    width:100%;
    max-width:320px;
  }

  .collection-product-card__body{
    padding:18px 18px 20px;
  }

  .collection-product-card__title{
    font-size:23px;
  }

  .collection-product-card__text{
    font-size:15px;
    line-height:1.4;
  }
}

/* =========================================================
   FOOTER
========================================================= */
#footer{
  width:100%;
  margin-top:40px;
  padding:0;
  clear:both;
  overflow:hidden;
  background:var(--serta-blue);
  color:#fff;
  flex-shrink:0;
  border-radius:0;
}

#footer .main-container{
  width:100%;
  max-width:var(--serta-container);
  margin:0 auto;
  padding-top:54px;
  padding-bottom:36px;
  padding-left:22px;
  padding-right:22px;
  text-align:left;
}

#footer h3{
  margin:0 0 22px 0;
  font-size:42px;
  line-height:1;
  font-weight:900;
  color:#fff;
}

#footer a{
  color:#fff;
}

#footer a:hover{
  opacity:.88;
}

#footer .footer-email{
  font-size:22px;
  line-height:1.2;
  font-weight:700;
  color:#fff;
  margin-bottom:6px;
}

#footer .footer-links-line{
  font-size:16px;
  line-height:1.24;
  color:#fff;
  font-weight:400;
}

#footer .footer-links-line + .footer-links-line{
  margin-top:2px;
}

#footer .footer-brand-row{
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:32px;
}

#logo_footer{
  width:72px;
  max-width:none;
  margin:0;
  flex:0 0 auto;
}

.footer-socials{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  margin:0;
}

.footer-socials a{
  width:auto;
  height:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
  background:transparent;
  padding:0;
}

.footer-socials a img{
  width:20px;
  height:20px;
  object-fit:contain;
}

#copyright{
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.75);
  opacity:.92;
}

#copyright small{
  display:block;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
}

@media (max-width:991px){
  #footer .main-container{
    padding-top:46px;
    padding-bottom:32px;
  }

  #footer h3{
    font-size:38px;
  }

  #footer .footer-email{
    font-size:21px;
  }

  #footer .footer-links-line{
    font-size:15px;
  }
}

@media (max-width:760px){
  #footer{
    border-radius:0;
  }

  #footer .main-container{
    padding-top:34px;
    padding-bottom:28px;
    padding-left:16px;
    padding-right:16px;
  }

  #footer h3{
    font-size:32px;
    margin-bottom:16px;
  }

  #footer .footer-email{
    font-size:20px;
    line-height:1.2;
    margin-bottom:6px;
  }

  #footer .footer-links-line{
    font-size:15px;
    line-height:1.24;
  }

  #footer .footer-brand-row{
    gap:20px;
    margin-top:24px;
    flex-wrap:wrap;
  }

  #logo_footer{
    width:64px;
  }

  .footer-socials{
    gap:14px;
  }

  .footer-socials a img{
    width:18px;
    height:18px;
  }

  #copyright{
    margin-top:22px;
    padding-top:16px;
  }

  #copyright small{
    font-size:14px;
  }
}

@media (max-width:410px){
  #footer{
    padding:2rem 0;
  }
}

@media (max-width:310px){
  #footer img#logo_footer{
    margin-right:0;
    display:block;
    margin-bottom:2rem;
  }
}