@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=DM+Sans:wght@300;400;500;600;700&display=swap');

.co-wrap *, .co-wrap *::before, .co-wrap *::after { box-sizing: border-box; margin: 0; padding: 0; }

.co-wrap {
    --cog: #C9A84C;
    --radius: 12px;
    font-family: 'Inter', system-ui, sans-serif;
    max-width: 680px;
    margin: 2rem auto;
    border-radius: var(--radius);
    overflow: hidden;
}

/* LIGHT */
.co-wrap.tema-light { background:#fff; color:#1a1a1a; border:1px solid #e8e2d6; box-shadow:0 2px 20px rgba(0,0,0,.07); }
.co-wrap.tema-light .co-block      { border-bottom:1px solid #f0ece4; }
.co-wrap.tema-light .co-label      { color:#8c7b6b; }
.co-wrap.tema-light .co-updated    { color:#666; }
.co-wrap.tema-light .co-table tbody tr { border-bottom:1px solid #f0ece4; }
.co-wrap.tema-light .co-table tbody tr:last-child { border-bottom:none; }
.co-wrap.tema-light .co-table td:first-child { background:#faf8f4; border-right:1px solid #f0ece4; }
.co-wrap.tema-light .co-divider    { background:#f0ece4; }
.co-wrap.tema-light .co-offerta-label { color:#8c7b6b; }
.co-wrap.tema-light .co-footer-note { color:#bbb; border-top:1px solid #f0ece4; }
.co-wrap.tema-light .co-calc-block { background:#faf8f4; }
.co-wrap.tema-light .co-calc-select,
.co-wrap.tema-light .co-calc-input { background:#fff; border:1px solid #ddd; color:#1a1a1a; }
.co-wrap.tema-light .co-calc-button { background:var(--cog); color:#fff; border:none; }
.co-wrap.tema-light .co-calc-button:hover { filter:brightness(1.08); }
.co-wrap.tema-light .co-calc-result { color:#1a1a1a; border-top:1px solid #e8e2d6; }

/* DARK */
.co-wrap.tema-dark { background:#111214; color:#e8e0d0; border:1px solid rgba(201,168,76,.15); box-shadow:0 4px 30px rgba(0,0,0,.5); }
.co-wrap.tema-dark .co-block      { border-bottom:1px solid rgba(255,255,255,.06); }
.co-wrap.tema-dark .co-label      { color:rgba(201,168,76,.7); }
.co-wrap.tema-dark .co-updated    { color:rgba(255,255,255,.55); }
.co-wrap.tema-dark .co-table tbody tr { border-bottom:1px solid rgba(255,255,255,.05); }
.co-wrap.tema-dark .co-table tbody tr:last-child { border-bottom:none; }
.co-wrap.tema-dark .co-table td:first-child { background:rgba(255,255,255,.03); border-right:1px solid rgba(255,255,255,.06); }
.co-wrap.tema-dark .co-divider    { background:rgba(255,255,255,.06); }
.co-wrap.tema-dark .co-offerta-label { color:rgba(255,255,255,.35); }
.co-wrap.tema-dark .co-footer-note { color:rgba(255,255,255,.2); border-top:1px solid rgba(255,255,255,.06); }
.co-wrap.tema-dark .co-calc-block { background:rgba(255,255,255,.02); }
.co-wrap.tema-dark .co-calc-select,
.co-wrap.tema-dark .co-calc-input { background:#1c1e22; border:1px solid rgba(255,255,255,.1); color:#e8e0d0; }
.co-wrap.tema-dark .co-calc-button { background:var(--cog); color:#111; font-weight:600; border:none; }
.co-wrap.tema-dark .co-calc-button:hover { filter:brightness(1.1); }
.co-wrap.tema-dark .co-calc-result { color:#e8e0d0; border-top:1px solid rgba(255,255,255,.06); }
.co-wrap.tema-dark .co-bigprice    { color:#f0e8d8; }

/* BLOCCO */
.co-block { padding:32px 40px; text-align:center; }
.co-block:last-of-type { border-bottom:none; }

/* LABEL es. "QUOTAZIONE ORO" */
.co-label { font-size:.95rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }

/* PREZZO GRANDE + TREND */
.co-price-row { display:inline-flex; align-items:center; gap:14px; margin-bottom:6px; }

.co-bigprice {
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1;
}

/* TREND */
.co-trend { display:flex; flex-direction:column; align-items:center; gap:2px; font-size:.72rem; font-weight:600; line-height:1.1; min-width:52px; }
.co-trend.up   { color:#27a85a; }
.co-trend.down { color:#d94040; }
.co-trend.flat { color:#999; }
.co-trend-arrow { font-size:1.1rem; line-height:1; }
.co-trend-val   { font-size:.65rem; opacity:.85; }

/* TIMESTAMP */
.co-updated { font-size:.8rem; font-weight:500; margin-bottom:22px; }

/* LABEL OFFERTA */
.co-offerta-label { font-size:.75rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; margin-bottom:10px; }

/* TABELLA */
.co-table { width:100%; border-collapse:collapse; font-size:.95rem; max-width:440px; margin:0 auto; }
.co-table thead { display:none; }
.co-table td { padding:13px 18px; vertical-align:middle; }
.co-table td:first-child { font-weight:500; text-align:left; width:40%; }
.co-table td:last-child {
    text-align:right;
    font-family:'DM Sans', sans-serif;
    font-size:1.15rem;
    font-weight:600;
    color:var(--cog);
    letter-spacing:-0.01em;
}
.co-table td.co-td-load { text-align:center; font-style:italic; opacity:.4; font-family:'Inter',sans-serif; font-size:.85rem; color:inherit; padding:20px; }

/* DIVISORE */
.co-divider { height:1px; margin:0; }

/* FOOTER */
.co-footer-note { font-size:.7rem; text-align:center; padding:14px 40px; letter-spacing:.02em; }

/* CALCOLATORE */
.co-calc-block { text-align:center; padding:28px 40px; }
.co-calc-form  { margin-top:18px; }
.co-calc-row   { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; align-items:center; }

.co-calc-select,
.co-calc-input {
    padding:10px 14px;
    border-radius:8px;
    font-size:.9rem;
    font-family:'Inter',sans-serif;
    outline:none;
    transition:border-color .2s;
}
.co-calc-select:focus,
.co-calc-input:focus { border-color:var(--cog); }
.co-calc-select { min-width:130px; }
.co-calc-input  { width:160px; }

.co-calc-button {
    padding:10px 22px;
    border-radius:8px;
    font-size:.9rem;
    font-weight:600;
    font-family:'Inter',sans-serif;
    cursor:pointer;
    transition:filter .2s;
    letter-spacing:.04em;
}

.co-calc-result { margin-top:20px; padding-top:18px; font-size:.88rem; min-height:48px; display:none; }
.co-calc-result.visible { display:block; }
.co-calc-result-label { font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; opacity:.55; margin-bottom:4px; }
.co-calc-result-price {
    font-family:'DM Sans',sans-serif;
    font-size:2.2rem;
    font-weight:700;
    color:var(--cog);
    letter-spacing:-0.02em;
}
.co-calc-result-detail { font-size:.78rem; opacity:.5; margin-top:4px; }

/* BADGE INLINE */
.co-badge-oro, .co-badge-ag { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:20px; font-size:.9rem; font-family:'Inter',sans-serif; font-weight:500; vertical-align:middle; }
.co-badge-oro { border:1px solid var(--cog); color:var(--cog); }
.co-badge-ag  { border:1px solid #a0b0bb; color:#a0b0bb; }
.co-badge-sym { font-family:'DM Sans',sans-serif; font-weight:600; font-size:1rem; }
.co-badge-t   { font-size:.75rem; }

/* FLASH ANIMAZIONE */
@keyframes co-flash { 0%{opacity:.3} 100%{opacity:1} }
.co-flashing { animation:co-flash .5s ease; }

/* RESPONSIVE */
@media (max-width:520px) {
    .co-block, .co-calc-block { padding:24px 20px; }
    .co-bigprice { font-size:2.4rem; }
    .co-calc-row { flex-direction:column; align-items:stretch; }
    .co-calc-select, .co-calc-input, .co-calc-button { width:100%; }
    .co-table td { padding:11px 12px; }
    .co-footer-note { padding:12px 20px; }
}
