/* Keep decorative frames clear of the content and preserve keyboard focus. */
:is(.step,.steps>article,.process-steps>li,.process ol>li,.service-card,.region-card,.journey-card,.celebration-card,.fit-card,.benefits>article,.trip-pieces>article,.pathway,.resource-card,.checklist-card,.nd-highlight-block,article[tabindex="0"],.trip-list>li,.detail-grid>article,.inspiration-card,.sailing-card,.journey-photo,.destination-photo,.destination-card,.rail-journey,.hub-destination,.cb-island-card,.cb-journey-card,.ti-card){outline-offset:4px!important}
:is(.step,.steps>article,.process-steps>li,.process ol>li,.service-card,.region-card,.journey-card,.celebration-card,.fit-card,.benefits>article,.trip-pieces>article,.pathway,.resource-card,.checklist-card,.nd-highlight-block,article[tabindex="0"],.trip-list>li,.detail-grid>article,.inspiration-card,.sailing-card,.journey-photo,.destination-photo,.destination-card,.rail-journey,.hub-destination,.cb-island-card,.cb-journey-card,.ti-card):is(:hover,:focus,:focus-within,:active){box-shadow:none!important;outline:2px solid var(--nd-destination-highlight,var(--nd-detail-accent,#9b6c36))!important;outline-offset:4px!important}
:is(.step,.steps>article,.process-steps>li,.process ol>li,.service-card,.region-card,.journey-card,.celebration-card,.fit-card,.benefits>article,.trip-pieces>article,.pathway,.resource-card,.checklist-card,.nd-highlight-block,article[tabindex="0"],.trip-list>li,.detail-grid>article,.inspiration-card,.sailing-card,.journey-photo,.destination-photo,.destination-card,.rail-journey,.hub-destination,.cb-island-card,.cb-journey-card,.ti-card):focus-visible{outline-color:var(--nd-destination-accent,var(--nd-detail-accent,#9b6c36))!important;outline-width:3px!important}
/* Simple text blocks get an inset on every side; image cards keep full-bleed art. */
:is(.step,.steps>article,.process-steps>li,.process ol>li,.service-card,.celebration-card,.fit-card,.benefits>article,.trip-pieces>article,.pathway,.resource-card,.checklist-card,.nd-highlight-block,.trip-list>li,.detail-grid>article,.inspiration-card):not(:has(img,picture,figure,video)){padding:clamp(22px,2.4vw,32px)}
.journey-card .card-body,.rail-journey .rail-card-body{padding:clamp(24px,2.4vw,32px)}
/* Reverse destination panels give the main directory a deliberate, readable frame. */
.hub-destination{background:var(--nd-destination-deep,#14313c);color:#fffdf8}
.hub-destination .hub-card-copy{padding:clamp(24px,2.4vw,32px);background:var(--nd-destination-deep,#14313c);color:#fffdf8;gap:0;min-width:0}
.hub-destination .hub-card-copy h3,.hub-destination .hub-card-copy h3 a,.hub-destination .hub-card-copy .text-link{color:#fffdf8}
.hub-destination .hub-card-copy .hub-card-tagline{color:var(--nd-destination-highlight,#f2c886)}
.hub-destination .hub-card-copy p:not(.hub-card-tagline){color:#e5edea}
.hub-destination .hub-card-copy a{text-decoration-color:var(--nd-destination-highlight,#f2c886);text-underline-offset:5px}
.hub-destination .hub-card-copy .text-link{padding-top:16px;align-self:flex-start;white-space:normal}
.hub-destination .hub-card-copy a:focus-visible{outline:2px solid #fffdf8;outline-offset:5px}
.hub-conversation{padding:clamp(26px,3vw,42px)}
@media(max-width:700px){.hub-destination .hub-card-copy{padding:24px}.cb-island-card{padding:24px 22px}.quiz-options label{padding:22px}.choice>span{padding:20px 18px!important}.choice input:checked+span{padding:19px 17px!important}}

/* Text-only layouts discovered in the full page audit. */
.tour-company-grid>article,.curated-list>article,.ports-shell>article[tabindex="0"],.culture-grid>article[tabindex="0"]{padding:clamp(24px,2.4vw,32px)}
