/* ===========================================================================
   cart-v8.css  -- Eye-Shop cart redesign (v8 editorial design system)
   Scoped under .cart-v8 so navbar/footer/global styles are untouched.
   Reuses the same design tokens as home-v8.css / product-detail-v8.css.
   NOTE: do NOT set max-width on .cart-v8 (footer lives in same container).
   =========================================================================== */

@font-face{
  font-family:'PFNum';
  src:local('Inter'),local('Inter-Regular'),local('Helvetica Neue'),local('Arial'),local('Segoe UI'),local('Roboto');
  unicode-range:U+0030-0039;
}

:root{
  --v8-bg:#FFFFFF;
  --v8-surface:#FFFFFF;
  --v8-text:#1A1A1A;
  --v8-muted:#6E7780;
  --v8-line:#E8ECEF;
  --v8-accent:#5089b0;
  --v8-accent-dark:#356a90;
  --v8-accent-soft:#EAF1F6;
  --v8-ok:#1f7d44;
  --v8-ok-soft:#eefaf2;
  --v8-warn:#b5560a;
  --v8-warn-bd:#e8740c;
  --v8-warn-soft:#fff6ec;
  --v8-urgent:#B00020;
  --v8-display:'PFNum','Playfair Display','GFS Didot',Georgia,'Times New Roman',serif;
  --v8-ui:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ---------- scope / base ---------- */
.cart-v8{
  font-family:var(--v8-ui);
  color:var(--v8-text);
  font-size:14px;
  line-height:1.5;
}
.cart-v8 *{box-sizing:border-box;}
.cart-v8 h1,.cart-v8 h2,.cart-v8 h3{font-family:var(--v8-display);font-weight:400;color:var(--v8-text);letter-spacing:-0.3px;}
.cart-v8 a{color:var(--v8-accent);text-decoration:none;}
.cart-v8 a:hover{color:var(--v8-accent-dark);}

/* ---------- breadcrumb ---------- */
.cartv8-breadcrumb{font-family:'Open Sans Condensed','Roboto Condensed',var(--v8-ui);font-size:12px;letter-spacing:0.4px;text-transform:uppercase;color:var(--v8-muted);padding:14px 0 10px;list-style:none;margin:0;background:none;}
.cartv8-breadcrumb li{display:inline;}
.cartv8-breadcrumb>li+li::before{content:"/";padding:0 4px;color:#c9d0d6;}
.cartv8-breadcrumb a{color:var(--v8-muted);}
.cartv8-breadcrumb a:hover{color:var(--v8-accent);text-decoration:underline;}
.cartv8-breadcrumb .active{color:var(--v8-text);}

/* ---------- page head ---------- */
.cartv8-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:6px 0 18px;border-bottom:1px solid var(--v8-line);margin-bottom:24px;}
.cartv8-head h1{font-size:clamp(26px,3vw,38px);line-height:1.1;margin:0;}
.cartv8-head h1 .cartv8-count{font-family:var(--v8-ui);font-size:14px;font-weight:400;color:var(--v8-muted);letter-spacing:0;vertical-align:middle;margin-left:8px;}
.cartv8-head .cartv8-ordernum{display:block;font-family:var(--v8-ui);font-size:11.5px;font-weight:400;color:var(--v8-muted);letter-spacing:.5px;margin-top:5px;}
.cartv8-continue{font-family:var(--v8-ui);font-size:13px;font-weight:600;letter-spacing:.5px;white-space:nowrap;}
.cartv8-continue i{font-size:11px;margin-right:5px;}

/* ---------- layout grid ---------- */
.cartv8-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:36px;align-items:start;}
.cartv8-grid > [class*="col-"]{width:100%!important;float:none!important;padding-left:0!important;padding-right:0!important;}
.cartv8-items{min-width:0;}
.cartv8-items.is-busy{opacity:.45;pointer-events:none;transition:opacity .2s;}

/* ---------- cart item card ---------- */
.cartv8-item{display:grid;grid-template-columns:128px minmax(0,1fr) auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--v8-line);}
.cartv8-item:first-child{border-top:1px solid var(--v8-line);}
.cartv8-item-img{display:flex;align-items:flex-start;justify-content:center;}
.cartv8-item-img img{max-width:100%;height:auto;mix-blend-mode:multiply;}
.cartv8-item-info{min-width:0;}
.cartv8-item-type{font-family:var(--v8-ui);font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--v8-muted);margin-bottom:3px;}
.cartv8-item-title{display:block;font-family:var(--v8-ui);font-size:15.5px;font-weight:600;color:var(--v8-text)!important;line-height:1.3;margin-bottom:2px;}
.cartv8-item-title:hover{color:var(--v8-accent)!important;}
.cartv8-item-meta{font-size:11.5px;color:var(--v8-muted);margin-bottom:6px;}
.cartv8-item-price{font-size:14px;font-weight:600;margin-bottom:8px;}
.cartv8-item-price .cartv8-coupon-price{color:var(--v8-ok);font-weight:600;margin-left:6px;}
.cartv8-item-price .cartv8-price-original{color:var(--v8-muted);text-decoration:line-through;font-weight:400;}

/* Rx detail chips (contact lenses) */
.cartv8-chips{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px;}
.cartv8-chips span{display:inline-block;font-size:11px;font-weight:500;color:var(--v8-text);background:#F4F6F8;border:1px solid var(--v8-line);padding:2px 8px;white-space:nowrap;}
.cartv8-chips span b{font-weight:600;color:var(--v8-muted);}

/* availability */
.cartv8-avail{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:3px 9px;margin-bottom:4px;}
.cartv8-avail.ok{color:var(--v8-ok);background:var(--v8-ok-soft);}
.cartv8-avail.warn{color:var(--v8-warn)!important;background:var(--v8-warn-soft);}
.cartv8-avail.warn:hover{text-decoration:underline;}

/* lenses sub-block (prescription frames) */
.cartv8-lenses{background:#FAFBFC;border:1px solid var(--v8-line);border-left:2px solid var(--v8-accent);padding:12px 14px;margin:10px 0 4px;font-size:12.5px;}
.cartv8-lenses-head{font-weight:600;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--v8-accent-dark);margin-bottom:7px;}
.cartv8-lenses-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;}
.cartv8-lenses-row .cartv8-lenses-price{font-weight:600;white-space:nowrap;}
.cartv8-lenses-note{font-size:11px;color:var(--v8-muted);margin-top:5px;}
.cartv8-lenses-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:14px;}
.cartv8-lenses-actions a{font-size:12px;font-weight:600;cursor:pointer;}
.cartv8-lenses-actions a i{margin-right:4px;}
/* legacy "+ Φακοί Οράσεως" trigger restyle */
.cart-v8 .label.label-success{display:inline-block;background:var(--v8-accent)!important;color:#fff!important;font-family:var(--v8-ui);font-size:12px;font-weight:600;border-radius:0;padding:7px 14px;cursor:pointer;letter-spacing:.3px;}
.cart-v8 .label.label-success:hover{background:var(--v8-accent-dark)!important;}

/* line breakdown (frame + lenses totals) */
.cartv8-breakdown{font-size:12px;color:var(--v8-muted);text-align:right;line-height:1.6;}
.cartv8-breakdown b{color:var(--v8-text);font-weight:600;}

/* ---------- item actions column ---------- */
.cartv8-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:118px;}
.cartv8-line-total{font-size:16.5px;font-weight:700;font-family:var(--v8-ui);white-space:nowrap;}
.cartv8-qty{display:inline-flex;align-items:stretch;border:1px solid #C9D0D6;}
.cartv8-qty button{width:34px;height:36px;border:0;background:#fff;color:var(--v8-text);font-size:16px;line-height:1;cursor:pointer;padding:0;transition:background .15s;}
.cartv8-qty button:hover{background:var(--v8-accent-soft);}
.cartv8-qty input{width:40px;border:0;border-left:1px solid var(--v8-line);border-right:1px solid var(--v8-line);text-align:center;font-family:var(--v8-ui);font-size:14px;font-weight:600;color:var(--v8-text);background:#fff;padding:0;}
.cartv8-remove{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--v8-muted)!important;}
.cartv8-remove:hover{color:var(--v8-urgent)!important;text-decoration:underline;}

/* ---------- summary sidebar ---------- */
.cartv8-summary{position:sticky;top:104px;min-width:0;}
.cartv8-sumcard{background:#fff;border:1px solid var(--v8-line);padding:24px 22px;}
.cartv8-sumcard h3{font-size:20px;margin:0 0 16px;}
.cartv8-sum-row{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:7px 0;color:var(--v8-text);}
.cartv8-sum-row .cartv8-sum-val{font-weight:600;white-space:nowrap;}
.cartv8-sum-row .cartv8-free{color:var(--v8-ok);font-weight:700;letter-spacing:.3px;}
.cartv8-sum-row a{font-size:12.5px;font-weight:600;}
.cartv8-sum-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--v8-line);margin-top:10px;padding:14px 0 2px;font-size:16px;font-weight:700;}
.cartv8-sum-total .cartv8-sum-grand{font-size:21px;font-family:var(--v8-ui);}
.cartv8-vatnote{font-size:11px;color:var(--v8-muted);margin:2px 0 14px;}

/* free shipping progress */
.cartv8-freeship{margin:12px 0 4px;padding:12px 14px;background:#FAFBFC;border:1px solid var(--v8-line);}
.cartv8-freeship-label{font-size:12px;font-weight:500;color:var(--v8-text);margin-bottom:8px;}
.cartv8-freeship-label b{font-weight:700;}
.cartv8-freeship-label.done{color:var(--v8-ok);font-weight:600;}
.cartv8-freeship-label.done i{margin-right:5px;}
.cartv8-freeship-bar{height:6px;background:var(--v8-line);overflow:hidden;}
.cartv8-freeship-fill{height:100%;background:var(--v8-accent);transition:width .4s;}
.cartv8-freeship-fill.full{background:var(--v8-ok);}

/* CTA */
.cartv8-cta{display:block;width:100%;text-align:center;background:var(--v8-text);color:#fff!important;border:0;font-family:var(--v8-ui);font-size:13.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:16px 20px;margin:14px 0 10px;cursor:pointer;transition:background .15s;}
.cartv8-cta:hover{background:#000;color:#fff!important;}
.cartv8-cta i{margin-left:8px;font-size:12px;}
.cartv8-secure{text-align:center;font-size:11.5px;color:var(--v8-muted);margin-bottom:14px;}
.cartv8-secure i{margin-right:5px;color:var(--v8-ok);}

/* coupon */
.cartv8-coupon-box{border-top:1px solid var(--v8-line);padding-top:12px;}
.cartv8-coupon-box summary{font-size:12.5px;font-weight:600;color:var(--v8-accent);cursor:pointer;list-style:none;outline:none;}
.cartv8-coupon-box summary::-webkit-details-marker{display:none;}
.cartv8-coupon-box summary i{margin-right:6px;}
.cartv8-coupon-form{display:flex;gap:0;margin-top:10px;}
.cartv8-coupon-form input[type="text"]{flex:1;min-width:0;border:1px solid #C9D0D6;border-right:0;padding:9px 12px;font-family:var(--v8-ui);font-size:13px;outline:none;}
.cartv8-coupon-form input[type="text"]:focus{border-color:var(--v8-accent);}
.cartv8-coupon-form button{border:0;background:var(--v8-accent);color:#fff;font-family:var(--v8-ui);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:9px 16px;cursor:pointer;}
.cartv8-coupon-form button:hover{background:var(--v8-accent-dark);}
.cartv8-coupon-msg{font-size:12px;margin-top:7px;}
.cartv8-coupon-msg.ok{color:var(--v8-ok);font-weight:600;}
.cartv8-coupon-msg.err{color:var(--v8-urgent);font-weight:600;}
.cartv8-coupon-active{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--v8-ok);background:var(--v8-ok-soft);padding:4px 10px;margin-top:8px;}

/* payment icons */
.cartv8-paymethods{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;color:#9aa3ab;font-size:24px;}
.cartv8-paymethods .cartv8-klarna{font-size:11px;font-weight:700;letter-spacing:.5px;border:1px solid var(--v8-line);padding:3px 7px;color:#6E7780;}

/* ---------- trust strip ---------- */
.cart-v8 .v8-trust{background:#fff;border-top:1px solid var(--v8-line);border-bottom:1px solid var(--v8-line);margin:36px 0 0;}
.cart-v8 .v8-trust-inner{display:flex;flex-wrap:wrap;}
.cart-v8 .v8-trust-item{flex:1 1 25%;padding:18px;display:flex;align-items:center;justify-content:center;gap:10px;border-right:1px solid var(--v8-line);text-align:left;}
.cart-v8 .v8-trust-item:last-child{border-right:0;}
.cart-v8 .v8-trust-icon{color:var(--v8-accent);font-size:20px;opacity:.9;flex:0 0 auto;}
.cart-v8 .v8-trust-item b{display:block;font-family:var(--v8-ui);font-weight:600;font-size:12.5px;color:var(--v8-text);}
.cart-v8 .v8-trust-item span{display:block;font-family:var(--v8-ui);font-weight:300;font-size:11px;color:var(--v8-muted);}

/* ---------- empty cart ---------- */
.cartv8-empty{text-align:center;padding:70px 20px 80px;}
.cartv8-empty i{font-size:54px;color:#C9D0D6;margin-bottom:18px;display:block;}
.cartv8-empty h2{font-size:clamp(24px,3vw,32px);margin:0 0 10px;}
.cartv8-empty p{font-size:13.5px;color:var(--v8-muted);max-width:480px;margin:0 auto 22px;}
.cartv8-empty .cartv8-cta{display:inline-block;width:auto;padding:15px 34px;}

/* ---------- shipping modal restyle ---------- */
.cartv8-modal .modal-content{border-radius:0;border:1px solid var(--v8-line);box-shadow:0 10px 40px rgba(0,0,0,.18);font-family:var(--v8-ui);}
.cartv8-modal .modal-header{border-bottom:1px solid var(--v8-line);}
.cartv8-modal .modal-header h3{font-family:var(--v8-display);font-size:22px;margin:6px 0;}
.cartv8-modal .modal-body{font-size:13.5px;color:var(--v8-text);}
.cartv8-shiptable{width:100%;border-collapse:collapse;margin:14px 0;}
.cartv8-shiptable th{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--v8-muted);text-align:left;padding:8px 10px;border-bottom:2px solid var(--v8-line);}
.cartv8-shiptable td{padding:8px 10px;border-bottom:1px solid var(--v8-line);font-size:13px;}
.cartv8-shiptable td:last-child{text-align:right;font-weight:600;white-space:nowrap;}
.cartv8-shipfree{background:var(--v8-ok-soft);color:var(--v8-ok);font-weight:600;padding:10px 14px;font-size:13px;margin-bottom:6px;}

/* ---------- sticky mobile checkout bar ---------- */
.cartv8-sticky{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:none;background:#fff;border-top:1px solid var(--v8-line);box-shadow:0 -4px 18px rgba(0,0,0,.10);padding:10px 14px;align-items:center;gap:14px;}
.cartv8-sticky-info{flex:1;min-width:0;}
.cartv8-sticky-label{display:block;font-family:var(--v8-ui);font-size:10.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--v8-muted);}
.cartv8-sticky-total{font-family:var(--v8-ui);font-size:17px;font-weight:700;color:var(--v8-text);}
.cartv8-sticky-btn{font-family:var(--v8-ui);font-weight:600;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;background:var(--v8-text);color:#fff!important;border:0;padding:14px 26px;white-space:nowrap;}
.cartv8-sticky-btn:hover{background:#000;color:#fff!important;}

/* ---------- responsive ---------- */
@media (max-width: 991px){
  .cartv8-grid{grid-template-columns:1fr;gap:26px;}
  .cartv8-summary{position:static;}
}
@media (max-width: 767px){
  html,body{overflow-x:hidden;}
  .cart-v8{padding-bottom:74px;}  /* room for sticky bar */
  .cartv8-sticky{display:flex;}
  .cartv8-head{padding-bottom:14px;margin-bottom:16px;}
  .cartv8-item{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:16px 0;}
  .cartv8-item-actions{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;min-width:0;width:100%;}
  .cartv8-item-actions .cartv8-line-total{order:2;}
  .cartv8-item-actions .cartv8-qty{order:1;}
  .cartv8-item-actions .cartv8-remove{order:3;}
  .cartv8-qty button{width:38px;height:40px;}
  .cartv8-qty input{width:44px;}
  .cartv8-sumcard{padding:18px 16px;}
  .cart-v8 .v8-trust-item{flex:1 1 50%;border-bottom:1px solid var(--v8-line);padding:14px 10px;}
  .cart-v8 .v8-trust-item:nth-child(2){border-right:0;}
  .cart-v8 .v8-trust-item:nth-child(3),.cart-v8 .v8-trust-item:nth-child(4){border-bottom:0;}
}
@media (min-width: 768px){
  .cartv8-sticky{display:none!important;}
}
