﻿/* === CART PAGE — stile allineato al carrello di Iperius ONE (stessa struttura HTML, generata da cartBase.vb) ===
   File esterno (non inline in cart.aspx): la pagina monta un'istanza Vue su #app che avvolge tutto il
   contenuto di cph1 e, ricompilando quel sottoalbero come template, elimina i tag <style> inline al suo
   interno - un file esterno collegato in <head> (vedi cart.aspx.vb) evita il problema alla radice. */
.cart-page-top { padding-top: 60px; }

/* NOTA: il bordo arrotondato/ombra della tabella è già dato da .table-clean in remote2.css
   (border, border-radius, overflow:hidden, border-collapse:separate) - non aggiungere qui un
   secondo wrapper/bordo, altrimenti si vedono due riquadri annidati (bug corretto una volta). */
table.table-clean { font-size:16px; }
table.table-clean thead th.cart-th {
    background-color:#f3f0ff !important; color:#5b4fcf !important;
    font-size:11px !important; font-weight:700 !important;
    text-transform:uppercase; letter-spacing:.07em;
    padding:16px 24px !important; border-bottom:2px solid #ede8ff;
    vertical-align:middle; white-space:nowrap;
}
table.table-clean thead th.cart-th-center { text-align:center !important; }
table.table-clean thead th.cart-th-right  { text-align:right  !important; }
.cart-iva-note { font-size:11px !important; opacity:.75; font-weight:400; text-transform:none; letter-spacing:0; }
table.table-clean td { padding:18px 24px; border-bottom:1px solid #ede8ff; vertical-align:middle; background-color:#fff; }
table.table-clean td + td { border-left:1px solid #ede8ff; }
table.table-clean tr:last-child > td { border-bottom:none; }
table.table-clean td.cart-td-price  { text-align:center; }
table.table-clean td.cart-td-qty    { text-align:center; white-space:nowrap; }
table.table-clean td.cart-td-remove { text-align:right;  white-space:nowrap; }
.cart-product-name { display:flex !important; flex-direction:column; align-items:flex-start; gap:2px; color:#222 !important; font-weight:600; font-size:15px; }
.cart-product-name br { display:none; }
.cart-price        { color:#222 !important; font-weight:600; font-size:15px; }
.cart-sub-badge    { display:inline-block; padding:2px 7px; background:#f0ebff; border:1px solid #d4c8f8; border-radius:5px; font-size:12px !important; color:#5b4fcf; font-weight:500; }
.cart-td-remove    { text-align:center !important; }
/* Stepper quantità */
.cart-qty-stepper  { display:inline-flex; align-items:center; border:1px solid #d4c8f8; border-radius:8px; overflow:hidden; background:#fff; }
.cart-qty-input    { order:2; width:48px !important; height:36px !important; border:none !important; border-left:1px solid #d4c8f8 !important; border-right:1px solid #d4c8f8 !important; border-radius:0 !important; text-align:center !important; font-size:15px !important; font-weight:600; color:#222 !important; padding:0 !important; box-shadow:none !important; background:#fff !important; }
.cart-qty-input:disabled { background:#f8f7ff !important; color:#888 !important; border-left:none !important; border-right:none !important; }
.cart-qty-minus    { order:1; }
.cart-qty-plus     { order:3; }
.cart-qty-btn      { width:32px; height:36px; border:none; background:transparent; color:#ef4806; font-size:18px; font-weight:500; cursor:pointer; padding:0; line-height:1; transition:background .15s; }
.cart-qty-btn:hover { background:#fdece2; }

.cart-remove-btn   { display:inline-flex; align-items:center; gap:6px; color:#5b4fcf; font-size:14px; font-weight:500; text-decoration:none; transition:color .2s; }
.cart-remove-btn:hover { color:#c0392b; text-decoration:none; }

/* Badge sicuro */
.cart-secure-badge { display:inline-flex; align-items:center; gap:7px; color:#666; font-size:14px; font-weight:500; background:#f2f2f2; border:1px solid #e0e0e0; border-radius:50px; padding:8px 18px; }

/* Card promo */
.cart-promo-card { display:flex !important; align-items:center; gap:14px; background:#fff; border:1px solid #e5e0ff; border-radius:12px; padding:16px 20px; box-shadow:0 2px 8px rgba(90,70,180,.06); }
.cart-promo-icon  { flex-shrink:0; width:40px; height:40px; background:#f3f0ff; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#5b4fcf; }
.cart-promo-text  { flex:1; display:flex; flex-direction:column; gap:2px; min-width:0; }
.cart-promo-text strong { font-size:14px; color:#222; }
.cart-promo-text span   { font-size:12px; color:#888; }
.cart-promo-input { width:220px !important; flex-shrink:0; text-align:center !important; border-radius:8px !important; }

/* Footer bar */
.cart-footer-bar   { display:flex !important; align-items:stretch; gap:30px; background:#f3f0ff; border:1px solid #e5e0ff; border-radius:12px; padding:24px 28px; box-shadow:0 2px 12px rgba(90,70,180,.06); }
.cart-trust-items  { flex:1; display:flex !important; align-items:flex-start; border-right:1px solid #ede8ff; padding-right:28px; gap:0; }
.cart-trust-item   { flex:1; display:flex !important; align-items:flex-start; gap:12px; padding:0 14px; }
.cart-trust-item:first-child { padding-left:0; }
.cart-trust-item > svg { flex-shrink:0; width:44px; height:44px; background:#fff; border-radius:50%; padding:10px; color:#5b4fcf; }
.cart-trust-item > div { display:flex; flex-direction:column; gap:4px; }
.cart-trust-item > div strong { font-size:15px; color:#222; display:block; }
.cart-trust-item > div span   { font-size:13px; color:#888; display:block; }
.cart-cta     { min-width:270px; display:flex; flex-direction:column; justify-content:center; }
.cart-cta-btn {
    width:100%; display:flex; align-items:center; justify-content:center; gap:8px;
    font-size:16px; font-weight:600; padding:14px 24px; margin:0;
    background-color:#ef4806; color:#fff !important; border:none; border-radius:8px;
    text-decoration:none; cursor:pointer; transition:background-color .2s;
}
.cart-cta-btn:hover { background-color:#b13200; color:#fff !important; }

/* Icona prodotto + tipo su riga separata */
.cart-product-cell { display:flex; align-items:flex-start; gap:14px; }
.cart-product-icon { width:46px; height:46px; border-radius:50%; object-fit:cover; flex-shrink:0; border:1px solid #ede8ff; background:#f8f7ff; }
small.cart-product-type { font-size:13px; color:#777; font-weight:400; }

@media (max-width:991px) {
    .cart-footer-bar  { flex-direction:column; gap:20px; }
    .cart-trust-items { border-right:none; border-bottom:1px solid #ede8ff; padding-right:0; padding-bottom:20px; flex-wrap:wrap; }
    .cart-trust-item  { flex-basis:45%; }
    .cart-cta         { min-width:0; }
    .cart-promo-card  { flex-wrap:wrap; }
    .cart-promo-input { width:100% !important; }
}
