/*
Theme Name: Belvedere Silba
Theme URI: https://example.com/
Author: Belvedere
Description: Guest info theme for Belvedere Silba (Elementor Pro + Polylang)
Version: 1.0.0
Text Domain: belvedere
*/

:root{
  --belv-bg:#ffffff; --belv-card:#ffffff; --belv-muted:#6b7280; --belv-primary:#0ea5e9; --belv-primary-contrast:#fff; --belv-border:#e5e7eb; --belv-success:#16a34a; --belv-warning:#f59e0b; --belv-info:#0ea5e9;
}

.belv-title{ font-size:clamp(1.5rem,2.5vw,2rem); margin:0 0 .25rem; }
.belv-subtitle{ color:var(--belv-muted); margin:0 0 1rem; }
.belv-text{ line-height:1.6; }

.belv-grid-2{ display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center; }
@media (max-width: 768px){ .belv-grid-2{ grid-template-columns:1fr; } }

.belv-img-responsive{ width:100%; height:auto; border-radius:12px; display:block; }

.belv-card{ background:var(--belv-card); border:1px solid var(--belv-border); border-radius:14px; padding:1.25rem; box-shadow:0 4px 14px rgba(0,0,0,.05); }

.belv-btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.6rem .9rem; border-radius:10px; border:1px solid var(--belv-border); background:#fff; color:#111; text-decoration:none; font-weight:600; cursor:pointer; }
.belv-btn:hover{ background:#f9fafb; }
.belv-btn--primary{ background:var(--belv-primary); border-color:var(--belv-primary); color:var(--belv-primary-contrast); }
.belv-btn--small{ padding:.4rem .6rem; font-size:.9rem; }

.belv-chip{ display:inline-block; background:#f3f4f6; color:#111; border-radius:999px; padding:.25rem .6rem; margin-right:.5rem; font-size:.9rem; }

.belv-timeline{ list-style:decimal inside; margin:1rem 0 0; padding:0; }
.belv-timeline__item{ padding:.5rem 0; border-left:3px solid var(--belv-border); margin-left:.75rem; padding-left:.75rem; }
.belv-timeline__title{ margin:0 0 .25rem; }
.belv-timeline__desc{ margin:0; color:var(--belv-muted); }

.belv-responsive-iframe{ position:relative; padding-top:56.25%; overflow:hidden; border-radius:12px; }
.belv-responsive-iframe iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

.belv-actions--grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:.5rem; margin-top:1rem; }
@media (max-width: 600px){ .belv-actions--grid{ grid-template-columns:1fr; } .belv-btn{ width:100%; justify-content:center; } }

.belv-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin-top:1rem; }
.belv-gallery__item img{ width:100%; height:100%; object-fit:cover; border-radius:8px; }
@media (max-width: 800px){ .belv-gallery{ grid-template-columns:repeat(2,1fr); } }

/* Accordion */
.belv-accordion__item{ border-top:1px solid var(--belv-border); }
.belv-accordion__header{ cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding:.75rem 0; font-weight:600; }
.belv-accordion__body{ display:none; padding:.25rem 0 1rem; color:var(--belv-muted); }
.belv-accordion__item.is-open .belv-accordion__body{ display:block; }

/* Alert bar */
.belv-alert{ position:relative; padding:.7rem 1rem; border-bottom:1px solid var(--belv-border); display:flex; justify-content:center; align-items:center; gap:.75rem; }
.belv-alert--info{ background:#e0f2fe; color:#0c4a6e; }
.belv-alert--success{ background:#dcfce7; color:#14532d; }
.belv-alert--warning{ background:#fef9c3; color:#78350f; }
.belv-alert__close{ position:absolute; right:.5rem; top:.5rem; background:transparent; border:0; font-size:1.1rem; cursor:pointer; }

/* Amenities */
.belv-amenities{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (max-width: 700px){ .belv-amenities{ grid-template-columns:1fr; } }
.belv-amenities__group{ border:1px dashed var(--belv-border); border-radius:10px; padding:.8rem; }
.belv-amenities__title{ margin:.25rem 0 .5rem; font-size:1.05rem; }
.belv-amenities__list{ margin:0; padding:0; list-style:none; }
.belv-amenities__item{ display:flex; align-items:center; gap:.5rem; padding:.25rem 0; }
.belv-amenities__icon{ width:1.25rem; text-align:center; }

/* Lightbox */
.belv-lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.65); display:none; align-items:center; justify-content:center; z-index:9999; }
.belv-lightbox.is-open{ display:flex; }
.belv-lightbox__content img{ max-width:90vw; max-height:85vh; border-radius:10px; box-shadow:0 10px 40px rgba(0,0,0,.5); }

/* Lists */
.belv-list{ list-style:none; padding:0; margin:0; }
.belv-list__item{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 0; border-top:1px solid var(--belv-border); }
.belv-list__title{ margin:0; font-size:1rem; }
.belv-list__subtitle{ color:var(--belv-muted); }
.belv-note{ margin-top:1rem; color:var(--belv-muted); }

/* Cards grid */
.belv-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
@media (max-width: 900px){ .belv-cards{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 640px){ .belv-cards{ grid-template-columns:1fr; } }
.belv-card-item{ border:1px solid var(--belv-border); border-radius:12px; padding:1rem; background:#fff; }
.belv-card-item__title{ margin:.25rem 0 .5rem; font-weight:700; }
.belv-card-item__meta{ color:var(--belv-muted); margin-bottom:.5rem; }
.belv-card-item__actions{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem; }