:root, [data-theme="light"] {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;
  --space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
  --color-bg:#f7f6f2;--color-surface:#f9f8f5;--color-surface-2:#fbfbf9;
  --color-surface-offset:#f3f0ec;--color-border:#d4d1ca;--color-divider:#dcd9d5;
  --color-text:#28251d;--color-text-muted:#67645e;--color-text-faint:#918f8a;
  --color-text-inverse:#f9f8f4;
  --color-primary:#01696f;--color-primary-hover:#0c4e54;--color-primary-highlight:#cedcd8;
  --radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--radius-full:9999px;
  --shadow-sm:0 1px 2px rgba(20,20,20,.06);--shadow-md:0 10px 25px rgba(20,20,20,.08);
  --font-body:'Satoshi',Inter,sans-serif;--content:1120px;
}
[data-theme="dark"] {
  --color-bg:#171614;--color-surface:#1c1b19;--color-surface-2:#201f1d;
  --color-surface-offset:#22211f;--color-border:#393836;--color-divider:#262523;
  --color-text:#e6e3dd;--color-text-muted:#b6b1a8;--color-text-faint:#8b867e;
  --color-text-inverse:#111;
  --color-primary:#4f98a3;--color-primary-hover:#227f8b;--color-primary-highlight:#313b3b;
  --shadow-sm:0 1px 2px rgba(0,0,0,.25);--shadow-md:0 10px 25px rgba(0,0,0,.28);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;background:var(--color-bg);color:var(--color-text)}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
img,svg{display:block;max-width:100%}
h1,h2,h3{text-wrap:balance;line-height:1.15}
p,li{text-wrap:pretty;max-width:72ch; padding-bottom:var(--space-4) !important;}
.container{width:min(calc(100% - 2rem),var(--content));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:var(--color-primary);color:#fff;padding:.75rem 1rem;border-radius:var(--radius-sm);z-index:100}
.hidden{display:none!important}
.sr-only{position:absolute;left:-9999px}

/* HEADER */
.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-divider)}
.site-header-inner{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;gap:var(--space-4)}
.brand{display:flex;align-items:center;gap:.85rem;font-weight:700}
.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 60%,white));display:grid;place-items:center;color:white;box-shadow:var(--shadow-sm);flex-shrink:0}
.nav{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}
.nav a{font-size:var(--text-sm);color:var(--color-text-muted);transition:color .18s}
.nav a:hover{color:var(--color-text)}
.theme-toggle{min-width:44px;min-height:44px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-full);display:grid;place-items:center;cursor:pointer;color:var(--color-text);transition:background .18s}
.theme-toggle:hover{background:var(--color-surface-offset)}

/* HERO */
.hero{padding:clamp(3rem,7vw,6rem) 0 var(--space-10)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-8);align-items:start}
.eyebrow{display:inline-flex;gap:.5rem;align-items:center;padding:.45rem .8rem;background:var(--color-primary-highlight);border-radius:var(--radius-full);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);font-weight:700}
h1{font-size:var(--text-xl);max-width:14ch;margin:1rem 0}
.lead{max-width:62ch;color:var(--color-text-muted)}
.hero-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-6)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1.1rem;border-radius:var(--radius-full);border:1px solid transparent;font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background .18s}
.btn-primary{background:var(--color-primary);color:white}
.btn-primary:hover{background:var(--color-primary-hover)}
.btn-secondary{background:var(--color-surface);border-color:var(--color-border)}
.btn-secondary:hover{background:var(--color-surface-offset)}
.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.hero-card{padding:var(--space-6)}
.updated{font-size:var(--text-xs);color:var(--color-text-faint);margin-bottom:var(--space-4)}
.rate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
.rate-card{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-divider)}
.rate-card small{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);margin-bottom:.35rem}
.rate-card strong{display:block;font-size:1.6rem;line-height:1.1;font-variant-numeric:tabular-nums}
.rate-card span{font-size:var(--text-sm);color:var(--color-text-muted)}

/* SECTIONS */
.section{padding:var(--space-10) 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-6)}
.section-head h2{font-size:var(--text-lg);margin:0}
.section-head p{margin:0;color:var(--color-text-muted);max-width:60ch}
.badge{display:inline-flex;padding:.35rem .7rem;border-radius:var(--radius-full);background:var(--color-primary-highlight);font-size:var(--text-xs);font-weight:700;color:var(--color-primary);margin-bottom: 10px;}

/* CONVERSOR NOVO */
.converter-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4)}
.converter-card,.converter-side{padding:var(--space-6)}
.converter-row{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-4);align-items:center}
.currency-box select,.inputs-row input{width:100%;min-height:72px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);padding:0 1rem;font-size:var(--text-lg);color:var(--color-text);transition:border-color .18s}
.currency-box select:focus,.inputs-row input:focus{outline:2px solid var(--color-primary);outline-offset:2px}
.swap-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-size:1.2rem;display:grid;place-items:center;transition:background .18s}
.swap-btn:hover{background:var(--color-surface-offset)}
.inputs-row{margin-top:var(--space-4)}
.arrow-indicator{font-size:1.6rem;color:var(--color-primary);display:grid;place-items:center}
.quick-picks{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4)}
.quick-picks button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-full);padding:.45rem .8rem;cursor:pointer;font-size:var(--text-sm);transition:all .18s}
.quick-picks button:hover{border-color:var(--color-primary);color:var(--color-primary)}
.converter-meta{display:flex;gap:var(--space-6);flex-wrap:wrap;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-divider)}
.converter-meta strong{display:block;font-size:var(--text-base)}
.converter-meta span{font-size:var(--text-xs);color:var(--color-text-muted)}
.converter-side{display:grid;gap:var(--space-4);align-content:start}
.rate-table{display:grid;gap:var(--space-3)}
.rate-table div{display:flex;justify-content:space-between;padding-bottom:.6rem;border-bottom:1px solid var(--color-divider)}
.small{font-size:var(--text-sm)}
.muted{color:var(--color-text-muted); padding-bottom:var(--space-2);} 

/* INFO GRID */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.info-card{padding:var(--space-5)}
.info-card h3{font-size:var(--text-base);margin:.2rem 0 .5rem}

/* FAQ */
.faq{display:grid;gap:var(--space-4)}
details{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md)}
summary{cursor:pointer;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
details p{margin-top:var(--space-3);color:var(--color-text-muted)}

/* FOOTER */
.site-footer{padding:var(--space-10) 0 var(--space-12);border-top:1px solid var(--color-divider);background:var(--color-surface)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.footer-copy{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}
.back-to-top{
  min-height:20px;padding:0.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);cursor:pointer;transition:background .18s,transform .18s}
.back-to-top:hover{background:var(--color-primary-hover);transform:translateY(-1px)}

/* NEWS */
.news-filters{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}
.filter-btn{min-height:36px;padding:.4rem .9rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);cursor:pointer;color:var(--color-text-muted);transition:all .18s}
.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}
.filter-btn.active{background:var(--color-primary);color:white;border-color:var(--color-primary)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.news-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow .18s,transform .18s}
.news-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.news-card a{display:flex;flex-direction:column;gap:var(--space-3);height:100%}
.news-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.news-source{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--color-primary)}
.news-date{font-size:var(--text-xs);color:var(--color-text-faint)}
.news-title{font-size:var(--text-sm);font-weight:700;color:var(--color-text);line-height:1.4;flex:1}
.news-desc{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);background:var(--color-surface-offset)}
.news-link-label{font-size:var(--text-xs);color:var(--color-primary);font-weight:700;margin-top:auto}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.news-skeleton{height:280px;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--color-surface-offset) 25%,var(--color-surface-2) 50%,var(--color-surface-offset) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}
.news-error{padding:var(--space-10);text-align:center;color:var(--color-text-muted);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}

/* FEEDBACK */
.feedback-form{display:grid;gap:var(--space-4);padding:var(--space-6)}
.feedback-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.field{display:grid;gap:.45rem}
.field label{font-size:var(--text-sm);font-weight:700}
.field input,.field select,.field textarea{min-height:48px;padding:.8rem 1rem;border:1px solid var(--color-border);background:var(--color-surface-2);border-radius:var(--radius-md);color:var(--color-text);transition:border-color .18s}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px}
.feedback-form textarea{min-height:140px;resize:vertical}

/* RESPONSIVE */
@media (max-width:860px){
  .hero-grid,.info-grid,.news-grid{grid-template-columns:1fr}
  .converter-layout{grid-template-columns:1fr}
  .converter-row{grid-template-columns:1fr}
  .arrow-indicator{display:none}
  .section-head{align-items:start;flex-direction:column}
  .nav{display:none}
  .news-grid{grid-template-columns:repeat(2,1fr)}
  .feedback-row{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:520px){
  .container{width:min(calc(100% - 1rem),var(--content))}
  .news-grid{grid-template-columns:1fr}
}


/* ─── flag-icons + select com bandeira ───────────────────────────────────── */
.select-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.select-flag {
  position: absolute;
  left: .9rem;
  width: 1.6rem;
  height: 1.2rem;
  border-radius: 3px;
  pointer-events: none;
  z-index: 1;
  flex-shrink: 0;
  background-size: cover;
}
.select-wrapper select {
  width: 100%;
  min-height: 72px;
  padding: 0 1rem 0 3.2rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface-2);
  font-size: var(--text-base);
  color: var(--color-text);
  appearance: none;
  cursor: pointer;
  transition: border-color .18s;
}
.select-wrapper select:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.quick-picks button {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.quick-picks .fi {
  width: 1.2rem;
  height: .9rem;
  border-radius: 2px;
  flex-shrink: 0;
}

/* ─── Custom Select ──────────────────────────────────────────────────────── */
.custom-select {
  position: relative;
  width: 100%;
}
.custom-select-trigger {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 72px;
  padding: 0 1rem;
  padding-left: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface-2);
  cursor: pointer;
  user-select: none;
  transition: border-color .18s;
}
.custom-select.open .custom-select-trigger {
  border-color: var(--color-primary);
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.select-flag {
  width: 2rem;
  height: 1.5rem;
  border-radius: 3px;
  flex-shrink: 0;
}
.select-code {
  font-size: var(--text-lg);
  font-weight: 700;
  flex: 1;
}
.select-arrow {
  color: var(--color-text-muted);
  transition: transform .18s;
  flex-shrink: 0;
}
.custom-select.open .select-arrow {
  transform: rotate(180deg);
}
.custom-select-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 4px);
  left: 0; right: 0;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  z-index: 50;
  max-height: 280px;
  overflow-y: auto;
}
.custom-select.open .custom-select-dropdown {
  display: block;
}
.custom-option {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .7rem 1rem;
  cursor: pointer;
  transition: background .15s;
  font-size: var(--text-sm);
}
.custom-option:hover {
  background: var(--color-surface-offset);
}
.custom-option.selected {
  background: var(--color-primary-highlight);
  color: var(--color-primary);
  font-weight: 700;
}
.custom-option .fi {
  width: 1.4rem;
  height: 1.1rem;
  border-radius: 2px;
  flex-shrink: 0;
}
.option-label {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.option-label small {
  color: var(--color-text-muted);
  font-size: var(--text-xs);
}