/* Lorca content uses the visual system and page structure from the supplied portal. */
.wrap{width:100%;max-width:1344px;margin-inline:auto;padding-inline:48px}
.page,.detail{min-height:55vh;padding-top:44px;padding-bottom:70px}
.page h1,.detail h1{font-size:clamp(32px,3.8vw,48px);font-weight:600;line-height:1.18;letter-spacing:-.035em;color:var(--ink);max-width:980px}
.lead{max-width:850px;font-size:17px;line-height:1.7;color:var(--muted);margin:15px 0 30px}
.crumb{font-size:12px;color:var(--muted);margin:0 0 27px}.crumb a{color:var(--corten)}
.page .search{max-width:680px;margin:24px 0}.page .search label{display:block;font-weight:600;margin-bottom:8px}.page .search>div{display:flex;gap:8px}.page .search input{flex:1;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.page .search button{background:var(--corten);border:0;border-radius:99px;padding:11px 19px;color:#fff;font-weight:600;cursor:pointer}
.page .results-grid{margin-top:28px}.content-card .card-summary{font-size:14px;color:var(--muted);line-height:1.65;margin:12px 0}
.empty,.source-box,.weather{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;max-width:850px;color:var(--muted)}.empty a,.source-box a:not(.button){color:var(--corten)}.source-box h2{font-size:25px;color:var(--ink);margin-bottom:11px}.source-box p{margin:0 0 13px}.source-box .button{margin:8px 8px 0 0}
.list{display:grid;gap:10px;margin:24px 0}.list>a,.list>article{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px 20px;text-decoration:none}.list strong{min-width:200px}.list small{margin-left:auto;color:var(--muted)}
.phone-list{margin:19px 0}.phone-list p{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:8px 0}.phone-list a{color:var(--corten);font-weight:600}
.detail figure{margin:30px 0}.detail figure img{width:100%;max-height:620px;object-fit:cover;border-radius:18px}.detail figcaption{font-size:12px;color:var(--muted);margin-top:9px}.detail figcaption a{color:var(--corten)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:40px}.detail-grid p{margin-bottom:16px}.detail-grid aside{align-self:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.detail-grid aside h2{font-size:23px;margin-bottom:14px}
.weather{display:flex;align-items:baseline;gap:17px;flex-wrap:wrap}.weather strong{font-size:55px;color:var(--corten);line-height:1}.weather small{display:block;width:100%}.map{width:100%;height:500px;border:1px solid var(--line);border-radius:var(--radius)}.page .map+p{margin-top:15px}
.contact-form{max-width:680px;display:grid;gap:19px;margin:30px 0}.contact-form>label{display:grid;gap:7px;font-weight:600}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}.contact-form .check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.contact-form .check input{margin-top:6px;accent-color:var(--corten)}.contact-form .button{justify-self:start}.legal{max-width:1000px}.legal h2{font-size:24px;margin:31px 0 9px}.legal p{max-width:850px;margin-bottom:14px}.legal a{color:var(--corten)}
.home-map-frame{display:block;width:100%;height:460px;border:1px solid var(--line);border-radius:16px;background:#eee9df}.home-map-status a{color:var(--corten);text-decoration:underline}
.home-news .empty-state,.home-agenda .empty-state,.home-restaurants .empty-state{min-height:180px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:30px}.home-news .empty-state .icon,.home-agenda .empty-state .icon,.home-restaurants .empty-state .icon{width:28px;height:28px;color:var(--corten);margin-bottom:12px}.empty-state a{color:var(--corten);text-decoration:underline}
.home-festivals .results-grid{margin-top:24px}.home-festivals{margin-top:56px}
.site-header details.mobile-menu{display:none;position:relative;flex-shrink:0}.site-header details.mobile-menu summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:44px;height:44px}.site-header details.mobile-menu summary::-webkit-details-marker{display:none}.site-header details.mobile-menu .mobile-nav{display:grid;position:absolute;top:58px;right:0;min-width:235px;max-height:calc(100dvh - 80px);overflow:auto;padding:12px;background:var(--corten);box-shadow:0 18px 30px #0004;border-radius:0 0 12px 12px}.site-header details.mobile-menu .mobile-nav a{display:block;padding:10px 12px;color:#fff8ed}
@media(max-width:900px){.site-header .main-nav,.site-header .header-pharmacy{display:none}.site-header details.mobile-menu{display:block;margin-left:auto}}
@media(max-width:800px){.detail-grid{grid-template-columns:1fr}.wrap{padding-inline:24px}}
@media(max-width:600px){.wrap{padding-inline:18px}.page,.detail{padding-top:28px;padding-bottom:44px}.page h1,.detail h1{font-size:32px}.lead{font-size:16px}.page .search>div{display:grid}.list>a,.list>article{display:grid}.list small{margin-left:0}.map,.home-map-frame{height:350px}.home-festivals{margin-top:38px}}
.zone-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.zone-guide-grid article{background:#fcf9f3;border:1px solid var(--line);border-radius:14px;padding:20px}.zone-guide-grid h3{font-size:21px;font-weight:600;line-height:1.25;margin:9px 0}.zone-guide-grid p{font-size:14px;line-height:1.7}.zone-guide-grid a{font-size:13px;font-weight:600;color:var(--corten)}.guide-reviewed{font-size:12px;color:var(--muted);margin-top:14px!important}.section-guide .eyebrow{margin-bottom:7px}
@media(max-width:900px){.zone-guide-grid{grid-template-columns:1fr}}

.directory-page .section-guide{margin-block:24px}.directory-page .results-grid{margin-top:28px}.restaurant-detail .ficha-layout>div{min-width:0}.restaurant-detail .ficha-credit a{color:var(--corten)}
/* Shared reference templates: preserve the supplied news/shop/ficha layout. */
[data-directory] [hidden]{display:none!important}.directory-guide{margin-top:42px;border-top:1px solid var(--line);padding-top:22px;color:var(--muted)}.directory-guide summary{cursor:pointer;font-size:14px}.directory-guide .source-box{margin-top:18px}.venue-links{display:grid;gap:14px;padding-left:20px}.ficha-credit a,.article-credit a,.shop-credit a{color:var(--corten);text-decoration:underline;text-underline-offset:3px}.ficha-photo>a{display:block;width:100%;height:100%}.ficha-photo>a>img{width:100%;height:100%;object-fit:contain}.shop-about+.shop-about{margin-top:26px}.shop-about p+p{margin-top:16px}.ficha-page .ficha-credit{line-height:1.7}.shop-detail .ficha-credit{margin-top:24px}.shop-photo img{height:auto}.news-article .article-figure img{height:auto;object-fit:contain}.shop-actions{gap:12px}
@media(max-width:600px){.venue-links{padding-left:16px}.news-date-filter label{min-width:0}.news-date-filter input{max-width:100%}.shop-actions .button{width:100%}}

.entry-location{min-width:0;width:100%}.entry-location-map{height:340px;width:100%;border-radius:16px;border:1px solid #ded9d2;z-index:0}.entry-location .button{margin-top:14px;white-space:normal}.entry-location-note{font-size:.9rem;color:#665f59}.ficha-photo--logo img{object-fit:contain;background:#fff;padding:20px}@media(max-width:600px){.entry-location-map{height:280px}}
.directory-guide-content{margin:48px 0 16px;padding:28px 32px;border:1px solid #e5ded5;border-radius:18px;background:#fffaf5}.directory-guide-content h2{margin:0 0 12px;font-size:clamp(1.5rem,2.2vw,2rem)}.directory-guide-content p{max-width:780px;line-height:1.7}.directory-guide-content ul{display:flex;flex-wrap:wrap;gap:10px 22px;padding-left:20px}.directory-guide-content a{color:#9e362f;text-underline-offset:3px}@media(max-width:600px){.directory-guide-content{padding:24px 20px}}
/* Keep the event cards reachable if JavaScript has not initialized. */
.event-slider:not(.is-ready){overflow-x:auto}.event-slider:not(.is-ready) .event-strip{width:max-content;max-width:none}.event-slider:not(.is-ready) .event-strip>a{width:min(320px,calc(48vw - 32px));flex-basis:auto}
