/* Individual travel detail page only; reuse existing brand tokens and line icons. */
.adeka-individual-page > .wp-block-group { margin-block: 0; }
.adeka-individual-page .individual-page-hero { padding-block: 48px 64px; }
.adeka-individual-page .breadcrumb { margin-bottom: 32px; }
.adeka-individual-page .individual-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: center; margin-block: 0; }
.adeka-individual-page .individual-page-hero-grid > *,
.adeka-individual-page .individual-page-actions > *,
.adeka-individual-page .individual-page-priorities > *,
.adeka-individual-page .individual-page-service-grid > *,
.adeka-individual-page .individual-page-service > *,
.adeka-individual-page .individual-page-closing-inner > * { margin-block: 0; min-width: 0; }
.adeka-individual-page h1 { font-size: clamp(40px, 4.2vw, 62px); margin-bottom: 24px; }
.adeka-individual-page .lead { font-size: 19px; margin-block: 0 28px; }
.adeka-individual-page .individual-page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px; }
.adeka-individual-page .text-link,
.adeka-individual-page .wp-block-button__link { max-width: 100%; gap: 14px; }
.adeka-individual-page .text-link span,
.adeka-individual-page .wp-block-button__link span { flex-shrink: 0; }
.adeka-individual-page .individual-page-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 85% center; border-radius: 16px; }
.adeka-individual-page .individual-page-planning { padding-block: 64px; border-top: 1px solid var(--line); }
.adeka-individual-page .individual-page-introduction { max-width: 860px; margin-bottom: 34px; }
.adeka-individual-page .individual-page-introduction h2 { margin-bottom: 22px; }
.adeka-individual-page .individual-page-introduction p { color: var(--muted); }
.adeka-individual-page .individual-page-priorities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.adeka-individual-page .individual-page-priority { border-top: 1px solid var(--line); padding-top: 20px; }
.adeka-individual-page .individual-page-priority h3 { font-size: 21px; margin-bottom: 12px; }
.adeka-individual-page .individual-page-priority p { margin-top: 0; font-size: 16px; color: var(--muted); }
.adeka-individual-page .individual-page-services { padding-block: 64px 72px; background: var(--sand); scroll-margin-top: 16px; }
.adeka-individual-page .individual-page-services h2 { margin-bottom: 32px; }
.adeka-individual-page .individual-page-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 48px; }
.adeka-individual-page .individual-page-service { display: grid; grid-row: span 4; grid-template-rows: subgrid; align-content: start; border-top: 1px solid var(--line); padding-block: 24px 18px; }
.adeka-individual-page .individual-page-service::before { content: ""; display: block; width: 28px; height: 28px; background: var(--green); mask: var(--individual-icon) center / contain no-repeat; -webkit-mask: var(--individual-icon) center / contain no-repeat; }
.adeka-individual-page .individual-icon-flight { --individual-icon: url('icons/flight.svg'); }
.adeka-individual-page .individual-icon-hotel { --individual-icon: url('icons/hotel.svg'); }
.adeka-individual-page .individual-icon-transfer { --individual-icon: url('icons/transfer.svg'); }
.adeka-individual-page .individual-icon-route { --individual-icon: url('icons/route.svg'); }
.adeka-individual-page .individual-page-service h3 { font-size: 25px; }
.adeka-individual-page .individual-page-service h3 a { color: var(--ink); text-decoration: none; display: inline-block; padding-block: 4px; }
.adeka-individual-page .individual-page-service h3 a:hover { color: var(--green); text-decoration: underline; }
.adeka-individual-page .individual-page-service > p { color: var(--muted); }
.adeka-individual-page .individual-page-service .text-link { min-height: 44px; }
.adeka-individual-page .individual-page-closing { padding-block: 64px; background: var(--mist); }
.adeka-individual-page .individual-page-closing-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px 56px; }
.adeka-individual-page .individual-page-closing-copy h2 { font-size: clamp(32px, 3.2vw, 44px); margin-bottom: 20px; }
.adeka-individual-page .individual-page-closing-copy p { color: var(--muted); }
@supports not (grid-template-rows: subgrid) {
    .adeka-individual-page .individual-page-service { display: flex; flex-direction: column; gap: 14px; }
    .adeka-individual-page .individual-page-service > p:last-child { margin-top: auto; }
}
@media (max-width: 960px) {
    .adeka-individual-page .individual-page-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .adeka-individual-page .individual-page-photo { width: 100%; max-width: 640px; }
    .adeka-individual-page .individual-page-photo img { aspect-ratio: 16 / 9; }
    .adeka-individual-page .individual-page-priorities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .adeka-individual-page .individual-page-service-grid { column-gap: 32px; }
    .adeka-individual-page .individual-page-closing-inner { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 680px) {
    .adeka-individual-page .individual-page-hero { padding-block: 32px 44px; }
    .adeka-individual-page .breadcrumb { margin-bottom: 26px; }
    .adeka-individual-page h1 { font-size: 40px; }
    .adeka-individual-page .lead { font-size: 17px; }
    .adeka-individual-page .individual-page-planning,
    .adeka-individual-page .individual-page-services,
    .adeka-individual-page .individual-page-closing { padding-block: 44px; }
    .adeka-individual-page .individual-page-priorities,
    .adeka-individual-page .individual-page-service-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .adeka-individual-page .individual-page-service { grid-row: auto; grid-template-rows: auto; gap: 12px; padding-bottom: 0; }
}
