@import url('style-v29.css?v=1');

/* Final color rhythm */
.stay-value.section{width:100%;max-width:none;margin:0;padding-left:6%;padding-right:6%;background:#f7f1e8}
.places.section{width:100%;max-width:none;margin:0;padding-left:6%;padding-right:6%;background:#e9ede5}

/* 03 — stable desktop card grid */
.places .place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:44px;border-top:1px solid rgba(37,40,33,.16);border-left:1px solid rgba(37,40,33,.16);overflow:visible}
.places .place-grid>article,.places .place-grid>article:nth-child(odd),.places .place-grid>article:nth-child(even){box-sizing:border-box;min-width:0;min-height:220px;margin:0;padding:30px 28px;border:0;border-right:1px solid rgba(37,40,33,.16);border-bottom:1px solid rgba(37,40,33,.16);background:rgba(255,255,255,.46)}
.places .place-grid>article>span{display:block;margin-bottom:20px;font:500 12px/1 Inter,sans-serif;letter-spacing:.13em;color:var(--brand)}
.places .place-grid h3{margin:0 0 12px;font-size:clamp(25px,2.1vw,32px);line-height:1.05}
.places .place-grid p{margin:0;max-width:580px;line-height:1.65}

/* Events: true 3 × 3 desktop grid */
.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.events-grid article:has([data-i18n="events.bravio.title"]){order:initial!important}
.events-grid article>span{display:block!important;font:500 12px/1 Inter,sans-serif!important;letter-spacing:.13em!important;color:var(--brand)!important}
.events-grid article>span::after{content:none!important}
.events-grid h3[data-i18n="events.ruscello.title"]{font-size:clamp(23px,2vw,31px)!important;line-height:1.02!important}
.events-grid h3[data-i18n="events.ruscello.title"]::after{content:none!important}
.event-meta{margin:0 0 12px!important;font-size:12px!important;line-height:1.4!important;letter-spacing:.065em;text-transform:uppercase;color:var(--brand);font-weight:600}
.events-grid article>p:not(.event-meta){font-size:15px;line-height:1.62}

/* Food: use real translated labels/titles */
.food-grid article>span{display:block!important;font:600 11px/1 Inter,sans-serif!important;letter-spacing:.16em!important;color:var(--brand)!important}
.food-grid article>span::after{content:none!important}
.food-grid h3{font:500 clamp(25px,2.2vw,34px)/1.05 var(--serif)!important;margin:0 0 18px!important}
.food-grid .food-wine h3::after,.food-grid .food-table h3::after{content:none!important}
.food-highlights{display:none!important}
.food-note{display:grid;grid-template-columns:.42fr 1.58fr;gap:32px;align-items:start;margin-top:26px;padding-top:24px;border-top:1px solid rgba(37,40,33,.18)}
.food-note strong{font:500 25px/1.05 var(--serif)}
.food-note p{margin:0;max-width:760px;font-size:15px;line-height:1.65;color:rgba(37,40,33,.8)}

/* Footer brand: compact white lockup, aligned with the cypress mark */
.footer-brand>div>strong{font-size:0!important;line-height:0!important;margin:0}
.footer-brand>div>strong::before{content:"";display:block;width:170px;height:34px;background:url('assets/logo-wordmark.png') left center/contain no-repeat;filter:brightness(0) invert(1);opacity:.94}
.footer-brand>div>span{margin-top:7px}
.footer-wordmark{display:block!important;width:170px!important;max-width:170px!important;height:34px!important;object-fit:contain!important;object-position:left center!important;filter:brightness(0) invert(1)!important;opacity:.94!important}

/* FAQ answers: one consistent type treatment, including dynamically added items */
.faq .faq-list details>p,
.faq .faq-list details>p.faq-tax-note{
  font-family:Inter,sans-serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.65!important;
  letter-spacing:0!important;
  color:rgba(37,40,33,.72)!important;
}

a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.events-grid,.place-grid{-webkit-overflow-scrolling:touch}

@media(max-width:900px) and (min-width:561px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.places .place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:560px){
  .stay-value.section,.places.section{padding-left:7%!important;padding-right:7%!important}
  .places .place-grid{display:flex!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;margin-right:-7vw!important;padding-right:7vw!important;padding-bottom:8px!important;border:0!important}
  .places .place-grid>article,.places .place-grid>article:nth-child(odd),.places .place-grid>article:nth-child(even){flex:0 0 76vw!important;max-width:76vw!important;min-height:190px!important;padding:20px 18px!important;border:1px solid var(--line)!important;background:rgba(255,255,255,.55)!important;scroll-snap-align:start}
  .events-grid{display:flex!important;grid-template-columns:none!important}
  .events-grid>article{min-height:250px!important}
  .event-meta{font-size:12px!important;line-height:1.4!important;letter-spacing:.05em;margin-bottom:11px!important}
  .events-grid article>p:not(.event-meta){font-size:15px!important;line-height:1.55!important}
  .food-grid h3{font-size:20px!important}.food-grid p{font-size:15px!important;line-height:1.5!important}
  .food-note{grid-template-columns:1fr;gap:8px;margin-top:20px;padding-top:18px}.food-note strong{font-size:23px}.food-note p{font-size:15px;line-height:1.55}
  .footer-brand>div>strong::before{width:145px;height:30px}
  .footer-wordmark{width:145px!important;max-width:145px!important;height:30px!important}
  .faq .faq-list details>p,
  .faq .faq-list details>p.faq-tax-note{font-size:16px!important;line-height:1.6!important}
}

/* CIN: integrated into the identity block of the footer */
.footer-brand > div{display:flex;flex-direction:column;align-items:flex-start}
.footer-cin{
  display:block;
  margin-top:4px;
  font-family:Inter,sans-serif;
  font-size:9px;
  line-height:1.35;
  letter-spacing:.045em;
  font-weight:400;
  color:rgba(255,255,255,.58);
  white-space:nowrap;
}
@media(max-width:560px){
  .footer-cin{
    margin-top:4px;
    font-size:8px;
    line-height:1.35;
    letter-spacing:.035em;
    white-space:normal;
  }
}
