/* Mete Nascoste — stile leggero, niente framework. */
:root{
  --bg:#faf8f4; --ink:#1f2a24; --muted:#6b7a72; --line:#e6e1d8;
  --accent:#1f6f54; --accent-2:#c97b3c; --card:#fff; --radius:14px;
  --maxw:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.65 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 20px}
img{max-width:100%; display:block}

/* Header */
.site-header{background:var(--ink); color:#fff; padding:18px 0}
.header-inner{display:flex; align-items:baseline; gap:18px; flex-wrap:wrap}
.brand{display:inline-flex; align-items:center; gap:10px; color:#fff; font-weight:700; font-size:22px}
.brand:hover{text-decoration:none}
.brand-mark{color:var(--accent-2); font-size:24px}
.brand-tag{margin:0; color:#c7d2cb; font-size:14px}
.site-nav{display:flex; gap:18px; margin-left:auto}
.site-nav a{color:#dce6e0; font-weight:600; font-size:15px}
.site-nav a:hover{color:#fff; text-decoration:none}
.site-search input{background:#2b3a33; border:1px solid #3c4f46; color:#fff;
  border-radius:999px; padding:8px 14px; font:inherit; width:170px}
.site-search input::placeholder{color:#9fb0a8}
.site-search input:focus{outline:none; border-color:var(--accent-2); width:200px}
@media(max-width:760px){
  .site-nav{margin-left:0; order:3; width:100%}
  .site-search{order:2}
  .site-search input{width:100%}
}

/* Ricerca pagina dedicata */
.search-big{display:flex; gap:10px; margin-top:14px; max-width:560px}
.search-big input{flex:1; padding:12px 16px; border:1px solid var(--line); border-radius:10px; font:inherit}
.btn-search{background:var(--accent); color:#fff; border:0; border-radius:10px; padding:0 22px; font-weight:600; cursor:pointer}
.muted-line{color:var(--muted); margin:18px 0 8px}

/* Hero CTA */
.hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:20px}
.btn-hero{display:inline-block; background:var(--accent); color:#fff; padding:12px 20px; border-radius:10px; font-weight:700}
.btn-hero:hover{filter:brightness(1.06); text-decoration:none}
.btn-hero-2{background:var(--accent-2)}

/* Mappa */
.mappa{height:70vh; min-height:420px; border-radius:14px; overflow:hidden; border:1px solid var(--line); margin-bottom:24px}

/* Esplora filtri */
.esplora-filtri{display:flex; gap:14px; flex-wrap:wrap; align-items:flex-end; margin-top:16px}
.esplora-filtri label{font-weight:600; font-size:14px; display:flex; flex-direction:column; gap:5px}
.esplora-filtri select{padding:10px 12px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff}

/* Alternative — gemello sconosciuto */
.alt-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; padding-bottom:24px}
.alt-card{position:relative; min-height:200px; border-radius:14px; overflow:hidden; display:flex; align-items:flex-end;
  background:#28332e center/cover no-repeat; color:#fff; padding:0}
.alt-card::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,28,24,.88), rgba(20,28,24,.35))}
.alt-card:hover{text-decoration:none; transform:translateY(-3px); transition:transform .15s}
.alt-inner{position:relative; z-index:1; padding:18px; display:flex; flex-direction:column; gap:3px}
.alt-from{font-size:13px; color:#dce6e0; text-transform:uppercase; letter-spacing:.4px}
.alt-from strong{color:var(--accent-2)}
.alt-arrow{font-size:18px; color:#fff}
.alt-to{font-size:20px; font-weight:700; line-height:1.2}
.alt-dest{font-size:13px; color:#cdd9d2}

/* Wishlist heart */
.wl-btn{position:absolute; top:10px; right:10px; z-index:3; width:38px; height:38px; border-radius:50%;
  border:0; background:rgba(255,255,255,.92); color:#b23b3b; font-size:18px; line-height:1; cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.15); opacity:.55; transition:opacity .15s, transform .15s}
.card:hover .wl-btn{opacity:1}
.wl-btn:hover{transform:scale(1.1); opacity:1}
.wl-btn.saved{background:#b23b3b; color:#fff; opacity:1}
.wl-btn-inline{position:static; width:auto; height:auto; border-radius:999px; padding:8px 16px; font-size:14px; font-weight:600;
  background:#fff; border:1px solid var(--line); box-shadow:none; opacity:1; margin-top:8px}
.wl-btn-inline.saved{background:#b23b3b; color:#fff; border-color:#b23b3b}

/* Form (contatti) */
.form{max-width:620px}
.form-row{margin-bottom:16px}
.form label{display:block; font-weight:600; margin-bottom:6px}
.form input,.form textarea{width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:10px; font:inherit; background:#fff}
.form textarea{resize:vertical}
.btn-send{background:var(--accent); color:#fff; border:0; border-radius:10px; padding:12px 24px; font-weight:600; font-size:15px; cursor:pointer}
.btn-send:hover{filter:brightness(1.06)}
.hp{position:absolute; left:-9999px; height:0; overflow:hidden}
.flash-ok{background:#e1f1ea; color:var(--accent); border:1px solid #bfe0d2; padding:14px 18px; border-radius:10px; font-weight:600; margin:8px 0}
.flash-err{background:#fbe9e9; color:#b23b3b; border:1px solid #f0c9c9; padding:12px 16px; border-radius:10px; margin:8px 0}
.check{display:flex; gap:9px; align-items:flex-start; font-size:14px; color:var(--muted); margin:4px 0 16px; max-width:620px}
.check input{margin-top:3px}
.nl-check{flex-basis:100%; font-size:12px; color:var(--muted); display:flex; gap:6px; align-items:center; margin-top:2px}
.nl-check a{color:#cdd9d2; text-decoration:underline}

/* Hero */
.hero{padding:48px 0 24px}
.hero h1{font-size:clamp(28px,5vw,44px); line-height:1.1; margin:0 0 12px; letter-spacing:-.5px}
.hero p{font-size:18px; color:var(--muted); max-width:60ch; margin:0}
.hero-sm{padding:32px 0 12px}
.hero-sm h1{font-size:clamp(24px,4vw,34px)}

/* Chips / categorie */
.chips{display:flex; flex-wrap:wrap; gap:10px; margin:8px 0 8px}
.chip{
  background:#fff; border:1px solid var(--line); color:var(--ink);
  padding:7px 14px; border-radius:999px; font-size:14px; font-weight:600;
}
.chip:hover{border-color:var(--accent); color:var(--accent); text-decoration:none}

.section-title{font-size:22px; margin:32px 0 16px; border-left:4px solid var(--accent-2); padding-left:12px}

/* Grid card */
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:22px; padding-bottom:24px}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease}
.card:hover{transform:translateY(-3px); box-shadow:0 12px 28px rgba(31,42,36,.10)}
.card-link{color:inherit; display:block}
.card-link:hover{text-decoration:none}
.card-cover{
  aspect-ratio:16/10; background:#dfe7e2 center/cover no-repeat;
  position:relative; display:flex; align-items:flex-end; padding:12px;
  background-image:linear-gradient(120deg,#cdd9d2,#e7ddcf);
}
.card-dest{background:rgba(31,42,36,.82); color:#fff; font-size:12px; font-weight:600;
  padding:4px 10px; border-radius:999px}
.card-body{padding:16px}
.card-cat{color:var(--accent); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.4px}
.card-title{font-size:19px; margin:6px 0 8px; line-height:1.25}
.card-sum{color:var(--muted); font-size:14px; margin:0 0 12px}
.card-date{color:#9aa8a0; font-size:13px}

/* Articolo */
.breadcrumb{color:var(--muted); font-size:14px; padding:20px 0 0}
.post{max-width:760px; margin:0 auto; padding:8px 0 24px}
.post-head{padding:24px 0 8px}
.post-dest{display:inline-block; background:var(--accent); color:#fff; font-size:13px; font-weight:600;
  padding:4px 12px; border-radius:999px; margin-bottom:12px}
.post-head h1{font-size:clamp(28px,4.5vw,40px); line-height:1.15; margin:0 0 10px; letter-spacing:-.5px}
.post-sum{font-size:19px; color:var(--muted); margin:0 0 10px}
.post-meta{color:#9aa8a0; font-size:14px; margin:0}
.post-cover{width:100%; border-radius:var(--radius); margin:18px 0 4px; aspect-ratio:16/9; object-fit:cover}
.post-credito{font-size:12px; color:#9aa8a0; margin:0 0 18px; text-align:right}
.post-body{font-size:18px}
.post-body p{margin:0 0 18px}

.empty{color:var(--muted); padding:24px 0}
.back{margin:24px 0}

/* Sezione Instagram community */
.ig-section{margin:36px 0 8px}
.ig-intro{color:var(--muted); margin:-6px 0 16px}
.ig-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:14px}
.ig-card{position:relative; aspect-ratio:1/1; border-radius:12px; overflow:hidden;
  background:#dfe7e2 center/cover no-repeat; display:block}
.ig-card:hover{text-decoration:none; filter:brightness(1.03)}
.ig-card::after{content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(31,42,36,.55), rgba(31,42,36,0) 55%)}
.ig-meta{position:absolute; left:0; right:0; bottom:0; z-index:1; padding:10px;
  display:flex; justify-content:space-between; align-items:flex-end; gap:8px}
.ig-author{color:#fff; font-weight:700; font-size:13px; text-shadow:0 1px 3px rgba(0,0,0,.5)}
.ig-badge{color:#fff; font-size:11px; font-weight:600; background:rgba(201,123,60,.92); padding:3px 8px; border-radius:999px; white-space:nowrap}

/* Paginazione */
.paginazione{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:8px 0 32px}
.pg{display:inline-block; min-width:40px; text-align:center; padding:8px 12px; border:1px solid var(--line);
  border-radius:8px; background:#fff; color:var(--ink); font-weight:600; font-size:14px}
.pg:hover{border-color:var(--accent); color:var(--accent); text-decoration:none}
.pg-cur{background:var(--accent); color:#fff; border-color:var(--accent)}

/* Footer */
.site-footer{border-top:1px solid var(--line); margin-top:40px; padding:28px 0; color:var(--muted); font-size:14px}
.footer-inner{display:flex; flex-direction:column; gap:18px}
.footer-nl strong{color:var(--ink); font-size:17px}
.footer-nl p{margin:4px 0 10px}
.nl-form{display:flex; gap:8px; max-width:460px; flex-wrap:wrap}
.nl-form input[type=email]{flex:1; min-width:200px; padding:11px 14px; border:1px solid var(--line); border-radius:10px; font:inherit}
.nl-form button{background:var(--accent-2); color:#fff; border:0; border-radius:10px; padding:0 20px; font-weight:600; cursor:pointer}
.nl-form button:hover{filter:brightness(1.05)}
.footer-copy a{color:var(--muted); text-decoration:underline}
