/* =========================================================================
   WADDESDON HOME MAGAZINE (post-pivot British Living)
   Caricato solo sulla homepage via @push('head').
   ========================================================================= */

/* Header height variable. La top nav e' alta ~75px desktop, 65px mobile.
   Usato per calcolare il min-height del hero che deve essere 100vh meno nav. */
:root {
  --waddesdon-header-h: 75px;
}

/* HERO: 100vh manifesto del brand (header + hero = viewport intero) */
.home-hero{
  position: relative;
  margin: 0;
  min-height: calc(100vh - var(--waddesdon-header-h));
  min-height: calc(100dvh - var(--waddesdon-header-h));
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: var(--ink);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, .65) 100%);
  background-size: cover;
  background-position: center;
  color: var(--cream);
  padding: 60px var(--gutter);
}
.home-hero .hero-wrap{
  max-width: 880px;
  margin: 0 auto;
  width: 100%;
  position: relative;
}
.home-hero .hero-eyebrow{
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--colza);
  padding: 7px 16px;
  border: 1px solid rgba(229, 192, 53, .55);
  margin-bottom: 32px;
  background: rgba(7, 59, 37, .35);
}
.home-hero .hero-title{
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: clamp(42px, 7vw, 84px);
  line-height: 1.05;
  letter-spacing: .01em;
  color: var(--cream);
  margin: 0 0 28px;
  text-shadow: 0 4px 32px rgba(0, 0, 0, .65);
}
.home-hero .hero-lead{
  font-family: 'Lora', serif;
  font-style: italic;
  font-size: clamp(17px, 2.1vw, 22px);
  line-height: 1.6;
  color: var(--cream);
  max-width: 720px;
  margin: 0 auto 40px;
  text-shadow: 0 2px 20px rgba(0, 0, 0, .7);
}
.home-hero .hero-ctas{
  display: inline-flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}
.home-hero .hero-cta{
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: var(--t-button);
  font-weight: 600;
  letter-spacing: var(--ls-button);
  text-transform: uppercase;
  padding: 15px 28px;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.home-hero .hero-cta.primary{
  background: var(--colza);
  color: var(--ink);
  border: 1px solid var(--colza);
}
.home-hero .hero-cta.primary:hover{
  background: var(--cream);
  border-color: var(--cream);
}
.home-hero .hero-cta.ghost{
  background: transparent;
  color: var(--cream);
  border: 1px solid rgba(244, 234, 213, .65);
}
.home-hero .hero-cta.ghost:hover{
  border-color: var(--colza);
  color: var(--colza);
}

/* MANIFESTO */
.home-manifesto{
  background: var(--paper);
  padding: 80px var(--gutter);
  text-align: center;
}
.home-manifesto .wrap{ max-width: 780px; margin: 0 auto; }
.home-manifesto .eyebrow{
  display:block;
  font-family:'Inter', sans-serif;
  font-size: 11px; font-weight:600;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--mahogany);
  margin-bottom: 14px;
}
.home-manifesto .h-section{
  font-family:'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: var(--t-h2);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  color: var(--green);
  margin: 0 0 18px;
}
.home-manifesto .lead{
  font-family: 'Lora', serif;
  font-style: italic;
  font-size: var(--t-lead);
  line-height: var(--lh-lead);
  color: var(--ink-soft);
  margin: 0;
}

/* CATEGORIE */
.home-categories{
  background: var(--cream);
  padding: 80px 0 90px;
}
.home-categories .wrap{ max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.home-categories .head{ text-align: center; margin-bottom: 50px; }
.home-categories .eyebrow{
  display:block;
  font-family:'Inter', sans-serif;
  font-size: 11px; font-weight:600;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--mahogany);
  margin-bottom: 14px;
}
.home-categories .h-section{
  font-family:'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: var(--t-h2);
  line-height: var(--lh-heading);
  color: var(--green);
  margin: 0;
}
.cat-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.cat-card{
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border: 1px solid var(--stone);
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cat-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(14, 77, 52, .10);
}
.cat-card .cat-img{ aspect-ratio: 16/10; overflow: hidden; background: var(--salvia); }
.cat-card .cat-img.placeholder{ background: linear-gradient(135deg, var(--salvia), var(--green)); }
.cat-card .cat-img img{ width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.cat-card:hover .cat-img img{ transform: scale(1.05); }
.cat-card .cat-body{ padding: 20px 22px 22px; }
.cat-card h3{
  font-family:'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: var(--t-h3);
  line-height: 1.2;
  margin: 0 0 6px;
  color: var(--green);
}
.cat-card .cat-count{
  display:block;
  font-family:'Inter', sans-serif;
  font-size: var(--t-meta);
  font-weight: 500;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--mahogany);
}
.cat-card .cat-count.muted{ color: var(--stone); }

/* LATEST */
.home-latest{
  background: var(--paper);
  padding: 80px 0 90px;
}
.home-latest .wrap{ max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.home-latest .head{ text-align: center; margin-bottom: 44px; }
.home-latest .eyebrow{
  display: block;
  font-family:'Inter', sans-serif;
  font-size: 11px; font-weight:600;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--mahogany);
  margin-bottom: 14px;
}
.home-latest .h-section{
  font-family:'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: var(--t-h2);
  line-height: var(--lh-heading);
  color: var(--green);
  margin: 0;
}
.latest-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
.latest-grid .post{
  background: var(--cream);
  border: 1px solid var(--stone);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: transform .2s ease, box-shadow .2s ease;
}
.latest-grid .post:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(14, 77, 52, .10);
}
.latest-grid .post .img-wrap{ aspect-ratio: 16/10; overflow: hidden; background: var(--salvia); }
.latest-grid .post .img-wrap img{ width: 100%; height: 100%; object-fit: cover; }
.latest-grid .post .body{ padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.latest-grid .post .topic{
  display: block;
  font-family:'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--mahogany);
  margin: 0 0 12px;
}
.latest-grid .post h3{
  font-family:'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: var(--t-h3);
  line-height: 1.2;
  margin: 0 0 12px;
  color: var(--green);
}
.latest-grid .post .excerpt{
  font-family: 'Lora', serif;
  font-size: var(--t-small);
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0 0 16px;
  flex: 1;
}
.latest-grid .post .meta{
  font-family:'Inter', sans-serif;
  font-size: var(--t-meta);
  font-weight: 500;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--mahogany);
  padding-top: 12px;
  border-top: 1px solid var(--stone);
  display: flex;
  gap: 10px;
}
.latest-cta{ text-align: center; margin-top: 40px; }

/* MAPPA */
.home-map{
  background: var(--green);
  padding: 80px 0 0;
  color: var(--cream);
}
.home-map .wrap{ max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter) 40px; text-align: center; }
.home-map .eyebrow{
  display: block;
  font-family:'Inter', sans-serif;
  font-size: 11px; font-weight:600;
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--colza);
  margin-bottom: 14px;
}
.home-map .h-section{
  font-family:'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: var(--t-h2);
  line-height: var(--lh-heading);
  color: var(--cream);
  margin: 0 0 14px;
}
.home-map .lead{
  font-family: 'Lora', serif;
  font-style: italic;
  font-size: var(--t-lead);
  color: rgba(244, 234, 213, .85);
  margin: 0;
}
#waddesdon-map{
  width: 100%;
  height: 540px;
  background: var(--paper);
  border-top: 4px solid var(--colza);
  border-bottom: 4px solid var(--colza);
}

/* Tile Esri NatGeo: niente filtri pesanti, ha gia' un look atlas vintage */
#waddesdon-map .leaflet-container{
  background: #e8dcc4;
  font-family: 'Cormorant Garamond', Georgia, serif;
}
#waddesdon-map .leaflet-control-attribution{
  background: rgba(244, 234, 213, .9);
  font-family: 'Inter', Arial, sans-serif;
  font-size: 10px;
  color: var(--ink-soft);
}
#waddesdon-map .leaflet-control-attribution a{
  color: var(--mahogany);
}

/* Marker custom (gold dot) */
.wad-marker{
  background: transparent;
  border: none;
}
.wad-marker span{
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--colza);
  border: 3px solid var(--paper);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
  transition: transform .2s ease;
}
.wad-marker:hover span{ transform: scale(1.2); }

/* Popup */
.wad-popup .leaflet-popup-content-wrapper{
  background: var(--paper);
  border-radius: 0;
  border: 1px solid var(--stone);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .25);
}
.wad-popup .leaflet-popup-content{ margin: 0; }
.wad-popup .leaflet-popup-tip{ background: var(--paper); }
.wad-pop{ display: flex; flex-direction: column; width: 260px; }
.wad-pop .pop-img{ aspect-ratio: 16/10; overflow: hidden; background: var(--salvia); }
.wad-pop .pop-img img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.wad-pop .pop-body{ padding: 16px 18px 18px; }
.wad-pop .pop-place{
  font-family:'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.15;
  color: var(--green);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wad-pop .pop-count{
  display: inline-block;
  font-family:'Inter', Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  background: var(--colza);
  color: var(--ink);
  padding: 2px 8px;
  border-radius: 10px;
  line-height: 1.4;
}
.wad-pop .pop-desc{
  font-family:'Lora', serif;
  font-style: italic;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-soft);
  margin: 0 0 14px;
}
.wad-pop .pop-cta{
  display: inline-block;
  font-family:'Inter', Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mahogany);
  text-decoration: none;
  border-top: 1px solid var(--stone);
  padding-top: 12px;
  width: 100%;
}
.wad-pop .pop-cta:hover{ color: var(--green); }

/* Responsive home */
@media (min-width: 720px){
  .cat-grid{ grid-template-columns: repeat(2, 1fr); gap: 22px; }
  .latest-grid{ grid-template-columns: repeat(2, 1fr); }
  #waddesdon-map{ height: 600px; }
}
@media (min-width: 1000px){
  .cat-grid{ grid-template-columns: repeat(3, 1fr); }
  .latest-grid{ grid-template-columns: repeat(3, 1fr); gap: 28px; }
}
