/* Register-User — front-end */
.ru-modal{--ru-accent:var(--ru-accent-user,#4f46e5)}
.ru-wrap{--ru-accent:var(--ru-accent-user,#4f46e5);--ru-bg:#fff;--ru-fg:#1f2937;--ru-muted:#6b7280;--ru-border:#e5e7eb;--ru-input:#fff;--ru-radius:12px;--ru-shadow:0 10px 40px rgba(15,23,42,.08);
  box-sizing:border-box;max-width:560px;margin:1.5em auto;color:var(--ru-fg);font-size:16px;line-height:1.5}
.ru-wrap *,.ru-wrap *::before,.ru-wrap *::after{box-sizing:border-box}
.ru-userlist.ru-wrap{max-width:1000px}
.ru-style-modern .ru-form,.ru-style-modern .ru-card,.ru-style-dark .ru-form,.ru-style-dark .ru-card{background:var(--ru-bg);border:1px solid var(--ru-border);border-radius:calc(var(--ru-radius) + 4px);padding:28px;box-shadow:var(--ru-shadow)}
.ru-style-dark{--ru-bg:#111827;--ru-fg:#f3f4f6;--ru-muted:#9ca3af;--ru-border:#1f2937;--ru-input:#0b1220;--ru-shadow:0 10px 40px rgba(0,0,0,.35)}
.ru-style-minimal .ru-form{padding:0}
.ru-style-theme{--ru-bg:transparent;--ru-fg:inherit;--ru-border:currentColor}
.ru-style-theme .ru-form{padding:0}
.ru-style-theme input,.ru-style-theme select,.ru-style-theme textarea{border-color:rgba(127,127,127,.4)!important;background:transparent!important;color:inherit!important}

.ru-fields{display:grid;grid-template-columns:repeat(12,1fr);gap:16px 14px}
.ru-fields>.ru-field,.ru-step>.ru-field{grid-column:span 12}
.ru-col-50{grid-column:span 6!important}.ru-col-33{grid-column:span 4!important}.ru-col-25{grid-column:span 3!important}
@media(max-width:560px){.ru-col-50,.ru-col-33,.ru-col-25{grid-column:span 12!important}}
.ru-step{display:grid;grid-template-columns:repeat(12,1fr);gap:16px 14px;grid-column:1/-1}
.ru-wrap [hidden]{display:none!important}

.ru-field{display:flex;flex-direction:column;gap:6px;margin:0}
.ru-form>.ru-field,.ru-form>.ru-actions{margin-top:16px}
.ru-field>label,.ru-label{font-weight:600;font-size:.92em}
.ru-req{color:#dc2626}
.ru-field input[type=text],.ru-field input[type=email],.ru-field input[type=password],.ru-field input[type=url],.ru-field input[type=tel],.ru-field input[type=number],.ru-field input[type=date],.ru-field input[type=time],.ru-field input[type=search],.ru-field select,.ru-field textarea,.ru-ul-bar input,.ru-ul-bar select{
  width:100%;padding:11px 14px;border:1px solid var(--ru-border);border-radius:var(--ru-radius);background:var(--ru-input);color:var(--ru-fg);font:inherit;transition:border-color .15s,box-shadow .15s}
.ru-field input:focus,.ru-field select:focus,.ru-field textarea:focus,.ru-ul-bar input:focus{outline:none;border-color:var(--ru-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--ru-accent) 22%,transparent)}
.ru-field input[readonly]{opacity:.7;cursor:not-allowed}
.ru-field input[type=color]{width:64px;height:40px;padding:2px;border:1px solid var(--ru-border);border-radius:8px;background:none}
.ru-field input[type=file]{font:inherit}
.ru-help{color:var(--ru-muted);font-size:.82em}
.ru-error{color:#dc2626;font-size:.85em}
.ru-error.ru-notice{font-size:.95em}
.ru-has-error input,.ru-has-error select,.ru-has-error textarea{border-color:#dc2626!important}
.ru-heading h3{margin:8px 0 0;font-size:1.1em}.ru-heading p{margin:0;color:var(--ru-muted)}

.ru-choices{display:flex;flex-direction:column;gap:6px}
.ru-choice{display:flex;align-items:flex-start;gap:8px;font-weight:400!important;cursor:pointer}
.ru-choice input{margin-top:.3em;accent-color:var(--ru-accent)}
.ru-row-between{flex-direction:row!important;justify-content:space-between;align-items:center;flex-wrap:wrap}
.ru-row-between a,.ru-alt a,.ru-notice a:not(.ru-btn){color:var(--ru-accent)}
.ru-alt{text-align:center;margin:14px 0 0;color:var(--ru-muted);font-size:.92em}

.ru-pass-wrap{position:relative}
.ru-pass-wrap input{padding-right:84px!important}
.ru-toggle-pass{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--ru-accent);font:inherit;font-size:.82em;font-weight:600;cursor:pointer;padding:6px 8px;border-radius:8px}
.ru-meter{height:6px;background:var(--ru-border);border-radius:99px;overflow:hidden;margin-top:6px}
.ru-meter span{display:block;height:100%;width:0;background:#dc2626;transition:width .25s,background .25s}
.ru-meter.is-medium span{background:#f59e0b}.ru-meter.is-strong span{background:#16a34a}
.ru-meter-label{color:var(--ru-muted);font-size:.8em;min-height:1.2em}
.ru-pass2{margin-top:8px}

.ru-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 20px;border-radius:var(--ru-radius);border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .05s,opacity .15s,background .15s}
.ru-btn:active{transform:translateY(1px)}
.ru-btn-primary{background:var(--ru-accent);color:#fff!important}.ru-btn-primary:hover{opacity:.92}
.ru-btn-light{background:transparent;border-color:var(--ru-border);color:var(--ru-fg)!important}
.ru-btn-danger{background:#dc2626;color:#fff!important}
.ru-btn-block{width:100%}.ru-btn[disabled]{opacity:.6;cursor:wait}
.ru-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.ru-form>.ru-actions{margin-top:20px}

.ru-notice{padding:12px 16px;border-radius:var(--ru-radius);margin:0 0 16px;font-size:.95em;border:1px solid transparent}
.ru-notice ul{margin:0;padding-left:18px}
.ru-success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.ru-error.ru-notice{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.ru-info{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}
.ru-locked{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ru-style-dark .ru-success{background:#052e21;color:#6ee7b7;border-color:#065f46}.ru-style-dark .ru-error.ru-notice{background:#2a0e0e;color:#fca5a5;border-color:#7f1d1d}.ru-style-dark .ru-info{background:#0b1b3a;color:#93c5fd;border-color:#1e3a8a}

.ru-progress{display:flex;list-style:none;padding:0;margin:0 0 22px;gap:6px}
.ru-progress li{flex:1;text-align:center;font-size:.78em;color:var(--ru-muted);border-top:4px solid var(--ru-border);padding-top:6px;border-radius:2px}
.ru-progress li.is-done,.ru-progress li.is-current{border-top-color:var(--ru-accent);color:var(--ru-fg)}
.ru-progress li.is-current{font-weight:700}
.ru-stepnav{display:flex;justify-content:space-between;gap:10px;margin-top:18px}

.ru-repeater{display:flex;flex-direction:column;gap:8px}
.ru-rep-row{display:flex;gap:8px;align-items:center}.ru-rep-row input{flex:1;min-width:0}
.ru-rep-del{border:0;background:transparent;font-size:1.4em;line-height:1;color:#dc2626;cursor:pointer}
.ru-rep-add{align-self:flex-start;border:1px dashed var(--ru-accent);color:var(--ru-accent);background:transparent;border-radius:10px;padding:7px 14px;cursor:pointer;font:inherit}
.ru-map{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ru-map input{flex:1;min-width:120px}
.ru-avatar-preview img{border-radius:50%;display:block}
.ru-hp{position:absolute!important;left:-9999px!important}
.ru-captcha{margin-top:14px}

.ru-hello{display:flex;gap:14px;align-items:center;margin-bottom:14px}.ru-hello img{border-radius:50%}
.ru-danger{margin-top:12px;padding:14px 20px;border:1px solid #fecaca;border-radius:var(--ru-radius)}
.ru-danger summary{cursor:pointer;color:#dc2626;font-weight:600}
.ru-codes{background:rgba(0,0,0,.06);padding:10px;border-radius:8px;font-size:1.05em;letter-spacing:.05em}
.ru-qr svg{width:200px;height:200px;border:1px solid var(--ru-border);border-radius:12px}
.ru-secret{background:rgba(127,127,127,.15);padding:2px 8px;border-radius:6px}
.ru-pill{display:inline-block;padding:2px 10px;border-radius:99px;background:#e5e7eb;color:#374151;font-size:.8em;font-weight:600}.ru-pill.ru-on{background:#d1fae5;color:#065f46}

/* Diretório de membros */
.ru-ul-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.ru-ul-bar input[type=search]{flex:1;min-width:180px}.ru-ul-bar select{width:auto}
.ru-ul-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.ru-ul-card{background:var(--ru-bg);border:1px solid var(--ru-border);border-radius:var(--ru-radius);padding:18px;text-align:center}
.ru-ul-card img{border-radius:50%}.ru-ul-card h4{margin:8px 0}.ru-ul-card a{color:inherit;text-decoration:none}.ru-ul-card p{margin:6px 0;font-size:.9em}
.ru-table-wrap{overflow-x:auto}.ru-table{width:100%;border-collapse:collapse}.ru-table th,.ru-table td{padding:10px;border-bottom:1px solid var(--ru-border);text-align:left}.ru-table img{border-radius:50%}
.ru-pager{display:flex;gap:6px;margin-top:18px;flex-wrap:wrap}.ru-pager a{padding:6px 12px;border:1px solid var(--ru-border);border-radius:8px;text-decoration:none;color:inherit}.ru-pager a.is-active{background:var(--ru-accent);color:#fff;border-color:var(--ru-accent)}
.ru-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px}.ru-dl dt{font-weight:600}.ru-dl dd{margin:0}
.ru-profile{max-width:640px}

/* Login social */
.ru-social{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.ru-social .ru-btn{gap:10px}
.ru-fb-icon{display:inline-flex;width:18px;height:18px;border-radius:50%;background:#1877f2;color:#fff;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.ru-or{display:flex;align-items:center;gap:10px;color:var(--ru-muted);font-size:.85em;margin-top:4px}
.ru-or::before,.ru-or::after{content:"";flex:1;height:1px;background:var(--ru-border)}

/* WooCommerce */
.ru-woo{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 12px}
.ru-woo-f{display:flex;flex-direction:column;gap:4px}.ru-woo-f label{font-size:.85em;font-weight:600}
.ru-woo-wide{grid-column:1/-1}
.ru-woo input,.ru-woo select{width:100%;padding:10px 12px;border:1px solid var(--ru-border);border-radius:var(--ru-radius);background:var(--ru-input);color:var(--ru-fg);font:inherit}
@media(max-width:560px){.ru-woo{grid-template-columns:1fr}}

/* Mapa interativo */
.ru-map-canvas{position:relative;height:280px;border:1px solid var(--ru-border);border-radius:var(--ru-radius);overflow:hidden;background:#e5e7eb;touch-action:none;cursor:crosshair;user-select:none}
.ru-map-canvas.is-drag{cursor:grabbing}
.ru-map-tiles,.ru-map-tile{position:absolute}.ru-map-tile{width:256px;height:256px;max-width:none;pointer-events:none}
.ru-map-pin{position:absolute;display:none;pointer-events:none}
.ru-map-ctl{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px}
.ru-map-ctl button{width:32px;height:32px;border:1px solid rgba(0,0,0,.25);background:#fff;color:#111;border-radius:8px;font-size:18px;line-height:1;cursor:pointer}
.ru-map-attr{position:absolute;right:0;bottom:0;background:rgba(255,255,255,.85);padding:1px 6px;font-size:11px;color:#333!important;text-decoration:none}
.ru-map-canvas[data-readonly]{cursor:grab}

/* Listagem: modelos */
.ru-ul-grid{grid-template-columns:repeat(var(--ru-cols,3),minmax(0,1fr))}
@media(max-width:700px){.ru-ul-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.ru-ul-grid{grid-template-columns:1fr}}
.ru-ul-list{display:flex;flex-direction:column;gap:10px}
.ru-ul-row{display:flex;gap:16px;align-items:center;background:var(--ru-bg);border:1px solid var(--ru-border);border-radius:var(--ru-radius);padding:14px 18px}
.ru-ul-row img{border-radius:50%}.ru-ul-info{flex:1;min-width:0}.ru-ul-info h4{margin:0 0 4px}.ru-ul-info a{color:inherit;text-decoration:none}.ru-ul-info p{margin:2px 0;font-size:.9em}
.ru-ul-compact{display:flex;flex-wrap:wrap;gap:8px}
.ru-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;border:1px solid var(--ru-border);border-radius:99px;text-decoration:none;color:inherit;background:var(--ru-bg)}.ru-chip img{border-radius:50%}
.ru-banner{height:120px;margin:-28px -28px 0;border-radius:16px 16px 0 0;background:linear-gradient(135deg,var(--ru-accent),#7c3aed)}
.ru-banner-head{display:flex;gap:16px;align-items:flex-end;margin:-50px 0 18px}.ru-banner-head img{border-radius:50%;border:4px solid var(--ru-bg)}.ru-banner-head h3{margin:0}
.ru-profile-sidebar{display:grid;grid-template-columns:200px 1fr;gap:24px;max-width:820px}
.ru-profile-sidebar .ru-side{text-align:center}.ru-profile-sidebar .ru-side img{border-radius:50%}
@media(max-width:600px){.ru-profile-sidebar{grid-template-columns:1fr}}
.ru-profile .ru-map-canvas{height:220px;cursor:grab}
.ru-back{margin:0 0 10px}

/* Janela sobreposta (termos) */
.ru-terms-open{background:none;border:0;padding:0;margin:4px 0 0 28px;color:var(--ru-accent);font:inherit;font-size:.9em;font-weight:600;text-decoration:underline;cursor:pointer;align-self:flex-start}
html.ru-modal-lock{overflow:hidden}
.ru-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.68);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ru-fade .18s ease-out;font-size:16px;line-height:1.5;box-sizing:border-box}
.ru-modal[hidden]{display:none!important}
.ru-modal *{box-sizing:border-box}
.ru-modal-box{width:100%;max-width:680px;max-height:88vh;display:flex;flex-direction:column;background:#fff;color:#1f2937;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.45);overflow:hidden;animation:ru-pop .2s ease-out}
.ru-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #e5e7eb}
.ru-modal-head h3{margin:0;font-size:1.15em;color:inherit}
.ru-modal-x{border:0;background:transparent;font-size:28px;line-height:1;color:#6b7280;cursor:pointer;padding:0 6px;border-radius:8px}
.ru-modal-x:hover{color:#111}
.ru-modal-body{padding:20px 24px;overflow-y:auto;flex:1;font-size:.95em}
.ru-modal-body h1,.ru-modal-body h2,.ru-modal-body h3,.ru-modal-body h4{margin:1.1em 0 .4em;color:inherit}
.ru-modal-body p,.ru-modal-body li{margin:.5em 0}
.ru-modal-body ul,.ru-modal-body ol{padding-left:1.4em}
.ru-modal-body a{color:var(--ru-accent)}
.ru-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid #e5e7eb;background:#f9fafb;flex-wrap:wrap}
.ru-modal.ru-style-dark .ru-modal-box{background:#111827;color:#f3f4f6}
.ru-modal.ru-style-dark .ru-modal-head,.ru-modal.ru-style-dark .ru-modal-foot{border-color:#1f2937}.ru-modal.ru-style-dark .ru-modal-foot{background:#0b1220}
.ru-modal.ru-style-dark .ru-btn-light{color:#f3f4f6!important;border-color:#374151}
.ru-modal .ru-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:12px;border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer}
.ru-modal .ru-btn-primary{background:var(--ru-accent);color:#fff!important}
.ru-modal .ru-btn-light{background:transparent;border-color:#d1d5db;color:#1f2937!important}
@keyframes ru-fade{from{opacity:0}to{opacity:1}}
@keyframes ru-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ru-modal,.ru-modal-box{animation:none}}
@media(max-width:560px){.ru-modal{padding:0;align-items:flex-end}.ru-modal-box{max-height:92vh;border-radius:18px 18px 0 0}}

/* ===== Política/termos formatados (.ru-pol): navegação lateral + cartões numerados ===== */
.ru-modal-box.ru-modal-wide{max-width:860px}
.ru-modal-body{position:relative;scroll-behavior:smooth}
.ru-pol{--pn:#0D2137;--pp:#134E6F;--ppm:#1A6B97;--pice:#F0F4F8;--po:#E8621A;--polt:#FDF1EA;--pb:#D9E4EE;--ptx:#1E2B38;--pmu:#5A6E80;
  display:grid;grid-template-columns:176px minmax(0,1fr);gap:20px;align-items:start;color:var(--ptx);line-height:1.65;font-size:.93em;font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.ru-pol *{box-sizing:border-box}
.ru-pol-nav{position:sticky;top:0;background:#fff;border:1px solid var(--pb);border-radius:12px;overflow:hidden;box-shadow:0 4px 18px rgba(13,33,55,.1)}
.ru-pol-nav b{display:block;background:var(--pn);color:#fff;padding:.65rem .95rem;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ru-pol-nav a{display:flex;align-items:center;gap:.55rem;padding:.5rem .95rem;font-size:.76rem;font-weight:600;color:var(--pmu)!important;text-decoration:none!important;border-left:3px solid transparent;transition:background .2s,color .2s,border-color .2s}
.ru-pol-nav a span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 19px;width:19px;height:19px;border-radius:50%;background:var(--pice);color:#8FA0B0;font-size:.62rem;font-weight:700;transition:background .2s,color .2s}
.ru-pol-nav a:hover,.ru-pol-nav a.active{color:var(--pp)!important;border-left-color:var(--po);background:var(--pice)}
.ru-pol-nav a:hover span,.ru-pol-nav a.active span{background:var(--po);color:#fff}
.ru-pol-main{min-width:0}
.ru-pol-head{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--pn),var(--pp));color:#fff;border-radius:12px;padding:1rem 1.2rem;margin:0 0 .85rem}
.ru-pol-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--po),#F5A14A,var(--po))}
.ru-pol-head p{margin:.45rem 0 0!important;font-size:.8rem;color:rgba(255,255,255,.82)}
.ru-pol-head strong{color:#fff}
.ru-pol-badge{display:inline-block;background:rgba(232,98,26,.2);border:1px solid rgba(232,98,26,.45);color:#F5A14A;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.25rem .7rem;border-radius:99px}
.ru-pol .ru-pol-sec{position:relative;overflow:hidden;background:#fff;border:1px solid var(--pb);border-radius:12px;padding:1.05rem 1.2rem 1.05rem 1.45rem;margin:0 0 .8rem;box-shadow:0 2px 12px rgba(13,33,55,.06);scroll-margin-top:8px}
.ru-pol .ru-pol-sec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--po),var(--pp))}
.ru-pol .ru-pol-sec--ice{background:var(--pice);border-color:#C5D8EA}
.ru-pol .ru-pol-sec h2{display:flex;align-items:center;gap:.65rem;margin:0 0 .65rem;padding:0 0 .6rem;border-bottom:1px solid var(--pb);font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--pn)}
.ru-pol .ru-pol-sec h2 span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:8px;background:var(--pn);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:0}
.ru-pol .ru-pol-sec h3{margin:.9rem 0 .3rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pp)}
.ru-pol .ru-pol-sec p{margin:0 0 .7rem;color:var(--ptx)}
.ru-pol .ru-pol-sec p:last-child{margin-bottom:0}
.ru-pol .ru-pol-sec ul,.ru-pol .ru-pol-sec ol{list-style:none;margin:.4rem 0 .8rem;padding:0}
.ru-pol .ru-pol-sec li{position:relative;margin:0;padding:.38rem 0 .38rem 1.7rem;border-bottom:1px solid rgba(209,224,238,.6)}
.ru-pol .ru-pol-sec li:last-child{border-bottom:0}
.ru-pol .ru-pol-sec ul li::before{content:"";position:absolute;left:.2rem;top:.95em;width:8px;height:8px;border-radius:50%;background:var(--po)}
.ru-pol .ru-pol-sec ol{counter-reset:rupol}
.ru-pol .ru-pol-sec ol li{counter-increment:rupol}
.ru-pol .ru-pol-sec ol li::before{content:counter(rupol);position:absolute;left:0;top:.5em;width:22px;height:22px;border-radius:50%;background:var(--pp);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.ru-pol .ru-pol-sec li strong:first-child{color:var(--pn)}
.ru-pol .ru-pol-sec a{color:var(--ppm);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ru-pol .ru-pol-sec a:hover{color:var(--po)}
.ru-pol-note,.ru-pol-warn{position:relative;margin:.9rem 0 0;padding:.75rem 1rem .75rem 2.5rem;border-radius:8px;font-size:.86rem}
.ru-pol-note{background:#EBF4FF;border:1px solid rgba(26,107,151,.22)}
.ru-pol-warn{background:var(--polt);border:1px solid rgba(232,98,26,.28)}
.ru-pol-note::before,.ru-pol-warn::before{position:absolute;left:.8rem;top:.8rem;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:.7rem;font-weight:800;font-style:normal}
.ru-pol-note::before{content:"i";background:var(--pp)}
.ru-pol-warn::before{content:"!";background:var(--po)}
.ru-pol-note strong,.ru-pol-warn strong{display:block;margin-bottom:.15rem;font-size:.78rem;color:var(--pn)}
.ru-pol-table{margin:.7rem 0;overflow-x:auto;border:1px solid var(--pb);border-radius:8px;background:#fff}
.ru-pol-table table{width:100%;border-collapse:collapse;font-size:.82rem}
.ru-pol-table thead{background:var(--pn);color:#fff}
.ru-pol-table th{padding:.55rem .8rem;text-align:left;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.ru-pol-table td{padding:.55rem .8rem;vertical-align:top;border-top:1px solid var(--pb)}
.ru-pol-table td:first-child{font-weight:700;color:var(--pn);white-space:nowrap}
.ru-pol-table tbody tr:hover{background:var(--pice)}
.ru-pol .ru-pol-sec a.ru-pol-btn{display:inline-block;background:var(--pn);color:#fff!important;padding:.5rem 1.1rem;border-radius:7px;font-size:.82rem;font-weight:600;text-decoration:none}
.ru-pol .ru-pol-sec a.ru-pol-btn:hover{background:var(--pp)}
.ru-modal.ru-style-dark .ru-pol{--ptx:#1E2B38}
@media(max-width:700px){
  .ru-pol{grid-template-columns:1fr;gap:10px}
  .ru-pol-nav{display:flex;overflow-x:auto;border-radius:10px;z-index:3;box-shadow:0 3px 10px rgba(13,33,55,.12);-webkit-overflow-scrolling:touch}
  .ru-pol-nav b{display:none}
  .ru-pol-nav a{flex:0 0 auto;white-space:nowrap;border-left:0;border-bottom:3px solid transparent;padding:.55rem .8rem}
  .ru-pol-nav a:hover,.ru-pol-nav a.active{border-left:0;border-bottom-color:var(--po)}
  .ru-pol .ru-pol-sec{padding:.95rem 1rem .95rem 1.2rem}
}

/* Página "aguardando aprovação" */
.ru-pending{text-align:center}
.ru-pending-icon{width:72px;height:72px;margin:0 auto 10px;border-radius:50%;background:color-mix(in srgb,var(--ru-accent) 12%,transparent);display:flex;align-items:center;justify-content:center;font-size:34px}
.ru-pending h3{margin:.2em 0 .5em}.ru-pending-text{color:var(--ru-muted)}.ru-pending-text p{margin:0 0 .8em}

/* Botão oficial do Google */
.ru-gsi{display:flex;justify-content:center;min-height:44px}

/* ===== Tema claro/escuro =====
   Segue o Automatiza Theme Engine (plugin da área de membros). O motor coloca data-ac-theme="light|dark" no <html>
   e define as variáveis --ac-*. Sem o motor ativo, nenhuma regra abaixo se aplica e o plugin mantém o visual próprio.
   O estilo "Herdar do tema" (.ru-style-theme) continua herdando do tema do WordPress. */
html[data-ac-theme] .ru-wrap:not(.ru-style-theme),
html[data-ac-theme] .ru-modal{
  --ru-bg:var(--ac-surface);--ru-fg:var(--ac-text);--ru-muted:var(--ac-muted);--ru-border:var(--ac-border);
  --ru-input:var(--ac-surface-alt);--ru-shadow:0 10px 40px var(--ac-shadow);
}
html[data-ac-theme] .ru-wrap ::placeholder{color:var(--ru-muted);opacity:.75}
html[data-ac-theme] .ru-req,html[data-ac-theme] .ru-error,html[data-ac-theme] .ru-rep-del,html[data-ac-theme] .ru-danger summary{color:var(--ac-danger)}
html[data-ac-theme] .ru-has-error input,html[data-ac-theme] .ru-has-error select,html[data-ac-theme] .ru-has-error textarea{border-color:var(--ac-danger)!important}
html[data-ac-theme] .ru-btn-danger{background:var(--ac-danger)}
html[data-ac-theme] .ru-danger{border-color:color-mix(in srgb,var(--ac-danger) 40%,var(--ac-border))}

/* --- Escuro --- */
html[data-ac-theme="dark"] .ru-wrap input:-webkit-autofill,
html[data-ac-theme="dark"] .ru-wrap select:-webkit-autofill,
html[data-ac-theme="dark"] .ru-wrap textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--ac-surface-alt) inset;-webkit-text-fill-color:var(--ac-text);caret-color:var(--ac-text)}
html[data-ac-theme="dark"] .ru-field input:focus,html[data-ac-theme="dark"] .ru-field select:focus,html[data-ac-theme="dark"] .ru-field textarea:focus,html[data-ac-theme="dark"] .ru-ul-bar input:focus{border-color:var(--ac-link);box-shadow:0 0 0 3px color-mix(in srgb,var(--ac-link) 28%,transparent)}
/* links e ações em cor de destaque: usam o tom claro de link para manter o contraste */
html[data-ac-theme="dark"] .ru-row-between a,html[data-ac-theme="dark"] .ru-alt a,html[data-ac-theme="dark"] .ru-notice a:not(.ru-btn),
html[data-ac-theme="dark"] .ru-toggle-pass,html[data-ac-theme="dark"] .ru-terms-open,html[data-ac-theme="dark"] .ru-modal-body a{color:var(--ac-link)}
html[data-ac-theme="dark"] .ru-rep-add{color:var(--ac-link);border-color:var(--ac-link)}
html[data-ac-theme="dark"] .ru-field input[type=color]{background:var(--ac-surface-alt)}
html[data-ac-theme="dark"] .ru-success{background:color-mix(in srgb,var(--ac-success) 14%,var(--ac-surface));color:var(--ac-success);border-color:color-mix(in srgb,var(--ac-success) 38%,transparent)}
html[data-ac-theme="dark"] .ru-error.ru-notice{background:color-mix(in srgb,var(--ac-danger) 14%,var(--ac-surface));color:var(--ac-danger);border-color:color-mix(in srgb,var(--ac-danger) 38%,transparent)}
html[data-ac-theme="dark"] .ru-info{background:color-mix(in srgb,var(--ac-link) 14%,var(--ac-surface));color:var(--ac-link);border-color:color-mix(in srgb,var(--ac-link) 38%,transparent)}
html[data-ac-theme="dark"] .ru-pill{background:var(--ac-surface-alt);color:var(--ac-muted)}
html[data-ac-theme="dark"] .ru-pill.ru-on{background:color-mix(in srgb,var(--ac-success) 18%,var(--ac-surface));color:var(--ac-success)}
html[data-ac-theme="dark"] .ru-codes{background:rgba(255,255,255,.07)}
html[data-ac-theme="dark"] .ru-secret{background:rgba(255,255,255,.1)}
html[data-ac-theme="dark"] .ru-qr svg{background:#fff;padding:6px}
html[data-ac-theme="dark"] .ru-pager a:hover{background:var(--ac-surface-alt)}
html[data-ac-theme="dark"] .ru-pager a.is-active{color:var(--ac-on-primary,#fff)}
html[data-ac-theme="dark"] .ru-pending-icon{background:color-mix(in srgb,var(--ac-link) 16%,transparent)}
/* mapa */
html[data-ac-theme="dark"] .ru-map-canvas{background:var(--ac-surface-alt)}
html[data-ac-theme="dark"] .ru-map-tile{filter:invert(.92) hue-rotate(180deg) brightness(.92) contrast(.92)}
html[data-ac-theme="dark"] .ru-map-ctl button{background:var(--ac-surface);color:var(--ac-text);border-color:var(--ac-border)}
html[data-ac-theme="dark"] .ru-map-attr{background:rgba(18,27,43,.85);color:#cbd5e1!important}

/* --- Janela de termos --- */
html[data-ac-theme] .ru-modal .ru-modal-box{background:var(--ac-surface);color:var(--ac-text);box-shadow:0 25px 70px var(--ac-shadow)}
html[data-ac-theme] .ru-modal .ru-modal-head,html[data-ac-theme] .ru-modal .ru-modal-foot{border-color:var(--ac-border)}
html[data-ac-theme] .ru-modal .ru-modal-foot{background:var(--ac-surface-alt)}
html[data-ac-theme] .ru-modal .ru-modal-x{color:var(--ac-muted)}
html[data-ac-theme] .ru-modal .ru-modal-x:hover{color:var(--ac-heading)}
html[data-ac-theme] .ru-modal .ru-btn-light{background:transparent;border-color:var(--ac-border);color:var(--ac-text)!important}
html[data-ac-theme="dark"] .ru-modal{background:rgba(2,6,14,.74)}

/* --- Política/termos formatados (.ru-pol): paleta própria; no escuro passa a usar os tokens do site --- */
html[data-ac-theme="dark"] .ru-pol,html[data-ac-theme="dark"] .ru-modal .ru-pol{
  --pn:#16324d;--pp:#1A6B97;--ppm:var(--ac-link);--pice:var(--ac-surface-alt);--polt:rgba(232,98,26,.14);--pb:var(--ac-border);--ptx:var(--ac-text);--pmu:var(--ac-muted)}
html[data-ac-theme="dark"] .ru-pol .ru-pol-nav,html[data-ac-theme="dark"] .ru-pol .ru-pol-sec,html[data-ac-theme="dark"] .ru-pol .ru-pol-table{background:var(--ac-surface)}
html[data-ac-theme="dark"] .ru-pol .ru-pol-sec--ice{background:var(--ac-surface-alt);border-color:var(--ac-border)}
html[data-ac-theme="dark"] .ru-pol .ru-pol-nav{box-shadow:0 4px 18px var(--ac-shadow)}
html[data-ac-theme="dark"] .ru-pol .ru-pol-sec{box-shadow:0 2px 12px var(--ac-shadow)}
html[data-ac-theme="dark"] .ru-pol .ru-pol-sec h2,html[data-ac-theme="dark"] .ru-pol .ru-pol-sec li strong:first-child,
html[data-ac-theme="dark"] .ru-pol .ru-pol-table td:first-child,html[data-ac-theme="dark"] .ru-pol .ru-pol-note strong,html[data-ac-theme="dark"] .ru-pol .ru-pol-warn strong{color:var(--ac-heading)}
html[data-ac-theme="dark"] .ru-pol .ru-pol-sec h3,html[data-ac-theme="dark"] .ru-pol .ru-pol-nav a:hover,html[data-ac-theme="dark"] .ru-pol .ru-pol-nav a.active{color:var(--ac-link)!important}
html[data-ac-theme="dark"] .ru-pol .ru-pol-sec li{border-bottom-color:var(--ac-border)}
html[data-ac-theme="dark"] .ru-pol .ru-pol-note{background:color-mix(in srgb,var(--ac-link) 12%,var(--ac-surface));border-color:color-mix(in srgb,var(--ac-link) 30%,transparent)}
html[data-ac-theme="dark"] .ru-pol .ru-pol-table tbody tr:hover{background:var(--ac-surface-alt)}

/* Verificação em duas etapas (página própria) */
html[data-ac-theme] body.ru-2fa-page{background:linear-gradient(135deg,var(--ac-bg-alt),var(--ac-bg));color:var(--ac-text)}
