html[data-theme=light] main{--ds-link:#14191f!important}
/* Compositions for the existing rendered page families. */
html[data-theme] {--db-radius:16px;--db-gap:16px;--db-section:48px}
html[data-theme][data-db-page] main .db-content-grid{margin-top:24px!important;gap:16px!important;align-items:start!important}
html[data-theme][data-db-page] main .db-tile-grid{border:0!important;background:var(--ds-field)!important;overflow:visible!important;gap:0 32px!important;align-items:stretch!important;padding:16px 24px;border-radius:16px}
html[data-theme][data-db-page] main .db-tile{display:grid!important;grid-template-columns:40px minmax(0,1fr);grid-auto-rows:min-content;column-gap:16px!important;row-gap:8px!important;min-height:0!important;height:auto!important;padding:20px 0!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;background:transparent!important;color:var(--ds-text)!important;box-shadow:none!important;transform:none!important}
html[data-theme][data-db-page] main .db-tile>svg{grid-column:1;grid-row:1/3;width:40px!important;height:40px!important;padding:10px!important;background:var(--ds-accent)!important;color:#101010!important;border-radius:50%!important}
html[data-theme][data-db-page] main .db-tile>:not(svg){grid-column:2;margin:0!important}
html[data-theme][data-db-page] main .db-tile h3{font-size:18px!important;line-height:1.5!important}
html[data-theme][data-db-page] main .db-tile p{font-size:16px!important;line-height:1.7!important}
html[data-theme][data-db-page] main .db-tile:hover{background:transparent!important;box-shadow:none!important}
html[data-theme][data-db-page] main .db-editorial-layout{display:grid!important;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr)!important;gap:32px!important;align-items:start!important}
html[data-theme][data-db-page] main .db-editorial-layout>div{grid-column:auto!important;min-width:0}
html[data-theme][data-db-page] main .db-editorial-body{padding:24px!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;background:var(--ds-card)!important}
html[data-theme][data-db-page] main .db-editorial-body:not(:has(button,input,form)){padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
html[data-theme][data-db-page] main .db-editorial-body>p{margin:0 0 16px!important;font-size:17px!important;line-height:1.75!important}
html[data-theme][data-db-page] main .db-editorial-body>p:last-child{margin-bottom:0!important}
html[data-theme][data-db-page] main .db-reading-layout{max-width:1280px!important;display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:32px!important;align-items:start}
html[data-theme][data-db-page] main .db-reading-layout>div{margin-top:0!important;min-width:0}
html[data-theme][data-db-page] main .db-reading-layout>div:first-child{padding-inline-end:16px}
html[data-theme][data-db-page] main .db-reading-layout:has(>div:nth-child(3)){display:block!important}
html[data-theme][data-db-page] main .db-reading-cards{display:block!important;margin-top:0!important}
html[data-theme][data-db-page] main .db-reading-cards>p{margin:0 0 16px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;font-size:17px!important;line-height:1.75!important}
html[data-theme][data-db-page] main .db-reading-cards>p:first-child{border:0!important}
html[data-theme][data-db-page] main .db-static-reading{grid-template-columns:1fr!important;margin-block:16px!important}
html[data-theme][data-db-page] main .db-hero-composition{display:grid;grid-template-columns:1.2fr 1fr;gap:24px 48px;max-width:none!important;width:100%;padding-bottom:0!important}
html[data-theme][data-db-page] main .db-hero-composition>div:first-child{grid-column:1/-1;margin:0!important}
html[data-theme][data-db-page] main .db-hero-composition>h1{grid-column:1;grid-row:2/4;margin:0!important}
html[data-theme][data-db-page] main .db-hero-composition>p{grid-column:2;margin:0!important;max-width:none!important;font-size:17px!important;line-height:1.75!important;padding-inline-start:24px;border-inline-start:2px solid var(--ds-line)}
html[data-theme][data-db-page] main .db-hero-composition>div:last-child{grid-column:1/-1;margin-top:8px!important}
html[data-theme][data-db-page] main section.ds-first-section>div:has(>.db-hero-composition){display:block!important}
html[data-theme][data-db-page] main section.ds-first-section>div[class*='absolute']:has(svg){display:none!important}
/* Legal articles retain their complete wording and reading order. */
html[data-theme][data-db-page=main] main section:has(h2[id^=article]){padding-block:32px!important}
html[data-theme][data-db-page=main] main section>div[class*='max-w-']:has(>article){max-width:1240px!important}
/* Compact condition tiles and institutional resources. */
html[data-theme][data-db-page] main .db-content-grid>div.flex:has(>svg){padding:16px 0!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;background:transparent!important;gap:12px!important;min-height:0!important}
html[data-theme][data-db-page] main .db-content-grid>div.flex>svg{width:40px!important;height:40px!important;flex:none;padding:10px!important;background:#ffd200!important;border-radius:50%!important;color:#101010!important}
html[data-theme][data-db-page] main .db-resources{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
html[data-theme][data-db-page] main .db-resources>a{margin:0!important;padding:16px!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;background:var(--ds-card)!important;align-items:center!important}
html[data-theme][data-db-page] main :is(.vd-number,.mp-index,.mp-step-number,.rf-number,.chapter-number){display:inline-flex!important;align-items:center;justify-content:center;width:40px!important;height:40px!important;flex:none;border-radius:50%!important;background:#ffd200!important;color:#101010!important;font-size:13px!important;font-weight:700}
html[data-theme][data-db-page] main :is(.eyebrow,.vd-eyebrow,.mp-eyebrow,.rf-kicker,.section-label,[class*='uppercase'][class*='text-yellow-700']){color:var(--ds-text)!important;letter-spacing:.08em!important;font-size:12px!important;line-height:1.7!important}
html[data-theme][data-db-page] main :is(.eyebrow,.vd-eyebrow,.mp-eyebrow,.rf-kicker,.section-label){border-inline-start:3px solid #ffd200;padding-inline-start:12px}
/* Visa deposit: a composed intro, then distinct functional and editorial areas. */
html[data-theme][data-db-page=depot-visa] main .vd-hero-inner{max-width:1240px!important;padding-inline:24px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 160px!important;gap:32px!important;align-items:center}
html[data-theme][data-db-page=depot-visa] main .vd-hero-inner>div:first-child{display:grid;grid-template-columns:1.1fr 1fr;gap:16px 32px}
html[data-theme][data-db-page=depot-visa] main .vd-eyebrow{grid-column:1/-1;margin:0!important}
html[data-theme][data-db-page=depot-visa] main .vd-hero h1{grid-column:1;grid-row:2/4;margin:0!important}
html[data-theme][data-db-page=depot-visa] main :is(.vd-lead,.vd-intro){grid-column:2;margin:0!important;font-size:16px!important;line-height:1.8!important}
html[data-theme][data-db-page=depot-visa] main .vd-mark{padding:16px!important;background:var(--ds-card)!important;border:1px solid var(--ds-line)!important;border-radius:16px!important}
html[data-theme][data-db-page=depot-visa] main .vd-wrap{padding-inline:24px!important}
html[data-theme][data-db-page=depot-visa] main .vd-title{align-items:center!important;gap:16px!important;margin-bottom:24px!important}
html[data-theme][data-db-page=depot-visa] main .vd-title h2{margin:0!important}
html[data-theme][data-db-page=depot-visa] main .vd-timeline{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;border:0!important;background:transparent!important}
html[data-theme][data-db-page=depot-visa] main .vd-timeline>details{margin:0!important;height:fit-content}
html[data-theme][data-db-page=depot-visa] main :is(.vd-role-grid,.vd-status-grid){gap:16px!important;align-items:start}
/* Migrants / refusal: resource grids, numbered steps and natural-height topics. */
html[data-theme][data-db-page] main :is(.mp-steps,.rf-steps){display:grid!important;grid-template-columns:1fr!important;gap:0!important;list-style:none;padding:0!important}
html[data-theme][data-db-page] main :is(.mp-steps,.rf-steps)>li{display:grid!important;grid-template-columns:40px minmax(0,1fr);column-gap:16px;row-gap:8px;padding:20px 0!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;background:transparent!important}
html[data-theme][data-db-page] main :is(.mp-steps,.rf-steps)>li>:first-child{grid-column:1;grid-row:1/3}
html[data-theme][data-db-page] main :is(.mp-steps,.rf-steps)>li>:not(:first-child){grid-column:2;margin:0!important}
html[data-theme][data-db-page] main :is(.mp-directory,.rf-source-list){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:0!important;border:0!important;background:transparent!important}
html[data-theme][data-db-page] main :is(.mp-directory-link,.rf-source-list>.rf-source){padding:16px!important;background:var(--ds-card)!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;margin:0!important;min-height:0!important}
html[data-theme][data-db-page] main :is(.mp-topic,.rf-topic){border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;background:transparent!important;padding:24px 0!important;display:flex;flex-direction:column;gap:12px!important}
html[data-theme][data-db-page] main :is(.mp-topic,.rf-topic)>:is(p,h3){margin:0!important}
html[data-theme][data-db-page] main :is(.mp-topic,.rf-topic)>h3{border-inline-start:3px solid #ffd200;padding-inline-start:12px}
html[data-theme][data-db-page] main :is(.mp-topic,.rf-topic) .rf-sources{margin-top:8px!important}
/* Related explanatory points share a list; forms and source case studies keep their containers. */
html[data-theme][data-db-page=refus] main .rf-grid:has(>.rf-card):not(:has(form,input,button)){align-items:stretch!important;background:var(--ds-field);border-radius:16px;padding:8px 20px;gap:0 28px!important}
html[data-theme][data-db-page=refus] main .rf-grid:has(>.rf-card):not(:has(form,input,button))>.rf-card{padding:20px 0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important}
/* E-book: chapter tiles, editorial panels and a genuine method grid. */
html[data-theme][data-db-page=e-book] main .editorial-two-col{grid-template-columns:1fr!important;gap:20px!important;align-items:start!important;max-width:80ch;margin-inline:auto}
html[data-theme][data-db-page=e-book] main .editorial-two-col>.editorial-copy{background:transparent;border:0;border-radius:0;padding:0}
html[data-theme][data-db-page=e-book] main :is(.topic-item,.reason,.method-list>li,.editorial-quote){background:transparent!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;padding:20px 0!important;min-height:0!important;margin:0!important}
html[data-theme][data-db-page=e-book] main .method-list{display:grid!important;gap:0!important;padding:0!important}
html[data-theme][data-db-page=e-book] main .method-list>li{padding:16px 0!important;align-items:center}
html[data-theme][data-db-page=e-book] main .chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 32px!important}
html[data-theme][data-db-page=e-book] main .chapter-grid>.chapter-card{padding:20px 0!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;background:transparent!important}
html[data-theme][data-db-page=e-book] main :is(.topic-grid,.reason-grid,.chapter-grid){gap:16px!important;margin-top:24px!important;align-items:stretch!important}
html[data-theme][data-db-page=e-book] main .topic-item>svg{width:48px!important;height:48px!important;padding:12px!important;background:#ffd200!important;color:#101010!important;border-radius:50%!important}
html[data-theme][data-db-page=e-book] main .author-layout{gap:32px!important;align-items:start!important}
html[data-theme][data-db-page=e-book] main .author-layout>p{background:transparent;border:0;border-radius:0;padding:0!important;margin:0!important}
html[data-theme][data-db-page=e-book] main .faq-layout{max-width:1240px!important;grid-template-columns:1fr!important;gap:24px!important}
/* Info: the original choices become two balanced cards, with editorial panels. */
html[data-theme][data-db-page=info] main section>div[class*='grid'][class*='lg:grid-cols-']{gap:32px!important;align-items:start}
html[data-theme][data-db-page=info] main aside{background:var(--ds-card)!important;border:1px solid var(--ds-line)!important;border-inline-start:3px solid #ffd200!important;border-radius:16px!important;padding:24px!important}
html[data-theme][data-db-page=info] main article{min-height:0!important;gap:12px!important;border-radius:16px!important}
/* Premium: existing steps and cases receive distinct compact compositions. */
html[data-theme=light][data-db-page=premium] main #services .service-layout{--ds-text:#f5f7fa;--ds-muted:#bbc5d0;--ds-line:#34404b}
html[data-theme][data-db-page=premium] main :is(.step,.cases>li){background:transparent!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;padding:16px 0!important;min-height:0!important}
html[data-theme][data-db-page=premium] main :is(.steps,.cases){display:grid!important;gap:0!important;padding:0!important}
html[data-theme][data-db-page=premium] main :is(.service-layout,.personal-grid,.about-grid){gap:32px!important;align-items:start!important}
/* Existing accordions keep their native buttons and open/close logic. */
html[data-theme][data-db-page] main .ds-faq{border-radius:16px!important;margin-block:12px!important}
html[data-theme][data-db-page] main .ds-faq-trigger{display:flex!important;align-items:center;gap:12px!important}
html[data-theme][data-db-page] main .ds-faq-trigger>svg{width:28px!important;height:28px!important;padding:6px!important;background:#ffd200!important;color:#101010!important;border-radius:50%!important;flex:none}
@media(min-width:1024px){html[data-theme][data-db-page] main .db-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:1023px){html[data-theme][data-db-page] main .db-hero-composition{grid-template-columns:1fr;gap:16px}html[data-theme][data-db-page] main .db-hero-composition>:is(h1,p,div){grid-column:1!important;grid-row:auto!important}html[data-theme][data-db-page=depot-visa] main .vd-hero-inner{grid-template-columns:1fr!important}html[data-theme][data-db-page=depot-visa] main .vd-mark{display:none!important}}
@media(max-width:767px){html[data-theme][data-db-page] main :is(.db-reading-layout,.db-editorial-layout){grid-template-columns:1fr!important;gap:24px!important}html[data-theme][data-db-page] main .db-reading-layout>div:first-child{padding-inline-end:0}html[data-theme][data-db-page] main .db-tile{padding:16px 0!important}html[data-theme][data-db-page] main .db-tile-grid{padding:8px 16px;grid-template-columns:1fr!important}html[data-theme][data-db-page] main .db-tile{grid-template-columns:40px minmax(0,1fr)!important;column-gap:12px!important}html[data-theme][data-db-page] main .db-tile>svg{width:40px!important;height:40px!important;padding:10px!important}html[data-theme][data-db-page] main .db-hero-composition>p{padding-inline-start:16px;font-size:14px!important}html[data-theme][data-db-page=depot-visa] main .vd-hero-inner>div:first-child{display:block!important}html[data-theme][data-db-page=depot-visa] main :is(.vd-hero-inner,.vd-wrap){padding-inline:16px!important}html[data-theme][data-db-page=depot-visa] main .vd-hero :is(h1,.vd-lead,.vd-intro){margin-top:16px!important}html[data-theme][data-db-page=depot-visa] main .vd-timeline{grid-template-columns:1fr!important}html[data-theme][data-db-page] main :is(.mp-steps,.rf-steps,.mp-directory,.rf-source-list){grid-template-columns:1fr!important}html[data-theme][data-db-page] main :is(.mp-steps,.rf-steps)>li{padding:16px 0!important}html[data-theme][data-db-page=e-book] main .editorial-two-col{grid-template-columns:1fr!important;gap:24px!important}html[data-theme][data-db-page=e-book] main :is(.topic-item,.reason,.editorial-quote){padding:16px 0!important}html[data-theme][data-db-page] main .db-content-grid{margin-top:24px!important}}
@media(prefers-reduced-motion:reduce){html[data-theme][data-db-page] main .db-tile{transition:none!important}}

/* Visual composition only; existing navigation links and controls are preserved. */
html[data-theme] .dp-footer.dbf .dp-footer-grid{gap:24px!important;align-items:start}
html[data-theme] .dp-footer.dbf .dp-footer-group{padding:16px;border:1px solid #34404b;border-radius:16px;background:#10171d;min-width:0}
html[data-theme=light] .dp-footer.dbf .dp-footer-group{background:#f8f9fb;border-color:#dce2e8}
html[data-theme] .dp-footer.dbf .dp-footer-group h2{display:flex;align-items:center;gap:12px;margin-bottom:12px!important}
html[data-theme] .dp-footer.dbf .dp-footer-group h2>svg{background:#ffd200;color:#101010!important;padding:8px;width:36px!important;height:36px!important;border-radius:50%}
html[data-theme] .dp-footer.dbf .dp-footer-group .dp-link{padding-block:8px!important;min-height:40px}
html[data-theme] .dp-footer.dbf .dp-footer-wrap{max-width:1400px!important}
html[data-theme=light] #dp-navigation :is(a,button):focus-visible,html[data-theme=light] .dp-footer a:focus-visible{outline-color:#14191f!important}
html[data-theme] .dp-footer.dbf .dp-language[aria-current]{background:#ffd200;color:#101010!important;border-radius:8px;padding-inline:12px}
@media(max-width:767px){html[data-theme] .dp-footer.dbf .dp-footer-grid{gap:12px!important}html[data-theme] .dp-footer.dbf .dp-footer-group{padding:12px}html[data-theme] .dp-footer.dbf .dp-footer-group h2{gap:8px;font-size:13px!important}html[data-theme] .dp-footer.dbf .dp-footer-group h2>svg{width:28px!important;height:28px!important;padding:6px}html[data-theme] .dp-footer.dbf .dp-footer-group .dp-link{gap:8px!important}}

html[data-theme=light][data-db-page] main .db-hero-composition>div:first-child{color:#14191f!important}
html[data-theme=light][data-db-page] main [class*="text-yellow"]:is(p,span):not(.ds-action *):not(footer *){color:#14191f!important}
/* Final exceptions identified in rendered pages. */
html[data-theme][data-db-page] main :is(.chapter-card,.reason,.topic-item,.procedure-card,.db-tile,.intake-card){min-width:0!important}
html[data-theme][data-db-page] main :is(.chapter-card,.reason,.topic-item,.procedure-card,.db-tile,.intake-card) :is(h2,h3,p){overflow-wrap:break-word;word-break:normal}
html[data-theme][data-db-page=premium] main .hero h1,html[data-theme][data-db-page=premium] main .hero h1 :is(span,strong){color:var(--ds-text)!important}
html[data-theme][data-db-page=premium] main .hero h1:after{content:'';display:block;width:64px;height:3px;background:#ffd200;margin-top:24px}
html[data-theme][data-db-page] main .ra-editorial>a{display:inline-flex;align-items:center;min-height:48px;padding:12px 16px;border:1px solid #ffd200;background:#ffd200!important;color:#101010!important;border-radius:10px;text-decoration:none!important;font-weight:600;margin-top:24px}
html[data-theme][data-db-page=e-book] main .book-button-outline{background:var(--ds-card)!important;color:var(--ds-text)!important;border:1px solid var(--ds-line)!important}
html[data-theme][data-db-page=errors] .error-code{color:var(--db-text)!important;border-color:#ffd200!important;background:var(--db-surface)!important}
html[data-theme=light][data-db-page] main .db-hero-composition>div:first-child>span:not([class*='bg-yellow']){color:#14191f!important}
@media(min-width:1024px){
 html[data-theme][data-db-page=main] main section.ds-first-section>div:has(>h1){display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;gap:24px 48px!important;align-items:start}
 html[data-theme][data-db-page=main] main section.ds-first-section>div:has(>h1)>p:first-child{grid-column:1/-1;margin:0!important}
 html[data-theme][data-db-page=main] main section.ds-first-section>div:has(>h1)>h1{grid-column:1;grid-row:2/5;margin:0!important;max-width:none!important}
 html[data-theme][data-db-page=main] main section.ds-first-section>div:has(>h1)>:not(h1):not(p:first-child){grid-column:2;margin-top:0!important;max-width:none!important}
 html[data-theme][data-db-page=main] main section.ds-first-section>div:has(>h1)>p:not(:first-child){padding:24px;background:var(--ds-card);border:1px solid var(--ds-line);border-inline-start:3px solid #ffd200;border-radius:16px}
 html[data-theme][data-db-page=e-book] main .book-hero{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px!important;padding-inline:max(24px,calc((100vw - 1240px)/2))!important;align-items:center}
 html[data-theme][data-db-page=e-book] main .book-hero>.hero-content{padding:0!important;margin:0!important;width:100%;max-width:none}
 html[data-theme][data-db-page=e-book] main .book-hero>.hero-book-image{margin:0!important;width:100%;max-width:100%!important}
 html[data-theme][data-db-page=premium] main .hero-content{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 48px!important;max-width:none!important}
 html[data-theme][data-db-page=premium] main .hero-content>.eyebrow{grid-column:1/-1;margin:0!important}
 html[data-theme][data-db-page=premium] main .hero-content>h1{grid-column:1;grid-row:2/5;max-width:none!important;margin:0!important}
 html[data-theme][data-db-page=premium] main .hero-content>:not(h1):not(.eyebrow){grid-column:2;margin:0!important;max-width:none!important}
}
html[data-theme=light] #dp-navigation .dp-category-current{color:#14191f!important}
html[data-theme] .error-badge{color:var(--db-text)!important;border-color:#ffd200!important;background:var(--db-surface)!important}
html[data-theme] .download-dialog{background:var(--db-surface)!important;color:var(--db-text)!important;border:1px solid var(--db-line)!important;border-radius:16px!important}
html[data-theme] .download-dialog :is(h2,strong,.download-label){color:var(--db-text)!important}
html[data-theme] .download-dialog :is(p,.download-notice):not(.download-error):not([role=alert]){color:var(--db-muted)!important}
html[data-theme] .download-dialog input{background:var(--db-page)!important;border:1px solid var(--db-line)!important;border-radius:10px!important;color:var(--db-text)!important;min-height:48px}
html[data-theme] .download-dialog .book-button-primary{background:#ffd200!important;color:#101010!important;border:1px solid #ffd200!important;min-height:48px!important;border-radius:10px!important;padding:12px 16px!important}
html[data-theme] .download-dialog :is(button,input,a):focus-visible{outline:3px solid #ffd200!important;outline-offset:4px}
html[data-theme][data-db-page] main .db-content-grid:has(>div.flex>svg){grid-template-columns:repeat(2,minmax(0,1fr))!important}
html[data-theme][data-db-page] main .db-content-grid>div.flex:has(>svg)>:not(svg){min-width:0;overflow-wrap:anywhere}
@media(min-width:1024px){html[data-theme][data-db-page] main .db-content-grid:has(>div.flex>svg){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:430px){html[data-theme][data-db-page] main .db-content-grid>div.flex:has(>svg){padding:12px 0!important;gap:12px!important}html[data-theme][data-db-page] main .db-content-grid>div.flex>svg{width:32px!important;height:32px!important;padding:8px!important}}
/* Preserve the existing scroll label as a compact, natural-flow cue. */
html[data-theme][data-db-page=main] main section.ds-first-section>div[class*='absolute']:has(svg){position:static!important;display:flex!important;justify-content:center;gap:8px!important;inset:auto!important;transform:none!important;margin:24px 0 0!important;animation:none!important}
@media(min-width:1024px){html[data-theme][data-db-page=e-book] main .book-hero{display:block!important}html[data-theme][data-db-page=e-book] main .book-hero>.db-book-composition{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;gap:16px 32px!important;max-width:1240px!important;width:100%;align-items:start}html[data-theme][data-db-page=e-book] main .db-book-composition>:not(figure){grid-column:1!important;margin:0!important;max-width:none!important}html[data-theme][data-db-page=e-book] main .db-book-composition>.hero-book-image{grid-column:2!important;grid-row:1/8!important;align-self:center;margin:0!important;max-width:100%!important;width:100%}}
html[data-theme][data-db-page] main :is(.fact-index,.method-list>li>span,.step>span:first-child){color:var(--ds-text)!important}
html[data-theme][data-db-page=main] main .ds-section>div[class*='mx-auto'][class*='px-']{padding-inline:24px!important}
@media(max-width:767px){html[data-theme][data-db-page=main] main .ds-section>div[class*='mx-auto'][class*='px-']{padding-inline:16px!important}}

/* Targeted correction: empty one-third overlay on Accueil / A propos in dark mode. */
html[data-theme=dark][data-db-page=main] main section > div[class~='absolute'][class~='inset-y-0'][class~='end-0'][class~='w-1/3'][class~='bg-yellow/[0.03]']:empty{display:none!important}
/* Main book cover: bounded, centered and sized from its intrinsic ratio. */
html[data-theme][data-db-page=e-book] main .db-book-composition > figure.hero-book-image{width:100%!important;max-width:min(100%,640px)!important;margin-inline:auto!important;box-sizing:border-box}
html[data-theme][data-db-page=e-book] main .hero-book-image picture{display:block;width:100%;height:auto!important;aspect-ratio:auto!important}
html[data-theme][data-db-page=e-book] main .hero-book-image img{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important}

/* Targeted desktop layout: legal content has one reading column. */
@media(min-width:1024px){
 html[data-theme][data-db-page] main.db-privacy-page section.ds-first-section>div:has(>h1){grid-template-columns:minmax(0,1fr)!important}
 html[data-theme][data-db-page] main.db-privacy-page section.ds-first-section>div:has(>h1)>*{grid-column:1!important;grid-row:auto!important}
 html[data-theme][data-db-page] main.db-privacy-page .db-reading-layout{grid-template-columns:minmax(0,1fr)!important}
}
/* Same local Arabic typeface as the Arabic homepage, only in these two tools. */
html[lang=ar][data-db-page=verification-visa] #verification-content,
html[lang=ar][data-db-page=depot-visa] #visa-content{font-family:DossierBelArabic,system-ui,sans-serif}

/* Screenshot corrections are desktop-only; smaller viewports keep their existing rules. */
@media(min-width:1280px){
 /* The nested history grid has room for two readable cards, not four. */
 html[data-theme][data-db-page=main] main .db-editorial-body>.db-content-grid:has(>div.flex>svg){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html[data-theme][data-db-page=main] main .db-editorial-body>.db-content-grid>div.flex:has(>svg)>:not(svg){overflow-wrap:normal}
 /* The homepage renderer expects step numbers missing from its timeline data. */
 html[data-theme][data-db-page=main] main .db-content-grid:has(>div>div>span.rounded-full:empty){counter-reset:procedure-step}
 html[data-theme][data-db-page=main] main .db-content-grid>div>div>span.rounded-full:empty{counter-increment:procedure-step;color:var(--ds-text)!important;border-color:#ffd200!important}
 html[data-theme][data-db-page=main] main .db-content-grid>div>div>span.rounded-full:empty::before{content:counter(procedure-step,decimal-leading-zero)}
 html[data-theme=light][data-db-page=main] main section>div[class~='absolute'][class~='inset-y-0'][class~='end-0'][class~='w-1/3'][class~='bg-yellow/[0.03]']:empty{display:none!important}
 /* Preserve the black administrative section and its yellow CTA. */
 
 /* References and their source links remain separate, aligned blocks. */
 html[data-theme][data-db-page=depot-visa] main .vd-delay-selection{color:#f5f7fa!important}
 html[data-theme][data-db-page=depot-visa] main .vd-table td:last-child .vd-source{display:flex;width:fit-content;max-width:100%;margin-top:8px}
 /* Use the existing original theme logos at their intrinsic proportions. */
 html[data-theme][data-db-page=depot-visa] main .vd-hero-inner{grid-template-columns:minmax(0,1fr) 200px!important}
 html[data-theme][data-db-page=depot-visa] main .vd-mark img{width:100%!important;height:auto!important;max-width:100%;max-height:144px;object-fit:contain}
 html[data-theme=light][data-db-page=depot-visa] main .vd-mark img{content:url('/shared/logo-light.png')}
 html[data-theme=dark][data-db-page=depot-visa] main .vd-mark img{content:url('/shared/logo-dark.png')}
 html[data-theme][data-db-page=depot-visa] main .vd-mark span{color:var(--ds-text)!important}
}

/* Mobile finishing: only components with observed narrow cards or missing contrast. */
/* Premium: the About text uses the row formerly shared with the removed logo. */
html[data-theme][data-db-page=premium] main #about .about-grid{grid-template-columns:minmax(0,1fr)!important}

@media(max-width:600px){
 html[data-theme][data-db-page=main] main .db-content-grid:has(>div.flex>svg){grid-template-columns:1fr!important}
 html[data-theme][data-db-page=main] main .db-content-grid>div.flex:has(>svg)>:not(svg){overflow-wrap:normal}
 html[data-theme][data-db-page=main] main .db-content-grid:has(>div>div>span.rounded-full:empty){counter-reset:procedure-step}
 html[data-theme][data-db-page=main] main .db-content-grid>div>div>span.rounded-full:empty{counter-increment:procedure-step;color:var(--ds-text)!important;border-color:#ffd200!important}
 html[data-theme][data-db-page=main] main .db-content-grid>div>div>span.rounded-full:empty::before{content:counter(procedure-step,decimal-leading-zero)}
 html[data-theme=light][data-db-page=main] main section>div[class~='absolute'][class~='inset-y-0'][class~='end-0'][class~='w-1/3'][class~='bg-yellow/[0.03]']:empty{display:none!important}
 html[data-theme=light] .dp-footer .dbf-legal strong{color:var(--db-text)!important}
 html[data-theme][data-db-page=depot-visa] main .vd-delay-selection{color:#f5f7fa!important}
 html[data-theme][data-db-page=depot-visa] main .vd-table td:last-child .vd-source{display:flex;width:fit-content;max-width:100%;margin-top:8px}
 html[data-theme][data-db-page=depot-visa] main .vd-status-grid summary{padding:16px!important;min-height:48px}
 html[data-theme][data-db-page=depot-visa] main .vd-status-grid summary::after{content:'+';margin-inline-start:auto;color:var(--ds-text);font-size:20px}
 html[data-theme][data-db-page=depot-visa] main .vd-status-grid details[open]>summary::after{content:'−'}

 html[data-theme][data-db-page=refus] main .rf-related a{color:var(--ds-text)!important;text-decoration:underline;text-underline-offset:3px}
 html[data-theme][data-db-page=refus] main .rf-help>a[href*='wa.me']{background:#087d41!important;color:#fff!important;border-color:#087d41!important}
 html[data-theme][data-db-page=refus] main .rf-faq summary::after{content:'+';margin-inline-start:auto;flex:none;color:var(--ds-text);font-size:20px}
 html[data-theme][data-db-page=refus] main .rf-faq details[open]>summary::after{content:'−'}

 html[data-theme][data-db-page=migrants] main .mp-hero-meta{color:var(--ds-muted)!important}
 html[data-theme][data-db-page=migrants] main p.mp-number{display:block!important;background:transparent!important;color:var(--ds-muted)!important;min-width:0;min-height:0;width:auto;height:auto;border-radius:0!important}
 html[data-theme][data-db-page=migrants] main a.mp-button[href*='wa.me']{background:#087d41!important;color:#fff!important;border-color:#087d41!important}

 html[data-theme][data-db-page=info] main button[class~='rounded-full'][class~='border-foreground']{border-radius:10px!important}

 html[data-theme][data-db-page=e-book] main .topic-grid{grid-template-columns:1fr!important}
 html[data-theme][data-db-page=e-book] main .topic-item :is(h3,p){overflow-wrap:normal}
 html[data-theme][data-db-page=e-book] main .download-section .download-count,html[data-theme][data-db-page=e-book] main .download-section .download-count strong{color:var(--ds-muted)!important}


 html[data-theme][data-db-page=premium] main .intake-card .arrow{color:var(--ds-text)!important}
 
 html[data-theme][data-db-page=premium] main :is(.books,.reading){background:var(--ds-page)!important}
 html[data-theme][data-db-page=premium] main .procedure-grid{grid-template-columns:1fr!important}
 html[data-theme][data-db-page=premium] main .contact-grid a[href*='wa.me']{background:#087d41!important;color:#fff!important;border-color:#087d41!important}
 html[data-theme][data-db-page=premium] main .contact-grid a[href*='wa.me'] :is(span,svg){color:#fff!important}

 html[data-theme][data-db-page=main] main [class~='rounded-full'][class~='bg-yellow'][class~='text-black']{color:#101010!important}

 html[lang=ar][data-db-page=e-book] .download-dialog :is(h2,p,label,button,a){font-family:DossierBelArabic,system-ui,sans-serif!important}

}

/* Flowing editorial content: text and lists share a reading area; useful notices retain their own frame. */
html[data-theme][data-db-page] main :is(.db-reading-layout,.db-editorial-layout):not(:has(button,input,form)){grid-template-columns:minmax(0,1fr)!important;gap:20px!important;max-width:80ch!important;margin-inline:auto}
html[data-theme][data-db-page] main :is(.db-reading-layout,.db-editorial-layout):not(:has(button,input,form))>div:first-child{padding-inline-end:0}
html[data-theme][data-db-page] main :is(.db-reading-cards,.db-editorial-body):not(:has(button,input,form)) :is(p,h2,h3){overflow-wrap:break-word;word-break:normal}
html[data-theme][data-db-page] main .db-reading-cards>p:last-child{margin-bottom:0!important}
html[data-theme][data-db-page] main :is(.db-reading-layout,.db-editorial-layout):not(:has(button,input,form)) h2{max-width:none;line-height:1.35!important;text-wrap:balance}
html[data-theme][data-db-page] main .db-content-grid:has(>div.flex>svg){align-items:stretch!important;padding:8px 20px;background:var(--ds-field)!important;border:0!important;border-radius:16px;gap:0 24px!important}
html[data-theme][data-db-page] main :is(.mp-topics,.rf-topics){grid-template-columns:minmax(0,1fr)!important;max-width:80ch;margin-inline:auto;gap:0!important}
html[data-theme][data-db-page] main .mp-topic .mp-next{margin-block:8px!important}
html[data-theme][data-db-page] main .mp-topic .mp-source{margin-top:8px}
html[data-theme][data-db-page=e-book] main :is(.topic-grid,.reason-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 32px!important;padding:8px 24px;border-radius:16px;background:var(--ds-field)}
html[data-theme][data-db-page=e-book] main .topic-item>svg{width:40px!important;height:40px!important;padding:10px!important}
html[data-theme][data-db-page=e-book] main .author-layout{grid-template-columns:minmax(0,1fr)!important;max-width:80ch;margin-inline:auto;gap:20px!important}
html[data-theme][data-db-page=premium] main .cases{padding:8px 20px!important;background:var(--ds-field);border-radius:16px}
html[data-theme][data-db-page] main.db-privacy-page article{background:transparent!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;padding:24px 0!important}
@media(max-width:767px){
 html[data-theme][data-db-page] main .db-content-grid:has(>div.flex>svg){grid-template-columns:1fr!important;padding-inline:16px}
 html[data-theme][data-db-page=e-book] main :is(.topic-grid,.reason-grid){grid-template-columns:1fr!important;padding-inline:16px}
 html[data-theme][data-db-page=e-book] main .chapter-grid{grid-template-columns:1fr!important}
}
html[lang=ar][data-theme][data-db-page] main :is(.db-reading-layout,.db-editorial-layout):not(:has(button,input,form)) h2{line-height:1.55!important}

html[data-theme][data-db-page] main .db-reading-layout:not(:has(button,input,form))>div:first-child>h2:last-child{margin-bottom:0!important}
html[data-theme][data-db-page] main .db-reading-cards>div:has(>svg):not(:has(button,input,form)){border-inline-start:3px solid var(--ds-accent)!important;background:color-mix(in srgb,var(--ds-accent) 7%,var(--ds-card))!important}

/* Editorial hierarchy and open content groups. Interactive tools retain their existing UI. */
html[data-theme][data-db-page]:not([data-db-page=errors]) main h2:not(:where(footer,#dp-footer,dossierbel-assistant,dossierbel-consultation,form,.ds-panel:has(button,input,form),.db-editorial-layout:has(button,input,form),.ra-tool,.ra-guided,.ra-result-card,.ra-consult,.vc-tool,.vd-search,.rf-form-section,.form-section,.form-panel,.download-dialog) *){font-size:clamp(30px,4.5vw,42px)!important;line-height:1.18!important;font-weight:700!important;letter-spacing:-.035em;max-width:26ch;text-wrap:balance;margin-bottom:20px!important}
html[lang=ar][data-theme][data-db-page]:not([data-db-page=errors]) main h2:not(:where(footer,#dp-footer,dossierbel-assistant,dossierbel-consultation,form,.ds-panel:has(button,input,form),.db-editorial-layout:has(button,input,form),.ra-tool,.ra-guided,.ra-result-card,.ra-consult,.vc-tool,.vd-search,.rf-form-section,.form-section,.form-panel,.download-dialog) *){line-height:1.5!important;letter-spacing:normal;max-width:30ch}
html[data-theme][data-db-page] main :is(.db-reading-layout,.db-editorial-layout):not(:has(button,input,form)) h2{line-height:1.18!important}
html[lang=ar][data-theme][data-db-page] main :is(.db-reading-layout,.db-editorial-layout):not(:has(button,input,form)) h2{line-height:1.5!important}
/* The adapter's generic panel frame is removed from narrative blocks, not functional controls. */
html[data-theme][data-db-page=main] main :is(div.reveal.ds-panel,a.reveal.ds-panel,div.ds-panel:has(>h3)):not(:has(button,input,form)):not([class~='border-yellow']):not([class~='border-l-4']):not(:where(footer,dossierbel-assistant,dossierbel-consultation) *){background:transparent!important;border:0!important;border-radius:0!important;padding:20px 0!important;box-shadow:none!important;transform:none!important;text-align:start!important}
html[data-theme][data-db-page=main] main .db-content-grid:has(>div.reveal.ds-panel):not(:has(button,input,form)){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 32px!important;padding:8px 24px!important;background:var(--ds-field)!important;border:0!important;border-radius:16px!important;align-items:stretch!important}
html[data-theme][data-db-page=main] main .db-content-grid>div.reveal.ds-panel:not(:has(button,input,form)):not([class~='border-yellow']):not([class~='border-l-4']){border-bottom:1px solid var(--ds-line)!important}
html[data-theme][data-db-page] main :is(.db-reading-cards,.db-editorial-body)>div:is([class~='border-yellow'],[class~='border-l-4']):not(:has(button,input,form)),html[data-theme][data-db-page=main] main div.ds-panel:is([class~='border-yellow'],[class~='border-l-4']):not(:has(button,input,form)){padding:20px!important;border:1px solid color-mix(in srgb,var(--ds-accent) 55%,var(--ds-line))!important;border-inline-start:3px solid var(--ds-accent)!important;border-radius:12px!important;background:color-mix(in srgb,var(--ds-accent) 8%,var(--ds-card))!important;margin-block:20px!important}
html[data-theme][data-db-page] main .db-reading-cards>div:has(>svg)>svg{flex:none;width:40px!important;height:40px!important;padding:9px;background:color-mix(in srgb,var(--ds-accent) 22%,var(--ds-card));border-radius:50%;color:var(--ds-text)!important}
html[data-theme][data-db-page] main :is(.db-resources>a,.mp-directory-link,.rf-source-list>.rf-source,.procedure-card,.rf-case){background:transparent!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;padding:20px 0!important;box-shadow:none!important}
html[data-theme][data-db-page] main :is(.procedure-grid,.rf-cases){gap:0 32px!important;align-items:stretch!important}
html[data-theme][data-db-page] main :is(.mp-next,.mp-source){background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
html[data-theme][data-db-page] main :is(.mp-topic,.rf-topic)>h3{font-size:clamp(22px,3vw,28px)!important;line-height:1.35!important}
html[lang=ar][data-theme][data-db-page] main :is(.mp-topic,.rf-topic)>h3{line-height:1.6!important}
html[data-theme][data-db-page] main.db-privacy-page .ds-panel:not(:has(form,input,button)){background:transparent!important;border:0!important;border-radius:0!important;padding:0!important}
html[data-theme][data-db-page] main.db-privacy-page article h2{font-size:clamp(24px,3vw,30px)!important;max-width:none}
html[data-theme][data-db-page=info] main article:not(:has(button,input,form)),html[data-theme][data-db-page=info] main aside:not(:has(button,input,form)){background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
@media(max-width:767px){
 html[data-theme][data-db-page=main] main .db-content-grid:has(>div.reveal.ds-panel):not(:has(button,input,form)){grid-template-columns:1fr!important;padding:8px 20px!important}
 html[data-theme][data-db-page] main :is(.db-reading-cards,.db-editorial-body)>p{font-size:17px!important;line-height:1.7!important}
}

/* Short explanatory points belong to one list, rather than one frame per sentence. */
html[data-theme][data-db-page=main] main :is(.db-editorial-body,.db-reading-cards):not(:has(button,input,form)) :is(div,ul):has(>:is(div,li).flex>svg){background:var(--ds-field)!important;border:0!important;border-radius:16px!important;padding:8px 20px!important;gap:0!important}
html[data-theme][data-db-page=main] main :is(.db-editorial-body,.db-reading-cards):not(:has(button,input,form)) :is(div,ul)>:is(div,li).flex:has(>svg):not([class~='border-yellow']):not([class~='border-l-4']){border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;background:transparent!important;padding:14px 0!important;margin-block:0!important;min-height:0!important}
html[data-theme][data-db-page=main] main .ds-panel:has(>h2):not(:has(a,button,input,form)){background:transparent!important;border:0!important;border-radius:0!important;padding:20px 0!important}
html[data-theme][data-db-page=verification-visa] main .vc-editorial article{background:transparent!important;border:0!important;border-bottom:1px solid var(--ds-line)!important;border-radius:0!important;padding:20px 0!important}

html[data-theme][data-db-page=premium] main .intake h2{color:#f5f7fa!important}

/* Restore search spacing lost to these pages' reset; absorb the book card's -28px overlap. */
html[data-db-page=e-book] #book-main > dossierbel-search{margin:clamp(18px,2.2vw,30px) auto calc(28px + clamp(18px,2.2vw,30px))}
html[data-db-page=info] main > dossierbel-search{margin:clamp(18px,2.2vw,30px) auto}

/* Fourteen-page editorial finishing pass. No hero, form, search or consultation selectors. */
/* Shared reading groups on Home, Procedures and About retain their reading order. */
html[data-theme][data-db-page] main[data-db-composition]:is([data-db-composition=home],[data-db-composition=procedures],[data-db-composition=about]) :is(.db-reading-layout,.db-editorial-layout):not(:has(button,input,form)) h2{font-size:clamp(24px,2.4vw,32px)!important;max-width:32ch;line-height:1.35!important;margin-bottom:16px!important}
html[data-theme][data-db-page] main[data-db-composition]:is([data-db-composition=home],[data-db-composition=procedures],[data-db-composition=about]) .db-reading-cards{max-width:75ch}
html[data-theme][data-db-page] main[data-db-composition=procedures] .db-content-grid>div:has(>h3):not(:has(button,input,form)) h3{font-size:20px!important;line-height:1.45!important;margin-bottom:12px!important}
/* Services: the text beside existing service and source groups stays readable. */
html[data-theme][data-db-page] main[data-db-composition=services] section:not(#finder):not(#comparator):not(.ds-first-section) [class~="lg:col-span-4"] h2{font-size:clamp(24px,2.4vw,32px)!important;line-height:1.35!important;margin-bottom:16px!important}
html[data-theme][data-db-page] main[data-db-composition=services] .db-resources{gap:12px!important}
html[data-theme][data-db-page] main[data-db-composition=services] .db-resources>a{padding:16px!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;background:var(--ds-card)!important}
/* Contact: only the explanatory section after the complete multi-step form. */
html[data-theme][data-db-page=main] main[data-db-composition=contact] section[class~="pb-16"] .ds-panel:has(>h2){padding:24px!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;background:var(--ds-card)!important;min-width:0}
html[data-theme][data-db-page=main] main[data-db-composition=contact] section[class~="pb-16"] .ds-panel>h2{font-size:clamp(20px,2vw,24px)!important;line-height:1.4!important;max-width:none!important;letter-spacing:normal!important;margin-bottom:12px!important}
html[data-theme][data-db-page=main] main[data-db-composition=contact] section[class~="pb-16"] .ds-panel>p{max-width:65ch;margin-inline:auto;line-height:1.75!important}
/* Privacy is a continuous legal document, not a sequence of display headlines. */
html[data-theme][data-db-page=main] main[data-db-composition=privacy].db-privacy-page article h2{font-size:clamp(20px,2vw,24px)!important;line-height:1.4!important;letter-spacing:normal!important;margin-bottom:12px!important}
html[data-theme][data-db-page=main] main[data-db-composition=privacy] article p{max-width:75ch;line-height:1.75!important}
/* Premium: explanatory procedure cards and the bottom reading area only. */
html[data-theme][data-db-page=premium] main[data-db-composition=premium] .procedure-grid{gap:16px!important}
html[data-theme][data-db-page=premium] main[data-db-composition=premium] .procedure-grid .procedure-card{padding:20px!important;background:var(--ds-card)!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;min-width:0}
html[data-theme][data-db-page=premium] main[data-db-composition=premium] .reading-grid{max-width:80ch!important;margin-inline:auto;gap:20px!important}
html[data-theme][data-db-page=premium] main[data-db-composition=premium] .reading-grid h2{font-size:clamp(24px,2.4vw,32px)!important;line-height:1.35!important}
/* Info: restore the existing semantic side notice, removed by generic narrative rules. */
html[data-theme][data-db-page=info] main[data-db-composition=info] aside:not(:has(button,input,form)){background:var(--ds-card)!important;border:1px solid var(--ds-line)!important;border-inline-start:3px solid var(--ds-accent)!important;border-radius:16px!important;padding:24px!important;min-width:0}
html[data-theme][data-db-page=info] main[data-db-composition=info] section:not(.ds-first-section) h2{font-size:clamp(24px,2.4vw,32px)!important;line-height:1.35!important;margin-bottom:16px!important}
/* E-book: keep all download controls intact; compose author, quote and chapter content. */
html[data-theme][data-db-page=e-book] main[data-db-composition=ebook] .author-layout{padding:24px;border:1px solid var(--ds-line);border-radius:16px;background:var(--ds-card)}
html[data-theme][data-db-page=e-book] main[data-db-composition=ebook] .editorial-quote{padding:24px!important;border:1px solid var(--ds-line)!important;border-inline-start:3px solid var(--ds-accent)!important;border-radius:16px!important;background:var(--ds-card)!important}
html[data-theme][data-db-page=e-book] main[data-db-composition=ebook] .chapter-card h3{font-size:20px!important;line-height:1.45!important}
/* Refus and Migrants: topic hierarchy and grouped case/method explanations. */
html[data-theme][data-db-page] main[data-db-composition]:is([data-db-composition=refus],[data-db-composition=migrants]) :is(.rf-topic,.mp-topic)>h3{font-size:clamp(20px,2vw,24px)!important;line-height:1.45!important}
html[data-theme][data-db-page=refus] main[data-db-composition=refus] .rf-grid:has(>.rf-case){gap:16px!important}
html[data-theme][data-db-page=refus] main[data-db-composition=refus] .rf-grid:has(>.rf-case)>.rf-case{padding:24px!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;background:var(--ds-card)!important}
html[data-theme][data-db-page=migrants] main[data-db-composition=migrants] .mp-method{padding-block:32px!important;max-width:80ch!important}
html[data-theme][data-db-page=migrants] main[data-db-composition=migrants] .mp-method h2{font-size:clamp(24px,2.4vw,32px)!important;line-height:1.35!important;margin-bottom:16px!important}
/* Visa tools: explanations around the tools; never their controls or results. */
html[data-theme][data-db-page=verification-visa] main[data-db-composition=visa] .vc-editorial article{padding:20px!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;background:var(--ds-card)!important;margin-block:16px!important;min-width:0}
html[data-theme][data-db-page=verification-visa] main[data-db-composition=visa] .vc-editorial article h3{font-size:20px!important;line-height:1.45!important}
html[data-theme][data-db-page=depot-visa] main[data-db-composition=depot] .vd-title h2{font-size:clamp(24px,2.4vw,32px)!important;line-height:1.35!important;margin-bottom:12px!important}
html[data-theme][data-db-page=depot-visa] main[data-db-composition=depot] .vd-role-grid{align-items:stretch!important;gap:16px!important}
html[data-theme][data-db-page=depot-visa] main[data-db-composition=depot] .vd-role-grid .vd-role{min-width:0;padding:20px!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;background:var(--ds-card)!important}
html[data-theme][data-db-page=analyse-refus-visa] main[data-db-composition=analysis] .ra-editorial{max-width:80ch!important;margin-inline:auto;padding:24px!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;background:var(--ds-card)!important}
html[data-theme][data-db-page=analyse-refus-visa] main[data-db-composition=analysis] .ra-editorial h2{font-size:clamp(24px,2.4vw,32px)!important;line-height:1.35!important;margin-bottom:16px!important}
/* Logical properties preserve Arabic order; long NL/AR headings wrap without clipping. */
html[data-theme][data-db-page] main[data-db-composition] :is(.vc-editorial article,.rf-case,.vd-role,.procedure-card,.ra-editorial,.author-layout) :is(h2,h3,p){overflow-wrap:break-word;word-break:normal}
html[lang=ar][data-theme][data-db-page] main[data-db-composition] :is(.db-reading-layout,.db-editorial-layout,.mp-method,.ra-editorial,.vc-editorial,.vd-title,.reading-grid,section[class~="pb-16"] .ds-panel) :is(h2,h3){line-height:1.6!important;letter-spacing:normal!important}
@media(max-width:767px){
 html[data-theme][data-db-page=main] main[data-db-composition=contact] section[class~="pb-16"] .ds-panel:has(>h2){padding:20px!important}
 html[data-theme][data-db-page=e-book] main[data-db-composition=ebook] :is(.author-layout,.editorial-quote){padding:20px!important}
 html[data-theme][data-db-page=refus] main[data-db-composition=refus] .rf-grid:has(>.rf-case){grid-template-columns:minmax(0,1fr)!important}
 html[data-theme][data-db-page=analyse-refus-visa] main[data-db-composition=analysis] .ra-editorial{padding:20px!important}
}

/* Services route finder: make step choices recognizable as DossierBel buttons. */
main[data-db-composition="services"] #finder .mt-6.grid.gap-3 > button[type="button"]{background:#ffcc00!important;color:#111827!important;border-color:#e5b700!important;border-radius:12px!important;cursor:pointer!important}
main[data-db-composition="services"] #finder .mt-6.grid.gap-3 > button[type="button"]:hover{background:#f2c000!important}
main[data-db-composition="services"] #finder .mt-6.grid.gap-3 > button[type="button"]:focus-visible{outline:2px solid #111827!important;outline-offset:3px!important}

/* Editorial step groups: shared treatment for Home and About only. */
html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps{
  counter-reset:procedure-step;padding:24px;border:1px solid var(--ds-line);border-radius:16px;background:var(--ds-field);gap:24px!important;align-items:stretch!important;
}
html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div{
  display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto 1fr;align-content:start;gap:12px;min-width:0;padding:0!important;border:0!important;
}
html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>div{grid-column:1;grid-row:1;align-self:start;margin:0!important}
html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>div>span{
  background:var(--ds-accent);border:0;color:#101010!important;font-variant-numeric:tabular-nums;
}
html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>svg{
  grid-column:2;grid-row:1;justify-self:end;align-self:center;width:24px;height:24px;color:var(--ds-text)!important;
}
html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>h3{
  grid-column:1/-1;grid-row:2;margin:0!important;line-height:1.45!important;
}
html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>p{
  grid-column:1/-1;grid-row:3;margin:0!important;max-width:none;color:var(--ds-muted)!important;line-height:1.75!important;
}
html[lang=ar][data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>p{line-height:1.95!important}
@media(max-width:767px){
  html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps{padding:4px 20px;gap:0!important;grid-template-columns:minmax(0,1fr)!important}
  html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div{
    grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 14px;padding:18px 0!important;border-bottom:1px solid var(--ds-line)!important;
  }
  html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div:last-child{border-bottom:0!important}
  html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>div{grid-row:1/3}
  html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>h3{grid-column:2;grid-row:1;align-self:center}
  html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>p{grid-column:2;grid-row:2}
  html[data-theme][data-db-page=main] main[data-db-composition=about] .db-process-steps>div{grid-template-columns:40px 20px minmax(0,1fr)}
  html[data-theme][data-db-page=main] main[data-db-composition=about] .db-process-steps>div>svg{grid-column:2;grid-row:1;width:20px;height:20px;justify-self:start}
  html[data-theme][data-db-page=main] main[data-db-composition=about] .db-process-steps>div>h3{grid-column:3}
  html[data-theme][data-db-page=main] main[data-db-composition=about] .db-process-steps>div>p{grid-column:2/-1}
}

html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>div>span.rounded-full:empty{counter-increment:procedure-step;color:#101010!important}
html[data-theme][data-db-page=main] main:is([data-db-composition=home],[data-db-composition=about]) .db-process-steps>div>div>span.rounded-full:empty::before{content:counter(procedure-step,decimal-leading-zero);color:inherit!important}
