/* Ourense guide: quiet autumn-inspired cards, mobile first */
.guide-section{padding:clamp(58px,8vw,104px) 20px;background:var(--color-background)}
.guide-inner{width:min(100%,1000px);margin:auto}
.guide-heading{text-align:center;margin-bottom:34px}
.guide-heading h2{font-size:clamp(30px,4.5vw,44px);font-weight:400;color:var(--color-ink);margin:12px 0 18px}
.guide-heading .guide-intro{max-width:750px;margin:0 auto;color:var(--color-muted);line-height:1.85;font-size:clamp(15px,1.7vw,18px)}
.guide-hotels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.guide-hotel{overflow:hidden;border:1px solid #a45b3e28;border-radius:12px;background:var(--color-paper);box-shadow:0 8px 24px #53392f09;display:flex;flex-direction:column}
.guide-hotel img{width:100%;height:186px;object-fit:cover;display:block;background:#e4ddd2}
.guide-hotel-content{padding:22px 18px 24px;display:flex;flex:1;flex-direction:column;align-items:center;text-align:center;gap:14px}
.guide-hotel h3{font:400 clamp(19px,2vw,23px)/1.35 Georgia,serif;margin:0;color:var(--color-ink);text-wrap:balance}
.guide-link{margin-top:auto;display:inline-block;padding:10px 22px;border:1px solid #a45b3e80;border-radius:999px;color:var(--color-ink);font:11px/1.4 Arial,sans-serif;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:background .2s}
.guide-link:hover,.guide-link:focus-visible{background:#a45b3e12}
.guide-restaurants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:820px;margin:auto}
.guide-restaurant{padding:22px 24px;border-radius:10px;background:var(--color-paper);border:1px solid #a45b3e24;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:8px;align-content:start;align-items:center}
.guide-restaurant:before{content:"";position:absolute;bottom:9px;right:11px;width:30px;height:31px;background:url('../images/branch.svg') center/contain no-repeat;opacity:.1;pointer-events:none}
.guide-restaurant h3{grid-column:1;grid-row:1;font:400 clamp(19px,2vw,22px)/1.35 Georgia,serif;margin:0;color:var(--color-ink)}
.guide-restaurant p{grid-column:1/-1;grid-row:2;margin:0;color:var(--color-muted);font-size:15px;line-height:1.7}
.guide-restaurant .guide-link{grid-column:2;grid-row:1;margin:0;align-self:center;white-space:nowrap;padding:7px 12px;font-size:10px;letter-spacing:.07em}
.guide-restaurant:last-child{grid-column:1/-1;justify-self:center;width:min(100%,402px)}
@media(max-width:760px){.guide-hotels{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-hotel img{height:165px}}
@media(max-width:550px){.guide-section{padding:55px 18px}.guide-hotels,.guide-restaurants{grid-template-columns:1fr;gap:16px}.guide-hotel img{height:205px}.guide-hotel-content{padding:20px}.guide-restaurant:last-child{grid-column:auto;width:100%}.guide-restaurant{padding:20px}}

/* Prewedding teaser: shared typography and compact section transitions. */
#preboda.prewedding-section{padding:clamp(28px,4vw,48px) 20px}
.prewedding-section .guide-inner{max-width:720px}
.prewedding-section .guide-heading{margin-bottom:0}
.prewedding-section .prewedding-lead{color:var(--color-ink)}
.prewedding-section .prewedding-copy{margin-top:16px}
.prewedding-signoff{margin:22px 0 0;color:var(--color-ink);font-size:clamp(17px,2vw,20px);line-height:1.6}
@media(max-width:700px){#preboda.prewedding-section{padding:28px 22px 30px}}

/* Important accommodation notice: always visible, no dismissible popup. */
.lodging-alert { position: relative; max-width: 820px; margin: 0 auto 30px; padding: 23px clamp(20px, 4vw, 34px); border: 1px solid #b4765480; border-left: 4px solid #a45b3e; border-radius: 12px; background: #fff7e9; box-shadow: 0 5px 24px #53392f0c; text-align: left; }
.lodging-alert h3 { margin: 0 0 11px; color: var(--color-ink); font: 400 clamp(19px, 2.4vw, 23px)/1.35 Georgia, serif; text-wrap: balance; }
.lodging-alert p { margin: 0; color: #6a4b3c; font: 400 clamp(14px, 1.8vw, 16px)/1.7 Georgia, serif; }
.lodging-alert strong { color: var(--color-ink); }
.guide-discount { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; padding: 11px 8px; background: #efe2cf; border-radius: 8px; color: #62432f; font: 13px/1.5 Georgia, serif; }
.guide-discount span:first-child { font-weight: bold; }
.guide-discount strong { color: var(--color-ink); letter-spacing: .035em; font: 700 13px/1.5 Arial, sans-serif; overflow-wrap: anywhere; }
@media (max-width: 550px) { .lodging-alert { padding: 20px; margin-bottom: 25px; } .guide-discount { max-width: 320px; } }
