/* GENERATED - DO NOT EDIT BY HAND.
 * Page-scoped subset of tranche2-v01.css for the 'editorial' template family.
 * Every byte below is copied verbatim from that file, in its original order;
 * only top-level blocks whose selectors cannot match any element emitted by
 * this family's templates are omitted, so the cascade is unchanged.
 * source bytes 37760  md5 04012a3d39110278a790cd0d7d7e3723  blocks kept 25/155  subset bytes 6106
 * Regenerate whenever tranche2-v01.css changes. inc/frontend-composed-slice32.php
 * falls back to the full sheet if the source no longer measures 37760 bytes.
 */


/* The tabindex the partial adds must not paint a permanent outline on a mouse
   click.

   The 5.5rem scroll-margin-top that used to sit on these two selectors is
   REMOVED. It was the only sticky-header mitigation in the whole composition
   and it covered article body headings alone, leaving the skip link, the
   article outline, the booking error summary and sequential Tab focus to land
   under the header. That is now fixed once, for every target on every page, by
   html { scroll-padding-top: 6rem } in app.css. Keeping both would have stacked
   6rem of scrollport padding on top of 5.5rem of element margin and dropped
   anchored headings 11.5rem down the viewport. */
.prose h2[id]:focus:not(:focus-visible), .prose h3[id]:focus:not(:focus-visible) { outline: none; }

/* -----------------------------------------------------------------------------
 * 6. PRINT. A policy document is a document: people print it, save it to PDF
 *    and attach it to a complaint. The stylesheet had no print rules at all, so
 *    this is the first block. Site chrome, the rail, the in-page table of
 *    contents and every button come off; the wording, the version strip and the
 *    contracting identity stay. In-body links print their href so a printed
 *    copy stays traceable, and headings do not orphan across a page break.
 * -------------------------------------------------------------------------- */
@media print {
	.site-header,
	.site-footer,
	.skip-link,
	.mobile-drawer,
	.drawer-backdrop,
	.explore-sidebar,
	.page-booking-card,
	.breadcrumb,
	.legal-toc,
	.action-row { display: none !important; }

	.content-main,
	.prose-layout,
	.explore-stream { display: block; }
	.container { width: 100%; max-width: none; margin: 0; padding: 0; }

	.content-hero { padding: 0 0 .75rem; background: none; border-bottom: 1px solid #000; }
	.content-hero h1 { max-width: none; font-size: 22pt; }

	.prose > * { max-width: none; }
	.prose h2, .prose h3 { break-after: avoid-page; page-break-after: avoid; }
	.prose p, .prose li, .prose blockquote, .prose table { break-inside: avoid; page-break-inside: avoid; }
	.prose a:not(.button)::after { content: " (" attr(href) ")"; font-size: .85em; font-weight: 400; word-break: break-all; }

	.explore-provenance,
	.legal-identity,
	.legal-index__row,
	.search-state-card { border: 1px solid #000; background: none; box-shadow: none; }
	.legal-identity { border-left-width: 1px; border-radius: 0; }
	.search-state-card__icon { display: none; }
	.legal-status { border: 1px solid #000; background: none; }
}

/* --- Contact, complaint and lost-property routes ----------------------- */
.help-channels { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr)); gap: 1rem; }
.help-channel { display: grid; align-content: start; gap: .45rem; padding: 1.3rem 1.25rem; border: 1px solid var(--idrive-line); border-radius: var(--idrive-radius); background: var(--idrive-white); box-shadow: 0 12px 36px rgba(6, 26, 18, .055); }
.help-channel__mark { display: grid; width: 2.75rem; height: 2.75rem; margin-bottom: .3rem; place-items: center; color: var(--idrive-white); border-radius: .8rem; background: var(--idrive-ink-soft); font-size: .82rem; font-weight: 900; letter-spacing: .06em; }
.help-channel h3, .help-channel h4 { margin: 0; color: var(--idrive-ink); font-size: 1.05rem; line-height: 1.25; letter-spacing: -.015em; }
.help-channel > p { margin: 0; color: var(--idrive-text); font-size: .9rem; }
.help-channel .action-row { margin: .4rem 0 0; }
.help-channel .action-row .button { width: 100%; }
.help-channel > p.help-channel__note { color: var(--idrive-muted); font-size: .76rem; font-weight: 650; }
/* --- 404 recovery ------------------------------------------------------ */
/* The live .not-found block above keeps its h1 and paragraph treatment; this
   modifier only reduces the outer padding, because the page now carries a
   search box, an action row and three recovery panels rather than one line. */
.not-found--recovery { padding: clamp(2.75rem, 6vw, 4.5rem) 0 clamp(3rem, 7vw, 5rem); }
.not-found__lead { max-width: 60ch; margin: 0 0 clamp(1.25rem, 3vw, 1.75rem); font-size: clamp(1rem, 1.4vw, 1.12rem); }
.not-found__search { width: min(100%, 42rem); display: grid; gap: .5rem; margin: 0 0 clamp(1.25rem, 3vw, 1.75rem); }
.not-found__search-note { margin: 0; font-size: .78rem; }
.not-found__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0 0 clamp(2rem, 5vw, 3rem); }
.recovery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.recovery-panel { display: grid; align-content: start; gap: .3rem; padding: 1.2rem 1.25rem; border: 1px solid var(--idrive-line); border-radius: var(--idrive-radius); background: var(--idrive-white); box-shadow: 0 12px 36px rgba(6, 26, 18, .055); }
.recovery-panel h3 { margin: 0 0 .3rem; color: var(--idrive-ink); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.recovery-panel__list { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.recovery-panel__list a { display: block; min-height: 2.75rem; padding: .7rem .5rem; border-radius: .6rem; color: var(--idrive-green-deep); font-size: .92rem; font-weight: 700; }
.recovery-panel__list a:hover { color: var(--idrive-ink); background: var(--idrive-mist); }

@media (max-width: 430px) {
	.help-topic,
	.help-channel { padding: 1.1rem 1rem 1.2rem; }
	.help-result { padding: .9rem 1rem; }
}

/* -----------------------------------------------------------------------------
 * 7. Repair: .results-assumptions styles h2 only, but the self-drive hub and
 *    every supply template use h3 there to keep the heading order legal under
 *    a section h2. Same treatment, matching the existing h2 rule.
 * -------------------------------------------------------------------------- */
.results-assumptions h3 { margin: 0 0 .45rem; color: var(--idrive-white); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; }
.results-assumptions h3:not(:first-child) { margin-top: 1.1rem; }
