/*
Theme Name: Biofattoria L'Upupa
Author: OAF
Version: 1.0
Description: Tema su misura Biofattoria L'Upupa (Val d'Orcia). Bilingue IT/EN.
*/
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Georgia,'Times New Roman',serif;background:#f5efe3;color:#3e2f23;overflow-x:hidden}
.sans{font-family:-apple-system,Helvetica,Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:15px 30px;gap:14px;z-index:20;background:linear-gradient(to bottom,rgba(30,22,15,.65),transparent);transition:background .3s}
.nav.solid{background:#2b2018;box-shadow:0 4px 20px rgba(0,0,0,.25)}
.logo{color:#fff;font-size:18px;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:10px}
.logo-img{height:36px;width:auto;display:block}
.logo b{color:#e0b872}
.nav-links{display:flex;gap:17px;list-style:none;font-family:-apple-system,sans-serif}
.nav-links a{color:#fff;font-size:11.5px;letter-spacing:.3px;text-transform:uppercase;padding-bottom:4px;border-bottom:2px solid transparent;opacity:.9;white-space:nowrap}
.nav-links a:hover{opacity:1;border-color:#e0b872}
.nav-links a.active{opacity:1;color:#e0b872;border-color:#e0b872}
.btn-gold{background:#c1652f;color:#fff;padding:11px 22px;border-radius:3px;font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.5px;font-weight:600;display:inline-block}
.btn-gold:hover{background:#a9541f}
.btn-outline{border:1px solid #f0e6d6;color:#fff;padding:11px 22px;border-radius:3px;font-family:-apple-system,sans-serif;font-size:13px;letter-spacing:.5px;display:inline-block}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.menu-toggle{display:none}

/* HERO (home) */
.hero{height:100vh;min-height:640px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(30,22,15,.35),rgba(30,22,15,.6))}
.hero-inner{position:relative;color:#fff;max-width:780px;padding:0 24px}
.kicker{font-family:-apple-system,sans-serif;letter-spacing:3px;text-transform:uppercase;font-size:13px;color:#e0b872;margin-bottom:18px}
.hero-inner h1{font-size:56px;line-height:1.15;font-weight:400;margin-bottom:22px}
.hero-inner p{font-size:19px;color:#f0e6d6;line-height:1.6;margin-bottom:36px;font-style:italic}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* SUBHERO (inner pages) */
.subhero{height:56vh;min-height:380px;position:relative;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.subhero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(30,22,15,.25),rgba(30,22,15,.7))}
.subhero .sh-inner{position:relative;color:#fff;max-width:1200px;margin:0 auto;width:100%;padding:0 48px 54px}
.subhero h1{font-size:46px;font-weight:400;line-height:1.1}
.subhero .kicker{margin-bottom:12px}

/* PILLARS */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);background:#3e2f23}
.pillar{padding:44px 28px;color:#f5efe3;text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.pillar:last-child{border-right:none}
.pillar .icn{font-size:32px;margin-bottom:14px}
.pillar h3{font-size:17px;margin-bottom:10px;color:#e0b872;font-weight:400}
.pillar p{font-family:-apple-system,sans-serif;font-size:13.5px;color:#cfc3af;line-height:1.6}
.pillar a{color:#e0b872;font-family:-apple-system,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:1px;display:inline-block;margin-top:14px;border-bottom:1px solid rgba(224,184,114,.5);padding-bottom:2px}

/* SPLIT (story / ristoro) */
.split{max-width:1200px;margin:100px auto;padding:0 48px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split.rev .txt{order:2}
.split img{width:100%;border-radius:4px;box-shadow:0 20px 50px rgba(62,47,35,.2);height:100%;object-fit:cover;max-height:460px}
.split .kicker{color:#c1652f;letter-spacing:2px;font-size:12px}
.split h2{font-size:36px;margin-bottom:20px;font-weight:400;line-height:1.25}
.split p{font-family:-apple-system,sans-serif;font-size:15.5px;line-height:1.8;color:#5a4a3a;margin-bottom:14px}
.split .btn-gold{margin-top:10px}

/* SECTION ALT */
.section-alt{background:#efe4d0;padding:90px 48px}
.section-alt .inner{max-width:1200px;margin:0 auto}
.section-head{text-align:center;margin-bottom:50px}
.section-head .kicker{color:#c1652f;letter-spacing:2px;font-size:12px;margin-bottom:12px}
.section-head h2{font-size:34px;font-weight:400}
.section-head p{font-family:-apple-system,sans-serif;color:#5a4a3a;max-width:640px;margin:14px auto 0;line-height:1.7;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;font-family:-apple-system,sans-serif}
.chip{background:#fff;border:1px solid #d9c9ac;padding:14px 22px;border-radius:30px;font-size:14.5px;display:flex;align-items:center;gap:10px}

/* PROSE */
.prose{max-width:820px;margin:80px auto;padding:0 48px;font-family:-apple-system,sans-serif;color:#5a4a3a;line-height:1.85;font-size:16px}
.prose h2{font-family:Georgia,serif;color:#3e2f23;font-size:30px;font-weight:400;margin:36px 0 16px}
.prose p{margin-bottom:16px}
.prose .lead{font-size:19px;font-style:italic;font-family:Georgia,serif;color:#8a5a2b;margin-bottom:26px;line-height:1.6}

/* GALLERY */
.gallery{max-width:1200px;margin:0 auto 100px;padding:0 48px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid4 img{width:100%;height:220px;object-fit:cover;border-radius:6px;box-shadow:0 10px 30px rgba(62,47,35,.15)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid3 img{width:100%;height:260px;object-fit:cover;border-radius:6px;box-shadow:0 10px 30px rgba(62,47,35,.15)}

/* SHOP */
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1200px;margin:0 auto;padding:0 48px}
.shop-card{background:#fdfaf4;border:1px solid #e3d3b6;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(62,47,35,.10)}
.shop-card .ph{width:100%;height:190px;object-fit:cover;border-bottom:1px solid #e3d3b6}
.shop-card .body{padding:24px 26px 28px}
.shop-card .tag{font-family:-apple-system,sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#c1652f;margin-bottom:8px}
.shop-card h3{font-size:22px;font-weight:400;margin-bottom:14px}
.shop-card ul{list-style:none;font-family:-apple-system,sans-serif;font-size:14.5px;color:#5a4a3a;line-height:1.55}
.shop-card li{padding:7px 0 7px 20px;position:relative;border-bottom:1px dotted #e0d0b4}
.shop-card li:last-child{border-bottom:none}
.shop-card li:before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;border-radius:50%;background:#c1652f}
.shop-extra{max-width:1200px;margin:44px auto 0;padding:0 48px}
.shop-extra .box{background:#3e2f23;border-radius:6px;padding:38px 44px}
.shop-extra h4{color:#e0b872;font-size:23px;font-weight:400;margin-bottom:12px}
.shop-extra p{font-family:-apple-system,sans-serif;font-size:14.5px;color:#cfc3af;line-height:1.7;margin-bottom:16px}
.shop-chips{display:flex;flex-wrap:wrap;gap:10px;font-family:-apple-system,sans-serif}
.shop-chips span{border:1px solid rgba(224,184,114,.45);color:#f0e6d6;font-size:13px;padding:8px 15px;border-radius:24px}

/* CERTS */
.certs{background:#3e2f23;padding:34px 48px;display:flex;justify-content:center;gap:50px;flex-wrap:wrap;font-family:-apple-system,sans-serif}
.cert{color:#e0b872;font-size:13px;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;gap:10px}

/* CONTACT */
.contact{padding:90px 48px;max-width:1000px;margin:0 auto;text-align:center}
.contact h2{font-size:32px;margin-bottom:16px;font-weight:400}
.contact p{font-family:-apple-system,sans-serif;color:#5a4a3a;margin-bottom:6px;line-height:1.7}
.contact-row{display:flex;justify-content:center;gap:40px;margin-top:34px;flex-wrap:wrap;font-family:-apple-system,sans-serif}
.contact-row .item{font-size:15px}
.contact-row .item b{display:block;color:#c1652f;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.contact-row .item a{color:#3e2f23}
.mapwrap{max-width:1200px;margin:0 auto 90px;padding:0 48px}
.mapwrap iframe{width:100%;height:380px;border:0;border-radius:8px;box-shadow:0 14px 40px rgba(62,47,35,.18)}
.cta-band{background:#c1652f;color:#fff;text-align:center;padding:66px 24px}
.cta-band h2{font-size:32px;font-weight:400;margin-bottom:14px}
.cta-band p{font-family:-apple-system,sans-serif;margin-bottom:26px;color:#ffe9d8}

footer{background:#2b2018;color:#cfc3af;font-family:-apple-system,sans-serif;font-size:13px}
.foot-in{max-width:1200px;margin:0 auto;padding:46px 48px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.foot-in h4{color:#e0b872;font-size:14px;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;font-weight:600}
.foot-in a{color:#cfc3af;display:block;padding:4px 0}
.foot-in a:hover{color:#fff}
.foot-in p{line-height:1.7;color:#a99a86}
.foot-bar{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:18px;color:#8a7a66;font-size:12px}

.wa{position:fixed;bottom:28px;right:28px;background:#25D366;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 8px 24px rgba(37,211,102,.4);z-index:99}

@media(max-width:900px){
  .nav{padding:14px 16px;gap:8px}
  .logo{order:1;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:13px;letter-spacing:.4px;gap:7px}
  .logo-img{height:30px;flex:0 0 auto}
  .lang-switch{order:2;flex:0 0 auto;margin-left:0}
  .nav-links{position:fixed;inset:0 0 0 auto;width:260px;background:#2b2018;flex-direction:column;padding:90px 30px;gap:6px;transform:translateX(100%);transition:transform .3s}
  .nav-links.open{transform:translateX(0)}
  .nav-links a{font-size:15px;padding:12px 0}
  .menu-toggle{order:3;flex:0 0 auto;display:block;color:#fff;font-size:26px;background:none;border:0;cursor:pointer;z-index:30}
  .nav .btn-gold{display:none}
  .hero-inner h1{font-size:36px}
  .subhero h1{font-size:32px}
  .pillars{grid-template-columns:1fr 1fr}
  .split,.split.rev{grid-template-columns:1fr}
  .split.rev .txt{order:0}
  .grid4{grid-template-columns:1fr 1fr}
  .grid3{grid-template-columns:1fr}
  .shop-grid{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr;gap:26px}
  .split,.prose,.gallery{margin:56px auto}
}

.prose ul{margin:4px 0 18px 22px}
.prose li{margin-bottom:7px}

/* WordPress menu active + Polylang lang switcher */
.nav-links .current-menu-item>a,.nav-links .current_page_item>a{opacity:1;color:#e0b872;border-color:#e0b872}
.nav-links .pll-parent-menu-item img,.nav-links a img{height:14px;width:auto;vertical-align:middle}
.lang-switch{display:flex;gap:8px;align-items:center;margin-left:6px}
.lang-switch a{color:#fff;font-family:-apple-system,sans-serif;font-size:12px;opacity:.7;text-transform:uppercase}
.lang-switch a.current{opacity:1;color:#e0b872;font-weight:600}
