/* PlaceMania detail header V2 — intentionally self-contained. */
html { scrollbar-gutter: stable; }
:root {
    --pmdh-navy: #062f50;
    --pmdh-navy-deep: #031f36;
    --pmdh-blue: #1168c9;
    --pmdh-blue-2: #0a58b2;
    --pmdh-text: #10243a;
    --pmdh-muted: #647386;
    --pmdh-line: #dbe5ef;
    --pmdh-success: #16855b;
    --pmdh-danger: #c43e3e;

    /* Central typography scale. The H1 title scale remains intentionally separate. */
    --pmdh-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    --pmdh-font-size-2xs: .6875rem;
    --pmdh-font-size-xs: .75rem;
    --pmdh-font-size-sm: .8125rem;
    --pmdh-font-size-md: .875rem;
    --pmdh-font-size-base: 1rem;
    --pmdh-font-size-xl: clamp(1.375rem, 1.2rem + .55vw, 1.75rem);
    --pmdh-font-size-lead: clamp(1rem, .94rem + .24vw, 1.1875rem);
    --pmdh-font-size-breadcrumb: var(--pmdh-font-size-md);
    --pmdh-font-size-summary-label: var(--pmdh-font-size-xs);
    --pmdh-font-size-summary-value: var(--pmdh-font-size-sm);
    --pmdh-font-weight-regular: 400;
    --pmdh-font-weight-medium: 600;
    --pmdh-font-weight-semibold: 700;
    --pmdh-font-weight-bold: 800;
    --pmdh-font-weight-label: var(--pmdh-font-weight-semibold);
    --pmdh-font-weight-value: var(--pmdh-font-weight-regular);
    --pmdh-line-height-tight: 1.15;
    --pmdh-line-height-snug: 1.3;
    --pmdh-line-height-normal: 1.5;
    --pmdh-line-height-relaxed: 1.65;
    --pmdh-letter-spacing-wide: .06em;
    --pmdh-icon-size-inline: 1.125em;
    --pmdh-icon-size-sm: .875rem;
    --pmdh-icon-size-md: 1.125rem;
    --pmdh-icon-size-lg: 1.25rem;

    --pmdh-pill-height: 38px;
    --pmdh-pill-pad-x: .82rem;
    --pmdh-radius: 10px;
    --pmdh-gutter: clamp(18px, 4.4vw, 144px);
    --pmdh-glass-background: rgba(255,255,255,.10);
    --pmdh-glass-background-hover: rgba(255,255,255,.16);
    --pmdh-glass-border: rgba(255,255,255,.30);
    --pmdh-glass-border-hover: rgba(255,255,255,.56);
    --pmdh-glass-filter: blur(12px) saturate(118%);
    --pmdh-glass-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 10px 28px rgba(1,18,32,.10);
    --pmdh-glass-shadow-hover: inset 0 1px 0 rgba(255,255,255,.20), 0 12px 30px rgba(1,18,32,.14);
    --pmdh-save-active-background: rgba(22,133,91,.66);
    --pmdh-save-active-background-hover: rgba(22,133,91,.76);
    --pmdh-save-active-border: rgba(185,244,220,.88);
    --pmdh-save-active-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 12px 30px rgba(1,48,31,.24);
}
.pmdh,
.pmdh *,
.pmdh *::before,
.pmdh *::after { box-sizing: border-box; }

.pmdh {
    position: relative;
    width: 100vw;
    max-width: none !important;
    margin-inline-start: calc(50% - 50vw);
    margin-inline-end: 0;
    overflow: clip;
    color: var(--pmdh-text);
    background: #fff;
    font-family: var(--pmdh-font-family);
    line-height: var(--pmdh-line-height-normal);
    isolation: isolate;
}
.pmdh button,
.pmdh a { -webkit-tap-highlight-color: transparent; }
.pmdh button { font: inherit; }
.pmdh a { color: inherit; }
.pmdh-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: var(--pmdh-icon-size-inline) !important;
    height: var(--pmdh-icon-size-inline) !important;
    min-width: var(--pmdh-icon-size-inline);
    flex: 0 0 auto;
    overflow: hidden;
    color: currentColor;
    font-size: var(--pmdh-icon-size-inline);
    line-height: 1;
}
/* Hero */
.pmdh__hero {
    position: relative;
    min-height: clamp(610px, 68vh, 860px);
    overflow: hidden;
    background: linear-gradient(135deg, var(--pmdh-navy-deep), var(--pmdh-navy));
}
.pmdh__hero-media,
.pmdh__hero-shade {
    position: absolute;
    inset: 0;
}
.pmdh__hero-media > picture {
    display: block;
    width: 100%;
    height: 100%;
}
.pmdh__hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.pmdh__hero-shade {
    background:
        linear-gradient(90deg, rgba(2, 24, 43, .96) 0%, rgba(2, 26, 47, .86) 25%, rgba(2, 27, 48, .48) 49%, rgba(2, 24, 43, .12) 72%, rgba(2, 24, 43, .16) 100%),
        linear-gradient(0deg, rgba(2, 24, 43, .46), transparent 46%);
}
.pmdh--no-image .pmdh__hero-shade {
    background: radial-gradient(circle at 78% 30%, rgba(25, 112, 195, .55), transparent 38%), linear-gradient(135deg, #031e35, #0d568d);
}
.pmdh__hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .55fr);
    gap: clamp(28px, 5vw, 100px);
    align-items: end;
    width: 100%;
    min-height: inherit;
    padding: clamp(42px, 6vh, 76px) var(--pmdh-gutter) clamp(84px, 10vh, 118px);
}
.pmdh__hero-copy {
    align-self: center;
    min-width: 0;
    max-width: min(100%, 920px);
    color: #fff;
}
.pmdh__breadcrumbs {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .35rem;
    margin-bottom: clamp(18px, 2.5vh, 30px);
    color: rgba(255,255,255,.86);
    font-size: var(--pmdh-font-size-breadcrumb);
    font-weight: var(--pmdh-font-weight-medium);
}
.pmdh .pmdh__breadcrumbs a,
.pmdh .pmdh__breadcrumbs a:visited {
    color: #fff !important;
    text-decoration: none !important;
    background: transparent !important;
    background-image: none !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
}
.pmdh__breadcrumb-list,
.pmdh__breadcrumbs .yoast-breadcrumbs,
.pmdh__breadcrumbs .yoast-breadcrumbs > span {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
}
.pmdh__breadcrumb-list { width: 100%; }
.pmdh__breadcrumb-separator { display: inline; flex: 0 0 auto; }
.pmdh__title {
    margin: 0;
    max-width: 16ch;
    color: #fff;
    font-weight: var(--pmdh-font-weight-bold);
    line-height: .98;
    letter-spacing: -.045em;
    text-wrap: balance;
    overflow-wrap: anywhere;
    hyphens: auto;
    text-shadow: 0 3px 22px rgba(0,0,0,.25);
}
.pmdh__title--normal { font-size: clamp(3.25rem, 2.1rem + 3.6vw, 6.45rem); }
.pmdh__title--long { font-size: clamp(2.85rem, 1.95rem + 2.9vw, 5.35rem); max-width: 18ch; }
.pmdh__title--xlong { font-size: clamp(2.45rem, 1.8rem + 2.15vw, 4.5rem); max-width: 21ch; line-height: 1.02; }
.pmdh__title--xxlong { font-size: clamp(2.1rem, 1.65rem + 1.55vw, 3.75rem); max-width: 24ch; line-height: 1.06; }
.pmdh__intro {
    max-width: 58ch;
    margin: clamp(19px, 3vh, 34px) 0 0;
    color: rgba(255,255,255,.94);
    font-size: var(--pmdh-font-size-lead);
    line-height: var(--pmdh-line-height-relaxed);
    text-wrap: pretty;
}
.pmdh__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: clamp(22px, 3.2vh, 36px);
}
.pmdh__action {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    height: var(--pmdh-pill-height);
    min-height: var(--pmdh-pill-height);
    padding: 0 var(--pmdh-pill-pad-x);
    border: 1px solid var(--pmdh-glass-border);
    border-radius: var(--pmdh-radius);
    background: var(--pmdh-glass-background);
    color: #fff;
    -webkit-backdrop-filter: var(--pmdh-glass-filter);
    backdrop-filter: var(--pmdh-glass-filter);
    cursor: pointer;
    font-size: var(--pmdh-font-size-md);
    font-weight: var(--pmdh-font-weight-semibold);
    line-height: 1;
    box-shadow: var(--pmdh-glass-shadow);
}
.pmdh .pmdh__action { color: #fff !important; text-decoration: none !important; }
.pmdh__action > span:not(.pmdh-icon) { min-width: 0; overflow-wrap: break-word; }
.pmdh__hero-picture { display: block; width: 100%; height: 100%; }

/* Deferred panel/body content stays unpainted until pmdh-panel.css has
   actually switched from print to screen. Closed accordion summary paint is
   owned by the renderer critical bundle, so this does not hide first-paint UI. */
@media (scripting: enabled) {
    html:not(.pmdh-panel-css-ready) .pmdh .pmdh-drawer[popover],
    html:not(.pmdh-panel-css-ready) .pmdh .pmdh-country__body {
        visibility: hidden;
    }
}

@media (max-width: 900px) {
    :root { --pmdh-gutter: clamp(16px, 4vw, 34px); }
    .pmdh__hero { min-height: auto; }
    .pmdh__hero-grid { grid-template-columns: minmax(0, 1fr); align-items: start; padding-top: 42px; padding-bottom: 86px; }
    .pmdh__hero-copy { max-width: 760px; }
    .pmdh__title { max-width: 19ch; }
    .pmdh__hero-shade { background: linear-gradient(90deg, rgba(2,24,43,.94), rgba(2,25,45,.58)), linear-gradient(0deg, rgba(2,24,43,.55), transparent); }
}
@media (max-width: 620px) {
    :root {
        --pmdh-font-size-breadcrumb: var(--pmdh-font-size-xs);
        --pmdh-font-size-lead: var(--pmdh-font-size-base);
        --pmdh-font-size-xl: 1.375rem;
        --pmdh-line-height-relaxed: var(--pmdh-line-height-normal);
    }
    .pmdh__hero-grid { padding-top: 30px; padding-bottom: 72px; }
    .pmdh__title--normal { font-size: clamp(2.45rem, 10.5vw, 3.55rem); }
    .pmdh__title--long { font-size: clamp(2.2rem, 9.3vw, 3.15rem); }
    .pmdh__title--xlong { font-size: clamp(1.95rem, 8.2vw, 2.75rem); }
    .pmdh__title--xxlong { font-size: clamp(1.75rem, 7.3vw, 2.35rem); }
    .pmdh__intro { line-height: var(--pmdh-line-height-normal); }
}
