/* Londana — estilo novo para as páginas auxiliares (fichas de módulos, iframes,
   estimativas de preços, 404). Mesmo sistema visual do site (opção H). */
html, body { -webkit-text-size-adjust: 100%; }
body { font-family: 'Inter', system-ui, sans-serif !important; color: #0E2140 !important; background: #F3F6FB !important; font-size: 15px !important; line-height: 1.6 !important; }
body * { font-family: 'Inter', system-ui, sans-serif !important; }
h1, h2, h3, h4, h1 *, h2 *, h3 *, h4 * { font-family: 'Outfit', system-ui, sans-serif !important; color: #0E2140; letter-spacing: -.01em; line-height: 1.2; }
p, li, td, div, span { font-size: max(14px, 1em); }
a { color: #2E5FA8 !important; }
a:hover { color: #0E2140 !important; }
img { max-width: 100%; height: auto; }
table { max-width: 100%; }
iframe { max-width: 100%; }
button, .btn, input[type="button"], input[type="submit"] { font-family: 'Inter', system-ui, sans-serif !important; border-radius: 10px !important; }
.btn-primary, .btn-info, .btn-success { background: #4A7CC0 !important; border-color: #4A7CC0 !important; color: #fff !important; }
.btn-primary:hover, .btn-info:hover, .btn-success:hover { background: #2E5FA8 !important; border-color: #2E5FA8 !important; }
.btn-default { background: #fff !important; border-color: #C9D5E6 !important; color: #0E2140 !important; }
.panel, .well, .card { border-radius: 16px !important; border-color: #DCE4EF !important; box-shadow: 0 1px 2px rgba(14,33,64,.05), 0 10px 28px rgba(14,33,64,.06); }
.panel-heading { border-radius: 16px 16px 0 0 !important; background: #0E2140 !important; color: #fff !important; border-color: #0E2140 !important; }
.panel-heading * { color: #fff !important; }
input[type="text"], input[type="email"], input[type="number"], select, textarea { border-radius: 10px !important; border: 1px solid #C9D5E6 !important; padding: 6px 10px; font-family: 'Inter', system-ui, sans-serif !important; }
:focus-visible { outline: 3px solid #4A7CC0; outline-offset: 2px; }
/* ficha de módulo (popup) */
body.ldn-aux-ficha { max-width: 760px; margin: 0 auto !important; padding: 24px !important; background: #fff !important; }

/* fichas de módulo (/r/) */
body.ldn-aux-ficha table { border-collapse: separate; }
body.ldn-aux-ficha #rmdtb, body.ldn-aux-ficha > table { background: #fff !important; border: 1px solid #DCE4EF !important; border-radius: 18px; overflow: hidden; width: 100% !important; }
body.ldn-aux-ficha td { background: transparent !important; padding: 10px 18px; }
body.ldn-aux-ficha b, body.ldn-aux-ficha strong { color: #0E2140; }

/* página de Estimativas de Preços */
.xm0r, .xm0r3 { border-radius: 16px !important; border: 1px solid #DCE4EF !important; box-shadow: 0 1px 2px rgba(14,33,64,.05), 0 10px 28px rgba(14,33,64,.06); padding: 14px 20px !important; }
.tl, .tl2 { background-color: #4A7CC0 !important; border-radius: 10px !important; font-family: 'Inter', system-ui, sans-serif !important; padding: 8px 12px !important; }
.tl:hover, .tl2:hover { background-color: #2E5FA8 !important; }
.tl2 { font-size: 12px !important; }
.inn, .inron, .sel, .divTo, .divC0, .divC08, .divC09, .divC02 { font-family: 'Inter', system-ui, sans-serif !important; }
.inn, .inron { border-radius: 8px !important; border: 1px solid #C9D5E6 !important; }
.card { background: #fff; padding: 16px !important; }

/* página 404 */
.error { max-width: 720px; margin: 64px auto !important; padding: 0 20px; }
#outline, #errorboxoutline { border: 0 !important; }
#errorboxoutline { background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 1px 2px rgba(14,33,64,.05), 0 16px 40px rgba(14,33,64,.08); }
#errorboxheader { background: #0E2140 !important; color: #fff !important; padding: 22px 28px !important; font: 600 22px/1.3 'Outfit', system-ui, sans-serif !important; text-align: left !important; }
#errorboxbody { padding: 24px 28px !important; font-size: 15px !important; }
#errorboxbody * { font-size: 15px !important; }
#techinfo { border: 0 !important; background: #F3F6FB; border-radius: 12px; }

/* Revisão 10 — fichas de módulo (/r/) mais limpas */
body.ldn-aux-ficha { font: 400 15px/1.65 'Inter', system-ui, sans-serif !important; color: #3D4C63 !important; }
body.ldn-aux-ficha #rmdtb td[width="0"] { display: none !important; }
body.ldn-aux-ficha #rmdtb td { border: 0 !important; font-family: 'Inter', system-ui, sans-serif !important; font-size: 15px !important; color: #3D4C63 !important; padding: 8px 22px !important; }
body.ldn-aux-ficha #rmdtb tr:first-child td { padding-top: 18px !important; }
body.ldn-aux-ficha #rmdtb span[style*="uppercase"] b { display: block; font: 700 20px/1.3 'Outfit', system-ui, sans-serif; letter-spacing: .01em; color: #0E2140; margin-top: 6px; }
body.ldn-aux-ficha #rmdtb center { color: #2E5FA8; font-weight: 600; }
body.ldn-aux-ficha iframe[src*="youtube"] { display: block; width: 100% !important; max-width: 560px; height: auto !important; aspect-ratio: 16 / 9; margin: 12px auto 0; border: 0; border-radius: 16px; background: #0E2140; box-shadow: 0 12px 32px rgba(14, 33, 64, .12); }
body.ldn-aux-ficha a[title="Veja Vídeo"], body.ldn-aux-ficha a[title="See Video"], body.ldn-aux-ficha a[title="Vea Vídeo"] { color: #2E5FA8 !important; font-weight: 600; text-decoration: none; }
body.ldn-aux-ficha img[src*="/icones/play"] { width: 36px !important; vertical-align: middle; }

/* Revisão 10 — Estimativas: cabeçalho e botões */
#catgrid { max-width: 1080px; margin: 0 auto; }
#catgrid #welcome > div:first-child { text-align: center; padding: 28px 16px 8px !important; margin: 0 !important; }
#catgrid #welcome > div:first-child img { max-height: 72px; width: auto; margin-bottom: 14px; }
#catgrid #welcome h1 { font: 700 clamp(22px, 3vw, 30px)/1.2 'Outfit', system-ui, sans-serif !important; color: #0E2140 !important; letter-spacing: -.01em; margin: 0 auto 8px !important; max-width: 760px; text-wrap: balance; }
#catgrid #welcome h1 b { font-weight: 700; }
#catgrid #site { float: none !important; margin: 0 0 6px !important; font-size: 14px; }
#catgrid #site a { color: #2E5FA8; }
#catgrid .xm0r3 { font-size: 15px !important; line-height: 1.6 !important; padding: 20px 24px !important; border: 1px solid #DCE4EF !important; }
#catgrid div[style*="align:right"]:has(> .tl2) { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 12px; padding: 18px 12px 0; }
#catgrid div[style*="align:right"] > .tl2 { float: none !important; margin: 0 !important; font-size: 13px !important; line-height: 1.25 !important; padding: 10px 16px !important; min-width: 120px; }
#catgrid #vestim { order: 1; } #catgrid #reinic { order: 2; } #catgrid #ppol { order: 3; }
#catgrid #bluebar { order: 4; flex: 1 1 100%; height: 1px; font-size: 0 !important; line-height: 0; background: #DCE4EF !important; margin-top: 18px !important; }
#catgrid .row { margin-left: 0 !important; margin-right: 0 !important; }
#catgrid { overflow-x: clip; }

/* Revisão 11 — páginas internas mostradas em iframe (sf/if, altoga/sf/if): mesmo estilo do conteúdo do site */
body.ldn-aux-if { background: #fff !important; margin: 0 !important; padding: 0 2px 8px !important; color: #3D4C63 !important; font-size: 15.5px !important; line-height: 1.7 !important; }
body.ldn-aux-if > center, body.ldn-aux-if > div, body.ldn-aux-if > table { max-width: 100% !important; }
body.ldn-aux-if :is(table, td, div, center):not(.ldn-info, .ldn-info *) { background: transparent !important; background-color: transparent !important; border-color: #DCE4EF !important; }
body.ldn-aux-if table { width: 100% !important; }
body.ldn-aux-if td { padding-left: 0 !important; padding-right: 0 !important; }
body.ldn-aux-if :is(p, li, td, span, div, b, strong, u, i, em, a):not(.ldn-info, .ldn-info *) { font-size: 15.5px !important; line-height: 1.7 !important; text-align: left !important; }
body.ldn-aux-if p:not(.ldn-info *) { margin: 0 0 .9em !important; }
body.ldn-aux-if p[style*="margin-left"], body.ldn-aux-if p[style*="padding-left"], body.ldn-aux-if blockquote, body.ldn-aux-if div[style*="margin-left"] { margin-left: 0 !important; padding-left: 0 !important; }
body.ldn-aux-if blockquote { border: 0; }

body.ldn-aux-if [style*="color"]:not([style*="#000000"]):not([style*="black"]):not([style*="#FFFFFF"]):not([style*="#fff"]):not([style*="white"]) { color: #2E5FA8 !important; }
body.ldn-aux-if [style*="#000000"], body.ldn-aux-if [style*="black"] { color: #3D4C63 !important; }
body.ldn-aux-if b, body.ldn-aux-if strong { font-weight: 600; }
body.ldn-aux-if b:not([style*="color"]), body.ldn-aux-if strong:not([style*="color"]) { color: #0E2140; }
body.ldn-aux-if h1, body.ldn-aux-if h2, body.ldn-aux-if h3 { color: #0E2140 !important; font-size: 22px !important; line-height: 1.3 !important; text-align: left !important; }
body.ldn-aux-if :is(h1,h2,h3):has(table, div) { font: inherit !important; color: inherit !important; margin: 0 !important; }
body.ldn-aux-if.ldn-aux-if.ldn-aux-if :is(h1,h2,h3):not(:has(table, div)) :is(p, span, b, strong, font) { font-size: inherit !important; color: inherit !important; font-family: inherit !important; line-height: inherit !important; margin: 0 !important; }
body.ldn-aux-if :is(h1,h2,h3):not(:has(table, div)) { margin: 8px 0 18px !important; font-weight: 700 !important; }
body.ldn-aux-if p > b:only-child, body.ldn-aux-if p > strong:only-child { color: #0E2140 !important; }
body.ldn-aux-if img[src*="/icones/i-"] { width: 22px !important; height: 22px !important; vertical-align: -5px; margin-right: 6px; float: none !important; }
body.ldn-aux-if img[src*="/icones/cena-"] { display: block; width: 100% !important; max-width: 420px !important; height: auto !important; margin: 16px auto 24px !important; border-radius: 20px; }
body.ldn-aux-if ul { padding-left: 1.2em; }
body.ldn-aux-if li { margin: .2em 0; }
body.ldn-aux-if li::marker { color: #4A7CC0; }
body.ldn-aux-if a { color: #2E5FA8 !important; text-decoration-color: rgba(46, 95, 168, .35); text-underline-offset: 3px; }
body.ldn-aux-if hr { border: 0; border-top: 1px solid #DCE4EF; margin: 24px 0; }
body.ldn-aux-if iframe[src*="youtube"] { display: block; width: 100% !important; max-width: 560px; height: auto !important; aspect-ratio: 16 / 9; margin: 16px auto 20px !important; border: 0; border-radius: 16px; background: #0E2140; box-shadow: 0 12px 32px rgba(14, 33, 64, .12); }

body.ldn-aux-if tr:has(> td > iframe[src*="youtube"]) > td { display: block; width: 100% !important; }
