/* ── BROCHURE PAGE ───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Rethink Sans', sans-serif; background: linear-gradient(160deg, #FDFAF5 0%, #EDE8DB 100%); color: #2a2015; overflow-x: hidden; min-height: 100vh; }

/* ── HERO ── */
.ih-hero {
  min-height: 60vh; background: center/cover no-repeat;
  position: relative; display: flex; align-items: center; justify-content: center;
  padding-top: 70px;
}
.ih-hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.44); }
.ih-hero-text { position: relative; z-index: 1; text-align: center; padding: 0 20px; }
.ih-hero-script {
  font-family: 'Quattrocento', serif;
  font-size: clamp(14px, 2.2vw, 22px); font-weight: 400; font-style: italic;
  color: rgba(255,255,255,0.82); letter-spacing: 2px; margin-bottom: 4px;
}
.ih-hero h1 {
  font-family: 'Quattrocento', serif;
  font-size: clamp(28px, 5.5vw, 68px); font-weight: 700; color: #fff;
  text-transform: uppercase; letter-spacing: 7px;
  text-shadow: 0 2px 22px rgba(0,0,0,0.45); line-height: 1.15;
}
.ih-hero p {
  font-family: 'Rethink Sans', sans-serif; font-size: 13px; font-weight: 300;
  letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.7);
  margin-top: 16px;
}

/* ── LAYOUT ── */
.ih-wrap { max-width: 1000px; margin: 0 auto; padding: 64px 28px 100px; }
.ih-sec { margin-bottom: 56px; }
.ih-sec:last-child { margin-bottom: 0; }
.ih-sec-head { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.ih-rule { flex: 1; height: 1px; background: rgba(165,147,80,0.35); }
.ih-sec-head h2 {
  font-family: 'Quattrocento', serif; font-size: 12px; font-weight: 700;
  letter-spacing: 4px; text-transform: uppercase; color: #A59350;
  min-width: 0; text-align: center;
}
.ih-intro {
  font-family: 'Rethink Sans', sans-serif; font-size: 15px; line-height: 1.85;
  color: #5a4e38; text-align: center; max-width: 680px; margin: 0 auto 28px;
}
.ih-note {
  font-family: 'Rethink Sans', sans-serif; font-size: 13px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase; color: #A59350;
  text-align: center; margin-bottom: 26px;
}

/* ── AREA GRID ── */
.area-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.area-card {
  background: #fff; border: 1px solid rgba(165,147,80,0.18);
  padding: 18px 12px; text-align: center; border-radius: 6px;
}
.area-name {
  font-family: 'Quattrocento', serif; font-size: 13px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px; color: #2a2015; margin-bottom: 6px;
}
.area-use {
  font-family: 'Rethink Sans', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase; color: #A59350; margin-bottom: 8px;
}
.area-cap {
  font-family: 'Rethink Sans', sans-serif; font-size: 12px; color: #7a6a50; line-height: 1.5;
}

/* ── PRICE TABLE ── */
.price-table {
  background: #fff; border: 1px solid rgba(165,147,80,0.18);
  border-radius: 6px; overflow: hidden; margin-top: 16px;
}
.price-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 13px 22px; border-bottom: 1px solid rgba(165,147,80,0.1);
  font-family: 'Rethink Sans', sans-serif; font-size: 14px; color: #3a3020;
}
.price-row:last-child { border-bottom: none; }
.price-val { font-weight: 600; color: #A59350; white-space: nowrap; margin-left: 16px; }

/* ── SERVICE LIST ── */
.svc-list {
  list-style: none; margin: 16px 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 7px 28px;
}
.svc-list li {
  font-family: 'Rethink Sans', sans-serif; font-size: 14px; color: #5a4e38;
  padding-left: 16px; position: relative; line-height: 1.6;
}
.svc-list li::before { content: '—'; position: absolute; left: 0; color: #A59350; }
@media (max-width: 560px) { .svc-list { grid-template-columns: 1fr; } }

/* ── PDF LINKS ── */
.pdf-links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.pdf-link {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: 'Rethink Sans', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 1.5px; text-transform: uppercase; color: #A59350;
  border: 1px solid rgba(165,147,80,0.45); padding: 8px 16px; border-radius: 6px;
  text-decoration: none; transition: background .18s, color .18s;
}
.pdf-link:hover { background: #A59350; color: #fff; }

/* ── STAY SERVICES ── */
.stay-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.stay-card {
  background: #fff; border: 1px solid rgba(165,147,80,0.18); padding: 24px 22px; border-radius: 6px;
}
.stay-icon { color: #A59350; font-size: 18px; margin-bottom: 10px; }
.stay-card h3 {
  font-family: 'Quattrocento', serif; font-size: 14px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 2px; color: #2a2015; margin-bottom: 10px;
}
.stay-card p {
  font-family: 'Rethink Sans', sans-serif; font-size: 14px; color: #5a4e38;
  line-height: 1.75; margin-bottom: 12px;
}
.stay-prices {
  font-family: 'Rethink Sans', sans-serif; font-size: 13px; color: #A59350; font-weight: 600;
}
.stay-prices span { display: block; }
.stay-prices-note {
  display: block; font-size: 12px; color: #7a6a50; font-weight: 400;
  margin-top: 4px; font-style: italic;
}

/* ── DOWNLOADS (kept for backwards compat, no longer in page) ── */
.dl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 28px; }
.dl-card {
  background: #fff; border: 1px solid rgba(165,147,80,0.18);
  padding: 22px 20px; display: flex; flex-direction: column; gap: 8px; border-radius: 6px;
}
.dl-card i { color: #A59350; font-size: 20px; }
.dl-card h3 { font-family: 'Quattrocento', serif; font-size: 14px; font-weight: 700; color: #2a2015; }
.dl-card p { font-family: 'Rethink Sans', sans-serif; font-size: 13px; color: #7a6a50; line-height: 1.6; flex: 1; }
.vdl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 8px; }
.vdl-row {
  display: flex; align-items: center; gap: 14px;
  background: #fff; border: 1px solid rgba(165,147,80,0.12);
  padding: 12px 16px; border-radius: 6px;
}
.vdl-row i { color: #A59350; font-size: 15px; flex-shrink: 0; }
.vdl-row-text { flex: 1; }
.vdl-row-text span { display: block; font-family: 'Quattrocento', serif; font-size: 13px; color: #2a2015; }
.vdl-row-text small { font-family: 'Rethink Sans', sans-serif; font-size: 11px; color: #7a6a50; }
.vdl-row a { color: #A59350; font-size: 15px; text-decoration: none; flex-shrink: 0; transition: opacity .2s; }
.vdl-row a:hover { opacity: 0.6; }

/* ── INTRO SECTION ── */
.bro-intro-sec { padding-top: 4px; }
.bro-intro-body {
  font-family: 'Rethink Sans', sans-serif; font-size: 16px; line-height: 1.9;
  color: #5a4e38; text-align: center; max-width: 740px; margin: 0 auto 28px;
}

/* ── SEASON PRICE BUTTONS ── */
.bro-season-btns {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 26px;
}
.bro-season-btn {
  display: inline-flex; align-items: center;
  font-family: 'Rethink Sans', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: #fff; background: #A59350;
  padding: 14px 28px; text-decoration: none;
  transition: background .18s;
}
.bro-season-btn:hover { background: #8a7b40; }

/* ── SOCIAL ── */
.bro-social { text-align: center; margin-top: 4px; }
.bro-social p {
  font-family: 'Rethink Sans', sans-serif; font-size: 13px;
  color: #7a6a50; letter-spacing: 1px; margin-bottom: 10px;
}
.bro-social-icons { display: flex; gap: 14px; justify-content: center; }
.bro-social-icons a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid rgba(165,147,80,0.4); color: #A59350; font-size: 14px;
  text-decoration: none; transition: background .18s, color .18s;
}
.bro-social-icons a:hover { background: #A59350; color: #fff; }

/* ── MAP CONTAINER ── */
.bro-map-container {
  display: flex; gap: 20px; margin: 20px 0 28px; align-items: flex-start;
}
.bro-map-photo-wrap { flex: 1; position: relative; min-width: 0; }
.bro-map-img { width: 100%; display: block; border-radius: 4px; }
.bro-map-pin {
  position: absolute; display: flex; align-items: center; gap: 5px; pointer-events: none;
}
.bro-pin-dot {
  display: block; width: 9px; height: 9px; background: #A59350; border-radius: 50%;
  flex-shrink: 0; box-shadow: 0 0 0 3px rgba(165,147,80,0.28);
}
.bro-pin-label {
  background: rgba(255,255,255,0.9);
  font-family: 'Rethink Sans', sans-serif; font-size: 9px; font-weight: 700;
  letter-spacing: 1px; text-transform: uppercase; color: #2a2015;
  padding: 3px 6px; border-radius: 2px; white-space: nowrap;
  box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}
.bro-map-legend {
  width: 210px; flex-shrink: 0;
  background: #fff; border: 1px solid rgba(165,147,80,0.18);
  padding: 18px 16px; border-radius: 6px;
}
.bro-map-legend h4 {
  font-family: 'Quattrocento', serif; font-size: 10px; font-weight: 700;
  letter-spacing: 2.5px; text-transform: uppercase; color: #A59350; margin-bottom: 12px;
}
.bro-legend-item {
  margin-bottom: 12px; padding-bottom: 12px;
  border-bottom: 1px solid rgba(165,147,80,0.1);
}
.bro-legend-item:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.bro-legend-area {
  font-family: 'Quattrocento', serif; font-size: 13px; font-weight: 700;
  color: #2a2015; margin-bottom: 2px;
}
.bro-legend-use {
  font-family: 'Rethink Sans', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: 1px; text-transform: uppercase; color: #A59350; margin-bottom: 2px;
}
.bro-legend-cap {
  font-family: 'Rethink Sans', sans-serif; font-size: 12px;
  color: #7a6a50; font-weight: 600;
}
.bro-legend-divider { border-top: 1px solid rgba(165,147,80,0.2); margin: 14px 0; }
.bro-legend-house {
  font-family: 'Rethink Sans', sans-serif; font-size: 13px;
  color: #5a4e38; padding: 4px 0; display: flex; align-items: center;
}
.bro-legend-code {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; background: #A59350; color: #fff;
  font-family: 'Quattrocento', serif; font-size: 10px; font-weight: 700;
  border-radius: 3px; margin-right: 8px; flex-shrink: 0;
}
.bro-legend-note {
  font-family: 'Rethink Sans', sans-serif; font-size: 11px;
  font-style: italic; font-weight: 400; color: #7a6a50;
}
.bro-legend-tent-note {
  font-family: 'Rethink Sans', sans-serif; font-size: 11px;
  color: #7a6a50; font-style: italic; line-height: 1.5;
}
.bro-legend-tent-note i { color: #A59350; margin-right: 5px; }
@media (max-width: 640px) {
  .bro-map-container { flex-direction: column; }
  .bro-map-legend { width: 100%; }
}

/* ── CEREMONY & RECEPTION AREAS: 5 blocchi foto+testo ── */
.bro-area-grid {
  display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin: 30px 0;
}
.bro-area-item { display: flex; flex-direction: column; gap: 6px; }
.bro-area-photo {
  width: 100%; aspect-ratio: 4/3;
  background-size: cover; background-position: center;
  border-radius: 3px;
}
.bro-area-caption {
  font-family: 'Quattrocento', serif; font-size: 10px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; color: #A59350; text-align: center;
}
.bro-area-capacity {
  font-family: 'Rethink Sans', sans-serif; font-size: 11px; font-weight: 400;
  color: #423B25; text-align: center;
}
@media (max-width: 700px) { .bro-area-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 460px) { .bro-area-grid { grid-template-columns: repeat(2,1fr); } }

/* ── MISC ELEMENTS ── */
.bro-dynamic-note {
  font-family: 'Rethink Sans', sans-serif; font-size: 13px; color: #7a6a50;
  text-align: center; margin-bottom: 22px;
}
.bro-dynamic-note i { color: #A59350; margin-right: 5px; }

.bro-florist-note {
  font-family: 'Rethink Sans', sans-serif; font-size: 15px; line-height: 1.8;
  color: #5a4e38; margin-top: 18px; padding-top: 18px;
  border-top: 1px solid rgba(165,147,80,0.15);
}
.bro-caterer-intro {
  font-family: 'Rethink Sans', sans-serif; font-size: 15px; line-height: 1.8;
  color: #5a4e38; margin-bottom: 4px;
}

/* ── SECTION WITH SIDE PHOTO (Wedding Planning) ── */
.bro-sec-with-photo {
  display: grid; grid-template-columns: 280px 1fr; gap: 32px; align-items: stretch;
}
.bro-sec-photo {
  width: 100%; min-height: 320px; height: 100%;
  background-size: cover; background-position: center top;
  border-radius: 4px;
}
.bro-sec-content { min-width: 0; }
@media (max-width: 640px) {
  .bro-sec-with-photo { grid-template-columns: 1fr; }
  .bro-sec-photo { min-height: 240px; height: 260px; background-position: center bottom; }
}

/* ── CATERER LAYOUT (text left, vertical photo right) ── */
.bro-caterer-layout {
  display: grid; grid-template-columns: 1fr 260px; gap: 32px; align-items: stretch;
}
.bro-caterer-content { min-width: 0; }
.bro-caterer-photo {
  width: 100%; min-height: 280px; height: 100%;
  background-size: cover; background-position: center;
  border-radius: 4px;
}
@media (max-width: 640px) {
  .bro-caterer-layout { grid-template-columns: 1fr; }
  .bro-caterer-photo { min-height: 220px; height: 260px; }
}

/* ── SERVICES SECTION WITH PIZZA PHOTO ── */
.bro-services-top {
  display: grid; grid-template-columns: 280px 1fr; gap: 28px; align-items: stretch;
}
.bro-services-pizza {
  width: 100%; min-height: 300px; height: 100%;
  background-size: cover; background-position: center;
  border-radius: 4px;
}
.bro-stay-col { display: flex; flex-direction: column; gap: 14px; }
@media (max-width: 700px) {
  .bro-services-top { grid-template-columns: 1fr; }
  .bro-services-pizza { min-height: 200px; height: 220px; }
}

/* ── CEREMONY & RECEPTION AREAS: nome/descrizione/capienza impilati, non in
   riga — evita che "descrizione · capienza" vada a capo a metà frase.
   Scoped a questa pagina (non in style.css) per non toccare il layout degli
   .hml-area di houses.html, che non usa .hml-area-text. ── */
.hml-item.hml-area { align-items: flex-start; }
.hml-area-text { display: flex; flex-direction: column; gap: 2px; }
.hml-area-text .hml-name { flex: none; }
.hml-area-text .hml-stat { white-space: normal; }
