/*
Theme Name: Apoidea Emotive Theme
Theme URI: https://apoidea.it/
Author: Apoidea
Description: Tema leggero e accessibile per Apicoltura ApoIDEA.
Version: 1.0
Text Domain: apoidea-emotive
*/

:root { --cream:#fbf7ee; --paper:#fffdf8; --ink:#292721; --muted:#6c685e; --honey:#d99b18; --honey-dark:#9b6510; --amber:#f1c55b; --leaf:#40523a; --line:rgba(41,39,33,.13); --radius:1.25rem; --shadow:0 18px 50px rgba(58,43,17,.11); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"Inter",Arial,sans-serif; font-size:16px; line-height:1.65; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:focus-visible, button:focus-visible { outline:3px solid var(--honey); outline-offset:4px; }
.screen-reader-text { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); }
.ae-shell { width:min(1180px, calc(100% - 2.5rem)); margin-inline:auto; }
.ae-site-header { position:absolute; z-index:10; width:100%; padding:1rem 0; color:#fff; transition:background .25s ease, box-shadow .25s ease, padding .25s ease; }
.ae-site-header.is-scrolled { position:fixed; background:rgba(41,39,33,.96); box-shadow:0 5px 20px rgba(0,0,0,.18); padding:.7rem 0; }
/* Inner pages keep the same dark navigation as the home, placed above their content. */
body:not(.home) .ae-site-header { position:relative; color:#fff; background:#292721; box-shadow:0 1px 0 rgba(255,255,255,.1); }
body:not(.home) .ae-site-header.is-scrolled { position:sticky; top:0; background:rgba(41,39,33,.98); box-shadow:0 5px 20px rgba(0,0,0,.18); }
body:not(.home) .ae-menu > li > a:hover,body:not(.home) .ae-menu > li > a:focus-visible,body:not(.home) .ae-menu > .current-menu-item > a { background:rgba(255,255,255,.13); color:#f6cb67; }
.ae-header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.ae-brand { display:flex; align-items:center; flex:0 0 auto; color:inherit; font-family:"Lora",Georgia,serif; font-size:1.12rem; font-weight:700; text-decoration:none; }
.ae-brand img { max-height:52px; width:auto; }
.ae-brand .custom-logo-link { display:flex; align-items:center; }
.ae-primary-nav { margin-left:auto; }
.ae-menu,.ae-menu .sub-menu { margin:0; padding:0; list-style:none; }
.ae-menu { display:flex; align-items:center; gap:.15rem; font-size:.78rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; }
.ae-menu > li { position:relative; }
.ae-menu > li > a { display:block; padding:.7rem .75rem; border-radius:.5rem; text-decoration:none; white-space:nowrap; transition:background .2s ease,color .2s ease; }
.ae-menu > li > a:hover,.ae-menu > li > a:focus-visible,.ae-menu > .current-menu-item > a { background:rgba(255,255,255,.13); color:#f6cb67; }
.ae-menu .menu-item-has-children > a::after { content:"⌄"; display:inline-block; margin-left:.38rem; font-size:1em; transform:translateY(-.08em); }
.ae-menu .sub-menu { position:absolute; top:calc(100% + .45rem); left:0; min-width:225px; padding:.45rem; visibility:hidden; opacity:0; transform:translateY(-.35rem); border:1px solid rgba(255,255,255,.12); border-radius:.75rem; background:#fffdf8; box-shadow:0 16px 35px rgba(0,0,0,.2); color:var(--ink); text-transform:none; letter-spacing:0; transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.ae-menu .sub-menu::before { content:""; position:absolute; top:-.45rem; left:1rem; width:.8rem; height:.8rem; background:#fffdf8; transform:rotate(45deg); }
.ae-menu .sub-menu li { position:relative; z-index:1; }
.ae-menu .sub-menu a { display:block; padding:.6rem .7rem; border-radius:.45rem; font-size:.82rem; line-height:1.25; text-decoration:none; }
.ae-menu .sub-menu a:hover,.ae-menu .sub-menu a:focus-visible { background:#f4ead1; color:var(--honey-dark); }
.ae-menu > li:hover > .sub-menu,.ae-menu > li:focus-within > .sub-menu { visibility:visible; opacity:1; transform:translateY(0); }
.ae-menu-toggle { display:none; color:inherit; background:transparent; border:1px solid currentColor; border-radius:.5rem; padding:.45rem .65rem; }
.ae-hero { min-height:92vh; display:grid; place-items:center; position:relative; isolation:isolate; color:#fff; background:#443719 center/cover no-repeat; }
.ae-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(23,24,17,.74),rgba(23,24,17,.32) 65%,rgba(23,24,17,.15)); }
.ae-hero-content { max-width:770px; padding-top:7rem; }
.ae-eyebrow { display:block; color:var(--amber); font-size:.78rem; letter-spacing:.14em; font-weight:800; text-transform:uppercase; margin-bottom:1rem; }
h1,h2,h3 { margin:0 0 .75rem; font-family:"Lora",Georgia,serif; font-weight:600; line-height:1.15; letter-spacing:-.025em; }
h1 { font-size:clamp(3rem,7vw,6.8rem); max-width:11ch; }
h2 { font-size:clamp(2rem,4.5vw,4.2rem); }
h3 { font-size:1.5rem; }
.ae-hero p { max-width:590px; margin:0 0 1.8rem; font-size:clamp(1.03rem,2vw,1.3rem); }
.ae-button { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; padding:.85rem 1.25rem; border:0; border-radius:99px; background:var(--honey); color:#2c2110; font-size:.92rem; font-weight:800; text-decoration:none; transition:transform .2s ease, background .2s ease; }
.ae-button:hover { background:#f1ba2b; transform:translateY(-2px); }
.ae-button--light { background:#fff; color:var(--ink); }
.ae-section { padding:clamp(4.5rem,9vw,8rem) 0; }
.ae-section--paper { background:var(--paper); }
.ae-section-heading { max-width:690px; margin-bottom:3rem; }
.ae-section-heading p { max-width:55ch; color:var(--muted); font-size:1.12rem; }
.ae-story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.ae-story { padding:2rem; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); transition:transform .25s ease,box-shadow .25s ease; }
.ae-story:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.ae-story__icon { display:grid; place-items:center; width:3.15rem; height:3.15rem; margin-bottom:1.5rem; border-radius:50%; background:#f5e6bb; color:var(--honey-dark); }
.ae-story__icon svg { width:1.75rem; height:1.75rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.25; }
.ae-story p,.ae-product p { margin:0; color:var(--muted); }
.ae-heritage { display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border-radius:var(--radius); background:#293228; color:#fff; }
.ae-heritage__image { min-height:410px; background:center/cover no-repeat; }
.ae-heritage__text { align-self:center; padding:clamp(2rem,5vw,5rem); }
.ae-heritage__text p { color:rgba(255,255,255,.78); }
.ae-product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.ae-product { display:flex; flex-direction:column; overflow:hidden; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); }
.ae-product__image { aspect-ratio:4/3; background:center/cover no-repeat; }
.ae-product__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:1.5rem; }
.ae-product__body p { margin-bottom:1.4rem; }
.ae-product__body .ae-button { margin-top:auto; }
.ae-catalogue { background:linear-gradient(135deg,#d99b18,#a8690d); color:#fff; }
.ae-catalogue-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.ae-catalogue h2 { max-width:16ch; }
.ae-catalogue p { max-width:50ch; margin:0; color:rgba(255,255,255,.85); }
.ae-floating-whatsapp { position:fixed; z-index:11; right:1.25rem; bottom:1.25rem; padding:.75rem 1.05rem; background:#25d366; color:#102d19; box-shadow:0 9px 25px rgba(15,70,31,.24); }
.ae-site-footer { padding:4rem 0 1.5rem; color:#f9f5ed; background:#292721; }
.ae-footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:2rem; }
.ae-site-footer h2,.ae-site-footer h3 { color:#fff; font-size:1.2rem; }
.ae-site-footer p,.ae-site-footer li { color:rgba(255,255,255,.7); }
.ae-site-footer ul { margin:0; padding:0; list-style:none; }
.ae-site-footer a { color:inherit; }
.ae-footer-bottom { margin-top:3rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.56); font-size:.83rem; }

@media (max-width:980px) { .ae-menu { gap:0; font-size:.72rem; } .ae-menu > li > a { padding:.65rem .48rem; } }
@media (max-width:800px) { .ae-menu-toggle { display:block; } .ae-primary-nav { display:none; position:absolute; top:100%; left:0; width:100%; margin:0; background:#292721; padding:1rem 1.25rem 1.5rem; } .ae-primary-nav.is-open { display:block; } .ae-menu { flex-direction:column; align-items:stretch; gap:.15rem; font-size:.86rem; } .ae-menu > li > a { padding:.8rem .45rem; } .ae-menu .sub-menu { position:static; display:none; min-width:0; margin:.1rem 0 .45rem; padding:.35rem; visibility:visible; opacity:1; transform:none; border:0; border-left:2px solid var(--honey); border-radius:0; background:rgba(255,255,255,.06); box-shadow:none; color:#fff; } .ae-menu .sub-menu::before { display:none; } .ae-menu .menu-item-has-children:focus-within > .sub-menu,.ae-menu .menu-item-has-children:hover > .sub-menu { display:block; } .ae-menu .sub-menu a { color:#fff; } .ae-menu .sub-menu a:hover,.ae-menu .sub-menu a:focus-visible { background:rgba(255,255,255,.12); color:#f6cb67; } .ae-hero { min-height:760px; } .ae-story-grid,.ae-product-grid { grid-template-columns:1fr; } .ae-heritage { grid-template-columns:1fr; } .ae-heritage__image { min-height:300px; } .ae-catalogue-inner { align-items:flex-start; flex-direction:column; } .ae-footer-grid { grid-template-columns:1fr 1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
