/* SPI's task-first layer uses the existing coastal palette and native layout. */
.spi-easy-shell { --spi-ink: #073b4c; --spi-sea: #087b83; --spi-paper: #fffdf7; }
.spi-easy-shell .liq-top-bar { display: none !important; }
.spi-easy-shell .spi-trip-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.spi-easy-shell .spi-trip-fields label:first-child { grid-column: 1 / -1; }
.spi-easy-shell .spi-optional-tool > .spi-trip-fields { padding: 0 1rem 1rem; }
.spi-easy-shell .luperiq-ts-layout--header { padding-bottom: .8rem !important; min-height: 0 !important; }
.spi-easy-shell .luperiq-ts-layout--header > .luperiq-ts-layout-row:has(.luperiq-ts-block--rotating-text),
.spi-easy-shell .luperiq-ts-layout--header > .luperiq-ts-layout-row:has(.luperiq-ts-block--mega-nav) { display: none !important; }
.spi-easy-shell .luperiq-ts-layout--header > .luperiq-ts-layout-row:first-child { padding-block: .65rem !important; }
.spi-easy-shell .luperiq-ts-layout--header > .luperiq-ts-layout-row:first-child > .luperiq-ts-layout-col:last-child { display: none !important; }
.spi-easy-nav { display: flex; justify-content: center; gap: .35rem; width: calc(100% - 1rem); box-sizing: border-box; max-width: 62rem; margin: 0 auto; padding: .3rem .75rem; }
.spi-easy-nav a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: .65rem 1.3rem; border-radius: 999px; color: #fff !important; text-decoration: none; font-weight: 750; font-size: 1rem; }
.spi-easy-nav a:hover,.spi-easy-nav a[aria-current] { color: #073b4c !important; background: #d9f6ef; }
.spi-easy-nav a[href="/trip-ideas/my-trip/"] { color: #073b4c !important; background: #fde68a; }
.spi-easy-shell :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #dc8b00; outline-offset: 4px; }
.spi-easy-shell .spi-topic-hero { padding: clamp(1.4rem,3vw,2.5rem); margin-block: .5rem 1rem; border-radius: 1.25rem; min-height: 0; }
.spi-easy-shell :is(.spi-topic-hero,.spi-trip-hero) h1 { max-width: 28ch; font-size: clamp(2rem,4.2vw,3.6rem); line-height: 1.08; }
.spi-easy-shell .spi-topic-hero .spi-deck { font-size: 1.08rem; margin-block: .65rem 0; }
.spi-easy-shell .spi-trip-day { min-height: 0; }
.spi-easy-shell .spi-trip-empty { padding: .7rem; }
.spi-easy-shell .spi-guide-actions { margin: 1rem auto; justify-content: flex-start; }
.spi-easy-shell .spi-trip-hero { padding: clamp(1.5rem,4vw,3rem); margin-bottom: 2rem; }
.spi-easy-shell .spi-trip-hero aside { display: none; }
.spi-easy-shell .spi-trip-hero { grid-template-columns: 1fr; }
.spi-related-disclosure,.spi-page-contents,.spi-optional-tool,.spi-reservation-disclosure { border: 1px solid #c5dddd; border-radius: .85rem; background: #fff; margin: 1rem 0; }
:is(.spi-related-disclosure,.spi-page-contents,.spi-optional-tool,.spi-reservation-disclosure) > summary { min-height: 44px; padding: .8rem 1rem; color: #073b4c; cursor: pointer; font-weight: 750; }
.spi-related-disclosure .spi-context-nav { margin: 0; box-shadow: none; border: 0; }
.spi-page-contents { max-width: 54rem; margin-inline: auto; }
.spi-page-contents nav { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; padding: 0 1rem 1rem; }
.spi-page-contents a { padding: .5rem 0; color: #087b83; }
.spi-article h2 { margin: 2rem 0 .7rem; color: #073b4c; font: 750 1.5rem/1.25 Georgia,serif; scroll-margin-top: 1rem; }
.spi-article p,.spi-article li { line-height: 1.75; }
.spi-planner-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.spi-planner-actions :is(a,button) { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: .85rem 1.1rem; border: 1px solid #087b83; border-radius: .8rem; background: #e9f8f4; color: #073b4c; font-family: inherit; font-weight: 750; font-size: 1rem; line-height: 1.25; text-decoration: none; cursor: pointer; }
.spi-easy-shell .spi-planner-actions a,.spi-easy-shell .spi-planner-actions a:visited { color: #fff; background: #087b83; text-decoration: none; }
.spi-reservation-disclosure .spi-manual-plan { margin: 0; border: 0; box-shadow: none; }
.spi-reservation-disclosure:not([open]) { display: none; }
.spi-trip-day li { grid-template-columns: minmax(0,1fr) auto auto auto !important; }
.spi-item-editor { grid-column: 1 / -1; display: grid; gap: .75rem; padding: 1rem; border: 1px solid #c5dddd; border-radius: .75rem; background: #f3faf7; }
.spi-item-editor[hidden] { display: none; }
.spi-item-editor label { display: grid; gap: .4rem; font-weight: 700; }
.spi-item-editor :is(input,textarea) { width: 100%; min-height: 44px; padding: .7rem; border: 1px solid #99b9bd; border-radius: .5rem; background: #fff; font: inherit; box-sizing: border-box; }
.spi-trip-day [data-edit-item] { min-width: 44px; min-height: 44px; color: #075d64; border: 1px solid #b0cfd0; background: #fff; border-radius: .5rem; cursor: pointer; }
.spi-item-editor button { width: auto !important; min-height: 44px; padding: .6rem 1rem !important; color: #073b4c !important; background: #d9f6ef !important; }
.spi-optional-tool :is(.spi-packing,.spi-trip-notes) { margin: 0; border: 0; box-shadow: none; padding: 1rem; }
.spi-easy-shell .spi-trip-savebar { position: sticky; bottom: .5rem; z-index: 25; box-shadow: 0 4px 24px #073b4c22; }
.spi-easy-shell .spi-library-search { position: relative; top: auto; margin-top: 1rem; }
.spi-topic-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin: 1.2rem 0; }
.spi-easy-shell .spi-topic-shortcuts a { display: grid; gap: .45rem; padding: 1.2rem; border: 1px solid #bfdcd5; border-radius: .85rem; color: #073b4c; background: #fff; text-decoration: none; }
.spi-topic-shortcuts a:hover { background: #e9f8f4; border-color: #087b83; }
.spi-topic-shortcuts strong { font-size: 1.1rem; }
.spi-topic-shortcuts span { color: #476a70; font-size: .9rem; line-height: 1.4; }
.spi-home-search { max-width: 42rem; margin: 1rem 0; padding: 1rem; color: #073b4c; background: #fffdf7; border-radius: 1rem; }
.spi-home-search label { display: block; margin-bottom: .5rem; font-weight: 750; }
.spi-home-search > div { display: flex; gap: .5rem; }
.spi-home-search input { flex: 1; min-width: 0; padding: .8rem; border: 1px solid #9fbebd; border-radius: .5rem; font: inherit; }
.spi-home-search button { min-height: 44px; padding: .8rem; border: 0; border-radius: .5rem; color: #fff; background: #087b83; font: inherit; cursor: pointer; }
.spi-easy-shell .spi-library-groups { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
.spi-easy-shell .spi-library-groups details[open] { grid-column: 1 / -1; }
.spi-easy-shell .spi-library-groups summary::after { content: '+'; font-size: 1.2rem; }
.spi-easy-shell .spi-library-groups details[open] > summary::after { content: '−'; }
.spi-easy-shell .spi-destination-footer { padding-block: 2rem; }
.spi-easy-shell .spi-destination-footer__lead { display: none; }
.spi-easy-shell .luperiq-theme-footer:has(.spi-destination-footer) .luperiq-ts-layout--footer { display: none; }
.spi-footer-help { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #ffffff30; font-size: .9rem; }
.spi-footer-help a { color: #c6eee7; padding: .5rem 0; }
.spi-footer-help span { flex: 1 1 15rem; padding: .5rem 0; }
@media(max-width: 650px) {
  .spi-topic-shortcuts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .spi-home-search > div { flex-wrap: wrap; }
  .spi-home-search button { flex: 1 1 100%; }
  .spi-easy-nav { gap: 0; padding-inline: .25rem; }
  .spi-easy-nav a { flex: 1; font-size: .84rem; padding: .65rem .25rem; white-space: nowrap; }
  .spi-easy-shell .spi-topic-hero h1 { font-size: 2rem; }
  .spi-easy-shell .spi-library-groups { grid-template-columns: 1fr; }
  .spi-planner-actions > * { flex: 1 1 100%; }
  .spi-trip-day li { grid-template-columns: minmax(0,1fr) auto auto !important; }
  .spi-trip-day .spi-trip-item { grid-column: 1 / -1; }
  .spi-easy-shell .spi-destination-footer__nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
  .spi-easy-shell .spi-destination-footer__nav a { min-height: 44px; padding-block: .6rem; }
}
@media(prefers-reduced-motion: reduce) { .spi-easy-shell * { scroll-behavior: auto !important; transition: none !important; } }
