/*!
 * Degusta Verde — Cart styles
 * Drawer din dreapta, toast jos, contor nav.
 * Reutilizează variabilele :root de pe fiecare pagină.
 */

/* ============ TOAST ============ */
.dv-toast{
  position:fixed;
  bottom:24px;left:50%;
  transform:translateX(-50%) translateY(20px);
  background:#1e3529;
  color:#fff;
  font-size:13px;letter-spacing:.04em;
  padding:14px 26px;
  border-radius:3px;
  box-shadow:0 8px 28px rgba(30,53,41,.25);
  opacity:0;
  pointer-events:none;
  z-index:9999;
  transition:opacity .3s ease,transform .3s ease;
  max-width:90vw;
  text-align:center;
}
.dv-toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* ============ OVERLAY ============ */
.dv-cart-overlay{
  position:fixed;
  inset:0;
  background:rgba(30,28,24,.5);
  opacity:0;
  pointer-events:none;
  z-index:9000;
  transition:opacity .3s ease;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.dv-cart-overlay.open{
  opacity:1;
  pointer-events:auto;
}

/* ============ DRAWER ============ */
.dv-cart-drawer{
  position:fixed;
  top:0;right:0;bottom:0;
  width:min(440px,100vw);
  background:#ede8df;
  background-image:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(250,247,242,.5) 0%,transparent 60%);
  z-index:9001;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex;
  flex-direction:column;
  box-shadow:-20px 0 60px rgba(30,28,24,.18);
}
.dv-cart-drawer.open{
  transform:translateX(0);
}

.dv-cart-head{
  padding:20px 24px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(180,165,145,.32);
  flex-shrink:0;
}
.dv-cart-head h2{
  font-family:'Cormorant Garamond',serif;
  font-size:24px;
  font-weight:500;
  color:#2F4F3E;
  margin:0;
}
.dv-cart-close{
  background:transparent;
  border:0;
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  border-radius:50%;
  color:#2e2a25;
  transition:background .2s,color .2s;
}
.dv-cart-close:hover{
  background:rgba(47,79,62,.08);
  color:#2F4F3E;
}
.dv-cart-close:focus-visible{outline:2px solid #2F4F3E;outline-offset:2px}

/* ============ ITEMS ============ */
.dv-cart-body{
  flex:1;
  overflow-y:auto;
  padding:0 24px;
}
.dv-cart-items{
  list-style:none;
  padding:16px 0;
  margin:0;
}
.dv-cart-item{
  display:flex;
  gap:14px;
  padding:16px 0;
  border-bottom:1px solid rgba(180,165,145,.25);
}
.dv-cart-item:last-child{border-bottom:none}
.dv-cart-img{
  width:72px;height:88px;
  /* Din 31.10.2026: fotografii pe fundal (armonia-piatra, fyllikon-organic-piatra,
     bundle — aceleasi ca in Stripe), nu sticle decupate. "cover" umple caseta,
     sticla ramane centrata; fara padding. WebP servit automat din .htaccess. */
  object-fit:cover;
  object-position:center;
  padding:0;
  border:1px solid rgba(180,165,145,.3);
  flex-shrink:0;
  /* Fundal in tonul sertarului, nu alb — PNG-urile au fundal transparent. */
  background:rgba(252,249,244,.75);
}
.dv-cart-info{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.dv-cart-name{
  font-family:'Cormorant Garamond',serif;
  font-size:17px;
  font-weight:500;
  color:#1e1c18;
  margin:0;
  line-height:1.2;
}
.dv-cart-sub{
  font-size:11px;
  letter-spacing:.06em;
  color:#5a5448;
  margin:0 0 4px;
}
.dv-cart-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:6px;
}
.dv-qty{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(180,165,145,.45);
  background:rgba(252,249,244,.8);
  border-radius:2px;
}
.dv-qty-btn{
  width:28px;height:28px;
  background:transparent;
  border:0;
  cursor:pointer;
  font-size:16px;
  color:#2F4F3E;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
  font-weight:300;
}
.dv-qty-btn:hover{background:rgba(47,79,62,.08)}
.dv-qty-btn:focus-visible{outline:2px solid #2F4F3E;outline-offset:-1px}
.dv-qty-val{
  width:32px;
  text-align:center;
  font-size:13px;
  font-weight:600;
  color:#1e1c18;
  user-select:none;
}
.dv-cart-price{
  font-size:14px;
  font-weight:600;
  color:#2F4F3E;
  margin:0;
}
.dv-cart-remove{
  align-self:flex-start;
  background:transparent;
  border:0;
  padding:0;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#5a5448;
  cursor:pointer;
  margin-top:6px;
  transition:color .2s;
}
.dv-cart-remove:hover{color:#9a7c3a;text-decoration:underline}
.dv-cart-remove:focus-visible{outline:2px solid #2F4F3E;outline-offset:2px;border-radius:2px}

/* ============ EMPTY STATE ============ */
.dv-cart-empty{
  text-align:center;
  padding:60px 20px 40px;
}
.dv-cart-empty-icon{
  font-size:48px;
  margin-bottom:18px;
  opacity:.65;
}
.dv-cart-empty p{
  font-size:15px;
  color:#1e1c18;
  margin:0 0 6px;
}
.dv-cart-empty-sub{
  font-size:13px;
  color:#5a5448;
  margin-bottom:24px !important;
}
.dv-cart-empty-btn{
  display:inline-block;
  padding:12px 28px;
  background:#2F4F3E;
  color:#fdfcf8;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:2px;
  transition:background .2s,transform .2s;
}
.dv-cart-empty-btn:hover{
  background:#3d6350;
  transform:translateY(-1px);
}

/* ============ FOOTER ============ */
.dv-cart-foot{
  padding:20px 24px 24px;
  border-top:1px solid rgba(180,165,145,.32);
  background:rgba(242,239,233,.6);
  flex-shrink:0;
}
.dv-cart-foot:empty{display:none}
.dv-cart-line{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:13px;
  letter-spacing:.04em;
  color:#5a5448;
  margin-bottom:8px;
}
.dv-cart-line > span:last-child{
  color:#1e1c18;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
.dv-cart-ship-free{
  color:#2F4F3E;
  font-weight:600;
}
.dv-cart-total{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin:0 0 14px;
  padding-top:13px;
  border-top:1px solid rgba(180,165,145,.4);
}
.dv-cart-total span{
  font-size:13px;
  letter-spacing:.04em;
  color:#5a5448;
}
.dv-cart-total strong{
  font-family:'Cormorant Garamond',serif;
  font-size:24px;
  font-weight:500;
  color:#2F4F3E;
}
.dv-cart-ship-note{
  font-size:11px;
  line-height:1.5;
  letter-spacing:.03em;
  color:#5a5448;
  text-align:center;
  margin:0 0 12px;
  padding:9px 12px;
  background:rgba(47,79,62,.05);
  border:1px solid rgba(180,165,145,.32);
  border-radius:2px;
}
.dv-cart-ship-note strong{
  color:#9a7c3a;
  font-weight:600;
}
.dv-cart-checkout{
  width:100%;
  padding:15px 24px;
  background:#2F4F3E;
  color:#fdfcf8;
  border:0;
  font-family:'Lato',sans-serif;
  font-size:12px;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
  border-radius:2px;
  transition:background .25s,transform .25s,letter-spacing .25s;
}
.dv-cart-checkout:hover{
  background:#3d6350;
  transform:translateY(-1px);
  letter-spacing:.2em;
}
.dv-cart-checkout:disabled{
  background:#5a5448;
  cursor:not-allowed;
  transform:none;
}
.dv-cart-checkout:focus-visible{outline:2px solid #9a7c3a;outline-offset:2px}

/* ============ COUPON ============ */
.dv-coupon-wrap{
  margin-bottom:16px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(180,165,145,.32);
}
.dv-coupon-row{
  display:flex;
  gap:8px;
}
.dv-coupon-input{
  flex:1;
  min-width:0;
  padding:10px 12px;
  border:1px solid rgba(180,165,145,.55);
  background:rgba(252,249,244,.9);
  border-radius:2px;
  font-family:'Lato',sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  color:#1e1c18;
  text-transform:uppercase;
  transition:border-color .2s;
}
.dv-coupon-input::placeholder{
  text-transform:none;
  letter-spacing:.04em;
  color:#a09580;
}
.dv-coupon-input:focus{
  outline:none;
  border-color:#2F4F3E;
}
.dv-coupon-apply{
  padding:10px 16px;
  background:#2F4F3E;
  color:#fdfcf8;
  border:0;
  border-radius:2px;
  font-family:'Lato',sans-serif;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
  transition:background .2s;
}
.dv-coupon-apply:hover{background:#3d6350}
.dv-coupon-apply:disabled{background:#9a8c7e;cursor:not-allowed}
.dv-coupon-apply:focus-visible{outline:2px solid #9a7c3a;outline-offset:2px}
.dv-coupon-msg{
  margin:7px 0 0;
  font-size:11px;
  letter-spacing:.04em;
  min-height:14px;
}
.dv-coupon-msg:empty{display:none}
.dv-coupon-ok{color:#2F4F3E}
.dv-coupon-ok strong{font-weight:700}
.dv-coupon-err{color:#b04040}

/* Linie reducere */
.dv-cart-discount > span:last-child,
.dv-discount-val{
  color:#2F4F3E !important;
  font-weight:700 !important;
}

/* ============ NAV COUNTER ============ */
.dv-cart-count{
  margin-left:4px;
  font-weight:600;
  color:#2F4F3E;
  font-variant-numeric:tabular-nums;
  opacity:0;
  transition:opacity .25s;
}
.dv-cart-count.show{opacity:1}

/* ============ RESPONSIVE ============ */
@media(max-width:480px){
  .dv-cart-drawer{width:100vw}
  .dv-cart-head h2{font-size:21px}
}

/* ============ A11Y ============ */
@media (prefers-reduced-motion: reduce){
  .dv-cart-drawer,.dv-cart-overlay,.dv-toast,.dv-cart-checkout,.dv-cart-empty-btn{
    transition:none !important;
  }
}

/* ============ SELECTOR ȚARĂ LIVRARE ============ */
.dv-ship-country{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:14px;
}
.dv-ship-country label{
  font-family:'Lato',sans-serif;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#5b5446;
}
.dv-country-select{
  flex:0 1 auto;
  min-width:140px;
  padding:9px 12px;
  border:1px solid rgba(180,165,145,.55);
  background:rgba(252,249,244,.9);
  border-radius:2px;
  font-family:'Lato',sans-serif;
  font-size:12px;
  letter-spacing:.04em;
  color:#1e1c18;
  cursor:pointer;
  transition:border-color .2s;
}
.dv-country-select:focus{
  outline:none;
  border-color:#2F4F3E;
}
.dv-ship-eta{
  display:flex;
  align-items:center;
  gap:7px;
  margin:-6px 0 14px;
  font-family:'Lato',sans-serif;
  font-size:12px;
  letter-spacing:.03em;
  color:#2F4F3E;
}
.dv-ship-eta::before{
  content:'';
  width:14px;
  height:14px;
  flex-shrink:0;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17h-2v-11a1 1 0 0 1 1 -1h9v12m-4 0h6m4 0h2v-6h-8m0 -5h5l3 5'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17h-2v-11a1 1 0 0 1 1 -1h9v12m-4 0h6m4 0h2v-6h-8m0 -5h5l3 5'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E") center/contain no-repeat;
}
