/* Destinations: accurate local vector geography, restrained route interaction. */
.destinations-section{background:#eef1eb}
.destinations-heading{align-items:end;margin-bottom:2.7rem}
.destinations-heading .section-heading-aside{max-width:320px}
.destinations-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:2.5rem;align-items:start}
.destination-map{margin:0;min-width:0;background:#f9faf6;border:1px solid #d5ded2;border-radius:12px;overflow:hidden}
.map-canvas{position:relative}
.destination-map-svg{display:block;width:100%;height:auto;font-family:'DM Sans',sans-serif}
.destination-map-europe{position:absolute;left:55.204%;top:45.763%;width:43.47%}
.map-country{fill:#dce3d9;stroke:#f9faf6;stroke-width:.65;fill-rule:evenodd;transition:fill .18s ease,opacity .18s ease}
.map-country.is-served{fill:#7d9881}
.map-country.is-spain{fill:#d98a45}
.map-country.is-active{fill:#2c6545}
.map-europe-land .map-country{stroke-width:1.1}
.map-connection{fill:none;stroke:#c46c2d;stroke-width:2.2;stroke-linecap:round;opacity:.78;transition:stroke-width .18s ease,opacity .18s ease}
.map-connection-europe{stroke-width:1.6;opacity:.7}
.map-connection.is-active{stroke:#bd561b;stroke-width:3;opacity:1}
.destination-map.is-filtered .map-connection:not(.is-active){opacity:.12}
.destination-map.is-filtered .map-country.is-served:not(.is-active){fill:#d0dacf}
.destination-map.is-filtered .map-destination:not(.is-active){opacity:.35}
.map-dot{fill:#214c3a;stroke:#fffdf8;stroke-width:1.1}
.map-dot-halo{fill:#214c3a;opacity:.1}
.map-destination.is-active .map-dot-halo{fill:#e47a2d;opacity:.25}
.map-destination.is-active .map-dot{fill:#d66a22}
.map-origin-ring{fill:#fffdf8;stroke:#dd8040;stroke-width:2}
.map-origin-core{fill:#d5702c}
.map-origin-label{fill:#73401b;font-size:17px;font-weight:600;paint-order:stroke;stroke:#f9faf6;stroke-width:4px;stroke-linejoin:round}
.map-region-label{fill:#365443;font-size:21px;font-weight:500;paint-order:stroke;stroke:#f9faf6;stroke-width:5px;stroke-linejoin:round}
.map-world-origin{fill:#7d4b28;font-size:19px;font-weight:600;paint-order:stroke;stroke:#f9faf6;stroke-width:4px}
.map-europe-area{fill:none;stroke:#8b9d86;stroke-width:1.2;stroke-dasharray:4 5}
.map-zoom-link{fill:none;stroke:#8b9d86;stroke-width:1.1;stroke-dasharray:4 5}
.map-inset-bg{fill:#f9faf6;stroke:#c5d2c0;stroke-width:1.3}
.map-inset-title{fill:#4c654f;font-size:16px;font-weight:600;letter-spacing:1.5px}
.map-key text{fill:#5a705e;font-size:19px}
.destination-map figcaption{padding:1.1rem 1.3rem;border-top:1px solid #dce3d9;min-height:87px}
.map-selection{font-size:1rem;font-weight:600;color:var(--ink)}
.map-disclaimer{margin-top:.3rem;color:var(--muted);font-size:.8125rem;line-height:1.5}
.destination-list-wrap{padding-top:.35rem}
.destination-list-wrap>.small-label{font-size:.875rem;margin-bottom:1.6rem;color:var(--ink)}
.destination-group+.destination-group{margin-top:1.35rem}
.destination-group h3{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;color:var(--muted);margin-bottom:.65rem}
.destination-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem;border-top:1px solid #cdd6c8}
.destination-list li{margin:0!important;padding:0;border-bottom:1px solid #cdd6c8;min-width:0;display:block}
.destination-button{display:flex;gap:.5rem;align-items:center;min-height:46px;width:100%;text-align:left;border:0;background:transparent;padding:.6rem .15rem;color:var(--ink);font:inherit;font-size:.875rem;line-height:1.35;cursor:pointer;transition:color .15s ease,background .15s ease}
.destination-bullet{flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#8caa8e}
.destination-button>span:nth-child(2){flex:1}
.destination-button small{display:block;font-size:.8125rem;color:var(--muted);margin-top:.2rem}
.destination-arrow{font-size:1rem;color:#668269;opacity:0;transition:opacity .15s ease}
.destination-button:hover,.destination-button[aria-pressed=true]{color:#a95220;background:#fffdf87a}
.destination-button:hover .destination-bullet,.destination-button[aria-pressed=true] .destination-bullet{background:#d57532}
.destination-button:hover .destination-arrow,.destination-button[aria-pressed=true] .destination-arrow{opacity:1}
.destination-button:focus-visible,.map-reset:focus-visible{outline:2px solid #c46c2d;outline-offset:3px}
.destination-help{font-size:.8125rem;color:var(--muted);line-height:1.5;margin-top:1.3rem}
.map-reset{font:inherit;font-size:.875rem;color:var(--ink);background:none;border:0;border-bottom:1px solid #7d9881;padding:.35rem 0;margin-top:.65rem;cursor:pointer}
.map-reset:hover{color:#a95220;border-color:#a95220}
/* Removing decorative numbering must also remove the old empty gutters. */
.commitments-list .detail-content{padding-left:0}
.process-list article{grid-template-columns:1.1fr 1fr}
.family-tabs{gap:2.8rem;flex-wrap:wrap}
.family-tabs button{font-size:1rem;min-height:48px;white-space:nowrap;gap:0}
.vegetable-visual>img{max-width:450px;aspect-ratio:auto}
@media(max-width:1100px){
 .destinations-layout{grid-template-columns:minmax(0,1fr);gap:2rem}
 .destination-list-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:0 2.5rem}
 .destination-list-wrap>.small-label{grid-column:1/-1;margin-bottom:1rem}
 .destination-group+.destination-group{margin-top:0}
 .destination-help{grid-column:1/-1;margin-top:1.2rem}
 .map-reset{justify-self:start}
 .destination-map-svg{max-height:none}
}
@media(max-width:700px){
 .destinations-heading{margin-bottom:1.7rem}
 .destinations-layout{gap:1.7rem}
 .destination-map{border-radius:6px}
 .destination-map-europe{position:static;width:calc(100% - 16px);margin:0 8px 12px}
 .map-europe-area,.map-zoom-link{display:none}
 .destination-map figcaption{padding:1rem;min-height:0}
 .map-selection{font-size:.94rem}
 .map-disclaimer{font-size:.8125rem}
 .destination-list-wrap{display:block;padding-top:0}
 .destination-group+.destination-group{margin-top:1.5rem}
 .destination-list{grid-template-columns:1fr 1fr;gap:0 1rem}
 .destination-button{min-height:48px;font-size:.94rem;padding-block:.7rem}
 .destination-arrow{opacity:.55}
 .process-list article{grid-template-columns:1fr;gap:1.2rem}
 .process-list article>p{grid-column:1}
 .commitments-list .detail-content{padding-left:0}
 .family-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem;justify-content:initial}
 .family-tabs button{justify-content:flex-start;font-size:.94rem;min-height:52px}
 .vegetable-visual{max-height:none;min-height:280px}
 .vegetable-visual>img{width:100%;max-width:330px;max-height:270px;object-fit:contain}
}
@media(prefers-reduced-motion:reduce){
 .map-country,.map-connection,.destination-arrow,.destination-button{transition:none}
}
