/* WEB-2: componentes estáticos; reutiliza los tokens editoriales de site.css. */
.centros { --acento: #9b6542; }
.centros a { text-underline-offset: .22em; }
.centros a:focus-visible, .centros summary:focus-visible { outline: 3px solid #4A6FA8; outline-offset: 5px; border-radius: 2px; }
.centros-head { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--linea); }
.brand { display: inline-flex; align-items: center; gap: .85rem; font-size: .92rem; font-weight: 500; color: var(--tinta); text-decoration: none; }
.venn { width: 48px; height: 44px; flex: none; isolation: isolate; }
.venn circle { opacity: .62; mix-blend-mode: multiply; }
.venn circle:last-child { opacity: 1; }
.centros-menu { position: relative; font-size: .87rem; z-index: 3; }
.centros-menu summary { cursor: pointer; padding: .75rem 0 .75rem 1rem; min-height: 44px; list-style: none; }
.centros-menu summary::-webkit-details-marker { display: none; }
.centros-menu summary span { margin-left: .6rem; }
.centros-menu[open] summary span { display: inline-block; transform: rotate(45deg); }
.centros-menu nav { position: absolute; top: 100%; right: 0; min-width: 210px; padding: .5rem; background: var(--papel); border: 1px solid var(--linea); box-shadow: 0 12px 30px #28241f14; }
.centros-menu nav a { display: block; padding: .85rem; min-height: 44px; text-decoration: none; color: var(--tinta); }
.centros-menu nav a:hover { background: var(--papel-hondo); }
.centros-intro { padding: clamp(3.7rem, 8vw, 7rem) 0 clamp(3.5rem, 7vw, 6rem); max-width: 850px; }
.centros .eyebrow { font-family: var(--body); text-transform: uppercase; font-size: .71rem; letter-spacing: .16em; font-weight: 500; color: #655449; }
.centros-intro h1 { font-size: clamp(3.3rem, 8vw, 7.2rem); line-height: .99; margin: 1.1rem 0 1.5rem; letter-spacing: -.045em; }
.accent-dot { color: #a36535; }
.intro-lead { max-width: 34rem; font-size: clamp(1.15rem, 2vw, 1.35rem); color: var(--tinta-70); }
.text-link { display: inline-block; margin-top: 1.4rem; min-height: 44px; font-size: .93rem; font-weight: 500; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1.4rem 0; border-top: 1px solid var(--linea); }
.section-heading h2 { font-size: 1.9rem; }
.section-heading > span { font-size: .76rem; white-space: nowrap; color: #655449; }
.venue-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 1.65rem; row-gap: 3rem; }
.venue-card > a { display: block; color: var(--tinta); text-decoration: none; }
.venue-card picture, .venue-card .quiet-art { display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--papel-hondo); }
.venue-card picture img { width: 100%; height: 100%; object-fit: cover; }
.card-copy { padding: 1.25rem 0 0; }
.card-copy h3 { font-size: clamp(1.5rem, 2vw, 1.95rem); margin: .55rem 0 .9rem; line-height: 1.13; }
.card-link { display: inline-flex; gap: 1rem; align-items: center; font-size: .85rem; color: #65412d; min-height: 44px; }
.venue-card a:hover .card-link { text-decoration: underline; text-underline-offset: .3em; }
.quiet-art { display: grid !important; place-items: center; background: radial-gradient(circle at 50% 48%,#e4cfa780,transparent 65%), var(--papel-hondo); }
.quiet-art .venn { width: min(32%,160px); height: auto; opacity: .7; }
.breadcrumb { font-size: .75rem; color: #655449; margin: 1.7rem 0 0; line-height: 1.7; }
.breadcrumb a { color: inherit; }
.venue-hero { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(2rem,5vw,4rem); align-items: start; padding: 3rem 0 4rem; }
.venue-hero h1 { margin: .9rem 0 1.1rem; font-size: clamp(2.5rem,4.2vw,4.1rem); line-height: 1.04; }
.venue-address { font-size: .9rem; color: #655449; max-width: 31rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--linea); margin-bottom: 1.5rem; }
.venue-copy { font-size: 1rem; line-height: 1.75; max-width: 35rem; }
.venue-copy blockquote { font-family: var(--body); font-size: 1rem; font-weight: 300; border: 0; padding: 0; margin: 0; color: var(--tinta); }
.venue-copy cite { display: block; font-size: .78rem; font-style: normal; margin-top: .8rem; color: #655449; }
.hero-picture { display: block; margin-top: .5rem; }
.hero-picture img { width: 100%; height: auto; }
.venue-hero > .quiet-art { min-height: 300px; margin-top: .5rem; }
.contact-links { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.7rem; }
.contact-link { display: inline-flex; align-items: center; justify-content: space-between; gap: .65rem; border: 1px solid #ac9079; border-radius: 2px; min-height: 48px; padding: .68rem .9rem; font-size: .85rem; font-weight: 500; color: #573b2b !important; text-decoration: none; }
.contact-link:hover { background: #e6d7c1; }
.venue-gallery { padding-bottom: 3rem; }
.photo-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.35rem; align-items: start; }
.photo-grid figure { min-width: 0; margin: 0; }
.photo-grid picture { display: block; background: var(--papel-hondo); }
.photo-grid img { width: 100%; height: auto; }
.venue-pagination { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--linea); padding: 1.6rem 0; gap: 2rem; }
.venue-pagination a { font-family: var(--display); font-size: 1.2rem; text-decoration: none; color: var(--tinta); padding: .3rem 0; }
.venue-pagination a:last-child { text-align: right; }
.venue-pagination span { display: block; font-family: var(--body); font-size: .7rem; margin-bottom: .4rem; text-transform: uppercase; letter-spacing: .12em; color: #655449; }
.centros-footer { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; border-top: 1px solid var(--linea); padding-block: 2rem; margin-top: 4rem; font-size: .78rem; }
.centros-footer p { color: #655449; }
.centros-footer a { min-height: 44px; padding-block: .5rem; }
@media (max-width:900px) { .venue-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .venue-hero { grid-template-columns:1fr; gap:2rem; } .hero-picture { max-width:720px; } }
@media (max-width:560px) { .centros-head { min-height:86px; } .brand { font-size:.84rem; gap:.55rem; } .brand .venn { width:38px; } .venue-cards,.photo-grid { grid-template-columns:1fr; } .venue-cards { row-gap:2.1rem; } .centros-intro { padding-top:3.4rem; } .venue-hero { padding-top:2rem; padding-bottom:3rem; } .venue-pagination { gap:1.2rem; } .venue-pagination a { font-size:1.02rem; } .centros-footer { margin-top:3rem; } .contact-links { flex-direction:column; align-items:stretch; } }
@media (prefers-reduced-motion:reduce) { .centros *, .centros *::before, .centros *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
