@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Libre+Baskerville:wght@700&display=swap');
:root{--ink:#29241f;--muted:#746b62;--paper:#f5f0e7;--card:#fffdf8;--gold:#d6a62d;--gold2:#f3d87d;--line:#e2d9ca;--green:#24744b;--greenbg:#e6f4eb;--amber:#956100;--amberbg:#fff1cb;--red:#99423b;--redbg:#f8e8e6;--blue:#27657a;--bluebg:#e6f3f8;--shadow:0 16px 45px rgba(52,42,28,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.6}a{color:inherit}img{max-width:100%}.wrap{max-width:1180px;margin:auto;padding:0 22px}.v2-header{position:sticky;top:0;z-index:50;background:rgba(38,34,29,.97);color:#fff;border-bottom:3px solid var(--gold);backdrop-filter:blur(9px)}.v2-head-inner{min-height:76px;display:flex;align-items:center;gap:24px}.v2-brand-text{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;line-height:1.1}.v2-brand-text strong{display:block;font-family:'Libre Baskerville',Georgia,serif;font-size:1.12rem}.v2-brand-text small{display:block;color:#d7cfc4;margin-top:4px;font-size:.72rem;letter-spacing:.03em}.v2-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--gold);color:#241e14;font-family:'Libre Baskerville',Georgia,serif;font-weight:700}.v2-site-banner{background:#ffd10a;border-bottom:1px solid #d5aa00;overflow:hidden}.v2-site-banner img{display:block;width:100%;height:auto;min-height:92px;object-fit:cover;object-position:center}.v2-nav{margin-left:auto;display:flex;gap:6px;align-items:center}.v2-nav a{padding:10px 13px;border-radius:999px;text-decoration:none;font-size:.93rem}.v2-nav a:hover,.v2-nav a.active{background:var(--gold);color:#241e14}.v2-menu{display:none;margin-left:auto;border:1px solid #827767;background:transparent;color:white;padding:8px 11px;border-radius:8px}.page-hero{padding:54px 0;background:linear-gradient(115deg,#27221d,#66512d);color:white}.page-hero h1{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(2rem,5vw,4rem);line-height:1.12;margin:.2em 0}.page-hero p{max-width:760px;color:#eee6db;font-size:1.08rem}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);font-weight:700;font-size:.78rem}.page-main{padding:36px 0 64px}.panel,.v2-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.panel{padding:24px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.btn-v2{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:white;text-decoration:none;border:0;border-radius:999px;padding:11px 17px;font-weight:700}.btn-v2:hover{background:var(--gold);color:var(--ink)}.btn-light{background:white;color:var(--ink);border:1px solid var(--line)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;padding:8px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:var(--card);font-weight:600}.chip.active,.chip:hover{background:var(--ink);color:white}.section-title{font-family:'Libre Baskerville',Georgia,serif;font-size:1.75rem;margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid var(--gold)}.status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:700}.open{background:var(--greenbg);color:var(--green)}.closed{background:var(--redbg);color:var(--red)}.unknown{background:#eeeae4;color:#696158}.soon{background:var(--amberbg);color:var(--amber)}.event-card{overflow:hidden;display:flex;flex-direction:column}.event-card img{width:100%;height:250px;object-fit:cover}.event-body{padding:20px;display:flex;flex-direction:column;flex:1}.event-date{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.event-card h2,.event-card h3{font-family:'Libre Baskerville',Georgia,serif;line-height:1.25}.meta{color:var(--muted);font-size:.94rem}.detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:28px}.gallery-main{width:100%;border-radius:16px;height:clamp(330px,48vw,610px);object-fit:cover;background:#eee7dd}.thumbs{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.gallery-thumb{border:2px solid transparent;background:none;padding:0;border-radius:13px;cursor:pointer;overflow:hidden}.gallery-thumb.active{border-color:var(--gold)}.gallery-thumb img{display:block;height:112px;width:170px;object-fit:cover}.identity-card{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.identity-card h3{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.identity-card img{display:block;width:100%;max-height:145px;object-fit:contain;background:#f0eadf;border-radius:12px;padding:12px}.map-panel{padding:0;overflow:hidden}.map-panel h2{margin:22px 24px 0}.map-embed{margin-top:16px;min-height:320px;background:#eee7dd}.map-embed iframe{display:block;width:100%!important;height:360px!important;border:0!important}.gallery-caption{margin-top:10px;color:var(--muted);font-size:.88rem}.contact-list{list-style:none;padding:0;margin:0}.contact-list li{padding:9px 0;border-bottom:1px solid var(--line)}.hours-list{list-style:none;padding:0;margin:0}.hours-list li{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid var(--line)}.v2-footer{background:#29241f;color:#eee7dd;padding:34px 0;border-top:4px solid var(--gold)}.v2-footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.v2-footer a{color:var(--gold2)}.empty{padding:32px;text-align:center;color:var(--muted)}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:1fr}.v2-menu{display:block}.v2-nav{display:none;position:absolute;left:0;right:0;top:76px;background:#29241f;padding:15px 22px;flex-direction:column;align-items:stretch}.v2-nav.open{display:flex}.v2-nav a{border-radius:8px}.v2-footer-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.v2-site-banner img{min-height:72px;object-position:left center}.gallery-main{height:310px}.gallery-thumb img{width:118px;height:82px}.grid-2,.grid-3{grid-template-columns:1fr}.page-hero{padding:38px 0}.event-card img{height:210px}.panel{padding:18px}.thumbs img{height:130px}}
/* V16: ficha, galería y horarios especiales */
.gallery-open{display:block;width:100%;border:0;background:none;padding:0;cursor:zoom-in}.place-description{margin-top:24px;line-height:1.75}.status.special{background:#fff0bf;color:#704c00}.special-list{list-style:none;padding:0;margin:0}.special-list li{display:flex;flex-direction:column;gap:4px;padding:11px 0;border-bottom:1px solid #eee5d7}.special-list li:last-child{border-bottom:0}.discover{margin-top:30px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.section-head h2{margin:.2rem 0;font-family:Georgia,serif}.near-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.near-card{display:flex;gap:12px;align-items:center;text-decoration:none;background:#fff;border:1px solid #e7dece;border-radius:16px;padding:10px}.near-card img{width:92px;height:76px;object-fit:cover;border-radius:11px}.near-card span{display:grid;gap:5px}.near-card small{color:#71695f;line-height:1.3}.lightbox[hidden]{display:none}.lightbox{position:fixed;z-index:1000;inset:0;background:rgba(15,13,11,.94);display:grid;place-items:center;padding:35px}.lightbox img{max-width:min(1200px,94vw);max-height:82vh;object-fit:contain;border-radius:12px}.lightbox p{color:#fff}.lightbox-close{position:absolute;right:25px;top:15px;border:0;background:none;color:white;font-size:3rem;cursor:pointer}@media(max-width:700px){.near-grid{grid-template-columns:1fr}}

/* V20: ficha moderna y horarios especiales visibles */
.detail-hero{padding:40px 0 34px;background:linear-gradient(120deg,#fff5c8,#efd072);border-bottom:1px solid #d8b54b}.detail-hero-inner{display:flex;align-items:end;justify-content:space-between;gap:28px}.detail-hero h1{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(2.35rem,5vw,4.5rem);line-height:1.05;margin:.14em 0;color:#241e14}.detail-hero p{font-size:1.08rem;color:#56461d;margin:.3rem 0;max-width:720px}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:.83rem;margin-bottom:13px;color:#6f5a20}.breadcrumbs a{text-decoration:none}.detail-layout-modern{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)}.detail-sidebar{display:grid;gap:18px;align-content:start}.modern-gallery{padding:16px}.modern-gallery .gallery-main{height:clamp(390px,52vw,650px)}.compact-title{font-size:1.38rem;margin-bottom:14px}.status-card{border-top:5px solid var(--gold)}.today-main-status{font-size:1.12rem}.inline-link{font-size:.88rem;font-weight:750;color:#8a6500}.contact-list li{display:grid;gap:3px}.contact-list li strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.contact-actions{margin-top:18px}.special-panel{border-left:5px solid var(--gold)}.special-intro{font-size:.9rem;color:var(--muted);margin-top:-5px}.map-fallback{padding:0 24px 24px}.rich-copy{font-size:1.02rem}.hours-list span{text-align:right}.special-notice-link{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:6px 9px;border-radius:999px;background:#fff1bd;color:#704c00;text-decoration:none;font-size:.78rem;font-weight:800}.special-notice-link:hover{background:#f4d66e}.special-mini{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#fff1bd;color:#704c00;font-size:.72rem;font-weight:800;text-decoration:none}@media(max-width:900px){.detail-hero-inner{align-items:flex-start;flex-direction:column}.detail-layout-modern{grid-template-columns:1fr}}@media(max-width:620px){.modern-gallery .gallery-main{height:320px}.detail-hero{padding:30px 0}.detail-hero .btn-v2{width:100%}}

/* V21: galería de ficha sin recortar ni ampliar forzadamente la imagen principal */
.modern-gallery .gallery-open{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:0;
  overflow:hidden;
  border-radius:16px;
  background:#eee7dd;
}
.modern-gallery .gallery-main{
  display:block;
  width:100%;
  height:auto;
  max-height:680px;
  object-fit:contain;
  object-position:center;
  border-radius:16px;
  background:#eee7dd;
}
@media(max-width:620px){
  .modern-gallery .gallery-main{
    height:auto;
    max-height:520px;
  }
}
