/*
Theme Name: Granja Travel
Description: Shared template layer for the Granja affiliate travel-guide network. Themed per site entirely through CSS custom properties — see child themes (menorca-pt-costa, menorca-ro-terra) for actual brand tokens. Header and hero are pixel-accurate per the Menorca Brand Directions handoff (design/menorca-handoff); everything below the hero is intentionally minimal until layouts/cards are decided.
Author: Granja
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: granja-travel
*/

:root{--g-primary:#148A9C;--g-dark:#0C2E38;--g-secondary:#E7D6B8;--g-bg:#F4F7F6;--g-ink:#14262B;--g-muted:#5C7078;--g-nav-text:#3D5158;--g-border:rgba(12,46,56,.1);--g-hero-overlay-from:transparent;--g-hero-overlay-to:rgba(12,46,56,.5);--g-hero-text:#F4F7F6;--g-hero-subtext:#DCE9E7;--g-placeholder-a:#D6E2E1;--g-placeholder-b:#E2ECEA;--g-font-display:'Spectral',serif;--g-font-body:'Mulish',sans-serif;--g-font-mono:'Space Mono',monospace;--g-heading-weight:600;--g-nav-weight:600}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--g-bg);color:var(--g-ink);font-family:var(--g-font-body);font-size:16px;line-height:1.6}a{color:var(--g-primary);text-decoration:none}a:hover{opacity:.8}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--g-font-display);font-weight:var(--g-heading-weight);color:var(--g-dark);line-height:1.15;text-wrap:balance}.g-eyebrow{font-family:var(--g-font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-muted)}.g-utility-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 26px;font-family:var(--g-font-mono);font-size:11px;letter-spacing:.02em;background:var(--g-utility-bg,var(--g-bg));color:var(--g-utility-text,var(--g-muted));border-bottom:1px solid var(--g-border);flex-wrap:wrap}.g-utility-bar__left,.g-utility-bar__right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.g-utility-bar__dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:7px;background:var(--g-utility-accent,var(--g-primary))}.g-utility-bar__sun{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;background:var(--g-utility-accent,var(--g-primary))}.g-utility-bar__clock{color:var(--g-utility-clock,var(--g-utility-text,var(--g-muted)))}.g-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 26px;background:var(--g-bg);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 var(--g-border)}.g-header-collapsible{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.g-wordmark{font-family:var(--g-font-display);font-weight:var(--g-heading-weight);font-size:24px;color:var(--g-dark);white-space:nowrap}.g-wordmark:hover{opacity:1}.g-nav{display:flex;flex-wrap:wrap;gap:22px;list-style:none;margin:0;padding:0}.g-nav a{font-size:13px;font-weight:var(--g-nav-weight);color:var(--g-nav-text);font-family:var(--g-font-body)}.g-nav > li{position:relative}.g-nav .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:180px;background:var(--g-bg);border:1px solid var(--g-border);border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.12);display:none;z-index:20}.g-nav > li:hover > .sub-menu,.g-nav > li:focus-within > .sub-menu{display:block}.g-nav .sub-menu li{padding:0}.g-nav .sub-menu a{display:block;padding:8px 10px;border-radius:6px;white-space:nowrap}.g-nav .sub-menu a:hover{opacity:1;background:var(--g-secondary)}.g-nav > li.menu-item-has-children > a::after{content:"";display:inline-block;margin-left:5px;border:4px solid transparent;border-top-color:currentColor;vertical-align:middle;opacity:.6}.g-lang-switcher{display:flex;align-items:center;gap:10px}.g-lang-switcher__item{font-family:var(--g-font-body);font-size:12px;font-weight:600;color:var(--g-nav-text);opacity:.55}.g-lang-switcher__item:hover{opacity:.85}.g-lang-switcher__item.is-current{opacity:1;color:var(--g-primary);text-decoration:underline;text-underline-offset:3px}.g-cta{display:inline-block;background:var(--g-primary);color:#fff;font-family:var(--g-font-body);font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:8px;white-space:nowrap}.g-cta:hover{opacity:.85;color:#fff}.g-header-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--g-dark);font-size:22px;padding:4px 8px}.g-hero{position:relative;margin:0 26px 26px;height:64vh;min-height:340px;max-height:640px;border-radius:12px;overflow:hidden;background-image:repeating-linear-gradient(45deg,var(--g-placeholder-a),var(--g-placeholder-a) 9px,var(--g-placeholder-b) 9px,var(--g-placeholder-b) 18px);background-size:cover;background-position:center}.g-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.g-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,var(--g-hero-overlay-from) 30%,var(--g-hero-overlay-to))}.g-hero__content{position:absolute;left:28px;right:28px;bottom:26px}.g-hero__title{font-family:var(--g-font-display);font-weight:var(--g-heading-weight);color:var(--g-hero-text);font-size:clamp(28px,5vw,56px);line-height:1.08;max-width:60%;margin:0}.g-hero__subtitle{font-family:var(--g-font-body);color:var(--g-hero-subtext);font-size:clamp(14px,1.4vw,18px);max-width:52%;margin:10px 0 0}.g-hero__placeholder-label{position:absolute;top:14px;left:16px;font-family:var(--g-font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-muted);background:color-mix(in srgb,var(--g-bg) 85%,transparent);padding:3px 8px;border-radius:5px}@media (max-width:720px){.g-header-collapsible{display:none}.g-header-toggle{display:block}.g-header.is-open .g-header-collapsible{display:flex;flex-direction:column;align-items:flex-start;gap:14px;position:absolute;top:100%;left:0;right:0;background:var(--g-bg);padding:16px 26px;border-bottom:1px solid var(--g-border);z-index:10}.g-header.is-open .g-nav{display:flex;flex-direction:column;gap:14px}.g-header{position:relative;flex-wrap:wrap}.g-hero__title,.g-hero__subtitle{max-width:100%}}.g-content{max-width:760px;margin:0 auto;padding:48px 26px 80px}.g-content article + article{margin-top:56px;padding-top:56px;border-top:1px solid var(--g-border)}.g-content .entry-title{margin:0 0 8px;font-size:clamp(24px,3.4vw,34px)}.g-content .entry-meta{font-family:var(--g-font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-muted);margin-bottom:16px}.g-content .entry-content p{margin:0 0 1.2em}.g-section{max-width:1120px;margin:0 auto;padding:56px 26px}.g-section + .g-section{border-top:1px solid var(--g-border)}.g-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:28px}.g-section__title{margin:4px 0 0;font-size:clamp(22px,2.6vw,30px)}.g-section__link{font-size:13px;font-weight:600;font-family:var(--g-font-body);white-space:nowrap}.g-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.g-card{display:block}.g-card__media{aspect-ratio:4 / 3;border-radius:10px;background-image:repeating-linear-gradient(45deg,var(--g-placeholder-a),var(--g-placeholder-a) 9px,var(--g-placeholder-b) 9px,var(--g-placeholder-b) 18px);position:relative;overflow:hidden;margin-bottom:12px}.g-card__img{display:block;width:100%;height:100%;object-fit:cover}.g-card__media-label{position:absolute;bottom:8px;left:8px;font-family:var(--g-font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--g-muted);background:color-mix(in srgb,var(--g-bg) 85%,transparent);padding:3px 7px;border-radius:4px}.g-card__eyebrow{font-family:var(--g-font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--g-muted);margin-bottom:4px}.g-card__title{font-family:var(--g-font-display);font-weight:var(--g-heading-weight);font-size:17px;color:var(--g-dark);margin:0}.g-card__meta{font-size:12.5px;color:var(--g-muted);margin-top:4px}.g-empty-note{font-size:13.5px;color:var(--g-muted);font-style:italic}.g-map-section{text-align:center}.g-map-section__img{max-width:100%;border-radius:12px;margin:0 auto;box-shadow:0 12px 30px rgba(0,0,0,.12)}.g-map-section__caption{font-family:var(--g-font-mono);font-size:11.5px;color:var(--g-muted);margin-top:14px}.g-disclosure{font-size:12.5px;color:var(--g-muted);background:var(--g-secondary);padding:14px 26px;text-align:center}.g-footer{padding:32px 26px 0;text-align:center;font-size:13px;color:var(--g-muted)}.g-disclosure--footer{margin:24px -26px 0;padding:14px 26px}.g-footer #g-legal-nav{justify-content:center;gap:18px}.g-footer #g-legal-nav a{font-size:12px;color:var(--g-muted);font-weight:400}
