/* ====================== Del Jardín — Catálogo (hoja compartida) ====================== */
@font-face{
  font-family:'Pesto Mafio';
  src:url('/fonts/pesto-mafio.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
:root{
  --color-warm-white:#FEF8EC;
  --color-sage:#827E63;
  --color-sage-dark:#5E5B47;
  --color-gold:#C69F78;
  --color-gold-soft:#F1E1CD;
  --color-ink:#3D3B2E;
  --color-ink-soft:#736F5B;
  --color-line:#E9DFC8;
  --color-surface:#FBF1DC;
  --color-surface-2:#F5EEDD;
  --color-danger:#A6392C;
  --font-editorial:'Pesto Mafio', 'Arial Black', sans-serif;
  --font-functional:'IBM Plex Mono', monospace;
  --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px;
  --radius-sm:4px; --radius-md:8px; --radius-lg:14px;
  --container:1180px;
  --ease:cubic-bezier(.4,0,.2,1);
  --dur-fast:.15s; --dur-med:.3s;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--color-warm-white);
  color:var(--color-ink);
  font-family:var(--font-functional);
  font-size:15px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--color-gold-soft);}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--container);margin:0 auto;padding:0 24px;}
h1,h2,h3{font-family:var(--font-editorial);font-weight:400;letter-spacing:.01em;color:var(--color-sage-dark);margin:0;}
.eyebrow{
  font-family:var(--font-functional);text-transform:uppercase;letter-spacing:.12em;
  font-size:11.5px;font-weight:600;color:var(--color-gold);margin-bottom:var(--space-3);
  display:flex;align-items:center;gap:8px;
}
.eyebrow::before{content:"";width:16px;height:1px;background:var(--color-gold);display:inline-block;}
a:focus-visible, button:focus-visible{outline:2px solid var(--color-sage);outline-offset:2px;}

/* ====================== BUTTONS ====================== */
button,.btn{
  font-family:var(--font-functional);cursor:pointer;border:none;border-radius:var(--radius-sm);
  font-weight:600;font-size:13.5px;letter-spacing:.01em;
  transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
  display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--color-sage);color:var(--color-warm-white);padding:13px 26px;}
.btn-primary:hover{background:var(--color-sage-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(94,91,71,.28);}
.btn-outline{background:transparent;color:var(--color-sage-dark);border:1px solid var(--color-line);padding:12px 24px;}
.btn-outline:hover{border-color:var(--color-sage);transform:translateY(-2px);}

/* ====================== HEADER (variante estática, sin hero detrás) ====================== */
header.top{
  position:sticky;top:0;left:0;right:0;z-index:80;
  background:rgba(254,248,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-line);
}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;}
.brand-mark{display:inline-block;height:38px;width:128px;}
.brand-mark img{height:38px;width:128px;max-width:none;display:block;}
nav.top-nav{display:flex;gap:32px;font-size:13px;font-weight:500;letter-spacing:.01em;}
nav.top-nav a{color:var(--color-ink-soft);position:relative;padding:4px 0;transition:color var(--dur-med) var(--ease);}
nav.top-nav a.active,nav.top-nav a:hover{color:var(--color-ink);}
.top-actions{display:flex;gap:10px;align-items:center;}
.social-icon{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--color-line);
  display:flex;align-items:center;justify-content:center;color:var(--color-sage-dark);flex-shrink:0;
  transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.social-icon:hover{border-color:var(--color-gold);color:var(--color-gold);}
.menu-toggle{display:none;background:none;border:none;font-size:22px;color:var(--color-sage-dark);cursor:pointer;padding:4px;}
#mobileNav{display:none;position:fixed;inset:0;background:var(--color-warm-white);z-index:90;padding:24px;flex-direction:column;}
#mobileNav.open{display:flex;}
#mobileNav .mnav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;}
#mobileNav .menu-toggle{color:var(--color-sage-dark);}
#mobileNav a{font-family:var(--font-editorial);font-size:24px;color:var(--color-sage-dark);padding:14px 0;border-bottom:1px solid var(--color-line);}
#mobileNav a.active{color:var(--color-gold);}
#mobileNav .mnav-actions{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
@media (max-width:860px){
  nav.top-nav{display:none;}
  .menu-toggle{display:inline-flex;}
}

/* ====================== FOOTER ====================== */
footer{background:var(--color-sage-dark);color:var(--color-warm-white);padding:64px 0 28px;margin-top:0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(254,248,236,.12);}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-logo img{margin-bottom:14px;}
.footer-tagline{font-family:var(--font-editorial);color:var(--color-warm-white);font-size:16px;letter-spacing:.02em;margin:0 0 8px;}
.footer-grid p.f-desc{font-size:13px;max-width:260px;line-height:1.6;color:rgba(254,248,236,.75);}
.footer-col h5{color:var(--color-warm-white);font-size:12px;margin:0 0 16px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;}
.footer-col a,.footer-col p{display:block;font-size:13px;color:rgba(254,248,236,.65);margin:0 0 10px;}
.footer-col a:hover{color:var(--color-gold);}
.footer-bottom{display:flex;justify-content:space-between;font-size:12px;color:rgba(254,248,236,.5);padding-top:22px;flex-wrap:wrap;gap:8px;}

.float-wa{
  position:fixed;bottom:22px;right:22px;width:52px;height:52px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,.22);z-index:60;
}

/* ====================== CATÁLOGO — HERO ====================== */
.catalogo-hero{padding:60px 0 44px;border-bottom:1px solid var(--color-line);}
.blog-crumb{font-size:12px;color:var(--color-ink-soft);margin-bottom:20px;}
.blog-crumb a{color:var(--color-sage-dark);}
.blog-crumb a:hover{color:var(--color-gold);}
.catalogo-hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:end;}
@media (max-width:860px){.catalogo-hero-grid{grid-template-columns:1fr;gap:32px;}}
.catalogo-hero h1{font-size:36px;line-height:1.18;margin:0 0 16px;}
.catalogo-hero-main p{font-size:15px;color:var(--color-ink-soft);max-width:480px;margin:0;line-height:1.75;}
.asesoria-block{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:26px 28px;}
.asesoria-block h4{font-family:var(--font-functional);font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-sage-dark);font-weight:700;margin:0 0 10px;}
.asesoria-block p{font-size:13px;color:var(--color-ink-soft);line-height:1.7;margin:0;}

/* ====================== CATÁLOGO — SELECTOR DE CATEGORÍAS ====================== */
.cat-pills-section{position:sticky;top:70px;z-index:40;background:rgba(254,248,236,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-line);}
.cat-pills{display:flex;gap:10px;padding:18px 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.cat-pills::-webkit-scrollbar{display:none;}
.cat-pill{
  flex:0 0 auto;background:transparent;border:1px solid var(--color-line);color:var(--color-ink-soft);
  font-family:var(--font-functional);font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  padding:10px 18px;border-radius:999px;transition:all var(--dur-fast) var(--ease);
}
.cat-pill:hover{border-color:var(--color-sage);color:var(--color-ink);}
.cat-pill.active{background:var(--color-sage);border-color:var(--color-sage);color:var(--color-warm-white);}

/* ====================== CATÁLOGO — GRILLA DE FICHAS ====================== */
.catalogo-listado{padding:48px 0 100px;}
.catalogo-count{font-size:12px;color:var(--color-ink-soft);margin:0 0 28px;letter-spacing:.03em;}
.ficha-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-line);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden;transition:opacity var(--dur-med) var(--ease);}
.ficha-grid.is-transitioning{opacity:0;}
@media (max-width:980px){.ficha-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.ficha-grid{grid-template-columns:1fr;}}

.ficha-card{
  background:var(--color-warm-white);padding:26px 24px;cursor:pointer;
  display:flex;flex-direction:column;transition:background var(--dur-fast) var(--ease);
}
.ficha-card:hover{background:var(--color-surface);}
.ficha-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;}
.ficha-num{font-family:var(--font-functional);font-size:12px;color:var(--color-gold);font-weight:700;letter-spacing:.05em;}
.ficha-monogram{
  width:44px;height:44px;border-radius:50%;border:1px solid var(--color-line);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-editorial);font-size:18px;color:var(--color-sage-dark);background:var(--color-surface-2);
  transition:transform var(--dur-med) var(--ease), border-color var(--dur-med) var(--ease);
}
.ficha-card:hover .ficha-monogram{transform:scale(1.08);border-color:var(--color-gold);}
.ficha-nombre{font-size:19px;line-height:1.25;margin:0 0 4px;}
.ficha-cientifico{font-style:italic;font-size:12.5px;color:var(--color-ink-soft);margin:0 0 10px;}
.ficha-cat-badge{
  align-self:flex-start;font-family:var(--font-functional);font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--color-sage-dark);background:var(--color-gold-soft);padding:4px 10px;border-radius:4px;margin-bottom:16px;
}
.ficha-divider{height:1px;background:var(--color-line);margin-bottom:14px;}
.ficha-specs{margin:0 0 18px;flex:1;}
.ficha-specs div{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;padding:5px 0;border-bottom:1px dashed var(--color-line);}
.ficha-specs div:last-child{border-bottom:none;}
.ficha-specs dt{color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin:0;}
.ficha-specs dd{margin:0;color:var(--color-ink);text-align:right;}
.ficha-cta{
  font-size:12.5px;font-weight:700;color:var(--color-sage-dark);letter-spacing:.03em;
  padding-top:4px;transition:color var(--dur-fast) var(--ease), gap var(--dur-fast) var(--ease);
  display:inline-flex;align-items:center;gap:4px;
}
.ficha-cta:hover{color:var(--color-gold);gap:8px;}

.catalogo-empty{padding:60px 0;text-align:center;color:var(--color-ink-soft);font-size:14px;display:none;}
.catalogo-empty.visible{display:block;}

/* ====================== CATÁLOGO — DRAWER LATERAL ====================== */
.drawer-overlay{
  position:fixed;inset:0;background:rgba(61,59,46,.4);z-index:95;
  opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease);
}
.drawer-overlay.open{opacity:1;pointer-events:auto;}
.plant-drawer{
  position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:var(--color-warm-white);
  box-shadow:-16px 0 40px rgba(61,59,46,.18);z-index:96;transform:translateX(100%);
  transition:transform var(--dur-med) var(--ease);overflow-y:auto;
}
.plant-drawer.open{transform:translateX(0);}
.drawer-close{
  position:absolute;top:20px;right:20px;background:none;border:none;font-size:20px;color:var(--color-ink-soft);
  width:36px;height:36px;border-radius:50%;transition:background var(--dur-fast) var(--ease);
}
.drawer-close:hover{background:var(--color-surface-2);}
.drawer-content{padding:76px 32px 48px;}
.drawer-cat-badge{
  display:inline-block;font-family:var(--font-functional);font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--color-sage-dark);background:var(--color-gold-soft);padding:4px 10px;border-radius:4px;margin-bottom:16px;
}
.drawer-content h2{font-size:26px;line-height:1.2;margin:0 0 4px;}
.drawer-cientifico{font-style:italic;font-size:13px;color:var(--color-ink-soft);margin:0 0 20px;}
.drawer-desc{font-size:14px;line-height:1.75;color:var(--color-ink);margin:0 0 28px;}
.drawer-specs{margin:0 0 32px;border-top:1px solid var(--color-line);}
.drawer-specs div{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:12px 0;border-bottom:1px solid var(--color-line);}
.drawer-specs dt{color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600;margin:0;}
.drawer-specs dd{margin:0;color:var(--color-ink);font-weight:600;text-align:right;}
.drawer-ctas{display:flex;flex-direction:column;gap:12px;}
.drawer-ctas .btn{width:100%;}

@media (max-width:600px){
  .catalogo-hero{padding:40px 0 28px;}
  .catalogo-hero h1{font-size:28px;}
  .cat-pills-section{top:0;}
  .ficha-card{padding:20px 18px;}
  .drawer-content{padding:70px 22px 40px;}
}
