/* Read-only Spanish map page; all selectors stay inside this component. */
.nw-map-page { color: #20372e; width: 100%; min-width: 0; }
.nw-map-page .nw-map-intro { margin: 0 0 1.5rem; }
.nw-map-page .nw-map-intro p { font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.5; }
.nw-map-page .nw-map-selector { display: flex; align-items: end; gap: 1rem; max-width: 720px; margin: 0 auto 1.5rem; }
.nw-map-page .nw-map-selector > div { flex: 1 1 340px; min-width: 0; }
.nw-map-page .nw-map-selector label { display: block; font-size: 1rem; font-weight: 600; margin-bottom: .45rem; }
.nw-map-page .nw-map-selector select { display: block; width: 100%; min-height: 52px; padding: .7rem 2.2rem .7rem .85rem; font: inherit; font-size: 1.05rem; line-height: 1.3; color: #20372e; background: #fffdf8; border: 1px solid #a6ada1; border-radius: 6px; }
.nw-map-page .nw-map-selector .button { min-height: 52px; margin: 0; white-space: nowrap; }
.nw-map-page .nw-map-selector select:focus-visible,
.nw-map-page .nw-map-selector .button:focus-visible { outline: 3px solid #70344d; outline-offset: 3px; }
.nw-map-page .nw-map-message { max-width: 720px; margin: 0 auto 1rem; padding: .85rem 1rem; border-left: 3px solid #70344d; background: #eee7e4; line-height: 1.5; }
.nw-map-page .nw-map-canvas { width: min(100%, 920px); margin: 0 auto 2rem; min-width: 0; }
.nw-map-page .nw-map-canvas .spain-map { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; overflow: visible; }
.nw-map-page .nw-map-canvas .province { cursor: pointer; }
.nw-map-page .nw-map-canvas .province path { transition: fill .15s ease; }
.nw-map-page .nw-map-canvas .province.is-selected path { fill: #70344d; stroke: #fffdf8; stroke-width: 1.5; }
.nw-map-page .nw-map-canvas .province:focus-visible path { stroke: #70344d; stroke-width: 4; }
.nw-map-page .nw-map-canvas .province[aria-disabled="true"] { cursor: default; }
.nw-map-page .nw-map-results { padding-top: 1.75rem; margin-top: .5rem; border-top: 1px solid #d8d6c9; scroll-margin-top: 7rem; outline: none; }
.nw-map-page .nw-map-results-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1.5rem; margin-bottom: .75rem; }
.nw-map-page .nw-map-results h2 { margin: 0 0 .5rem; font-size: clamp(1.8rem, 3vw, 2.75rem); line-height: 1.15; }
.nw-map-page .nw-map-results > p { font-size: 1.05rem; line-height: 1.5; }
.nw-map-page .nw-map-results .nw-directory-count { margin: 0; }
.nw-map-page .nw-map-results .nw-directory-demo { margin: .5rem 0 1.5rem; }
.nw-map-page .nw-map-producers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.nw-map-page .nw-map-producers .producer-card { min-width: 0; overflow: hidden; border: 1px solid #d8d6c9; border-radius: 12px; background: #fffdf8; }
.nw-map-page .nw-map-producers .producer-card > a { display: block; height: 100%; text-decoration: none; color: inherit; }
.nw-map-page .nw-map-producers .producer-card > a:focus-visible { outline: 3px solid #70344d; outline-offset: -4px; }
.nw-map-page .nw-map-producers .nw-directory-photo { aspect-ratio: 4 / 3; width: 100%; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #eae8df; }
.nw-map-page .nw-map-producers .nw-directory-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nw-map-page .nw-map-producers .nw-directory-body { padding: 1.2rem; }
.nw-map-page .nw-map-producers h3 { margin: .5rem 0; font-size: 1.8rem; line-height: 1.15; overflow-wrap: anywhere; }
.nw-map-page .nw-map-producers p { margin: .5rem 0; }
.nw-map-page .nw-map-producers .text-link { display: inline-flex; gap: .4rem; align-items: baseline; margin-top: .7rem; }
@media (max-width: 760px) {
  .nw-map-page .nw-map-producers { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .nw-map-page .nw-map-selector { display: block; margin-bottom: 1rem; }
  .nw-map-page .nw-map-selector .button { width: 100%; margin-top: .85rem; justify-content: center; }
  .nw-map-page .nw-map-results { scroll-margin-top: 5.5rem; }
  .nw-map-page .nw-map-canvas { margin-bottom: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .nw-map-page .nw-map-canvas .province path { transition: none; }
}

/* Compact map entry and readable, scoped Spanish editorial article. */
.home-map-entry{padding-block:22px 32px;border-block:1px solid var(--line);margin-block:8px 28px}
.home-map-entry .button{font-size:16px;min-height:58px;gap:24px}
.nw-sulfites-article{max-width:1100px}
.nw-sulfites-article .article-intro{padding-top:30px;padding-bottom:25px}
.nw-sulfites-article .article-intro h1{font-size:clamp(43px,5.5vw,76px);line-height:1.05;margin-bottom:24px}
.nw-sulfites-article .article-intro p:not(.eyebrow){font-size:19px;line-height:1.7}
.nw-sulfites-article .article-content{max-width:850px;font-size:17px;line-height:1.8}
.nw-sulfites-article .article-content section{margin-block:24px 32px}
.nw-sulfites-article .article-content h2{font-size:clamp(29px,3.2vw,42px);line-height:1.15;margin-bottom:16px}
.nw-sulfites-article sup a{text-decoration:underline;text-underline-offset:3px}
.nw-sulfites-article .nw-guide-sources{font-size:13px;line-height:1.7}
.nw-sulfites-article .nw-guide-sources h2{font-size:26px;margin-top:16px}
.nw-sulfites-article .nw-guide-sources a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.home-map-entry .button{width:100%;font-size:15px;padding-inline:18px}.nw-map-article .article-intro{padding-block:28px 20px}.nw-map-article .article-intro h1{font-size:46px}}
