/* Modulo "Componi il tuo ordine" — interamente scoped sotto .bv-order-wrap */
/* NOTA: font Poppins con fallback di sistema; auto-ospitare via @fontsource prima del rilascio (GDPR) */

.bv-order-wrap{
    --bvo-cream:#FFFBF2;
    --bvo-gray-light:#F0F0F0;
    --bvo-gray-mid:#C2C2C2;
    --bvo-gray-dark:#6E6E6E;
    --bvo-bordeaux:#6B1F2A;
    --bvo-red:#B60C22;
    --bvo-gold:#B8935A;
    --bvo-pale-yellow:#F3E5AB;
    --bvo-olive:#4A5D23;
  }*{box-sizing:border-box;}.bv-order-wrap{max-width:1180px;margin:0 auto;}

  /* ---- Header ---- */
  .bv-order-wrap .eyebrow{
    font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
    color:var(--bvo-gold);font-weight:600;margin-bottom:14px;text-align:center;
  }.bv-order-wrap h1, .bv-order-wrap h2{
    font-family:'Poppins', sans-serif;
    font-weight:600;
    font-size:clamp(28px,5vw,36px);
    color:var(--bvo-bordeaux);
    text-align:center;
    margin:0 0 14px;
    letter-spacing:.01em;
  }.bv-order-wrap .fregio{
    width:64px;height:2px;background:var(--bvo-gold);margin:0 auto 22px;
    position:relative;
  }.bv-order-wrap .fregio::before, .bv-order-wrap .fregio::after{
    content:"";position:absolute;top:50%;width:5px;height:5px;
    border-radius:50%;background:var(--bvo-gold);transform:translateY(-50%);
  }.bv-order-wrap .fregio::before{left:-11px;}.bv-order-wrap .fregio::after{right:-11px;}.bv-order-wrap .lede{
    text-align:center;color:var(--bvo-gray-dark);
    font-size:14.5px;line-height:1.65;font-weight:300;
    max-width:52ch;margin:0 auto 40px;
  }

  /* ---- Layout a due colonne ---- */
  .bv-order-wrap .layout{
    display:grid;
    grid-template-columns:1.35fr 1fr;
    gap:28px;
    align-items:start;
  }
  @media (max-width:900px){.bv-order-wrap .layout{grid-template-columns:1fr;}.bv-order-wrap .col-summary{position:static !important;}
  }.bv-order-wrap .col-summary{
    position:sticky;
    top:24px;
  }

  /* ---- Product card ---- */
  .bv-order-wrap .product{
    background:var(--bvo-cream);
    border:1px solid var(--bvo-gold);
    border-radius:14px;
    padding:26px 26px 22px;
    margin-bottom:22px;
  }.bv-order-wrap .product-name{
    font-size:17px;font-weight:600;color:var(--bvo-bordeaux);
    margin:0 0 4px;
  }.bv-order-wrap .product-sub{
    font-size:12px;color:var(--bvo-gray-mid);font-weight:400;
    margin:0 0 18px;text-transform:uppercase;letter-spacing:.06em;
  }.bv-order-wrap .group-label{
    font-size:11.5px;font-weight:600;color:var(--bvo-gray-dark);
    text-transform:uppercase;letter-spacing:.08em;
    margin:0 0 10px;
  }.bv-order-wrap .pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px;}.bv-order-wrap .pill{
    position:relative;
    padding:9px 16px;border-radius:999px;
    border:1px solid var(--bvo-gold);
    background:transparent;
    font-family:'Poppins',sans-serif;font-size:13px;font-weight:500;
    color:var(--bvo-gray-dark);cursor:pointer;
    transition:all .15s ease;
    display:flex;align-items:center;gap:7px;
  }.bv-order-wrap .pill:hover{border-color:var(--bvo-bordeaux);}.bv-order-wrap .pill.selected{
    background:var(--bvo-bordeaux);border-color:var(--bvo-bordeaux);color:var(--bvo-cream);
  }.bv-order-wrap .pill .price-tag{
    font-size:11.5px;font-weight:600;color:var(--bvo-red);
  }.bv-order-wrap .pill.selected .price-tag{color:var(--bvo-pale-yellow);}.bv-order-wrap .pill.olive-dot::before{
    content:"";width:7px;height:7px;border-radius:50%;background:var(--bvo-olive);
    flex-shrink:0;
  }.bv-order-wrap .product-footer{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:16px;border-top:1px solid var(--bvo-gray-light);
    flex-wrap:wrap;gap:14px;
  }.bv-order-wrap .current-price{font-size:20px;font-weight:600;color:var(--bvo-red);}.bv-order-wrap .current-price span{font-size:12px;color:var(--bvo-gray-mid);font-weight:400;display:block;margin-bottom:2px;}.bv-order-wrap .qty-add{display:flex;align-items:center;gap:14px;}.bv-order-wrap .qty{
    display:flex;align-items:center;gap:10px;
    border:1px solid var(--bvo-gray-light);border-radius:999px;padding:5px 6px;
  }.bv-order-wrap .qty button{
    width:26px;height:26px;border-radius:50%;border:none;
    background:var(--bvo-gray-light);color:var(--bvo-bordeaux);font-size:15px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;line-height:1;font-weight:600;
  }.bv-order-wrap .qty button:hover{background:var(--bvo-pale-yellow);}.bv-order-wrap .qty span{min-width:14px;text-align:center;font-weight:600;font-size:13.5px;color:var(--bvo-gray-dark);}.bv-order-wrap .btn-add{
    background:var(--bvo-bordeaux);color:var(--bvo-cream);border:1px solid var(--bvo-bordeaux);
    padding:10px 22px;border-radius:999px;font-family:'Poppins',sans-serif;
    font-size:13px;font-weight:600;letter-spacing:.03em;cursor:pointer;
    transition:all .15s ease;
  }.bv-order-wrap .btn-add:hover{background:transparent;color:var(--bvo-bordeaux);border-color:var(--bvo-gold);}

  /* ---- Riepilogo ---- */
  .bv-order-wrap .box{
    background:var(--bvo-cream);
    border:1px solid var(--bvo-gold);
    border-radius:14px;
  }.bv-order-wrap .box-section{padding:24px 24px;}.bv-order-wrap .box-section + .box-section{border-top:1px solid var(--bvo-gray-light);}.bv-order-wrap .section-label{
    font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--bvo-bordeaux);margin:0 0 16px;display:flex;align-items:center;justify-content:space-between;
  }.bv-order-wrap .section-label .muted{font-weight:400;color:var(--bvo-gray-mid);text-transform:none;letter-spacing:0;font-style:italic;}.bv-order-wrap .item{
    display:flex;align-items:flex-start;gap:10px;padding:11px 0;
  }.bv-order-wrap .item + .item{border-top:1px solid var(--bvo-gray-light);}.bv-order-wrap .item-dot{width:8px;height:8px;border-radius:50%;background:var(--bvo-gold);flex-shrink:0;margin-top:5px;}.bv-order-wrap .item-info{flex:1;min-width:0;}.bv-order-wrap .item-info strong{display:block;font-size:14px;color:var(--bvo-bordeaux);font-weight:600;}.bv-order-wrap .item-info span{display:block;font-size:12px;color:var(--bvo-gray-mid);margin-top:1px;}.bv-order-wrap .item-price{font-size:13.5px;font-weight:600;color:var(--bvo-red);white-space:nowrap;}.bv-order-wrap .item-remove{
    background:none;border:none;color:var(--bvo-gray-mid);cursor:pointer;
    font-size:11.5px;text-decoration:underline;text-underline-offset:2px;margin-left:4px;
  }.bv-order-wrap .item-remove:hover{color:var(--bvo-red);}.bv-order-wrap .empty-msg{font-size:13.5px;color:var(--bvo-gray-mid);font-style:italic;padding:4px 0;}.bv-order-wrap .total-row{
    display:flex;justify-content:space-between;align-items:baseline;
    margin-top:14px;padding-top:16px;border-top:1px solid var(--bvo-gold);
    font-size:13px;color:var(--bvo-gray-dark);
  }.bv-order-wrap .total-row strong{font-size:21px;color:var(--bvo-bordeaux);font-weight:700;}.bv-order-wrap .field{margin-bottom:14px;}.bv-order-wrap .field label{display:block;font-size:12px;font-weight:600;color:var(--bvo-bordeaux);margin-bottom:6px;}.bv-order-wrap .field label .opt{font-weight:300;font-style:italic;color:var(--bvo-gray-mid);}.bv-order-wrap .field input, .bv-order-wrap .field textarea{
    width:100%;padding:11px 13px;border-radius:99px;
    border:1px solid var(--bvo-gray-light);
    background:#fff;
    font-family:'Poppins',sans-serif;font-size:14px;color:var(--bvo-gray-dark);
    outline:none;transition:border-color .15s ease;
  }.bv-order-wrap .field textarea{border-radius:12px;}.bv-order-wrap .field input:focus, .bv-order-wrap .field textarea:focus{border-color:var(--bvo-gold);}.bv-order-wrap .field textarea{resize:vertical;min-height:64px;}.bv-order-wrap .disclaimer{
    font-size:12px;font-style:italic;color:var(--bvo-gray-mid);line-height:1.55;
    margin-top:14px;
  }.bv-order-wrap .send-title{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--bvo-bordeaux);}.bv-order-wrap .send-sub{font-size:12px;color:var(--bvo-gray-mid);margin:0 0 16px;}.bv-order-wrap .send-btn{
    display:flex;align-items:center;gap:12px;
    width:100%;text-align:left;
    padding:13px 15px;border-radius:12px;
    background:var(--bvo-bordeaux);border:1px solid var(--bvo-bordeaux);
    cursor:pointer;font-family:'Poppins',sans-serif;
    margin-bottom:10px;transition:all .15s ease;
    text-decoration:none;
    opacity:1;
  }.bv-order-wrap .send-btn.disabled{opacity:.5;pointer-events:none;background:var(--bvo-gray-light);border-color:var(--bvo-gray-light);}.bv-order-wrap .send-btn.disabled .txt strong, .bv-order-wrap .send-btn.disabled .txt span{color:var(--bvo-gray-dark);}.bv-order-wrap .send-btn.disabled .icon{background:var(--bvo-gray-mid);}.bv-order-wrap .send-btn:not(.disabled):hover{background:transparent;}.bv-order-wrap .send-btn:not(.disabled):hover .txt strong, .bv-order-wrap .send-btn:not(.disabled):hover .txt span{color:var(--bvo-bordeaux);}.bv-order-wrap .send-btn:not(.disabled):hover{border-color:var(--bvo-gold);}.bv-order-wrap .send-btn .icon{
    width:34px;height:34px;border-radius:50%;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;font-size:16px;
    background:var(--bvo-gold);
  }.bv-order-wrap .send-btn .txt strong{display:block;font-size:13.5px;color:var(--bvo-cream);transition:color .15s ease;}.bv-order-wrap .send-btn .txt span{display:block;font-size:11px;color:var(--bvo-pale-yellow);margin-top:1px;transition:color .15s ease;}

  /* Pulsante "copia testo" — stile outline, coerente col resto ma distinto dagli invii */
  .bv-order-wrap .send-btn.outline{
    background:transparent;
    border:1px solid var(--bvo-gold);
  }.bv-order-wrap .send-btn.outline .icon{background:var(--bvo-olive);}.bv-order-wrap .send-btn.outline .txt strong{color:var(--bvo-bordeaux);}.bv-order-wrap .send-btn.outline .txt span{color:var(--bvo-gray-mid);}.bv-order-wrap .send-btn.outline:hover{background:var(--bvo-pale-yellow);border-color:var(--bvo-gold);}.bv-order-wrap .send-btn.outline:hover .txt strong{color:var(--bvo-bordeaux);}.bv-order-wrap .send-btn.outline:hover .txt span{color:var(--bvo-gray-dark);}.bv-order-wrap .send-btn.outline.disabled{opacity:.5;pointer-events:none;}.bv-order-wrap .footer-note{
    text-align:center;font-size:11.5px;color:var(--bvo-gray-mid);
    margin-top:26px;letter-spacing:.03em;line-height:1.6;
  }.bv-order-wrap .footer-note strong{color:var(--bvo-bordeaux);}
