/* Spa Escape Poland national edition - layered over ../styles.css and ../guide.css. */
.nd [hidden] { display: none !important; }

/* Hero counts */
.nd-hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: start; }
.nd-hero h1 { font-size: clamp(3rem, 6vw, 5.2rem); }
.nd-hero .hero__text, .nd-hero .hero__media { min-width: 0; }
.nd-hero .hero__media { height: auto; }
.nd-hero .hero__media img { height: auto; max-height: 680px; }
@media (max-width: 980px) { .nd-hero { grid-template-columns: minmax(0, 1fr); } }
.nd-stats { list-style: none; display: flex; flex-wrap: wrap; gap: 1.6rem; padding: 0; margin: 1.4rem 0; }
.nd-stats li { display: flex; flex-direction: column; min-width: 7rem; }
.nd-stats b { font: 400 clamp(2.4rem, 5vw, 3.4rem)/1 var(--serif); color: var(--ink); }
.nd-stats span { font-size: .82rem; letter-spacing: .04em; color: var(--ink-soft); }

/* Editorial picks */
.nd-picks { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1.2rem; }
.nd-pick { background: var(--paper); border: 1px solid var(--line); border-top: 4px solid var(--terracotta); border-radius: var(--radius); padding: 1.3rem; font-size: .94rem; }
.nd-pick__for { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--terracotta); margin: 0 0 .5rem; }
.nd-pick h3 { font-size: 1.5rem; margin: 0 0 .2rem; }
.nd-caveat { background: var(--amber-bg); border-left: 3px solid var(--amber); padding: .5rem .7rem; margin: .8rem 0 0; }

/* Region navigation + overview */
.nd-regions { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.nd-regions a { padding: .45rem .95rem; border: 1px solid var(--ink); border-radius: 999px; text-decoration: none; font-size: .9rem; }
.nd-regions a span { color: var(--terracotta); font-weight: 600; margin-left: .2rem; }
.nd-regions a:hover { background: var(--ink); color: var(--paper); }
.nd-region { margin-bottom: 2.2rem; scroll-margin-top: 5rem; }
.nd-region h3 { font-size: 1.6rem; border-bottom: 1px solid var(--ink); padding-bottom: .3rem; }
.nd-overview > summary { cursor: pointer; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.nd-overview[open] > summary { margin-bottom: 1.5rem; }
.nd-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.nd-table { border-collapse: collapse; width: 100%; min-width: 980px; font-size: .86rem; }
.nd-table th, .nd-table td { text-align: left; vertical-align: top; padding: .7rem .8rem; border-bottom: 1px solid var(--line); }
.nd-table thead th { font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); background: var(--sand); }
.nd-table tbody th { min-width: 13rem; font-weight: 600; }
.nd-table tbody th a { font-family: var(--serif); font-weight: 400; font-size: 1.1rem; }
.nd-row__meta { display: block; font-weight: 400; font-size: .8rem; color: var(--ink-soft); margin-top: .2rem; }
.nd-missing { color: #7a4c00; font-style: italic; }

@media (max-width: 760px) {
  .nd-table { min-width: 0; }
  .nd-table thead { display: none; }
  .nd-table tr, .nd-table th, .nd-table td { display: block; }
  .nd-table tr { border-bottom: 2px solid var(--ink); padding: .4rem 0; }
  .nd-table td { border: 0; padding: .3rem .8rem; }
  .nd-table td::before { content: attr(data-label); display: block; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }
}

/* Filters */
.nd-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .8rem 1.2rem; padding: 1rem 1.2rem; margin-bottom: 1.5rem; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); position: sticky; top: 4.2rem; z-index: 5; }
.nd-field { display: flex; flex-direction: column; gap: .25rem; font-size: .8rem; color: var(--ink-soft); min-width: 0; max-width: 100%; }
.nd-field--grow { flex: 1 1 14rem; }
.nd-field select, .nd-field input, .nd-field textarea { font: inherit; font-size: .95rem; color: var(--ink); padding: .55rem .7rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.nd-field select, .nd-field input, .nd-field textarea { min-width: 0; max-width: 100%; width: 100%; }
.nd-check { display: flex; align-items: center; gap: .45rem; font-size: .9rem; padding-bottom: .55rem; }
.nd-check input { width: 1.1rem; height: 1.1rem; accent-color: var(--ink); }
.nd-reset { padding: .55rem 1.1rem; }
.nd-count { flex-basis: 100%; margin: 0; font-size: .85rem; color: var(--ink-soft); }
.nd-linkbtn { background: none; border: 0; padding: 0; font: inherit; color: var(--terracotta); text-decoration: underline; cursor: pointer; }
@media (max-width: 760px) { .nd-filters { position: static; } }

/* Dossiers */
.nd-dossiers { display: grid; gap: 3.5rem; }
.nd-dossier { scroll-margin-top: 5rem; }
.nd-badges { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: .8rem 0 0; }
.nd-badges li { font-size: .75rem; padding: .2rem .6rem; border-radius: 999px; background: var(--sand); }
.nd-gallery { grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.nd-gallery figure:first-child { grid-row: auto; grid-column: span 2; }
.nd-gallery figure:first-child img { aspect-ratio: 4 / 3; height: auto; min-height: 0; }
.nd-gallery img { aspect-ratio: 4 / 3; object-fit: cover; background: var(--sand); }
.nd-cred { display: block; color: var(--ink-soft); }
.nd-broken { display: none; margin: 0; padding: 1rem; aspect-ratio: 4 / 3; background: var(--amber-bg); border-radius: var(--radius); font-size: .85rem; }
.nd-photo.is-broken > a.lb { display: none; }
.nd-photo.is-broken .nd-broken { display: flex; flex-direction: column; justify-content: center; gap: .4rem; }
@media (max-width: 560px) { .nd-gallery figure:first-child { grid-column: auto; } }

.nd-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: .8rem 1.4rem; margin: 1.4rem 0; padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.nd-facts dt { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); }
.nd-facts dd { margin: .15rem 0 0; font-size: .92rem; }
.nd-warn { margin-bottom: 1rem; }
.nd-more { margin-top: 1rem; }
.nd-more > summary { cursor: pointer; display: inline-block; padding: .6rem 1.1rem; border: 1px solid var(--ink); border-radius: 999px; font-weight: 500; font-size: .92rem; list-style: none; }
.nd-more > summary::-webkit-details-marker { display: none; }
.nd-more > summary::before { content: "+ "; }
.nd-more[open] > summary::before { content: "− "; }
.nd-more[open] > summary { margin-bottom: 1.4rem; background: var(--ink); color: var(--paper); }
.guest__meta .is-scope { font-size: .75rem; color: var(--ink-soft); }

/* Inquiry */
.nd-inquiry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1.5rem; }
.nd-inquiry__controls { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.nd-field--text textarea { width: 100%; font: .85rem/1.5 ui-monospace, Menlo, Consolas, monospace; }
.nd-status { min-height: 1.4em; margin: 0; font-size: .88rem; color: var(--ink-soft); }
@media (max-width: 860px) { .nd-inquiry { grid-template-columns: 1fr; } }

/* Provenance */
.nd-prov { margin-top: 2rem; font-size: .88rem; }
.nd-prov summary { cursor: pointer; font-weight: 600; }
.nd-prov li { margin-bottom: .4rem; }
