/*
Theme Name: Controra
Theme URI: https://controraexperience.com
Author: Controra
Author URI: https://controraexperience.com
Description: Tema su misura per Controra — esperienze lente sui Monti Lepini, a Norma. Design slow-living, blog integrato, pronto per WooCommerce.
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: controra
*/

/* ====== Font import ====== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --cotto:#BD6A4B; --cotto-2:#A4543A; --oliva:#6E7A5A; --oliva-deep:#49513D; --ocra:#C9A24B;
  --cielo:#9DB0B5; --carta:#F6F1E7; --sabbia:#EFE8D8; --inchiostro:#2B2A26;
  --line:#DDD3BF; --ink-soft:#5A564C;
  --serif:'Fraunces','Cormorant Garamond',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--carta);color:var(--inchiostro);font-family:var(--sans);font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1080px;margin:0 auto;padding:0 26px;}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 26px;}
section{scroll-margin-top:84px;}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06;}
a{color:var(--cotto-2);}
img{max-width:100%;height:auto;}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}

/* sun mark */
.sun{display:block;}
.sun .disc{fill:var(--cotto);} .sun .ray{stroke:var(--cotto);stroke-width:6;stroke-linecap:round;}
.sun .hz{stroke:var(--oliva-deep);stroke-width:7;stroke-linecap:round;} .sun .hz2{stroke:var(--oliva-deep);stroke-width:6;stroke-linecap:round;opacity:.4;}

/* HEADER */
header.nav{position:sticky;top:0;z-index:50;background:rgba(246,241,231,0.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand .sun{width:30px;height:30px;}
.brand .wm{font-family:var(--serif);font-weight:600;font-size:25px;color:var(--oliva-deep);letter-spacing:.5px;}
nav.links{display:flex;align-items:center;gap:26px;}
nav.links a{text-decoration:none;font-size:14.5px;color:var(--inchiostro);font-weight:400;transition:color .2s;}
nav.links a:hover{color:var(--cotto);}
.btn{display:inline-block;background:var(--cotto);color:#fff;text-decoration:none;font-size:14px;font-weight:500;padding:11px 20px;border-radius:999px;transition:background .2s,transform .2s;border:none;cursor:pointer;}
.btn:hover{background:var(--cotto-2);transform:translateY(-1px);color:#fff;}
.btn.ghost{background:transparent;color:var(--oliva-deep);border:1px solid var(--oliva-deep);}
.btn.ghost:hover{background:var(--oliva-deep);color:#fff;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--oliva-deep);margin:5px 0;transition:.3s;}

/* HERO */
.hero{position:relative;text-align:center;padding:84px 0 92px;overflow:hidden;background:radial-gradient(90% 70% at 50% -10%, rgba(201,162,75,0.28), transparent 65%),linear-gradient(180deg,var(--sabbia),var(--carta));}
.hero .sun{width:84px;height:84px;margin:0 auto 22px;}
.hero .eyebrow{font-size:12.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--oliva-deep);margin-bottom:18px;}
.hero h1{font-size:clamp(64px,13vw,140px);color:var(--oliva-deep);margin:0;letter-spacing:1px;}
.hero .pay{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(22px,4vw,32px);color:var(--cotto);margin:6px 0 14px;}
.hero .lead{max-width:560px;margin:0 auto 30px;font-size:17px;color:var(--ink-soft);}
.hero .cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* sections */
.band{padding:74px 0;border-top:1px solid var(--line);}
.kicker{font-weight:600;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--cotto);margin:0 0 14px;text-align:center;}
.band h2{font-size:clamp(30px,5vw,44px);text-align:center;margin:0 auto 14px;max-width:760px;}
.band .intro{text-align:center;max-width:640px;margin:0 auto 40px;color:var(--ink-soft);font-size:17px;}
.muted{color:var(--ink-soft);}

/* formula */
.formula{background:var(--sabbia);border:1px solid var(--line);border-left:4px solid var(--cotto);border-radius:14px;padding:28px 30px;max-width:820px;margin:0 auto;font-size:18px;text-align:center;}
.formula b{font-weight:600;}

/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tier{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 26px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.tier:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(73,81,61,0.10);}
.tier .num{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cotto);font-weight:600;}
.tier h3{font-size:32px;font-weight:600;margin:8px 0 2px;}
.tier .when{font-size:13.5px;color:var(--ink-soft);margin-bottom:14px;}
.tier .desc{font-size:14.5px;color:var(--ink-soft);flex:1;margin-bottom:16px;}
.tier .incl{font-size:14px;border-top:1px dashed var(--line);padding-top:14px;}
.tier .incl b{color:var(--oliva-deep);}
.tier .price{font-size:20px;color:var(--cotto);margin-bottom:10px;}
.tier .price b{font-size:26px;font-weight:700;}
.tier .price .was{font-size:13px;color:var(--ink-soft);text-decoration:line-through;margin-left:4px;}

/* esperienze + post cards share .exp grid */
.exp{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ecard{background:var(--sabbia);border:1px solid var(--line);border-radius:14px;padding:24px;transition:background .2s,transform .2s;}
.ecard:hover{background:#fff;transform:translateY(-3px);}
.ecard .ic{width:46px;height:46px;border-radius:50%;background:var(--carta);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.ecard .ic svg{width:24px;height:24px;}
.ecard h3{font-size:22px;font-weight:600;margin:0 0 6px;color:var(--inchiostro);}
.ecard p{font-size:14px;color:var(--ink-soft);margin:0;}
.ecard{position:relative;cursor:pointer;}
.ecard h3 a{color:inherit;text-decoration:none;}
.ecard h3 a::after{content:"";position:absolute;inset:0;z-index:1;}
.ecard:hover h3 a{color:var(--cotto);}

/* sere */
.sere{background:linear-gradient(180deg,#3a4031,#2b2a26);color:var(--carta);}
.sere .kicker{color:var(--ocra);}
.sere h2{color:var(--carta);}
.sere .intro{color:rgba(246,241,231,.72);}
.events{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;}
.event{border-radius:16px;padding:30px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);}
.event.musica{background:linear-gradient(135deg,rgba(201,120,90,.42),rgba(140,74,51,.30));}
.event.cielo{background:linear-gradient(135deg,rgba(110,122,90,.30),rgba(43,42,38,.30));}
.event.degustazione{background:linear-gradient(135deg,rgba(201,162,75,.42),rgba(43,42,38,.30));}
.event .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.85;margin-bottom:10px;}
.event h3{font-size:26px;color:var(--carta);margin:0 0 8px;}
.event p{font-size:14.5px;color:rgba(246,241,231,.85);margin:0;}
.event h3 a{color:inherit;text-decoration:none;}
.event h3 a:hover{text-decoration:underline;}

/* team building */
.team-building{background:linear-gradient(180deg,#4b5a42,#2b2a26);color:var(--carta);}
.team-building .kicker{color:var(--ocra);}
.team-building h2{color:var(--carta);}
.team-building .intro{color:rgba(246,241,231,.72);}
.event.pastore-tb{background:linear-gradient(135deg,rgba(189,106,75,.42),rgba(140,74,51,.30));}
.event.foresta-tb{background:linear-gradient(135deg,rgba(157,176,140,.6),rgba(110,130,95,.45));}

/* luogo */
.luogo-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;}
.luogo-grid h2{text-align:left;margin:0 0 16px;}
.luogo-grid p{color:var(--ink-soft);font-size:16.5px;}
.scene{width:100%;height:auto;border-radius:16px;border:1px solid var(--line);display:block;}

/* prenota */
.prenota{background:var(--sabbia);}
.book-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.engine{background:#fff;border:1px dashed var(--cotto);border-radius:16px;padding:26px;}
.engine .tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cotto);font-weight:600;}
.engine h3{font-size:23px;margin:8px 0 8px;}
.engine p{font-size:14px;color:var(--ink-soft);}
form.book{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;}
form.book .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
label{display:block;font-size:12.5px;font-weight:500;color:var(--oliva-deep);margin:12px 0 5px;letter-spacing:.02em;}
input,select,textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--inchiostro);background:var(--carta);border:1px solid var(--line);border-radius:9px;padding:11px 12px;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cotto);}
textarea{min-height:84px;resize:vertical;}
.book .btn{width:100%;margin-top:18px;font-size:15px;padding:13px;}
.formnote{font-size:12.5px;color:var(--ink-soft);margin-top:10px;text-align:center;}
.okmsg{display:none;background:rgba(110,122,90,.14);border:1px solid var(--oliva);color:var(--oliva-deep);border-radius:10px;padding:14px;margin-top:14px;font-size:14px;text-align:center;}

/* ====== BLOG ====== */
.blog-index{padding-top:64px;}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.post-card{background:var(--sabbia);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s,background .2s;}
.post-card:hover{transform:translateY(-4px);background:#fff;}
.post-card .thumb{aspect-ratio:3/2;overflow:hidden;background:var(--sabbia);}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.post-card .pc-body{padding:20px 22px;}
.post-card .pc-meta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--cotto);margin-bottom:8px;}
.post-card h3{font-size:21px;font-weight:600;margin:0 0 8px;color:var(--inchiostro);}
.post-card p{font-size:14px;color:var(--ink-soft);margin:0 0 12px;}
.readmore{font-size:13.5px;font-weight:500;color:var(--cotto-2);}

/* homepage diario teaser uses .exp grid + .post-card */
#diario .post-card{display:block;text-decoration:none;color:inherit;}
#diario .post-card .pc-body{padding:0;}
#diario .post-card{padding:24px;background:var(--sabbia);}
#diario .post-card .thumb{border-radius:10px;margin-bottom:14px;aspect-ratio:3/2;}

/* pagination */
.pagination{margin-top:44px;text-align:center;}
.pagination .page-numbers{display:inline-block;min-width:40px;padding:8px 12px;margin:0 3px;border:1px solid var(--line);border-radius:9px;text-decoration:none;color:var(--inchiostro);font-size:14px;}
.pagination .page-numbers.current{background:var(--oliva-deep);color:#fff;border-color:var(--oliva-deep);}
.pagination .page-numbers:hover{border-color:var(--cotto);color:var(--cotto-2);}

/* single + page */
.single-hero{padding:64px 0 18px;text-align:center;background:linear-gradient(180deg,var(--sabbia),var(--carta));border-bottom:1px solid var(--line);}
.entry-title{font-size:clamp(32px,5.5vw,52px);color:var(--oliva-deep);margin:6px 0;}
.single-meta{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;}
.single-thumb{margin:32px auto 0;}
.single-thumb img{width:100%;border-radius:16px;border:1px solid var(--line);}
.entry-content{padding:40px 26px 60px;font-size:17.5px;color:var(--inchiostro);}
.entry-content p{margin:0 0 20px;}
.entry-content h2{font-size:30px;color:var(--oliva-deep);margin:36px 0 14px;}
.entry-content h3{font-size:23px;margin:28px 0 10px;}
.entry-content a{color:var(--cotto-2);text-underline-offset:3px;}
.entry-content a.btn{color:#fff;text-decoration:none;}
.entry-content a.btn.ghost{color:var(--oliva-deep);}
.entry-content a.btn.ghost:hover{color:#fff;}
.entry-content img{border-radius:12px;margin:10px 0;}
.entry-content blockquote{border-left:3px solid var(--ocra);margin:24px 0;padding:6px 0 6px 22px;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--oliva-deep);}
.entry-content ul,.entry-content ol{padding-left:22px;margin:0 0 20px;}
.entry-content li{margin-bottom:8px;}
.entry-content figcaption{font-size:13px;color:var(--ink-soft);text-align:center;margin-top:6px;}

/* WP alignment helpers */
.aligncenter{display:block;margin-left:auto;margin-right:auto;}
.alignright{float:right;margin:0 0 16px 24px;}
.alignleft{float:left;margin:0 24px 16px 0;}
.wp-caption{max-width:100%;}

/* footer */
footer.ft{background:var(--oliva-deep);color:var(--carta);padding:56px 0 30px;}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;}
.ft .wm{font-family:var(--serif);font-size:30px;font-weight:600;}
.ft .pay{font-family:var(--serif);font-style:italic;color:var(--ocra);margin-top:4px;}
.ft h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,241,231,.6);margin:0 0 12px;font-family:var(--sans);font-weight:600;}
.ft a{display:block;color:rgba(246,241,231,.9);text-decoration:none;font-size:14.5px;margin-bottom:8px;}
.ft a:hover{color:#fff;}
.ft .copy{border-top:1px solid rgba(246,241,231,.18);margin-top:36px;padding-top:18px;font-size:12.5px;color:rgba(246,241,231,.6);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

@media(max-width:820px){
  .tiers,.exp,.events,.book-wrap,.luogo-grid,.ft-grid,.post-grid{grid-template-columns:1fr;}
  nav.links{position:fixed;top:70px;right:0;left:0;background:var(--carta);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 0;display:none;}
  nav.links.open{display:flex;}
  nav.links a{padding:14px 26px;width:100%;}
  nav.links .btn{margin:10px 26px;text-align:center;}
  .menu-toggle{display:block;}
}
@media(min-width:821px){ .menu-toggle{display:none;} }
