/* =========================================================
   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-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;
}

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{
  width:100%;
  max-width:var(--serta-container);
  margin:0 auto;
  padding-left:22px;
  padding-right:22px;
}

.home-container{
  width:100%;
  max-width:var(--serta-container);
  margin:0 auto;
  padding-left:22px;
  padding-right:22px;
  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;
  text-decoration:none;
  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:0.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;
  text-decoration:none !important;
  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 / 0.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,0.95) 18%,
    rgba(17,29,52,0.75) 35%,
    rgba(17,29,52,0.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,0.98) 0%,
      rgba(17,29,52,0.92) 28%,
      rgba(17,29,52,0.75) 55%,
      rgba(17,29,52,0.35) 78%,
      rgba(17,29,52,0.15) 100%
    );
  }

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

/* =========================================================
   PAGE COLLECTION PRODUIT
========================================================= */
.collection-page{
  width:100%;
  max-width:1280px;
  padding-top:0;
  padding-bottom:32px;
  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;
}

#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:-0.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;
}

#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;
  font-family:"GT Walsheim Pro", Arial, Helvetica, sans-serif !important;
}

#produits_collection > a > h1{
  margin:0 26px 10px;
  font-family:"GT Walsheim Pro", Arial, Helvetica, sans-serif !important;
  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-family:var(--font-body);
  font-size:14px;
  line-height:1.35;
  color:#163152;
}

#texte-produit{
  margin-bottom:2em;
}

#texte-produit > h1{
  font-size:3.5em;
  font-weight:900;
  margin-bottom:0;
  font-family:"GT Walsheim Pro", Arial, Helvetica, sans-serif !important;
}

#texte-produit > h4{
  margin-top:0;
  margin-bottom:1em;
}

#details_produit{
  clear:both;
  margin-bottom:2em;
}

#details_produit > h2{
  margin-top:0;
  margin-bottom:0;
}

#photos-produit img{
  width:24.5%;
  vertical-align:middle;
  margin-right:.66%;
  margin-bottom:.66%;
  cursor:pointer;
}

#photos-produit img:hover{
  opacity:.6;
}

#photos-produit img:first-child{
  width:100%;
  margin-right:0;
}

#photos-produit img:last-child{
  margin-right:0;
}

#description_produit,
.fermete{
  margin-bottom:1em;
}

.fermete,
.coupe{
  width:100%;
}

.img_collection{
  width:100%;
  max-width:300px;
  margin-bottom:1.5rem;
  display:block;
}

.picto{
  width:20%;
  min-width:60px;
  padding-right:2%;
}

.bt-pdf{
  width:13em;
  min-width:83px;
  margin-top:.3em;
  margin-bottom:.3em;
}

.bt-pdf:hover{
  opacity:.5;
}

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

.composition{
  margin:1em 0;
  padding:.2em;
  border:2px solid #5cc7ed;
  border-radius:23px;
  list-style: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;
  rotate:180deg;
  right:0;
  top:50%;
  transform:translate(-.5em, 50%);
  writing-mode:vertical-lr;
  background-color:#fff;
  padding:.5em 0;
}

.composition li{
  background-color:#caf0f5;
  padding:.4em;
  padding-left:2.5em;
  margin:.3em;
  border-radius:1em;
}

.composition > li > span{
  background-color:#000;
  color:#fff;
  font-weight:600;
  font-size:.7em;
  border:2px solid #fff;
  border-radius:50%;
  display:inline-block;
  width:1.1rem;
  height:1.1rem;
  text-align:center;
  position:absolute;
  margin-left:-2rem;
  line-height:.9rem;
  margin-top:-.1em;
}

@media (max-width:1199px){
  .collection-page{
    max-width:1220px;
  }

  #presentation_collection h1{
    font-size:50px;
  }
}

@media (max-width:991px){
  .collection-page{
    max-width:1200px;
  }

  #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;
    text-align:left;
  }

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

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

  #presentation_collection{
    margin-bottom:20px;
  }

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

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

  #produits_collection > a > h4{
    margin:14px 18px 4px;
    font-size:13px;
  }

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

  #produits_collection > a > p{
    margin:0 18px 16px;
    font-size:13px;
  }
}

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

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

@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){
  #texte-produit{
    width:36%;
    margin-left:64%;
  }

  #details_produit > h2{
    padding-top:25px;
  }

  #photos-produit{
    width:60%;
    float:left;
  }

  .picto{
    width:20%;
    padding-right:3%;
  }

  .fermete{
    padding-right:3%;
  }
}

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

/* =========================================================
   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;
}

.gm-style .gm-style-iw-c{
  padding:0 !important;
  border-radius:24px !important;
  box-shadow:0 18px 40px rgba(6,27,62,.16) !important;
  overflow:hidden !important;
  max-width:min(92vw, 460px) !important;
}

.gm-style .gm-style-iw-d{
  overflow:auto !important;
  padding:0 !important;
}

.gm-style .gm-ui-hover-effect{
  top:12px !important;
  right:12px !important;
  opacity:1 !important;
}

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

.gm-style .store-popup{
  width:100% !important;
  min-width:0 !important;
  max-width:340px !important;
  background:#fff !important;
  color:#163152 !important;
}

.gm-style .store-popup__top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:14px 16px 12px !important;
  background:#fff !important;
}

.gm-style .store-popup__brand{
  width:auto !important;
  height:74px !important;
  display:block !important;
  position:absolute;
  margin-top:-13px;
  margin-left:-6px;
}

.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;
}

.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:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
}

.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:-0.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;
}

.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;
}

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

@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 14px 10px !important;
    gap:12px !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;
  }
}

@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;
  }

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

  .gm-style .gm-style-iw-c{
    max-width:min(92vw, 360px) !important;
    border-radius:22px !important;
  }

  .gm-style .store-popup{
    min-width:0 !important;
    max-width:340px !important;
  }

  .gm-style .store-popup__top{
    padding:12px 13px 10px !important;
    gap:10px !important;
    align-items:center !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__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;
  }
}

/* =========================================================
   PAGE CONTACT
========================================================= */
.contact-page{
  padding-bottom:34px;
}

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

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

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

.contact-hero__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(6,27,62,.88) 0%,
    rgba(6,27,62,.74) 32%,
    rgba(6,27,62,.48) 60%,
    rgba(6,27,62,.28) 100%
  );
}

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

.contact-hero__content{
  max-width:760px;
  margin:0 auto;
  padding:34px 0;
  color:#fff;
  text-align:center;
}

.contact-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;
}

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

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

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

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

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

.contact-card--highlight{
  background:linear-gradient(180deg,#ffffff 0%, #f6faff 100%);
}

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

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

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

.contact-card__text + .contact-card__text{
  margin-top:14px;
}

.contact-card__mail{
  margin:8px 0 0 0;
  font-size:22px;
  line-height:1.2;
  font-weight:700;
}

.contact-card__mail a{
  color:var(--serta-blue);
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

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

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

  .contact-hero__title{
    font-size:46px;
  }

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

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

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

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

  .contact-hero__content{
    padding:34px 0 40px;
  }

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

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

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

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

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

  .contact-card{
    padding:22px 18px;
    border-radius:22px;
  }

  .contact-card__title{
    font-size:22px;
  }

  .contact-card__text{
    font-size:16px;
    line-height:1.5;
  }

  .contact-card__mail{
    font-size:20px;
  }
}

/* =========================================================
   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,0.98) 0%,
    rgba(10,24,48,0.92) 18%,
    rgba(10,24,48,0.76) 35%,
    rgba(10,24,48,0.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;
  }
}