/* Shared, clearly sized partner inventory for international and mountain-region pages. */
.partner-ad-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;margin:28px auto;border:1px dashed #aac2df;border-radius:16px;background:linear-gradient(135deg,#f3f8ff,#eaf2fd);color:#637a98;text-align:center;overflow:hidden}
.partner-ad-slot strong{font-size:16px;color:#29456d}
.partner-ad-slot small{font-size:11px}
.partner-ad-kicker{font-size:9px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:#365fff}
.partner-ad-slot--billboard{width:min(970px,calc(100% - 40px));aspect-ratio:970/250}
.partner-ad-slot--rectangle{width:min(300px,100%);aspect-ratio:300/250;margin:18px auto;grid-column:auto}
.foreign-regions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid #dce7f5;background:#fff}
.foreign-regions a{padding:9px 14px;border-radius:999px;background:#eef4fc;color:#365477;font-size:12px;font-weight:750}
.foreign-regions a:first-child{background:#365fff;color:#fff}
.foreign-hub{padding-top:52px;padding-bottom:34px}
.foreign-hub h2,.foreign-more h2{font-size:clamp(28px,4vw,42px);margin:9px 0 12px}
.foreign-hub>.alps-intro{max-width:820px}
.foreign-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0 36px}
.foreign-category-card{display:flex;min-height:270px;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid #d6e4f5;border-radius:20px;background:#fff;color:#253a59;box-shadow:0 8px 24px #3250770b;transition:transform .2s,border-color .2s}
.foreign-category-card:hover{transform:translateY(-3px);border-color:#799aff}
.foreign-category-flag{font-size:22px;margin-bottom:18px}
.foreign-category-card small{color:#365fff;font-weight:800;font-size:10px;letter-spacing:.5px;text-transform:uppercase}
.foreign-category-card h3{font-size:24px;margin:8px 0}
.foreign-category-card p{font-size:12px;line-height:1.65;color:#637a98}
.foreign-category-card b{display:flex;width:100%;justify-content:space-between;margin-top:auto;padding-top:18px;color:#365fff;font-size:12px}
.foreign-source-note{padding:22px 24px;border-radius:18px;background:#eaf2fd;color:#546c8b;line-height:1.7}
.foreign-source-note strong{color:#29456d}
.foreign-source-note p{margin:5px 0 0;font-size:13px}
.foreign-more{padding:18px 0 55px}
.foreign-more a{color:#365fff;font-weight:800}
.foreign-data-note{margin:12px 0;color:#657b96;font-size:12px;line-height:1.6}
.approximate-season small{display:block;margin-top:8px;color:#7b8ea7;font-size:9px;line-height:1.4}
.foreign-country{display:inline-flex;align-items:center;gap:7px}
.foreign-country .country-flag{font-size:19px}
@media(max-width:1000px){.foreign-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.partner-ad-slot--billboard{width:calc(100% - 36px);aspect-ratio:320/100;margin:18px auto}.partner-ad-slot--rectangle{width:min(300px,100%);margin:14px auto}.partner-ad-slot strong{font-size:13px}.foreign-regions{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:12px 18px}.foreign-regions a{white-space:nowrap;font-size:11px}.foreign-hub{padding-top:34px}.foreign-category-grid{grid-template-columns:1fr;gap:12px}.foreign-category-card{min-height:205px;padding:18px}.foreign-category-flag{margin-bottom:10px}.foreign-more{padding-bottom:38px}}

/* The selected foreign region follows the current page, including the full catalogue. */
.foreign-regions a:first-child{background:#eef4fc;color:#365477}
.foreign-regions a[aria-current="page"]{background:#365fff;color:#fff}
.foreign-page .national-header>.wrap{display:flex;align-items:center}
.foreign-page .national-header>.wrap>.site-hamburger{position:relative!important;top:auto!important;right:auto!important;margin-left:auto;align-self:center;flex:0 0 auto}
.foreign-page .national-header>.wrap>.site-hamburger>summary{display:grid;place-content:center}
.foreign-page .national-header>.wrap>.site-hamburger nav{right:0;left:auto}
.foreign-page .season-track{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;height:10px;background:transparent;overflow:visible}
.foreign-page .season-track::after{display:none}
.foreign-page .season-segment{display:block;height:10px;border-radius:3px;background:#e7edf5}
.foreign-page .season-segment.season-available{background:#8bb9fa}
.foreign-page .season-segment.season-peak{background:#2859da}
.foreign-page .season-chart small{display:block;margin-top:7px;font-size:10px;line-height:1.45;color:#667c98}
.foreign-report-link{color:#365fff}
.foreign-reports{padding-top:50px;padding-bottom:65px}
.foreign-reports h2{font-size:clamp(28px,4vw,42px);margin:8px 0}
.foreign-reports>p{color:#617896}
.foreign-report-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0 16px}
.foreign-report-controls label{font-weight:750;color:#29456d}
.foreign-report-controls select,.foreign-report-form input,.foreign-report-form select,.foreign-report-form textarea{font:inherit;border:1.5px solid #ccdcf3;border-radius:12px;background:#fff;padding:12px 14px;color:#243550}
.foreign-report-controls select{min-width:min(100%,340px)}
.foreign-report-controls #foreign-report-count{margin-left:auto;color:#607896;font-size:13px;font-weight:700}
.foreign-report-list{display:grid;gap:12px;scroll-margin-top:100px}
.foreign-report-empty,.foreign-report-item{padding:20px;border:1px solid #d6e4f5;border-radius:17px;background:#fff;color:#536b88}
.foreign-report-item h3{margin:0 0 4px;color:#29456d;font-size:17px}
.foreign-report-item small{color:#6e829d}
.foreign-report-item p{margin-bottom:0;white-space:pre-wrap;line-height:1.6}
.foreign-report-form{display:grid;gap:14px;margin-top:24px;padding:22px;border:1px solid #d6e4f5;border-radius:18px;background:#f5f9ff}
.foreign-report-form h3{margin:0;color:#29456d}
.foreign-report-form label{display:grid;gap:7px;color:#29456d;font-weight:700;font-size:13px}
.foreign-report-form textarea{width:100%;resize:vertical}
.foreign-report-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.foreign-report-form .btn{justify-self:start;cursor:pointer;border:0}
.foreign-report-disclaimer{font-size:12px;color:#657b96;line-height:1.5;margin:0}
#foreign-report-feedback{margin:0;color:#176b54;font-weight:700}
@media(max-width:760px){.foreign-page .national-header>.wrap>.site-hamburger{margin-left:auto}.foreign-report-fields{grid-template-columns:1fr}.foreign-report-controls #foreign-report-count{margin-left:0}}

/* Mountain hero maps use only vertical labels, so labels cannot cover a neighboring pin. */
.sumava-hero .map-pin .pin-label{left:50%!important;right:auto!important;top:auto!important;bottom:calc(100% + 7px)!important;transform:translateX(-50%)!important;text-align:center;max-width:150px;white-space:normal;line-height:1.2}
.sumava-hero .map-pin.label-below .pin-label{top:calc(100% + 7px)!important;bottom:auto!important}
@media(max-width:760px){.sumava-hero .map-pin .pin-label{max-width:125px}.sumava-hero .pin-schoneben .pin-label{max-width:108px}}
.krusne-page .krusne-map-pin.label-above .pin-label{left:50%!important;right:auto!important;top:auto!important;bottom:calc(100% + 8px)!important;transform:translateX(-50%)!important;text-align:center}
.krusne-page .krusne-map-pin.label-below .pin-label{left:50%!important;right:auto!important;top:calc(100% + 8px)!important;bottom:auto!important;transform:translateX(-50%)!important;text-align:center}
/* Keep labels at the map edges inside the visible artwork without moving their pins. */
.sumava-hero .map-pin.edge-label-left .pin-label{left:0!important;right:auto!important;transform:none!important;text-align:left}
.sumava-hero .map-pin.edge-label-right .pin-label{left:auto!important;right:0!important;transform:none!important;text-align:right}
.krusne-page .krusne-map-pin.edge-label-right .pin-label{left:auto!important;right:0!important;transform:none!important;text-align:right}
.domestic-snow-facts{margin:14px 0 12px;padding:13px 14px;border:1px solid #d9e5f5;border-radius:14px;background:#f8fbff;color:#2c4468}
.domestic-snow-facts__metrics{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;line-height:1.4}
.domestic-snow-facts__metrics strong{color:#244a9a}
.domestic-snow-facts__heading{display:flex;justify-content:space-between;gap:12px;margin:13px 0 5px;font-size:11px;font-weight:700}
.domestic-snow-facts__heading span:last-child{color:#365fff;text-align:right}
.domestic-snow-facts__months,.domestic-snow-facts__bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;text-align:center}
.domestic-snow-facts__months{color:#7990ad;font-size:10px}
.domestic-snow-facts__bars{margin-top:5px}
.domestic-snow-facts__bars i{height:10px;border-radius:3px;background:#e7edf5}
.domestic-snow-facts__bars i.available{background:#8bb9fa}
.domestic-snow-facts__bars i.peak{background:#2859da}
.domestic-snow-facts small{display:block;margin-top:8px;color:#6a7f9a;font-size:10px;line-height:1.45}
.area-subsite{margin:10px 13px 14px;padding-top:10px;border-top:1px solid #e2eafa}
.area-subsite h4{margin:0 0 7px;color:#244a9a;font-size:12px}
.area-subsite .domestic-snow-facts{margin:0}
.area-subsite .region-card-note{margin:7px 0 0;font-size:10px;line-height:1.45}
.region-card[data-card-href]{cursor:pointer}
.region-card[id]{scroll-margin-top:100px}
/* Half-month season bars: each month has two equal, readable periods. */
.foreign-page .season-track{grid-template-columns:repeat(16,minmax(0,1fr))}
.foreign-page .season-months{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px}
.foreign-page .season-segment{border-radius:2px!important}
.foreign-page .season-segment:nth-child(2n){margin-right:2px}
/* Shared seasonal confidence scale used by foreign and domestic trail cards. */
.foreign-page .season-track,.domestic-snow-facts__bars,.area-season-bars{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:2px;height:10px;background:transparent;overflow:visible}
.domestic-snow-facts__bars,.area-season-bars{height:auto}
.foreign-page .season-segment,.domestic-snow-facts__bars i,.area-season-bars i{display:block;height:10px;border-radius:3px;background:#e7edf5}
.foreign-page .season-segment.season-available,.domestic-snow-facts__bars i.available,.area-season-bars i.available{background:#8bb9fa}
.foreign-page .season-segment.season-peak,.domestic-snow-facts__bars i.peak,.area-season-bars i.peak{background:#2859da}
.season-legend{display:flex;align-items:center;flex-wrap:wrap;gap:5px 13px;margin-top:7px;color:#667c98;font-size:10px;line-height:1.4}
.season-legend span{display:inline-flex;align-items:center;gap:5px}
.season-legend i{display:inline-block;flex:none;width:13px;height:9px;border-radius:3px;background:#8bb9fa}
.season-legend .season-legend__stable{background:#2859da}
.foreign-page .season-segment:nth-child(2n){margin-right:2px}
.domestic-snow-facts__bars i:nth-child(2n),.area-season-bars i:nth-child(2n){margin-right:2px}

.country-flag--inline{display:inline-block;vertical-align:-.12em;margin-left:4px;font-size:1em;line-height:1}

/* Keep map names on one line when they fit; long names can still wrap cleanly. */
.sumava-hero .map-pin .pin-label,
.jizerske-page .region-map .map-pin .pin-label,
.krusne-page .krusne-map-pin .pin-label,
.cesky-les-map .cesky-map-marker .pin-label{width:max-content;max-width:min(230px,calc(100vw - 32px));white-space:normal;line-height:1.15;text-wrap:pretty}
.sumava-hero .map-pin .pin-label:has(.country-flag--inline),
.jizerske-page .region-map .map-pin .pin-label:has(.country-flag--inline),
.krusne-page .krusne-map-pin .pin-label:has(.country-flag--inline),
.cesky-les-map .cesky-map-marker .pin-label:has(.country-flag--inline){display:inline-flex;align-items:center;flex-wrap:nowrap;gap:4px;width:max-content;max-width:min(260px,calc(100vw - 32px));white-space:normal}
.country-flag--inline{flex:none;margin:0;white-space:nowrap}
/* Foreign season charts show historical snow cover, not an assumed ski season. */
.foreign-page .season-data-note{display:block;margin-top:7px;font-size:10px;line-height:1.45;color:#667c98}

/* Four consistent accommodation placements for the international hub and region pages. */
.foreign-partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px;margin-bottom:30px}
.foreign-partner-card{box-sizing:border-box;min-width:0;min-height:278px;padding:22px 20px 19px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:13px;border:1px solid #d5e3f6;border-radius:20px;background:linear-gradient(155deg,#f2f7ff 0%,#e8f1ff 100%);color:#253a5a;text-decoration:none;overflow:hidden}
.foreign-partner-card--occupied{background:linear-gradient(155deg,#eaf2ff 0%,#f8fbff 100%);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.foreign-partner-card--occupied:hover{transform:translateY(-3px);border-color:#9bb9ff;box-shadow:0 12px 26px rgba(37,67,113,.12)}
.foreign-partner-label{font-size:10px;line-height:1.4;font-weight:900;letter-spacing:1.25px;text-transform:uppercase;color:#365fff}
.foreign-partner-card strong{display:block;font-size:clamp(17px,1.3vw,21px);line-height:1.2;color:#233653}
.foreign-partner-detail{font-size:13px;line-height:1.55;color:#637a98}
.foreign-partner-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:7px;font-size:12px;font-weight:850;color:#365fff}
.foreign-partner-card--vacant{justify-content:center;border:1px dashed #a9c2e5;background:linear-gradient(155deg,#f7faff 0%,#edf4ff 100%)}
.foreign-partner-card--vacant strong{font-size:18px}
.foreign-partner-card--vacant .foreign-partner-link{padding:10px 13px;border-radius:11px;background:#365fff;color:white;text-decoration:none}
.foreign-partner-card:focus-visible{outline:3px solid #233653;outline-offset:3px}
@media(max-width:1000px){.foreign-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.foreign-partner-card{min-height:230px}}
@media(max-width:560px){.foreign-partner-grid{grid-template-columns:1fr;gap:11px;margin-top:18px;margin-bottom:22px}.foreign-partner-card{min-height:195px;padding:19px;border-radius:17px}.foreign-partner-card--vacant{min-height:180px}}
/* Partner lodging cards use a real property photo with a dark text veil. */
.foreign-partner-card--photo{position:relative;isolation:isolate;justify-content:flex-end;gap:9px;color:#fff;background:#203653}
.foreign-partner-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 55%;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.foreign-partner-card--photo:hover .foreign-partner-image,.foreign-partner-card--photo:focus-visible .foreign-partner-image{transform:scale(1.06)}
.foreign-partner-card--photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,31,57,.04) 0%,rgba(12,31,57,.08) 38%,rgba(12,31,57,.72) 68%,rgba(12,31,57,.94) 100%)}
.foreign-partner-card--photo .foreign-partner-label{color:#dce7ff;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.foreign-partner-card--photo strong{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.foreign-partner-card--photo .foreign-partner-detail,.foreign-partner-card--photo .foreign-partner-link{display:none}

/* On phones, keep the lodging ads compact and consistent with the square partner cards. */
@media(max-width:560px){
  .foreign-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px auto 22px}
  .foreign-partner-card{position:relative;min-height:0;height:auto;aspect-ratio:.92;padding:12px 11px;border-radius:15px;gap:7px;justify-content:flex-end}
  .foreign-partner-label{font-size:8px;line-height:1.25;letter-spacing:.7px}
  .foreign-partner-card strong{font-size:clamp(13px,3.8vw,16px);line-height:1.16;overflow-wrap:anywhere}
  .foreign-partner-detail{display:none}
  .foreign-partner-link{padding-top:2px;font-size:0;line-height:1;align-self:flex-end}
  .foreign-partner-link span{font-size:20px}
  .foreign-partner-card--vacant{justify-content:center;align-items:flex-start;padding:13px;background:#edf3ff}
  .foreign-partner-card--vacant strong{font-size:clamp(13px,3.7vw,15px)}
  .foreign-partner-card--vacant .foreign-partner-link{font-size:10px;align-self:flex-start;line-height:1.2;padding:8px 9px}
  .foreign-partner-card--vacant .foreign-partner-link span{font-size:13px}
  .foreign-page .national-header>.wrap{width:100%;max-width:none;padding-inline:16px}
  .foreign-page .national-header>.wrap>.site-search-trigger{margin-left:auto!important}
  .foreign-page .national-header>.wrap>.site-hamburger{margin-left:8px!important;transform:none!important}
}
@media(prefers-reduced-motion:reduce){.foreign-partner-image{transition:none}}
.foreign-page .alps-hero .alps-back{display:inline-flex;align-items:center;justify-content:center;gap:7px}
@media(max-width:760px){.foreign-page .alps-hero .alps-back{width:42px;height:42px;font-size:0;line-height:1}.foreign-page .alps-hero .alps-back>span:first-child{font-size:25px;line-height:1}.foreign-page .alps-hero .alps-back-label{display:none}}

/* Give flag emoji a consistent backing so white flag edges remain distinct on cards. */
.foreign-category-flag{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:4px 7px;
  border:1px solid #d4e2f5;
  border-radius:8px;
  background:#edf4ff;
  box-shadow:0 1px 2px rgba(36,53,80,.08);
  line-height:1;
}
.foreign-page .country-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:1px 3px;
  border:1px solid #d4e2f5;
  border-radius:4px;
  background:#edf4ff;
  line-height:1.05;
  vertical-align:middle;
}
