:root{--blue:#073b8e;--navy:#0b1425;--lime:#bfff00;--text:#111827;--muted:#637089;--bg:#f6f9ff;--line:#dfe6f1}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:linear-gradient(120deg,#fbfff4,#f5f9ff 42%,#eef5ff);font-weight:500}a{color:inherit}.site-header{display:flex;justify-content:space-between;align-items:center;padding:28px 5vw;gap:24px}.brand img{height:64px;width:auto;object-fit:contain}.site-header nav{display:flex;gap:26px;align-items:center;font-weight:800;font-size:14px}.site-header nav a{text-decoration:none}.nav-cta{border:1px solid var(--blue);border-radius:999px;padding:10px 16px}.nav-shop-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 24px;background:var(--lime);border:1px solid #9bd400;color:#071328;font-weight:950;text-decoration:none;box-shadow:0 10px 22px rgba(191,255,0,.22)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding:45px 5vw 70px}.eyebrow{text-transform:uppercase;color:var(--blue);font-weight:900;letter-spacing:.08em}h1{font-size:clamp(48px,7vw,96px);line-height:.92;margin:14px 0 24px;color:var(--navy);letter-spacing:-.06em}h2{font-size:clamp(28px,3.2vw,44px);line-height:1.05;margin:0 0 18px;color:var(--navy)}.lead{font-size:24px;line-height:1.55;color:#53627a;max-width:720px}.microcopy{color:#5f6d83;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 28px;font-weight:900;text-decoration:none;border:1px solid var(--blue);cursor:pointer}.primary{background:var(--blue);color:#fff;box-shadow:0 12px 25px rgba(7,59,142,.18)}.secondary{background:#fff;color:var(--blue)}.secondary.light{background:transparent;color:#fff;border-color:var(--lime)}.qr-card{background:#fff;border-radius:38px;padding:28px;text-align:center;box-shadow:0 24px 70px rgba(7,59,142,.15);border:1px solid var(--line)}.qr-card img{width:min(430px,100%);display:block;margin:auto}.qr-kicker{font-size:28px;margin:0 0 8px;font-weight:950;color:var(--navy)}.section{padding:64px 5vw}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card{padding:30px;border-radius:24px;background:#f8fbff}.card span{font-size:60px;color:#dce4f1;font-weight:950}.card h3{font-size:28px;margin:-30px 0 8px;color:var(--navy)}.feature-strip{text-align:center;padding:58px 5vw;background:#f8fae8;border-top:1px solid #e9eccb;border-bottom:1px solid #e9eccb}.feature-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;max-width:1200px;margin:28px auto 0}.feature-grid article{padding:20px;border-right:1px solid #ccd2b6}.feature-grid article:last-child{border-right:0}.feature-grid strong{display:block;color:var(--navy);font-size:18px}.feature-grid p{color:#4d596e;line-height:1.5}.reviews{background:#061a3b;color:#fff;text-align:center;padding:58px 5vw}.reviews h2{color:#fff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1100px;margin:24px auto}.review-grid article{background:#fff;color:var(--navy);border-radius:16px;padding:28px}.stars{color:#f6c500;font-size:26px;letter-spacing:.08em}.review-note{color:#dbe9ff}.showcase{display:grid;grid-template-columns:.85fr 1fr;gap:52px;align-items:center;background:#fff}.showcase-image img,.product-placeholder img{width:100%;border-radius:28px}.page{padding:48px 5vw 90px}.narrow{max-width:820px;margin:auto}.support-form{display:grid;gap:18px;margin-top:28px}.support-form label{display:grid;gap:8px;font-weight:800}.support-form input,.support-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:15px 16px;font:inherit;background:#fff}.product-placeholder{display:grid;grid-template-columns:.7fr 1fr;gap:40px;align-items:center;margin-top:35px;background:#fff;border-radius:28px;padding:30px}footer{display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr;gap:36px;padding:50px 5vw 26px;background:#071328;color:#fff}footer a{text-decoration:none;color:#fff}.footer-logo-box{display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:8px 12px;border-radius:6px}.footer-logo{height:72px;object-fit:contain;filter:none}footer small{grid-column:1/-1;color:#aab7ce;border-top:1px solid rgba(255,255,255,.15);padding-top:22px}.thanks{text-align:center}.thanks img{height:58px}@media(max-width:900px){.site-header{align-items:flex-start}.site-header nav{flex-wrap:wrap;gap:14px}.hero,.showcase,.product-placeholder{grid-template-columns:1fr}.feature-grid,.review-grid,.cards,footer{grid-template-columns:1fr}.feature-grid article{border-right:0;border-bottom:1px solid #ccd2b6}.feature-grid article:last-child{border-bottom:0}h1{font-size:54px}.lead{font-size:20px}}


/* QR2 social section upgrade */
.social-strip{background:radial-gradient(circle at 20% 20%,rgba(191,255,0,.22),transparent 34%),linear-gradient(135deg,#fbfff0,#f4f8ff);padding:72px 5vw 68px;overflow:hidden}.social-strip .eyebrow{margin:0 0 10px}.section-subtitle{max-width:880px;margin:0 auto 34px;color:#53627a;font-size:20px;line-height:1.55}.social-grid{gap:18px;margin-top:30px}.social-grid article{position:relative;border:1px solid #e2e8d2!important;border-radius:26px;background:rgba(255,255,255,.78);box-shadow:0 18px 45px rgba(7,59,142,.08);padding:28px 22px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.social-grid article:last-child{border-right:1px solid #e2e8d2}.social-grid article:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(7,59,142,.14);border-color:rgba(191,255,0,.9)!important}.feature-icon{width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;margin:0 auto 14px;border-radius:20px;background:#061a3b;color:#fff;font-size:28px;box-shadow:0 12px 24px rgba(6,26,59,.18)}.social-grid strong{font-size:20px;line-height:1.1}.social-grid p{font-size:16px;margin-bottom:0}.section-highlight{display:inline-flex;align-items:center;gap:10px;margin:34px auto 0;padding:14px 22px;border-radius:999px;background:#061a3b;color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(6,26,59,.18)}.section-highlight:before,.section-highlight:after{content:"💚"}@media(max-width:900px){.social-strip{padding:54px 5vw}.section-subtitle{font-size:18px}.social-grid article{border-bottom:1px solid #e2e8d2!important}.section-highlight{border-radius:24px;display:flex;justify-content:center}}

/* Shop page */
.shop-page{padding:28px 5vw 80px}.shop-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:30px 0 60px}.shop-hero h1{max-width:760px}.shop-hero-card{background:#fff;border:1px solid var(--line);border-radius:34px;padding:26px;box-shadow:0 22px 60px rgba(7,59,142,.12)}.shop-hero-card img{width:100%;display:block;border-radius:24px}.shop-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.shop-badges span{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:900;color:var(--navy)}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:start}.product-list{display:grid;gap:22px}.shop-product{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding:24px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 45px rgba(7,59,142,.08)}.product-media{background:#f7faff;border-radius:22px;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-media img{width:100%;height:100%;min-height:220px;object-fit:cover}.product-kicker{font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-size:13px;margin:0 0 4px}.product-info h2{font-size:34px;margin-bottom:10px}.product-info p{color:#53627a;line-height:1.55}.product-price{font-size:26px;font-weight:950;color:var(--navy);margin:14px 0}.product-options{display:grid;grid-template-columns:1fr 1fr 110px;gap:12px;margin:18px 0}.product-options label,.checkout-form label{display:grid;gap:8px;font-weight:900;color:var(--navy)}.product-options select,.product-options input,.checkout-form input,.checkout-form textarea{border:1px solid var(--line);border-radius:15px;padding:13px 14px;font:inherit;background:#fff;color:var(--navy)}.cart-panel{position:relative}.cart-sticky{position:sticky;top:20px;background:#061a3b;color:#fff;border-radius:28px;padding:26px;box-shadow:0 22px 60px rgba(6,26,59,.2)}.cart-sticky h2{color:#fff}.cart-items{display:grid;gap:10px;margin:18px 0}.cart-items.empty{padding:18px;border:1px dashed rgba(255,255,255,.35);border-radius:16px;color:#c8d5e8}.cart-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.08)}.cart-row small{display:block;color:#c8d5e8;margin-top:4px}.cart-row button{width:30px;height:30px;border:0;border-radius:50%;cursor:pointer;font-size:22px;background:#fff;color:#061a3b}.cart-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);padding:16px 0;margin:16px 0;font-size:20px}.checkout-form{display:grid;gap:14px}.checkout-form input,.checkout-form textarea{background:#fff}.button.full{width:100%}.cart-note{font-size:13px;line-height:1.45;color:#c8d5e8}.order-result{margin-top:14px;padding:14px;border-radius:16px;background:#f8fae8;color:#061a3b;font-weight:800;line-height:1.45}@media(max-width:1050px){.shop-layout,.shop-hero{grid-template-columns:1fr}.cart-sticky{position:static}.shop-product{grid-template-columns:1fr}.product-media img{max-height:320px}.product-options{grid-template-columns:1fr}} 

/* Shop v6 - logica simile alla webapp */
.single-product { grid-template-columns: minmax(280px, 420px) 1fr; }
.shop-shirt-viewer { position: relative; display: grid; place-items: center; overflow: hidden; }
.shop-shirt-viewer img { width: min(100%, 390px); height: auto; object-fit: contain; }
.color-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border: 0; border-radius: 999px; background: rgba(9,59,143,.95); color: #fff; font-size: 34px; font-weight: 900; cursor: pointer; box-shadow: 0 12px 28px rgba(0,0,0,.18); }
.color-arrow:hover { filter: brightness(1.08); }
#prevColor { left: 16px; }
#nextColor { right: 16px; }
.model-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-width: 420px; margin: 16px 0 12px; }
.model-tab { border: 1px solid rgba(9,59,143,.25); border-radius: 999px; background: #fff; padding: 14px 18px; font-weight: 900; color: #0b1730; cursor: pointer; }
.model-tab.active { background: #caff00; border-color: #a2d000; color: #07162e; }
.color-name { font-size: 1.2rem; font-weight: 900; color: #0b48a2; margin: 8px 0 10px; }
.compact-options { grid-template-columns: repeat(2, minmax(150px, 1fr)); max-width: 520px; }
.product-options small { display:block; margin-top:8px; color:#5d6c86; font-weight:700; }
.add-to-cart:disabled { opacity: .5; cursor:not-allowed; }
@media (max-width: 860px) { .single-product { grid-template-columns: 1fr; } .color-arrow { width: 42px; height: 42px; font-size: 30px; } }

.cart-total--mini { font-size:0.94rem; padding:8px 0; border-top:1px solid rgba(255,255,255,0.12); border-bottom:0; margin:6px 0; }
.checkout-grid { display:grid; grid-template-columns:0.85fr 1.4fr 0.55fr; gap:10px; }
.order-result.is-error { border-color:rgba(255,0,90,0.28); background:rgba(255,0,90,0.08); }
@media (max-width:720px){ .checkout-grid{ grid-template-columns:1fr; } }

/* Admin private area */
.admin-page {
  background: radial-gradient(circle at top left, rgba(189, 255, 0, .14), transparent 34%), #f5f8fd;
  min-height: 100vh;
}
.admin-login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
}
.admin-login-card,
.settings-card,
.admin-status-card {
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 28px;
  box-shadow: 0 22px 60px rgba(15, 23, 42, .08);
}
.admin-login-card {
  width: min(520px, 100%);
  padding: 40px;
}
.admin-login-logo {
  width: 150px;
  margin-bottom: 28px;
}
.admin-login-card h1,
.settings-hero h1 {
  margin: 0 0 16px;
  color: #0f172a;
}
.admin-login-card p,
.settings-hero p {
  color: #41516d;
  line-height: 1.6;
}
.admin-header .nav-button {
  border: 0;
  cursor: pointer;
  font: inherit;
}
.settings-page {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 54px 0 90px;
}
.settings-hero {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 24px;
  align-items: stretch;
  margin-bottom: 28px;
}
.admin-status-card {
  display: grid;
  place-items: center;
  padding: 24px;
  font-weight: 900;
  color: #0d479d;
}
.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.settings-card {
  padding: 28px;
}
.settings-card h2 {
  margin-top: 0;
  color: #0f172a;
}
.settings-card label {
  display: grid;
  gap: 8px;
  margin: 16px 0;
  font-weight: 800;
  color: #0f172a;
}
.settings-card input,
.settings-card textarea {
  border: 1px solid rgba(15, 23, 42, .16);
  border-radius: 16px;
  padding: 14px 16px;
  font: inherit;
  background: #fff;
}
.settings-card .checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.settings-card .checkbox-row input {
  width: 20px;
  height: 20px;
}
.settings-log {
  margin-top: 24px;
  color: #0f172a;
}
.settings-log.is-error,
#adminLoginStatus.is-error {
  color: #b91c1c;
}
@media (max-width: 820px) {
  .settings-hero,
  .settings-grid {
    grid-template-columns: 1fr;
  }
  .admin-login-card {
    padding: 28px;
  }
}


.admin-quick-actions,
.inventory-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
}

.inventory-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.inventory-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.inventory-stat {
  background: #f4f8ff;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 22px;
  padding: 18px;
}

.inventory-stat strong {
  display: block;
  font-size: 34px;
  line-height: 1;
  color: #0b409c;
}

.inventory-stat span {
  display: block;
  margin-top: 6px;
  color: #41516d;
  font-weight: 700;
}

.inventory-table-wrap {
  overflow-x: auto;
}

.inventory-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 840px;
}

.inventory-table th,
.inventory-table td {
  text-align: left;
  padding: 14px 12px;
  border-bottom: 1px solid rgba(15, 23, 42, .1);
  vertical-align: middle;
}

.inventory-table th {
  color: #41516d;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.inventory-table td small {
  display: block;
  color: #75829b;
  margin-top: 4px;
}

.inventory-thumb {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 14px;
  background: #f7f9fc;
  border: 1px solid rgba(15, 23, 42, .08);
}

.stock-pill {
  display: inline-flex;
  min-width: 48px;
  justify-content: center;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 900;
}

.stock-ok { background: rgba(190, 255, 0, .22); color: #214000; }
.stock-low { background: rgba(255, 184, 0, .22); color: #6f4200; }
.stock-zero { background: rgba(255, 59, 48, .14); color: #9b120d; }

@media (max-width: 760px) {
  .admin-quick-actions,
  .inventory-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .inventory-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.inventory-save-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(15, 23, 42, .12);
}
.inventory-save-bar p {
  margin: 0;
  color: #475569;
  font-weight: 700;
}
.inventory-adjust-input {
  width: 118px;
  max-width: 100%;
  border: 1px solid rgba(15, 23, 42, .18);
  border-radius: 16px;
  padding: 12px 14px;
  font-weight: 900;
  font-size: 18px;
  text-align: center;
  color: #0f172a;
  background: #fff;
}
.inventory-adjust-input:focus {
  outline: 3px solid rgba(190, 255, 0, .35);
  border-color: rgba(10, 68, 160, .45);
}
@media (max-width: 760px) {
  .inventory-save-bar { flex-direction: column; align-items: stretch; }
  .inventory-adjust-input { width: 92px; }
}


/* Rewards admin */
.rewards-table { min-width: 980px; }
.reward-thumb { width: 64px; height: 64px; }
.reward-no-photo {
  display: inline-grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 14px;
  background: #f7f9fc;
  border: 1px dashed rgba(15, 23, 42, .18);
  color: #75829b;
  font-weight: 900;
}
.reward-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 900;
  font-size: 13px;
}
.reward-status-on { background: rgba(190, 255, 0, .22); color: #214000; }
.reward-status-off { background: rgba(148, 163, 184, .18); color: #475569; }
.reward-form { margin-top: 24px; }
.reward-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 18px;
}
.settings-card select {
  border: 1px solid rgba(15, 23, 42, .16);
  border-radius: 16px;
  padding: 14px 16px;
  font: inherit;
  background: #fff;
}
.button.small {
  padding: 9px 14px;
  font-size: 13px;
}
.button.danger {
  border-color: rgba(185, 28, 28, .28);
  color: #b91c1c;
  background: #fff5f5;
}
.button.danger:hover { background: #fee2e2; }
.muted { color: #64748b; line-height: 1.55; }
@media (max-width: 900px) {
  .reward-form-grid { grid-template-columns: 1fr; }
}

/* Rewards v17: compact table + edit modal */
.rewards-table { min-width: 760px; }
.reward-clickable-row { cursor: pointer; }
.reward-clickable-row:hover { background: rgba(15, 23, 42, .025); }
body.modal-open { overflow: hidden; }
.reward-modal[hidden] { display: none; }
.reward-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
}
.reward-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .58);
  backdrop-filter: blur(4px);
}
.reward-modal-card {
  position: relative;
  width: min(760px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  border-radius: 30px;
  padding: 28px;
  box-shadow: 0 30px 90px rgba(15, 23, 42, .28);
}
.reward-modal-head,
.reward-modal-actions,
.reward-photo-edit {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}
.reward-modal-head h2 { margin: 0; }
.reward-modal-close {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: #f1f5f9;
  color: #0f172a;
  font-size: 28px;
  font-weight: 900;
  cursor: pointer;
}
.reward-photo-edit {
  align-items: flex-end;
  margin: 8px 0 12px;
}
.reward-photo-edit label { flex: 1; }
.reward-modal-actions { justify-content: flex-end; margin-top: 18px; }
@media (max-width: 700px) {
  .reward-modal-card { padding: 22px; border-radius: 24px; }
  .reward-modal-head,
  .reward-modal-actions,
  .reward-photo-edit { align-items: stretch; flex-direction: column; }
  .reward-modal-actions .button { width: 100%; }
}

/* Rewards v18: modal più curata */
.reward-modal {
  padding: 32px;
}
.reward-modal-backdrop {
  background: rgba(6, 26, 59, .62);
  backdrop-filter: blur(8px);
}
.reward-modal-card {
  width: min(920px, 100%);
  max-height: 92vh;
  overflow: auto;
  padding: 0;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 34px 110px rgba(6, 26, 59, .34);
}
.reward-modal-head {
  padding: 30px 34px 24px;
  background:
    radial-gradient(circle at 88% 18%, rgba(191,255,0,.32), transparent 22%),
    linear-gradient(135deg, #f8fbff 0%, #ffffff 55%, #f7ffe8 100%);
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.reward-modal-head .eyebrow {
  margin: 0 0 8px;
  font-size: 13px;
}
.reward-modal-head h2 {
  margin: 0 0 6px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: .95;
  letter-spacing: -.055em;
}
.reward-modal-head .muted {
  margin: 0;
  font-size: 14px;
}
.reward-modal-close {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  background: #eef3fa;
  color: #061a3b;
  box-shadow: inset 0 0 0 1px rgba(15,23,42,.04);
  transition: transform .15s ease, background .15s ease;
}
.reward-modal-close:hover {
  transform: scale(1.04);
  background: #e3ebf6;
}
.reward-modal-card > input[type="hidden"] { display: none; }
.reward-modal-card > .reward-form-grid,
.reward-modal-card > label,
.reward-modal-card > .reward-photo-edit,
.reward-modal-card > .checkbox-row,
.reward-modal-card > .reward-modal-actions {
  margin-left: 34px;
  margin-right: 34px;
}
.reward-modal-card > .reward-form-grid {
  margin-top: 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.reward-modal-card label {
  display: grid;
  gap: 9px;
  margin-top: 0;
  margin-bottom: 18px;
  color: #0f172a;
  font-weight: 900;
  letter-spacing: -.01em;
}
.reward-modal-card input,
.reward-modal-card textarea,
.reward-modal-card select {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 18px;
  padding: 15px 16px;
  font: inherit;
  font-weight: 750;
  color: #0f172a;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .035);
}
.reward-modal-card textarea {
  min-height: 116px;
  resize: vertical;
  line-height: 1.45;
}
.reward-modal-card input:focus,
.reward-modal-card textarea:focus,
.reward-modal-card select:focus {
  outline: 4px solid rgba(191, 255, 0, .30);
  border-color: rgba(7, 59, 142, .48);
}
.reward-photo-edit {
  align-items: center;
  margin-top: 4px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 24px;
  background: #f8fbff;
}
#editRewardPhotoPreview {
  flex: 0 0 auto;
  width: 90px;
  height: 90px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  overflow: hidden;
}
#editRewardPhotoPreview .reward-thumb {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 22px;
}
.reward-modal-card .checkbox-row {
  display: inline-flex;
  align-items: center;
  width: auto;
  gap: 12px;
  margin-top: 4px;
  margin-bottom: 10px;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(191,255,0,.18);
}
.reward-modal-card .checkbox-row input {
  width: 22px;
  height: 22px;
  box-shadow: none;
}
.reward-modal-actions {
  justify-content: flex-end;
  gap: 14px;
  margin-top: 18px;
  padding: 24px 0 34px;
  border-top: 1px solid rgba(15, 23, 42, .08);
}
.reward-modal-actions .button {
  min-width: 170px;
}
@media (max-width: 700px) {
  .reward-modal { padding: 14px; }
  .reward-modal-card { border-radius: 26px; }
  .reward-modal-head { padding: 24px; }
  .reward-modal-card > .reward-form-grid,
  .reward-modal-card > label,
  .reward-modal-card > .reward-photo-edit,
  .reward-modal-card > .checkbox-row,
  .reward-modal-card > .reward-modal-actions {
    margin-left: 22px;
    margin-right: 22px;
  }
  .reward-modal-card > .reward-form-grid { grid-template-columns: 1fr; }
  .reward-photo-edit { flex-direction: column; align-items: stretch; }
  #editRewardPhotoPreview { width: 100%; height: 130px; }
  #editRewardPhotoPreview .reward-thumb { width: 100%; height: 130px; }
}

/* Inventory v19: tabs maglie/premi */
.inventory-tabs {
  display: flex;
  gap: 10px;
  margin: -4px 0 18px;
}
.inventory-tab {
  border: 1px solid rgba(15, 23, 42, .10);
  background: #fff;
  color: #0f172a;
  font-weight: 900;
  border-radius: 999px;
  padding: 12px 18px;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}
.inventory-tab.is-active {
  background: #0b409c;
  color: #fff;
  border-color: #0b409c;
}
.inventory-adjust-input,
.reward-inventory-adjust-input {
  width: 130px;
  border: 1px solid rgba(15, 23, 42, .16);
  border-radius: 14px;
  padding: 12px 14px;
  font: inherit;
  font-weight: 900;
}
.rewards-table { min-width: 860px; }

/* Admin v20: pagine settings mancanti */
.admin-config-form {
  display: grid;
  gap: 4px;
  max-width: 860px;
}
.admin-config-form h2 { margin-top: 8px; }
.admin-config-form label {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  font-weight: 900;
  color: #0f172a;
}
.admin-config-form input,
.admin-config-form textarea,
.admin-config-form select {
  border: 1px solid rgba(15, 23, 42, .16);
  border-radius: 16px;
  padding: 14px 16px;
  font: inherit;
  background: #fff;
}
.admin-config-form .checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-config-form .checkbox-row input { width: 20px; height: 20px; }
.admin-header nav { flex-wrap: wrap; }
@media (max-width: 760px) {
  .admin-header nav { justify-content: flex-start; }
}

/* v21 fix carrello shop: impedisce overflow orizzontale del pannello ordine */
.shop-layout { grid-template-columns: minmax(0, 1fr) minmax(340px, 390px); overflow: visible; }
.cart-panel, .cart-sticky, .checkout-form, .checkout-form label, .checkout-grid, .checkout-grid label { min-width: 0; }
.cart-sticky { overflow: hidden; box-sizing: border-box; }
.checkout-form input, .checkout-form textarea, .product-options select, .product-options input { width: 100%; max-width: 100%; box-sizing: border-box; }
.checkout-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.4fr) minmax(0,.55fr); }
@media (max-width: 1180px) { .shop-layout { grid-template-columns: 1fr; } .cart-sticky { position: static; } }

/* v22 - fix form carrello + CAP/Città/Provincia controllati */
.cart-sticky .checkout-form label,
.cart-sticky .checkout-grid label { color:#ffffff; }
.cart-sticky .checkout-form input,
.cart-sticky .checkout-form select,
.cart-sticky .checkout-form textarea { width:100%; max-width:100%; box-sizing:border-box; }
.cart-sticky .checkout-form select { border:1px solid var(--line); border-radius:15px; padding:13px 14px; font:inherit; background:#fff; color:var(--navy); font-weight:800; }
.cart-sticky .checkout-form input[readonly] { background:#f8fbff; color:#334155; }
.checkout-address-hint { color:#c8d5e8; font-size:12px; line-height:1.35; margin-top:-6px; }


/* V23: shop hero senza immagine, rimpaginazione più compatta */
.shop-hero.shop-hero--compact{
  display:block;
  max-width:980px;
  padding:28px 0 34px;
}
.shop-hero.shop-hero--compact h1{
  max-width:900px;
  margin-bottom:18px;
}
.shop-hero.shop-hero--compact .lead{
  max-width:860px;
}
.shop-hero.shop-hero--compact .shop-badges{
  margin-top:18px;
}
.shop-layout{
  margin-top:8px;
}
@media(max-width:1050px){
  .shop-hero.shop-hero--compact{padding:18px 0 28px;}
}

/* V24: carrello affiancato al titolo in alto nello shop desktop */
@media (min-width: 1181px) {
  .shop-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 390px);
    column-gap: 28px;
    row-gap: 24px;
    align-items: start;
  }

  .shop-hero.shop-hero--compact {
    grid-column: 1;
    grid-row: 1;
    max-width: none;
    padding: 28px 0 8px;
  }

  .shop-layout {
    display: contents;
  }

  .product-list {
    grid-column: 1;
    grid-row: 2;
  }

  .cart-panel {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
  }

  .cart-sticky {
    top: 24px;
  }
}

@media (max-width: 1180px) {
  .shop-page {
    display: block;
  }

  .shop-layout {
    display: grid;
  }
}

/* V25: indirizzo controllato Provincia → Città → CAP e hero più pulita */
.checkout-grid.checkout-grid--address {
  grid-template-columns: minmax(0,.75fr) minmax(0,1.3fr) minmax(0,.75fr);
  align-items: end;
}
.cart-sticky .checkout-form select:disabled {
  background:#d7e0ec;
  color:#536172;
  opacity:1;
  cursor:not-allowed;
}
.shop-hero.shop-hero--compact .lead {
  margin-bottom: 0;
}
@media (max-width: 560px) {
  .checkout-grid.checkout-grid--address { grid-template-columns: 1fr; }
}

/* Orders admin */
.orders-table td { vertical-align: middle; }
.order-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef4ff;
  color: #0a1b34;
  font-weight: 900;
  font-size: 0.88rem;
  white-space: nowrap;
}
.order-badge.is-ok { background: #dfff91; color: #092033; }
.order-badge.is-warn { background: #fff0bf; color: #5c3b00; }
.order-badge.is-bad { background: #ffd7d7; color: #7a0000; }
.small-button {
  min-height: 38px;
  padding: 9px 14px;
  font-size: 0.9rem;
}
.admin-select {
  min-height: 48px;
  border: 1px solid #cfe0f5;
  border-radius: 18px;
  padding: 0 18px;
  font: inherit;
  font-weight: 800;
  background: #fff;
  color: #0a1b34;
}
.order-modal-panel { max-width: 980px; }
.order-detail-body h3 {
  margin: 26px 0 12px;
  font-size: 1.1rem;
  color: #0a3f99;
}
.order-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.order-detail-row {
  padding: 14px 16px;
  border-radius: 18px;
  background: #f5f8fc;
  border: 1px solid #dce8f7;
}
.order-detail-row span {
  display: block;
  color: #60718f;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.order-detail-row strong { color: #071126; }
.order-address {
  white-space: pre-line;
  padding: 16px;
  border-radius: 18px;
  background: #f5f8fc;
  border: 1px solid #dce8f7;
}
.order-items-list {
  display: grid;
  gap: 10px;
}
.order-item-line {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 18px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 18px;
  background: #f5f8fc;
  border: 1px solid #dce8f7;
}
@media (max-width: 760px) {
  .order-detail-grid { grid-template-columns: 1fr; }
  .order-item-line { grid-template-columns: 1fr; }
}

/* V30: ordini più leggibili e dettaglio su click riga */
.orders-table .order-click-row {
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
}
.orders-table .order-click-row:hover,
.orders-table .order-click-row:focus {
  background: #f7fbff;
  outline: none;
}
.orders-table .order-click-row:hover td:first-child,
.orders-table .order-click-row:focus td:first-child {
  border-left: 4px solid #0d47a1;
  padding-left: calc(1rem - 4px);
}
.orders-table th:nth-child(4),
.orders-table th:nth-child(5),
.orders-table td:nth-child(4),
.orders-table td:nth-child(5) {
  white-space: nowrap;
}
.order-modal-panel {
  width: min(980px, calc(100vw - 28px));
}
.order-item-line .muted {
  font-size: .86rem;
}

/* V31: ordini compatti senza scrolling orizzontale + modal corretta */
.orders-page .inventory-table-wrap {
  overflow-x: visible;
}
.orders-table {
  min-width: 0;
  width: 100%;
  table-layout: fixed;
}
.orders-table th,
.orders-table td {
  padding: 16px 14px;
  overflow-wrap: anywhere;
}
.orders-table th:nth-child(1),
.orders-table td:nth-child(1) { width: 9.5%; }
.orders-table th:nth-child(2),
.orders-table td:nth-child(2) { width: 22%; }
.orders-table th:nth-child(3),
.orders-table td:nth-child(3) { width: 24%; }
.orders-table th:nth-child(4),
.orders-table td:nth-child(4) { width: 12%; }
.orders-table th:nth-child(5),
.orders-table td:nth-child(5) { width: 12%; }
.orders-table th:nth-child(6),
.orders-table td:nth-child(6) { width: 14%; }
.orders-table th:nth-child(4),
.orders-table th:nth-child(5),
.orders-table td:nth-child(4),
.orders-table td:nth-child(5) { white-space: normal; }
.order-value-head span { display: block; line-height: 1.05; }
.order-date-cell { line-height: 1.15; }
.order-money-cell { white-space: nowrap !important; }
.order-status-head,
.order-status-cell { text-align: left; }
.order-status-cell .order-badge { min-width: 88px; }
.order-modal-panel.reward-modal-card {
  max-height: calc(100vh - 36px);
  overflow: auto;
}
@media (max-width: 900px) {
  .orders-table th,
  .orders-table td { padding: 13px 10px; font-size: .92rem; }
  .order-badge { padding: 6px 10px; font-size: .8rem; min-height: 28px; }
}
@media (max-width: 700px) {
  .orders-page .inventory-table-wrap { overflow-x: auto; }
  .orders-table { min-width: 680px; }
}

body.modal-open {
  overflow: hidden;
}

.review-modal[hidden] {
  display: none;
}

.review-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.review-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 18, 42, 0.58);
  backdrop-filter: blur(8px);
}

.review-modal__card {
  position: relative;
  width: min(760px, 100%);
  max-height: min(88vh, 860px);
  overflow: auto;
  background: #fff;
  color: #0b1224;
  border-radius: 30px;
  box-shadow: 0 30px 90px rgba(7, 26, 64, 0.24);
  padding: clamp(24px, 4vw, 42px);
}

.review-modal__card h2 {
  margin: 0 0 18px;
  font-size: clamp(30px, 5vw, 54px);
  line-height: 0.95;
}

.review-modal__close {
  position: absolute;
  top: 22px;
  right: 22px;
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 50%;
  background: #eef4fb;
  color: #0b1224;
  font-size: 32px;
  font-weight: 900;
  cursor: pointer;
}

.review-content {
  display: grid;
  gap: 16px;
}

.review-section {
  border: 1px solid #dce7f3;
  background: #f8fbff;
  border-radius: 22px;
  padding: 18px;
}

.review-section h3 {
  margin: 0 0 10px;
  color: #0b469c;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 14px;
}

.review-line,
.review-total > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 8px 0;
  border-bottom: 1px solid #e4edf6;
}

.review-line:last-child,
.review-total > div:last-child {
  border-bottom: 0;
}

.review-total > div:last-child {
  font-size: 22px;
}

.review-actions {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 24px;
  flex-wrap: wrap;
}

@media (max-width: 640px) {
  .review-modal {
    padding: 12px;
    align-items: end;
  }
  .review-modal__card {
    border-radius: 24px 24px 0 0;
    max-height: 92vh;
  }
  .review-actions .button {
    width: 100%;
  }
}

/* V33: richieste magazzino */
.stock-requests-page .inventory-table-wrap {
  overflow-x: visible;
}
.stock-requests-table {
  min-width: 0;
  width: 100%;
  table-layout: fixed;
}
.stock-requests-table th,
.stock-requests-table td {
  padding: 16px 14px;
  overflow-wrap: anywhere;
  vertical-align: middle;
}
.stock-requests-table th:nth-child(1),
.stock-requests-table td:nth-child(1) { width: 10%; }
.stock-requests-table th:nth-child(2),
.stock-requests-table td:nth-child(2) { width: 18%; }
.stock-requests-table th:nth-child(3),
.stock-requests-table td:nth-child(3) { width: 20%; }
.stock-requests-table th:nth-child(4),
.stock-requests-table td:nth-child(4) { width: 9%; }
.stock-requests-table th:nth-child(5),
.stock-requests-table td:nth-child(5) { width: 8%; }
.stock-requests-table th:nth-child(6),
.stock-requests-table td:nth-child(6) { width: 22%; }
.stock-requests-table th:nth-child(7),
.stock-requests-table td:nth-child(7) { width: 13%; }
.stock-request-click-row {
  cursor: pointer;
  transition: background .18s ease;
}
.stock-request-click-row:hover,
.stock-request-click-row:focus {
  background: #f7fbff;
  outline: none;
}
.stock-request-click-row:hover td:first-child,
.stock-request-click-row:focus td:first-child {
  border-left: 4px solid #0d47a1;
  padding-left: calc(14px - 4px);
}
.stock-request-image-detail {
  width: 150px;
  height: 150px;
  border-radius: 24px;
  border: 1px solid #dce8f7;
  background: #f5f8fc;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.stock-request-image-detail img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
@media (max-width: 900px) {
  .stock-requests-table th,
  .stock-requests-table td { padding: 13px 10px; font-size: .92rem; }
}
@media (max-width: 760px) {
  .stock-requests-page .inventory-table-wrap { overflow-x: auto; }
  .stock-requests-table { min-width: 920px; }
}


/* V34: dettaglio ordine con premi e note, senza scroll orizzontale */
.order-detail-row,
.order-detail-row strong,
.order-address,
.order-item-line {
  overflow-wrap: anywhere;
  word-break: break-word;
}
.order-modal-panel.reward-modal-card {
  overflow-x: hidden;
}
.order-reward-line {
  border-color: #cfead3;
  background: #f4fbf4;
}

/* V35 products advanced editor */
.product-general-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-variant-toolbar { display:flex; justify-content:space-between; gap:18px; align-items:flex-end; margin: 24px 40px 14px; padding-top: 18px; border-top: 1px solid var(--line); }
.product-variant-toolbar h3 { margin: 0 0 6px; color: var(--navy); font-size: 24px; }
.model-admin-tabs { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:10px; margin: 0 40px 18px; }
.model-admin-tab { border:1px solid var(--line); background:#fff; color:var(--navy); border-radius:18px; padding:14px; font-weight:950; cursor:pointer; text-align:left; }
.model-admin-tab small { display:block; margin-top:4px; color:#66728a; font-weight:800; }
.model-admin-tab.is-active { background: var(--lime); border-color:#9bd900; }
.product-variant-panel { margin: 0 40px 10px; display:grid; gap:16px; }
.model-admin-title { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:16px 18px; border-radius:22px; background:#f7faff; border:1px solid var(--line); }
.model-admin-title h3 { margin:0 0 4px; color:var(--blue); font-size:26px; }
.color-admin-card { border:1px solid var(--line); border-radius:24px; background:#fff; padding:18px; display:grid; gap:16px; }
.color-admin-head { display:flex; gap:14px; align-items:center; }
.color-admin-head strong { font-size:22px; color:var(--navy); }
.color-admin-head small { display:block; color:#64708a; margin-top:2px; }
.color-admin-thumb { width:74px; height:74px; border-radius:18px; overflow:hidden; background:#f5f8ff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:#64708a; font-weight:900; }
.color-admin-thumb img { width:100%; height:100%; object-fit:cover; }
.color-admin-fields { display:grid; grid-template-columns: 1fr 1fr 2fr auto; gap:12px; align-items:end; }
.color-admin-fields label { display:grid; gap:7px; font-weight:900; color:var(--navy); }
.color-admin-fields input { width:100%; border:1px solid var(--line); border-radius:14px; padding:11px 12px; font:inherit; }
.checkbox-row.compact { align-self:center; white-space:nowrap; }
.sizes-editor { display:grid; grid-template-columns: repeat(6, minmax(88px, 1fr)); gap:10px; }
.size-edit-row { border:1px solid var(--line); border-radius:16px; padding:10px; background:#f9fbff; display:grid; gap:8px; }
.size-enabled { font-weight:950; color:var(--navy); display:flex; align-items:center; gap:6px; }
.size-edit-row input[type="number"] { width:100%; border:1px solid var(--line); border-radius:12px; padding:9px 8px; font:inherit; font-weight:900; }
.size-edit-row input[type="number"]:disabled { background:#e9eef7; color:#7a8498; }
.color-admin-actions { display:flex; gap:10px; justify-content:flex-end; }
.button.mini { padding:10px 14px; font-size:13px; }
.button.danger { background:#ffe4e4; color:#930000; border-color:#ffc9c9; }
.reward-modal-actions .spacer { flex:1; }
@media(max-width:1100px){ .product-general-grid, .color-admin-fields { grid-template-columns:1fr 1fr; } .sizes-editor { grid-template-columns: repeat(3, minmax(88px, 1fr)); } .model-admin-tabs { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:720px){ .product-variant-toolbar, .model-admin-tabs, .product-variant-panel { margin-left:22px; margin-right:22px; } .product-general-grid, .color-admin-fields, .sizes-editor { grid-template-columns:1fr; } .model-admin-title, .product-variant-toolbar { align-items:stretch; flex-direction:column; } }

/* Q-Shirt size advisor */
.size-advisor-link{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#0a58b5;text-transform:uppercase;text-decoration:underline;font-weight:950;letter-spacing:.04em;cursor:pointer;margin:0 0 6px;padding:0;font-size:14px;animation:sizeAdvisorPulse 1.5s ease-in-out infinite}.size-advisor-link:hover{color:#061a3b}@keyframes sizeAdvisorPulse{0%,100%{opacity:1;text-shadow:0 0 0 rgba(202,255,0,0)}50%{opacity:.6;text-shadow:0 0 10px rgba(10,88,181,.28)}}
.size-advisor-modal[hidden],.size-table-modal[hidden]{display:none}.size-advisor-modal,.size-table-modal{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:22px}.size-table-modal{z-index:13000}.size-advisor-modal__backdrop,.size-table-modal__backdrop{position:absolute;inset:0;background:rgba(6,26,59,.34);backdrop-filter:blur(7px)}.size-advisor-modal__card,.size-table-modal__card{position:relative;width:min(560px,100%);max-height:min(86vh,760px);overflow:auto;background:#fff;color:#061a3b;border:1px solid #dbe5f5;border-radius:28px;padding:28px;box-shadow:0 28px 90px rgba(6,26,59,.24)}.size-table-modal__card{width:min(760px,100%)}.size-advisor-modal__close,.size-table-modal__close{position:absolute;right:20px;top:20px;width:44px;height:44px;border:0;border-radius:999px;background:#10294d;color:#fff;font-size:28px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(6,26,59,.18)}.size-advisor-modal__card h2,.size-table-modal__card h2{color:#061a3b;margin:0 0 12px}.size-advisor-intro,.size-table-note{color:#44546f;line-height:1.45;margin:0 0 20px}.size-advisor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.size-advisor-grid label{display:grid;gap:8px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;color:#31415f;font-size:13px}.size-advisor-grid input{width:100%;box-sizing:border-box;border:1px solid #cbd7ea;border-radius:16px;background:#fff;color:#061a3b;font:inherit;font-weight:900;padding:14px 16px;box-shadow:0 8px 18px rgba(6,26,59,.06)}.size-advisor-grid input::placeholder{color:#7a879a}.size-advisor-field{display:grid;gap:9px;margin:16px 0}.size-advisor-field>span{font-size:13px;text-transform:uppercase;letter-spacing:.04em;font-weight:950;color:#31415f}.size-advisor-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.size-advisor-choice button{border:1px solid #cbd7ea;border-radius:999px;background:#fff;color:#061a3b;font-weight:950;padding:13px 10px;cursor:pointer;box-shadow:0 8px 18px rgba(6,26,59,.06)}.size-advisor-choice button.active{background:#caff00;border-color:#9ed400;color:#061a3b;box-shadow:0 12px 24px rgba(158,212,0,.22)}.size-advisor-calc{margin-top:18px}.size-table-link{border:0;background:transparent;color:#0a58b5;text-decoration:underline;font-weight:950;margin-top:14px;cursor:pointer}.size-advisor-result{margin-top:18px;border:1px solid rgba(158,212,0,.75);border-radius:22px;padding:18px;background:linear-gradient(135deg,rgba(202,255,0,.24),rgba(255,255,255,1));box-shadow:0 12px 28px rgba(6,26,59,.08)}.size-advisor-result__label{text-transform:uppercase;letter-spacing:.07em;color:#31415f;font-weight:950;margin:0 0 4px}.size-advisor-result__size{display:flex;align-items:end;gap:14px;margin:8px 0}.size-advisor-result__size strong{font-size:56px;line-height:.9;color:#0a58b5}.size-advisor-result__size span{font-weight:950;color:#061a3b;padding-bottom:4px}.size-advisor-result p{color:#44546f}.size-advisor-measures{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.size-advisor-measures span{background:#f4f8ff;border:1px solid #dbe5f5;border-radius:16px;padding:12px;font-weight:950}.size-advisor-measures b{display:block;font-size:12px;color:#44546f;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.size-advisor-stock{font-weight:900;color:#061a3b}.size-table-scroll{overflow:auto}.size-table{width:100%;border-collapse:collapse;background:#fff;color:#061a3b;border-radius:18px;overflow:hidden}.size-table th,.size-table td{padding:12px 14px;border-bottom:1px solid #dbe5f5;text-align:left}.size-table thead th{background:#061a3b;color:#fff}.size-table tbody th{color:#0a58b5}@media(max-width:620px){.size-advisor-modal,.size-table-modal{align-items:flex-end;padding:0}.size-advisor-modal__card,.size-table-modal__card{width:100%;max-height:88vh;border-radius:26px 26px 0 0;padding:22px}.size-advisor-grid{grid-template-columns:1fr 1fr}.size-advisor-choice{gap:7px}.size-advisor-choice button{font-size:13px;padding:11px 6px}.size-advisor-result__size strong{font-size:46px}.size-advisor-measures{grid-template-columns:1fr}}

.section-highlight{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#061a3b;color:#fff;border-radius:999px;padding:14px 28px;font-weight:950;box-shadow:0 12px 25px rgba(6,26,59,.14)}
.section-highlight-title{font-size:clamp(24px,2.4vw,36px);line-height:1.15;margin:10px auto 22px;letter-spacing:0;color:#fff;max-width:max-content;}
@media(max-width:900px){.brand img{height:54px}.footer-logo{height:62px}.section-highlight{border-radius:28px;padding:12px 18px}}

/* Footer premium brand style */
.premium-footer{
  position:relative;
  overflow:hidden;
  grid-template-columns:1.25fr .95fr .95fr .75fr;
  gap:42px;
  padding:64px 5vw 28px;
  background:
    radial-gradient(circle at 8% 8%, rgba(191,255,0,.14), transparent 28%),
    radial-gradient(circle at 78% 0%, rgba(7,59,142,.32), transparent 34%),
    linear-gradient(135deg,#051126,#071b3a 58%,#061329);
}
.premium-footer:before{
  content:"";
  position:absolute;
  inset:22px 5vw auto 5vw;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(191,255,0,.42),rgba(255,255,255,.18),transparent);
}
.footer-brand-card{
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:rgba(255,255,255,.045);
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.premium-footer .footer-logo-box{
  padding:10px 14px;
  border-radius:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
}
.premium-footer .footer-logo{height:82px;display:block;}
.footer-payoff{
  margin:22px 0 10px;
  font-size:22px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:-.02em;
}
.footer-claim{
  margin:0;
  max-width:360px;
  color:#c7d4e8;
  line-height:1.55;
  font-size:15px;
}
.premium-footer h4{
  margin:10px 0 20px;
  color:#fff;
  font-size:18px;
}
.premium-footer .footer-column p{
  margin:0 0 14px;
  color:#dce7f7;
  line-height:1.45;
}
.premium-footer .footer-column a:not(.button){
  color:#fff;
  text-decoration:none;
  font-weight:800;
}
.premium-footer .footer-column a:not(.button):hover{color:var(--lime);}
.footer-assist{
  background:var(--lime);
  color:#071328!important;
  border-color:#9bd400;
  box-shadow:0 16px 34px rgba(191,255,0,.18);
}
.premium-footer small{
  margin-top:10px;
  color:#b7c7df;
  border-top:1px solid rgba(255,255,255,.14);
}
@media(max-width:900px){
  .premium-footer{grid-template-columns:1fr;padding-top:54px;}
  .premium-footer .footer-logo{height:68px;}
  .footer-brand-card{padding:20px;}
}

.settings-fieldset {
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 24px;
  padding: 18px;
  margin: 10px 0 16px;
  display: grid;
  gap: 12px;
}

.settings-fieldset legend {
  padding: 0 8px;
  font-weight: 900;
  color: var(--ink);
}

/* Rifinitura: Trova la tua taglia centrato tra Uomo/Donna, dimensione compatta */
.model-tabs + .size-advisor-link {
  display: flex;
  width: fit-content;
  min-width: 290px;
  max-width: 100%;
  margin: 6px auto 14px;
  padding: 13px 28px;
  border-radius: 999px;
  background: var(--lime);
  color: #071328;
  border: 1px solid #9bd400;
  text-decoration: none;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: .045em;
  text-transform: uppercase;
  box-shadow: 0 0 0 8px rgba(191,255,0,.20), 0 14px 30px rgba(191,255,0,.22);
  animation: sizeAdvisorStrongPulse 1.15s ease-in-out infinite;
}

.model-tabs + .size-advisor-link:hover {
  color: #071328;
  background: #d7ff32;
}

@keyframes sizeAdvisorStrongPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(191,255,0,.18), 0 12px 24px rgba(191,255,0,.18);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.035);
    box-shadow: 0 0 0 12px rgba(191,255,0,.34), 0 18px 36px rgba(191,255,0,.34);
    filter: brightness(1.08);
  }
}

@media(max-width:620px){
  .model-tabs + .size-advisor-link{
    min-width: 0;
    width: fit-content;
    padding: 12px 22px;
    font-size: 14px;
  }
}


/* Privacy, cookie e consensi checkout */
.checkout-consents{display:grid;gap:10px;margin:4px 0 2px}
.checkout-consents .consent-row{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.35;font-weight:700;color:#eaf2ff}
.checkout-consents input[type="checkbox"]{width:18px!important;min-width:18px;height:18px;margin-top:1px;accent-color:#1e78ff}
.checkout-consents a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.legal-page{min-height:100vh;padding:46px 5vw;background:#f6f9ff;color:#061a3b}
.legal-card{max-width:920px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 20px 55px rgba(7,59,142,.1);line-height:1.65}
.legal-card h1{font-size:44px;margin:8px 0 6px}.legal-card h2{font-size:24px;margin-top:28px}.legal-card h3{font-size:18px;margin-top:18px}.legal-card a{color:var(--blue);font-weight:900}.legal-updated{color:#64748b;font-weight:800}.legal-back{display:inline-flex;margin-bottom:16px;text-decoration:none}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:#061a3b;color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.cookie-banner p{margin:6px 0 0;color:#dbe8ff;line-height:1.45}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.cookie-preferences{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.cookie-preferences label{display:flex;gap:7px;align-items:center;font-weight:800;color:#fff}.cookie-preferences input{accent-color:#1e78ff}.cookie-save[hidden]{display:none!important}
@media(max-width:760px){.cookie-banner{grid-template-columns:1fr}.cookie-banner__actions{justify-content:stretch}.cookie-banner__actions .button{width:100%}.legal-card{padding:24px}.legal-card h1{font-size:34px}}

/* Legal policy modal: privacy/cookie opened above the current page */
.legal-policy-modal[hidden] { display: none !important; }
.legal-policy-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.legal-policy-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 14, 35, 0.72);
  backdrop-filter: blur(6px);
}
.legal-policy-modal__card {
  position: relative;
  width: min(920px, 96vw);
  height: min(760px, 88vh);
  background: #fff;
  color: #061b3a;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.legal-policy-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(6, 27, 58, 0.12);
}
.legal-policy-modal__title {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
}
.legal-policy-modal__close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #061b3a;
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.legal-policy-modal__frame {
  width: 100%;
  flex: 1;
  border: 0;
  background: #fff;
}
@media (max-width: 640px) {
  .legal-policy-modal { padding: 10px; }
  .legal-policy-modal__card { width: 100%; height: 92vh; border-radius: 16px; }
  .legal-policy-modal__header { padding: 14px 16px; }
}

/* Modifiche 07 - prezzi promo shop + dettagli fiscali */
.product-price{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.product-price .price-compare{font-size:.72em;color:#64748b;text-decoration:line-through;font-weight:800;opacity:.85;}
.product-price .price-sale{font-weight:950;}
.product-price .price-discount{display:inline-flex;align-items:center;justify-content:center;border:1px solid #9cff00;border-radius:12px;padding:4px 10px;color:#0b3f00;background:rgba(156,255,0,.14);font-size:.62em;font-weight:950;line-height:1;}
.order-item-line--tax{grid-template-columns:minmax(220px,1fr) 90px 130px 120px 130px;}
@media (max-width:800px){.order-item-line--tax{grid-template-columns:1fr 1fr}.product-price{gap:9px}.product-price .price-discount{font-size:.7em}}
