:root{
  --bg-dark: #163a2a;
  --bg-dark-2: #0f2b1f;
  --leaf: #2E5E4E;
  --cacao: #6B4F2A;
  --paper: #F3F0EA;
  --paper-2:#ECE7DF;
  --text: #1e1e1e;
  --white: #ffffff;

  --radius: 16px;
  --shadow: 0 10px 30px rgba(0,0,0,.18);
  --shadow-soft: 0 10px 30px rgba(0,0,0,.10);

  --font-title: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-body: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  --container: 1120px;

  --header-height: 84px;
  --logo-w: 240px;
  --logo-h: 64px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html { scroll-behavior: smooth; }

body{
  font-family: var(--font-body);
  color: var(--text);
  background: #fff;
}

section { scroll-margin-top: calc(var(--header-height) + 18px); }

.container{
  width: min(100% - 32px, var(--container));
  margin: 0 auto;
}

/* HEADER */
.header{
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  z-index: 50;
  height: var(--header-height);
  display: flex;
  align-items: center;
  background: rgba(24, 66, 48, 0.12);
  backdrop-filter: blur(3px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  height: var(--header-height);
}

/* BRAND */
.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
  color: var(--white);
  flex: 0 0 auto;
}

.brand__logo{
  width: var(--logo-w);
  height: var(--logo-h);
  background: url("assets/img/Logo-Esquina.png") left center / contain no-repeat;
  display:block;
  max-height: calc(var(--header-height) - 14px);
}

/* NAV */
.nav{
  display:flex;
  gap: 18px;
  align-items:center;
  justify-content:center;
  flex: 1 1 auto;
}

.nav__link{
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-family: var(--font-title);
  font-weight: 600;
  font-size: 13px;
  padding: 8px 10px;
  border-radius: 10px;
  transition: .2s ease;
}
.nav__link:hover{
  background: rgba(255,255,255,.10);
}

/* ACCIONES */
.header__actions{
  display:flex;
  align-items:center;
  gap: 10px;
  flex: 0 0 auto;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 11px 16px;
  border-radius: 14px;
  text-decoration:none;
  font-family: var(--font-title);
  font-weight: 700;
  border: 1px solid rgba(255,255,255,.12);
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease;
  user-select:none;
  white-space: nowrap;
}
.btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}
.btn__icon{ width:18px; height:18px; display:inline-grid; place-items:center; }
.btn__icon svg{ width:18px; height:18px; }

.btn--phone{
  background: linear-gradient(180deg, #5e9441, #044d34);
  color: #eafff0;
  border-radius: 999px;
  padding: 12px 22px;
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.18);
}

.btn--green{
  background: linear-gradient(180deg, #2b7449, #0b7537);
  color: #eafff0;
  border-color: rgba(0,0,0,.08);
}
.btn--cacao{
  background: linear-gradient(180deg, #6b5533, #68410e);
  color: #fff2e6;
  border-color: rgba(0,0,0,.08);
}
.btn--whatsapp{
  background: linear-gradient(180deg, #2fbf62, #1fa353);
  color: #0b2015;
  border-color: rgba(0,0,0,.08);
}

/* Burger */
.burger{
  width:44px; height:44px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  display:none;
  cursor:pointer;
}
.burger span{
  display:block;
  width:18px;
  height:2px;
  background: rgba(255,255,255,.9);
  margin: 5px auto;
  border-radius: 999px;
}

/* HERO */
.hero{
  position: relative;
  min-height: 520px;
  display:grid;
  align-items:center;
  overflow:hidden;
  padding-top: var(--header-height);
}
.hero__bg{
  position:absolute;
  inset:0;
  background-image: url("assets/img/hero-cacao.jpg");
  background-size: cover;
  background-position: center;
  transform: scale(1.05);
}
.hero__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.25), rgba(0,0,0,.18));
}
.hero__content{ position: relative; padding: 70px 0 86px; }
.hero__left{ max-width: 620px; }

.hero h1{
  font-family: var(--font-title);
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.05;
  margin: 0 0 10px;
  color: #fff;
  text-shadow: 0 10px 40px rgba(0,0,0,.55);
}
.hero p{
  margin: 0 0 18px;
  color: rgba(255,255,255,.92);
  font-size: 16px;
  font-weight: 600;
}
.hero__cta{ display:flex; gap: 12px; flex-wrap: wrap; }

/* SECCIONES */
.section{ padding: 54px 0; }

.section--light{
  background: linear-gradient(180deg, var(--paper), var(--paper-2));
}

.section--bg{
  background:
    linear-gradient(180deg, rgba(15,43,31,.96), rgba(15,43,31,.96)),
    url("assets/img/hero-cacao.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
}

.section__title{
  font-family: var(--font-title);
  font-weight: 800;
  letter-spacing: .2px;
  margin: 0 0 22px;
  font-size: 22px;
  color: #2a2a2a;
}

.section__title--center{ text-align:center; color: #fff; }
.section__title--center-dark{ text-align:center; color: #3a3a3a; }

.accent{ color: var(--cacao); font-style: italic; }

/* Título con líneas laterales */
.section__title--lined{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 18px;
  text-align:center;
}
.section__title--lined::before,
.section__title--lined::after{
  content:"";
  height: 2px;
  flex: 1 1 auto;
  background: rgba(0,0,0,.10);
}
.section__title--lined span{ display:inline-block; padding: 0 6px; }

/* FEATURE BAR */
.featurebar{
  margin-top: 18px;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(245, 243, 239, 0.92);
  border: 1px solid rgba(0,0,0,.08);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.featurebar__item{
  border: 0;
  background: transparent;
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  cursor: pointer;
}
.featurebar__item:hover{ background: rgba(0,0,0,.03); }

.featurebar__item + .featurebar__item{
  border-left: 1px solid rgba(0,0,0,.10);
}

/* ===== FEATUREBAR ICONOS COMO FOTO (FINAL) ===== */
.featurebar__icon{
  width: 55px;      /* cambia tamaño aquí */
  height: 55px;     /* cambia tamaño aquí */
  border-radius: 999px;
  overflow: hidden;
  background: transparent;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
  display: grid;
  place-items: center;
}

.featurebar__photo{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.featurebar__label{
  font-family: var(--font-title);
  font-weight: 800;
  font-size: 12px;
  color: rgba(0,0,0,.72);
}

/* CARDS */
.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 18px;
}

.card{
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 40px rgba(0,0,0,.22);
  min-height: 240px;

  padding: 0;
  cursor: pointer;
  background: transparent;
  text-align: left;
}

.card__img{
  position:absolute;
  inset:0;
  background-size: cover;
  background-position: center;
  filter: saturate(1.05);
}

.card__band{
  position:absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px 16px 14px;
  background: linear-gradient(180deg, rgba(95, 64, 23, 0.80), rgba(67, 42, 12, 0.86));
  color: #fff;
  text-align:center;
  backdrop-filter: blur(1px);
}

.card__title{ font-family: var(--font-title); font-weight: 700; font-size: 20px; }
.card__rule{ width: 64%; margin: 10px auto; height: 2px; background: rgba(255,255,255,.28); }
.card__subtitle{ font-family: var(--font-title); font-weight: 700; font-size: 12px; opacity: .95; }

/* TRUST BAR */
.trustbar{
  margin-top: 18px;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(245, 243, 239, 0.92);
  border: 1px solid rgba(0,0,0,.08);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.trustbar__item{
  padding: 14px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  font-family: var(--font-title);
  font-weight: 800;
  font-size: 12px;
  color: rgba(0,0,0,.70);
  text-align:center;
}

.trustbar__item + .trustbar__item{
  border-left: 1px solid rgba(0,0,0,.10);
}

.trustbar__icon{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  background: rgba(46, 94, 78, 0.10);
  color: rgba(46, 94, 78, 0.95);
}
.trustbar__icon svg{ width: 18px; height: 18px; }

/* GALERÍA */
.gallery{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gallery__item{
  position: relative;
  border: none;
  padding: 0;
  cursor: pointer;
  background: none;
  border-radius: 12px;
  overflow: hidden;
}

.gallery__item img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.gallery__caption {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);

  padding: 3px 30px;
  border-radius: 999px;

  background: #114407;
  /* verde sólido */
  color: #ffffff;

  font-family: var(--font-body);
  font-weight: 900;
  font-size: 14px;

  white-space: nowrap;
  /* 🔥 evita salto de línea */
  display: inline-block;
  /* 🔥 se ajusta al contenido */
}

/* MAPA */
.mapcard{
  margin-top: 16px;
  display:grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 16px;
  align-items: stretch;
  border-radius: 16px;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.08);
  padding: 16px;
}

.mapcard__label{
  font-family: var(--font-title);
  font-weight: 900;
  color: rgba(0,0,0,.70);
  font-size: 12px;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.mapcard__address{
  font-family: var(--font-title);
  font-weight: 900;
  font-size: 16px;
  color: rgba(0,0,0,.78);
  line-height: 1.25;
}
.mapcard__hint{
  margin-top: 10px;
  font-size: 13px;
  color: rgba(0,0,0,.60);
}
.nowrap{ white-space: nowrap; }

.mapcard__framewrap{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 12px 28px rgba(0,0,0,.10);
  background: #fff;
}

.mapcard__frame{
  width: 100%;
  height: 320px;
  border: 0;
  display:block;
}

/* CTA */
.cta{
  position: relative;
  padding: 62px 0;
  overflow:hidden;
}
.cta__bg{
  position:absolute;
  inset:0;
  background-image: url("https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=1800&q=80");
  background-size: cover;
  background-position: center;
  transform: scale(1.05);
}
.cta__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.40));
}
.cta__inner{
  position: relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.cta h3{
  margin:0;
  font-family: var(--font-title);
  font-weight: 900;
  color:#fff;
  font-size: clamp(20px, 2.2vw, 28px);
  text-shadow: 0 10px 40px rgba(0,0,0,.55);
}
.cta__buttons{ display:flex; gap: 12px; flex-wrap: wrap; }

/* FOOTER */
.footer{
  background: linear-gradient(180deg, var(--bg-dark), var(--bg-dark-2));
  color: rgba(255,255,255,.9);
  padding: 28px 0 0;
}
.footer__grid{
  display:grid;
  grid-template-columns: 1.2fr 1.2fr .6fr;
  gap: 16px;
  align-items:start;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.footer__brand{ display:flex; gap: 12px; align-items:center; }
.footer__logo{
  width:46px; height:46px;
  border-radius: 14px;
  background: url("assets/img/Ezquina-final.png") center / contain no-repeat;
  background-color: rgba(255,255,255,.06);
}
.footer__name{ font-family: var(--font-title); font-weight: 900; }
.footer__small{ margin-top: 4px; opacity: .85; font-size: 13px; }
.footer__info{ display:grid; gap: 10px; }
.footer__item strong{ display:block; font-family: var(--font-title); }
.footer__item a{ color: #d8f2d6; text-decoration:none; }
.footer__social{ display:flex; justify-content:flex-end; gap: 10px; }
.social{
  width:42px; height:42px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  text-decoration:none;
}
.footer__bottom{
  text-align:center;
  padding: 14px 0 18px;
  font-size: 13px;
  opacity: .86;
}

/* VIVERO TEXTO */
.vivero-text {
  max-width: 900px;
  margin: 0 auto 14px;
  font-size: 15px;
  line-height: 1.7;
  color: #3a3a3a;
  text-align: center;
}
.vivero-list {
  max-width: 700px;
  margin: 18px auto;
  padding: 0;
  list-style: none;
}
.vivero-list li {
  margin-bottom: 8px;
  font-size: 15px;
}
.vivero-highlight {
  margin-top: 20px;
  text-align: center;
  font-size: 16px;
  font-weight: 800;
  color: #2e5e4e;
}

/* MODAL */
.modal{
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
}
.modal.is-open{ display: block; }

.modal__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.modal__panel{
  position: relative;
  width: min(92vw, 560px);
  margin: 10vh auto 0;
  background: rgba(245, 243, 239, 0.96);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  padding: 18px 18px 16px;
  box-shadow: 0 25px 60px rgba(0,0,0,.35);
}

.modal__close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.85);
  cursor: pointer;
  font-size: 18px;
}

.modal__title{
  margin: 8px 46px 8px 6px;
  font-family: var(--font-title);
  font-weight: 900;
  color: #2a2a2a;
}

.modal__text{
  margin: 0 6px 6px;
  font-family: var(--font-body);
  color: rgba(0,0,0,.75);
  line-height: 1.55;
}

/* RESPONSIVE */
@media (max-width: 700px){
  :root{
    --header-height: 70px;
    --logo-w: 150px;
    --logo-h: 44px;
  }

  .nav{ display:none; }
  .burger{ display:inline-block; }

  .nav{
    display: none;
    position: absolute;
    right: 20px;
    top: 80px;
    flex-direction: column;
    gap: 8px;
    background: rgba(15, 43, 31, 0.95);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-radius: 16px;
    padding: 14px;
    width: 220px;
    box-shadow: 0 20px 40px rgba(0,0,0,.35);
  }
  .nav.nav--open{ display:flex; }

  .featurebar{ grid-template-columns: repeat(2, 1fr); }
  .featurebar__item + .featurebar__item{ border-left: none; }
  .featurebar__item:nth-child(2),
  .featurebar__item:nth-child(4){ border-left: 1px solid rgba(0,0,0,.10); }
  .featurebar__item:nth-child(3),
  .featurebar__item:nth-child(4){ border-top: 1px solid rgba(0,0,0,.10); }

  .cards{ grid-template-columns: 1fr; }

  .trustbar{ grid-template-columns: repeat(2, 1fr); }
  .trustbar__item + .trustbar__item{ border-left: none; }
  .trustbar__item:nth-child(2),
  .trustbar__item:nth-child(4){ border-left: 1px solid rgba(0,0,0,.10); }
  .trustbar__item:nth-child(3),
  .trustbar__item:nth-child(4){ border-top: 1px solid rgba(0,0,0,.10); }

  .gallery{ grid-template-columns: repeat(2, 1fr); }

  .mapcard{ grid-template-columns: 1fr; }
  .footer__grid{ grid-template-columns: 1fr; }
  .footer__social{ justify-content:flex-start; }
}

@media (max-width: 520px){
  .btn--phone .btn__text{ display:none; }
  .gallery{ grid-template-columns: 1fr; }
}
/* Ajuste SOLO para la imagen de colinos */
.gallery__item img.img-top{
  object-position: center top;
}
/* ===== OTROS PRODUCTOS (cards mini) ===== */
.section__subtitle{
  margin: -10px auto 18px;
  max-width: 820px;
  text-align: center;
  color: rgba(0,0,0,.62);
  font-weight: 600;
}

/* Reutilizamos .cards pero en modo mini */
.cards--mini{
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 14px;
}

.card--mini{
  min-height: 180px;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}

.card--mini .card__band{
  padding: 6px 10px 8px;
}

.card--mini .card__title{
  font-size: 16px;
}

.card--mini .card__subtitle{
  font-size: 11px;
}

/* Responsive para "Otros productos" */
@media (max-width: 980px){
  .cards--mini{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  .cards--mini{ grid-template-columns: 1fr; }
}
/* ===========================
   FIX: No afectar cards grandes
   =========================== */
.cards:not(.cards--mini) .card__img{
  background-position: center;
  background-size: cover;
}

/* ===========================
   FIX: Respaldo para mini si falta imagen
   (si no existe chontaduro.png etc.)
   =========================== */
.card--mini .card__img{
  background-color: #e9e4da;
  background-image:
    linear-gradient(180deg, rgba(22,58,42,.15), rgba(22,58,42,.55));
  background-size: cover;
  background-position: center;
}
.cart-btn {
  background: transparent;
  border: none;
  font-size: 18px;
  color: #fff;
  cursor: pointer;
  position: relative;
}

#cart-count {
  background: #e74c3c;
  color: #fff;
  border-radius: 50%;
  padding: 2px 6px;
  font-size: 11px;
  margin-left: 4px;
}
.cart-btn {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 16px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

#cart-count {
  background: #e74c3c;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  border-radius: 999px;
  padding: 2px 6px;
}
/* ===== CARRITO (drawer) ===== */
.cart-drawer{
  position: fixed;
  inset: 0;
  z-index: 220;
  display: none;
}
.cart-drawer.is-open{ display:block; }

.cart-drawer__overlay{
  position:absolute; inset:0;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(4px);
}

.cart-drawer__panel{
  position:absolute;
  top:0; right:0;
  height:100%;
  width: min(92vw, 420px);
  background: rgba(245,243,239,.98);
  border-left: 1px solid rgba(0,0,0,.10);
  box-shadow: -20px 0 50px rgba(0,0,0,.25);
  display:flex;
  flex-direction: column;
}

.cart-drawer__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.cart-drawer__header h3{
  margin:0;
  font-family: var(--font-title);
  font-weight: 900;
  color:#2a2a2a;
}
.cart-drawer__close{
  width:42px; height:42px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.85);
  cursor:pointer;
  font-size: 18px;
}

.cart-drawer__items{
  padding: 14px 16px;
  overflow:auto;
  flex: 1;
}
.cart-empty{
  margin: 8px 0;
  color: rgba(0,0,0,.65);
  font-weight: 600;
}

.cart-item{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(0,0,0,.08);
  margin-bottom: 10px;
}
.cart-item__title{
  font-family: var(--font-title);
  font-weight: 900;
  color:#2a2a2a;
  margin:0 0 4px;
}
.cart-item__meta{
  font-size: 12px;
  color: rgba(0,0,0,.62);
  font-weight: 600;
}
.cart-item__controls{
  display:flex;
  align-items:center;
  gap: 8px;
  justify-content:flex-end;
}
.qty-btn{
  width:34px; height:34px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  cursor:pointer;
  font-weight: 900;
}
.qty-val{
  min-width: 20px;
  text-align:center;
  font-weight: 900;
}
.remove-btn{
  border: 0;
  background: transparent;
  cursor:pointer;
  font-size: 18px;
  opacity: .75;
}

.cart-drawer__footer{
  padding: 14px 16px 16px;
  border-top: 1px solid rgba(0,0,0,.08);
  display:flex;
  gap: 10px;
}
.cart-drawer__footer .btn{ flex:1; }
.cart-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(0,0,0,.08);
  margin-bottom: 10px;
}

.cart-item__name{ font-weight: 900; font-family: var(--font-title); }
.cart-item__meta{ font-size: 12px; opacity: .75; margin-top: 2px; }

.cart-item__actions{
  display:flex;
  align-items:center;
  gap: 8px;
}

.cart-item__btn{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.9);
  cursor: pointer;
  font-weight: 900;
}

.cart-item__qty{ min-width: 18px; text-align:center; font-weight: 900; }

.cart-item__remove{
  border: 0;
  background: transparent;
  cursor: pointer;
  font-weight: 800;
  opacity: .75;
}
.cart-item__remove:hover{ opacity: 1; text-decoration: underline; }

.add-btn{
  margin-top: 10px;
  width: 100%;
  border-radius: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.20);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.add-btn:hover{ background: rgba(0,0,0,.28); }
.add-btn{
  margin-top: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  border: none;
  background: #2e5e4e;
  color: #fff;
  cursor: pointer;
}
.add-btn:hover{
  background: #244b3d;
}
.cart-item__qtyinput {
  width: 88px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .12);
  background: rgba(255, 255, 255, .95);
  text-align: center;
  font-weight: 900;
  font-family: var(--font-title);
  outline: none;
}

.cart-item__qtyinput:focus {
  box-shadow: 0 0 0 3px rgba(46, 94, 78, .18);
  border-color: rgba(46, 94, 78, .45);
}

/* ===== MINI TIENDA dentro del MODAL ===== */
/* ===== MINI TIENDA dentro del MODAL (compacta) ===== */
.mini-shop {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, .10);
  display: grid;
  gap: 10px;
}

.mini-shop__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mini-shop__label {
  font-family: var(--font-title);
  font-weight: 800;
  font-size: 12px;
  color: rgba(0, 0, 0, .70);
}

.mini-shop__stepper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mini-shop__btnStep {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .12);
  background: rgba(255, 255, 255, .95);
  cursor: pointer;
  font-weight: 900;
  font-family: var(--font-title);
}

.mini-shop__qty {
  width: 110px;
  height: 34px;
  padding: 0 10px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .15);
  text-align: center;
  font-weight: 900;
  font-family: var(--font-title);
  outline: none;
}

.mini-shop__qty:focus {
  border-color: rgba(46, 94, 78, .55);
  box-shadow: 0 0 0 3px rgba(46, 94, 78, .12);
}

.mini-shop__actions {
  display: flex;
  gap: 10px;
}

.mini-shop__btn {
  flex: 1;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 900;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, .10);
}

.mini-shop__btn--ghost {
  background: rgba(0, 0, 0, .04);
}

.mini-shop__btn--ok {
  background: linear-gradient(180deg, #2b7449, #0b7537);
  color: #eafff0;
  border-color: rgba(0, 0, 0, .08);
}

/* =========================
   CARRITO PRO (UI)
   ========================= */

/* panel */
.cart-drawer__panel {
  border-left: 1px solid rgba(0, 0, 0, .08);
  background: linear-gradient(180deg, rgba(245, 243, 239, .98), rgba(240, 236, 229, .98));
}

/* header */
.cart-drawer__header {
  padding: 14px 16px;
  background: rgba(255, 255, 255, .55);
  backdrop-filter: blur(8px);
}

.cart-drawer__header h3 {
  font-size: 16px;
  letter-spacing: .2px;
}

.cart-drawer__close {
  width: 40px;
  height: 40px;
  border-radius: 999px;
}

/* lista */
.cart-drawer__items {
  padding: 14px;
}

/* tarjeta item */
.cart-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(0, 0, 0, .07);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .06);
}

.cart-item+.cart-item {
  margin-top: 10px;
}

/* info */
.cart-item__info {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cart-item__info strong {
  font-family: var(--font-title);
  font-weight: 900;
  font-size: 13px;
  color: rgba(0, 0, 0, .82);
  line-height: 1.15;
}

.cart-item__info small {
  font-size: 11px;
  color: rgba(0, 0, 0, .55);
  font-weight: 700;
}

/* controles + - input */
.cart-item__controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.cart-item__controls button {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .10);
  background: rgba(255, 255, 255, .92);
  cursor: pointer;
  font-weight: 900;
  font-family: var(--font-title);
  transition: transform .12s ease, box-shadow .12s ease;
}

.cart-item__controls button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(0, 0, 0, .10);
}

.cart-item__controls button:active {
  transform: translateY(0px);
  box-shadow: none;
}

.cart-item__controls input {
  width: 84px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .12);
  background: rgba(255, 255, 255, .96);
  text-align: center;
  font-weight: 900;
  font-family: var(--font-title);
  outline: none;
}

.cart-item__controls input:focus {
  border-color: rgba(46, 94, 78, .45);
  box-shadow: 0 0 0 3px rgba(46, 94, 78, .14);
}

/* botón eliminar */
.cart-item__remove {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-weight: 900;
  font-size: 12px;
  color: rgba(0, 0, 0, .55);
  padding: 8px 10px;
  border-radius: 12px;
  transition: background .12s ease, color .12s ease;
}

.cart-item__remove:hover {
  background: rgba(0, 0, 0, .06);
  color: rgba(0, 0, 0, .72);
}

/* footer botones */
.cart-drawer__footer {
  padding: 12px 14px 14px;
  background: rgba(255, 255, 255, .55);
  border-top: 1px solid rgba(0, 0, 0, .08);
  backdrop-filter: blur(8px);
  display: flex;
  gap: 10px;
}

.cart-drawer__footer .btn {
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 13px;
}

/* en móvil: que no se vean gigantes */
@media (max-width: 520px) {
  .cart-item {
    padding: 10px;
  }

  .cart-item__controls input {
    width: 72px;
  }

  .cart-item__remove {
    padding: 6px 8px;
  }
}
.card__price {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 800;
  opacity: .95;
}

.card__price strong {
  font-size: 14px;
}

/* Mini cards: banda más compacta */
.card--mini .card__band {
  padding: 6px 8px;
  /* antes estaba muy grande */
  min-height: auto;
  /* quita altura mínima */
}

/* Títulos más compactos */
.card--mini .card__title {
  font-size: 16px;
  margin-bottom: 6px;
}

.card--mini .card__subtitle {
  font-size: 12px;
  margin-top: 6px;
}

/* Botón más pequeño */
.card--mini .add-btn {
  padding: 10px 12px;
  font-size: 14px;
  margin-top: 10px;
}
/* ==========================
   MINI CARDS: banda más baja
   ========================== */

/* 1) La card mini un poco más alta para que la foto respire */
.card--mini {
  min-height: 190px;
  /* súbela si quieres más foto: 200/210 */
}

/* 2) Banda mini: menos padding y menos blur */
.card--mini .card__band {
  padding: 8px 10px 10px !important;
  backdrop-filter: none !important;
}

/* 3) Título + subtítulo compactos */
.card--mini .card__title {
  font-size: 15px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

.card--mini .card__subtitle {
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin: 4px 0 0 !important;
  opacity: .92;
}

/* 4) Quita o reduce la línea (esa es la que mete mucha altura) */
.card--mini .card__rule {
  width: 55% !important;
  margin: 4px auto !important;
  height: 1px !important;
  opacity: .35 !important;
}

/* 5) Precio compacto */
.card--mini .card__price {
  margin-top: 6px !important;
  font-size: 11px !important;
}

.card--mini .card__price strong {
  font-size: 13px !important;
}

/* 6) Botón Agregar compacto (y único) */
.card--mini .add-btn {
  margin-top: 8px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
  border-radius: 999px !important;
}

/* 7) Asegura que la foto se vea bien en mini */
.card--mini .card__img {
  background-size: cover;
  background-position: center;
}

/* ==========================
   MINI CARDS: banda compacta PRO (sin quitar la línea)
   ========================== */

.card--mini .card__band {
  padding: 8px 10px 10px !important;
  /* menos alto */
}

.card--mini .card__title {
  font-size: 15px !important;
  line-height: 1.12 !important;
  /* “apachurra” */
  margin: 0 !important;
}

.card--mini .card__rule {
  width: 60% !important;
  margin: 6px auto !important;
  /* menos espacio arriba/abajo */
  height: 1px !important;
  /* más delgadita */
  opacity: .35 !important;
  /* más pro */
}

.card--mini .card__subtitle {
  font-size: 11px !important;
  line-height: 1.15 !important;
  margin: 4px 0 0 !important;
}

.card--mini .card__price {
  margin-top: 6px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
}

.card--mini .card__price strong {
  font-size: 13px !important;
}

.card--mini .add-btn {
  margin-top: 8px !important;
  padding: 8px 12px !important;
  /* más pequeño */
  font-size: 13px !important;
}
/* ==========================
   MINI CARDS: banda compacta PRO (SIN perder la línea)
   PÉGALO AL FINAL DEL CSS
   ========================== */

/* Más foto, menos banda */
.cards--mini .card.card--mini {
  min-height: 190px !important;
  /* si quieres más foto: 200 */
}

/* Banda más bajita */
.cards--mini .card.card--mini .card__band {
  padding: 6px 10px 8px !important;
}

/* Título compacto */
.cards--mini .card.card--mini .card__title {
  font-size: 14px !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}

/* Línea bonita pero “delgada” y con menos espacio */
.cards--mini .card.card--mini .card__rule {
  width: 60% !important;
  margin: 4px auto !important;
  height: 1px !important;
  opacity: .35 !important;
}

/* Subtítulo compacto */
.cards--mini .card.card--mini .card__subtitle {
  font-size: 11px !important;
  line-height: 1.1 !important;
  margin: 3px 0 0 !important;
}

/* Precio compacto */
.cards--mini .card.card--mini .card__price {
  margin-top: 4px !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
}

.cards--mini .card.card--mini .card__price strong {
  font-size: 13px !important;
}

/* Botón compacto (y que no “infle” la banda) */
.cards--mini .card.card--mini .add-btn {
  margin-top: 6px !important;
  padding: 7px 12px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}
.cards--mini .card.card--mini .card__band *{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.skeleton {
  background: linear-gradient(90deg,
      #e6e0d7 25%,
      #f2ede6 37%,
      #e6e0d7 63%);
  background-size: 400% 100%;
  animation: skeleton-loading 1.4s ease infinite;
}

@keyframes skeleton-loading {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: 0 0;
  }
}

/* ===== GALERÍA: fondo verde oscuro PRO ===== */
#galeria {
  position: relative;

  /* Imagen de fondo */
  background-image:
    linear-gradient(180deg,
      rgba(9, 38, 28, 0.92),
      rgba(9, 38, 28, 0.88),
      rgba(9, 38, 28, 0.92)),
    url("assets/img/hero-cacao.jpg");

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Asegura que el contenido quede encima */
#galeria>.container {
  position: relative;
  z-index: 1;
}

/* ===== HEADER: Pastillas PRO ===== */

/* 1) Asegura que el contenedor de acciones no meta fondos raros */
.header__actions {
  position: relative;
  z-index: 5;
}

/* 2) El carrito: pastilla verde oscura (como el teléfono) */
.cart-btn {
  background: linear-gradient(180deg, #1f6a3f, #155232) !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 999px !important;
  padding: 10px 14px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .18) !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
}

/* 3) Si el carrito tiene algún pseudo-elemento encima, lo apagamos */
.cart-btn::before,
.cart-btn::after {
  content: none !important;
  display: none !important;
}

/* 4) El contador NO se toca (se queda rojo) */
#cart-count {
  background: #e74c3c !important;
  color: #fff !important;
}

.header {
  background: rgba(10, 40, 28, 0.22);
  backdrop-filter: blur(10px) saturate(140%);
}

.cart-btn {
  box-shadow: 0 12px 28px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

.header {
  background: rgba(8, 32, 22, 0.32);
  backdrop-filter: blur(10px) saturate(140%);
}

.cart-btn {
  box-shadow:
    0 14px 32px rgba(0, 0, 0, .30),
    inset 0 1px 0 rgba(255, 255, 255, .22);
}
.header{
  background: linear-gradient(
    180deg,
    rgba(8, 32, 22, 0.40),
    rgba(8, 32, 22, 0.22)
  );
  backdrop-filter: blur(12px) saturate(140%);
}
.header {
  background: linear-gradient(180deg,
      rgba(8, 32, 22, 0.40),
      rgba(8, 32, 22, 0.22));
  backdrop-filter: blur(12px) saturate(140%);
}

/* =========================
   CARDS (Líneas de Producción)
   PC: 3 columnas (igual)
   Celular: 2 columnas
   ========================= */

/* Tablet / Celular: 2 en 2 */
@media (max-width: 780px) {
  .cards {
    grid-template-columns: repeat(3, 1fr) !important; /* controla la catidad que se mira en el celular*/
    gap: 14px;
  }




  /* para que no queden gigantes */
  .card {
    min-height: 200px;
  }

  /* texto más compacto */
  .card__title {
    font-size: 16px;
  }

  .card__subtitle {
    font-size: 11px;
  }
}

.cart-drawer__footer {
  padding: 12px 14px 14px;
  background: rgba(255, 255, 255, .55);
  border-top: 1px solid rgba(0, 0, 0, .08);
  backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
  /* importante */
  gap: 10px;
}

.cart-summary {
  width: 100%;
  border-radius: 14px;
  padding: 12px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .06);
}

.cart-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 800;
  color: rgba(0, 0, 0, .72);
  font-size: 13px;
  padding: 6px 2px;
}

.cart-summary__total {
  border-top: 1px dashed rgba(0, 0, 0, .18);
  margin-top: 6px;
  padding-top: 10px;
  font-size: 14px;
  color: rgba(0, 0, 0, .85);
}

.cart-totals {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, .08);
  background: rgba(255, 255, 255, .7);
  border-radius: 16px;
  padding: 12px 12px;
  margin-bottom: 10px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, .05);
}

.cart-totals__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 6px 4px;
  font-weight: 800;
  color: rgba(0, 0, 0, .70);
}

.cart-totals__row strong {
  color: rgba(0, 0, 0, .82);
}

.cart-totals__row--total {
  border-top: 1px solid rgba(0, 0, 0, .08);
  margin-top: 6px;
  padding-top: 10px;
  font-size: 14px;
}

.checkout-form {
  display: grid;
  gap: 10px;
  padding: 6px;
}

.checkout-form .f {
  display: grid;
  gap: 6px;
}

.checkout-form .f span {
  font-weight: 900;
  font-size: 12px;
  color: rgba(0, 0, 0, .70);
}

.checkout-form input {
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, .12);
  padding: 0 12px;
  font-weight: 800;
  outline: none;
  background: rgba(255, 255, 255, .9);
}

.checkout-form input:focus {
  border-color: rgba(46, 94, 78, .55);
  box-shadow: 0 0 0 3px rgba(46, 94, 78, .12);
}

/* ===== TOTALES DEL CARRITO ===== */
.cart-totals {
  margin: 12px 14px 0;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(0, 0, 0, .07);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .06);
}

.cart-totals__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 6px;
  font-weight: 800;
  color: rgba(0, 0, 0, .70);
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.cart-totals__row strong {
  color: rgba(0, 0, 0, .82);
}

.cart-totals__row--total {
  border-bottom: 0;
  padding-top: 10px;
  font-size: 14px;
}

.cart-totals__row--total strong {
  font-size: 15px;
}
/* ===== CHECKOUT FORM ===== */
.checkout-form {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.checkout-form .f {
  display: grid;
  gap: 6px;
}

.checkout-form .f span {
  font-weight: 800;
  font-size: 12px;
  color: rgba(0, 0, 0, .70);
}

.checkout-form input {
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .12);
  padding: 0 12px;
  outline: none;
  font-weight: 700;
}

.checkout-form input:focus {
  border-color: rgba(46, 94, 78, .55);
  box-shadow: 0 0 0 3px rgba(46, 94, 78, .12);
}

#galeria .section__title{
  color: #ffffff; /* verde vivero */
}
.card__price {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(255, 255, 255, .92);
}

.card__price strong {
  font-size: 14px;
}
/* === MODAL GENÉRICO (PRODUCTO + CHECKOUT) === */
.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.modal.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .55);
}

.modal__panel {
  position: relative;
  background: #fff;
  max-width: 520px;
  width: 92%;
  border-radius: 14px;
  padding: 24px;
  z-index: 1;
}
/* =========================
   FIX MOBILE: 3 PRINCIPALES IGUALES
   (NO toca .cards--mini)
   ========================= */
@media (max-width: 780px) {

  /* 3 columnas SOLO para las cards grandes */
  .cards:not(.cards--mini) {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  /* que todas tengan la misma altura */
  .cards:not(.cards--mini) .card {
    min-height: 200px !important;
    height: 200px !important;
  }

  /* banda igual en todas */
  .cards:not(.cards--mini) .card__band {
    min-height: 110px !important;
    padding: 10px 10px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  /* titulo 1 linea */
  .cards:not(.cards--mini) .card__title {
    font-size: 15px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* subtitulo max 2 lineas */
  .cards:not(.cards--mini) .card__subtitle {
    font-size: 11px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* boton consistente */
  .cards:not(.cards--mini) .add-btn {
    margin-top: 6px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
  }
}

/* =========================
   GALERÍA: 3 columnas en móvil
   ========================= */
@media (max-width: 780px) {
  .gallery {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 14px !important;
  }

  .gallery__item img {
    height: 150px !important;
  }

  .gallery__caption {
    font-size: 12px !important;
  }
}
/* =========================
   FEATUREBAR móvil: 4 en una sola línea (pequeños)
   ========================= */
@media (max-width: 780px) {

  .featurebar {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .featurebar__item {
    padding: 10px 6px !important;
    gap: 6px !important;
    min-height: 84px;
  }

  /* icono más pequeño */
  .featurebar__icon {
    width: 38px !important;
    height: 38px !important;
    box-shadow: none !important;
  }

  /* texto más pequeño y compacto */
  .featurebar__label {
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
  }

  /* bordes correctos en grid (para que se vea pro) */
  .featurebar__item+.featurebar__item {
    border-left: 1px solid rgba(0, 0, 0, .10) !important;
  }
}
.footer__social {
  display: flex;
  gap: 14px;
}

.social {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .12);
  transition: all .25s ease;
}

.social svg {
  width: 26px;
  height: 26px;
}

.social:hover {
  transform: translateY(-4px) scale(1.08);
  background: rgba(255, 255, 255, .22);
}

.social {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .08);
  transition: transform .2s ease, background .2s ease;
}

.social svg {
  width: 20px;
  height: 20px;
  fill: #fff;
}

.social:hover {
  background: rgba(255, 255, 255, .18);
  transform: translateY(-2px);
}
/* ===== Compactar franja SOLO en productos principales ===== */

#productos .card__band {
  padding: 10px 18px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px !important;
}

#productos .card__title {
  margin: 0 !important;
  font-size: 18px;
}

#productos .card__subtitle {
  margin: 0 !important;
  font-size: 13px;
}

#productos .card__price {
  margin: 0 !important;
  font-size: 13px;
}

#productos .card__rule {
  margin: 6px 0 !important;
}

#productos .add-btn {
  margin-top: 6px !important;
}
#productos .card__band {
  padding: 10px 16px !important;
  line-height: 1.2 !important;
}

#productos .card__title {
  font-size: 17px !important;
}

#productos .card__subtitle,
#productos .card__price {
  font-size: 12px !important;
}
body {
  outline: 8px solid red !important;
}

/* ================================
   OVERRIDE FINAL (3 PRINCIPALES)
   ================================ */

/* SOLO la sección de productos principales */
#productos .cards:not(.cards--mini) .card__band {
  padding: 10px 14px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  text-align: center !important;
}

/* Compacta textos */
#productos .cards:not(.cards--mini) .card__title {
  margin: 0 !important;
  line-height: 1.05 !important;
}

#productos .cards:not(.cards--mini) .card__subtitle {
  margin: 0 !important;
  line-height: 1.1 !important;
}

#productos .cards:not(.cards--mini) .card__price {
  margin: 0 !important;
  line-height: 1.1 !important;
  font-size: 12px !important;
}

/* Línea más pegada */
#productos .cards:not(.cards--mini) .card__rule {
  margin: 6px auto !important;
  height: 1px !important;
  opacity: .35 !important;
}

/* Botón más pegado (y no tan inflado) */
#productos .cards:not(.cards--mini) .add-btn {
  margin-top: 6px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  border-radius: 999px !important;
}
/* ===== REDES SOCIALES REALES ===== */

.footer__social {
  display: flex;
  gap: 16px;
}

.social {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: all .25s ease;
}

/* Facebook azul oficial */
.social--facebook {
  background: #1877F2;
}

/* TikTok negro oficial */
.social--tiktok {
  background: #000000;
}

.social svg {
  width: 28px;
  height: 28px;
}

/* Hover profesional */
.social:hover {
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 10px 25px rgba(0, 0, 0, .35);
}


/* CELULAR */

@media (max-width: 780px) {

  :root {
    --header-height: 64px;
    /* antes 70 */
    --logo-w: 210px;
    /* más grande */
    --logo-h: 54px;
  }

  .header__inner {
    gap: 10px;
  }

  .brand__logo {
    /* clave: que el logo use el 100% del contenedor */
    background: url("assets/img/Logo-Esquina.png") left center / contain no-repeat !important;
    max-height: none !important;
  }

  /* carrito y burger un pelín más compactos */
  .cart-btn {
    padding: 8px 12px !important;
  }

  #cart-count {
    font-size: 10px !important;
    padding: 2px 6px !important;
  }

  .burger {
    width: 42px;
    height: 42px;
  }
}


@media (max-width: 780px) {
  .cards--mini {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  .card--mini {
    min-height: 175px !important;
  }

  .card--mini .card__title {
    font-size: 14px !important;
  }

  .card--mini .card__subtitle {
    font-size: 11px !important;
  }
}

@media (max-width: 780px) {
  .section {
    padding: 34px 0 !important;
    /* antes 54 */
  }

  .section__title {
    font-size: 20px !important;
    margin-bottom: 14px !important;
  }
}

@media (max-width: 780px) {
  .mapcard {
    padding: 12px !important;
  }

  .mapcard__frame {
    height: 360px !important;
    /* más alto */
  }
}