/* Shared typography and official logo assets from the Ironfang Studios site. */
@font-face{font-family:Cinzel;src:url('/calculadora/assets/fonts/cinzel-variable.ttf') format('truetype');font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:Lora;src:url('/calculadora/assets/fonts/lora-variable.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{--font-display:Cinzel,Georgia,serif;--font-ui:Cinzel,Georgia,serif;--font-body:Lora,Georgia,serif}
body,input,select,textarea{font-family:var(--font-body)}
h1,h2,h3,h4,h5,h6,.page-heading h1,.home-heading,.moon-hero h1,.workspace-heading h2,.section-head h2,.card h2,.digital-heading h2,.digital-category h3,.affiliate-card h3,.context-recommendation .affiliate-card h3,.offers-catalog .affiliate-card h3{font-family:var(--font-display)}
button,.primary,.secondary,.ghost,.site-nav a,.site-header .site-nav a,body:has(.moon-hero) .site-nav a,.site-footer nav a,.eyebrow,.studio-hero .hero-kicker,.tab,.tabs [role=tab],label,summary,th{font-family:var(--font-ui)}
.field small,.field p,summary small,summary .detail-subtitle{font-family:var(--font-body)}
.moon-hero h1 em{font-style:normal}
.moon-hero h1{text-wrap:balance}
.result-card .price,.digital-total,.result-card #resultProject{font-family:var(--font-body)}
.brand-lockup{flex-shrink:0}
.ironfang-wordmark{--wordmark-width:140px;display:block;flex:none;width:var(--wordmark-width);height:calc(var(--wordmark-width) / 3.2);object-fit:cover;object-position:center 55%}
.footer-brand{display:inline-flex;align-items:center;min-height:48px}
.footer-brand .ironfang-wordmark{--wordmark-width:170px}
@media(max-width:680px){.ironfang-wordmark{--wordmark-width:118px}.footer-brand .ironfang-wordmark{--wordmark-width:150px}}
@media(max-width:600px){.site-header-inner{gap:10px}.brand-lockup{gap:8px}.header-controls{gap:4px}}
@media(max-width:360px){.brand-lockup .ironfang-wordmark{--wordmark-width:98px}}

/* Palette shared with piloto-site/style.css. This last stylesheet owns UI colors. */
:root{
 color-scheme:dark;
 --ironfang-silver:#d3d1d0;
 --ironfang-red:#c34141;
 --ironfang-red-hover:#dc5557;
 --ironfang-red-soft:#972022;
 --bg:#080b0c;
 --card:rgba(12,15,16,.84);
 --card2:#0e1213;
 --input:#0b0e0f;
 --text:var(--ironfang-silver);
 --muted:rgba(211,209,208,.80);
 --text-muted:rgba(211,209,208,.56);
 --border:rgba(211,209,208,.17);
 --border-soft:rgba(211,209,208,.13);
 --border-brand:rgba(195,65,65,.34);
 --accent:var(--ironfang-red);
 --accent2:var(--ironfang-red);
 --focus:var(--ironfang-red-hover);
 --good:var(--text);
 --danger:var(--ironfang-red-hover);
 --brand-red:var(--ironfang-red);
 --brand-red-bright:var(--ironfang-red-hover);
 --brand-red-text:#e87577;
 --brand-tint:rgba(195,65,65,.08);
 --brand-tint-active:rgba(195,65,65,.14);
 --header-surface:rgba(8,11,12,.94);
 --button-surface:rgba(5,8,9,.36);
 --shadow:0 16px 50px rgba(0,0,0,.22);
}
/* Existing light preference uses the same red and neutral family. */
:root.light{
 color-scheme:light;
 --bg:#e8e7e6;
 --card:#f5f4f3;
 --card2:#dddcd9;
 --input:#f5f4f3;
 --text:#242728;
 --muted:rgba(36,39,40,.80);
 --text-muted:rgba(36,39,40,.75);
 --border:rgba(36,39,40,.22);
 --border-soft:rgba(36,39,40,.13);
 --accent:var(--ironfang-red);
 --accent2:var(--ironfang-red);
 --focus:var(--ironfang-red);
 --good:var(--text);
 --danger:var(--ironfang-red-soft);
 --brand-red-text:var(--ironfang-red-soft);
 --header-surface:rgba(232,231,230,.94);
 --button-surface:rgba(245,244,243,.70);
 --shadow:0 12px 35px rgba(8,11,12,.06);
}
body,:root.light body{background:var(--bg);color:var(--text)}
::selection{background:var(--ironfang-red-soft);color:var(--ironfang-silver)}
input,select,textarea{accent-color:var(--ironfang-red);caret-color:var(--text)}
a{color:var(--brand-red-text)}
a:hover{color:var(--brand-red-text)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--focus)}

/* Header and hero text retain the silver/red balance of the main site. */
.site-header,body:has(.moon-hero) .site-header{background:var(--header-surface);border-bottom-color:var(--border);box-shadow:0 6px 28px rgba(0,0,0,.16)}
.site-header .site-nav.is-open,:root.light .site-header .site-nav.is-open{background:var(--card2);border-color:var(--border)}
.site-header .site-nav a,body:has(.moon-hero) .site-nav a,.site-header .header-controls button,body:has(.moon-hero) .header-controls button{color:var(--text)}
.site-header .site-nav a[aria-current=page]{color:var(--brand-red-text)!important}
.site-header .site-nav a:hover,.site-header .site-nav a:focus-visible{color:var(--brand-red-text)!important;text-shadow:none}
.site-header .site-nav a:before{border-color:var(--border-brand);background:var(--brand-tint);box-shadow:none}
.site-header .site-nav a:focus-visible{outline-color:var(--focus)}
.site-header:after{background:var(--ironfang-red);box-shadow:none}
.header-logo{filter:drop-shadow(0 0 12px rgba(195,65,65,.12))}
.studio-hero.moon-hero,.moon-hero .studio-art{background:#080b0c;color:var(--ironfang-silver)}
.moon-hero .studio-art:after,:root.light .moon-hero .studio-art:after{background:linear-gradient(90deg,rgba(8,11,12,.66),rgba(8,11,12,.20) 40%,transparent 69%),linear-gradient(0deg,var(--bg),rgba(8,11,12,.34) 18%,transparent 49%),linear-gradient(180deg,rgba(8,11,12,.40),transparent 24%)}
.moon-hero h1{color:var(--ironfang-silver);text-shadow:0 4px 32px #080b0c}
.moon-hero h1 em{color:var(--ironfang-red)}
.moon-hero .hero-kicker{color:#e87577;background:rgba(8,11,12,.82);padding:4px 8px;border-radius:4px;width:fit-content}
.moon-hero .studio-hero-copy>p:not(.hero-kicker),.moon-hero .studio-badges,.moon-caption{color:rgba(211,209,208,.80)}
.moon-caption small,.moon-hero .studio-credit{color:rgba(211,209,208,.56)}
.moon-caption i{background:linear-gradient(var(--ironfang-red),transparent)}
.moon-mark{border-color:var(--ironfang-red);box-shadow:inset -5px -1px 0 var(--ironfang-red)}
.moon-hero .studio-badges span:first-child:before{background:var(--ironfang-red);box-shadow:none}
.moon-guide,:root.light .moon-guide{color:var(--ironfang-silver)}
.moon-guide:hover{color:var(--ironfang-red-hover)}
.hero-emblem img{border-color:var(--border-brand);box-shadow:none}
.hero-emblem:after{border-color:var(--border-brand);border-right-color:rgba(211,209,208,.17);border-bottom-color:transparent}
.hero-emblem:focus-visible{outline-color:var(--focus)}
.moon-orbit{border-color:rgba(211,209,208,.06)}
.moon-mote{background:var(--ironfang-silver);box-shadow:0 0 9px 2px rgba(211,209,208,.22)}

/* Buttons use the main site's dark fill, red outline and silver lettering. */
.primary,.moon-start,:root.light .primary,:root.light .moon-start,.studio-pro-button{background:var(--button-surface);border-color:var(--ironfang-red);color:var(--text);box-shadow:none}
.primary:hover,.moon-start:hover,:root.light .primary:hover,:root.light .moon-start:hover,.studio-pro-button:hover{background:var(--brand-tint);border-color:var(--ironfang-red-hover);color:var(--text);box-shadow:none}
.moon-hero .moon-start,.moon-hero .moon-start:hover{color:var(--ironfang-silver)}
.primary>span,.moon-start>span{color:var(--ironfang-red)}
.secondary,.ghost,.icon-btn,.theme-toggle,.header-controls .ghost,:root.light .secondary,:root.light .ghost,:root.light .icon-btn{background:var(--button-surface);border-color:var(--border);color:var(--text);box-shadow:none}
.secondary:hover,.ghost:hover,.icon-btn:hover,:root.light .secondary:hover,:root.light .ghost:hover,:root.light .icon-btn:hover{background:var(--brand-tint);border-color:var(--border-brand);color:var(--text)}
.motion-toggle,.motion-toggle:hover{background:var(--button-surface);border-color:var(--border-brand);color:var(--text)}
.pro-label,.light .pro-label{color:var(--brand-red-text)}
.studio-pro-button span{background:var(--card2);color:var(--brand-red-text)}

/* Surfaces, forms, results and disclosures. */
.card,:root.light .card,.result-card,.digital-summary{background:var(--card);border-color:var(--border);box-shadow:var(--shadow)}
.result-card,.digital-summary{border-top-color:var(--ironfang-red)}
.field input,.field select,.field textarea,td input,td select,.admin-affiliate textarea,.commerce-panel textarea,.admin-campaign textarea,:root.light .field input,:root.light .field select,:root.light .field textarea,:root.light td input,:root.light td select{background:var(--input);border-color:var(--border);color:var(--text);box-shadow:none}
.field input:hover,.field select:hover,td input:hover,td select:hover{border-color:var(--muted)}
.field input:focus,.field select:focus,.field textarea:focus,td input:focus,td select:focus,.admin-affiliate textarea:focus{border-color:var(--focus);outline-color:var(--focus);box-shadow:none}
.field span,.result-card .price-label,.headline-metrics .kpi strong,.result-card .price,:root.light .result-card .price,.digital-total,.history-price,.offer-price strong{color:var(--text);text-shadow:none}
.offer-price small{color:var(--muted)}
.input-group h3,.eyebrow,.workspace-heading .eyebrow,.card>.eyebrow,.section-head .eyebrow,.digital-heading .eyebrow{color:var(--brand-red-text)}
.content-shell .page-heading h1{color:var(--accent)}
.workspace-help,.input-group+.input-group,.ux-disclosure,.result-composition,.headline-metrics,.result-card .headline-metrics,.headline-metrics .kpi+.kpi,.summary-box,.summary-box>div,.table-wrap,.site-footer{border-color:var(--border)}
.input-group h3:after,.workspace-heading h2:after,.digital-heading h2:after{background:var(--ironfang-red)}
.table-wrap tr,.history-item,.empty,.digital-item-result,:root.light .table-wrap tr,:root.light .history-item,:root.light .empty,:root.light .digital-item-result{background:var(--card2);border-color:var(--border)}
.digital-item-result strong{color:var(--text)}
.moon-result-art{background-image:linear-gradient(0deg,var(--card2),transparent 80%),url('/calculadora/assets/moon/fenrir-moon-800.webp')}
:root.light .moon-result-art{background-image:linear-gradient(0deg,var(--card),transparent 80%),url('/calculadora/assets/moon/fenrir-moon-800.webp')}
.moon-result-art span{color:var(--ironfang-silver)}
.moon-result-art{overflow:hidden}
.moon-result-art .result-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:79% 36%;visibility:hidden;pointer-events:none}
.moon-result-art .result-video.is-playing{visibility:visible}
.moon-result-art:has(.result-video.is-playing) span{visibility:hidden}
.motion-paused .moon-result-art span{visibility:visible!important}
.moon-result-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--card2),transparent 80%);pointer-events:none;z-index:1}
:root.light .moon-result-art:after{background:linear-gradient(0deg,var(--card),transparent 80%)}
.moon-result-art:before{z-index:2;pointer-events:none}
.moon-result-art span{z-index:3}
.motion-paused .moon-result-art .result-video{visibility:hidden}
@media(prefers-reduced-motion:reduce){.moon-result-art .result-video{visibility:hidden}.moon-result-art span{visibility:visible!important}}
.mobile-result-jump{background:var(--header-surface);border-color:var(--border-brand);color:var(--text);box-shadow:0 10px 40px rgba(0,0,0,.22)}
.note,.warning,.field-error-summary{background:var(--brand-tint);border-color:var(--border-brand);color:var(--text)}
.field-error-summary a{color:var(--danger)}

/* Keep amounts intact; narrow screens give each financial KPI a full row. */
#recommendedPrice,.headline-metrics .kpi strong{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums}
@media(max-width:600px){
 .result-card .headline-metrics{grid-template-columns:minmax(0,1fr);gap:14px}
 .headline-metrics .kpi+.kpi{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:14px}
 .headline-metrics .kpi strong{font-size:22px}
}

/* Every tab state uses the same red, without the old pink gradients. */
#workspace-tabs,:root.light #workspace-tabs{background:var(--card2);border-color:var(--border-brand);border-top-color:var(--ironfang-red);box-shadow:none}
#workspace-tabs .tab,:root.light #workspace-tabs .tab{color:var(--muted)}
#workspace-tabs .tab.active,:root.light #workspace-tabs .tab.active{background:var(--brand-tint-active)!important;color:var(--text);box-shadow:inset 0 0 0 1px var(--border-brand)}
#workspace-tabs .tab.active .ui-icon,:root.light #workspace-tabs .tab.active .ui-icon{color:var(--ironfang-red)}
#workspace-tabs .tab.active:after,.tabs .tab.active:after{background:var(--ironfang-red);box-shadow:none}
#workspace-tabs .tab:hover,:root.light #workspace-tabs .tab:hover{background:var(--brand-tint)!important;color:var(--text)}
#workspace-tabs .tab:focus-visible{outline-color:var(--focus)}

/* Offers, account/admin panels, notices and the PDF configuration dialog. */
.offers-catalog .affiliate-card,.context-recommendation .recommendation-offer-grid .affiliate-card,.affiliate-card,.admin-campaign{background:var(--card2);border-color:var(--border);box-shadow:none}
.affiliate-card-media,#studioLogoPreview{background:var(--input);border-color:var(--border)}
.context-recommendation{border-color:var(--border-brand);border-left-color:var(--ironfang-red)}
.context-recommendation .affiliate-card-media,.offers-catalog .affiliate-card-media{background:var(--input)}
.context-recommendation .affiliate-card-body>a,.offers-catalog .affiliate-card-body>a,.recommendation-more{background:var(--button-surface);border-color:var(--ironfang-red);color:var(--text);box-shadow:none}
.context-recommendation .affiliate-card-body>a:hover,.offers-catalog .affiliate-card-body>a:hover,.recommendation-more:hover{background:var(--brand-tint);border-color:var(--ironfang-red-hover);color:var(--text);box-shadow:none}
.context-recommendation .affiliate-card-body .affiliate-support-message{color:var(--muted)}
.offers-disclosure{background:var(--brand-tint)}
.cloud-item,#libraryForm{border-color:var(--border)}
#cloudStatus{border-left-color:var(--ironfang-red)}
.affiliate-card-media.image-unavailable{color:var(--muted)}
.affiliate-disclosure{border-left-color:var(--ironfang-red);background:var(--brand-tint)}
.site-banner{background:var(--card2);border-bottom-color:var(--ironfang-red);color:var(--text)}
.site-banner a{color:var(--brand-red-text)}
.consent-panel{background:var(--header-surface);border-top-color:var(--border-brand);color:var(--text)}
.consent-panel p{color:var(--muted)}
.consent-panel a{color:var(--brand-red-text)}
.consent-panel #consentDetails{border-color:var(--border)}
.standard-pdf-dialog{color:var(--text);border-color:var(--border)}
.standard-pdf-dialog::backdrop{background:rgba(8,11,12,.70)}
.footer-link{color:var(--muted)}
@media(max-width:600px){
 .moon-hero .studio-art:after,:root.light .moon-hero .studio-art:after{background:linear-gradient(0deg,var(--bg),rgba(8,11,12,.96) 17%,rgba(8,11,12,.60) 44%,transparent 72%),linear-gradient(180deg,rgba(8,11,12,.44),transparent 23%)}
}
@media(hover:hover) and (pointer:fine){.hero-emblem:hover{filter:drop-shadow(0 10px 28px rgba(195,65,65,.20))}}

/* BETA identification and feedback, using the shared studio palette. */
.brand-with-beta{display:flex;align-items:center;gap:12px;flex-shrink:0;min-width:0}
.beta-badge{color:var(--brand-red-text);font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.4;white-space:nowrap;padding:7px 9px;border:1px solid var(--border-brand);border-radius:4px;background:var(--brand-tint)}
.beta-disclaimer{grid-column:1/-1;border-top:1px solid var(--border);padding-top:24px;line-height:1.75}
.beta-disclaimer h2{font-family:var(--font-ui);font-size:14px;font-weight:600;color:var(--brand-red-text);margin:0 0 12px}
.beta-disclaimer p{font-size:13px;margin:0 0 10px;max-width:1100px}
.beta-disclaimer a,.feedback-privacy a{color:var(--brand-red-text);text-decoration:underline;text-underline-offset:3px}
.feedback-card{max-width:860px;padding:clamp(20px,3vw,36px)}
.feedback-card h2{font-size:clamp(20px,2.4vw,28px);line-height:1.4;margin:0 0 12px}
.feedback-card>p{color:var(--muted);line-height:1.7;margin-bottom:24px}
.feedback-form fieldset{border:0;padding:0;margin:0;min-width:0}
.feedback-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.feedback-form .field{display:block;margin:0 0 22px;font-size:13px;line-height:1.6}
.feedback-form input:not([type=hidden]),.feedback-form select,.feedback-form textarea{display:block;width:100%;min-width:0;max-width:100%;margin-top:8px;font-size:16px;line-height:1.6}
.feedback-form textarea{resize:vertical;min-height:90px}
.feedback-form .field small{display:block;color:var(--muted);font-size:12px;font-family:var(--font-body);margin-top:7px}
.feedback-optional{font-family:var(--font-body);color:var(--muted);font-size:12px}
.feedback-honey{display:none!important}
.feedback-privacy{font-size:13px;color:var(--muted);line-height:1.75;margin:0 0 24px}
/* Cards compactos na seleção ao final da calculadora. */
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-carousel{max-width:none;width:100%}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;min-height:0}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card{display:flex;flex-direction:column;min-height:0;border-radius:9px}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card[hidden]{display:none}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card-media{aspect-ratio:auto;height:128px;min-height:0;padding:10px;border-right:0;border-bottom:1px solid var(--border);background:var(--input)}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card-media img{max-height:108px;width:100%;height:100%;object-fit:contain}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card-body{flex:1;padding:12px;gap:8px}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-store{font-size:10px;letter-spacing:.08em}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card h3{font-size:13px;line-height:1.4;margin:0;min-height:55px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card-body p{font-size:11px;line-height:1.5;margin:0 0 4px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card-body>a{align-self:stretch;justify-content:center;text-align:center;margin-top:auto;font-size:11px;line-height:1.4;padding:9px 7px;min-height:40px;overflow-wrap:anywhere}
.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-support-message{font-size:9px;line-height:1.4;margin-top:0}
@media(max-width:1199px){.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-track{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:899px){.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-track{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:599px){.affiliate-shelf[data-affiliate-layout="compact"]{padding:16px}.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card-media{height:104px;padding:8px}.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card-media img{max-height:88px}.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card-body{padding:9px}.affiliate-shelf[data-affiliate-layout="compact"] .affiliate-card h3{font-size:12px;min-height:51px}}
.feedback-status{color:var(--brand-red-text);font-size:14px;line-height:1.6;margin:16px 0 0}
.feedback-status:empty{display:none}
.feedback-setup{border-left:3px solid var(--brand-red-text);padding:14px 16px}
.feedback-form fieldset[disabled]{opacity:.65}
.feedback-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.feedback-thanks h1{font-size:clamp(28px,4vw,42px);line-height:1.3}
@media(min-width:1360px){.site-header-inner{gap:16px;padding-inline:32px}.site-nav{gap:14px}.site-nav a{font-size:11px}}
@media(max-width:1359px){
 .site-header-inner{flex-wrap:wrap;min-height:82px;padding:10px 24px;gap:16px}
 .header-controls{margin-left:auto}.menu-toggle{display:block;font-size:13px}
 .site-nav{display:none;order:3;flex-basis:100%;margin:0;gap:4px}
 .site-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}
 .site-nav a{padding:10px;font-size:13px;white-space:normal}
}
@media(max-width:600px){
 .site-header-inner{padding:8px 16px;gap:10px}
 .brand-with-beta{position:relative;padding-bottom:18px}
 .beta-badge{position:absolute;bottom:0;left:55px;border:0;background:none;padding:0;font-size:9px}
 .feedback-row{grid-template-columns:minmax(0,1fr);gap:0}
 .feedback-submit{width:100%}
 .beta-disclaimer{padding-top:20px}
}
