/* DROP TRANSFERS theme — layout and sections. Mobile first. */
:root { --dtt-shadow: 0 12px 34px rgba(8, 43, 69, .12); --dtt-radius: 14px; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { height: auto; max-width: 100%; }
a { text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--wp--preset--color--turquoise); outline-offset: 2px; }
.dtt-main { min-height: 50vh; }

/* Header */
.dtt-header-part { background: #fff; border-bottom: 1px solid var(--wp--preset--color--line); position: sticky; top: 0; z-index: 50; }
.admin-bar .dtt-header-part { top: 46px; }
@media (min-width: 783px) { .admin-bar .dtt-header-part { top: 32px; } }
.dtt-header { padding: .6rem var(--wp--style--root--padding-right, 1rem) .6rem var(--wp--style--root--padding-left, 1rem); }
.dtt-header__bar { gap: 1rem; }
.dtt-logo img, .dtt-header .wp-block-site-logo img { max-height: 56px; width: auto; }
.dtt-header__right { gap: 1rem; }
.dtt-nav { font-size: .95rem; font-weight: 500; }
.dtt-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--navy); padding: .4rem .2rem; }
.dtt-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--ocean); box-shadow: inset 0 -2px 0 var(--wp--preset--color--ocean); }
.dtt-header__cta .wp-block-button__link { border-radius: 8px; font-size: .95rem; padding: .6rem 1.1rem; white-space: nowrap; }
@media (max-width: 599px) { .dtt-header__cta { display: none !important; } .dtt-logo img, .dtt-header .wp-block-site-logo img { max-height: 44px; width: auto !important; } }
.wp-block-navigation__responsive-container.is-menu-open { background: #fff; padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding: .5rem 0; }

/* Sections */
.dtt-section { padding: var(--wp--preset--spacing--50) var(--wp--style--root--padding-right, 1rem); }
.dtt-section > * { margin-left: auto; margin-right: auto; }
.dtt-section h2 { margin-top: 0; }
.dtt-lead { color: var(--wp--preset--color--muted); font-size: 1.05rem; margin-top: .4rem; }
.has-white-color .dtt-lead { color: rgba(255, 255, 255, .85); }
.dtt-head { margin-bottom: 1.5rem; }
.dtt-eyebrow { color: var(--wp--preset--color--ocean); font-size: .78rem; font-weight: 700; letter-spacing: .14em; margin-bottom: .3rem; text-transform: uppercase; }
.dtt-more { font-weight: 600; margin-top: 1.2rem; }
.dtt-more a { text-decoration: none; }
.dtt-split { gap: var(--wp--preset--spacing--50); }

/* Hero */
.dtt-hero { overflow: hidden; padding: var(--wp--preset--spacing--50) var(--wp--style--root--padding-right, 1rem) var(--wp--preset--spacing--50); position: relative; }
.dtt-hero::after { background: radial-gradient(ellipse at 80% 110%, rgba(23, 184, 189, .35), transparent 60%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.dtt-hero__inner { position: relative; z-index: 1; }
.dtt-hero__cols { align-items: center !important; gap: 2rem; margin-bottom: 1.5rem; }
.dtt-hero__title { color: #fff; font-size: var(--wp--preset--font-size--hero); line-height: 1.04; margin: 0 0 1rem; }
.dtt-hero__lead { font-size: 1.15rem; max-width: 34ch; opacity: .92; }
.dtt-hero__points { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; list-style: none; margin: 1.4rem 0 0; padding: 0; }
.dtt-hero__points li { align-items: center; display: inline-flex; font-weight: 500; gap: .45rem; }
.dtt-hero__points .dtr-icon { color: var(--wp--preset--color--turquoise); }
.dtt-hero__art { margin: 0; }
.dtt-hero__art img { display: block; filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .18)); margin-left: auto; width: min(100%, 560px); }
@media (max-width: 781px) { .dtt-hero__art { display: none; } }
.dtt-hero__search { position: relative; z-index: 2; }

/* Features */
.dtt-features { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 600px) { .dtt-features { grid-template-columns: 1fr 1fr; } }
.dtt-feature { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--dtt-radius); padding: 1.1rem 1.2rem; }
.dtt-feature h3 { font-size: 1.1rem; margin: .4rem 0 .3rem; }
.dtt-feature p { color: var(--wp--preset--color--muted); font-size: .95rem; margin: 0; }
.dtt-feature__icon { align-items: center; background: rgba(23, 184, 189, .12); border-radius: 12px; color: var(--wp--preset--color--ocean); display: inline-flex !important; height: 44px; justify-content: center; margin: 0 !important; width: 44px; }
.dtt-feature__icon .dtr-icon { height: 24px; width: 24px; }

/* Steps */
.dtt-steps ol, ol.dtt-steps { counter-reset: s; display: grid; gap: 1rem; list-style: none; padding: 0; }
@media (min-width: 782px) { .dtt-steps ol, ol.dtt-steps { grid-template-columns: repeat(4, 1fr); } }
.dtt-steps li { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--dtt-radius); counter-increment: s; padding: 1rem 1.1rem 1rem 3.4rem; position: relative; }
.dtt-steps li::before { align-items: center; background: var(--wp--preset--color--navy); border-radius: 50%; color: #fff; content: counter(s); display: flex; font-weight: 700; height: 1.9rem; justify-content: center; left: 1rem; position: absolute; top: 1rem; width: 1.9rem; }

/* Charter band */
.dtt-charter { border-top: 1px solid var(--wp--preset--color--line); }

/* FAQ */
.wp-block-details { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 10px; margin: 0 0 .6rem; padding: .85rem 1.1rem; }
.wp-block-details summary { color: var(--wp--preset--color--navy); cursor: pointer; font-weight: 600; }
.wp-block-details[open] summary { margin-bottom: .4rem; }
.wp-block-details p { color: var(--wp--preset--color--muted); margin: .3rem 0 0; }

/* CTA */
.dtt-cta { text-align: center; }
.dtt-cta h2 { color: #fff; }
.dtt-cta__inner p { margin-left: auto; margin-right: auto; max-width: 52ch; opacity: .9; }
.dtt-cta .wp-block-button__link { border-radius: 8px; }
.dtt-cta .is-style-outline .wp-block-button__link { border-color: #fff; color: #fff; }

/* Buttons (block) */
.wp-block-button__link { border-radius: 8px; font-weight: 600; }
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 1.5px; }

/* Page title bar */
.dtt-titlebar { border-bottom: 1px solid var(--wp--preset--color--line); }
.dtt-titlebar .wp-block-post-title { margin: 0; }
.dtt-booksearch { margin-bottom: 2rem; }

/* Staff-only notes in template pages */
body:not(.logged-in) .dtr-template-note { display: none !important; }
.dtr-template-note { background: #FFF6DB; border: 1px dashed #C99A06; border-radius: 8px; color: #6b5200; font-size: .9rem; padding: .7rem 1rem; }

/* Footer */
.dtt-footer { padding-left: var(--wp--style--root--padding-left, 1rem); padding-right: var(--wp--style--root--padding-right, 1rem); }
.dtt-footer a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.dtt-footer a:hover { color: #fff; text-decoration: underline; }
.dtt-footer__about { color: rgba(255, 255, 255, .78); font-size: .95rem; max-width: 36ch; }
.dtt-footer__h { font-size: 1rem; letter-spacing: .04em; margin-bottom: .6rem; }
.dtt-footer__links { font-size: .95rem; list-style: none; padding: 0; }
.dtt-footer__links li { margin: .35rem 0; }
.dtt-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .15); color: rgba(255, 255, 255, .7); margin-top: 2rem; padding-top: 1rem; }
.dtt-footer .dtr-support a, .dtt-footer .dtr-support { color: #fff; }

/* Tables on content pages */
.dtt-main .wp-block-table table, .dtt-main table { border-collapse: collapse; width: 100%; }

/* Print: tickets and manifests only show the essentials */
@media print {
	.dtt-header-part, .dtt-footer-part, .dtt-titlebar, .dtr-actions, .dtr-no-print { display: none !important; }
	body { background: #fff; }
}

/* Dark bands: keep text light */
.dtt-hero p, .dtt-hero li, .dtt-cta p { color: inherit; }
.dtt-hero .dtt-hero__lead { color: rgba(255, 255, 255, .9); }
.dtt-footer h1, .dtt-footer h2, .dtt-footer h3, .dtt-cta h2, .dtt-hero h1 { color: #fff; }
.dtt-header__cta .wp-block-button__link, .dtt-header__cta .wp-block-button__link:hover { color: #fff; }
.dtt-header__cta .wp-block-button__link:hover { background: var(--wp--preset--color--ocean); }
.dtt-header .wp-block-site-logo { flex: none; }
.dtt-header__right { min-width: 0; }
@media (max-width: 599px) { .dtt-header .wp-block-site-logo img { max-width: 120px; } .dtt-header__right { gap: .5rem; } }
