/**
 * Dock & Loon theme styles: page layout, header, footer, home hero and the
 * marketing sections (home and For owners).
 *
 * The look of the data blocks (cards, booking card, checkout, dashboard...)
 * lives in the plugin: dockandloon-core/assets/css/blocks.css.
 *
 * Measurements follow the approved artboards (October 27 2026):
 * desktop 1440 wide (content 1248, header 1312), phone 390 (16px gutters).
 * Phone layout applies at 781px and below (WordPress' own breakpoint).
 */

/* ------------------------------------------------------------------ */
/* 1. Brand tokens (same names as blocks.css)                          */
/* ------------------------------------------------------------------ */
:root {
	--dl-navy: #1C2B45;      /* Harbour Navy: text, headings, main buttons */
	--dl-navy-2: #2A3D5E;    /* hover on navy */
	--dl-lake: #44708F;      /* Lake Blue: links, search button, "&" */
	--dl-shallows: #8CB3D0;  /* "&" and water lines on navy */
	--dl-sun: #F2C14E;       /* Sunlit Gold: only on navy, never a button */
	--dl-gold: #8C6F10;      /* Deep Gold: gold TEXT on white (4.8:1) */
	--dl-gold-dark: #7A5E0C; /* gold text on mist (5.4:1) */
	--dl-mist: #F2F5F8;
	--dl-line: #DCE4EC;
	--dl-muted: #4A5468;     /* body grey (7.6:1 on white) */
	--dl-on-navy: #D6DEE8;   /* soft text on navy (10:1) */
	--dl-serif: "DM Serif Display", Georgia, "Times New Roman", serif;
	--dl-sans: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--dl-wrap: min(1248px, 100% - 32px);
	--dl-wrap-wide: min(1312px, 100% - 32px);
}

/* ------------------------------------------------------------------ */
/* 2. Base                                                             */
/* ------------------------------------------------------------------ */
body { overflow-x: clip; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }

/* Our sections space themselves; switch off WordPress' automatic gaps
   between blocks inside our layouts (they would double the spacing). */
.dl-main > *,
.dl-main .wp-block-group > *,
.dl-header .wp-block-group > *,
.dl-footer .wp-block-group > * { margin-block: 0; }
.dl-main { margin: 0; }
/* WordPress adds a gap between header, main and footer: remove it. */
.wp-site-blocks > * { margin-block-start: 0 !important; }

/* Containers. */
.dl-wrap { width: var(--dl-wrap); margin-inline: auto; }
.dl-wrap-wide { width: var(--dl-wrap-wide); margin-inline: auto; }

/* Show / hide by screen size. */
@media (max-width: 781px) { .dl-hide-phone { display: none !important; } }
@media (min-width: 782px) { .dl-show-phone { display: none !important; } }

/* Visible keyboard focus everywhere (brand: Lake Blue ring). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--dl-lake);
	outline-offset: 2px;
}

/* Section headings and labels. */
.dl-eyebrow {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--dl-gold);
}
.dl-sec--mist .dl-eyebrow { color: var(--dl-gold-dark); } /* keeps 4.5:1 on mist */
.dl-eyebrow--sun { color: var(--dl-sun) !important; }
.dl-h2, .dl-main h2.dl-h2 {
	font-family: var(--dl-serif);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.15;
	letter-spacing: 0;
	color: var(--dl-navy);
}
.dl-pagetitle { font-family: var(--dl-serif); font-weight: 400; font-size: 44px; line-height: 1.08; }
.dl-lead { font-size: 18px; color: var(--dl-muted); max-width: 720px; }
h1, h2, h3 { text-wrap: balance; }

/* ------------------------------------------------------------------ */
/* 3. Header                                                           */
/* ------------------------------------------------------------------ */
.dl-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: #fff;
	border-bottom: 1px solid var(--dl-line);
}
.admin-bar .dl-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .dl-header { top: 46px; } }
.dl-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: var(--dl-wrap-wide);
	margin-inline: auto;
	padding: 18px 0;
}
.dl-header__right { display: flex; align-items: center; gap: 28px; }

/* Logo: loon 72x36 + wordmark 27px with a DM Serif "&" in Lake Blue. */
.dl-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--dl-navy); text-decoration: none !important; line-height: 1; }
.dl-logo__mark { width: 72px; height: 36px; flex: none; }
.dl-logo__word { font-family: var(--dl-sans); font-weight: 500; font-size: 27px; letter-spacing: .14em; white-space: nowrap; }
.dl-logo__amp { font-family: var(--dl-serif); font-size: 1.26em; letter-spacing: 0; color: var(--dl-lake); }
.dl-logo--white { color: #fff; }
.dl-logo--white .dl-logo__amp { color: var(--dl-shallows); }

/* Menu on the right, next to Sign in and the navy button. */
.dl-nav { font-size: 16px; font-weight: 400; }
.dl-nav .wp-block-navigation__container { gap: 32px; }
.dl-nav .wp-block-navigation-item__content { color: var(--dl-navy); padding-block: 4px; border-bottom: 2px solid transparent; }
.dl-nav .wp-block-navigation-item__content:hover { color: var(--dl-lake); text-decoration: none; }
.dl-nav [aria-current="page"] { font-weight: 500; border-bottom-color: var(--dl-navy); }
.dl-nav .dl-nav__signin { margin-left: 4px; }
.dl-nav .dl-nav__signin .wp-block-navigation-item__content { font-weight: 500; }
.dl-mobile-only { display: none !important; }
.dl-header__cta .wp-block-button__link {
	padding: 10px 18px;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	border: 1.5px solid var(--dl-navy);
}

/* Checkout / onboarding headers: logo + a short line on the right. */
.dl-header--min .dl-header__inner { padding: 16px 0; }
.dl-header__secure { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; color: var(--dl-muted); }
.dl-header__save { margin: 0; font-size: 14px; color: var(--dl-muted); display: flex; gap: 24px; align-items: center; }
.dl-header__save a { font-size: 15px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }

/* Owner app header. */
.dl-header--owner .dl-header__inner { padding: 16px 0; }

@media (max-width: 781px) {
	.dl-header__inner { width: calc(100% - 32px); padding: 12px 0; }
	.dl-logo { gap: 9px; }
	.dl-logo__mark { width: 48px; height: 24px; }
	.dl-logo__word { font-size: 19px; }
	.dl-header__cta { display: none !important; }
	.dl-mobile-only { display: list-item !important; }
	/* Round hamburger button, as on the phone artboards. */
	.dl-nav .wp-block-navigation__responsive-container-open {
		width: 44px; height: 44px;
		border: 1px solid var(--dl-line);
		border-radius: 999px;
		display: flex; align-items: center; justify-content: center;
		background: #fff;
		color: var(--dl-navy);
	}
	.dl-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px 16px; }
	.dl-nav .is-menu-open .wp-block-navigation__container { gap: 20px; font-size: 20px; }
	.dl-nav .is-menu-open .wp-block-navigation-item__content { border: 0; }
	.dl-header__save { gap: 12px; }
	.dl-header__secure { font-size: 12px; }
}

/* ------------------------------------------------------------------ */
/* 4. Footer                                                           */
/* ------------------------------------------------------------------ */
.dl-footer { background: var(--dl-navy); color: #fff; }
.dl-footer__inner { width: var(--dl-wrap); margin-inline: auto; padding: 64px 0 32px; }
.dl-footer__grid { display: grid; grid-template-columns: 1.35fr repeat(4, 1fr); gap: 32px; }
.dl-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.dl-footer .dl-logo__mark { width: 56px; height: 28px; }
.dl-footer .dl-logo__word { font-size: 22px; }
.dl-slogan { margin: 6px 0 0; font-size: 13px; font-weight: 600; letter-spacing: .3em; color: var(--dl-sun); }
.dl-footer__blurb { margin: 0; font-size: 15px; line-height: 1.5; color: var(--dl-on-navy); max-width: 290px; }
.dl-footer__heading { margin: 0 0 12px !important; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--dl-shallows); }
.dl-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.dl-footer a { color: #fff; text-decoration: none; font-size: 15px; }
.dl-footer a:hover { color: var(--dl-shallows); text-decoration: underline; }
.dl-footer__bottom {
	display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	margin-top: 40px !important; padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	font-size: 14px; color: var(--dl-on-navy);
}
.dl-footer__bottom p { margin: 0; }
.dl-footer__bottom a { font-size: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1100px) and (min-width: 782px) {
	.dl-footer__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 781px) {
	.dl-footer__inner { width: calc(100% - 32px); padding: 36px 0 28px; }
	/* Phone: one flat two-column list of the main links (artboard). */
	.dl-footer__grid { grid-template-columns: 1fr 1fr; gap: 14px 16px; }
	.dl-footer__brand { grid-column: 1 / -1; margin-bottom: 10px !important; }
	.dl-footer__col, .dl-footer__links { display: contents; }
	.dl-footer__heading { display: none; }
	.dl-footer a { font-size: 16px; }
	.dl-footer__bottom { margin-top: 24px !important; padding-top: 0; border: 0; font-size: 13px; }
}

/* Checkout footer: one quiet line of links. */
.dl-footer-min {
	display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	width: var(--dl-wrap); margin-inline: auto; padding: 28px 0;
	font-size: 14px; color: var(--dl-muted);
}
.dl-footer-minwrap { border-top: 1px solid var(--dl-line); }
.dl-footer-min__links { display: flex; gap: 24px; flex-wrap: wrap; }
.dl-footer-min__links a { text-decoration: underline; text-underline-offset: 3px; }
.dl-footer-min__legal { margin: 0; }

/* ------------------------------------------------------------------ */
/* 5. Sections (shared)                                                */
/* ------------------------------------------------------------------ */
.dl-sec { padding: 72px 0; }
.dl-sec--mist { background: var(--dl-mist); }
.dl-sec--tight { padding: 0; }            /* sits between two padded sections */
.dl-sec--rc { padding-top: 72px; }        /* owners: Rules Check card after the mist band */
.dl-sechead { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 32px !important; }
.dl-sechead__text { display: flex; flex-direction: column; }
.dl-sec > .dl-wrap > .dl-sechead__text { margin-bottom: 32px !important; }
.dl-sechead__link { margin: 0; font-size: 16px; white-space: nowrap; }
.dl-sechead__link a, .dl-feature__link a, .dl-ownhero__link a { text-decoration: underline; text-underline-offset: 3px; }
.dl-cols3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.dl-cols4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }

/* Icon + title + text feature (trust row, owners "why"). */
.dl-feature { display: flex; flex-direction: column; gap: 14px; }
.dl-feature__body { display: flex; flex-direction: column; gap: 10px; }
.dl-tile {
	width: 48px; height: 48px; border-radius: 14px;
	display: flex; align-items: center; justify-content: center;
	background: var(--dl-mist); color: var(--dl-lake);
}
.dl-features--white .dl-tile { background: #fff; border: 1px solid var(--dl-line); width: 54px; height: 54px; }
.dl-feature__title { margin: 0; font-family: var(--dl-sans); font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: 0; color: var(--dl-navy); }
.dl-feature__text { margin: 0; font-size: 16px; line-height: 1.55; color: var(--dl-muted); }
.dl-feature__link { margin: 0; }

/* Numbered steps. */
.dl-step { display: flex; flex-direction: column; gap: 10px; }
.dl-step__num { margin: 0; font-family: var(--dl-serif); font-size: 44px; line-height: 1; color: var(--dl-lake); }
.dl-step__body { display: flex; flex-direction: column; gap: 10px; }
.dl-step__title { margin: 0; font-family: var(--dl-sans); font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.dl-step__text { margin: 0; font-size: 16px; line-height: 1.55; color: var(--dl-muted); }

/* Buttons made with the core Button block. */
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--dl-navy); border: 1.5px solid var(--dl-navy); }
.wp-block-button.dl-btn-white .wp-block-button__link { background: #fff; color: var(--dl-navy); }
.wp-block-button.dl-btn-white .wp-block-button__link:hover { background: var(--dl-mist); }
.wp-block-button.dl-btn-lg .wp-block-button__link { padding: 15px 27px; font-size: 17px; }
@media (max-width: 781px) {
	.dl-btnrow-block .wp-block-button { width: 100%; }
	.dl-btnrow-block .wp-block-button__link { width: 100%; text-align: center; }
}

/* ------------------------------------------------------------------ */
/* 6. Home                                                             */
/* ------------------------------------------------------------------ */

/* Hero: full-bleed photo, navy gradient, search inside the photo. */
.dl-hero {
	position: relative;
	min-height: 760px;
	display: flex; flex-direction: column; align-items: center;
	padding: 92px 16px 96px;
	background: var(--dl-navy);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.dl-hero__media { position: absolute; inset: 0; z-index: -1; margin: 0; }
.dl-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; display: block; }
/* Navy gradient: darkest behind the headline so white text keeps 4.5:1. */
.dl-hero__shade {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(28,43,69,.84) 0%, rgba(28,43,69,.76) 26%, rgba(28,43,69,.63) 46%, rgba(28,43,69,.32) 63%, rgba(28,43,69,.38) 100%);
}
.dl-hero__text { display: flex; flex-direction: column; align-items: center; gap: 18px; max-width: 900px; text-align: center; }
.dl-hero__eyebrow { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--dl-sun); }
.dl-hero .dl-hero__title {
	margin: 0;
	font-family: var(--dl-serif); font-weight: 400;
	font-size: 68px; line-height: 1.05; letter-spacing: 0;
	color: #fff;
	text-shadow: 0 2px 18px rgba(10, 20, 40, .35);
}
.dl-hero__sub { margin: 0; font-size: 20px; line-height: 1.5; color: #fff; text-shadow: 0 1px 10px rgba(10, 20, 40, .45); }
.dl-hero .dl-search { margin-top: 40px; width: min(1000px, 100%); }
.dl-hero__credit {
	position: absolute; right: 24px; bottom: 16px; margin: 0;
	font-size: 12px; color: rgba(255, 255, 255, .9);
	text-shadow: 0 1px 6px rgba(10, 20, 40, .6);
}

/* Trust row. */
.dl-sec--trust { padding: 64px 0; border-bottom: 1px solid var(--dl-line); }

/* Owner band (navy). */
.dl-ownercta {
	display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center;
	padding: 56px 64px; border-radius: 24px;
	background: var(--dl-navy); color: #fff;
}
.dl-ownercta__text { display: flex; flex-direction: column; gap: 16px; }
.dl-ownercta .dl-ownercta__title { margin: 0; font-family: var(--dl-serif); font-weight: 400; font-size: 38px; line-height: 1.15; color: #fff; }
.dl-ownercta__lead { margin: 0; font-size: 17px; line-height: 1.55; color: var(--dl-on-navy); }

/* ------------------------------------------------------------------ */
/* 7. For owners                                                       */
/* ------------------------------------------------------------------ */
.dl-sec--ownhero { padding: 80px 0 72px; }
.dl-ownhero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.dl-ownhero__text { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
.dl-ownhero .dl-eyebrow { margin: 0; }
.dl-ownhero__title { margin: 0; font-family: var(--dl-serif); font-weight: 400; font-size: 56px; line-height: 1.08; letter-spacing: 0; }
.dl-ownhero__lead { margin: 0; font-size: 19px; line-height: 1.55; color: var(--dl-muted); }
/* 0.11.1 (QA v1110 #14): processing line straight under the H1. */
.dl-ownhero__fee { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; color: var(--dl-navy); }
.dl-ownhero__actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.dl-ownhero__link { margin: 0; font-size: 16px; }
.dl-ownhero__media { margin: 0; position: relative; }
.dl-ownhero__media img { width: 100%; height: 460px; object-fit: cover; border-radius: 24px; display: block; }
.dl-ownhero__media figcaption { position: absolute; right: 14px; bottom: 10px; font-size: 12px; color: #fff; text-shadow: 0 1px 6px rgba(10, 20, 40, .7); }

.dl-rcbox {
	display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
	padding: 48px 56px; border: 1px solid var(--dl-line); border-radius: 24px;
	position: relative;
}
.dl-rcbox__text { display: flex; flex-direction: column; gap: 14px; }
.dl-rcbox .dl-eyebrow { margin: 0; }
.dl-rcbox__lead { margin: 0; font-size: 17px; line-height: 1.6; color: var(--dl-muted); }
.dl-rcbox--compact { display: block; padding: 0; border: 0; margin: 32px 0 48px !important; max-width: 560px; }
.dl-anchor { position: absolute; top: -110px; }

.dl-sec--how { padding: 72px 0; }
.dl-steps4 .dl-step { border-top: 2px solid var(--dl-navy); padding-top: 20px; }
.dl-steps4 .dl-step__num { font-size: 40px; }
.dl-steps4 .dl-step__title { font-size: 19px; }
.dl-steps4 .dl-step__text { font-size: 15px; }

.dl-sec--fee { padding: 0 0 72px; }
.dl-fee { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.dl-fee__body { display: flex; flex-direction: column; gap: 16px; }
.dl-fee__text { margin: 0; font-size: 17px; line-height: 1.6; color: var(--dl-muted); }
.dl-fee__pills { display: flex; gap: 10px; flex-wrap: wrap; margin: 0; }
.dl-fee__claim { margin: 0; font-size: 19px; line-height: 1.45; color: var(--dl-navy); } /* 0.8.0: the "No commission on your rent" claim. */
.dl-fee__text.dl-small { font-size: 15px; }
.dl-fee .dl-h2 { font-size: 32px; }

.dl-faq { display: grid; grid-template-columns: 1fr 1.3fr; gap: 48px; }
.dl-faq__list .wp-block-details { border-bottom: 1px solid var(--dl-line); padding: 16px 0; margin: 0; }
.dl-faq__list summary { font-size: 17px; font-weight: 600; cursor: pointer; }
.dl-faq__list details p { margin: 12px 0 0 !important; color: var(--dl-muted); }

.dl-sec--end { padding-bottom: 72px; }
.dl-endcta {
	display: flex; justify-content: space-between; align-items: center; gap: 32px;
	padding: 56px; border-radius: 24px; background: var(--dl-navy); color: #fff;
}
.dl-endcta__text { display: flex; flex-direction: column; gap: 10px; }
.dl-endcta .dl-endcta__title { margin: 0; font-family: var(--dl-serif); font-weight: 400; font-size: 40px; line-height: 1.15; color: #fff; }
.dl-endcta .wp-block-button__link { padding: 15px 27px; font-size: 17px; }

/* ------------------------------------------------------------------ */
/* 8. Page layouts for data templates                                  */
/* ------------------------------------------------------------------ */
.dl-searchbar { border-bottom: 1px solid var(--dl-line); padding: 20px 0 20px; background: #fff; }
.dl-searchbar .dl-search { width: var(--dl-wrap-wide); margin-inline: auto; }
.dl-listing-top { display: flex; flex-direction: column; gap: 24px; padding-top: 24px; }
.dl-listing-body { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 64px; padding: 40px 0 64px; align-items: start; }
.dl-listing-main { display: flex; flex-direction: column; }
/* Sections in the left column are split by a thin line (cards like the
   D&L Checked panel, host card and safety notice keep their own border). */
.dl-listing-main > * + * { margin-top: 36px !important; }
.dl-listing-main > .dl-section-block { padding-top: 36px; border-top: 1px solid var(--dl-line); }
.dl-listing-side { position: sticky; top: 100px; }
.dl-sec--similar { padding: 56px 0; }
.dl-sec--similar .dl-h2 { margin-bottom: 24px !important; font-size: 30px; }

.dl-guide-top { padding-top: 24px; display: flex; flex-direction: column; gap: 28px; }
.dl-guide-body { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 56px; padding: 40px 0 64px; align-items: start; }
.dl-guide-main { display: flex; flex-direction: column; gap: 32px; }
.dl-guide-side { position: sticky; top: 100px; }
.dl-guide-content h2 { font-family: var(--dl-serif); font-weight: 400; font-size: 28px; margin: 0 0 12px; }
.dl-guide-content p { color: var(--dl-muted); font-size: 17px; }

/* ------------------------------------------------------------------ */
/* 9. Tablet and phone                                                 */
/* ------------------------------------------------------------------ */
@media (max-width: 1100px) {
	.dl-listing-body { grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; }
	.dl-guide-body { grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; }
	.dl-cols4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 781px) {
	.dl-sec { padding: 32px 0; }
	.dl-sec--tight { padding: 0; }
	.dl-sec--rc { padding-top: 32px; }
	.dl-h2, .dl-main h2.dl-h2 { font-size: 26px; }
	.dl-sechead { margin-bottom: 18px !important; align-items: center; }
	.dl-sec > .dl-wrap > .dl-sechead__text { margin-bottom: 18px !important; }
	.dl-cols3, .dl-cols4 { grid-template-columns: 1fr; gap: 20px; }
	.dl-pagetitle { font-size: 32px; }

	/* Hero: text at the top, the search card over the photo below it. */
	.dl-hero { min-height: 640px; align-items: stretch; padding: 48px 16px 18px; }
	.dl-hero__media img { object-position: 30% center; }
	.dl-hero__text { align-items: flex-start; text-align: left; gap: 14px; }
	.dl-hero__eyebrow { font-size: 12px; letter-spacing: .2em; }
	.dl-hero .dl-hero__title { font-size: 38px; line-height: 1.08; }
	.dl-hero__title br { display: none; } /* the space after <br> keeps the words apart */
	.dl-hero__sub { font-size: 17px; }
	.dl-hero .dl-search { margin-top: auto; padding-top: 32px; width: 100%; }
	.dl-hero__credit { position: static; margin-top: 10px; text-align: right; font-size: 11px; }

	/* Trust row becomes a mist list with icons on the left. */
	.dl-sec--trust { background: var(--dl-mist); padding: 32px 0; border: 0; }
	.dl-sec--trust .dl-cols3 { gap: 22px; }
	.dl-feature { flex-direction: row; gap: 14px; align-items: flex-start; }
	.dl-tile { width: 44px; height: 44px; flex: none; background: #fff; border-radius: 12px; }
	.dl-feature__body { gap: 4px; }
	.dl-feature__title { font-size: 17px; }
	.dl-feature__text { font-size: 14px; line-height: 1.45; }

	/* Steps become compact rows with the number on the left. */
	.dl-step { flex-direction: row; gap: 18px; align-items: flex-start; }
	.dl-step__num { font-size: 32px; min-width: 20px; }
	.dl-step__body { gap: 2px; }
	.dl-step__title { font-size: 16px; }
	.dl-step__text { font-size: 14px; }
	.dl-steps4 .dl-step { border-top: 0; padding-top: 0; }
	.dl-steps4 .dl-step__num { font-size: 32px; }
	.dl-steps4 .dl-step__title { font-size: 16px; }
	.dl-steps4 .dl-step__text { font-size: 14px; }
	.dl-sec--how { background: var(--dl-mist); padding: 32px 0; }

	.dl-ownercta { grid-template-columns: 1fr; padding: 28px 22px; border-radius: 20px; gap: 14px; }
	.dl-ownercta__text { gap: 10px; }
	.dl-ownercta .dl-ownercta__title { font-size: 26px; }
	.dl-ownercta__lead { font-size: 15px; }
	.dl-ownercta .dl-eyebrow { font-size: 12px; }

	/* For owners. */
	.dl-sec--ownhero { padding: 28px 0 32px; }
	.dl-ownhero { grid-template-columns: 1fr; gap: 18px; }
	.dl-ownhero__text { gap: 16px; }
	.dl-ownhero__title { font-size: 34px; }
	.dl-ownhero__lead { font-size: 16px; }
	.dl-ownhero__actions { flex-direction: column; align-items: stretch; gap: 14px; width: 100%; order: 3; }
	.dl-ownhero__actions .wp-block-buttons, .dl-ownhero__actions .wp-block-button, .dl-ownhero__actions .wp-block-button__link { width: 100%; text-align: center; }
	.dl-ownhero__text .dl-spots { order: 2; }
	.dl-ownhero__media img { height: 220px; border-radius: 18px; }
	.dl-rcbox { grid-template-columns: 1fr; padding: 0; border: 0; gap: 18px; }
	.dl-rcbox__lead { font-size: 15px; }
	.dl-sec--how { padding: 32px 0; }
	.dl-fee { grid-template-columns: 1fr; gap: 12px; }
	.dl-sec--fee { padding: 32px 0; }
	.dl-faq { grid-template-columns: 1fr; gap: 12px; }
	.dl-faq__list summary { font-size: 16px; }
	.dl-endcta { flex-direction: column; align-items: stretch; padding: 28px 20px; border-radius: 20px; gap: 18px; }
	.dl-endcta .dl-endcta__title { font-size: 30px; }

	/* Data pages. */
	.dl-searchbar { padding: 12px 0; }
	.dl-listing-top { gap: 0; padding-top: 0; width: 100%; }
	.dl-listing-top .dl-gallery { order: -1; }
	.dl-listing-top .dl-lhead { padding: 20px 16px 8px; }
	.dl-listing-body { grid-template-columns: 1fr; gap: 24px; padding: 8px 0 32px; }
	.dl-listing-main > * + * { margin-top: 24px !important; }
	.dl-listing-main > .dl-section-block { padding-top: 0; border-top: 0; }
	.dl-listing-side { position: static; }
	.dl-sec--similar { padding: 32px 0; }
	.dl-guide-body { grid-template-columns: 1fr; gap: 28px; padding: 24px 0 32px; }
	.dl-guide-side { position: static; }
}

/* Respect reduced motion. */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* 0.4.2 privacy page draft: readable text width + an unmistakable DRAFT box. */
.dl-legal .dl-wrap { max-width: 760px; }
.dl-legal li { margin-bottom: .5em; }
.dl-draft-banner { background: var(--dl-amber-bg); color: var(--dl-amber-tx); border: 1px solid currentColor; border-radius: 8px; padding: 12px 16px; }
