/*
Theme Name: Selfsurfboards
Theme URI: https://selfsurfboards.com
Author: Self Surfboards
Description: Tema custom Self Surfboards
Version: 1.0
Text Domain: selfsurfboards
*/

/* =========================
   RESET + BASE
========================= */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { overflow-x: hidden; }
html { scroll-behavior: smooth; }

body{
  font-family: 'Oswald', sans-serif;
  background: #f2f0ed;
}

ul{ list-style: none; }
a{ text-decoration: none; color: inherit; }

/* =========================
   VARIABLES
========================= */
:root{
  --menu-h: 53px;
  --btn-w: 144px;
  --page-w: 1440px;
  --gutter: 60px;

  --stroke-c: rgba(0,0,0,0.75);
  --stroke: rgba(0,0,0,0.75);

  --menu-bg: #f2f0ed;
  --hover-bg: rgba(0,0,0,0.90);
  --accent: #e5b449;

  --menu-font: 11.95pt;
  --body-font: 14pt;
  --title-size: 35pt;
  --title-line: 1.02;

  --post-w: 800px;
  --img-h: 245px;
  --grid-gap: 50px;
  --grid-min: 320px;
}

/* =========================
   CONTENEDOR
========================= */
.container{
  max-width: var(--page-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

/* =========================
   HEADER / NAV
========================= */
.site-header{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 2000;
  background: var(--menu-bg);
  border-bottom: 1px solid var(--stroke-c);
}

.nav-wrap{
  width: 100%;
  height: var(--menu-h);
}

.nav-inner{
  max-width: var(--page-w);
  margin: 0 auto;
  display: flex;
}

.nav-left,
.nav-right{
  display:flex;
}

.nav-gap{ flex:1; }
.nav-list{ display:flex; }

.nav-item{
  position: relative;
  width: var(--btn-w);
  height: var(--menu-h);
  border-left:1px solid var(--stroke-c);
  border-top:1px solid var(--stroke-c);
  color:#000;
}

.nav-list .nav-item:last-child{
  border-right:1px solid var(--stroke-c);
}

.nav-link{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  font-size: var(--menu-font);
  text-transform: uppercase;
  color: inherit;
}

.nav-item:hover .nav-link,
.nav-item:hover .icon-btn{
  background: var(--hover-bg);
  color:#fff;
}

.cart-toggle{
  color:#000;
}

.cart-icon{
  display:block;
  width:28px;
  height:24px;
}

/* Dropdown */
.has-dropdown .dropdown{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  background: var(--hover-bg);
  border:1px solid var(--stroke-c);
  z-index:2100;
}
.has-dropdown:hover .dropdown{ display:block; }

.dropdown-link{
  display:flex;
  justify-content:center;
  align-items:center;
  height:42px;
  font-size:11pt;
  text-transform: uppercase;
  color:#fff;
  background: transparent;
}
.dropdown-link:hover{
  color: var(--accent);
}

/* Iconos */
.nav-item.nav-icon{ width: var(--btn-w); }

.icon-btn{
  width:100%;
  height:100%;
  border:none;
  background:none;
  cursor:pointer;
  color: inherit;
  display:flex;
  align-items:center;
  justify-content:center;
}

.nav-item.nav-icon.icon-search{ border-right: none; }
.nav-item.nav-icon.icon-bag{ border-left: none; }

/* =========================
   HOME
========================= */
.home-page{ padding-top: var(--menu-h); }

/* HERO */
.hero{
  width:100%;
  position: relative;
  padding-bottom: 0;
}

.hero-video{
  width:100%;
  aspect-ratio: 1440 / 650;
  background:#dcdcdc;
  overflow:hidden;
}

.hero-video video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hero .video-cta-title{
  font-size:40px;
  line-height:1.2;
}

.hero .video-cta-overlay{
  background: linear-gradient(to top, rgba(0,0,0,0.45), rgba(0,0,0,0) 60%);
}

.hero-logo{
  position:absolute;
  left:50%;
  bottom:0;
  transform: translate(-50%, 50%);
  width:95px;
  height:175px;
  object-fit: contain;
  pointer-events:none;
}

/* FILOSOFÍA */
.section-philosophy{
  padding: 140px 0 60px 0;
}

.philo-inner{
  display:flex;
  align-items:center;
}

.philo-media{
  width:600px;
  height:600px;
  background:#ddd;
  flex:0 0 auto;
}

.philo-text{
  margin-left:60px;
  flex:1 1 auto;
}

.philo-title{
  font-family:'Oswald', sans-serif;
  font-weight:550;
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
}

.philo-body{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  line-height:1.45;
}

/* HAZ TU TABLA */
.section-video-cta{
  position: relative;
  width: 100%;
  height: 550px;
  margin: 0 0 80px 0;
}

.video-cta-media{
  width: 100%;
  height: 100%;
  background: #ffffff;
  border-top: 1px solid var(--stroke-c);
  border-bottom: 1px solid var(--stroke-c);
  overflow:hidden;
  position:relative;
}

.video-cta-media video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.video-cta-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  background: linear-gradient(to top, rgba(0,0,0,0.45), rgba(0,0,0,0) 60%);
}

.video-cta-content{
  width: 100%;
  max-width: var(--page-w);
  margin: 0 auto;
  padding: 0 var(--gutter) 40px var(--gutter);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}

.video-cta-title{
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
  margin-bottom: 10px;
}

.video-cta-body{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  line-height:1.45;
}

.cta-more-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:235px;
  height:65px;
  margin-top:20px;
  background:#000;
  color:#fff;
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size:13pt;
  text-transform:uppercase;
  border:1px solid #000;
  text-decoration:none;
  cursor:pointer;
}

.cta-more-btn:hover{
  background:transparent;
  color:#fff;
}

/* CAROUSELS HOME */
.section-home-carousel{
  padding: 40px 0 70px 0;
}

.home-carousel-head{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-bottom: 18px;
}

.home-carousel-title{
  font-family:'Oswald', sans-serif;
  font-weight:550;
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
}

.home-carousel{
  position: relative;
}

.home-track{
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
}

.home-track::-webkit-scrollbar{
  display:none;
}

.home-card{
  flex: 0 0 auto;
  scroll-snap-align: start;
  display:block;
}

.home-thumb-model{
  width: 300px;
  height: 450px;
  background: #d9d3c8;
}

.home-thumb-product{
  width: 300px;
  height: 300px;
  background: #d9d3c8;
}

.home-name{
  margin-top: 18px;
  text-align: center;
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size: var(--menu-font);
  text-transform: uppercase;
}

/* Flechas carousel */
.home-arrow{
  position:absolute;
  top:45%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid #000;
  background:#fff;
  color:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:5;
  padding:0;
  line-height:1;
  font-size:28px;
  transition:all .2s ease;
}

.home-arrow span{
  display:block;
  line-height:1;
  transform:translateY(2px);
}

.home-arrow.left{
  left:calc((100vw - var(--page-w)) / 2 - 28px);
}

.home-arrow.right{
  right:calc((100vw - var(--page-w)) / 2 - 28px);
}

.home-arrow:hover{
  background:#000;
  color:#fff;
}

.home-arrow:focus{
  outline:none;
  box-shadow:none;
}

/* RETAIL STORE */
.section-retail{
  padding: 120px 0 40px 0;
  scroll-margin-top: calc(var(--menu-h) + 20px);
}

.retail-inner{
  display:flex;
  align-items:flex-start;
  gap:60px;
}

.retail-text{
  width:460px;
}

.retail-location{
  font-size:11pt;
  text-transform: uppercase;
  margin-bottom: 28px;
}

.retail-title{
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
  margin-bottom: 18px;
}

.retail-body{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  line-height:1.45;
  margin-bottom: 22px;
}

.retail-btn{
  width:235px;
  height:65px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#000;
  color:#fff;
  font-size:13pt;
  text-transform: uppercase;
  border:1px solid #000;
}

.retail-btn:hover{
  background: transparent;
  color:#000;
}

.retail-image{
  width:735px;
  height:425px;
  margin-left:10px;
  background: url("assets/img/ilustracion-thepass.png") center/contain no-repeat;
}

/* =========================
   FOOTER LEGAL
========================= */
.footer-legal{
  height:290px;
  background:rgba(0,0,0,0.90);
  color:#fff;
  border-top:1px solid rgba(255,255,255,0.25);
}

.footer-legal-inner{
  height:100%;
  max-width:var(--page-w);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
}

.footer-col{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 40px;
}

.footer-col + .footer-col{
  border-left:1px solid rgba(255,255,255,0.25);
}

.footer-logo-wrap{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  gap:26px;
  width:100%;
}

.footer-logo{
  width:70px;
  height:auto;
  display:block;
  filter:invert(1);
}

.footer-links{
  display:flex;
  flex-direction:column;
  gap:10px; /* separación entre links */
}

.footer-links a{
  font-size:20px;
  line-height:1.6;
  opacity:0.75;
  transition:opacity 0.2s ease;
}

.footer-links a:hover{
  opacity:1;
}

/* TITULOS DE COLUMNA (si tienes tipo "Info", etc.) */
.footer-col h4{
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:14px;
  opacity:0.6;
}

/* SEPARACIÓN ENTRE COLUMNAS */
.footer-col{
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* ESPACIO GENERAL DEL FOOTER */
.footer-legal-inner{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:40px;
}

/* EN MÓVIL */
@media (max-width:768px){
  .footer-legal-inner{
    grid-template-columns:1fr;
    gap:30px;
  }

  .footer-links a{
    font-size:14px;
  }
}

.footer-social{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  width:100%;
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size:var(--menu-font);
  text-transform:uppercase;
  text-align:center;
}

.footer-social a{
  color:#fff;
}

.footer-social a:hover{
  color:var(--accent);
}

/* =========================
   MODELS PAGE
========================= */
.models-page{
  padding-top: 26px;
}

.models-intro{
  border-top: 1px solid var(--stroke-c);
  border-bottom: 1px solid var(--stroke-c);
}

.models-intro-inner{
  max-width: var(--page-w);
  margin: 0 auto;
  display:flex;
  min-height: 350px;
}

.models-intro-image{
  width: 720px;
  height: 350px;
  background:#d9d9d9;
  flex: 0 0 auto;
  overflow:hidden;
}

.models-intro-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.models-intro-text{
  flex:1 1 auto;
  padding: 0 var(--gutter);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom: 26px;
}

.models-intro-copy{
  font-family:'Karla',sans-serif;
  font-weight:300;
  font-size: calc(var(--body-font) - 1.5pt);
  line-height:1.45;
  max-width: 560px;
  margin-bottom: 18px;
}

/* Categorías */
.models-cats{
  display:flex;
  gap: 22px;
  flex-wrap:wrap;
}

.models-cat{
  font-family:'Oswald',sans-serif;
  font-weight:400;
  font-size: var(--menu-font);
  text-transform: uppercase;
  padding: 10px 12px;
  line-height:1;
  border: 1px solid transparent;
}

.models-cat:hover{
  color: var(--accent);
}

/* Sección por categoría */
.models-row{
  padding: 70px 0 70px 0;
  scroll-margin-top: calc(var(--menu-h) + 20px);
}

.models-row-head{
  max-width: var(--page-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.models-row-title{
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
  margin-bottom: 18px;
}

/* Carrusel */
.models-carousel{
  max-width: var(--page-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
  position: relative;
}

.carousel-track{
  display:flex;
  gap: 50px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom: 8px;
}

.carousel-track::-webkit-scrollbar{ height: 0; }

.model-card{
  flex: 0 0 auto;
  scroll-snap-align:start;
  display:block;
}

.model-thumb{
  width: 300px;
  height: 470px;
  background:#d9d3c8;
  border: 1px solid var(--stroke-c);
  overflow: hidden;
  position: relative;
}

.model-thumb img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.model-name{
  margin-top: 16px;
  text-align: center;
  font-size: var(--menu-font);
  text-transform: uppercase;
}

/* Flechas */
.carousel-arrow{
  display:none;
  position:absolute;
  top: 120px;
  width:42px;
  height:42px;
  border-radius:999px;
  border:none;
  background: rgba(0,0,0,.30);
  color:#fff;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  font-size: 26px;
  line-height:1;
}

.models-carousel.has-arrows .carousel-arrow{ display:flex; }
.carousel-arrow.left{ left: calc(var(--gutter) - 8px); }
.carousel-arrow.right{ right: calc(var(--gutter) - 8px); }

/* Botón subir */
.back-up-wrap{
  max-width: var(--page-w);
  margin: 0 auto;
  padding: 12px var(--gutter) 0 var(--gutter);
  display:flex;
  justify-content:flex-start;
}

.up-link{
  width: 36px;
  height: 36px;
  border: 1px solid var(--stroke-c);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.up-link:hover{
  background: var(--hover-bg);
  color:#fff;
  border-color: var(--hover-bg);
}

/* =========================
   SINGLE MODEL PAGE
========================= */
.model-page{
  padding: 60px 0 90px 0;
}

.model-wrap{
  max-width: var(--page-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.model-inner{
  display:flex;
  gap:60px;
  align-items:flex-start;
}

/* COLUMNA IZQUIERDA: thumbs + galería */
.model-left{
  width:600px;
  flex:0 0 600px;
  display:flex;
  align-items:flex-start;
  gap:14px;
}

/* ocultar volver */
.model-back{
  display:none !important;
}

.back-row{
  display:none !important;
}

/* THUMBS IZQUIERDA */
.thumbs{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:0;
  width:72px;
  flex:0 0 72px;
  order:1;
}

.thumb{
  width:72px;
  height:90px;
  border:1px solid var(--stroke-c);
  background:#d9d3c8;
  cursor:pointer;
  padding:0;
  overflow:hidden;
}

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

/* GALERÍA */
.model-gallery{
  width:514px;
  flex:0 0 514px;
  aspect-ratio:4 / 5;
  height:auto;
  border:1px solid var(--stroke);
  background:#ddd;
  position:relative;
  overflow:hidden;
  order:2;
}

.model-track{
  display:flex;
  width:100%;
  height:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}

.model-track::-webkit-scrollbar{
  height:0;
}

.model-slide{
  width:514px;
  min-width:514px;
  flex:0 0 514px;
  height:100%;
  scroll-snap-align:start;
  background:#d9d3c8;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
}

.model-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center top;
}

/* ocultar flechas */
.m-arrow{
  display:none !important;
}

.model-right{
  flex:1 1 auto;
  min-width:0;
  padding-top:45px;
}

.model-title{
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
  margin: 0 0 14px 0;
}

.model-desc{
  font-family:'Karla',sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  line-height:1.45;
  max-width: 60ch;
  margin-bottom: 18px;
}

.model-specs{
  border-top:1px solid var(--stroke);
  padding-top:18px;
  display:grid;
  grid-template-columns: 180px 1fr;
  row-gap:10px;
  column-gap:18px;
  font-family:'Karla',sans-serif;
  font-weight:300;
  font-size: var(--body-font);
}

.model-specs .k{
  text-transform:uppercase;
  letter-spacing:.3px;
}

.model-reviews{
  margin-top:40px;
  border-top:1px solid var(--stroke);
  padding-top:22px;
}

.reviews-title{
  font-size: var(--menu-font);
  text-transform: uppercase;
  margin-bottom: 14px;
}

.review-card{
  padding: 14px 0;
  border-top:1px solid rgba(0,0,0,0.18);
}

.review-card:first-of-type{
  border-top:none;
}

.review-text{
  font-family:'Karla',sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  line-height:1.45;
  margin-bottom:8px;
}

.review-author{
  font-size: var(--menu-font);
  text-transform: uppercase;
  opacity: .8;
}

.cta-btn{
  width:235px;
  height:65px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#000;
  color:#fff;
  font-size:13pt;
  text-transform: uppercase;
  border:1px solid #000;
}

.cta-btn:hover{
  background: transparent;
  color:#000;
}

.single-product .model-page{
  padding-top: calc(var(--menu-h) + 60px);
}

/* =========================
   SHOP PAGE
========================= */
.shop-page{
  padding-top: var(--menu-h);
}

.shop-intro{
  border-bottom: 1px solid var(--stroke-c);
}

.shop-intro-inner{
  max-width: var(--page-w);
  margin: 0 auto;
  display: flex;
  min-height: 350px;
}

.shop-intro-image{
  width: 720px;
  height: 350px;
  background: #d9d9d9;
  flex: 0 0 auto;
  overflow: hidden;
}

.shop-intro-image img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.shop-intro-side{
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 var(--gutter) 26px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.shop-intro-text{
  margin-bottom: 18px;
}

.shop-intro-copy{
  font-family: 'Karla', sans-serif;
  font-weight: 300;
  font-size: var(--body-font);
  line-height: 1.45;
  max-width: 560px;
  margin: 0;
}

/* Filtros */
.filters-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.filters{
  display: flex;
  gap: 34px;
  align-items: center;
  flex-wrap: nowrap;
  min-width: 0;
}

.filter-btn{
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  font-size: var(--menu-font);
  text-transform: uppercase;
  background: transparent;
  border: none;
  padding: 10px 12px;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  flex: 0 0 auto;
}

.filter-btn:hover{
  color: var(--accent);
}

.filter-btn.is-active{
  background: var(--hover-bg);
  color: #fff;
}

.back-btn{
  display: none;
  align-items: center;
  gap: 6px;
  font-size: 10.5pt;
  text-transform: uppercase;
  padding: 6px 8px;
  border: 1px solid rgba(0,0,0,0.35);
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
  flex: 0 0 auto;
}

.back-btn svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}

.back-btn:hover{
  background: var(--hover-bg);
  color: #fff;
  border-color: var(--hover-bg);
}

.back-btn.is-visible{
  display: inline-flex;
}

/* Grid */
.shop-grid-wrap{ padding:70px 0 90px 0; }

.shop-grid{
  max-width: var(--page-w);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 32px;
}

.product-card{ display:block; }

.product-thumb{
  width:100%;
  aspect-ratio:4 / 5;
  background:#d9d3c8;
  overflow:hidden;
}

.product-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.product-meta{
  width: 100%;
  display: grid !important;
  grid-template-columns: 1fr auto;
  column-gap: 14px;
  align-items: start;
  padding: 0 !important;
  margin-top: 10px;
}

.product-price{
  font-family:'Karla',sans-serif;
  font-weight:300;
  font-size: var(--menu-font);
  text-transform:none;
  white-space:nowrap;
  margin-left:auto;
  text-align:right;
}

.product-title{
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size: var(--menu-font);
  text-transform:uppercase;
}

.empty{
  max-width: var(--page-w);
  margin:0 auto;
  padding:0 var(--gutter);
  font-family:'Karla',sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  display:none;
}

.empty.is-visible{ display:block; }

.product-card.is-hidden{ display:none; }
.back-btn{ display:none !important; }
.back-btn.is-visible{ display:inline-flex !important; }

/* =========================
   SINGLE PRODUCT (SHOP)
========================= */

.product-page{
  padding-top: 60px;
}

.product-page{
  padding-top: calc(var(--menu-h) + 70px);
  padding-bottom: 90px;
}

.product-wrap{
  max-width: var(--page-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.product-inner{
  display:flex;
  gap:60px;
  align-items:flex-start;
}

/* COLUMNA IZQUIERDA */
.product-left{
  width:600px;
  flex:0 0 600px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  position:static;
}

/* BOTÓN VOLVER */
.p-back{
  position:static;
  margin-bottom:10px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size: var(--menu-font);
  text-transform: uppercase;
  padding: 8px 10px;
  border: 1px solid rgba(0,0,0,0.35);
  background: transparent;
  backdrop-filter:none;
}

.p-back svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
}

.p-back:hover{
  background: var(--hover-bg);
  color:#fff;
  border-color: var(--hover-bg);
}

.p-back{
  display:none !important;
}

/* BREADCRUMB */
.woocommerce-breadcrumb{
  margin-bottom:16px;
  font-family:'Karla', sans-serif;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.5px;
  opacity:0.7;
}

.woocommerce-breadcrumb a{
  text-decoration:none;
  color:inherit;
}

.woocommerce-breadcrumb a:hover{
  opacity:1;
}

.woocommerce-breadcrumb span{
  margin:0 6px;
}

/* meter breadcrumb encima de la galería */
.single-product .woocommerce-breadcrumb{
  display:block;
  width:100%;
  margin-bottom:20px;
}

/* MINIATURAS EN COLUMNA */
.p-thumbs{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:0;
  width:72px;
  flex:0 0 72px;
}

.p-thumb{
  width:72px;
  height:90px;
  border:1px solid var(--stroke-c);
  background:#d9d3c8;
  overflow:hidden;
  padding:0;
  cursor:pointer;
}

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


/* GALERÍA PRINCIPAL */
.p-gallery{
  width:514px;
  flex:0 0 514px;
  height:auto;
  border:1px solid var(--stroke-c);
  background:#ddd;
  overflow:hidden;
  position:relative;
}

.p-track{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}

.p-track::-webkit-scrollbar{
  height:0;
}

.p-slide{
  width:514px;
  flex:0 0 514px;
  scroll-snap-align:start;
  background:#d9d3c8;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
}

.p-slide img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  object-position:center top;
}

/* FLECHAS */
.p-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:999px;
  border:none;
  background: rgba(0,0,0,.30);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  line-height:1;
  user-select:none;
}

.p-arrow.left{ left:10px; }
.p-arrow.right{ right:10px; }

/* COLUMNA DERECHA */
.product-right{
  flex:1 1 auto;
  min-width:0;
  padding-top:45px;
}

.p-title{
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
  margin: 0 0 10px 0;
}

.p-price{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: 18pt;
  margin-bottom: 18px;
}

.p-price del{ opacity:.6; }
.p-price ins{ text-decoration:none; }

.p-desc{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  line-height:1.45;
  max-width:60ch;
  margin-bottom:22px;
}

.p-specs{
  border-top:1px solid var(--stroke-c);
  padding-top:18px;
  margin-top:18px;
  display:grid;
  grid-template-columns: 180px 1fr;
  row-gap:10px;
  column-gap:18px;
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: var(--body-font);
}

.p-specs .k{
  text-transform: uppercase;
  letter-spacing:.3px;
}

/* WooCommerce Add to cart */
.p-buy{
  margin-top:22px;
}

.p-buy .product_meta,
.p-buy .posted_in,
.p-buy .tagged_as{
  display:none;
}

.p-buy form.variations_form{
  margin: 0;
}

.p-buy table.variations{
  width:100%;
  border-collapse:collapse;
  margin: 0 0 10px 0;
}

.p-buy table.variations,
.p-buy table.variations tbody,
.p-buy table.variations tr,
.p-buy table.variations th,
.p-buy table.variations td{
  display:block;
  width:100%;
}

.p-buy table.variations th,
.p-buy table.variations td{
  padding: 0 0 10px 0;
  vertical-align:top;
  text-align:left;
}

.p-buy table.variations th{
  width:180px;
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  text-transform: uppercase;
  letter-spacing:.3px;
  padding: 0 0 6px 0;
}

.p-buy table.variations tr{
  margin: 0 0 14px 0;
}

.p-buy table.variations td{
  padding: 0;
}

.p-buy table.variations select{
  width:235px;
  height:48px;
  border:1px solid #000;
  background:transparent;
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:14pt;
  padding:0 12px;
  outline:none;
}

.p-buy .reset_variations{
  display:inline-block;
  margin-left:12px;
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: 12pt;
  text-decoration: underline;
  opacity:.8;
}

.p-buy .reset_variations:hover{ opacity:1; }

.p-buy .woocommerce-variation-availability,
.p-buy .stock{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: var(--body-font);
  margin: 12px 0 8px 0;
  opacity:.85;
  display:block;
  width:100%;
}

.p-buy form.cart{
  margin-top:18px;
  display:flex;
  gap:15px;
  align-items:center;
  flex-wrap:wrap;
}

.p-buy .woocommerce-variation-add-to-cart{
  display:flex;
  align-items:center;
  gap:15px;
  flex-wrap:nowrap;
}

.p-buy,
.p-buy *{
  text-align:left;
}

.p-buy .quantity{
  display:flex;
}

.p-buy .quantity input.qty{
  width:90px;
  height:65px;
  border:1px solid #000;
  background:transparent;
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:14pt;
  padding-left:14px;
  outline:none;
}

.p-buy button.single_add_to_cart_button{
  width:235px;
  height:65px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#000;
  color:#fff;
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size:13pt;
  text-transform:uppercase;
  border:1px solid #000;
  cursor:pointer;
  margin-top:0;
}

.p-buy button.single_add_to_cart_button:hover{
  background:transparent !important;
  color:#000 !important;
}

.single-product.product-type-simple .p-buy form.cart{
  margin-top: 10px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}

.single-product.product-type-simple .p-buy .quantity{
  margin:0;
}

.single-product.product-type-simple .p-buy .quantity input.qty{
  width:90px;
  height:65px;
}

.single-product.product-type-simple .p-buy button.single_add_to_cart_button{
  width:235px;
  height:65px;
  margin:0;
}

.single-product.product-type-variable .p-buy form.cart{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  margin-top:10px;
}

.single-product.product-type-variable .p-buy form.cart > table.variations{
  order:1;
  width:100%;
}

.single-product.product-type-variable .p-buy form.cart > .single_variation_wrap{
  order:2;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  margin:0;
}

.single-product.product-type-variable .p-buy .single_variation_wrap .woocommerce-variation-availability,
.single-product.product-type-variable .p-buy .single_variation_wrap .stock{
  order:1;
  width:100%;
  margin:10px 0 6px 0;
  display:block;
}

.single-product.product-type-variable .p-buy .single_variation_wrap .woocommerce-variation-add-to-cart,
.single-product.product-type-variable .p-buy .single_variation_wrap .variations_button{
  order:2;
  display:flex;
  align-items:flex-end;
  gap:14px;
  margin:0;
}


/* Related */
.p-related{
  margin-top:70px;
  border-top:1px solid var(--stroke-c);
  padding-top:32px;
}

.p-related-title{
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
  margin-bottom:18px;
}

.p-related-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap:32px;
}

.p-rel-card{
  display:block;
}

.p-rel-thumb{
  width:100%;
  aspect-ratio:4 / 5;
  background:#d9d3c8;
  overflow:hidden;
}

.p-rel-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.p-rel-meta{
  margin-top:16px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  font-size: var(--menu-font);
  text-transform: uppercase;
}

.p-rel-price{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size: var(--menu-font);
  text-transform:none;
  white-space:nowrap;
}

.single-product .p-buy button.single_add_to_cart_button.button,
.single-product .p-buy button.single_add_to_cart_button.button.alt,
.single-product .p-buy a.button,
.single-product .p-buy .button{
  background: #000 !important;
  color: #fff !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* FORZAR thumbs a la izquierda */
.product-left{
  flex-direction: row;
}

.p-thumbs{
  order:1;
}

.p-gallery{
  order:2;
}

/* =========================
   CONTACT PAGE
========================= */
.contact-page{
  max-width: var(--page-w);
  margin: 0 auto;
  padding: calc(var(--menu-h) + 18px) var(--gutter) 90px var(--gutter);
}

.contact-page .head-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  margin-bottom:26px;
}

.contact-page .page-title{
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
}

.contact-page .contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
}

.contact-page .field{ margin-bottom:22px; }

.contact-page label{
  display:block;
  font-size: var(--menu-font);
  text-transform: uppercase;
  margin-bottom:10px;
}

.contact-page input,
.contact-page textarea{
  width:100%;
  border:1px solid #000;
  background:transparent;
  padding:14px;
  font-family:'Karla',sans-serif;
  font-weight:300;
  font-size:14pt;
}

.contact-page textarea{
  min-height:220px;
  resize:vertical;
}

.contact-page .submit-btn{
  margin-top:6px;
  width:235px;
  height:65px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#000;
  color:#fff;
  border:1px solid #000;
  font-size:13pt;
  text-transform:uppercase;
  cursor:pointer;
}

.contact-page .submit-btn:hover{
  background:transparent;
  color:#000;
}

.contact-page .map-frame{
  height:100%;
  min-height:420px;
  border:1px solid var(--stroke-c);
}

.contact-page .map-frame iframe{
  width:100%;
  height:100%;
  border:0;
}

/* =========================
   JOURNAL PAGE / HOME
========================= */
.journal-page{
  background:#f2f0ed;
  color:#000;
}

.journal-page a{
  color:inherit;
  text-decoration:none;
}

.journal-intro{
  border-bottom:1px solid var(--stroke);
}

.journal-intro-inner{
  max-width:var(--page-w);
  margin:0 auto;
  display:flex;
  min-height:350px;
}

.journal-intro-image{
  width:720px;
  height:350px;
  flex:0 0 auto;
  overflow:hidden;
  background:#d9d9d9;
}

.journal-intro-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.journal-intro-text{
  flex:1 1 auto;
  min-width:0;
  padding:0 var(--gutter) 26px var(--gutter);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
}

.journal-intro-text .site-breadcrumb{
  margin:0 0 18px 0;
  padding:0;
  max-width:none;
}

.journal-intro-kicker{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:var(--body-font);
  line-height:1.45;
  max-width:560px;
  margin:0 0 18px 0;
}

.journal-intro-copy{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:var(--body-font);
  line-height:1.45;
  max-width:560px;
}

.journal-grid-wrap{
  padding:70px 0 90px 0;
}

.journal-grid{
  max-width:var(--page-w);
  margin:0 auto;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:var(--grid-gap);
}

.journal-card{
  display:block;
  width:100%;
  min-width:0;
  color:inherit;
  text-decoration:none;
}

.journal-card-thumb{
  width:100%;
  height:var(--img-h);
  border:1px solid #000;
  overflow:hidden;
  background:#d9d3c8;
}

.journal-card-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}

.journal-card:hover .journal-card-thumb img{
  transform:scale(1.06);
}

.journal-card-text{
  margin-top:12px;
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:13pt;
  line-height:1.35;
}

.journal-card-title{
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size:var(--menu-font);
  text-transform:uppercase;
  margin-bottom:6px;
}

.journal-card-excerpt{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:13pt;
  line-height:1.35;
}

/* =========================
   JOURNAL SINGLE POST
========================= */
.journal-post-wrap{
  max-width:var(--page-w);
  margin:0 auto;
  padding:70px var(--gutter) 110px var(--gutter);
  display:flex;
  justify-content:center;
  background:#f2f0ed;
  color:#000;
}

.journal-post{
  width:var(--post-w);
  font-family:'Karla', sans-serif;
  font-weight:300;
}

.journal-post h1{
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size:var(--title-size);
  line-height:var(--title-line);
  text-transform:uppercase;
  margin-bottom:22px;
}

.journal-post-intro{
  font-size:var(--body-font);
  line-height:1.55;
  margin-bottom:26px;
}

.journal-post-content p{
  font-size:var(--body-font);
  line-height:1.55;
  margin-bottom:18px;
}

.journal-block-image{
  width:100%;
  margin:26px 0;
  border:1px solid rgba(0,0,0,.75);
  overflow:hidden;
  background:#d9d3c8;
}

.journal-block-image img{
  display:block;
  width:100%;
  height:auto;
}

.journal-post-content img{
  display:block;
  width:100%;
  height:auto;
  margin:26px 0;
  border:1px solid rgba(0,0,0,.75);
}

.journal-post-content iframe,
.journal-post-content video{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  margin:26px 0;
  border:1px solid rgba(0,0,0,.75);
  background:#d9d3c8;
}

.journal-post-content h2,
.journal-post-content h3,
.journal-post-content h4{
  font-family:'Oswald', sans-serif;
  font-weight:400;
  text-transform:uppercase;
  line-height:1.1;
  margin:30px 0 14px 0;
}

.journal-post-content h2{
  font-size:24pt;
}

.journal-post-content h3{
  font-size:18pt;
}

.journal-post-content ul,
.journal-post-content ol{
  margin:0 0 18px 22px;
}

.journal-post-content li{
  font-size:var(--body-font);
  line-height:1.55;
  margin-bottom:8px;
}

.journal-post .site-breadcrumb{
  margin:0 0 18px 0;
  padding:0;
  max-width:none;
}

/* =========================
   BURGER MENU + RESPONSIVE
========================= */

/* ESTADO BASE DESKTOP */
.burger-btn{
  display:none;
}

.mobile-search-btn{
  display:none;
}

.mobile-menu{
  display:none;
}

/* TABLET */
@media (max-width: 1024px){

  :root{
    --gutter: 24px;
    --title-size: 28pt;
    --body-font: 13pt;
  }

  /* HEADER TABLET */
  .site-header{
    background:transparent;
    border-bottom:none;
  }

  .nav-wrap{
    height:0;
    overflow:visible;
  }

  .nav-inner{
    width:100%;
    max-width:none;
    min-width:0;
    height:0;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    padding:0;
  }

  .nav-left,
  .nav-right,
  .nav-gap{
    display:none !important;
  }

  .burger-btn{
    display:flex;
    position:fixed;
    top:18px;
    right:auto;
    left:24px;
    z-index:3002;
    width:53px;
    height:53px;
    border:none;
    background:transparent;
    cursor:pointer;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    margin:0;
  }

  .burger-btn .burger-line{
    display:block;
    width:26px;
    height:3pt;
    background:#fff;
    transition:transform .25s ease, opacity .25s ease, background .25s ease;
    transform-origin:center;
  }

  .burger-btn.is-open .burger-line{
    background:#000;
  }

  .burger-btn.is-open .burger-line:nth-child(1){
    transform:translateY(9px) rotate(45deg);
  }

  .burger-btn.is-open .burger-line:nth-child(2){
    opacity:0;
  }

  .burger-btn.is-open .burger-line:nth-child(3){
    transform:translateY(-9px) rotate(-45deg);
  }
  
  .mobile-search-btn{
  display:flex;
  position:fixed;
  top:18px;
  right:84px;
  left:auto;
  z-index:3002;
  width:53px;
  height:53px;
  border:none;
  background:transparent;
  cursor:pointer;
  padding:0;
  align-items:center;
  justify-content:center;
  color:#000;
}

  .mobile-menu{
    display:none;
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:3000;
    padding-top:0;
  }

  .mobile-menu.is-open{
    display:block;
  }

  .mobile-menu-panel{
    display:flex;
    flex-direction:column;
    min-height:100vh;
    padding:110px 24px 24px 24px;
    background:rgba(242, 240, 237, 0.60);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:none;
  }

  .mobile-menu-panel a{
    display:flex;
    align-items:center;
    min-height:50px;
    padding:0;
    font-family:'Oswald', sans-serif;
    font-size:calc(var(--menu-font) + 2pt);
    font-weight:700;
    text-transform:uppercase;
    color:#000;
    border-bottom:none;
  }

  .mobile-menu-panel a:hover{
    background:transparent;
  }

  .dropdown{
    display:none !important;
  }

  /* HOME */
  .hero-video{
    aspect-ratio:16 / 9;
  }

  .hero .video-cta-title{
    font-size:28px;
    line-height:1.12;
    max-width:520px;
  }

  .hero-logo{
  position:absolute;
  top:18px;
  left:50%;
  transform:translateX(-50%);
}

  /* FILOSOFÍA */
  .philo-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:24px;
  }

  .philo-media{
    width:calc(100vw - (var(--gutter) * 2));
    max-width:calc(100vw - (var(--gutter) * 2));
    height:auto;
    aspect-ratio:1 / 1;
    flex:none;
    margin:0 auto;
    overflow:hidden;
  }

  .philo-media img,
  .philo-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .philo-text{
    width:calc(100vw - (var(--gutter) * 2));
    max-width:calc(100vw - (var(--gutter) * 2));
    margin:0 auto;
    flex:none;
  }

  /* HAZ TU TABLA */
  .section-video-cta{
    height:500px;
  }

  .video-cta-content{
    padding:0 var(--gutter) 28px var(--gutter);
  }

  .video-cta-title{
    font-size:28pt;
  }

  /* HOME CAROUSELS */
  .home-thumb-model{
    width:260px;
    height:390px;
  }

  .home-thumb-product{
    width:260px;
    height:260px;
  }

  .home-arrow.left{ left:10px; }
  .home-arrow.right{ right:10px; }

  /* RETAIL */
  .retail-inner{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:28px;
  }

  .retail-text{
    width:100%;
  }

  .retail-image{
    width:100%;
    height:320px;
    margin-left:0;
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
  }

  /* MODELS HEADER */
  .models-intro-inner{
    flex-direction:column;
    min-height:auto;
  }

 .models-intro-image{
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
}

  .models-intro-text{
    padding:20px var(--gutter);
  }

  /* SHOP HEADER */
  .shop-page{
    padding-top: 0;
  }

  .shop-intro-inner{
    flex-direction:column;
    min-height:auto;
  }

  .shop-intro-image{
    width:100%;
    height:auto;
    background:transparent;
    overflow:hidden;
    line-height:0;
  }

  .shop-intro-image img{
    width:100%;
    height:auto;
    display:block;
    object-fit:cover;
  }

  .shop-intro-side{
    padding:20px var(--gutter);
  }

  .shop-intro-text{
    padding:0;
    margin-bottom:18px;
  }

  .shop-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:24px;
  }

  .product-thumb{
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
  }

  /* SINGLE MODEL */
  .model-inner{
    flex-direction:column;
    gap:28px;
  }

  .model-left,
  .model-right{
    width:100%;
    flex:none;
  }

  .model-gallery{
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
  }

  .model-track{
    height:100%;
  }

  .model-slide{
    width:100%;
    height:100%;
  }

  .model-right{
    padding-top:0;
  }

  /* SINGLE PRODUCT */
  .product-inner{
    flex-direction:column;
    gap:28px;
  }

  .product-left,
  .product-right{
    width:100%;
    flex:none;
  }

    .p-gallery{
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:4 / 5;
    border:1px solid var(--stroke-c);
    background:#ddd;
    overflow:hidden;
    position:relative;
  }

  .p-track{
    display:flex;
    height:100%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
  }

  .p-slide{
    width:100%;
    height:100%;
    flex:0 0 100%;
    scroll-snap-align:start;
  }

  .p-slide img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    object-position:center;
  }

  .product-right{
    padding-top:0;
  }

    /* FOOTER */
  .footer-legal{
    height:auto;
    padding:34px 0;
  }

  .footer-legal-inner{
    grid-template-columns:1fr;
  }

  .footer-col{
    justify-content:flex-start;
    align-items:flex-start;
    padding:20px 24px;
  }

  .footer-col + .footer-col{
    border-left:none;
    border-top:1px solid rgba(255,255,255,0.25);
  }

  .footer-logo-wrap{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:18px;
    width:100%;
  }

  .footer-logo-wrap .footer-links{
    width:100%;
  }

  .footer-links,
  .footer-social{
    align-items:flex-start;
    text-align:left;
  }

  /* JOURNAL */
  .journal-intro-inner{
    flex-direction:column;
  }

  .journal-intro-image{
    width:100%;
  }

  .journal-intro-text{
    padding:20px var(--gutter);
  }

  .journal-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* MOBILE */
@media (max-width: 768px){

  :root{
    --gutter: 16px;
    --title-size: 22pt;
    --body-font: 12.5pt;
    --menu-font: 10.5pt;
  }

  body{
    overflow-x:hidden;
  }

  /* HEADER MÓVIL */
  .site-header{
    background:transparent;
    border-bottom:none;
  }

  .nav-wrap{
    height:0;
    overflow:visible;
  }

  .nav-inner{
    width:100%;
    max-width:none;
    min-width:0;
    height:0;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    padding:0;
  }

  .nav-left,
  .nav-right,
  .nav-gap{
    display:none !important;
  }

  .burger-btn{
    display:flex;
    position:fixed;
    top:16px;
    right:auto;
    left:16px;
    z-index:3002;
    width:53px;
    height:53px;
    border:none;
    background:transparent;
    cursor:pointer;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    margin:0;
  }

  .burger-btn .burger-line{
    display:block;
    width:24px;
    height:3pt;
    background:#fff;
    transition:transform .25s ease, opacity .25s ease, background .25s ease;
    transform-origin:center;
  }

  .burger-btn.is-open .burger-line{
    background:#000;
  }

  .burger-btn.is-open .burger-line:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }

  .burger-btn.is-open .burger-line:nth-child(2){
    opacity:0;
  }

  .burger-btn.is-open .burger-line:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .mobile-menu{
    display:none;
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:3000;
    padding-top:0;
  }

  .mobile-menu.is-open{
    display:block;
  }

  .mobile-menu-panel{
    display:flex;
    flex-direction:column;
    min-height:100vh;
    padding:110px 20px 20px 20px;
    background:rgba(242, 240, 237, 0.60);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:none;
  }

  .mobile-menu-panel a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:0;
    font-family:'Oswald', sans-serif;
    font-size:calc(var(--menu-font) + 2pt);
    font-weight:700;
    text-transform:uppercase;
    color:#000;
    border-bottom:none;
  }

  .mobile-menu-panel a:hover{
    background:transparent;
  }

  .dropdown{
    display:none !important;
  }

  /* HOME HERO */
  .hero-video{
    aspect-ratio:4 / 6.0;
  }

  .hero .video-cta-content{
    padding:0 var(--gutter) 40px var(--gutter);
  }

  .hero .video-cta-title{
    font-size:21px;
    line-height:1.12;
    max-width:260px;
  }

.hero-logo{
  position:absolute;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  width:52px;
  height:96px;
}

  /* FILOSOFÍA */
  .section-philosophy{
    padding:95px 0 40px 0;
  }

  .philo-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
  }

  .philo-media{
    width:calc(100vw - (var(--gutter) * 2));
    max-width:calc(100vw - (var(--gutter) * 2));
    height:auto;
    aspect-ratio:1 / 1;
    flex:none;
    margin:0 auto;
    overflow:hidden;
  }

  .philo-media img,
  .philo-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .philo-text{
    width:calc(100vw - (var(--gutter) * 2));
    max-width:calc(100vw - (var(--gutter) * 2));
    margin:0 auto;
    flex:none;
    display:block;
    text-align:left;
  }

  .philo-title,
  .philo-body{
    width:100%;
    max-width:100%;
  }

  /* HAZ TU TABLA */
  .section-video-cta{
    height:420px;
    margin-bottom:50px;
  }

  .video-cta-title{
    font-size:22pt;
    line-height:1.05;
  }

  .video-cta-body{
    font-size:14px;
    line-height:1.4;
  }

  .cta-more-btn{
    width:200px;
    height:56px;
    font-size:11pt;
  }

  /* HOME CAROUSELS */
  .section-home-carousel{
    padding:28px 0 44px 0;
  }

  .home-track{
    gap:18px;
  }

  .home-thumb-model{
    width:220px;
    height:330px;
  }

  .home-thumb-product{
    width:220px;
    height:220px;
  }

  .home-arrow{
    width:40px;
    height:40px;
    font-size:22px;
  }

  .home-arrow.left{ left:6px; }
  .home-arrow.right{ right:6px; }

  /* RETAIL */
  .section-retail{
    padding:70px 0 30px 0;
  }

  .retail-inner{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:22px;
  }

  .retail-text{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .retail-image{
    width:100%;
    height:240px;
    margin-left:0;
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    order:2;
  }

  .retail-btn{
    width:200px;
    height:56px;
    font-size:11pt;
    margin-top:0;
    order:3;
  }

  /* MODELS PAGE */
  .models-row{
    padding:40px 0;
  }

  .models-cats{
    gap:10px;
  }

  .models-cat{
    font-size:12px;
    padding:8px 10px;
  }

  .carousel-track{
    gap:20px;
  }

  .model-thumb{
    width:220px;
    height:330px;
  }

  .carousel-arrow{
    width:40px;
    height:40px;
    font-size:22px;
    top:45%;
  }

  .carousel-arrow.left{ left:6px; }
  .carousel-arrow.right{ right:6px; }
  
  
/* SINGLE MODEL */
.model-page{
  padding:calc(var(--menu-h) + 24px) 0 60px 0;
}

.model-wrap{
  padding:0 var(--gutter);
}

.model-inner{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.model-left,
.model-right{
  width:100%;
  flex:none;
}

.model-left{
  display:flex;
  align-items:flex-start;
  gap:12px;
  width:100%;
  min-width:0;
}

.thumbs{
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  gap:10px;
  width:64px;
  min-width:64px;
  flex:0 0 64px;
  margin-top:0;
  order:1;
}

.thumb{
  width:64px;
  aspect-ratio:4 / 5;
  height:auto;
  border:1px solid var(--stroke-c);
  background:#d9d3c8;
  overflow:hidden;
  padding:0;
  flex:0 0 auto;
}

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

.model-gallery{
  width:calc(100vw - (var(--gutter) * 2) - 76px);
  max-width:calc(100vw - (var(--gutter) * 2) - 76px);
  min-width:0;
  flex:0 1 auto;
  height:auto;
  aspect-ratio:4 / 5;
  border:1px solid var(--stroke);
  background:#ddd;
  overflow:hidden;
  position:relative;
  order:2;
}

.model-track{
  display:flex;
  width:100%;
  height:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}

.model-track::-webkit-scrollbar{
  height:0;
}

.model-slide{
  width:100%;
  min-width:100%;
  flex:0 0 100%;
  height:100%;
  scroll-snap-align:start;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
  background:#d9d3c8;
}

.model-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center top;
}

.m-arrow{
  display:none !important;
}

.model-right{
  padding-top:0;
}

.model-title{
  font-size:24pt;
  margin-bottom:10px;
}

.model-desc{
  font-size:13pt;
}

.model-specs{
  grid-template-columns:1fr;
  row-gap:4px;
  column-gap:0;
}

.cta-btn{
  width:200px;
  height:56px;
  font-size:11pt;
}
  
.models-intro-image{
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
}

  /* SHOP */
.shop-page{
  padding-top: 0;
}

.shop-intro-inner{
  flex-direction:column;
  min-height:auto;
}

.shop-intro-image{
  width:100%;
  height:auto;
  background:transparent;
  overflow:hidden;
  line-height:0;
}

.shop-intro-image img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

.shop-intro-side{
  padding:20px var(--gutter);
}

.shop-intro-text{
  padding:0;
  margin-bottom:14px;
}

.shop-intro-copy{
  margin:0;
}

/* FILTROS */
.filters-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}

.filters{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  min-width:0;
}

.filter-btn,
.filter-btn:visited,
.filter-btn:active,
.filter-btn:focus{
  color:#000;
  font-size:12px;
  padding:8px 10px;
  white-space:nowrap;
}

/* GRID PRODUCTOS */
.shop-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
}

/* IMAGEN PRODUCTO */
.product-thumb{
  width:100%;
  aspect-ratio:4 / 5;
  background:#d9d3c8;
  overflow:hidden;
}

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

/* TEXTO PRODUCTO */
.product-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:8px;
}

.product-title{
  font-family:'Oswald', sans-serif;
  font-weight:400;
  font-size:13px;
  text-transform:uppercase;
  line-height:1.2;
}

.product-price{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:13px;
  text-transform:none;
  margin:0;
}

  /* SINGLE PRODUCT */
.single-product .product-page{
  padding-top:calc(var(--menu-h) + 24px);
  padding-bottom:60px;
}

.product-wrap{
  padding:0 var(--gutter);
}

.product-inner{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.product-left,
.product-right{
  width:100%;
  flex:none;
}



/* FLECHAS */
.p-arrow{
  width:36px;
  height:36px;
  font-size:20px;
}

/* TEXTO PRODUCTO */
.product-right{
  padding-top:0;
}

.p-title{
  font-size:24pt;
}

.p-price{
  font-size:16pt;
}

.p-desc{
  font-size:13pt;
}

.p-specs{
  grid-template-columns:1fr;
  row-gap:4px;
  column-gap:0;
}

.p-buy table.variations select{
  width:100%;
  max-width:240px;
  height:44px;
  font-size:13pt;
}

.p-buy .woocommerce-variation-add-to-cart,
.single-product.product-type-variable .p-buy .single_variation_wrap .woocommerce-variation-add-to-cart,
.single-product.product-type-variable .p-buy .single_variation_wrap .variations_button{
  flex-wrap:wrap;
  align-items:flex-start;
  gap:12px;
}

.p-buy .quantity input.qty{
  width:80px;
  height:56px;
}

.p-buy button.single_add_to_cart_button{
  width:100%;
  max-width:240px;
  height:56px;
  font-size:11pt;
}

/* RELATED PRODUCTS EN 2 COLUMNAS */
.p-related-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
}

.p-rel-thumb{
  width:100%;
  aspect-ratio:4 / 5;
  overflow:hidden;
}

.p-rel-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.p-rel-meta{
  margin-top:8px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.p-rel-card .product-title,
.p-rel-card .p-rel-price{
  font-size:13px;
}

.p-rel-price{
  margin:0;
  white-space:normal;
}

/* CONTACT */
.contact-page{
  padding:40px var(--gutter) 60px var(--gutter);
}

.contact-page .head-grid{
  display:block;
  margin-bottom:26px;
}

.contact-page .page-title{
  font-size:22pt;
  line-height: var(--title-line);
  text-transform: uppercase;
}

/* CONTACT arriba izquierda */
.contact-page .head-grid .page-title:first-child{
  text-align:left;
}

/* ocultamos THE PASS original de arriba */
.contact-page .head-grid .page-title:last-child{
  display:none;
}

.contact-page .contact-grid{
  display:flex;
  flex-direction:column;
  gap:26px;
  align-items:stretch;
}

/* THE PASS fuera del mapa, entre formulario y mapa */
.contact-page .contact-grid::before{
  content:"THE PASS";
  display:block;
  order:2;
  font-family:'Oswald', sans-serif;
  font-size:22pt;
  line-height: var(--title-line);
  text-transform: uppercase;
  color:#000;
  margin:0;
}

/* orden */
.contact-page .contact-form{
  order:1;
  width:100%;
}

.contact-page .map-frame{
  order:3;
  min-height:320px;
  height:320px;
}

.contact-page .field{
  margin-bottom:18px;
}

.contact-page input,
.contact-page textarea{
  width:100%;
}

.contact-page textarea{
  min-height:180px;
}

.contact-page .submit-btn{
  width:200px;
  height:56px;
  font-size:11pt;
}

    /* FOOTER */
  .footer-legal{
    height:auto;
    padding:28px 0;
  }

  .footer-legal-inner{
    grid-template-columns:1fr;
  }

  .footer-col{
    justify-content:flex-start;
    align-items:flex-start;
    padding:18px 16px;
  }

  .footer-col + .footer-col{
    border-left:none;
    border-top:1px solid rgba(255,255,255,0.25);
  }

  .footer-logo-wrap{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:16px;
    width:100%;
  }

  .footer-logo-wrap .footer-links{
    width:100%;
  }

  .footer-links,
  .footer-social{
    align-items:flex-start;
    text-align:left;
  }

  /* JOURNAL */
  .journal-grid{
    grid-template-columns:1fr;
    gap:24px;
    padding:0 var(--gutter);
  }

  .journal-grid-wrap{
    padding:40px 0 60px 0;
  }

  .journal-post-wrap{
    padding:calc(var(--menu-h) + 28px) var(--gutter) 60px var(--gutter);
  }

  .journal-post h1{
    font-size:22pt;
    margin-top:0;
  }

  .journal-post-content h2{
    font-size:18pt;
  }

  .journal-post-content h3{
    font-size:15pt;
  }
}


/* MINI CART DESKTOP */
.mini-cart-toggle-wrap{
  position:relative;
}

.desktop-cart-count{
  position:absolute;
  top:53%;
  right:40px;
  transform:translateY(-50%);
  min-width:18px;
  height:18px;
  padding:0 4px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#000;
  color:#fff;
  font-family:'Oswald', sans-serif;
  font-size:10px;
  line-height:1;
  font-weight:700;
}

.desktop-mini-cart{
  display:none;
  position:absolute;
  top:calc(100% + 1px);
  right:0;
  width:288px;
  max-height:70vh;
  overflow:auto;
  background:#f2f0ed;
  border:1px solid rgba(0,0,0,0.75);
  padding:18px;
  z-index:2500;
}

.desktop-mini-cart.is-open{
  display:block;
}

.desktop-mini-cart ul.product_list_widget{
  list-style:none;
  margin:0;
  padding:0;
}

.desktop-mini-cart ul.product_list_widget li{
  display:grid;
  grid-template-columns:16px minmax(0, 1fr);
  column-gap:12px;
  align-items:start;
  padding:0 0 14px 0;
  margin:0 0 14px 0;
  border-bottom:1px solid rgba(0,0,0,0.15);
}

.desktop-mini-cart ul.product_list_widget li:last-child{
  margin-bottom:0;
}

.desktop-mini-cart a.remove{
  grid-column:1;
  grid-row:1 / span 2;
  position:static !important;
  display:flex !important;
  align-items:flex-start;
  justify-content:center;
  width:16px;
  min-width:16px;
  font-size:18pt !important;
  line-height:1 !important;
  color:#000 !important;
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  float:none !important;
}

.desktop-mini-cart a.remove:hover{
  color:#000 !important;
  background:transparent !important;
  opacity:.7;
}

.desktop-mini-cart ul.product_list_widget li > a:not(.remove){
  grid-column:2;
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  column-gap:12px;
  align-items:start;
  font-family:'Oswald', sans-serif;
  font-size:11pt;
  text-transform:uppercase;
  color:#000;
  line-height:1.2;
  min-width:0;
}

.desktop-mini-cart ul.product_list_widget li > a:not(.remove) img{
  width:72px;
  height:72px;
  object-fit:cover;
  display:block;
  margin:0 !important;
  float:none !important;
}

.desktop-mini-cart .quantity{
  grid-column:2;
  margin:4px 0 0 84px !important;
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:12pt;
  line-height:1.25;
  color:#000;
}


.desktop-mini-cart .woocommerce-mini-cart__total{
  margin:16px 0 0 0;
  padding-top:14px;
  border-top:1px solid rgba(0,0,0,0.75);
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:13pt;
  color:#000;
}

.desktop-mini-cart .woocommerce-mini-cart__buttons{
  display:none;
}

.desktop-mini-cart-footer{
  margin-top:16px;
}

.desktop-mini-cart-checkout{
  width:100%;
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#000;
  color:#fff;
  border:1px solid #000;
  font-family:'Oswald', sans-serif;
  font-size:11pt;
  text-transform:uppercase;
}

.desktop-mini-cart-checkout:hover{
  background:transparent;
  color:#000;
}

@media (max-width: 1024px){
  .desktop-mini-cart{
    display:none !important;
  }
}

.search-toggle-wrap{
  position:relative;
  width:100%;
  height:100%;
}

.search-toggle{
  width:100%;
  height:100%;
}

.desktop-search-box{
  display:none;
  position:absolute;
  top:calc(100% + 1px);
  right:0;
  width:360px;
  background:#f2f0ed;
  border:1px solid rgba(0,0,0,0.75);
  z-index:2600;
}

.desktop-search-box.is-open{
  display:block;
}

.live-search-form{
  padding:14px;
  border-bottom:1px solid rgba(0,0,0,0.12);
}

.live-search-input{
  width:100%;
  height:42px;
  border:1px solid #000;
  background:transparent;
  padding:0 10px;
  font-family:'Karla', sans-serif;
  font-size:12pt;
  color:#000;
  outline:none;
}

.live-search-results{
  max-height:420px;
  overflow:auto;
}

.live-search-empty,
.live-search-loading{
  padding:14px;
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:12pt;
  color:#000;
}

.live-search-item{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:12px;
  padding:12px 14px;
  border-top:1px solid rgba(0,0,0,0.10);
  color:#000;
}

.live-search-item:first-child{
  border-top:none;
}

.live-search-item:hover{
  background:rgba(0,0,0,0.04);
}

.live-search-thumb{
  width:64px;
  height:64px;
  background:#d9d3c8;
  overflow:hidden;
}

.live-search-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.live-search-content{
  min-width:0;
}

.live-search-title{
  font-family:'Oswald', sans-serif;
  font-size:10.8pt;
  text-transform:uppercase;
  line-height:1.2;
  margin-bottom:4px;
}

.live-search-meta{
  font-family:'Oswald', sans-serif;
  font-size:9pt;
  text-transform:uppercase;
  opacity:.6;
  margin-bottom:4px;
}

.live-search-price,
.live-search-excerpt{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:11pt;
  line-height:1.3;
}

@media (max-width: 1024px){
  .desktop-search-box{
    display:none !important;
  }
}
/* MOBILE CART BUTTON + PANEL */
.mobile-cart-btn{
  display:none;
}

.mobile-mini-cart{
  display:none;
}

@media (max-width: 1024px){

  .mobile-cart-btn{
    display:flex;
    position:fixed;
    top:18px;
    right:24px;
    left:auto;
    z-index:3002;
    width:53px;
    height:53px;
    border:none;
    background:transparent;
    cursor:pointer;
    padding:0;
    align-items:center;
    justify-content:center;
    color:#fff;
  }

  .mobile-cart-btn svg{
    display:block;
  }

  .mobile-cart-badge{
    position:absolute;
    top:2px;
    right:-8px;
    min-width:18px;
    height:18px;
    padding:0 4px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#000;
    color:#fff;
    font-family:'Oswald', sans-serif;
    font-size:10px;
    line-height:1;
    font-weight:700;
    z-index:3003;
  }

  .mobile-cart-badge.is-empty{
    display:none;
  }

  .mobile-mini-cart{
    display:none;
    position:fixed;
    inset:0;
    z-index:3000;
  }

  .mobile-mini-cart.is-open{
    display:block;
  }

  .mobile-mini-cart-panel{
    min-height:100vh;
    padding:110px 24px 24px 24px;
    background:rgba(242, 240, 237, 0.96);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    overflow:auto;
  }

  .mobile-mini-cart ul.product_list_widget{
    list-style:none;
    margin:0;
    padding:0;
  }

  .mobile-mini-cart ul.product_list_widget li{
    display:grid;
    grid-template-columns:16px minmax(0, 1fr);
    column-gap:12px;
    align-items:start;
    padding:0 0 14px 0;
    margin:0 0 14px 0;
    border-bottom:1px solid rgba(0,0,0,0.15);
  }

  .mobile-mini-cart ul.product_list_widget li:last-child{
    margin-bottom:0;
  }

  .mobile-mini-cart a.remove{
    grid-column:1;
    grid-row:1 / span 2;
    position:static !important;
    display:flex !important;
    align-items:flex-start;
    justify-content:center;
    width:16px;
    min-width:16px;
    font-size:18pt !important;
    line-height:1 !important;
    color:#000 !important;
    background:transparent !important;
    border:none !important;
    padding:0 !important;
    margin:0 !important;
    float:none !important;
  }

  .mobile-mini-cart a.remove:hover{
    color:#000 !important;
    background:transparent !important;
    opacity:.7;
  }

  .mobile-mini-cart ul.product_list_widget li > a:not(.remove){
    grid-column:2;
    display:grid;
    grid-template-columns:72px minmax(0, 1fr);
    column-gap:12px;
    align-items:start;
    font-family:'Oswald', sans-serif;
    font-size:11pt;
    text-transform:uppercase;
    color:#000;
    line-height:1.2;
    min-width:0;
  }

  .mobile-mini-cart ul.product_list_widget li > a:not(.remove) img{
    width:72px;
    height:72px;
    object-fit:cover;
    display:block;
    margin:0 !important;
    float:none !important;
  }

  .mobile-mini-cart .quantity{
    grid-column:2;
    margin:4px 0 0 84px !important;
    font-family:'Karla', sans-serif;
    font-weight:300;
    font-size:12pt;
    line-height:1.25;
    color:#000;
  }

  .mobile-mini-cart .woocommerce-mini-cart__total{
    margin:16px 0 0 0;
    padding-top:14px;
    border-top:1px solid rgba(0,0,0,0.75);
    font-family:'Karla', sans-serif;
    font-weight:300;
    font-size:13pt;
    color:#000;
  }

  .mobile-mini-cart .woocommerce-mini-cart__buttons{
    display:none;
  }

  .mobile-mini-cart-footer{
    margin-top:16px;
  }

  .mobile-mini-cart-checkout{
    width:100%;
    min-height:56px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#000;
    color:#fff;
    border:1px solid #000;
    font-family:'Oswald', sans-serif;
    font-size:11pt;
    text-transform:uppercase;
  }

  .mobile-mini-cart-checkout:hover{
    background:transparent;
    color:#000;
  }
}

@media (max-width: 768px){

  .mobile-cart-btn{
    top:16px;
    right:16px;
    width:53px;
    height:53px;
  }

  .mobile-mini-cart-panel{
    padding:110px 20px 20px 20px;
  }
}

.mobile-mini-cart .woocommerce-mini-cart__empty-message{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:13pt;
  line-height:1.4;
  color:#000;
  margin:0;
  padding:0;
}

.mobile-mini-cart-content:empty + .mobile-mini-cart-footer{
  margin-top:16px;
}

.desktop-mini-cart .woocommerce-mini-cart__empty-message{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:13pt;
  line-height:1.4;
  color:#000;
  margin:0;
  padding:0;
}

.mobile-cart-btn{
  color:#000;
}

.cart-icon-mobile{
  display:block;
  width:30px;
  height:30px;
  flex:0 0 auto;
}

.mobile-search-btn{
  top:16px;
  right:76px;
}

/* =========================
   BREADCRUMB
========================= */
.site-breadcrumb,
.woocommerce-breadcrumb{
  font-family:'Karla', sans-serif;
  font-weight:300;
  font-size:12px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.4px;
  color:rgba(0,0,0,.65);
}

.site-breadcrumb a,
.woocommerce-breadcrumb a{
  color:inherit;
  text-decoration:none;
}

.site-breadcrumb a:hover,
.woocommerce-breadcrumb a:hover{
  color:#000;
}

.site-breadcrumb .sep,
.woocommerce-breadcrumb .sep{
  margin:0 6px;
}

/* BREADCRUMB DENTRO DEL HEADER DE MODELOS DINÁMICO */
.models-intro-text .site-breadcrumb{
  margin:0 0 18px 0;
  padding:0;
  max-width:none;
}

/* BREADCRUMB ARRIBA DEL TODO EN PAGE MODELOS */
.models-intro > .site-breadcrumb{
  max-width:var(--page-w);
  margin:0 auto 18px auto;
  padding:0 var(--gutter);
}

/* BREADCRUMB EN SINGLE MODELO */
.model-wrap > .site-breadcrumb{
  max-width:none;
  margin:0 0 18px 0;
  padding:0;
}

/* BREADCRUMB EN SHOP, DENTRO DE LA CAJA DERECHA */
.shop-intro-side .woocommerce-breadcrumb{
  margin:0 0 18px 0;
  padding:0;
  max-width:none;
}

@media (max-width: 768px){
  .site-breadcrumb,
  .woocommerce-breadcrumb{
    font-size:11px;
  }

  .models-intro-text .site-breadcrumb,
  .models-intro > .site-breadcrumb,
  .model-wrap > .site-breadcrumb,
  .shop-intro-side .woocommerce-breadcrumb{
    margin:0 0 14px 0;
  }
}

/* =========================
   LEGAL
========================= */
.legal-page{
  padding: calc(var(--menu-h) + 40px) 0 80px 0;
}

.legal-page-inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.legal-page-title{
  font-size: var(--title-size);
  line-height: var(--title-line);
  text-transform: uppercase;
  margin-bottom: 28px;
}

.legal-page-content{
  font-family: 'Karla', sans-serif;
  font-weight: 300;
  font-size: var(--body-font);
  line-height: 1.55;
}

.legal-page-content h2,
.legal-page-content h3,
.legal-page-content h4{
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.1;
  margin: 30px 0 14px 0;
}

.legal-page-content p{
  margin-bottom: 16px;
}

.legal-page-content ul,
.legal-page-content ol{
  margin: 0 0 18px 22px;
}

.legal-page-content li{
  margin-bottom: 8px;
}

@media (max-width: 768px){
  .legal-page{
    padding: calc(var(--menu-h) + 28px) 0 60px 0;
  }
}

/* MOBILE SEARCH - OCULTO SIEMPRE POR DEFECTO */
.mobile-search{
  display:none !important;
}

@media (min-width:1025px){
  .mobile-search,
  .mobile-search.is-open{
    display:none !important;
  }
}

@media (max-width:1024px){

  .mobile-search.is-open{
    display:block !important;
    position:fixed;
    inset:0;
    z-index:3000;
  }

  .mobile-search-panel{
    min-height:100vh;
    padding:110px 24px 24px 24px;
    background:rgba(242, 240, 237, 0.96);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .mobile-search-form{
    width:100%;
  }

  .mobile-search-input{
  width:100%;
  height:56px;
  border:1px solid #000;
  border-radius:0;
  background:#000;
  color:#fff;
  padding:0 18px;
  font-family:'Oswald', sans-serif;
  font-size:11pt;
  text-transform:uppercase;
  outline:none;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
}

.mobile-search-input::placeholder{
  color:#fff;
  opacity:1;
}



@media (max-width:768px){
  .mobile-search-panel{
    padding:110px 20px 20px 20px;
  }
}