/* AutoDouane presentation primitives. Domain/tool and consent styles retain their owners. */
:root {
 --ad-ink:#142e37; --ad-muted:#52666e; --ad-paper:#f4f7f7; --ad-white:#fff;
 --ad-green:#08685e; --ad-line:#d5dfdf; --ad-amber:#80520b;
 --ad-space-1:.5rem; --ad-space-2:.75rem; --ad-space-3:1rem;
 --ad-space-4:1.5rem; --ad-space-5:2rem; --ad-space-6:3rem;
 --ad-radius-sm:6px; --ad-radius:12px; --ad-radius-lg:18px;
 --ad-font-body:1.0625rem; --ad-font-meta:.875rem;
 --ad-container-wide:1240px; --ad-container-reading:780px;
 --ad-border:1px solid var(--ad-line);
}
* { box-sizing:border-box; }
body { background:var(--ad-paper); color:var(--ad-ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:var(--ad-font-body); line-height:1.7; }
h1,h2,h3 { font-family:inherit; color:var(--ad-ink); font-weight:750; line-height:1.2; letter-spacing:-.025em; }
h1 { font-size:clamp(2rem,4.5vw,3.4rem); }
h2 { font-size:clamp(1.5rem,2.6vw,2rem); }
h3 { font-size:1.2rem; }
p { margin-block:0 1.25rem; }
a { color:var(--ad-green); text-underline-offset:.2em; }
a:hover { color:#064d45; }
.entry-content a:not(.button):not(.ad-button):not(.ad-docs-cta):not(.ad-germany-cta) { color:var(--ad-green); }
.ad-source-box a,.ad-source-card a { color:var(--ad-green); }
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #a14a08; outline-offset:4px; }
button,.button,input[type=submit] { min-height:48px; }
::selection { background:#d6ece5; color:var(--ad-ink); }
.ad-container,.grid-container { max-width:var(--ad-container-wide); margin-inline:auto; }
.ad-reading-width { max-width:var(--ad-container-reading); margin-inline:auto; }
.site-header { background:white; border-bottom:var(--ad-border); }
.inside-header { padding:18px 24px; display:flex; align-items:center; gap:24px; }
.site-branding { flex-shrink:0; }
.main-title a,.main-title a:hover,.ad-brand { font-size:1.45rem; color:var(--ad-ink); font-weight:800; letter-spacing:-.045em; text-decoration:none; }
.site-description { font-size:.8rem; color:var(--ad-muted); }
.ad-navigation { display:flex; align-items:center; gap:4px; margin-left:auto; }
.ad-nav-toggle { display:none; }
.ad-nav-home,.ad-nav-group>summary { display:flex; align-items:center; min-height:48px; padding:10px 12px; font-size:.875rem; font-weight:650; color:var(--ad-ink); text-decoration:none; border-radius:var(--ad-radius-sm); cursor:pointer; }
.ad-nav-group { position:relative; }
.ad-nav-group>summary { list-style:none; gap:8px; }
.ad-nav-group>summary::-webkit-details-marker { display:none; }
.ad-nav-group>summary:after { content:''; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-3px; }
.ad-nav-group[open]>summary,.ad-nav-home:hover { background:#edf4f2; color:var(--ad-green); }
.ad-nav-group[open]>summary:after { transform:rotate(225deg); margin-top:3px; }
.ad-nav-group ul { position:absolute; top:100%; left:0; z-index:100; width:280px; list-style:none; margin:6px 0 0; padding:8px; border:var(--ad-border); border-radius:var(--ad-radius); background:white; box-shadow:0 8px 24px #142e3712; }
.ad-nav-group:last-of-type ul { left:auto; right:0; }
.ad-nav-group li { margin:0; }
.ad-nav-group li a { display:block; padding:10px 12px; min-height:44px; border-radius:var(--ad-radius-sm); font-size:.9rem; color:var(--ad-ink); text-decoration:none; line-height:1.5; }
.ad-nav-group a:hover,.ad-navigation [aria-current=page] { background:#edf4f2; color:var(--ad-green); }
.ad-button { display:inline-flex; min-height:48px; padding:12px 20px; align-items:center; justify-content:center; gap:8px; border-radius:var(--ad-radius-sm); font-size:.95rem; font-weight:650; text-decoration:none; background:var(--ad-green); color:white; border:1px solid var(--ad-green); line-height:1.5; }
.ad-button:hover { background:#064d45; color:white; }
.ad-navigation .ad-nav-cta { margin-left:12px; padding-inline:16px; font-size:.875rem; white-space:nowrap; }
.ad-button-secondary { background:white; color:var(--ad-ink); border-color:#a7b9b2; }
.ad-button-secondary:hover { background:#edf4f2; color:var(--ad-ink); }
.site-content { padding:32px 24px 64px; }
.content-area { min-width:0; }
.separate-containers .inside-article { background:white; padding:clamp(20px,4vw,48px); border:var(--ad-border); border-radius:var(--ad-radius); }
body:not(.home):not(.page-id-8):not(.page-id-205):not(.page-id-206) .site-main { max-width:calc(var(--ad-container-reading) + 96px); margin-inline:auto; }
.entry-content { margin-top:1.5rem; overflow-wrap:break-word; }
.entry-content>p,.entry-content>ul,.entry-content>ol { max-width:75ch; }
.entry-title { font-size:clamp(1.9rem,3.5vw,2.65rem); margin-bottom:0; }
.entry-content h2 { margin-top:2.25rem; margin-bottom:1rem; }
.entry-content h3 { margin-top:1.75rem; }
.entry-content li { margin-bottom:.45rem; }
.ad-crumbs { font-size:.8125rem; line-height:1.6; margin-bottom:1.25rem; color:var(--ad-muted); }
.ad-crumbs p { margin:0; }
.ad-home { width:100%; }
.ad-hero { display:block; padding:20px 0 24px; max-width:1000px; }
.ad-eyebrow { font-size:.75rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--ad-green); margin-bottom:1rem; }
.ad-hero h1 { max-width:25ch; margin-bottom:20px; }
.ad-hero h1 span { color:var(--ad-green); }
.ad-lead { font-size:1.125rem; color:var(--ad-muted); max-width:65ch; }
.ad-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:24px 0 16px; }
.ad-small { font-size:var(--ad-font-meta); color:var(--ad-muted); max-width:80ch; }
.ad-section { margin-top:48px; padding-top:0; }
.ad-section-heading { display:flex; align-items:start; justify-content:space-between; gap:32px; margin-bottom:24px; }
.ad-section-heading h2 { max-width:26ch; margin:0; }
.ad-section-heading p { max-width:48ch; color:var(--ad-muted); margin:0; }
.ad-task-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.ad-card,.ad-action-card { padding:24px; background:white; border:var(--ad-border); border-radius:var(--ad-radius); min-width:0; }
.ad-action-card { display:flex; flex-direction:column; color:var(--ad-ink); text-decoration:none; }
.ad-action-card:hover { border-color:#08685e; color:var(--ad-ink); background:#fafeff; }
.ad-action-card h2 { font-size:1.2rem; margin-bottom:12px; letter-spacing:-.02em; }
.ad-action-card p,.ad-card p { color:var(--ad-muted); font-size:.9375rem; }
.ad-action-card .ad-card-link { color:var(--ad-green); margin-top:auto; font-size:.875rem; font-weight:650; text-decoration:underline; }
.ad-number { display:block; font-size:.75rem; font-weight:750; color:var(--ad-green); margin-bottom:20px; }
.ad-process { counter-reset:process; list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ad-process li { display:flex; align-items:start; gap:12px; padding:16px; border:var(--ad-border); border-radius:var(--ad-radius-sm); background:white; font-size:.9375rem; }
.ad-process li:before { counter-increment:process; content:counter(process,decimal-leading-zero); color:var(--ad-green); font-weight:750; }
.ad-process a { color:var(--ad-ink); }
.ad-trust { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:32px; background:#e8f1ee; border-radius:var(--ad-radius); }
.ad-trust h2 { max-width:26ch; }
.ad-trust ul { margin:0; padding-left:20px; }
.ad-trust li { margin-bottom:12px; }
.ad-trust li strong { display:block; }
.ad-trust li span { color:var(--ad-muted); font-size:.9375rem; }
.ad-source-box,.ad-source-card { padding:20px; background:#edf4f0; border-inline-start:3px solid var(--ad-green); border-radius:var(--ad-radius-sm); font-size:.9375rem; }
.ad-source-box p:last-child,.ad-source-card p:last-child { margin-bottom:0; }
.ad-warning { background:#fff8e8; border-inline-start:3px solid var(--ad-amber); padding:20px; border-radius:var(--ad-radius-sm); }
.ad-status { display:inline-block; padding:4px 10px; border:1px solid currentColor; border-radius:var(--ad-radius-sm); font-size:.8125rem; font-weight:650; }
.ad-status-verified { background:#edf4f0; color:#086052; }
.ad-status-conditional,.ad-status-unresolved { background:#fff8e8; color:#80520b; }
.ad-status-error { background:#fff1ee; color:#9c332b; }
.ad-related-guides { margin-top:32px; padding:24px; background:#f3f7f7; border:var(--ad-border); border-radius:var(--ad-radius); }
.entry-content .ad-related-guides h2 { margin:0 0 16px; font-size:1.25rem; }
.ad-related-guides ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.ad-related-guides a { display:inline-block; padding:8px 0; min-height:44px; }
.ad-table-wrap { overflow-x:auto; max-width:100%; margin-block:24px; border:var(--ad-border); border-radius:var(--ad-radius-sm); }
.ad-table-wrap table { margin:0; border:0; min-width:540px; }
table { font-size:.9375rem; border-collapse:collapse; }
td,th { padding:12px 16px; vertical-align:top; }
th { background:#edf3f3; color:var(--ad-ink); font-weight:700; text-align:left; }
caption { text-align:left; font-size:.875rem; padding:12px 16px; }
.ad-footer { background:var(--ad-ink); color:#d0dfe0; padding:48px 24px; }
.ad-footer-brand { display:flex; justify-content:space-between; gap:32px; border-bottom:1px solid #35515b; padding-bottom:24px; margin-bottom:24px; }
.ad-footer-brand strong { color:white; font-size:1.6rem; }
.ad-footer-brand p { max-width:70ch; margin:0; font-size:.875rem; }
.ad-footer-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.ad-footer nav { display:block; max-width:none; }
.ad-footer h2 { font-size:1rem; color:white; letter-spacing:0; margin:0 0 12px; }
.ad-footer ul { list-style:none; padding:0; margin:0; }
.ad-footer a { color:#e1f0eb; font-size:.875rem; display:inline-block; min-height:44px; padding:8px 0; }
.ad-footer a:hover { color:white; }
.ad-footer :focus-visible { outline-color:white; }
/* Phase 30A language switcher (rendered only when a published equivalent exists). */
.ad-lang { order:5; }
.ad-lang ul { display:flex; gap:4px; list-style:none; margin:0; padding:0; }
.ad-lang a,.ad-lang span[aria-disabled] { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:6px 10px; border-radius:var(--ad-radius-sm); font-size:.875rem; font-weight:650; line-height:1.2; text-decoration:none; color:var(--ad-ink); }
.ad-lang a:hover { background:#edf4f2; color:var(--ad-green); }
.ad-lang a[aria-current=page] { background:#edf4f2; color:var(--ad-green); box-shadow:inset 0 -2px 0 var(--ad-green); }
.ad-lang span[aria-disabled] { color:var(--ad-muted); text-decoration:line-through; cursor:not-allowed; }
.ad-lang-note { font-size:.8em; opacity:.8; }
html { scroll-padding-top:16px; }
@media(max-width:1100px) {
 .inside-header { flex-wrap:wrap; justify-content:space-between; gap:16px; }
 .ad-nav-ready .ad-nav-toggle { display:flex; align-items:center; gap:12px; background:white; color:var(--ad-ink); border:var(--ad-border); border-radius:var(--ad-radius-sm); padding:8px 16px; }
 .ad-lang { order:1; margin-inline-start:auto; }
 .ad-nav-toggle { order:2; }
 .ad-navigation { order:3; width:100%; flex-direction:column; align-items:stretch; margin:0; gap:0; }
 .ad-nav-ready .ad-navigation:not(.is-open) { display:none; }
 .ad-nav-group { border-bottom:var(--ad-border); }
 .ad-nav-group>summary { justify-content:space-between; min-height:52px; }
 .ad-nav-group ul { position:static; width:auto; box-shadow:none; border:0; margin:0; padding:0 0 12px 12px; }
 .ad-nav-group li a { padding:12px; }
 .ad-navigation .ad-nav-cta { order:-1; margin:4px 0 12px; }
 .ad-task-grid,.ad-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .inside-header { padding:16px 20px; }
 .site-content { padding:24px 16px 40px; }
 .ad-hero { padding:8px 0 16px; }
 .ad-hero h1 { font-size:clamp(2rem,7vw,2.65rem); }
 .ad-lead { font-size:1rem; }
 .ad-actions { align-items:stretch; flex-direction:column; }
 .ad-actions a { width:100%; }
 .ad-task-grid { grid-template-columns:1fr; gap:12px; }
 .ad-action-card { padding:20px; }
 .ad-number { margin-bottom:12px; }
 .ad-section { margin-top:32px; }
 .ad-section-heading { display:block; }
 .ad-section-heading p { margin-top:12px; }
 .ad-trust { grid-template-columns:1fr; padding:24px; gap:16px; }
 .ad-footer-brand { flex-direction:column; gap:12px; }
 .ad-footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ad-footer { padding:32px 20px; }
 .ad-process { grid-template-columns:1fr; }
 .entry-title { font-size:1.85rem; }
}
@media(max-width:390px) { .ad-footer-columns { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print { .site-header,.ad-footer,.ad-related-guides { display:none; } .site-content { padding:0; } .ad-table-wrap { overflow:visible; } }
