/* ════════════════════════════════════════════════════════════
   FARMAHOY — header menu + footer (29.09.2026)
   Catálogo button + Categorías dropdown (<details>), mobile "Menú" panel,
   footer columns. Colours/fonts are the hub's own tokens from main.css.
   ════════════════════════════════════════════════════════════ */

.fh-hdr summary{list-style:none;cursor:pointer}
.fh-hdr summary::-webkit-details-marker{display:none}
/* Closed <details> content never takes part in layout or measurement. */
.fh-hdr details:not([open]) > .fh-panel{display:none}

.fh-hdr .header-inner{gap:18px}
.fh-nav{display:flex;align-items:center;gap:4px;margin-left:auto;position:relative}
.fh-nav .fh-dd{position:static}

.fh-chev{
  width:.45rem;height:.45rem;flex-shrink:0;opacity:.7;
  border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .18s ease;
}
details[open] > summary .fh-chev{transform:translateY(1px) rotate(-135deg)}

.fh-nav-btn{
  display:inline-flex;align-items:center;gap:.45rem;
  min-height:44px;padding:0 14px;border-radius:12px;
  font-family:var(--f-ui);font-size:.93rem;font-weight:650;
  color:var(--c-ink-soft);white-space:nowrap;text-decoration:none;
  transition:background var(--t-fast),color var(--t-fast);
}
.fh-nav-btn:hover,details[open] > .fh-nav-btn{background:var(--c-sage-light);color:var(--c-sage-deep);text-decoration:none}
.fh-nav-btn[aria-current]{color:var(--c-sage);font-weight:750}

.fh-catalog-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:44px;padding:0 20px;border-radius:var(--r-pill);
  background:linear-gradient(180deg,#24784f,var(--c-sage-deep));
  color:#fff;font-family:var(--f-ui);font-size:.93rem;font-weight:700;
  white-space:nowrap;text-decoration:none;letter-spacing:.01em;
  box-shadow:0 8px 20px rgba(18,76,52,.26);margin-right:6px;
  transition:box-shadow var(--t-fast),transform var(--t-fast);
}
.fh-catalog-btn svg{width:16px;height:16px;flex-shrink:0}
.fh-catalog-btn:hover{color:#fff;text-decoration:none;box-shadow:0 12px 28px rgba(18,76,52,.34),0 0 0 3px rgba(230,138,30,.16)}
.fh-catalog-btn:active{transform:scale(.97)}
.fh-catalog-btn[aria-current]{box-shadow:0 0 0 3px rgba(230,138,30,.28),0 8px 20px rgba(18,76,52,.26)}
.fh-catalog-btn.is-block{display:flex;width:100%;margin:12px 0 0;min-height:50px;font-size:1rem}

/* ---- dropdown panels ---- */
.fh-panel{
  position:absolute;top:calc(100% + 6px);z-index:320;
  background:var(--c-paper);border:1px solid var(--c-border);border-radius:16px;
  box-shadow:0 18px 40px -18px rgba(20,39,32,.35),0 2px 6px rgba(20,39,32,.06);
  padding:12px;animation:fh-dd-in .16s ease-out;
}
@keyframes fh-dd-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.fh-topics{right:0;width:min(31rem,calc(100vw - 32px))}
.fh-topics ul{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:0;margin:0;list-style:none}
.fh-topic-link{
  display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;
  font-family:var(--f-ui);font-size:.9rem;font-weight:600;color:var(--c-ink);text-decoration:none;
}
.fh-topic-link:hover{background:var(--c-sage-light);color:var(--c-sage-deep);text-decoration:none}
.fh-panel-foot{margin-top:8px;padding-top:8px;border-top:1px solid var(--c-border-soft)}
.fh-panel-foot a{
  display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;
  font-family:var(--f-ui);font-size:.9rem;font-weight:750;color:var(--c-sage);text-decoration:none;
}
.fh-panel-foot a:hover{background:var(--c-sage-light);text-decoration:none}

/* ---- mobile menu ---- */
.fh-mnav{display:none;margin-left:auto;position:static}
.fh-burger{
  display:inline-flex;align-items:center;gap:8px;
  min-height:44px;min-width:44px;padding:0 16px;border-radius:var(--r-pill);
  background:var(--c-ink-deep);color:#fff;font-family:var(--f-ui);font-size:.9rem;font-weight:700;
}
.fh-burger-lines{display:grid;gap:3px;width:16px}
.fh-burger-lines i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.fh-mnav[open] .fh-burger-lines i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.fh-mnav[open] .fh-burger-lines i:nth-child(2){opacity:0}
.fh-mnav[open] .fh-burger-lines i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.fh-mnav-panel{
  left:0;right:0;top:100%;border-radius:0 0 16px 16px;border-top:0;
  padding:6px 16px 16px;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;
}
.fh-m-title{
  margin:16px 0 8px;font-family:var(--f-ui);font-size:.74rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-muted);
}
.fh-m-topics{display:grid;grid-template-columns:1fr 1fr;column-gap:8px;padding:0;margin:0;list-style:none}
.fh-m-topics a{
  display:flex;align-items:center;min-height:44px;padding:4px 10px;margin-bottom:6px;border-radius:10px;
  background:var(--c-cream);font-family:var(--f-ui);font-size:.88rem;font-weight:650;line-height:1.2;
  color:var(--c-ink-deep);text-decoration:none;
}
.fh-m-more{margin-top:8px;padding-top:4px;border-top:1px solid var(--c-border-soft)}
.fh-m-more a{
  display:flex;align-items:center;min-height:44px;font-family:var(--f-ui);font-weight:650;
  color:var(--c-ink);text-decoration:none;
}
.fh-m-more a[aria-current],.fh-m-topics a[aria-current]{color:var(--c-sage)}

@media (max-width:980px){
  .fh-nav{display:none}
  .fh-mnav{display:block}
}
@media (max-width:480px){
  .fh-hdr .header-inner{padding:0 16px;height:64px}
  .fh-hdr .logo-image{height:46px}
  .fh-mnav-panel{max-height:calc(100dvh - 64px)}
}

/* ---- footer ---- */
.fh-footer .footer-grid{grid-template-columns:1.6fr 1.7fr 1fr 1.1fr}
.fh-footer .footer-col ul{list-style:none;margin:0}
.fh-footer .fh-f-2col{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
.fh-footer .fh-f-sub{margin-top:18px}
.fh-footer .footer-mission{margin-bottom:0}
.fh-footer .footer-disclaimer-inner p{margin:0 0 6px;color:inherit;line-height:1.6;font-size:inherit}
.fh-footer .footer-disclaimer-inner p:last-child{margin-bottom:0}
@media (max-width:1024px){
  .fh-footer .footer-grid{grid-template-columns:1.6fr 1fr 1.1fr;gap:32px 36px}
  .fh-footer .footer-brand{grid-column:1 / -1}
  .fh-footer .fh-f-products{grid-column:1 / -1}
  .fh-footer .fh-f-products .fh-f-2col{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:768px){
  .fh-footer .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .fh-footer .fh-f-products .fh-f-2col{grid-template-columns:1fr 1fr}
  .fh-footer .footer-col ul li{margin-bottom:0}
  .fh-footer .footer-col ul li a{display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:0}
  .fh-footer .footer-links{gap:0 18px;justify-content:center;flex-wrap:wrap}
}
@media (max-width:420px){
  .fh-footer .footer-grid{grid-template-columns:1fr}
  .fh-footer .fh-f-cats ul{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
}

/* ════════════════════════════════════════════════════════════
   MOBILE 375 (29.09.2026): no sideways scrolling, tap targets ≥ 44px
   ════════════════════════════════════════════════════════════ */
@media (max-width:1024px){
  /* Text links inside the content: a taller/wider hit area through padding cancelled by an
     equal negative margin — the line layout does not move. */
  body > :not(header):not(footer) a:not([class]){padding:15px 8px;margin:-15px -8px}
  .breadcrumb-inner{white-space:normal !important;overflow:visible !important}
}
@media (max-width:768px){
  /* Catalog category filter: wrap into rows instead of a strip dragged with a finger */
  .tabs{flex-wrap:wrap !important;overflow:visible !important;justify-content:center !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;gap:8px}
  .tab{display:inline-flex;align-items:center;min-height:44px;padding:0 16px}
  .about-mission-box{padding:36px 22px}
  .about-mission-box::before,.reviews-section::before,.reviews-section::after{display:none}
}
@media (max-width:640px){
  /* Multi-column tables → one card per row, column name from data-label */
  .price-table-wrap,.dn-tablewrap,.esb-table-wrap,.fh-cmp{overflow:visible !important}
  .fh-cmp table{min-width:0 !important;font-size:.84rem !important}
  .fh-cmp th,.fh-cmp td{padding:8px 6px !important;overflow-wrap:anywhere}
  .price-table thead,.dn-tablewrap thead,.esb-table-wrap thead{display:none}
  .price-table,.price-table tbody,.price-table tr,.price-table td,
  .dn-tablewrap table,.dn-tablewrap tbody,.dn-tablewrap tr,.dn-tablewrap td,
  .esb-table-wrap table,.esb-table-wrap tbody,.esb-table-wrap tr,.esb-table-wrap td{display:block;width:100%;min-width:0 !important}
  .price-table tr,.dn-tablewrap tr,.esb-table-wrap tr{padding:10px 16px;border-bottom:1px solid var(--c-border-soft)}
  .price-table tr:last-child,.dn-tablewrap tr:last-child,.esb-table-wrap tr:last-child{border-bottom:0}
  .price-table td,.dn-tablewrap td,.esb-table-wrap td{display:flex;gap:12px;justify-content:space-between;align-items:baseline;padding:6px 0 !important;border-bottom:0 !important;text-align:right;overflow-wrap:anywhere}
  .price-table td::before,.dn-tablewrap td::before,.esb-table-wrap td::before{content:attr(data-label);flex:0 0 42%;text-align:left;font-family:var(--f-ui);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--c-ink-muted,#6b7167)}
  .price-table td:first-child,.dn-tablewrap td:first-child,.esb-table-wrap td:first-child{font-weight:700;color:var(--c-ink-deep,#142720)}
}
