.townary-island-single .regional-spot-single__section--island-overview .townary-island-single__overview {
    width: 100%;
    max-width: none;
    color: var(--townary-navy);
    font-size: 1rem;
    line-height: 2.05;
}

.townary-island-single .regional-spot-single__section--island-overview .townary-island-single__overview > :first-child {
    margin-top: 0;
}

.townary-island-single .regional-spot-single__section--island-overview .townary-island-single__overview > :last-child {
    margin-bottom: 0;
}

.townary-island-single .regional-spot-single__section--island-corekeys .municipality-regional-spots__list {
    margin-top: 0;
}

.townary-island-single .townary-island-single__town-list {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.townary-island-single .townary-island-single__town-list li {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding-left: 0;
}

.townary-island-single .townary-island-single__town-list li::marker {
    content: '';
}

.townary-island-single .townary-island-single__town-list li::before {
    content: none;
    display: none;
}

.townary-island-single__related {
    padding-block: 0;
    border-top: 1px solid var(--townary-line);
}

.townary-island-single__related .municipality-regional-spots__header {
    margin-top: 0;
}

.townary-island-single__gourmet .townary-regional-trivia__panel {
    margin-top: 1rem;
}

.townary-island-single__gourmet .townary-regional-trivia__item:first-child {
    margin-top: 0;
}

/* Island railway: keep the municipality accordion behavior but make the
 * nested operator/line/station content fill the Island Single content column. */
.townary-island-single .townary-island-single__railway .municipality-railway-stations__operators,
.townary-island-single .townary-island-single__railway .municipality-railway-stations__operator,
.townary-island-single .townary-island-single__railway .municipality-railway-stations__lines,
.townary-island-single .townary-island-single__railway .municipality-railway-stations__line {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
}

.townary-island-single .townary-island-single__railway .municipality-railway-stations__lines {
    display: block;
}

.townary-island-single .townary-island-single__railway .municipality-railway-stations__line {
    display: block;
}

.townary-island-single .townary-island-single__railway .municipality-railway-stations__summary {
    width: 100%;
    box-sizing: border-box;
}

.townary-island-single .townary-island-single__railway .municipality-railway-stations__station-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.townary-island-single .townary-island-single__railway .municipality-railway-stations__station-list > li {
    min-width: 0;
    margin: 0;
    padding: .8rem 1rem;
    list-style: none;
    box-sizing: border-box;
}

.townary-island-single .townary-island-single__railway .municipality-railway-stations__station-list > li::before,
.townary-island-single .townary-island-single__railway .municipality-railway-stations__station-list > li::marker {
    content: none;
    display: none;
}

.townary-island-single .townary-island-single__castle-list {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.townary-island-single .townary-island-single__castle-list > li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    padding-left: 0;
}

.townary-island-single .townary-island-single__castle-list > li::before,
.townary-island-single .townary-island-single__castle-list > li::marker {
    content: none;
    display: none;
}

/* Island Single Hero: Portrait asset and portrait display frame. */
.townary-island-single .location-heading__media {
    width: min(100%, 450px);
    max-width: 450px;
}

.townary-island-single .location-heading__media picture,
.townary-island-single .location-heading__media img {
    display: block;
    width: 100%;
}

.townary-island-single .location-heading__media img {
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

/* Basic information is moved into the free space created by the Portrait Hero. */
.townary-island-single .location-heading__facts {
    margin-top: 2rem;
}

.townary-island-single .location-heading__facts-header {
    margin-bottom: .8rem;
}

.townary-island-single .location-heading__facts-eyebrow {
    margin: 0 0 .35rem;
    color: var(--townary-red);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .16em;
}

.townary-island-single .location-heading__facts-header h2 {
    margin: 0;
    color: var(--townary-navy);
    font-size: 1.65rem;
    line-height: 1.3;
}

.townary-island-single .location-heading__facts-list {
    margin: 0;
    padding: 0;
}

.townary-island-single .location-heading__fact {
    display: grid;
    grid-template-columns: minmax(6rem, 8rem) 1fr;
    gap: 1rem;
    padding: .7rem 0;
    border-top: 1px solid var(--townary-line);
}

.townary-island-single .location-heading__fact:last-child {
    border-bottom: 1px solid var(--townary-line);
}

.townary-island-single .location-heading__fact dt,
.townary-island-single .location-heading__fact dd {
    margin: 0;
}

.townary-island-single .location-heading__fact dt {
    color: var(--townary-muted);
    font-weight: 600;
}

.townary-island-single .location-heading__fact dd {
    color: var(--townary-navy);
}

.townary-island-single .regional-spot-single__section--details {
    display: none;
}

@media (max-width: 767px) {
    .townary-island-single .location-heading__media {
        width: 100%;
        max-width: none;
    }

    .townary-island-single .location-heading__facts {
        margin-top: 1.5rem;
    }

    .townary-island-single .location-heading__fact {
        grid-template-columns: 6.5rem 1fr;
        gap: .75rem;
    }
}


/*
 * Island / Mountain reciprocal relation alignment
 *
 * Single共通Headingと一覧の見える上端を揃える。
 */
.townary-island-single__relation-section > .municipality-regional-spots__list {
    align-self: start;
    margin-top: 0;
    padding-top: 1.6rem;
}

@media (max-width: 760px) {
    .townary-island-single__relation-section > .municipality-regional-spots__list {
        padding-top: 0;
    }
}

