/* Phone and tablet polish, loaded last on every page. */

/* Tablets: show the full menu from 768px instead of the Menu button. */
@media (min-width: 768px) {
  .v2-nav__links { display: flex; gap: 22px; }
  .v2-nav__links a { font-size: .86rem; }
  .v2-nav__menu { display: none; }
  .v2-mobile-drawer, .v2-mobile-drawer.-open { display: none !important; }
}
@media (min-width: 768px) and (max-width: 899px) {
  .v2-nav { gap: 18px; }
  .v2-nav__links { margin-left: auto; }
}
@media (min-width: 1100px) { .v2-nav__links { gap: 34px; } .v2-nav__links a { font-size: .9rem; } }

/* Comfortable tap targets (44px) on touch-sized screens. */
@media (max-width: 1023px) {
  .v2-footer ul a, .v2-footer__legal a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 0; }
  .v2-footer li { margin: 0; }
  .v2-card__cta { display: inline-flex; align-items: center; min-height: 44px; }
  .legal-backtop { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
  .legal-toc a { display: block; padding: 9px 0; }
  .v2-nav__menu-btn { min-height: 44px; padding: 10px 20px; }
  .v2-nav__logo { display: inline-flex; align-items: center; min-height: 44px; }
  .v2-carousel__dot { position: relative; }
  .v2-carousel__dot::after { content: ""; position: absolute; inset: -14px; }
  .v2-mobile-drawer a { display: block; padding: 14px 4px; }
}

/* Smallest text: nothing under 12px on phones and tablets. */
@media (max-width: 1023px) {
  .eyebrow, .v2-card__cat, .v2-card__meta, .v2-badge, .v2-card__badge, .v2-catbadge__label,
  .cert-frame__zoom, .cert-status, .bc-tag, .v2-certs__item, .legal-toc .toc-group { font-size: 12px; }
}

/* Floating buttons: smaller, tucked in the corner, and clear of the footer. */
@media (max-width: 767px) {
  .ai-fab { width: 44px; height: 44px; right: 12px; bottom: 76px; }
  .ai-fab svg { width: 22px; height: 22px; }
  .float-whatsapp { width: 48px; height: 48px; right: 12px; bottom: 16px; }
  .float-whatsapp svg { width: 24px; height: 24px; }
  .v2-footer { padding-bottom: 112px; }
}

/* Readable line length and breathing room on large phones and tablets. */
@media (min-width: 600px) and (max-width: 1023px) {
  .v2 .wrap, .v2 .wrap-narrow { padding-left: 28px; padding-right: 28px; }
}

/* Higher-specificity pass for rules that older page styles would otherwise win. */
@media (max-width: 1023px) {
  html body .eyebrow, html body .bc-tag, html body .legal-toc-title, html body .legal-toc .toc-group,
  html body .legal-toc li.toc-group { font-size: 12px !important; }
  html body .legal-toc ul li a { display: block; padding: 9px 0; min-height: 40px; }
}
@media (min-width: 768px) {
  .v2-nav__links a { display: inline-flex; align-items: center; min-height: 44px; }
  .v2-nav__links a::after { bottom: 6px; }
}

/* Hero background video: sharp (the old blur is for decoration only), under the scrim, still image when motion is reduced. */
.hero-video.-drone{ filter: none; transform: none; opacity: 1; object-fit: cover; z-index: 0; }
.page-hero .hero-bg{ z-index: 0; }
.hero-scrim{ z-index: 1; }
.hero-content{ z-index: 2; }
@media (prefers-reduced-motion: reduce){ .hero-video.-drone{ display: none; } }

/* The floating social icons sit in the page margin, so show them only where a margin exists (the same links are in the footer). */
@media (max-width: 1499px) { .social-rail { display: none !important; } }

/* Floating buttons step aside while a phone or tablet visitor is scrolling, so they never cover text. */
@media (max-width: 1023px) {
  .ai-fab, .float-whatsapp{ transition: transform .25s ease, opacity .25s ease; }
  body.is-scrolling .ai-fab, body.is-scrolling .float-whatsapp{ transform: translateX(90px); opacity: 0; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce){ .ai-fab, .float-whatsapp{ transition: none; } }

/* ===== Products dropdown (desktop and tablet) and expandable list (phone menu) ===== */
.v2-nav{ position: relative; }
.v2-nav__links{ align-self: stretch; align-items: stretch; }
.v2-nav__links > a, .v2-nav__item{ display: inline-flex; align-items: center; }
.v2-nav__item{ gap: 2px; }
.v2-nav__caret{ display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 44px; padding: 0; border: 0; background: none; color: var(--hr-ink); cursor: pointer; border-radius: 8px; }
.v2-nav__caret svg{ transition: transform .2s ease; }
.v2-nav__item.-open .v2-nav__caret svg{ transform: rotate(180deg); }
.v2-nav__caret:focus-visible{ outline: 2px solid var(--hr-forest); outline-offset: 1px; }
.v2-menu-panel{
  display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 120;
  background: var(--hr-cream); border: 1px solid var(--hr-line-strong); border-top: 3px solid #b8912f; border-radius: 0 0 14px 14px;
  box-shadow: 0 24px 48px rgba(26,26,26,.18); padding: 26px 28px 20px;
}
.v2-nav__item.-open .v2-menu-panel, .v2-nav__item:focus-within .v2-menu-panel{ display: block; }
@media (hover: hover) and (min-width: 768px){ .v2-nav__item--drop:hover .v2-menu-panel{ display: block; } .v2-nav__item--drop:hover .v2-nav__caret svg{ transform: rotate(180deg); } }
.pm-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 28px; }
@media (max-width: 899px){ .pm-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pm-group:not(:has(li)){ display: none; }
.pm-group__title{ font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--hr-terracotta); margin-bottom: 8px; }
.pm-group ul{ list-style: none; margin: 0; padding: 0; }
.v2-header .pm-group a, .v2-mobile-drawer .pm-group a{ display: flex; align-items: center; min-height: 36px; padding: 2px 0; font-size: .92rem; font-weight: 500; color: var(--hr-ink); }
.v2-header .pm-group a::after{ display: none; }
.v2-header .pm-group a:hover, .v2-mobile-drawer .pm-group a:hover{ color: var(--hr-terracotta); }
.pm-foot{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--hr-line-strong); }
.v2-header .pm-foot a, .v2-mobile-drawer .pm-foot a{ display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; font-size: .9rem; font-weight: 600; color: var(--hr-forest); border: 1px solid #b8912f; background: #fff; }
.v2-header .pm-foot a::after{ display: none; }
.v2-header .pm-foot .pm-foot__wholesale, .v2-mobile-drawer .pm-foot .pm-foot__wholesale{ background: var(--hr-forest); color: var(--hr-cream); border-color: var(--hr-forest); }
.v2-header .pm-foot a:hover{ background: #b8912f; color: #1a1a1a; border-color: #b8912f; }
.v2-header .pm-foot .pm-foot__wholesale:hover{ background: var(--hr-terracotta); color: #fff; border-color: var(--hr-terracotta); }
/* phone menu */
.v2-drawer-products{ border-bottom: 1px solid var(--hr-line); padding-bottom: 6px; }
.v2-drawer-products summary{ display: flex; align-items: center; justify-content: space-between; min-height: 48px; font-size: 1rem; font-weight: 500; cursor: pointer; list-style: none; }
.v2-drawer-products summary::-webkit-details-marker{ display: none; }
.v2-drawer-products summary::after{ content: "+"; font-size: 1.4rem; color: var(--hr-terracotta); }
.v2-drawer-products[open] summary::after{ content: "–"; }
.v2-drawer-products .pm-grid{ grid-template-columns: 1fr; gap: 14px; padding: 6px 0 4px 4px; }
.v2-mobile-drawer{ max-height: calc(100vh - 80px); overflow-y: auto; }

/* Whole product card opens the product page; Enquire / WhatsApp links stay separate and clickable. */
.v2-card{ position: relative; }
.v2-card__title a, .aipan-card h3 a{ color: inherit; text-decoration: none; }
.v2-card__title a::after, .aipan-card h3 a.ac-link::after{ content: ""; position: absolute; inset: 0; z-index: 1; }
.v2-card__foot a, .v2-card__cta{ position: relative; z-index: 2; }
.aipan-card .ac-foot a{ position: relative; z-index: 2; }
.v2-card__title a:focus-visible, .aipan-card h3 a:focus-visible{ outline: none; }
.v2-card__title a:focus-visible::after, .aipan-card h3 a:focus-visible::after{ outline: 3px solid var(--hr-forest, #0d3b26); outline-offset: -3px; border-radius: 10px; }

/* ---- Cookie banner ---- */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:760px;margin:0 auto;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 20px;background:#1a1a1a;color:#faf5ea;border:1px solid rgba(250,245,234,.25);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.35);font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:4px 0 0;color:#faf5ea}
.cookie-banner a{color:#ffd9a8;text-decoration:underline}
.cookie-banner__text{flex:1 1 320px}
.cookie-banner__actions{display:flex;gap:10px;flex:0 0 auto}
.cookie-btn{min-height:44px;min-width:96px;padding:10px 18px;border-radius:8px;border:1px solid #faf5ea;background:transparent;color:#faf5ea;font:inherit;font-weight:600;cursor:pointer}
.cookie-btn.-accept{background:#faf5ea;color:#1a1a1a}
.cookie-btn:focus-visible{outline:3px solid #ffd9a8;outline-offset:2px}
@media (max-width:520px){.cookie-banner{padding:14px;left:10px;right:10px;bottom:10px}.cookie-banner__actions{width:100%}.cookie-btn{flex:1}}

/* ---- Footer paragraph: lift contrast on the dark footer (was 1.96:1) ---- */
.v2 .v2-footer p{ color: rgba(250,245,234,.78); }

/* ---- Contact map: click-to-load placeholder ---- */
.map-facade{ min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; text-align:center; padding:32px 16px; background:var(--hr-cream-2, #f1e9d6); }
.map-facade p{ margin:0; }
.map-facade .btn{ min-height:44px; }

/* ---- 404 page ---- */
.nf{ max-width:720px; margin:0 auto; padding:96px 20px 112px; text-align:center; }
.nf__code{ font-size:.85rem; letter-spacing:.14em; text-transform:uppercase; color:#8a3a12; font-weight:700; }
.nf h1{ margin:12px 0 16px; }
.nf__links{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px; }

/* ---- Full product list ---- */
.pf-grid{ align-items:start; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:20px; margin-top:24px; }
.pf-cat{ background:#fff; border:1px solid rgba(26,26,26,.1); border-radius:12px; padding:20px 22px; }
.pf-cat h3{ margin:0 0 12px; font-size:1.05rem; }
.pf-cat h3 span{ color:#6b6b6b; font-weight:400; }
.pf-cat ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.pf-cat li{ font-size:.92rem; line-height:1.45; }
.pf-sku{ display:inline-block; margin-left:6px; padding:1px 7px; border-radius:6px; background:rgba(13,59,38,.08); font-size:.72rem; letter-spacing:.03em; }
.pf-meta, .pf-aka{ display:block; color:#5a5a5a; font-size:.82rem; }
.pf-aka{ color:#6b6b6b; font-style:italic; }
.pf-cta{ margin-top:28px; display:flex; flex-wrap:wrap; gap:12px; }

/* ---- Quote form ---- */
.qf-row{ display:grid; grid-template-columns:1fr 110px 120px; gap:8px; margin-bottom:8px; }
.qf-row input, .qf-row select{ min-height:44px; }
.qf-add{ background:none; border:0; padding:6px 0; color:var(--hr-terracotta,#a8431a); font-weight:600; cursor:pointer; min-height:44px; }
.qf-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.qf-actions .btn{ flex:1 1 200px; }
@media (max-width:520px){ .qf-row{ grid-template-columns:1fr 1fr; } .qf-row .qf-prod{ grid-column:1 / -1; } }

/* ---- Related products ---- */
.rel-list{ list-style:none; margin:0 0 16px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:14px; }
.rel-list a{ display:flex; flex-direction:column; gap:4px; padding:16px 18px; border:1px solid rgba(26,26,26,.12); border-radius:10px; background:#fff; color:inherit; text-decoration:none; min-height:44px; }
.rel-list a:hover{ border-color:#a8431a; }
.rel-list span{ font-size:.82rem; color:#5a5a5a; }
.rel-more{ font-size:.92rem; }

/* ---- Agro-tourism gallery and videos ---- */
.am-gallery{ columns:3 260px; column-gap:16px; margin-top:28px; }
.am-gallery figure{ break-inside:avoid; margin:0 0 16px; }
.am-gallery img{ width:100%; height:auto; border-radius:10px; display:block; }
.am-gallery a{ display:block; cursor:zoom-in; }
.am-gallery figcaption, .am-video figcaption{ font-size:.85rem; color:#5a5a5a; margin-top:6px; }
.am-videos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:20px; margin-top:24px; }
.am-video{ margin:0; }
.am-video iframe, .am-video video{ width:100%; aspect-ratio:16/9; border:0; border-radius:10px; background:#1a1a1a; display:block; }
.am-play{ width:100%; aspect-ratio:16/9; border:0; border-radius:10px; background:linear-gradient(135deg,#1b3a2a,#0d2a1c); color:#faf5ea; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; cursor:pointer; font:inherit; padding:16px; text-align:center; }
.am-play span{ font-size:2.2rem; line-height:1; }
.am-lightbox{ border:0; padding:0; background:transparent; max-width:96vw; max-height:96vh; }
.am-lightbox::backdrop{ background:rgba(0,0,0,.82); }
.am-lightbox img{ max-width:96vw; max-height:90vh; width:auto; height:auto; border-radius:8px; display:block; }
.am-close{ position:absolute; top:6px; right:10px; width:44px; height:44px; border:0; border-radius:50%; background:rgba(0,0,0,.6); color:#fff; font-size:1.8rem; cursor:pointer; }

.am-note{ margin-top:20px; font-size:.85rem; color:#5a5a5a; text-align:center; }

/* ---- Explore more (cross-links on pages with few links) ---- */
.explore{ padding:40px 0 48px; background:var(--hr-cream, #faf5ea); border-top:1px solid rgba(26,26,26,.1); }
.explore__title{ font-size:1.05rem; margin:0 0 14px; }
.explore__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.explore__list a{ display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid rgba(26,26,26,.18); border-radius:999px; background:#fff; color:#1a1a1a; text-decoration:none; font-size:.92rem; }
.explore__list a:hover, .explore__list a:focus-visible{ border-color:#a8431a; color:#a8431a; }

/* ---- Documents page ---- */
.doc-table{ margin:32px auto 0; max-width:960px; border:1px solid rgba(26,26,26,.14); border-radius:12px; overflow:hidden; background:#fff; }
.doc-row{ display:grid; grid-template-columns:1.1fr 2.6fr 1.2fr; gap:16px; padding:16px 20px; border-top:1px solid rgba(26,26,26,.1); align-items:start; }
.doc-row>div{ min-width:0; }
.doc-head{ background:rgba(13,59,38,.08); font-weight:700; border-top:0; font-size:.85rem; letter-spacing:.04em; text-transform:uppercase; }
.doc-note{ max-width:960px; margin:28px auto 0; padding:20px 24px; background:rgba(168,67,26,.08); border-radius:10px; }
.doc-note h2{ margin:0 0 8px; font-size:1.1rem; }
.doc-h2{ max-width:960px; margin:40px auto 12px; font-size:1.3rem; }
.doc-list{ max-width:960px; margin:0 auto; padding-left:22px; display:grid; gap:10px; }
.doc-cta{ max-width:960px; margin:28px auto 0; display:flex; flex-wrap:wrap; gap:12px; }
@media (max-width:720px){ .doc-row{ grid-template-columns:1fr; gap:6px; } .doc-head{ display:none; } }

/* ---- Language pages (de, fr, ar) ---- */
.lp .wrap{ max-width:820px; }
.lp h2{ margin:36px 0 10px; font-size:1.25rem; }
.lp__list{ display:grid; gap:8px; padding-inline-start:22px; margin:0; }
.lp__switch{ font-size:.92rem; margin-bottom:18px; }
.lp__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.lp__note{ font-size:.85rem; color:#5a5a5a; margin-top:20px; }
.lp[dir="rtl"]{ text-align:right; font-family:"Noto Sans Arabic",system-ui,sans-serif; }
.lp[dir="rtl"] h1, .lp[dir="rtl"] h2{ font-family:"Noto Sans Arabic",system-ui,sans-serif; }

.lp__quote{ margin:16px 0 0; padding:14px 18px; border-inline-start:4px solid #a8431a; background:rgba(168,67,26,.06); font-style:italic; }
.v2-footer__langs{ margin-top:8px; font-size:.9rem; }

.post-related{ margin-top:40px; padding-top:24px; border-top:1px solid rgba(31,61,46,.12); }
.post-related h2{ font-size:1.1rem; margin:0 0 10px; }
.post-related ul{ margin:0; padding-left:20px; display:grid; gap:6px; }

/* ---- Herbal hub ---- */
.herb-cat{ margin-top:32px; }
.herb-cat h2{ margin:0 0 12px; font-size:1.3rem; }
.herb-cat h2 span{ color:#6b6b6b; font-weight:400; }
.pf-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:10px 24px; }
.pf-list li{ font-size:.93rem; line-height:1.45; padding:10px 0; border-bottom:1px solid rgba(26,26,26,.08); }
