/* =========================================================
   Fisio Cosmetics - static showcase clone
   Palette: gold #BA9434 / cream #FFF6E5 / mint #D9E9D9
   ========================================================= */

@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-300.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-500.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format('woff2');}
:root{
  --fisio-main:#BA9434;
  --fisio-ow:#FFF6E5;
  --fisio-mint:#D9E9D9;
  --fisio-ink:#000;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  font-family:'Poppins',Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
  color:var(--fisio-ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;}

a{color:inherit;text-decoration:none;}

ul{list-style:none;margin:0;padding:0;}

h1,h2,h3,h4,h5,p{margin:0;font-weight:400;}

.mb-0{margin-bottom:0!important;}
.mb-32{margin-bottom:32px;}
.text-right{text-align:right;}

/* ---------------- Top bar ---------------- */
.topbar{
  background:var(--fisio-mint);
  position:relative;
  z-index:1030;
}
.topbar-inner{
  max-width:1664px;
  margin:0 auto;
  min-height:44px;
  padding:6px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.soctop{
  display:flex;
  align-items:center;
  gap:24px;
  flex-shrink:0;
}
.soctop li{display:flex;align-items:center;}
.soctop a{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  line-height:1;
  color:#333;
}
.soctop .ic{display:inline-flex;align-items:center;}
.soctop svg{display:block;}

.topbar-center{
  flex:1;
  text-align:center;
  font-size:15px;
  white-space:nowrap;
}

.menu-srv{
  display:flex;
  align-items:center;
  gap:26px;
  flex-shrink:0;
}
.menu-srv li{display:flex;align-items:center;}
.menu-srv a{display:inline-flex;align-items:center;color:#333;}
.menu-srv img{display:block;}
.menu-srv .country a{
  font-size:12px;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:#454545;
  white-space:nowrap;
}
.menu-srv .country span{font-weight:600;}

/* language dropdown */
.flag{position:relative;}
.flag-link{display:flex;align-items:center;gap:6px;padding:6px 0;}
.caret{
  display:inline-block;
  width:0;height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid #333;
  margin-left:4px;
  vertical-align:middle;
}
.caret.right{
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:5px solid #333;
  border-right:0;
  margin-left:8px;
  margin-right:0;
}
.flag .dropdown-menu{
  position:absolute;
  right:0;
  top:100%;
  min-width:170px;
  background:#fff;
  border-radius:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  padding:10px 0;
  display:none;
  opacity:1;
  visibility:visible;
  transform:none;
  margin-top:8px;
  z-index:60;
}
.flag:hover .dropdown-menu{display:block;}
.flag .dropdown-menu a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  font-size:14px;
}
.flag .dropdown-menu a:hover{background:#FFF6E5;}

/* ---------------- Main nav ---------------- */
.mainnav{
  position:sticky;
  top:0;
  z-index:1020;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.04);
  transition:box-shadow .25s ease;
}
.mainnav.scrolled{
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
}
.mainnav-inner{
  position:relative;
  max-width:1664px;
  margin:0 auto;
  padding:10px 16px;
  min-height:132px;
  display:flex;
  align-items:center;
}
.mainmenu{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
}
.menu{
  display:flex;
  align-items:center;
  gap:48px;
}
.menu > li{position:relative;}
.menu > li > a{
  display:inline-flex;
  align-items:center;
  font-size:14px;
  font-weight:600;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#000;
  padding:14px 0;
  position:relative;
}
.menu > li > a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:6px;
  height:4px;
  width:0;
  margin:0 auto;
  background:var(--fisio-main);
  transition:width .45s ease;
}
.menu > li:hover > a::after{width:95%;}

/* dropdowns */
.dropdown-menu{
  position:absolute;
  left:0;
  top:100%;
  margin-top:8px;
  min-width:238px;
  background:var(--fisio-ow);
  border-radius:16px;
  box-shadow:0 32px 32px rgba(0,0,0,.08);
  padding:24px 0;
  display:flex;
  flex-direction:column;
  gap:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
  z-index:80;
}
.has-drop:hover > .dropdown-menu,
.has-drop:focus-within > .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.dropdown-menu li{position:relative;}
.dropdown-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:4px 28px;
  font-size:14px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:#000;
  white-space:nowrap;
}
.dropdown-menu a:hover{color:var(--fisio-main);}
.dropdown-menu .sub{
  top:-24px;
  left:100%;
  margin-top:0;
  min-width:210px;
}
.has-sub:hover > .sub{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* centered logo */
.brand{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:5;
  display:flex;
  align-items:center;
}
.brand img{
  height:106px;
  width:auto;
  display:block;
  transition:height .3s ease;
}
.mainnav.scrolled .brand img{height:78px;}

/* burger */
.burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:42px;height:42px;
  padding:8px;
  background:none;
  border:1px solid var(--fisio-main);
  border-radius:8px;
  cursor:pointer;
}
.burger span{display:block;height:2px;background:#333;width:100%;}

/* search bar */
.searchbar{
  display:none;
  background:#fff;
  border-bottom:1px solid #eee;
}
.searchbar.open{display:block;}
.searchbar-inner{
  max-width:1664px;margin:0 auto;padding:12px 16px;
  display:flex;gap:10px;
}
.searchbar input{
  flex:1;height:44px;border:1px solid #ddd;border-radius:8px;padding:0 16px;
  font-family:inherit;font-size:15px;outline:none;
}
.searchbar input:focus{border-color:var(--fisio-main);}
.searchbar button{
  height:44px;padding:0 26px;border:0;border-radius:8px;
  background:var(--fisio-main);color:#fff;font-family:inherit;font-weight:600;cursor:pointer;
}

/* ---------------- Page / hero ---------------- */
.page{
  max-width:1664px;
  margin:20px auto 0;
  padding:0 15px;
}
.video-frame{
  position:relative;
  padding-top:56.25%;
  border-radius:32px;
  overflow:hidden;
  background:#0d0d0d;
}
.video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.hero-poster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.04);
}
.video-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.16) 100%);
  pointer-events:none;
}
.play-poster{
  position:absolute;
  right:32px;
  bottom:32px;
  width:80px;
  height:80px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.6);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  transition:transform .25s ease,background .25s ease;
}
.play-poster:hover{transform:scale(1.07);background:rgba(0,0,0,.8);}
.play-poster img{width:32px;height:32px;display:block;}

/* ---------------- Slogans ---------------- */
.slogans{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:30px;
  margin:26px 0 20px;
}
.slogan{
  background:var(--fisio-ow);
  border-radius:32px;
  padding:32px 18px;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:124px;
}
.slogan h5{
  font-size:16px;
  line-height:1.5;
  letter-spacing:.1px;
}

/* ---------------- Fisiolinea cards ---------------- */
.row{
  display:flex;
  flex-wrap:wrap;
  gap:30px;
}
.col-half{
  width:calc(50% - 15px);
  min-width:0;
}
.fisiolinea{margin:20px auto;}
.box-fisiolinea{
  height:772px;
  border-radius:24px;
  background-size:cover;
  background-position:center;
  padding:108px 81px 0;
  color:#fff;
  position:relative;
}
.box-fisiolinea-small{
  height:376px;
  border-radius:24px;
  background-size:cover;
  background-position:center;
  padding:24px 64px 0;
  color:#fff;
  margin-bottom:20px;
}
.box-fisiolinea-small:last-child{margin-bottom:0;}

.green{background-image:url(../images/fisiolinea-green-new.jpg);}
.men{background-image:url(../images/fisiolinea-men-new.jpg);}
.ambient{background-image:url(../images/fisiolinea-ambient-new.jpg);}
.women{background-image:url(../images/fisiolinea-women-new.jpg);}
.devices{background-image:url(../images/fisio-devices.jpg);}
.academy{
  background-image:linear-gradient(90deg,#BA9434 18.23%,rgba(186,148,52,0) 90.63%),url(../images/accademia.png);
  background-size:cover,cover;
  background-position:center,center;
}

.title-box{
  font-family:'Poppins',sans-serif;
  font-size:clamp(2rem,1.5146rem + 2.0712vw,4rem);
  font-weight:700;
  line-height:1.08;
  text-transform:uppercase;
  color:#fff;
}
.title-chip{
  display:inline-block;
  background:#fff;
  padding:0 16px;
  border-radius:16px;
  color:#427343;
  font-size:clamp(2rem,-0.1379rem + 3.4483vw,4rem);
  line-height:1.12;
  text-transform:uppercase;
}
.men .title-chip{color:#000;}
.ambient .title-chip{color:#968598;}
.women .title-chip{color:#9F94C8;}
.green .title-box{color:#fff;}

.small-title{
  margin:8px 0 22px;
  font-size:clamp(1.65rem,1.2rem + 1.1vw,2.375rem);
  font-weight:700;
  text-transform:uppercase;
  line-height:1.12;
  color:#fff;
}
.men .small-title,.ambient .small-title{color:#fff;}

.btn-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  color:#fff;
  padding:6.5px 0;
  transition:opacity .2s ease;
}
.btn-link:hover{opacity:.8;}
.green .btn-link{color:#fff;}
.men .btn-link{color:#fff;}
.ambient .btn-link{color:#fff;}
.women .btn-link{color:#fff;}
.devices .btn-link,.academy .btn-link{color:#fff;font-size:21px;font-weight:400;}
.btn-link.big{font-weight:500;}

/* arrow */
.arrow{
  position:relative;
  display:inline-block;
  width:23px;
  height:12px;
  flex-shrink:0;
}
.arrow::before{
  content:"";
  position:absolute;
  left:0;
  top:5px;
  width:21px;
  height:2px;
  background:#FF6050;
}
.arrow::after{
  content:"";
  position:absolute;
  right:0;
  top:1.5px;
  width:8px;
  height:8px;
  border-top:2px solid #FF6050;
  border-right:2px solid #FF6050;
  transform:rotate(45deg);
}

/* ---------------- Women ---------------- */
.fisiolinea-women{
  max-width:1664px;
  margin:0 auto 20px;
}
.fisiolinea-women .box-fisiolinea{
  height:512px;
  padding:81px 96px 0;
}
.women-content{max-width:24%;}
.women-title{
  font-size:clamp(1.8rem,1.4rem + 1.1vw,2.37rem);
  font-weight:700;
  text-transform:uppercase;
  line-height:1.12;
  margin-bottom:32px;
  color:#000;
}
.women-content p{
  font-size:16px;
  line-height:1.55;
  margin-bottom:28px;
  color:#000;
}

/* ---------------- Devices / Academy ---------------- */
.fisiolinea-row-3{
  max-width:1664px;
  margin:0 auto 80px;
}
.fisiolinea-row-3 .box-fisiolinea{
  height:401px;
  padding:48px 48px 0;
}
.devices .title-box{color:#fff;font-size:clamp(1.9rem,2.1vw,2.37rem);}
.devices-sub{
  font-size:21px;
  color:#fff;
  margin:18px 0 42px;
}
.academy-title{
  color:#fff;
  font-size:clamp(1.9rem,2.1vw,2.37rem);
  margin-bottom:20px;
}
.academy p.big{
  color:#fff;
  font-size:21px;
  line-height:1.45;
  max-width:62%;
  margin-bottom:40px;
}

/* ---------------- Newsletter ---------------- */
.newsletter{
  background:#EEEEEE;
  min-height:320px;
  margin-top:64px;
  padding:16px;
  display:flex;
}
.newsletter-container{
  max-width:1525px;
  width:100%;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.newsletter .row{align-items:center;}
.newsletter-text h4{
  font-size:28px;
  font-weight:700;
  margin-bottom:18px;
}
.newsletter-text p.big{
  font-size:21px;
  line-height:1.45;
  max-width:78%;
}
.newsletter-form{width:100%;}
.newsletter-input{
  display:flex;
  width:100%;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.03));
}
.newsletter-input input{
  flex:1;
  height:80px;
  min-width:0;
  border:0;
  border-radius:16px 0 0 16px;
  background:#fff url(../images/envelope-icon.svg) no-repeat 24px center;
  padding:18px 24px 18px 62px;
  font-family:inherit;
  font-size:16px;
  color:#000;
  outline:none;
}
.newsletter-input input::placeholder{
  font-size:21px;
  color:#000;
  opacity:.4;
}
.newsletter-input .btn-subscribe{
  width:261px;
  height:80px;
  flex-shrink:0;
  border:0;
  border-radius:0 16px 16px 0;
  background:var(--fisio-main);
  color:#fff;
  font-family:inherit;
  font-size:21px;
  cursor:pointer;
  transition:background .2s ease;
}
.newsletter-input .btn-subscribe:hover{background:#a8832d;}
.custom-check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:16px;
  font-size:12px;
  line-height:1.55;
  cursor:pointer;
}
.custom-check input{
  appearance:none;
  -webkit-appearance:none;
  width:18px;height:18px;
  flex-shrink:0;
  margin-top:1px;
  border:1px solid #000;
  border-radius:4px;
  background:#fff;
  cursor:pointer;
}
.custom-check input:checked{
  background:var(--fisio-main) url(../images/check-white.svg) center/12px no-repeat;
  border-color:#000;
}
.custom-check span{max-width:75%;}
.custom-check a{text-decoration:underline;}
.form-msg{
  display:none;
  margin-top:10px;
  font-size:13px;
  color:var(--fisio-main);
}
.form-msg.show{display:block;}

/* ---------------- Footer ---------------- */
.bg-footer{
  background:var(--fisio-mint);
  padding:106px 16px 93px;
}
.footer{
  max-width:1525px;
  margin:0 auto;
}
.footer-logo{margin-bottom:76px;}
.footer-logo img{opacity:.5;height:71px;width:auto;}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 1fr;
  gap:28px;
}
.fcol{font-size:14px;}
.fcol p{line-height:1.65;font-size:14px;}
.fcol .fhead{
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:22px;
  font-size:14px;
}
.flinks{display:flex;flex-direction:column;gap:16px;}
.flinks a,.fcol a{font-size:14px;transition:color .3s ease;}
.flinks a:hover,.fcol a:hover{color:var(--fisio-main);}
.info p{margin-bottom:18px;}
.legal-links{margin-bottom:12px;}

.bg-copyright{background:var(--fisio-mint);}
.copyright{
  max-width:1536px;
  margin:0 auto;
  padding:0 15px 35px;
  text-align:center;
}
.payments{
  display:flex;
  justify-content:center;
  gap:14px;
  margin-bottom:16px;
  opacity:.45;
}
.payments span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:26px;
  min-width:38px;
  padding:0 6px;
  border:1px solid #333;
  border-radius:3px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.4px;
}
.pay-visa::before{content:"VISA";}
.pay-mc::before{content:"MC";}
.pay-amex::before{content:"AMEX";}
.pay-paypal::before{content:"PayPal";}
.pay-apple::before{content:"Pay";}
.copyright p{font-size:12px;opacity:.5;}

/* ---------------- Back to top ---------------- */
.to-top{
  position:fixed;
  right:30px;
  bottom:30px;
  width:46px;height:46px;
  border-radius:50%;
  border:0;
  background:#fff;
  box-shadow:0 6px 24px rgba(0,0,0,.16);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:all .25s ease;
  z-index:1000;
}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0);}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1400px){
  .menu{gap:34px;}
  .mainmenu{padding:0 8px;}
  .box-fisiolinea{padding:64px 56px 0;}
  .box-fisiolinea-small{padding:24px 48px 0;}
  .fisiolinea-women .box-fisiolinea{padding:64px 72px 0;}
}

@media (max-width:1199px){
  .slogans{grid-template-columns:repeat(3,1fr);}
  .mainnav-inner{min-height:112px;}
  .brand img{height:88px;}
  .box-fisiolinea{height:640px;padding:48px 40px 0;}
  .box-fisiolinea-small{height:310px;padding:24px 36px 0;}
  .fisiolinea-women .box-fisiolinea{height:460px;padding:48px 48px 0;}
  .women-content{max-width:34%;}
  .fisiolinea-row-3 .box-fisiolinea{height:380px;padding:36px 36px 0;}
  .academy p.big{max-width:72%;}
}

@media (max-width:991px){
  .topbar-center{display:none;}
  .soctop{gap:16px;}
  .menu-srv .country{display:none;}

  .burger{display:flex;}
  .mainnav-inner{min-height:86px;justify-content:space-between;}
  .brand{left:50%;}
  .brand img{height:66px;}
  .mainnav.scrolled .brand img{height:58px;}

  .mainmenu{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    flex-direction:column;
    align-items:stretch;
    padding:12px 16px 24px;
    gap:0;
    border-bottom:1px solid #eee;
    box-shadow:0 24px 40px rgba(0,0,0,.1);
    display:none;
  }
  .mainmenu.open{display:flex;}
  .menu{flex-direction:column;align-items:stretch;gap:0;}
  .menu > li{border-bottom:1px solid #f1f1f1;}
  .menu > li > a{
    display:flex;
    justify-content:space-between;
    padding:16px 4px;
    font-size:15px;
  }
  .menu > li > a::after{display:none;}
  .dropdown-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    display:none;
    box-shadow:none;
    background:#FAF5EA;
    border-radius:10px;
    margin:0 0 12px;
    padding:12px 0;
  }
  .menu li.open > .dropdown-menu{display:flex;}
  .dropdown-menu .sub{position:static;margin:0;padding:6px 0 6px 16px;box-shadow:none;background:transparent;}
  .dropdown-menu a{padding:9px 20px;}

  .slogans{grid-template-columns:repeat(2,1fr);gap:18px;}
  .col-half{width:100%;}
  .box-fisiolinea{height:520px;padding:40px 32px 0;}
  .box-fisiolinea-small{height:300px;padding:24px 32px 0;}
  .fisiolinea-women .box-fisiolinea{height:440px;padding:40px 32px 0;}
  .women-content{max-width:48%;}
  .fisiolinea-row-3 .box-fisiolinea{height:340px;}
  .academy p.big{max-width:80%;}

  .newsletter{min-height:0;margin-top:40px;padding:48px 16px;}
  .newsletter-text{margin-bottom:24px;}
  .newsletter-text p.big{max-width:100%;}
  .newsletter-input input{height:64px;border-radius:16px 0 0 16px;}
  .newsletter-input .btn-subscribe{height:64px;width:200px;font-size:18px;}

  .footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px;}
  .fcol.info{grid-column:1/-1;}
  .bg-footer{padding:56px 20px 48px;}
}

@media (max-width:767px){
  .topbar-inner{padding:8px 12px;}
  .soctop li:nth-child(1),.soctop li:nth-child(2){display:none;}
  .soctop{gap:18px;}
  .menu-srv{gap:18px;}

  .page{margin-top:12px;padding:0 12px;}
  .video-frame{border-radius:20px;}
  .play-poster{width:58px;height:58px;right:16px;bottom:16px;}
  .play-poster img{width:24px;height:24px;}
  .slogans{grid-template-columns:1fr;gap:12px;}
  .slogan{min-height:0;padding:20px 16px;border-radius:20px;}

  .box-fisiolinea{height:420px;padding:28px 22px 0;border-radius:20px;}
  .box-fisiolinea-small{height:260px;padding:22px 22px 0;border-radius:20px;margin-bottom:14px;}
  .green{background-image:linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.38)),url(../images/fisiolinea-green-new.jpg);}
  .men{background-image:linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.38)),url(../images/fisiolinea-men-new.jpg);}
  .ambient{background-image:linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.38)),url(../images/fisiolinea-ambient-new.jpg);}
  .women{background-image:linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,.38)),url(../images/fisiolinea-women-new.jpg);}
  .women-title,.women-content p{color:#fff;}
  .fisiolinea-women{padding:0;}
  .fisiolinea-women .box-fisiolinea{height:400px;padding:28px 22px 0;border-radius:20px;}
  .women-content{max-width:100%;}
  .women-content p{color:#000;}
  .fisiolinea-row-3{padding:0;margin-bottom:52px;}
  .fisiolinea-row-3 .box-fisiolinea{height:330px;padding:26px 22px 0;border-radius:20px;}
  .devices-sub{margin:12px 0 24px;font-size:18px;}
  .academy p.big{max-width:100%;font-size:18px;margin-bottom:24px;}

  .title-box{font-size:30px;}
  .title-chip{font-size:30px;padding:0 10px;}
  .small-title{font-size:26px;}
  .btn-link{font-size:15px;}
  .btn-link.big{font-size:18px;}

  .newsletter{padding:36px 16px;}
  .newsletter .row{margin:0;gap:0;}
  .newsletter .col-half{padding:0;}
  .newsletter-text h4{font-size:24px;}
  .newsletter-text p.big{font-size:17px;}
  .newsletter-input{flex-direction:column;gap:10px;}
  .newsletter-input input{border-radius:12px;height:58px;padding-left:54px;background-position:18px center;}
  .newsletter-input .btn-subscribe{width:100%;height:58px;border-radius:12px;font-size:17px;}
  .custom-check span{max-width:100%;}

  .bg-footer{padding:48px 16px 40px;}
  .footer-logo{margin-bottom:36px;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-grid .fcol.info{grid-column:auto;}
  .footer-logo img{height:56px;}

  .to-top{right:16px;bottom:16px;}
}

