/* Dojob Models — the neutral surfaces and appearance options of Conteúdo. */
:root {
    --dm-text: #252525; --dm-secondary: #555; --dm-muted: #666;
    --dm-line: #e4e4e4; --dm-bg: #fff; --dm-sidebar: #fafafa;
    --dm-surface: #f7f7f7; --dm-hover: #f1f1f1; --dm-active: #ededed;
    --dm-button: #282828; --dm-button-text: #fff; --dm-media: #f5f4f2;
    --dm-error: #a12936; --dm-success: #276344; --dm-sidebar-width: 232px;
    --bg-color-primary: var(--dm-bg); --bg-color-secondary: var(--dm-sidebar);
    --bg-color-tertiary: var(--dm-surface); --bg-color-quaternary: var(--dm-line);
    --bg-color-quinary: var(--dm-active); --text-color-primary: var(--dm-text);
    --text-color-secondary: var(--dm-secondary); --default-color-primary: var(--dm-button);
    --default-color-secondary: var(--dm-muted); color-scheme: light;
}
:root[data-tema="preto"] { --dm-text:#f1f1f3; --dm-secondary:#d4d4dc; --dm-muted:#b6b6c1; --dm-line:#45454f; --dm-bg:#161618; --dm-sidebar:#1d1d21; --dm-surface:#25252b; --dm-hover:#34343b; --dm-active:#34343b; --dm-button:#eeeef2; --dm-button-text:#202025; --dm-media:#222226; --dm-error:#ffb3bd; --dm-success:#a8ddbb; color-scheme:dark; }
:root[data-tema="cinza"] { --dm-text:#25262b; --dm-secondary:#484a53; --dm-muted:#575a65; --dm-line:#c3c6ce; --dm-bg:#e9eaee; --dm-sidebar:#e0e2e7; --dm-surface:#f1f2f5; --dm-hover:#d7dae2; --dm-active:#d3d6de; --dm-media:#dfe1e7; }
:root[data-tema="azul"] { --dm-text:#25313e; --dm-secondary:#455b70; --dm-muted:#52677c; --dm-line:#cbdde9; --dm-bg:#eff7fd; --dm-sidebar:#e8f2fa; --dm-surface:#e5f0f8; --dm-hover:#dbeaf6; --dm-active:#dbeaf6; --dm-button:#293e51; --dm-media:#e3edf3; }
:root[data-tema="lavanda"] { --dm-text:#302b39; --dm-secondary:#595066; --dm-muted:#6a5e79; --dm-line:#e0d6eb; --dm-bg:#fff; --dm-sidebar:#faf7fd; --dm-surface:#f4eff9; --dm-hover:#eee6f6; --dm-active:#eee6f6; --dm-button:#41364f; --dm-media:#f3eef7; }
* { box-sizing:border-box; }
html { font-family:Arial,Helvetica,sans-serif; color:var(--dm-text); background:var(--dm-bg); scroll-padding-top:88px; }
body { background:var(--dm-bg) !important; color:var(--dm-text); font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.6; margin:0; min-height:100svh; }
body.dm-shell { display:block; margin:0; min-width:0; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
a,button,select { -webkit-tap-highlight-color:transparent; }
button,a,input,select,textarea { touch-action:manipulation; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.65; }
button:active:not(:disabled) { transform:translateY(1px); }
:focus-visible { outline:2px solid var(--dm-text); outline-offset:4px; }
img,video { max-width:100%; }
h1,h2,h3 { color:var(--dm-text); line-height:1.25; font-weight:600; text-shadow:none !important; }
h1 { font-size:clamp(28px,3vw,40px); letter-spacing:-1.25px; }
h2 { font-size:22px; letter-spacing:-.6px; }
h3 { font-size:17px; letter-spacing:-.3px; }
p { color:var(--dm-muted); font-size:14px; line-height:1.75; }
a i,a span { color:inherit; }
hr,.flex-hr-text-primary,.flex-hr-text-secondary { border:0; background:var(--dm-line); height:1px; }
.hidden { display:none !important; }
.skip-link,.dm-skip-link { position:fixed; z-index:1000000; left:250px; top:-100px; padding:12px 18px; background:var(--dm-button); color:var(--dm-button-text); border-radius:8px; }
.skip-link:focus,.dm-skip-link:focus { top:12px; }
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.limit-width { width:100%; max-width:1120px; }
body.dm-shell > main { width:auto; max-width:none; min-height:65svh; margin:0 0 0 var(--dm-sidebar-width) !important; padding:104px 40px 64px; align-items:stretch; gap:32px; }
.flex-main { align-items:stretch; gap:28px; }
.flex-section { width:100%; margin-inline:auto; padding:24px 0; }
body.dm-shell > main > .limit-width,body.dm-shell > main > .flex-section { margin-inline:auto; }
.page-heading { position:static; inset:auto; display:block; width:100%; max-width:1120px; height:auto; min-height:0; z-index:auto; margin:0 auto 8px; padding:0; background:transparent; border:0; box-shadow:none; }
main header:not(.main-header) { position:static; inset:auto; height:auto; min-height:0; width:100%; z-index:auto; background:transparent; border:0; box-shadow:none; }
.page-heading h1 { margin:7px 0 12px; }
.page-eyebrow { color:var(--dm-muted); font-size:10px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; }
.page-intro { max-width:620px; color:var(--dm-muted); font-size:14px; line-height:1.8; }

/* Shared desktop sidebar and mobile navigation. */
body.dm-shell .main-header { position:fixed; inset:0 0 auto var(--dm-sidebar-width); width:auto; height:72px; min-height:0; z-index:80; border-bottom:1px solid var(--dm-line); background:var(--dm-bg); box-shadow:none; }
.header-line { width:100%; max-width:none; height:72px; min-height:0; padding:0 40px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.header-line > div:last-child { display:flex; align-items:center; justify-content:flex-end; gap:20px; margin-left:auto; }
.header-line > .dm-brand { opacity:0; visibility:hidden; pointer-events:none; }
.dm-brand { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--dm-text); }
.dm-brand-art { display:block; width:160px; max-width:100%; flex-shrink:0; aspect-ratio:5 / 2; }
.dm-brand-art .dm-brand-image { display:block; width:100%; height:auto; max-width:100%; aspect-ratio:5 / 2; object-fit:contain; object-position:center; filter:none; transform:none; }
.dm-brand-art .dm-brand-on-dark { display:none; }
:root[data-tema="preto"] .dm-brand-art .dm-brand-on-dark { display:block; }
:root[data-tema="preto"] .dm-brand-art .dm-brand-on-light { display:none; }
.header-line .dm-brand-art { width:128px; }
.dm-sidebar-brand .dm-brand-art { width:174px; }
.dm-footer-logo .dm-brand-art,.status-brand .dm-brand-art { width:180px; }
.dm-header-login { min-height:44px; display:inline-flex; align-items:center; font-size:13px; color:var(--dm-secondary); }
#headerRegister { margin:0 !important; min-height:40px; padding:9px 17px !important; font-size:12px; border-radius:8px; }
#userBalanceWrapper { color:var(--dm-text); border:1px solid var(--dm-line); border-radius:8px; padding:8px 12px; min-height:40px; }
#iconMenu { display:none; color:var(--dm-text); }
#iconMenu svg { width:21px; height:21px; }
body.dm-shell .nav-bar { display:block; position:fixed; inset:0 auto 0 0; width:var(--dm-sidebar-width); height:100dvh; padding:0; background:var(--dm-sidebar); border-right:1px solid var(--dm-line); z-index:90; transform:none; visibility:visible; opacity:1; pointer-events:auto; box-shadow:none; transition:none; }
body.dm-shell .nav-column { position:static; inset:auto; transform:none; width:100%; max-width:none; height:100%; min-height:0; overflow-y:auto; display:flex; flex-direction:column; align-items:stretch; gap:0; margin:0; padding:28px 18px 22px; border:0; background:var(--dm-sidebar); border-radius:0; }
.dm-sidebar-brand { margin:0 8px 35px; }
.dm-nav-group { margin-bottom:22px; }
.dm-nav-caption { display:block; font-size:9px; font-weight:600; letter-spacing:1.6px; color:var(--dm-muted); margin:0 13px 10px; }
.dm-nav-link { display:flex; align-items:center; gap:12px; color:var(--dm-secondary); font-size:12px; font-weight:400; line-height:1.3; min-height:44px; border:0; border-radius:8px; padding:12px 13px; margin:3px 0; width:100%; text-align:left; background:transparent; }
.dm-nav-link svg,.dm-theme-control svg { width:19px; height:19px; flex-shrink:0; }
.dm-nav-link:hover { color:var(--dm-text); background:var(--dm-hover); }
.dm-nav-link.is-current { background:var(--dm-active); color:var(--dm-text); font-weight:600; }
.dm-session-name { font-size:12px; margin:0 13px 14px; overflow-wrap:anywhere; }
.dm-sidebar-bottom { margin-top:auto; padding-top:20px; }
.dm-theme-control { display:flex; align-items:center; gap:11px; color:var(--dm-muted); font-size:11px; padding:10px 13px; flex-wrap:wrap; }
.dm-theme-control select { width:100%; margin-left:30px; max-width:133px; min-height:34px; padding:6px 9px; border-radius:6px; font-size:11px; background:var(--dm-bg); border:1px solid var(--dm-line); color:var(--dm-text); }
.dm-sidebar-note { border-top:1px solid var(--dm-line); padding:24px 13px 0; margin-top:18px; }
.dm-mini-line { display:block; height:2px; width:24px; background:var(--dm-muted); margin-bottom:16px; }
.dm-sidebar-note p { font-size:12px; line-height:1.8; margin-bottom:14px; }
.dm-sidebar-note small { color:var(--dm-muted); font-size:9px; line-height:1.6; }
.dm-bottom-nav { display:none !important; }
body.dm-shell > footer { width:auto; max-width:none; margin:0 0 0 var(--dm-sidebar-width); padding:32px 40px 20px; border-top:1px solid var(--dm-line); background:var(--dm-sidebar); gap:12px; color:var(--dm-muted); }
body.dm-shell > footer > .limit-width { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:32px; width:100%; max-width:1120px; margin-inline:auto; }
body.dm-shell > footer > .limit-width > div { display:flex; align-items:flex-start; flex-direction:column; gap:8px; }
body.dm-shell > footer > .limit-width > div:nth-child(2) { flex-direction:row; flex-wrap:wrap; gap:12px; }
body.dm-shell > footer h2 { font-size:14px; margin-bottom:5px; }
body.dm-shell > footer p,body.dm-shell > footer a { font-size:11px; line-height:1.8; }
body.dm-shell > footer a { color:var(--dm-secondary); }
body.dm-shell > footer a:hover { text-decoration:underline; }
body.dm-shell > footer > img,body.dm-shell > footer > .limit-width > div:nth-child(4) { display:none; }
body.dm-shell > footer > p { text-align:center; margin:0; color:var(--dm-muted); font-size:10px; }
#btnTop { width:auto; min-height:36px; padding:8px 12px; align-self:flex-end; color:var(--dm-muted); background:transparent; border:1px solid var(--dm-line); border-radius:7px; font-size:11px; margin-bottom:14px; }

/* Home architecture from Tops do Job, with Conteúdo's restrained palette. */
body.dm-shell > main.dm-home { padding:94px 40px 70px; }
.dm-home-container { max-width:1120px; margin-inline:auto; width:100%; }
.dm-hero { padding:54px 24px 46px; border-bottom:1px solid var(--dm-line); text-align:center; }
.dm-hero-copy { max-width:710px; margin-inline:auto; }
.dm-hero-eyebrow,.dm-home-kicker { color:var(--dm-muted); font-size:10px; letter-spacing:1.8px; font-weight:600; text-transform:uppercase; }
.dm-hero-title { font-size:clamp(38px,4.2vw,62px); letter-spacing:-2.4px; line-height:1.08; font-weight:600; max-width:650px; margin:18px auto; }
.dm-hero-description { max-width:495px; margin:0 auto; font-size:15px; line-height:1.8; }
.dm-hero-search { position:relative; max-width:590px; margin:28px auto 0; text-align:left; }
.dm-hero-search > label { display:block; margin-bottom:9px; color:var(--dm-secondary); font-size:11px; font-weight:500; }
.dm-hero-search-field { display:flex; align-items:center; position:relative; gap:12px; border:1px solid var(--dm-line); background:var(--dm-bg); border-radius:12px; padding:7px 8px 7px 17px; box-shadow:0 4px 16px #00000004; }
.dm-hero-search-field:focus-within { border-color:var(--dm-text); box-shadow:0 0 0 3px var(--dm-hover); }
.dm-hero-search-icon { color:var(--dm-muted); display:flex; flex-shrink:0; }
.dm-hero-search-icon svg { width:21px; height:21px; }
.dm-hero-search #location_search { border:0; border-radius:0; box-shadow:none; background:none; color:var(--dm-text); height:45px; min-height:45px; padding:8px 0; width:100%; font-size:14px; flex:1; min-width:0; }
.dm-hero-search #location_search:focus { outline:0; }
.dm-hero-search-field > a { min-height:44px; font-size:11px; white-space:nowrap; }
.dm-home-button,.dm-home-button-secondary { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; border-radius:8px; padding:11px 19px; font-size:12px; font-weight:500; border:1px solid var(--dm-button); background:var(--dm-button); color:var(--dm-button-text); }
.dm-home-button:hover { opacity:.88; }
.dm-home-button-secondary { border-color:var(--dm-line); background:var(--dm-bg); color:var(--dm-text); }
.dm-home-button-secondary:hover { background:var(--dm-hover); }
.dm-hero-search-hint { font-size:11px; margin:10px 2px 0; color:var(--dm-muted); }
.dm-hero-shortcuts { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px 20px; margin:22px auto 0; font-size:11px; color:var(--dm-muted); }
.dm-hero-shortcuts a:hover { text-decoration:underline; color:var(--dm-text); }
.dm-home-section { padding:38px 0; border-bottom:1px solid var(--dm-line); }
.dm-home-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom:23px; }
.dm-home-section-heading h2 { font-size:24px; margin-top:7px; letter-spacing:-.7px; }
.dm-home-section-heading p:not(.dm-home-kicker) { margin-top:8px; font-size:12px; }
.dm-home-text-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:11px; color:var(--dm-secondary); white-space:nowrap; }
.dm-home-text-link:hover { text-decoration:underline; }
.dm-home-arrow { font-size:17px; line-height:1; }
.dm-home-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.dm-home-category { min-width:0; border-radius:12px; border:1px solid var(--dm-line); background:var(--dm-bg); overflow:hidden; transition:border-color 160ms ease; }
.dm-home-category:hover { border-color:var(--dm-muted); }
.dm-home-category-media { display:block; position:relative; overflow:hidden; background:var(--dm-media); aspect-ratio:4/4.4; }
.dm-home-category-media > img { display:block; width:100%; height:100%; object-fit:cover; }
.dm-home-category-media-video img { filter:saturate(.6); }
.dm-home-play { position:absolute; inset:0; margin:auto; width:46px; height:46px; border:1px solid #ffffff80; border-radius:50%; display:grid; place-items:center; color:#fff; background:#0005; backdrop-filter:blur(5px); }
.dm-home-play svg { width:20px; height:20px; }
.dm-home-category-body { padding:17px 15px 14px; }
.dm-home-category-body h3 { font-size:15px; margin:0 0 5px; }
.dm-home-category-body p { font-size:11px; line-height:1.65; }
.dm-home-category-action { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--dm-line); margin-top:15px; padding-top:12px; font-size:11px; color:var(--dm-secondary); }
.dm-home-inclusive-links { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 24px; margin-top:23px; font-size:11px; color:var(--dm-muted); }
.dm-home-inclusive-links a:hover { text-decoration:underline; }
.dm-home-cities { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.dm-home-city { display:flex; align-items:center; justify-content:space-between; min-height:55px; padding:12px 16px; background:var(--dm-sidebar); border:1px solid var(--dm-line); border-radius:8px; font-size:12px; }
.dm-home-city:hover { background:var(--dm-hover); }
.dm-home-city span:last-child { color:var(--dm-muted); font-size:10px; }
.dm-home-city > span:first-child { font-size:12px; color:var(--dm-text); }
.dm-home-city small { display:block; color:var(--dm-muted); font-size:10px; line-height:1.65; margin-top:2px; }
body.dm-home-page > footer > .limit-width { grid-template-columns:1.5fr 1fr 1fr 1fr; gap:28px; }
body.dm-home-page > footer > .limit-width > div { display:flex !important; flex-direction:column !important; gap:9px; }
.dm-home-join { margin:36px 0; padding:30px 32px; border:1px solid var(--dm-line); background:var(--dm-sidebar); border-radius:12px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.dm-home-join h2 { font-size:25px; margin:8px 0; }
.dm-home-join p:not(.dm-home-kicker) { font-size:12px; max-width:460px; }
.dm-home-join-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.dm-home-faq { border-top:1px solid var(--dm-line); padding-top:32px; }
.dm-home-faq-list { max-width:840px; margin-top:20px; }
.dm-home-faq details { border-bottom:1px solid var(--dm-line); padding:0; }
.dm-home-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:62px; padding:16px 0; font-size:13px; font-weight:500; color:var(--dm-text); cursor:pointer; list-style:none; }
.dm-home-faq summary::-webkit-details-marker { display:none; }
.dm-home-faq summary::after { content:"+"; font-size:23px; font-weight:300; color:var(--dm-muted); }
.dm-home-faq details[open] summary::after { content:"−"; }
.dm-home-faq details p { padding:0 30px 21px 0; font-size:13px; max-width:720px; }

/* Inputs, account screens and publication tools. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea { color:var(--dm-text); background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:8px; min-height:46px; padding:11px 13px; box-shadow:none; max-width:100%; }
input::placeholder,textarea::placeholder { color:var(--dm-muted); opacity:.8; }
input[type="checkbox"],input[type="radio"] { accent-color:var(--dm-button); width:18px; height:18px; flex-shrink:0; }
textarea { line-height:1.7; resize:vertical; }
.confirm-button,.panel-btn,.action-btn,.google-button,.email-button,.premium-btn,.subscription-btn { min-height:44px; padding:11px 18px; border-radius:8px; border:1px solid var(--dm-button); background:var(--dm-button); color:var(--dm-button-text); box-shadow:none; font-size:12px; font-weight:500; transition:opacity 140ms ease; }
.confirm-button i,.confirm-button span,.panel-btn i,.panel-btn span { color:inherit; }
.confirm-button:hover,.panel-btn:hover,.action-btn:hover { box-shadow:none; filter:none; opacity:.88; }
.decline-button,.google-button,.action-btn { color:var(--dm-text); background:var(--dm-bg); border:1px solid var(--dm-line); box-shadow:none; }
.decline-button:hover { box-shadow:none; background:var(--dm-hover); }
.location-select select { background:var(--dm-bg); color:var(--dm-text); border-color:var(--dm-line); }
.google-button i,.google-button span,.action-btn i { color:inherit; }
.field-label { display:block; margin:14px 0 6px; color:var(--dm-secondary); font-weight:500; font-size:12px; text-align:left; }
.field-hint { font-size:11px; color:var(--dm-muted); line-height:1.6; }
.page-auth .page-heading { max-width:460px; }
.page-auth > main .auth-panel,.page-auth > main .login-container,.page-auth > main .register-container { width:100%; max-width:460px; margin:0 auto; padding:28px; background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:14px; box-shadow:none; align-items:stretch; gap:20px; }
.auth-panel > h2,.login-container > h2 { font-size:23px; letter-spacing:-.65px; margin:0 0 6px; }
.auth-panel .column,.auth-panel #emailForm { width:100%; align-items:stretch; gap:12px; }
.auth-panel input:not([type="checkbox"]):not([type="radio"]),.auth-panel select { width:100%; }
.auth-panel .confirm-button,.auth-panel .google-button { width:100%; }
.auth-panel > a,.auth-panel #emailForm > a { color:var(--dm-secondary); font-size:12px; text-align:center; min-height:32px; }
.auth-panel > a:hover,.auth-panel #emailForm > a:hover { text-decoration:underline; }
.auth-panel .terms,.terms-row,.register-terms { color:var(--dm-secondary); line-height:1.7; font-size:12px; }
.register-tab { width:100%; }
.register-tab.active { display:flex; flex-direction:column; align-items:stretch; gap:16px; }
.register-tab h2 { font-size:23px; }
.register-tab .grid-2 { display:grid; grid-template-columns:1fr 1fr; width:100%; gap:10px; }
.register-tab label { line-height:1.6; font-size:12px; }
.radio-card,.checkbox-card,.identify-option,.option-box { background:var(--dm-sidebar); color:var(--dm-text); border:1px solid var(--dm-line); border-radius:8px; padding:13px; box-shadow:none; }
.login-error,#loginError,#recoveryError { color:var(--dm-error); font-size:12px; line-height:1.6; }
.page-account .page-heading,.page-account main > .limit-width { max-width:960px; }
.panel-box,.perfil-header,.verify-section,.composer-panel,.editor-section { background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:12px; box-shadow:none; color:var(--dm-text); padding:25px; }
.panel-box { min-width:0; gap:18px; }
.panel-box-content p { font-size:12px; }
.panel-box-content h2 { font-size:19px; }
#panel-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
#ranking-box,#verification-box,#edit-model-box,#indicate-dojob-box,#location-model-box { width:100%; background:var(--dm-bg); border-color:var(--dm-line); }
.panel-box i,.panel-section i { color:var(--dm-muted); }
.profile-completion-circle { color:var(--dm-text); }
.circle-bg { stroke:var(--dm-line); }
.circle-progress { stroke:var(--dm-text); }
.perfil-header { max-width:960px; margin-inline:auto; width:100%; }
.perfil-header button { min-height:44px; border-radius:8px; }
.perfil-header .perfil-foto,#perfil-foto { width:76px; height:76px; object-fit:cover; border-radius:50%; border:3px solid var(--dm-bg); box-shadow:0 0 0 1px var(--dm-line); }
.perfil-header h1,#perfil-nome-modelo { font-size:26px; }
.full-post-mode > .page-heading,.full-edit-mode > .page-heading { display:none; }
.editor-section { width:100%; max-width:960px; margin:0 auto 22px; display:flex; flex-direction:column; gap:18px; }
.editor-section > h2 { font-size:20px; }
.editor-section input,.editor-section select,.editor-section textarea { max-width:100%; }
.composer-panel { max-width:640px; width:100%; margin-inline:auto; }
.upload-trigger { background:transparent; border:0; min-height:44px; color:var(--dm-text); font-size:12px; padding:12px; }
.upload-box,#uploadBox,.upload-box-image { border:1px dashed var(--dm-line); background:var(--dm-sidebar); border-radius:12px; color:var(--dm-muted); box-shadow:none; }
.verify-section { width:100%; max-width:700px; margin-inline:auto; align-items:stretch; }
.verify-section-column,.verify-info,.model-verify-p { width:100%; max-width:100%; }
.verify-info { background:var(--dm-sidebar); border-color:var(--dm-line); color:var(--dm-muted); font-size:12px; }
.verify-section select { width:100%; }
.coins-page-content,.coins-intro { max-width:620px; width:100%; margin:auto; }
.coins-intro { display:flex; align-items:flex-start; flex-direction:column; gap:22px; border:1px solid var(--dm-line); padding:30px; border-radius:12px; }
.coins-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; border:1px solid var(--dm-line); color:var(--dm-text); background:var(--dm-sidebar); }
.nav-notification-wrapper { position:relative; display:flex; align-items:center; }
#iconNotification { display:grid; place-items:center; color:var(--dm-text); background:transparent; border:0; width:40px; height:40px; border-radius:8px; }
#iconNotification svg { width:19px; height:19px; }
#notificationPopup { position:absolute; top:calc(100% + 12px); right:0; width:min(330px,calc(100vw - 40px)); padding:8px; background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:12px; box-shadow:0 10px 40px #0002; }
.notification-item { padding:14px 12px; border-bottom:1px solid var(--dm-line); }
.notification-item:last-child { border:0; }
.notification-item h3 { font-size:13px; margin-bottom:5px; }
.notification-item p { font-size:11px; }
.notification-badge { min-width:16px; height:16px; font-size:9px; background:var(--dm-button); color:var(--dm-button-text); position:absolute; top:0; right:0; border-radius:50%; display:grid; place-items:center; }
.plans-container { width:calc(100% - 32px); max-width:600px; background:var(--dm-bg); color:var(--dm-text); border:1px solid var(--dm-line); border-radius:14px; padding:26px; }
.plans-container .confirm-button:has(input) { background:var(--dm-bg); color:var(--dm-text); border-color:var(--dm-line); padding:12px; }
.plans-container .confirm-button:has(input:checked) { border-color:var(--dm-text); background:var(--dm-surface); }
.plans-container label { cursor:pointer; }
.plans-container #closeCoinsBtn { width:40px; height:40px; border:0; border-radius:8px; background:transparent; color:var(--dm-text); font-size:20px; }
.card-section,.card-section.blue,.card-section.pink { background:transparent; border:0; border-radius:0; padding:0; }
.card-grid .card,.role-option { background:var(--dm-sidebar); border:1px solid var(--dm-line); border-radius:9px; color:var(--dm-text); box-shadow:none; }
.card-grid input:checked + .card,.role-selector input:checked + .role-option { background:var(--dm-active); border-color:var(--dm-text); box-shadow:none; }
.card-grid .card i,.card-grid .card span,.role-option span { color:var(--dm-text); }
#register-tab-1 button { width:100%; max-width:100%; }
.upload-box-image { flex-direction:column; justify-content:center; align-items:center; gap:14px; position:relative; }
.upload-box-image .upload-trigger { position:relative; z-index:3; background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:8px; }
.role-selector input[type="radio"],.card-grid input[type="radio"],.card-grid input[type="checkbox"] { display:block; position:absolute; width:1px; height:1px; opacity:0; margin:0; clip-path:inset(50%); }
.role-selector input:focus-visible + .role-option,.card-grid input:focus-visible + .card { outline:2px solid var(--dm-text); outline-offset:3px; }
.role-selector .role-option { opacity:1 !important; filter:none !important; }
.role-selector input:not(:checked) + .role-option { border-color:var(--dm-line); }
.status-page.dm-shell { display:flex; }
.status-page.dm-shell > main { margin:0 !important; padding:36px; min-height:0; width:100%; max-width:500px; }
.checkbox-line { gap:10px; align-items:flex-start; }
.checkbox-line label { color:var(--dm-secondary); font-size:11px; line-height:1.8; }
.checkbox-line input { margin-top:2px; }
.coins-page-content p { margin-block:12px; }

/* Discovery, cards and filters. */
.acompanhantes-search-block { width:100%; padding:0; margin:0 auto; max-width:1120px; }
.acompanhantes-location-search { position:relative; width:100%; max-width:540px; margin:0; }
.acompanhantes-location_search { width:100%; min-height:48px; font-size:13px; }
#location_results { left:0; right:0; top:calc(100% + 6px); width:100%; margin:0; border:1px solid var(--dm-line); border-radius:10px; background:var(--dm-bg); box-shadow:0 10px 30px #0000000d; max-height:300px; overflow:auto; z-index:30; }
#location_results:empty { display:none; }
#location_results li { padding:0; border:0; font-size:12px; color:var(--dm-text); }
#location_results .location-option { width:100%; min-height:44px; padding:12px 15px; border:0; border-bottom:1px solid var(--dm-line); border-radius:0; background:var(--dm-bg); color:var(--dm-text); text-align:left; font-size:12px; }
#location_results .location-option:hover,#location_results .location-option.active { background:var(--dm-hover); }
.acompanhantes-filters-wrapper { margin:0 auto; padding:0; width:100%; max-width:1120px; border-bottom:1px solid var(--dm-line); }
.acompanhantes-category-filters { display:flex; justify-content:flex-start; width:100%; overflow-x:auto; padding:0 0 10px; gap:7px; scrollbar-width:thin; }
.filter-item { white-space:nowrap; flex-shrink:0; border:1px solid var(--dm-line); border-radius:7px; background:var(--dm-bg); color:var(--dm-secondary); padding:9px 15px; min-height:40px; font-size:12px; box-shadow:none; }
.filter-item.active,.filter-item[aria-current="page"] { background:var(--dm-button); color:var(--dm-button-text); border-color:var(--dm-button); }
.filters-shadow-left,.filters-shadow-right { display:none; }
.location-badge { width:100%; max-width:1120px; margin:0 auto; padding:0; text-align:left; font-size:clamp(23px,2.4vw,32px); line-height:1.35; letter-spacing:-.8px; }
.location-badge span { color:var(--dm-text); }
.actions-bar { width:100%; max-width:1120px; margin:0 auto; padding:0; justify-content:space-between; }
.action-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.sort-select { font-size:12px; min-width:160px; }
.models-grid { width:100%; max-width:1120px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:22px; margin:0 auto; }
.model-card-link { display:block; width:100%; min-width:0; height:100%; }
.model-card-container { width:100%; height:100%; background:var(--dm-bg); border:1px solid var(--dm-line); border-radius:12px; overflow:hidden; box-shadow:none; padding:0; }
.model-card-container:hover { box-shadow:none; border-color:var(--dm-muted); transform:none; }
.model-card-column { width:100%; height:100%; min-width:0; padding:0; gap:0; }
.model-carousel { width:100%; height:auto; aspect-ratio:4/4.7; border-radius:0; background:var(--dm-media); }
.model-name-user { min-width:0; padding:15px 16px 10px; gap:4px; }
.model-nome { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:2.7em; font-size:17px; font-weight:600; line-height:1.35; letter-spacing:-.4px; overflow-wrap:anywhere; color:var(--dm-text); }
.model-username { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; line-height:1.5; color:var(--dm-muted); }
.model-verified { color:var(--dm-success); font-size:9px; font-weight:500; gap:5px; margin-bottom:5px; }
.model-verified i,.model-verified span { color:inherit; }
.model-card-row { display:flex; flex-direction:column; align-items:stretch; padding:12px 16px 16px; width:100%; flex:1; gap:12px; }
.model-card-info-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; min-width:0; padding:0; gap:8px 12px; }
.model-card-values { grid-column:1/-1; min-height:5rem; padding:0 0 8px; border-bottom:1px solid var(--dm-line); margin:0; }
.model-card-values p { margin:0; }
.model-valor { font-size:21px; line-height:1.3; color:var(--dm-text); font-weight:600; letter-spacing:-.5px; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:break-word; }
.model-valor-text,.model-card-info-row span { font-size:.75rem; line-height:1.5; color:var(--dm-muted); }
.model-card-info-row { min-width:0; gap:7px; align-items:flex-start; }
.model-card-info-row:nth-last-child(-n+2) { grid-column:1/-1; }
.model-card-info-row span { min-width:0; overflow-wrap:break-word; }
.model-card-info-row i { flex:0 0 1rem; line-height:1.5; color:var(--dm-muted); font-size:.75rem; }
.model-card-info-description { width:100%; min-width:0; padding:0; margin-top:auto; }
.model-card-info-description p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; min-height:4.8em; font-size:.8125rem; line-height:1.6; color:var(--dm-muted); }
.model-card-info-sep { display:none; }
.carousel-btn { width:34px; height:34px; min-height:34px; border:1px solid #fff5; background:#0005; color:#fff; }
.carousel-dots { gap:4px; }
.carousel-dot { width:5px; height:5px; }
.carousel-dot.active { transform:none; }
.breadcrumb { width:100%; max-width:1120px; margin:0 auto; padding:16px 0; border-color:var(--dm-line); font-size:11px; color:var(--dm-muted); }
.nearby-title { font-size:18px; }
.nearby-city-link { background:var(--dm-sidebar); border:1px solid var(--dm-line); border-radius:7px; padding:8px 12px; min-height:38px; font-size:11px; }
#servicesOnCity,#nearbyCities { width:100%; max-width:1120px; margin:10px auto; }
.modal { background:#0006; backdrop-filter:blur(3px); }
.modal-content,.premium-modal,.premium-box,.viewer-modal { background:var(--dm-bg); color:var(--dm-text); border:1px solid var(--dm-line); border-radius:14px; box-shadow:0 15px 70px #0002; }
.modal-content { width:calc(100% - 32px); max-width:480px; max-height:calc(100dvh - 48px); overflow:auto; padding:26px; }
.modal-header { margin-bottom:24px; }
.modal-header h2 { font-size:23px; }
.modal-header button { min-width:44px; min-height:44px; color:var(--dm-text); background:transparent; border:0; }
.filter-group { margin-bottom:18px; }
.filter-group label { display:block; font-size:12px; margin-bottom:7px; color:var(--dm-secondary); }
.filter-group select { width:100%; }

/* Profile and reading layouts. */
.page-profile .background-img { border-radius:14px; max-height:280px; object-fit:cover; }
.page-profile main > .flex-section,.page-profile main > .limit-width { max-width:960px; }
.page-profile .profile-row { width:100%; max-width:960px; }
.page-profile .profile-row h1 { font-size:30px; letter-spacing:-1px; }
.page-profile .grid-2,.page-profile .flex-grid-2 { gap:20px; }
.page-profile .galeria-modelo-grid { gap:10px; }
.page-profile .galeria-item { border-radius:10px; background:var(--dm-media); }
.profile-details { padding-block:22px; border-top:1px solid var(--dm-line); }
.pagamentos-grid li { border:1px solid var(--dm-line); border-radius:8px; background:var(--dm-sidebar); }
.faz,.recebe { background:var(--dm-surface); color:var(--dm-text); border:1px solid var(--dm-line); font-size:10px; border-radius:4px; }
.page-reading main { max-width:none; }
.reading-document,.page-reading .info-section { width:100%; max-width:720px; margin:0 auto; padding:0; background:transparent; border:0; border-radius:0; }
.reading-document h1,.page-reading .info-section h1 { font-size:clamp(29px,3.2vw,42px); letter-spacing:-1.4px; margin-bottom:24px; }
.reading-document h2,.page-reading .info-section h2 { font-size:20px; line-height:1.4; margin:32px 0 14px; }
.reading-document h3 { margin:23px 0 12px; }
.reading-document p,.reading-document li,.page-reading .info-section p,.page-reading .info-section li { font-size:14px; line-height:1.95; color:var(--dm-secondary); margin-bottom:16px; }
.reading-document ul,.reading-document ol,.page-reading .info-section ul { list-style:disc; padding-left:22px; margin:18px 0 24px; }
.reading-document ol { list-style:decimal; }
.reading-document ol li { display:list-item; }
.reading-document strong { color:var(--dm-text); font-weight:600; }
.reading-document a,.page-reading .info-section a { color:var(--dm-text); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.meta-date { color:var(--dm-muted); padding-bottom:22px; border-bottom:1px solid var(--dm-line); margin-bottom:28px; font-size:11px !important; }
.status-page { min-height:100svh; padding:40px 24px; display:flex; align-items:center; justify-content:center; background:var(--dm-bg); }
.status-card { width:100%; max-width:500px; text-align:center; padding:40px; border:1px solid var(--dm-line); border-radius:16px; background:var(--dm-bg); }
.status-brand { color:var(--dm-text); font-size:22px; font-weight:600; letter-spacing:-.8px; }
.status-card h1 { margin:28px 0 16px; font-size:38px; }
.status-card p { margin:12px 0 24px; }
.status-actions,.status-links { display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap; }
.status-links { margin-top:28px; font-size:11px; color:var(--dm-muted); }
#videos-grid { width:100%; max-width:1120px; margin:0 auto; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.video-card,.video-thumbnail-wrapper { border-radius:12px; background:var(--dm-media); }
html.video-page { background:#111; }
html.video-page body.dm-shell > main#video-feed { margin:0 !important; padding:0; }
html.video-page body.dm-shell .nav-bar { display:none; }
html.video-page .video-container,html.video-page .video-ui,html.video-page .video-ui p { color:#fff; }
.premium-modal,.premium-box { max-height:calc(100dvh - 32px); overflow:auto; }
.subscription-card,.subscription-card.featured { border:1px solid var(--dm-line); background:var(--dm-bg); box-shadow:none; }
.subscription-price,.subscription-header h2,.premium-header h2 { color:var(--dm-text); }
.subscription-benefits li { color:var(--dm-muted); }
.premium-close,.premium-btn { border-radius:8px; }

@media(min-width:1440px) { body.dm-shell > main { padding-inline:56px; } .header-line { padding-inline:56px; } .dm-hero { padding-block:65px 53px; } }
@media(max-width:1150px) {
    :root { --dm-sidebar-width:200px; }
    body.dm-shell .nav-column { padding-inline:12px; }
    body.dm-shell > main,body.dm-shell > main.dm-home { padding-inline:28px; }
    .header-line { padding-inline:28px; }
    .dm-home-grid { gap:12px; }
    .dm-home-category-body { padding:13px 12px; }
    .models-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dm-home-cities { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .dm-home-join { flex-wrap:wrap; }
    body.dm-shell > footer > .limit-width { grid-template-columns:1.5fr 1fr; }
    body.dm-shell > footer > .limit-width > div:nth-child(2) { display:none; }
}
@media(max-width:760px) {
    :root { --dm-sidebar-width:0px; }
    html { scroll-padding-top:76px; }
    body.dm-shell > main,body.dm-shell > main.dm-home { margin:0 !important; width:100%; min-height:60svh; padding:86px 20px 42px; gap:24px; }
    body.dm-shell .main-header { inset:0 0 auto; height:60px; }
    .header-line { height:60px; padding:0 16px; gap:12px; }
    #iconMenu { display:grid; place-items:center; width:36px; height:44px; min-width:36px; cursor:pointer; border:0; background:transparent; padding:0; }
    .header-line > .dm-brand { opacity:1; visibility:visible; pointer-events:auto; margin-right:auto; }
    .header-line .dm-brand-art { width:120px; }
    .header-line > div:last-child { gap:9px; margin-left:0; }
    .dm-header-login { display:none; }
    #headerRegister { font-size:10px; min-height:34px; padding:8px 10px !important; }
    #userBalanceWrapper { font-size:11px; min-height:34px; padding:7px 9px; }
    body.dm-shell .nav-bar { display:none; inset:60px 0 0; width:100%; height:calc(100dvh - 60px); background:#0005; border:0; }
    body.dm-shell .nav-bar.active { display:block; }
    body.dm-shell .nav-column { width:min(300px,calc(100vw - 44px)); height:100%; padding:24px 18px; background:var(--dm-bg); border-right:1px solid var(--dm-line); }
    .dm-sidebar-brand { margin-bottom:25px; }
    .dm-sidebar-note { padding-top:18px; }
    .dm-nav-link { min-height:46px; font-size:13px; }
    .dm-menu-open { overflow:hidden; }
    .dm-bottom-nav { display:block !important; position:fixed; inset:auto 0 0; height:auto; min-height:64px; padding:4px 10px max(4px,env(safe-area-inset-bottom)); background:var(--dm-bg) !important; border-top:1px solid var(--dm-line); z-index:75; }
    .dm-bottom-nav .nav-row { display:grid; grid-template-columns:repeat(4,1fr); max-width:500px; margin:auto; width:100%; height:auto; background:var(--dm-bg) !important; }
    .dm-bottom-nav .dm-nav-link { flex-direction:column; justify-content:center; gap:5px; min-height:52px; padding:5px 3px; border-radius:8px; margin:0; font-size:9px; }
    .dm-bottom-nav .dm-nav-link svg { width:20px; height:20px; }
    .dm-bottom-nav .dm-nav-link.is-current { background:transparent; }
    .dm-bottom-nav .dm-nav-link.is-current svg { stroke-width:2; }
    body.dm-shell > footer { margin:0; padding:26px 20px 92px; gap:12px; }
    body.dm-shell > footer > .limit-width { grid-template-columns:1fr; gap:20px; }
    body.dm-shell > footer > .limit-width > div:nth-child(1) { display:none; }
    body.dm-shell > footer > .limit-width > div:nth-child(3) { flex-direction:row; flex-wrap:wrap; justify-content:center; gap:10px 18px; }
    body.dm-home-page > footer > .limit-width { grid-template-columns:1fr 1fr; gap:26px; }
    body.dm-home-page > footer > .limit-width > div:first-child { grid-column:1/-1; }
    body.dm-home-page > footer > .limit-width > div:last-child { grid-column:1/-1; flex-direction:row !important; flex-wrap:wrap; justify-content:flex-start; gap:7px 17px; }
    #btnTop { align-self:center; margin:0 0 10px; }
    .skip-link,.dm-skip-link { left:16px; }
    .dm-hero { padding:34px 0 32px; }
    .dm-hero-title { font-size:42px; line-height:1.09; letter-spacing:-1.7px; max-width:370px; margin:16px auto; }
    .dm-hero-description { font-size:13px; max-width:350px; }
    .dm-hero-eyebrow,.dm-home-kicker { font-size:9px; letter-spacing:1.6px; }
    .dm-hero-search { margin-top:24px; }
    .dm-hero-search-field { gap:9px; padding:6px 8px 6px 13px; border-radius:10px; }
    .dm-hero-search #location_search { font-size:12px; min-height:43px; }
    .dm-hero-search-field > a { font-size:10px; padding:10px; }
    .dm-hero-search-hint { font-size:10px; line-height:1.6; }
    .dm-hero-shortcuts { gap:9px 16px; font-size:10px; margin-top:19px; }
    .dm-home-section { padding:28px 0; }
    .dm-home-section-heading { margin-bottom:18px; align-items:flex-start; gap:10px; }
    .dm-home-section-heading h2 { font-size:22px; }
    .dm-home-text-link { font-size:10px; white-space:normal; text-align:right; line-height:1.5; max-width:100px; }
    .dm-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .dm-home-category-media { aspect-ratio:4/4.2; }
    .dm-home-category-body { padding:13px 12px; }
    .dm-home-category-body h3 { font-size:14px; }
    .dm-home-category-body p { font-size:10px; }
    .dm-home-category-action { font-size:10px; margin-top:12px; padding-top:10px; }
    .dm-home-inclusive-links { font-size:10px; gap:9px 18px; }
    .dm-home-cities { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
    .dm-home-city { font-size:11px; padding:11px 12px; min-height:51px; }
    .dm-home-join { margin:28px 0; padding:24px 20px; gap:21px; }
    .dm-home-join h2 { font-size:23px; }
    .dm-home-join-actions { flex-wrap:wrap; gap:10px; }
    .dm-home-join p:not(.dm-home-kicker) { font-size:12px; }
    .dm-home-faq { padding-top:26px; }
    .dm-home-faq summary { font-size:12px; min-height:60px; padding-block:15px; }
    .dm-home-faq details p { font-size:12px; padding-right:15px; }
    .page-auth .page-heading { max-width:460px; margin-bottom:2px; }
    .page-auth > main .auth-panel,.page-auth > main .login-container,.page-auth > main .register-container { padding:23px 20px; border-radius:12px; }
    .auth-panel > h2 { font-size:21px; }
    .page-intro { font-size:13px; }
    .panel-box,.perfil-header,.verify-section,.composer-panel,.editor-section { padding:20px 17px; }
    #panel-actions { grid-template-columns:1fr; gap:14px; }
    .models-grid { gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr)); }
    .model-card-row { padding:12px 12px 14px; }
    .model-card-info-column { grid-template-columns:minmax(0,1fr); gap:.5rem; }
    .model-card-info-description,.model-card-info-sep { display:none; }
    .model-name-user { padding:12px 12px 9px; }
    .model-nome { font-size:15px; }
    .model-username { font-size:10px; }
    .model-verified { font-size:8px; }
    .model-valor { font-size:20px; }
    .location-badge { font-size:25px; }
    .acompanhantes-category-filters { gap:6px; }
    .filter-item { font-size:11px; padding:8px 12px; }
    .actions-bar { gap:12px; }
    .sort-select { min-width:0; max-width:160px; font-size:11px; }
    .reading-document h1 { font-size:32px; letter-spacing:-1px; }
    .reading-document p,.reading-document li { font-size:13px; line-height:1.9; }
    .reading-document h2 { font-size:19px; }
    .status-card { padding:30px 22px; }
    #videos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .page-profile .profile-row { grid-template-columns:76px 1fr; }
    .page-profile .profile-row h1 { font-size:25px; }
}
@media(max-width:360px) { body.dm-shell > main,body.dm-shell > main.dm-home { padding-inline:16px; } .dm-hero-title { font-size:36px; } .dm-hero-search-field > a { max-width:85px; white-space:normal; text-align:center; line-height:1.35; } .dm-home-grid { gap:10px; } .header-line .dm-brand-art { width:112px; } .dm-home-join-actions { width:100%; } .dm-home-join-actions > a { width:100%; } .model-nome { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media(prefers-contrast:more) { :root { --dm-line:var(--dm-muted); } a:focus-visible,button:focus-visible { outline-width:3px; } }

/* Central footer: the reference's four columns, registration strip and lower bar. */
body.dm-shell > #footer-placeholder.dm-site-footer { display:block; padding:0; background:var(--dm-sidebar); color:var(--dm-secondary); text-align:left; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-inner { width:100%; max-width:1232px; margin-inline:auto; padding:40px 40px 0; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-grid { display:grid; grid-template-columns:1.2fr .8fr .85fr 1.25fr; gap:32px; padding-bottom:32px; border-bottom:1px solid var(--dm-line); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-grid > * { min-width:0; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-logo { display:inline-flex; min-height:44px; margin-bottom:16px; color:var(--dm-text); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-logo:hover { text-decoration:none; }
body.dm-shell > #footer-placeholder.dm-site-footer p { margin:0; font-size:.8125rem; line-height:1.8; color:var(--dm-muted); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-brand > p { max-width:29rem; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social a { display:grid; place-items:center; width:40px; min-height:40px; border:1px solid var(--dm-line); border-radius:9px; color:var(--dm-secondary); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social a:hover { color:var(--dm-text); background:var(--dm-hover); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social svg { width:20px; height:20px; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-heading { margin:6px 0 16px; font-size:.75rem; font-weight:650; letter-spacing:.1em; line-height:1.5; text-transform:uppercase; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-links { display:flex; flex-direction:column; gap:2px; margin:0; padding:0; list-style:none; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-links a { display:flex; align-items:center; gap:6px; min-height:32px; padding:5px 0; font-size:.8125rem; line-height:1.6; color:var(--dm-secondary); text-underline-offset:4px; overflow-wrap:anywhere; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-links a:hover { color:var(--dm-text); text-decoration:underline; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; margin:0; padding:32px 0; border-bottom:1px solid var(--dm-line); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout h2 { margin:0 0 10px; font-size:clamp(1.375rem,2vw,1.75rem); font-weight:600; line-height:1.3; letter-spacing:-.035em; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout p { max-width:40rem; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-cta { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-width:190px; min-height:48px; padding:12px 20px; border:1px solid var(--dm-button); border-radius:10px; background:var(--dm-button); color:var(--dm-button-text); font-size:.8125rem; font-weight:600; text-decoration:none; white-space:nowrap; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-cta:hover { opacity:.9; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-company { margin:0; padding:24px 0; font-style:normal; overflow-wrap:anywhere; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-company p { font-size:.6875rem; line-height:1.9; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-company a { display:inline; min-height:0; font-size:inherit; color:var(--dm-secondary); text-underline-offset:3px; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-bottom { border-top:1px solid var(--dm-line); }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-bottom > .dm-footer-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:18px; padding-bottom:18px; }
body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-bottom p { font-size:.6875rem; line-height:1.8; }
body.dm-shell > #footer-placeholder.dm-site-footer #btnTop { display:inline-flex; align-items:center; justify-content:center; gap:10px; flex:0 0 auto; min-height:44px; margin:0; padding:10px 12px; border:0; border-radius:8px; background:transparent; color:var(--dm-secondary); font-size:.75rem; }
body.dm-shell > #footer-placeholder.dm-site-footer #btnTop:hover { color:var(--dm-text); background:var(--dm-hover); }
@media(max-width:1200px) {
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-grid { grid-template-columns:1fr 1fr; gap:32px 40px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout { grid-template-columns:1fr; gap:20px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-cta { justify-self:start; }
}
@media(max-width:760px) {
    body.dm-shell > #footer-placeholder.dm-site-footer { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-inner { padding:32px 20px 0; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-links a { min-height:44px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-social a { width:44px; min-height:44px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-bottom > .dm-footer-inner { flex-direction:column; align-items:flex-start; gap:12px; padding-block:20px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-company a { display:inline-flex; align-items:center; min-height:44px; }
}
@media(max-width:600px) {
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-grid { grid-template-columns:1fr; gap:26px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-callout { padding-block:28px; }
    body.dm-shell > #footer-placeholder.dm-site-footer .dm-footer-cta { justify-self:stretch; }
}
/* Account loading/error feedback; no motion and no change to the saved appearance. */
body > main[data-session-blocked] { display:none !important; }
body[data-session-changing] > :not(header):not(#accountSessionStatus):not(#ageVerificationOverlay) { display:none !important; }
body > .dm-session-status { position:fixed; z-index:120; inset:88px 24px auto calc(var(--dm-sidebar-width) + 24px); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:20px; background:var(--dm-bg); color:var(--dm-text); border:1px solid var(--dm-line); border-radius:12px; box-shadow:0 8px 24px #0000000b; }
.dm-session-status p { margin:0; flex:1 1 220px; font-size:14px; line-height:1.6; color:var(--dm-text); }
.dm-session-status button { min-height:44px; padding:10px 16px; border:1px solid var(--dm-line); border-radius:8px; background:var(--dm-button); color:var(--dm-button-text); font:inherit; cursor:pointer; }
#sessionLogoutError { font-size:12px; line-height:1.6; color:var(--dm-error); margin:8px 12px; }
@media(max-width:760px) { body > .dm-session-status { inset:80px 16px auto; padding:16px; } }
#notificationLoadError { position:fixed; inset:80px 16px auto auto; width:min(280px,calc(100vw - 32px)); margin:0; padding:12px; border:1px solid var(--dm-line); border-radius:8px; background:var(--dm-bg); color:var(--dm-text); font-size:12px; line-height:1.6; box-shadow:0 8px 24px #0000000b; }
body.dm-menu-open > .dm-session-status, body.dm-menu-open #notificationLoadError { visibility:hidden; pointer-events:none; }
