/* FILE: assets/renuwo.css — tema RENUWO standalone (derivato da renuwo.it) */

:root {
    --mint: #33e6a3;
    --mint-600: #14c489;
    --mint-light: #76ffcb;
    --mint-50: #ecfdf6;
    --dark: #081a13;
    --ink: #3c3950;
    --slate: #5f727f;
    --slate-300: #99a9b5;
    --gold: #fbcf00;
    --soft: #f2f8fc;
    --line: #dfe5e8;
    --radius: 0.75rem;
    --shadow: 0 12px 40px -12px rgba(8, 26, 19, 0.25);
    --font: 'Montserrat', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: var(--font);
    color: var(--slate);
    background: #fff;
    -webkit-font-smoothing: antialiased;
    line-height: 1.5;
}
h1, h2, h3, h4 { font-family: var(--font); color: var(--ink); font-weight: 700; margin: 0; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 1.25rem; }
.section { padding: 4rem 0; }
.muted { color: var(--slate-300); }
.center { text-align: center; }

/* Bottoni */
.btn, .btn-outline {
    display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
    border-radius: 9999px; padding: .8rem 1.75rem; font-weight: 700; font-size: .9rem;
    text-transform: uppercase; letter-spacing: .02em; cursor: pointer; border: 2px solid transparent;
    transition: all .15s ease;
}
.btn { background: var(--mint); color: var(--dark); }
.btn:hover { background: var(--mint-light); transform: translateY(-1px); box-shadow: var(--shadow); }
.btn-outline { border-color: var(--ink); color: var(--ink); background: transparent; }
.btn-outline:hover { background: var(--ink); color: #fff; }
.btn-block { width: 100%; }

/* Badge */
.badge { display: inline-flex; align-items: center; gap: .35rem; border-radius: 9999px; padding: .2rem .7rem;
    font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; background: var(--gold); color: var(--dark); }
.badge-grade { background: var(--mint-50); color: var(--mint-600); border-radius: 6px; padding: .15rem .5rem; font-size: .68rem; font-weight: 700; }

/* Topbar + header */
.topbar { background: var(--dark); color: #fff; font-size: .8rem; }
.topbar .container { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: .5rem 1.25rem; text-align: center; }
.topbar .light { color: var(--mint-light); }
.header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--line); }
.header .container { display: flex; align-items: center; justify-content: space-between; height: 4.5rem; }
.brand { font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.brand span { color: var(--mint-600); }
.nav { display: flex; gap: 2rem; font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; color: var(--ink); }
.nav a:hover { color: var(--mint-600); }
.header-actions { display: flex; align-items: center; gap: .75rem; }
@media (max-width: 860px) { .nav { display: none; } }

/* Hero */
.hero { background: var(--soft); }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center; padding: 4.5rem 0; }
.hero h1 { font-size: 3.5rem; line-height: 1.05; text-transform: uppercase; margin-top: 1.25rem; }
.hero h1 .accent { color: var(--mint-600); }
.hero p { font-size: 1.1rem; max-width: 32rem; margin: 1.5rem 0; }
.hero-cta { display: flex; gap: 1rem; flex-wrap: wrap; }
.hero-usps { display: flex; gap: 1.5rem; margin-top: 1.5rem; font-size: .9rem; flex-wrap: wrap; }
.hero-visual { aspect-ratio: 4/3; border-radius: var(--radius); background: linear-gradient(135deg, var(--mint-light), var(--mint));
    display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow); text-align: center; padding: 1.5rem; }
.hero-visual .big { font-size: 5rem; font-weight: 800; color: var(--dark); }
.hero-visual .cap { color: var(--dark); font-weight: 700; text-transform: uppercase; }
@media (max-width: 860px) { .hero-grid { grid-template-columns: 1fr; } .hero h1 { font-size: 2.5rem; } }

/* Stats */
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; padding: 2.5rem 0; text-align: center; border-bottom: 1px solid var(--line); }
.stats .num { font-size: 2.2rem; font-weight: 800; color: var(--ink); }
.stats .lbl { font-size: .78rem; text-transform: uppercase; letter-spacing: .02em; color: var(--slate-300); font-weight: 600; margin-top: .25rem; }
@media (max-width: 640px) { .stats { grid-template-columns: repeat(2, 1fr); } }

/* Griglia prodotti */
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; }
.section-head h2 { font-size: 2.2rem; text-transform: uppercase; margin-top: .5rem; }
.grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
@media (max-width: 1100px) { .grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px) { .grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .grid { grid-template-columns: 1fr; } }

.card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: all .18s ease; }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--mint); }
.card-img { position: relative; aspect-ratio: 1; background: var(--soft); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.card-img img { height: 100%; width: 100%; object-fit: contain; padding: 1rem; }
.card-img .ph { font-size: 3rem; color: var(--slate-300); }
.card-img .promo-badge { position: absolute; top: .75rem; left: .75rem; }
.card-img .stock-out { position: absolute; top: .75rem; right: .75rem; background: rgba(60,57,80,.85); color: #fff; font-size: .68rem; font-weight: 600; padding: .15rem .5rem; border-radius: 9999px; }
.card-body { padding: 1rem; display: flex; flex-direction: column; flex: 1; }
.card-brand { font-size: .72rem; text-transform: uppercase; letter-spacing: .02em; color: var(--slate-300); font-weight: 600; }
.card-title { font-size: .9rem; font-weight: 700; color: var(--ink); margin: .25rem 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-foot { margin-top: auto; padding-top: .75rem; }
.price { font-size: 1.15rem; font-weight: 800; color: var(--ink); }
.price-strike { font-size: .9rem; color: var(--slate-300); text-decoration: line-through; margin-left: .4rem; }
.price-note { font-size: .68rem; color: var(--slate-300); }
.price-locked { color: var(--mint-600); font-weight: 700; font-size: .9rem; }

/* Filtri */
.filters { display: grid; grid-template-columns: 1fr auto auto auto; gap: .75rem; margin-bottom: 1.5rem; }
.filters input, .filters select { border: 1px solid var(--line); border-radius: .5rem; padding: .65rem .9rem; font-family: inherit; font-size: .9rem; color: var(--ink); }
.filters input:focus, .filters select:focus { outline: none; border-color: var(--mint); box-shadow: 0 0 0 3px rgba(51,230,163,.25); }
.filters-check { grid-column: 1 / -1; font-size: .85rem; color: var(--slate); display: flex; align-items: center; gap: .5rem; }
@media (max-width: 720px) { .filters { grid-template-columns: 1fr; } }

/* Form login */
.auth { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center; max-width: 64rem; margin: 0 auto; }
.auth-list { list-style: none; padding: 0; margin: 2rem 0 0; }
.auth-list li { display: flex; gap: .6rem; margin-bottom: 1rem; }
.auth-list .ok { color: var(--mint-600); font-weight: 700; }
.card-form { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 2.25rem; }
.field { margin-bottom: 1.1rem; }
.field label { display: block; font-size: .85rem; font-weight: 600; color: var(--ink); margin-bottom: .35rem; }
.field input { width: 100%; border: 1px solid var(--line); border-radius: .5rem; padding: .7rem .9rem; font-family: inherit; font-size: .95rem; color: var(--ink); }
.field input:focus { outline: none; border-color: var(--mint); box-shadow: 0 0 0 3px rgba(51,230,163,.25); }
.alert { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; border-radius: .5rem; padding: .8rem 1rem; font-size: .9rem; margin-bottom: 1rem; }
@media (max-width: 820px) { .auth { grid-template-columns: 1fr; } .auth-side { display: none; } }

/* Scheda prodotto */
.breadcrumb { font-size: .85rem; color: var(--slate-300); margin: 1.5rem 0; }
.breadcrumb a:hover { color: var(--mint-600); }
.product { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
.product-media { border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); aspect-ratio: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.product-media img { padding: 2rem; height: 100%; object-fit: contain; }
.product-media .ph { font-size: 6rem; color: var(--slate-300); }
.product h1 { font-size: 1.9rem; margin-top: .5rem; }
.meta-row { display: flex; gap: 1.5rem; flex-wrap: wrap; font-size: .85rem; margin-top: .75rem; }
.price-box { border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem; margin-top: 1.5rem; }
.price-box .big { font-size: 2rem; font-weight: 800; color: var(--ink); }
.avail { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; font-size: .9rem; margin-top: .75rem; }
.dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--mint-600); }
.dot-off { background: var(--slate-300); }
.usp-mini { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; text-align: center; font-size: .75rem; color: var(--slate); border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 1.25rem; }
@media (max-width: 820px) { .product { grid-template-columns: 1fr; } }

/* USP grid (home) */
.usp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.usp { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem; }
.usp .ico { font-size: 1.8rem; }
.usp h3 { font-size: 1.05rem; margin: 1rem 0 .5rem; }
.usp p { font-size: .9rem; margin: 0; }
@media (max-width: 820px) { .usp-grid { grid-template-columns: 1fr; } }

/* CTA finale */
.cta { background: var(--dark); color: #fff; border-radius: var(--radius); padding: 4rem 2rem; text-align: center; box-shadow: var(--shadow); }
.cta h2 { color: #fff; font-size: 2.5rem; text-transform: uppercase; }
.cta p { max-width: 42rem; margin: 1rem auto 2rem; color: rgba(255,255,255,.7); font-size: 1.05rem; }

/* Paginazione */
.pagination { display: flex; gap: .5rem; justify-content: center; margin-top: 2.5rem; }
.pagination a, .pagination span { border: 1px solid var(--line); border-radius: .5rem; padding: .5rem .9rem; font-weight: 600; font-size: .9rem; color: var(--ink); }
.pagination .active { background: var(--mint); border-color: var(--mint); color: var(--dark); }
.pagination .disabled { color: var(--slate-300); }

/* Footer */
.footer { background: var(--dark); color: #fff; margin-top: 5rem; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2.5rem; padding: 3.5rem 0; }
.footer h4 { color: #fff; font-size: .85rem; text-transform: uppercase; letter-spacing: .02em; }
.footer a, .footer li { color: rgba(255,255,255,.7); font-size: .9rem; }
.footer a:hover { color: var(--mint); }
.footer ul { list-style: none; padding: 0; margin: 1rem 0 0; }
.footer ul li { margin-bottom: .5rem; }
.footer .claim { color: var(--mint); font-weight: 700; text-transform: uppercase; margin-top: 1.5rem; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); font-size: .75rem; color: rgba(255,255,255,.5); }
.footer-bottom .container { display: flex; justify-content: space-between; padding: 1.25rem; flex-wrap: wrap; gap: .5rem; }
@media (max-width: 820px) { .footer-grid { grid-template-columns: 1fr; } }
/* Stock B2B — layout catalogo ispirato al riferimento Digoo/Phoenix */
.stock-trust{border-bottom:1px solid var(--line);background:#f7f8fa}.stock-trust .container{display:flex;justify-content:center;gap:3.2rem;padding:.75rem 1.25rem;color:var(--muted);font-size:.78rem}.stock-page{padding:1.8rem 0 4rem;background:#fff}.availability-bar{display:flex;align-items:center;gap:.55rem;padding:0 0 1.25rem;border-bottom:1px solid var(--line)}.availability-bar>strong{margin-right:.65rem;color:var(--muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.filter-chip input{position:absolute;opacity:0}.filter-chip span,.clear-chip{display:block;padding:.62rem 1rem;border-radius:2rem;background:#f2f3f6;color:#4e5665;font-size:.78rem;cursor:pointer}.filter-chip input:checked+span{background:var(--ink);color:#fff}.clear-chip{background:none;color:var(--mint-600)}.stock-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:2.25rem;padding-top:1.4rem}.stock-sidebar{padding:.2rem .4rem}.side-group{padding:1rem 0;border-bottom:1px solid #edf0f4}.side-group>label:first-child{display:block;margin-bottom:.75rem;color:#4b5260;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.side-group em{color:#9299a8;font-style:normal;font-weight:500}.side-search{position:relative}.side-search span{position:absolute;left:.8rem;top:.7rem;color:#87909f}.side-search input{padding-left:2.25rem!important}.side-group input[type=text],.side-group input[type=number],.side-search input{width:100%;height:44px;border:1px solid #d9dee7;border-radius:.7rem;padding:0 .8rem;background:#fff}.side-group>small{display:block;margin-top:.45rem;color:#9299a8;font-size:.68rem}.price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.side-check{display:flex!important;align-items:center;gap:.55rem;margin:.58rem 0!important;color:#505765!important;font-size:.8rem!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important}.side-check input{width:16px;height:16px}.side-check small{margin-left:auto;color:#9299a8}.apply-filters{width:100%;margin-top:1rem;border:0;border-radius:.55rem;padding:.75rem;background:var(--ink);color:#fff;font-weight:700}.reset-filters{display:block;margin-top:.8rem;text-align:center;color:var(--muted);font-size:.75rem}.sales-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:.8rem;box-shadow:0 4px 12px #1821350a}.sales-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--ink);color:var(--mint)}.sales-banner strong{font-size:.86rem}.sales-banner p{margin:.15rem 0 0;color:var(--muted);font-size:.75rem}.sales-actions{display:flex;gap:.5rem}.sales-actions a{padding:.58rem .9rem;border:1px solid var(--line);border-radius:2rem;color:var(--ink);font-size:.75rem;font-weight:700}.sales-actions .whatsapp{border-color:#18a957;background:#18a957;color:#fff}.stock-summary{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:.8rem;font-size:.8rem}.stock-summary label{display:flex;align-items:center;gap:.65rem;color:var(--muted);font-size:.68rem;text-transform:uppercase}.stock-summary select{height:36px;border:1px solid var(--line);border-radius:.55rem;padding:0 2rem 0 .75rem;background:#fff;color:var(--ink);font-weight:700}.stock-table{margin-top:.7rem;border-top:1px solid var(--line)}.stock-head,.stock-row{display:grid;grid-template-columns:105px 65px minmax(220px,1.6fr) 130px minmax(165px,1fr) 70px 90px;gap:.8rem;align-items:center}.stock-head{padding:.85rem 1rem;border-bottom:1px solid var(--line);background:#fafbfc;color:#747b89;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.stock-row{min-height:155px;padding:1rem;border-bottom:1px solid var(--line);transition:background .15s}.stock-row:hover{background:#fafbfc}.unit-brand strong,.unit-brand small,.unit-qty strong,.unit-qty small,.unit-config strong,.unit-config small,.unit-lead strong,.unit-lead small,.unit-price strong{display:block}.unit-brand strong{color:#1473c9;font-size:1.1rem}.unit-brand small{width:max-content;margin-top:.3rem;padding:.15rem .35rem;border:1px solid var(--line);border-radius:.25rem;font-size:.57rem}.unit-qty strong{font-size:1.35rem}.unit-qty small,.unit-lead small{color:var(--muted);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}.unit-config strong{font-size:.82rem;text-transform:uppercase}.unit-config small{margin-top:.3rem;color:var(--muted);font-size:.66rem;line-height:1.4}.unit-grade{display:flex;flex-wrap:wrap;gap:.3rem}.unit-grade span{padding:.22rem .38rem;border-radius:.35rem;background:#e4f4e8;color:#26834e;font-size:.6rem;font-weight:800}.unit-grade span:nth-child(2){background:#f5f0d7;color:#8b7421}.unit-services{margin:0;padding:0;list-style:none;color:#626978;font-size:.64rem}.unit-services li:before{content:'•';margin-right:.4rem;color:#eab308}.unit-lead strong{color:#20a35a;font-size:1.05rem}.unit-price{text-align:right}.unit-price strong{font-size:1rem}.unit-price a{display:inline-block;margin-top:.55rem;padding:.35rem .65rem;border:1px solid var(--line);border-radius:1rem;color:var(--ink);font-size:.63rem;font-weight:700}.stock-pagination{display:flex;justify-content:center;gap:.35rem;margin-top:1.5rem}.stock-pagination a{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:.4rem;color:var(--ink)}.stock-pagination a.active{border-color:var(--ink);background:var(--ink);color:#fff}.stock-empty{padding:5rem 1rem;text-align:center}.stock-empty p{color:var(--muted)}.stock-empty a{color:var(--mint-600);font-weight:700}@media(max-width:1100px){.stock-head{display:none}.stock-row{grid-template-columns:100px 70px 1fr 120px}.unit-services,.unit-lead,.unit-price{grid-column:auto}.unit-services{display:none}}@media(max-width:760px){.stock-trust .container{justify-content:flex-start;overflow:auto;gap:1.5rem;white-space:nowrap}.availability-bar{overflow:auto}.availability-bar>strong{position:sticky;left:0;background:#fff}.stock-layout{grid-template-columns:1fr}.stock-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.brand-filter,.apply-filters,.reset-filters{grid-column:1/-1}.sales-banner{grid-template-columns:auto 1fr}.sales-actions{grid-column:1/-1}.stock-row{grid-template-columns:90px 65px 1fr;align-items:start}.unit-grade{grid-column:1/3}.unit-lead{grid-column:3}.unit-price{grid-column:3;text-align:left}.stock-summary{align-items:flex-start;gap:1rem;flex-direction:column}}@media(max-width:520px){.stock-sidebar{grid-template-columns:1fr}.brand-filter,.apply-filters,.reset-filters{grid-column:auto}.stock-row{grid-template-columns:1fr 70px}.unit-config{grid-column:1/-1}.unit-grade{grid-column:1}.unit-lead,.unit-price{grid-column:2}.sales-banner{grid-template-columns:1fr}.sales-icon{display:none}}
