/* ASETUR: charcoal lettering and sun yellow, referenced from its own Instagram.
   Terracotta is a new supporting accent; green is reserved for the regional flag. */
:root{--forest:#292c30;--ink:#292c30;--yellow:#f2b544;--paper:#f5f2ec;--line:#dedad3;--muted:#65625f;--gold:#a44632;--serif:var(--sans)}
body,.entry-body{background:#fff;color:var(--ink)}
h1,h2,h3,.entry-choice-copy strong{font-family:var(--sans);font-weight:700;letter-spacing:-.035em;line-height:1.15}
em{font-style:normal;font-weight:inherit}
.site-header,.portal-header,.entry-header{background:#fff;border-bottom:1px solid var(--line)}
.brand{border-left:5px solid var(--yellow);padding-left:12px}
.brand-top,.portal-header .brand-top{font-size:1.8rem;letter-spacing:.015em;gap:10px;line-height:1}
.brand-top b{font-weight:700}.brand-top .brand-place{font-size:.72rem;letter-spacing:.14em;align-self:end;padding-bottom:3px;color:var(--muted)}
.brand-bottom,.site-header .brand-bottom{font-size:.66rem;letter-spacing:.05em;color:var(--muted);margin-top:7px}
.announcement{background:#fff;color:#65625f;border-bottom:1px solid #eeeae5}.announcement a{color:#a44632}
.button,.small-button,.business-call,.task-button{border-radius:12px}
.button{font-weight:700;min-height:48px}.button:hover{background:#43464b}
.button-yellow,.button-yellow:hover{background:var(--yellow);border-color:var(--yellow);color:#292c30}
.button-outline:hover,.button.secondary:hover,.small-button:hover{background:#f5f2ec;color:var(--ink)}
.button-outline{border-color:#9a9690}
.season-label{color:#57534c;font-size:.76rem;letter-spacing:.075em}
.season-label:before{border-color:#24754b}
.home-page .hero{min-height:clamp(580px,calc(100svh - 150px),850px);padding-top:28px;padding-bottom:28px;margin-bottom:0;gap:40px;grid-template-columns:1fr 1.15fr}
.home-page .hero h1{font-size:clamp(2.8rem,4.7vw,4.7rem);line-height:1.07;letter-spacing:-.05em}
.home-page .hero h1 em{color:var(--gold);display:inline}
.home-page .hero-photo{position:relative;aspect-ratio:16/12;background:#efe7d7;border-radius:32px 32px 8px 32px;overflow:visible}
.home-page .hero-photo img{height:100%;border-radius:32px 32px 8px 32px;object-fit:cover}
.home-page .hero-photo figcaption{font-size:.78rem;color:var(--muted);padding:10px 4px}
.home-page .hero-description{color:#57534f;max-width:480px}
.home-page .hero-footnote{border-left:3px solid var(--yellow);padding-left:14px}.hero-footnote .little-line{display:none}
.category-ribbon{background:#fff;color:#65625f;border-block:1px solid #eeeae5;gap:12px 28px;padding:18px 5%;font-weight:500}
.category-ribbon .ui-icon{display:none}
.home-page .passport-section{background:transparent;color:#292c30;position:relative;gap:40px;padding-block:32px;align-items:start}
.home-page .passport-copy{padding-top:28px}
.home-page .section{padding-block:36px}
.home-page .section-heading{margin-bottom:24px}
.home-page .about-section{padding-block:36px}
.home-page .passport-reward-note h3{color:#a44632}
.home-page .passport-copy h2{font-size:clamp(2.4rem,4vw,3.5rem);font-weight:700}
.passport-copy h2 em,.passport-copy>.eyebrow{color:#a44632}
.passport-copy>p:not(.eyebrow),.passport-copy .passport-reward-note p,.collection-preview>p{color:#57534f}
.passport-copy .passport-reward-note .passport-note{color:#65625f}
.passport-guide-button{color:#a44632;border-color:#c6a598}
.passport-copy .passport-reward-note h3{font-size:1.4rem;font-weight:600}
.art-card{border:1px solid #eeeae5;border-radius:14px;background:#fff;box-shadow:none;color:#292c30}
.art-card figcaption{border:0;padding:13px 14px}.art-card figcaption strong{font-weight:700}
.art-grid{gap:18px}.section-heading .eyebrow{color:#a44632}
.plan-tabs button{border-radius:12px;background:#fff;border-color:var(--line)}
.plan-tabs button[aria-selected=true]{background:#292c30;color:#fff;border-color:#292c30}
.plan-panel{background:#fff;border-radius:18px;border-color:var(--line)}
.stop-number{background:#fff0cf;color:#292c30;border-color:#efbc59}
.business-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 4px 18px #292c3006}
.business-card h3{font-size:1.4rem;letter-spacing:-.025em}
.business-card .business-category{color:#a44632;font-weight:700}
.business-filters button{border-radius:24px;background:#fff}.business-filters button[aria-pressed=true]{background:#292c30;color:#fff}
.business-call{border-color:#c6c0b8;color:#292c30}
.about-section{background:transparent;border:0}.about-section>.eyebrow{color:#a44632}
.about-grid h2{font-size:clamp(2rem,3.5vw,3.2rem)}
.footer-status{color:#65625f}.mobile-dock{background:#fff;border-color:var(--line)}
.mobile-dock .dock-passport,.mobile-dock .dock-primary{background:#292c30;color:#fff;border-radius:12px}
.entry-choice{border-radius:18px;min-height:120px}.client-choice{background:#fff;color:#292c30;border:1px solid #c6a598}
.local-choice{background:#fff;color:#292c30;border:1px solid #dedad3}.entry-choice-copy strong{font-size:1.7rem}
.local-choice .entry-choice-copy small{color:#65625f}
.entry-art{border-radius:16px}
.program-status{background:#f6edd9;color:#51412b;border-color:#e4d6b9}
.portal .panel{border-radius:18px;border-color:var(--line)}.portal .panel.forest{background:#fff;color:#292c30}
.portal .panel.forest p{color:#57534f}
.portal .customer-action:first-child{background:#fff0cf;border-color:#e4b757}
.portal .passport-card{background:#fff0cf;border-color:#d9b76e;box-shadow:none}
.portal .passport-card-heading{border-top-color:#292c30}.portal .passport-card-validity{border-color:#e4d6b9}
.passport-tabs,.customer-switch{background:#f1eee8;border-color:var(--line)}
.portal .three-seals li.is-earned,.portal .collected-stamp.earned{background:#fff6df;border-color:#d9b76e}
.portal input:not([type=checkbox]),.portal select,.portal textarea,.portal .small-button{border-color:#bdb8b0}
.secret-box,.mini-steps li>b,.customer-found,.success-panel{background:#f5f2ec;border-color:#c5bcae}
.book-page-description,.book-index select{color:#353330}.book-gesture,.book-download-note,.book-export-status{color:#65625f}
.book-stage{box-shadow:3px 3px 0 #d9ccb0,6px 6px 0 #ece2cd,8px 9px 0 #292c30,12px 15px 24px #292c3020}
.book-stage.is-cover{background:#292c30}
/* Paint the decoration as a background instead of a full-page masked layer.
   The white gradient keeps the reading area quiet without an extra scroll layer. */
.home-page main{background-image:linear-gradient(90deg,rgba(255,255,255,.76),rgba(255,255,255,.97) 34%,rgba(255,255,255,.97) 66%,rgba(255,255,255,.76)),url('/assets/asetur-cultura-pattern.webp');background-size:100% 100%,960px auto;background-position:center,center top;background-repeat:no-repeat,repeat}
.home-page .passport-copy .button-yellow{background:#a44632;color:#fff;border-color:#a44632}
.home-page .passport-copy .button-yellow:hover{background:#863724;border-color:#863724}
@media(max-width:820px){
 .home-page main{background-image:linear-gradient(90deg,rgba(255,255,255,.8),rgba(255,255,255,.99) 28%,rgba(255,255,255,.99) 72%,rgba(255,255,255,.8)),url('/assets/asetur-cultura-pattern.webp');background-size:100% 100%,600px auto}
 .site-header{padding:16px 20px}.brand-top{font-size:1.5rem}.brand-bottom,.site-header .brand-bottom{font-size:.625rem;letter-spacing:.02em}
 .home-page .hero{min-height:0;padding:24px 20px 22px;gap:24px}.home-page .hero-copy{padding:0}
 .home-page .hero h1{font-size:clamp(2.55rem,9.1vw,3.6rem);margin-top:16px}
 .home-page .hero-description{font-size:1rem;margin:18px 0 22px}
 .home-page .hero-photo{aspect-ratio:4/3;margin:0 0 22px;border-radius:22px}
 .home-page .hero-photo img{border-radius:22px}
 .category-ribbon{gap:9px 18px;font-size:.82rem;justify-content:center;padding:16px 20px}
 .home-page .passport-section{padding:22px 20px;gap:24px}.home-page .passport-copy{padding-top:0}.home-page .passport-copy h2{font-size:2.5rem}
 .home-page .section,.home-page .about-section{padding:26px 20px}.home-page .section-heading{margin-bottom:20px}
 .section-heading h2,.about-grid h2{font-size:2rem}.plan-intro h3{font-size:1.75rem}
 .art-grid{gap:12px}.art-card figcaption{padding:10px;font-size:.8rem}
 .portal-header .brand-bottom{display:block;font-size:.625rem;letter-spacing:.02em}.portal-header .brand-top{font-size:1.5rem}
 .entry-choice-copy strong{font-size:1.55rem}.portal .phone-flow>h1{font-size:clamp(1.9rem,6.5vw,2.5rem)}
}
@media(prefers-reduced-motion:no-preference){
 .home-page .button,.home-page .business-call,.home-page .small-button{transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .home-page .button:hover,.home-page .business-call:hover{transform:translateY(-2px)}
}
/* Keep swipeable mobile choices clear without a visible browser scrollbar. */
@media(max-width:820px){
 .home-page .plan-tabs,.home-page .business-filters{scrollbar-width:none;scroll-snap-type:x proximity}
 .home-page .plan-tabs::-webkit-scrollbar,.home-page .business-filters::-webkit-scrollbar{display:none}
 .home-page .plan-tabs button,.home-page .business-filters button{scroll-snap-align:start}
}

/* A real landmark leads the page. Keep the complete church and bell tower
   visible at every width; copy sits below the photograph, never over them. */
.home-page .hero.hero-landmark{display:flex;flex-direction:column;width:100%;max-width:none;min-height:0;margin:0;padding:0;gap:0}
.home-page .hero-landmark .hero-photo{order:-1;width:100%;min-height:0;aspect-ratio:auto;margin:0;background:#fff;border-radius:0}
.home-page .hero-landmark .hero-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}
.home-page .hero-landmark .hero-photo figcaption{padding:9px 5%;font-size:.72rem;line-height:1.5;color:#65625f}
.home-page .hero-landmark .hero-copy{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:14px 40px;width:100%;max-width:1360px;margin:0 auto;padding:24px 5% 32px}
.home-page .hero-landmark .season-label{grid-column:1/-1}
.home-page .hero-landmark h1{grid-column:1;grid-row:2/4;margin:0;font-size:clamp(2.8rem,4.3vw,4.5rem)}
.home-page .hero-landmark .hero-description{grid-column:2;margin:0;max-width:520px}
.home-page .hero-landmark .hero-actions{grid-column:2;margin:0;align-self:end}
.home-page .hero-landmark .hero-footnote{display:none}
@media(max-width:820px){
 .home-page .hero-landmark .hero-copy{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:20px 20px 28px}
 .home-page .hero-landmark h1{font-size:clamp(2.5rem,9vw,3.5rem)}
 .home-page .hero-landmark .hero-actions{align-self:stretch}
 .home-page .hero-landmark .hero-photo figcaption{padding:8px 20px;font-size:.68rem}
}
.home-page .announcement{padding:5px 18px;font-size:.75rem;line-height:1.5}
.home-page .site-header{padding:10px 5%;gap:20px}
.home-page .site-header .brand{padding-left:9px;border-left-width:3px}
.home-page .site-header .brand-top{font-size:1.5rem}
.home-page .site-header .brand-bottom{font-size:.66rem;margin-top:5px;letter-spacing:.05em}
.home-page .site-header .brand-place{font-size:.66rem}
.home-page .site-header nav{gap:22px;font-size:.875rem}
.home-page .site-header .button-small{padding:10px 15px;min-height:44px}
@media(min-width:821px) and (max-width:1120px){.home-page .site-header nav{gap:12px;font-size:.8rem}.home-page .site-header .button-small{padding-inline:11px}}
@media(max-width:820px){
 .home-page .site-header{padding:10px 20px;gap:12px}
 .home-page .site-header .brand-top{font-size:1.4rem}
 .home-page .site-header .brand-bottom{font-size:.625rem;letter-spacing:.02em}
 .home-page .site-header .menu-toggle{min-height:44px;padding:8px 12px}
}

/* Wide screens: the copy and the photograph share the first screen, side by
   side. The church stays complete (no crop); phones keep the stacked layout. */
@media(min-width:821px){
 .home-page .hero.hero-landmark{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:24px 48px;max-width:1360px;margin:0 auto;padding:28px 5% 36px}
 .home-page .hero-landmark .hero-photo{order:2;display:flex;flex-direction:column;align-items:center;margin:0}
 .home-page .hero-landmark .hero-photo img{width:auto;max-width:100%;height:auto;max-height:calc(100svh - 250px);object-fit:contain;border-radius:22px 22px 8px 22px}
 .home-page .hero-landmark .hero-photo figcaption{padding:10px 4px 0;text-align:center}
 .home-page .hero-landmark .hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:0;max-width:520px}
 .home-page .hero-landmark .season-label{margin-bottom:18px}
 .home-page .hero-landmark h1{margin:0 0 20px;font-size:clamp(2.9rem,4.6vw,4.6rem)}
 .home-page .hero-landmark .hero-description{margin:0 0 28px;max-width:480px;font-size:1.1rem}
 .home-page .hero-landmark .hero-actions{align-self:auto}
}
/* Pages that carry the brand and a single action: one row at every width. */
.sample-header{padding-bottom:14px}
.sample-header .small-button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;flex-shrink:0}
@media(max-width:820px){.sample-header.portal-header{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.sample-header.portal-header .small-button{padding:8px 12px;font-size:.95rem}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ASETUR band: the association signs the page right after the landmark.
   Charcoal and sun yellow come from its lockup; the wordmark is the one large gesture. */
.asetur-band{background:#292c30;color:#f5f2ec}
.asetur-band-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 72px;align-items:center;max-width:1360px;margin:0 auto;padding:84px 5%}
.asetur-identity{display:flex;flex-direction:column;gap:24px}
.asetur-mark{display:flex;align-items:stretch;gap:clamp(14px,1.8vw,24px);margin:0;color:#fff;font-weight:700;font-size:clamp(4rem,10.5vw,10rem);line-height:.8;letter-spacing:-.05em}
.asetur-bar{flex:0 0 auto;width:clamp(8px,.9vw,14px);background:#f2b544;border-radius:2px}
.asetur-name{margin:0;max-width:28ch;color:#cfc9c0;font-size:clamp(.8rem,1.05vw,.95rem);font-weight:600;letter-spacing:.12em;line-height:1.6;text-transform:uppercase}
.asetur-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.asetur-copy .eyebrow{margin:0;color:#f2b544;letter-spacing:.14em}
.asetur-copy h2{margin:0;color:#fff;font-size:clamp(2.1rem,3.6vw,3.3rem);text-wrap:balance}
.asetur-copy>p:not(.eyebrow){margin:0;max-width:52ch;color:#cfc9c0;font-size:1.05rem;line-height:1.7}
.asetur-copy>p.asetur-count{max-width:46ch;padding-top:20px;border-top:1px solid #45484d;color:#f5f2ec;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.8}
.asetur-count b{color:#f2b544;font-weight:700;font-variant-numeric:tabular-nums}
.asetur-count a{color:inherit;white-space:nowrap;text-decoration:underline;text-decoration-color:#6d6a66;text-decoration-thickness:1px;text-underline-offset:6px}
.asetur-count a:hover{text-decoration-color:#f2b544}
.asetur-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:6px}
.asetur-band .button-sun{margin:0;background:#f2b544;border-color:#f2b544;color:#292c30}
.asetur-band .button-sun:hover{background:#f7c766;border-color:#f7c766}
.asetur-band .social-links{display:flex;flex-wrap:wrap;gap:8px;margin:0;font-size:.95rem}
.asetur-band .social-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #55585d;border-radius:12px;color:#f5f2ec;text-decoration:none}
.asetur-band .social-links a:hover{border-color:#f2b544}
.asetur-band :focus-visible{outline:3px solid #f2b544;outline-offset:3px}
@media(max-width:820px){
 .asetur-band-inner{grid-template-columns:1fr;gap:30px;padding:52px 20px 48px}
 .asetur-mark{font-size:clamp(3.6rem,19vw,5.6rem)}
 .asetur-copy h2{font-size:clamp(1.9rem,8vw,2.4rem)}
 .asetur-copy>p:not(.eyebrow){font-size:1rem}
 .asetur-actions{flex-direction:column;align-items:stretch;width:100%}
 .asetur-actions .button{width:100%}
}

/* Plans point to the guide. */
.home-page .plan-panel{grid-template-areas:"intro" "stops" "actions" "generated";grid-template-columns:minmax(0,1fr);row-gap:26px}
.plan-intro{grid-area:intro;display:grid;grid-template-areas:"kicker description" "title description";grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:6px 36px}
.plan-intro>.eyebrow{grid-area:kicker;margin-bottom:0}
.plan-intro h3{grid-area:title}
.plan-intro #plan-description{grid-area:description;align-self:center;max-width:400px;margin-top:0}
.itinerary{grid-area:stops;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}
.itinerary li{display:flex;flex-direction:column;gap:0;min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.itinerary li:not(:last-child):after{display:none}
.itinerary li .stop-number{flex:none;margin-bottom:14px}
.itinerary li>div{flex:1}
.home-page .itinerary li div>p:not(.stop-moment){color:#65625f;font-size:.95rem}
.itinerary .stop-summary{min-height:3em}
.stop-link{display:inline-flex;align-items:center;min-height:44px;color:#a44632;font-weight:600;text-decoration:underline;text-decoration-color:#d9b3a6;text-underline-offset:5px}
.stop-link:hover{text-decoration-color:#a44632}
.plan-route-tools{grid-area:actions;padding-top:18px;border-top:1px solid var(--line)}
.plan-route-tools[hidden],.plan-generated[hidden]{display:none!important}
.plan-party{display:flex;align-items:end;flex-wrap:wrap;gap:14px 24px}
.plan-party label{flex:none;display:block;color:#873e2e;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.plan-party label span{color:#68625d;font-weight:400;letter-spacing:0;text-transform:none}
.plan-party input{display:block;width:155px;min-height:44px;margin-top:8px;padding:9px 12px;border:1px solid #bdb7ad;border-radius:10px;background:#fff;color:#292c30;font:inherit;font-size:.92rem;font-weight:400;letter-spacing:0;text-transform:none}
.plan-party input[type=date]{width:190px}
.plan-party input:focus-visible{outline:3px solid #b47d00;outline-offset:2px}
.plan-party p{max-width:360px;padding-bottom:10px;color:#65625f;font-size:.82rem;line-height:1.4}
.plan-route-tools p{color:#57534f;font-size:.9rem}
.plan-generated-tools{margin:18px 0 22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#plan-share-status[hidden],#plan-share-fallback[hidden],#plan-details-fallback[hidden]{display:none!important}
.itinerary li>div{min-width:0}
.itinerary li label{display:block;margin:15px 0 6px;color:#a44632;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.itinerary li select{display:block;width:100%;min-height:44px;padding:9px 12px;border:1px solid #bdb7ad;border-radius:10px;background:#fff;color:#292c30;font:inherit;font-size:.9rem;font-weight:600}
.itinerary li select:focus-visible{outline:3px solid #b47d00;outline-offset:2px}
.plan-stop-details{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.home-page .itinerary li .plan-place-hours{margin-top:9px;color:#65625f;font-size:.84rem;line-height:1.5}
.home-page .itinerary li .plan-dish-tip{color:#57534f;font-size:.84rem;line-height:1.5}
.plan-stop-details label{margin:5px 0 0!important}
.plan-place-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:4px}
.plan-place-links a{display:inline-flex;align-items:center;min-height:36px;color:#a44632;font-size:.84rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.plan-generated{grid-area:generated;min-width:0;padding-top:26px;border-top:1px solid var(--line)}
.plan-generated-heading{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:12px 24px}
.plan-generated-heading .eyebrow{margin-bottom:7px;color:#a44632}
.plan-generated-heading h4{font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2}
.plan-generated-heading>p{display:none;color:#57534f;font-size:.9rem}
.plan-generated-intro{max-width:700px;margin:12px 0 10px;color:#65625f;font-size:.92rem}
.plan-generated-stops{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.plan-generated-stop{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:12px 18px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff}
.plan-generated-number{display:grid;place-items:center;width:38px;height:38px;border:1px solid #efb451;border-radius:50%;background:#fff6e4;color:#292c30;font-size:.92rem}
.plan-generated-stop .stop-moment{margin-bottom:3px;color:#a44632;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.plan-generated-stop h5{margin:0;font-size:1.08rem;line-height:1.3}
.plan-generated-stop p{margin-top:5px;color:#65625f;font-size:.87rem;line-height:1.5}
.plan-generated-stop .plan-generated-location{color:#292c30;font-weight:600}
.plan-generated-stop .plan-generated-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}
.plan-generated-links a{color:#a44632;font-size:.84rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.plan-generated-stop details{margin-top:9px}
.plan-generated-stop summary{width:max-content;color:#a44632;font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.plan-generated-stop .plan-message-preview{max-width:650px;margin-top:9px;padding:12px;border-radius:8px;background:#f7f5f1;color:#393c3e;font-size:.82rem;white-space:pre-wrap;overflow-wrap:anywhere}
.plan-generated-contact{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:168px}
.plan-generated-contact a,.plan-generated-contact button,.plan-generated-footer button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;padding:8px 13px;border:1px solid #a44632;border-radius:10px;background:#fff;color:#a44632;font:inherit;font-size:.84rem;font-weight:700;text-decoration:none;text-align:center}
.plan-generated-contact a{border-color:#292c30;background:#292c30;color:#fff}
.plan-generated-contact button:hover,.plan-generated-footer button:hover{background:#f5f2ec}
.plan-generated-contact a:hover{background:#464a4e}
.plan-generated-contact small{color:#65625f;font-size:.74rem;line-height:1.4;text-align:center}
.plan-generated-footer{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.plan-generated-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.plan-generated-actions .button{min-height:42px;padding:8px 13px;font-size:.84rem}
.plan-generated-footer p{color:#2e5b42;font-size:.84rem}
.plan-generated-footer #plan-share-fallback{width:100%;min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#292c30;font:inherit;font-size:.8rem}
.plan-generated .plan-disclaimer{margin-top:16px;color:#65625f;font-size:.82rem}
.plan-print-sheet{display:none}
#plan-details-fallback{display:block;width:100%;min-height:145px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#292c30;font:inherit;font-size:.82rem}
@media(max-width:760px){.plan-generated-stop{grid-template-columns:40px minmax(0,1fr)}.plan-generated-contact{grid-column:2;flex-direction:row;flex-wrap:wrap;min-width:0}.plan-generated-contact small{flex-basis:100%;text-align:left}}
@media(max-width:820px){.plan-intro{grid-template-areas:"kicker" "title" "description";grid-template-columns:minmax(0,1fr);gap:10px}.plan-intro #plan-description{margin-top:4px}.itinerary{grid-template-columns:minmax(0,1fr)}.itinerary .stop-summary{min-height:0}.home-page .itinerary li div>p:not(.stop-moment){font-size:1rem}}
@media(max-width:560px){.plan-party{display:block}.plan-party label+label{margin-top:14px}.plan-party p{padding:8px 0 0}.plan-generated-stop{padding:14px;gap:10px}.plan-generated-contact{grid-column:1 / -1}.plan-generated-contact a,.plan-generated-contact button{flex:1 1 150px}}
@media(max-width:480px){.plan-generated-actions{flex-direction:column;align-items:stretch}.plan-generated-actions .button,.plan-generated-actions button{width:100%}}
@page{size:A4;margin:0}
@media print{
 html,body{background:#fff!important;color:#292c30!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .home-page main{background:none!important}
 body.home-page>*:not(main),.home-page main>*:not(#planes),#planes>.section-heading,#planes>.plan-tabs{display:none!important}
 #planes,.home-page .plan-panel,.plan-generated{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important}
 .home-page .plan-panel>*:not(.plan-generated){display:none!important}
 .plan-generated>*:not(.plan-print-sheet){display:none!important}
 .plan-print-sheet{display:block!important;box-sizing:border-box;padding:11mm;font-family:Arial,sans-serif;font-size:9pt;line-height:1.35}
 .plan-print-header{padding:0 0 3mm;border-bottom:2px solid #f2b544}
 .plan-print-brand{margin:0 0 3mm!important;color:#292c30;font-size:10pt;font-weight:800;letter-spacing:.08em}
 .plan-print-eyebrow{margin:0 0 1mm!important;color:#a44632;font-size:7pt;font-weight:700;letter-spacing:.13em}
 .plan-print-header h2{margin:0!important;font-size:25pt;line-height:1.05;letter-spacing:-.04em}
 .plan-print-subtitle{margin:2mm 0 0!important;color:#65625f;font-size:10pt}
 .plan-print-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2mm;margin:3mm 0}
 .plan-print-fact{min-height:13mm;padding:2.5mm;border:1px solid #dedad3;border-radius:3mm;background:#fff}
 .plan-print-fact span{display:block;margin-bottom:1mm;color:#a44632;font-size:7pt;font-weight:700;letter-spacing:.08em}
 .plan-print-fact strong{font-size:10pt}
 .plan-print-guide{display:flex;justify-content:space-between;align-items:center;gap:5mm;padding:3mm;border-radius:3mm;background:#f5f2ec;break-inside:avoid}
 .plan-print-guide-copy{flex:1}.plan-print-guide-copy strong{font-size:10pt}.plan-print-guide-copy p{margin:1mm 0 2mm!important;color:#57534f;font-size:8pt}
 .plan-print-guide-links{display:flex;flex-wrap:wrap;gap:2mm 5mm}.plan-print-guide-links a,.plan-print-stop-links a{color:#a44632;font-size:8pt;font-weight:700;text-decoration:underline}
 .plan-print-qrs{display:flex;gap:3mm}.plan-print-qr{text-align:center}.plan-print-qr img{display:block;width:20mm;height:20mm;margin:auto}.plan-print-qr span{display:block;margin-top:1mm;font-size:6pt;font-weight:700;letter-spacing:.04em}
 .plan-print-stops{display:grid;gap:2mm;margin:3mm 0!important;padding:0;list-style:none}
 .plan-print-stop{display:grid;grid-template-columns:10mm minmax(0,1fr);gap:3mm;padding:2.5mm 4mm;border:1px solid #dedad3;border-radius:3mm;break-inside:avoid}
 .plan-print-number{display:grid;place-items:center;width:9mm;height:9mm;border:1px solid #efb451;border-radius:50%;background:#fff6e4;font-size:9pt}
 .plan-print-moment{margin:0 0 1mm!important;color:#a44632;font-size:7pt;font-weight:700;letter-spacing:.06em}
 .plan-print-stop h3{margin:0 0 1mm!important;font-size:12pt;line-height:1.15}
 .plan-print-purpose{margin:0 0 2mm!important;color:#57534f;font-size:8pt}
 .plan-print-info{margin:0 0 1mm!important;font-size:8pt}
 .plan-print-stop-links{display:flex;flex-wrap:wrap;gap:2mm 5mm;margin-top:2mm}
 .plan-print-closing{padding:2.5mm 4mm;border-left:3px solid #f2b544;background:#f5f2ec;break-inside:avoid}
 .plan-print-closing strong{font-size:9pt}.plan-print-closing p{margin:1mm 0 0!important;color:#57534f;font-size:8pt}
 .plan-print-footer{margin-top:2mm;padding-top:1mm;border-top:1px solid #dedad3;color:#65625f;font-size:7pt;letter-spacing:.05em}
}

/* Guide of locales: compact entries, same order on every card, call action at the foot. */
.directory-benefits{margin:-6px 0 18px;color:#65625f;font-size:.95rem}
.home-page .business-filters{gap:8px;margin-bottom:14px}
.home-page .business-filters button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-color:var(--line);color:#292c30;font-size:.95rem}
.home-page .business-filters .filter-count{color:#8a857e;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}
.home-page .business-filters button[aria-pressed=true]{background:#292c30;border-color:#292c30;color:#fff}
.home-page .business-filters button[aria-pressed=true] .filter-count{color:#f2b544}
.home-page .directory-count{margin:0 0 16px;color:#65625f;font-size:.9rem}
.home-page .business-grid.has-businesses{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.home-page .business-card{display:flex;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:none}
.home-page .business-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:18px 18px 16px}
.home-page .business-card p{margin:0;font-size:.95rem;line-height:1.55}
.home-page .business-card p.business-category{color:#a44632;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.home-page .business-card h3{margin:0 0 2px;font-size:1.3rem;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
.home-page .business-card p.business-description,.home-page .business-card p.business-hours{color:#57534f}
.home-page .business-card p.business-hours{font-variant-numeric:tabular-nums}
.home-page .business-card .business-note{margin:0;color:#57534f;font-size:.9rem}
.home-page .business-card .business-note summary{color:#292c30}
.home-page .business-card .business-note p{margin:0 0 6px;font-size:.9rem}
.home-page .business-card p.business-offer{margin-top:4px;padding:0;border:0;color:#292c30;font-weight:600}
.home-page .business-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%;padding-top:10px}
.home-page .business-call{min-height:44px;padding:8px 14px;border:1px solid #292c30;border-radius:12px;background:#fff;color:#292c30;font-size:.92rem;font-weight:600;font-variant-numeric:tabular-nums}
.home-page .business-call:hover{background:#292c30;color:#fff}
.home-page .business-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;color:#292c30;font-size:.92rem;text-decoration:none}
.home-page .business-link:hover{border-color:#9a9690}
@media(max-width:1100px){.home-page .business-grid.has-businesses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.home-page .business-grid.has-businesses{grid-template-columns:1fr;gap:10px}.home-page .business-card-body{padding:16px}}

/* Passport collection: earned status in the brand accent instead of the old green. */
.portal .collected-stamp.earned .seal-status{color:#a44632}
#sample-new-combination{margin:4px 0 18px}

/* Local page: the association's charcoal band carries each local's name, actions and photo. */
.local-band{background:#292c30;color:#f5f2ec}
.local-band-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:28px 56px;align-items:center;max-width:1360px;margin:0 auto;padding:36px 5% 56px}
.local-band.has-cover .local-band-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.local-intro{display:flex;flex-direction:column;align-items:flex-start;gap:14px;max-width:660px}
.local-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#cfc9c0;font-size:.95rem;text-decoration:none}
.local-back:hover{color:#fff}
.local-intro .eyebrow{margin:6px 0 0;color:#f2b544;letter-spacing:.14em}
.local-intro h1{margin:0;color:#fff;font-size:clamp(2.6rem,6vw,5rem);line-height:1;letter-spacing:-.045em;text-wrap:balance}
.local-lead{margin:0;max-width:56ch;color:#cfc9c0;font-size:1.1rem;line-height:1.7}
.local-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.local-actions:empty{display:none}
.local-band .button{margin:0}
.local-band .button-sun{background:#f2b544;border-color:#f2b544;color:#292c30}
.local-band .button-sun:hover{background:#f7c766;border-color:#f7c766}
.local-band .button-ghost{background:transparent;border-color:#6a6d72;color:#f5f2ec}
.local-band .button-ghost:hover{background:#3a3d42;border-color:#f2b544;color:#fff}
.local-status{margin:0;color:#f2b544}
.local-status:empty{display:none}
.local-cover{margin:0;max-width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:22px;background:#3a3d42}
.local-cover img{display:block;width:100%;height:100%;object-fit:cover}
.local-band :focus-visible{outline:3px solid #f2b544;outline-offset:3px}
.local-body{display:flex;flex-direction:column;gap:52px;max-width:1360px;margin:0 auto;padding:48px 5% 64px}
.local-body[hidden]{display:none}
.local-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.local-fact{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.local-fact h2{margin:0;color:#a44632;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.local-fact p{margin:0;color:#3f3c39;line-height:1.6}
.local-fact .local-hours{white-space:pre-line;font-variant-numeric:tabular-nums}
.local-fact .local-note{align-self:stretch;padding-top:10px;border-top:1px solid var(--line);color:#65625f;font-size:.92rem}
.local-link,.local-contact a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#292c30;font-weight:600;text-decoration:underline;text-decoration-color:#cfc9c0;text-underline-offset:5px;font-variant-numeric:tabular-nums}
.local-link:hover,.local-contact a:hover{text-decoration-color:#292c30}
.local-contact{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.local-section{display:flex;flex-direction:column;gap:12px}
.local-section .eyebrow,.local-passport .eyebrow{margin:0;color:#a44632}
.local-section h2{margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.5rem);text-wrap:balance}
.dish-list{display:flex;flex-direction:column;max-width:780px;margin:0;padding:0;list-style:none}
.dish{padding:16px 0;border-bottom:1px solid var(--line)}
.dish:first-child{border-top:1px solid var(--line)}
.dish-line{display:flex;align-items:baseline;gap:10px}
.dish h3{margin:0;font-size:1.15rem;letter-spacing:-.01em}
.dish-leader{flex:1;min-width:24px;border-bottom:2px dotted #cfc9c0;transform:translateY(-4px)}
.dish-price{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.dish p{max-width:60ch;margin:4px 0 0;color:#65625f}
.local-small{margin:0;color:#65625f;font-size:.88rem}
.local-small[hidden]{display:none}
.local-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.local-gallery a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#f1eee8}
.local-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.local-gallery a:hover img{transform:scale(1.03)}
.local-menu-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;max-width:1000px}
.local-menu-images a{display:block;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 9px 25px #292c3010}
.local-menu-images img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.local-passport{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;padding:28px;border:1px solid #e6e0d6;border-radius:18px;background:#f5f2ec}
.local-passport>div{display:flex;flex-direction:column;gap:8px;max-width:60ch}
.local-passport h2{margin:0;font-size:clamp(1.5rem,2.4vw,2rem)}
.local-passport p{margin:0;color:#57534f}
.local-passport .button{margin:0}
@media(max-width:900px){.local-band.has-cover .local-band-inner{grid-template-columns:1fr}.local-facts{grid-template-columns:1fr}.local-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.local-band-inner{gap:22px;padding:16px 20px 40px}.local-body{gap:38px;padding:32px 20px 48px}.local-actions{flex-direction:column;align-items:stretch;width:100%}.local-actions .button{width:100%}.local-passport{padding:22px}.local-passport .button{width:100%}}
@media(prefers-reduced-motion:reduce){.local-gallery img{transition:none}}

/* Guide cards link to each local page and show its cover when there is one. */

/* Listing editor in the merchant portal. */
.listing-shortcut{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 8px;padding:16px 18px;border:1px solid #e4b757;border-radius:16px;background:#fff6df;color:#292c30;text-decoration:none}
.listing-shortcut span:first-child{display:flex;flex-direction:column;gap:2px}
.listing-shortcut small{color:#57534f;font-size:.9rem}
.listing-shortcut:hover{border-color:#292c30}
.listing-editor h2{margin:0;font-size:1.3rem}
.listing-editor h3{display:flex;align-items:baseline;gap:10px;margin:8px 0 0;font-size:1.05rem}
.listing-editor .listing-updated{margin:8px 0 0}
.listing-picker{margin:4px 0 14px}
.dish-editor{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.dish-row{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#faf8f4}
.dish-row-foot{display:flex;align-items:flex-end;gap:10px}
.dish-row-foot label{flex:1}
.listing-cover{overflow:hidden;border-radius:14px;background:#f1eee8}
.listing-cover img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.listing-empty{margin:0;padding:22px;color:#65625f;text-align:center}
.listing-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.listing-gallery li{display:flex;flex-direction:column;gap:6px}
.listing-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.listing-photo-status:empty{display:none}
.listing-photo-status{margin:0;color:#57534f}
@media(max-width:520px){.listing-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Passport app: a charcoal app bar and title band carry the ASETUR identity into every passport screen. */
.portal-header,.entry-header{background:#292c30;color:#f5f2ec;border-bottom:0;box-shadow:0 0 0 100vmax #292c30;clip-path:inset(0 -100vmax)}
.portal-header .brand,.entry-header .brand{color:#fff}
.portal-header .brand-place,.portal-header .brand-bottom,.entry-header .brand-place,.entry-header .brand-bottom{color:#cfc9c0}
.portal-header nav a{color:#cfc9c0}
.portal-header nav a:hover{color:#fff}
.portal-header nav a[aria-current=page]{border-bottom:0;background:transparent;color:#fff;box-shadow:inset 0 -3px 0 #f2b544}
.portal-header .small-button{border-color:#6a6d72;background:transparent;color:#f5f2ec}
.portal-header .small-button:hover{background:#3a3d42;color:#fff}
.entry-body .entry-header{border:0}
.portal-header :focus-visible,.entry-header :focus-visible{outline:3px solid #f2b544;outline-offset:3px}
.portal .phone-flow>.eyebrow{color:#a44632}
.entry-body{background:#fff}
.entry-band{background:#292c30;color:#f5f2ec}
.entry-band-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 56px;align-items:center;max-width:980px;margin:0 auto;padding:36px 6% 52px}
.entry-band-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.entry-band .season-label{margin:0;color:#cfc9c0}
.entry-band h1{margin:0;color:#fff;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.entry-band .entry-intro{margin:0;max-width:40ch;color:#cfc9c0;font-size:1.1rem}
.entry-facts{display:flex;flex-wrap:wrap;gap:8px 20px;margin:4px 0 0;padding:14px 0 0;border-top:1px solid #45484d;list-style:none;color:#f5f2ec}
.entry-facts li{font-size:.98rem}
.entry-facts b{margin-right:4px;color:#f2b544;font-size:1.35rem;font-variant-numeric:tabular-nums}
.entry-band .entry-art{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:18px}
.entry-main{padding-top:32px}
.entry-choose{margin:0 0 14px;color:#a44632;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.entry-choices .client-choice{border-color:#f2b544;background:#f2b544;color:#292c30}
.entry-choices .client-choice .entry-choice-copy>span{color:#3f3a2f}
.entry-choices .local-choice{border:1px solid var(--line);background:#fff;color:#292c30}
.entry-choice-copy strong{font-family:var(--sans);font-weight:700}
@media(max-width:760px){.entry-band-inner{grid-template-columns:1fr;gap:22px;padding:22px 20px 34px}.entry-band h1{font-size:clamp(2.3rem,10vw,3rem)}.entry-main{padding-top:24px}}

/* Guide cards are a fixed summary: photo or initials, category, name, two lines of hours, contact and page.
   Rows share one height; everything else a local writes lives on its own page. */
.home-page .business-grid.has-businesses{grid-auto-rows:1fr;align-items:stretch}
.home-page .business-card{position:relative;flex-direction:column;transition:border-color .2s ease}
.home-page .business-card.is-linked:hover{border-color:#9a9690}
.home-page .business-card-body{flex:1;gap:12px;padding:16px}
.business-top{display:flex;align-items:center;gap:14px;width:100%;min-width:0}
.business-media{flex:0 0 64px;width:64px;height:64px;overflow:hidden;border-radius:12px;background:#f1eee8}
.business-media img{display:block;width:100%;height:100%;object-fit:cover}
.business-media.is-initials{display:grid;place-items:center;border:1px solid #e6e0d6;background:#f5f2ec;color:#a44632;font-size:1.25rem;font-weight:700;letter-spacing:.02em}
.business-head{display:flex;flex-direction:column;gap:2px;min-width:0}
.home-page .business-card h3{display:-webkit-box;overflow:hidden;margin:0;font-size:1.2rem;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.home-page .business-card h3 a{color:inherit;text-decoration:none}
.home-page .business-card h3 a::after{content:'';position:absolute;inset:0;border-radius:16px}
.home-page .business-card h3 a:focus-visible{outline:none}
.home-page .business-card:has(h3 a:focus-visible){outline:3px solid #b47d00;outline-offset:3px}
.home-page .business-card p.business-hours{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.home-page .business-card p.business-offer{display:-webkit-box;overflow:hidden;margin:0;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.home-page .business-actions{position:relative;z-index:1;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;margin-top:auto;padding-top:0;pointer-events:none}
.home-page .business-actions .business-call,.home-page .business-actions .business-whatsapp{pointer-events:auto}
.home-page .business-actions .business-call{padding-inline:10px;font-size:.86rem}
.home-page .business-whatsapp{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:1px solid #075e54;border-radius:12px;background:#075e54;color:#fff;font-size:.86rem;font-weight:700;text-decoration:none;white-space:nowrap}
.home-page .business-whatsapp:hover{background:#064940;border-color:#064940}
.home-page .business-whatsapp:focus-visible{outline:3px solid #b47d00;outline-offset:3px}
.home-page .business-more{display:inline-flex;align-items:center;gap:6px;color:#a44632;font-size:.92rem;font-weight:600;white-space:nowrap}
.home-page .business-actions .business-more{margin-left:auto}
@media(prefers-reduced-motion:reduce){.home-page .business-card{transition:none}}
@media(max-width:640px){.home-page .business-grid.has-businesses{grid-auto-rows:auto}}

/* Logos: contained on white, in the guide square and beside the name on the local page. */
.business-media.has-logo{border:1px solid #e6e0d6;background:#fff}
.business-media.has-logo img{object-fit:contain;padding:3px}
/* Wide logos keep their shape on the local page; square ones stay square. */
.local-logo{display:block;width:auto;max-width:min(260px,100%);height:88px;margin-top:6px;padding:10px 14px;border-radius:18px;background:#fff;object-fit:contain}
/* Google Maps is loaded only for the selected local; the horizontal list never
   takes over the page's vertical wheel scrolling. */
.places-map{background:transparent}
.places-map .section-heading{align-items:end}
.places-map-shell{overflow:hidden;border:1px solid #ded8cf;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(41,44,48,.06)}
.places-map-tools{display:grid;grid-template-columns:minmax(280px,1fr) max-content;grid-template-areas:"label ." "select actions" "status actions";column-gap:24px;padding:22px 24px}
.places-map-tools label{grid-area:label;display:block;margin-bottom:7px;color:#a44632;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.places-map-tools select{grid-area:select;display:block;width:100%;min-width:0;min-height:48px;padding:10px 42px 10px 14px;border:1px solid #bdb7ad;border-radius:11px;background:#fff;color:#292c30;font:inherit;font-weight:600}
.places-map-tools select:focus-visible,.map-place-choice:focus-visible,.map-point-choice:focus-visible,.business-map-link:focus-visible{outline:3px solid #b47d00;outline-offset:3px}
/* Style the opened picker as well as the field. Browsers without customizable
   selects keep their accessible native picker. */
@supports (appearance:base-select){
 .home-page .itinerary select,.home-page .places-map-tools select,
 .home-page .itinerary select::picker(select),.home-page .places-map-tools select::picker(select){appearance:base-select}
 .home-page .itinerary select,.home-page .places-map-tools select{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-right:12px;white-space:normal;text-align:left;cursor:pointer}
 .home-page .itinerary select::picker-icon,.home-page .places-map-tools select::picker-icon{content:'';flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:url('/assets/icons/arrow-down.svg') center/contain no-repeat;mask:url('/assets/icons/arrow-down.svg') center/contain no-repeat;transition:transform .18s ease}
 .home-page .itinerary select:open::picker-icon,.home-page .places-map-tools select:open::picker-icon{transform:rotate(180deg)}
 .home-page .itinerary select::picker(select),.home-page .places-map-tools select::picker(select){max-height:min(330px,50vh);overflow-y:auto;padding:6px;border:1px solid #ded8cf;border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(41,44,48,.16);scrollbar-color:#c6b9a8 transparent}
 .home-page .itinerary select option,.home-page .places-map-tools select option{min-height:40px;padding:10px 12px;border-radius:7px;background:#fff;color:#292c30;font:inherit;font-size:.9rem;font-weight:500;line-height:1.4;cursor:pointer}
 .home-page .itinerary select option:hover,.home-page .itinerary select option:focus-visible,.home-page .places-map-tools select option:hover,.home-page .places-map-tools select option:focus-visible{background:#f5f2ec;color:#863724}
 .home-page .itinerary select option:checked,.home-page .places-map-tools select option:checked{background:#f2e6dc;color:#863724;font-weight:700}
 .home-page .itinerary select option::checkmark,.home-page .places-map-tools select option::checkmark{display:none}
 /* The passport preview and private forms use the same control with their
    existing green palette, so their opened menus should be styled too. */
 :is(.portal,.passport-page,.book-index) select,:is(.portal,.passport-page,.book-index) select::picker(select){appearance:base-select}
 :is(.portal,.passport-page,.book-index) select::picker(select){max-height:min(330px,50vh);overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(24,62,48,.16);scrollbar-color:#abbdae transparent}
 :is(.portal,.passport-page,.book-index) select option{min-height:40px;padding:10px 12px;border-radius:7px;background:#fff;color:var(--ink);font:inherit;line-height:1.4;cursor:pointer}
 :is(.portal,.passport-page,.book-index) select option:hover,:is(.portal,.passport-page,.book-index) select option:focus-visible{background:var(--paper);color:var(--forest)}
 :is(.portal,.passport-page,.book-index) select option:checked{background:#eaf1e8;color:var(--forest);font-weight:700}
 :is(.portal,.passport-page,.book-index) select option::checkmark{display:none}
}
.map-place-status{grid-area:status;min-height:22px;margin:8px 0 0;color:#65625f;font-size:.86rem}
.places-map-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;align-self:start}
.places-map-actions .button{margin:0;min-height:44px;padding:10px 14px;font-size:.88rem;white-space:nowrap}
.map-route-link{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:8px 4px;color:#a44632;font-size:.88rem;font-weight:700;text-decoration:none}
.map-route-link[hidden]{display:none}
.map-point-choices{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 24px 18px}
.map-point-prompt{margin-right:4px;color:#65625f;font-size:.86rem}
.map-point-choice{min-height:40px;padding:8px 14px;border:1px solid #d8d2ca;border-radius:10px;background:#fff;color:#292c30;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}
.map-point-choice:hover{border-color:#a44632}
.map-point-choice[aria-pressed="true"]{border-color:#292c30;background:#292c30;color:#fff}
.places-map-frame{height:clamp(350px,48vw,560px);border-top:1px solid #eee9e1;border-bottom:1px solid #eee9e1;background:#edeae3}
.map-overview{width:100%;height:100%;background:#e9efe9}
.map-overview.leaflet-container{font-family:inherit}
.asetur-map-pin{border:3px solid #fff;border-radius:50%;background:#a44632;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.asetur-map-pin::after{content:'';position:absolute;inset:6px;border-radius:50%;background:#fff}
.places-map .marker-cluster-small,.places-map .marker-cluster-medium,.places-map .marker-cluster-large{background:rgba(164,70,50,.26)}
.places-map .marker-cluster div{background:#a44632;color:#fff;font-weight:700}
.map-popup{display:flex;flex-direction:column;gap:5px;min-width:185px;color:#292c30;font:inherit}
.map-popup strong{font-size:.95rem}
.map-popup>span{color:#65625f;font-size:.76rem}
.map-popup-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.map-popup-links a{color:#a44632;font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.map-place-list{display:flex;gap:8px;overflow-x:auto;padding:14px 18px 16px;scrollbar-width:thin}
.map-place-choice{display:inline-flex;flex:0 0 auto;align-items:center;gap:9px;max-width:250px;min-height:43px;padding:8px 12px;border:1px solid #d8d2ca;border-radius:10px;background:#fff;color:#353535;font:inherit;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer}
.map-place-choice:hover{border-color:#a44632}
.map-place-choice[aria-pressed="true"]{border-color:#292c30;background:#292c30;color:#fff}
.map-place-number{color:#a44632;font-size:.72rem;font-weight:700;letter-spacing:.04em}
.map-place-choice[aria-pressed="true"] .map-place-number{color:#f2b544}
.home-page .business-actions .business-map-link{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:44px;padding:7px 3px;color:#a44632;font-size:.86rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;pointer-events:auto}
@media(max-width:900px){.places-map-tools{grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "select" "status" "actions"}.places-map-actions{justify-content:flex-start;margin-top:12px}}
@media(max-width:680px){.places-map-tools{padding:16px}.places-map-actions{width:100%}.places-map-actions .button{flex:1 1 auto}.map-point-choices{padding:0 16px 16px}.map-point-prompt{flex-basis:100%}.map-point-choice{flex:1 1 auto}.places-map-frame{height:380px}.map-place-choice{max-width:210px}.places-map .section-heading{align-items:start}}
/* A dedicated destination for the association's existing public social feeds. */
.social-section{background:#fff}
.social-publications{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.social-publication{display:flex;flex-direction:column;align-items:flex-start;min-height:242px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;color:#292c30;text-decoration:none;transition:border-color .2s ease}
.social-publication:hover{border-color:#9a9690}
.social-publication-icon{display:grid;place-items:center;width:45px;height:45px;margin-bottom:18px;border:1px solid #e6e0d6;border-radius:11px;background:#f5f2ec;color:#a44632;font-size:1.55rem;font-weight:700;line-height:1}
.social-publication-f{font-family:Arial,sans-serif;font-size:1.8rem}
.social-publication-name{color:#a44632;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.social-publication strong{margin:6px 0 18px;font-size:1.27rem;line-height:1.3;letter-spacing:-.02em}
.social-publication-action{display:inline-flex;align-items:center;gap:6px;margin-top:auto;color:#a44632;font-size:.9rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.dock-social-icon{display:inline-grid;place-items:center;width:1.25em;height:1.25em;font-size:1.15rem;font-weight:700;line-height:1}
@media(max-width:760px){.home-page .mobile-dock:has(a[href$="#redes"]){grid-template-columns:repeat(4,minmax(0,1fr))}.home-page .mobile-dock:has(a[href$="#redes"]) a{padding-inline:3px;font-size:.75rem}}
@media(max-width:680px){.social-publications{grid-template-columns:1fr}.social-publication{min-height:170px}.social-publication-icon{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.social-publication{transition:none}.social-publication:hover{transform:none}}
.listing-logo-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.listing-logo{display:grid;flex:0 0 96px;place-items:center;width:96px;height:96px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;color:#a44632;font-size:1.6rem;font-weight:700}
.listing-logo img{width:100%;height:100%;padding:8px;object-fit:contain}
.listing-logo-row .actions{margin:0}

/* Larger landmark on wide screens: the hero shares the header's 1440 px frame and gives the
   photograph more of it. Height stays capped so title and actions remain on the first screen. */
@media(min-width:821px){
 .home-page .hero.hero-landmark{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:24px 56px;max-width:1440px}
 .home-page .hero-landmark .hero-photo img{max-height:calc(100svh - 240px)}
}
@media(min-width:821px){.asetur-band-inner{max-width:1440px}}

/* Pilot goals in the ASETUR panel and the counter-created passport. */
.goals-panel h2{margin:0 0 4px}
.goal-list{display:flex;flex-direction:column;gap:14px;margin:14px 0 0;padding:0;list-style:none}
.goal-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:.95rem}
.goal-head strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.goal-bar{height:8px;overflow:hidden;border-radius:4px;background:#ece8e1}
.goal-bar span{display:block;height:100%;border-radius:4px;background:#f2b544}
.goal-note{margin:16px 0 0;color:#65625f;font-size:.9rem}
.stamp-check strong{font-weight:700}
.stamp-extra summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#65625f}
.counter-register summary{min-height:48px;display:flex;align-items:center;font-weight:600}
.counter-result{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #d9b76e;border-radius:14px;background:#fff6df}
.counter-result .eyebrow{margin:0;color:#a44632}
.counter-code{margin:0;font-size:2rem;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums}

/* Benefit days: the local picks its quiet days; other days still earn the stamp. */
.benefit-days{margin:0;padding:14px;border:1px solid #e4ded3;border-radius:12px}
.benefit-days legend{padding:0 6px;font-weight:600;font-size:.95rem}
.day-choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.day-choice{display:flex;align-items:center;justify-content:center;min-width:52px;min-height:44px;padding:0 10px;border:1px solid #d7d1c6;border-radius:10px;cursor:pointer}
.day-choice input{position:absolute;opacity:0;pointer-events:none}
.day-choice span{font-weight:600;font-size:.9rem}
.day-choice:has(input:checked){border-color:#292c30;background:#292c30;color:#fff}
.day-choice:has(input:focus-visible){outline:2px solid #f2b544;outline-offset:2px}
.validation-checks .benefit-day.is-off{color:#8a6a2f}
