/* Public place and country pages as visa pages (2026-10-05, jewels & passport): the
   hero card gets the security print, a perforated edge, the destination stamp and a
   machine-readable line; each public visit is a stamp on the page. Decorative parts
   are aria-hidden; every fact stays in text. */
.ws-visa-hero {
    --ws-visa-ink: var(--ws-status-visited);
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.ws-visa-hero[data-status="LIVED"] {
    --ws-visa-ink: var(--ws-status-lived);
}

.ws-visa-hero::before {
    position: absolute;
    top: -12rem;
    right: -12rem;
    z-index: -1;
    width: 34rem;
    aspect-ratio: 1;
    content: "";
    background: var(--ws-visa-ink);
    opacity: 0.14;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-100 -100 200 200'%3E%3Cdefs%3E%3Cellipse id='a' rx='94' ry='31'/%3E%3C/defs%3E%3Cg fill='none' stroke='%23000' stroke-width='.45'%3E%3Cuse href='%23a' transform='rotate(0)'/%3E%3Cuse href='%23a' transform='rotate(12)'/%3E%3Cuse href='%23a' transform='rotate(24)'/%3E%3Cuse href='%23a' transform='rotate(36)'/%3E%3Cuse href='%23a' transform='rotate(48)'/%3E%3Cuse href='%23a' transform='rotate(60)'/%3E%3Cuse href='%23a' transform='rotate(72)'/%3E%3Cuse href='%23a' transform='rotate(84)'/%3E%3Cuse href='%23a' transform='rotate(96)'/%3E%3Cuse href='%23a' transform='rotate(108)'/%3E%3Cuse href='%23a' transform='rotate(120)'/%3E%3Cuse href='%23a' transform='rotate(132)'/%3E%3Cuse href='%23a' transform='rotate(144)'/%3E%3Cuse href='%23a' transform='rotate(156)'/%3E%3Cuse href='%23a' transform='rotate(168)'/%3E%3Ccircle r='97'/%3E%3Ccircle r='62'/%3E%3Ccircle r='31'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-100 -100 200 200'%3E%3Cdefs%3E%3Cellipse id='a' rx='94' ry='31'/%3E%3C/defs%3E%3Cg fill='none' stroke='%23000' stroke-width='.45'%3E%3Cuse href='%23a' transform='rotate(0)'/%3E%3Cuse href='%23a' transform='rotate(12)'/%3E%3Cuse href='%23a' transform='rotate(24)'/%3E%3Cuse href='%23a' transform='rotate(36)'/%3E%3Cuse href='%23a' transform='rotate(48)'/%3E%3Cuse href='%23a' transform='rotate(60)'/%3E%3Cuse href='%23a' transform='rotate(72)'/%3E%3Cuse href='%23a' transform='rotate(84)'/%3E%3Cuse href='%23a' transform='rotate(96)'/%3E%3Cuse href='%23a' transform='rotate(108)'/%3E%3Cuse href='%23a' transform='rotate(120)'/%3E%3Cuse href='%23a' transform='rotate(132)'/%3E%3Cuse href='%23a' transform='rotate(144)'/%3E%3Cuse href='%23a' transform='rotate(156)'/%3E%3Cuse href='%23a' transform='rotate(168)'/%3E%3Ccircle r='97'/%3E%3Ccircle r='62'/%3E%3Ccircle r='31'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

.ws-visa-hero::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0.4rem;
    width: 0.75rem;
    content: "";
    background: radial-gradient(circle, var(--ws-paper) 0 0.2rem, transparent 0.22rem) center top / 0.75rem 1rem repeat-y;
}

.ws-visa-hero__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1.75rem;
    padding-bottom: 0.8rem;
    color: var(--ws-muted);
    font: 500 0.68rem/1 var(--ws-font-mono);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    border-bottom: 1px dashed var(--ws-line-strong);
}

.ws-visa-hero__title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}

.ws-visa-hero__title > div {
    min-width: 0;
}

.ws-visa-hero__title .ws-stamp {
    --ws-stamp-ink: var(--ws-visa-ink);
    flex: none;
    width: clamp(6rem, 14vw, 9.5rem);
}

.ws-visa-hero .ws-country-badge {
    margin-top: 1rem;
}

.ws-visa-hero__mrz {
    display: grid;
    overflow: hidden;
    margin: clamp(2rem, 5vw, 3rem) 0 0;
    padding: 0.7rem 0.85rem;
    color: color-mix(in srgb, var(--ws-ink) 70%, transparent);
    font: 500 clamp(0.62rem, 1.2vw, 0.82rem)/1.35 var(--ws-font-mono);
    letter-spacing: 0.16em;
    white-space: nowrap;
    background: color-mix(in srgb, var(--ws-paper) 75%, transparent);
    border-radius: 0.65rem;
}

/* Each public visit is a stamp: the ink and dashes follow its kind. */
.ws-place-visits .ws-stamp-sheet {
    display: flex;
    flex-flow: row wrap;
    gap: 1.25rem 2rem;
}

.ws-stamp-sheet .ws-place-visits__item {
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    width: 7.5rem;
    padding: 0;
    text-align: center;
    background: none;
    border: 0;
}

.ws-stamp-sheet .ws-stamp {
    width: 6.75rem;
}

.ws-stamp-sheet .ws-place-visits__item:nth-child(even) .ws-stamp {
    transform: rotate(7deg);
}

.ws-stamp-sheet .ws-place-visits__kind {
    font-weight: 600;
}

.ws-stamp-sheet .ws-place-visits__date {
    color: var(--ws-muted);
    font: 500 0.78rem/1.3 var(--ws-font-mono);
}

@media (max-width: 39.99rem) {
    .ws-visa-hero__title {
        flex-direction: column-reverse;
    }

    .ws-place-visits .ws-stamp-sheet {
        gap: 1rem 1.25rem;
    }

    .ws-stamp-sheet .ws-place-visits__item {
        width: 6.25rem;
    }

    .ws-stamp-sheet .ws-stamp {
        width: 5.5rem;
    }
}
