@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&family=Suez+One&display=swap');
:root{--lp-primary:#800020;--lp-secondary:#504040;--lp-dark:#151515;--lp-light:#f8f5f2;}
body{background: #e2d6b8;background-image:linear-gradient(#e2d6b8cf, #d4c7a6e0), url('/assets/logo-bianco.png') !important;
    background-repeat: repeat;
    background-size: 200px;
    background-position: center;
    min-height: 100vh;}
    .btn{border-width:2px !important;font-weight:500;}
.navbar.lp-navbar{position:absolute;top:0;width:100%;left:0;right:0;}
.btn-primary{background:var(--lp-primary) !important;border-color:var(--lp-primary) !important;}
.btn-primary:hover{background:#900022;border-color:#900022;}
.btn-outline-primary{border-color:var(--lp-primary);color:var(--lp-primary);}
.btn-outline-primary:hover{background:var(--lp-primary);border-color:var(--lp-primary);color:#fff;}
a{color:var(--lp-primary);} a:hover{color:#900022;}
.lp-badge{background:var(--lp-primary);}
.card.lp-card{border-top:4px solid var(--lp-primary);}
.lp-price{color:var(--lp-primary);font-weight:700;}
.lp-category{color:var(--lp-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:.85rem;margin-top:1rem;}
.lp-photo{width:100%;height:190px;object-fit:cover;border-radius:.5rem;background:#eee;}
.small-muted{color:#666;font-size:.9rem;}
.table thead th{white-space:nowrap;}
/* ===== Modern option cards (modal) ===== */
.lp-opt { margin-bottom: .5rem; }
*{font-family:"Google Sans Flex", sans-serif;}
.lp-opt-input { position: absolute; opacity: 0; pointer-events: none; }

.lp-opt-card{
  border-radius: 14px;
  /*padding: .75rem .85rem;*/
  background: #fff;
  transition: transform .08s ease, box-shadow .12s ease, border-color .12s ease;
  cursor: pointer;
}
.legend-dot{
  width:14px;
  height:14px;
  border-radius:50%;
  display:inline-block;
  flex-shrink:0;
}
tr.order-unread{
  background:#fff3cd !important;
  font-weight:800;
}

tr.order-unread td{
  border-top:2px solid #f0ad4e;
}

tr.order-viewed-new{
  background:#eef6ff !important;
}

tr.order-viewed-new td{
  border-top:1px solid #b6d7ff;
}
.bg-warning-subtle{
  background:#fff7d6;
}

.bg-danger{
  background:#ff4d4d !important;
}
.bg-expired{background:color(srgb 1 0.78 0.78 / 0.72) !important;}
.dropdown-menu{
  min-width: 220px;
  border-radius: 14px;
  border: 0;
}

.dropdown-item{
  padding: 10px 16px;
  font-weight: 500;
}

.dropdown-item i{
  width: 18px;
  text-align: center;
}
.actions-wrap{
  position:relative;
  display:inline-block;
}

.actions-menu{
  position:absolute;
  right:0;
  top:36px;
  z-index:1000;
  min-width:220px;
  padding:8px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}

.actions-menu .btn,
.actions-menu a{
  width:100%;
  text-align:left;
  margin-bottom:6px;
}
.modal-content{color:black;}

.lp-opt-card:hover{
  transform: translateY(-1px);
}

.lp-opt-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
}

.lp-opt-name{ font-weight: 600; line-height: 1.15; }
.lp-opt-price{ font-weight: 600; }

.lp-opt-desc{
  margin-top: .35rem;
  color: rgba(0,0,0,.6);
  font-size: .875rem;
  line-height: 1.2;
}

.lp-opt-card:focus-within{
  outline: none;
  border-color: rgba(13,110,253,.55);
  box-shadow: 0 0 0 .25rem rgba(13,110,253,.15);
}

/* selected */
.lp-opt-input:checked + .lp-opt-card{
  box-shadow: 0 10px 26px rgba(13,110,253,.18);
}

/* little check badge */
.lp-opt-check{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,.25);
  margin-top: 2px;
  flex: 0 0 auto;
}
.lp-opt-input:checked + .lp-opt-card .lp-opt-check{
  border-color: rgba(13,110,253,1);
  background: rgba(13,110,253,1);
  box-shadow: 0 0 0 3px rgba(13,110,253,.18);
}

.lp-group-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin-bottom:.35rem;
}

.lp-group-badge{
  font-size:.75rem;
  border:1px solid rgba(0,0,0,.12);
  padding:.15rem .45rem;
  border-radius:999px;
  color: rgba(0,0,0,.65);
  background: rgba(0,0,0,.03);
}

.lp-required-hint{
  font-size:.85rem;
  color: rgba(0,0,0,.55);
  margin-bottom:.5rem;
}
/* ===========================
   Le Papillon – Modern UI
   incolla in assets/css/custom.css
   =========================== */

:root{
  --lp-bg: #f6f7fb;
  --lp-surface: #ffffff;
  --lp-border: rgba(17,24,39,.10);
  --lp-text: #111827;
  --lp-muted: #6b7280;
  --lp-primary: #800020;          /* bordeaux */
  --lp-primary-2: #cb0033;
  --lp-shadow: 0 12px 35px rgba(17,24,39,.10);
  --lp-shadow-hover: 0 18px 50px rgba(17,24,39,.14);
  --lp-radius: 18px;
  --lp-primary-dark :#410d14;
}

/* Base */

main.container{ max-width: 1100px;    margin-top: 60px; }

/* Navbar */
.lp-navbar{
  
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lp-navbar .navbar-brand{ font-weight: 700; letter-spacing: -.01em; }
.lp-navbar .btn{ border-radius: 999px; }

/* Card generiche */
.lp-card,
.lp-card.card{
  background: var(--lp-surface) !important;
  border: none !important;
  border-radius: var(--lp-radius) !important;
  box-shadow: 4px 6px 20px 2px rgb(17 24 39);
}
.lp-card.card:hover{
  box-shadow: 4px 6px 20px 2px rgb(17 24 39);
}

/* Testi bootstrap */
.text-muted{ color: var(--lp-muted) !important; }

/* Bottoni */
.btn{
  border-radius: 999px;
}
.btn-primary{
  background: var(--lp-primary);
  border-color: var(--lp-primary);
  font-weight: 700;
}
.btn-primary:hover{
  background: var(--lp-primary-2);
  border-color: var(--lp-primary-2);
}

.btn-outline-primary{
  border-color: rgba(128,0,32,.35);
  color: var(--lp-primary);
  font-weight: 700;
}
.btn-outline-primary:hover, .btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active{
  background: #510014;
  border-color: #510014;
}


.btn-outline-danger,
.btn-outline-secondary{
  font-weight: 700;
}

/* Foto prodotto (menu) */
.lp-photo{
  width:100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(17,24,39,.10);
  background: #f3f4f6;
}

/* Badge allergeni */
.badge.text-bg-light.border{
  background: #f3f4f6 !important;
  color: #374151 !important;
  border-color: rgba(17,24,39,.10) !important;
  border-radius: 999px;
  font-weight: 600;
}

/* Sezioni/categorie */
.lp-category,
.lp-section-title{
  font-weight: 800;
}

.lp-tools{box-shadow:4px 6px 20px 2px rgb(159 152 133);}

/* Toast */
.lp-toast{
  background: #111 !important;
  color:#fff !important;
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(0,0,0,.20);
}

/* ===========================
   CART – tabella più moderna
   =========================== */

.table{
  --bs-table-bg: transparent;
}
.table thead th{
  font-size: .85rem;
  color: var(--lp-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  border-bottom: 1px solid var(--lp-border) !important;
}
.table tbody td{
  vertical-align: middle;
  border-bottom: 1px solid rgba(17,24,39,.06);
}

/* Riduci stripe pesante */
.table-striped>tbody>tr:nth-of-type(odd)>*{
  --bs-table-bg-type: rgba(17,24,39,.02);
}

/* Toolbar bottoni qty/remove */
.cart-actions,
.d-inline-flex.gap-1{
  gap: .35rem !important;
}
.cart-actions .btn,
.d-inline-flex.gap-1 .btn{
  width: 38px;
  height: 34px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px; /* leggermente meno tondo, più “tool” */
}
.cart-actions .btn i,
.d-inline-flex.gap-1 .btn i{
  font-size: .95rem;
}

/* Footer del carrello */
.cart-footer{
  border-top: 1px solid var(--lp-border);
}

/* ===========================
   MODAL opzioni – più pulita
   =========================== */
.modal-content{
  border-radius: 18px;
  border: 1px solid rgba(17,24,39,.10);
}
.modal-header,
.modal-footer{
  border-color: rgba(17,24,39,.08) !important;
}

/* Opzioni (la tua UI) */
.lp-opt-ui{
  border: 1px solid rgba(17,24,39,.10);
  background: #fff;
}
.lp-opt-card:hover .lp-opt-ui{
  box-shadow: 0 10px 25px rgba(17,24,39,.10);
}
.lp-opt-input:checked + .lp-opt-ui{
  border: 2px solid rgba(128,0,32,.85);
  box-shadow: 6px 6px 0 rgba(128,0,32,.18);
}

/* Rimozioni: linea più elegante */
.lp-remove .lp-opt-input:checked + .lp-opt-ui .lp-opt-name{
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  opacity: .75;
}
/* ===========================
   AUTH (login/register)
   =========================== */

.lp-auth-wrap{
  min-height: calc(100vh - 72px);
  display:flex;
  align-items:center;
}

.lp-auth-card{
  border-radius: 22px !important;
  overflow: hidden;
}

.lp-auth-header{
  padding: 18px 18px 14px;
  border-bottom: 1px solid var(--lp-border);
  background:
    radial-gradient(600px 220px at 20% 0%, rgba(128,0,32,.10), transparent 60%),
    radial-gradient(500px 220px at 90% 0%, rgba(13,110,253,.08), transparent 55%),
    #fff;
}

.lp-auth-title{
  font-weight: 900;
  letter-spacing: -.02em;
  margin: 0;
}

.lp-auth-sub{
  color: var(--lp-muted);
  font-size: .95rem;
  margin: 6px 0 0;
}

.lp-input{
  border-radius: 14px;
  border: 1px solid var(--lp-border);
  padding: 12px 12px;
}

.lp-input:focus{
  border-color: rgba(128,0,32,.35);
  box-shadow: 0 0 0 .25rem rgba(128,0,32,.12);
}

.lp-input-group .input-group-text{
  border-radius: 14px;
  border: 1px solid var(--lp-border);
  background: #fff;
  color: var(--lp-muted);
}

.lp-input-group .form-control{
  border-left: 0;
}

.lp-title, .h4.mb-3 {
    margin: 0;
    font-size: 2.3rem;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.04em;
    color: #892330;
    font-family: "Suez One", serif;
}

.lp-auth-actions .btn{
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 800;
}

.lp-auth-links .btn{
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 700;
}

.lp-divider{
  display:flex;
  align-items:center;
  gap:10px;
  color: var(--lp-muted);
  font-size:.85rem;
  margin: 16px 0;
}
.lp-divider::before,
.lp-divider::after{
  content:"";
  height:1px;
  flex:1;
  background: rgba(17,24,39,.10);
}

/* bottone occhio */
.lp-eye-btn{
  border-radius: 14px;
  border: 1px solid var(--lp-border);
  background: #fff;
  color: var(--lp-muted);
}
.lp-eye-btn:hover{
  color: var(--lp-text);
}
@media(max-width:990px){
    main.container{margin-top: 100px; }
}
.coupon-table td,
.coupon-table th{
    white-space: nowrap;
    vertical-align: middle;
}
.actions{
    min-width:180px;
}

.actions .btn{
    margin-left:6px;
}