/* =========================================================
   cart.css
   Desktop / Tablet Cart Layout
   Scoped only inside #cartSection
   ========================================================= */

/* Cart container */
#cartSection{
  position:fixed;
  top:70px;
  right:12px;

  width:min(98vw,440px);
  max-height:90vh;

  overflow-y:auto;

  background:var(--ad-ivory);
  border-radius:1.2rem;

  box-shadow:0 8px 40px rgba(49,67,56,.22);

  border:2px solid var(--ad-border);

  padding:20px 14px 18px;

  z-index:1049;

  color:var(--ad-text);
}

/* Header row */
#cartSection .summary-table-header{
  display:flex;
  align-items:center;

  padding:10px 6px;

  font-weight:800;

  border-bottom:1px solid rgba(191,168,105,.35);

  background:var(--ad-surface-3);

  border-radius:8px 8px 0 0;
}

/* Cart rows — card style */
#cartSection .summary-table-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 8px;
  border-bottom:1px solid rgba(191,168,105,.2);
  background:var(--ad-surface-2);
  position:relative;
}

/* Photo */
#cartSection .cart-item-photo{
  width:64px !important;
  height:64px !important;
  min-width:64px;
  border-radius:10px !important;
  object-fit:cover;
  border:1.5px solid rgba(191,168,105,.4);
  cursor:zoom-in;
  flex-shrink:0;
  display:block;
  transition:opacity .15s;
}
#cartSection .cart-item-photo:hover{ opacity:.85; }

/* Body */
#cartSection .cart-item-body{
  flex:1;
  min-width:0;
  padding-right:26px;
}

/* Code cell */
#cartSection .summary-cell[data-label="Κωδικός"]{
  font-size:.88rem;
  font-weight:700;
  color:var(--ad-text);
  margin-bottom:2px;
  flex:unset;
  text-align:left;
}

/* Description cell */
#cartSection .summary-cell[data-label="Περιγραφή"]{
  font-size:.78rem;
  color:var(--ad-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
  flex:unset;
  text-align:left;
}

/* Bottom row: qty + price */
#cartSection .cart-item-foot{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
}

/* Price cell */
#cartSection .summary-cell[data-label="Τιμή"]{
  font-weight:800;
  font-size:.9rem;
  color:var(--ad-text);
  margin-left:auto;
  flex:unset;
}

/* Qty cell */
#cartSection .summary-cell[data-label="Ποσότητα"]{
  flex:unset;
}

/* Remove button — small, absolute top-right */
#cartSection .cart-remove-btn{
  position:absolute;
  top:8px;
  right:5px;
  width:22px;
  height:22px;
  border-radius:999px;
  border:1px solid rgba(191,168,105,.45);
  background:transparent;
  color:var(--ad-muted);
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.15s;
}

#cartSection .cart-remove-btn:hover{
  background:rgba(191,168,105,.18);
  color:#a87500;
  border-color:var(--ad-gold);
}

/* Suppress data-label ::before labels inside cart */
#cartSection .summary-cell::before{ display:none !important; }

/* Quantity controls */

#cartSection .qty-wrap{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

#cartSection .qty-btn{

  width:34px;
  height:34px;

  border-radius:999px;

  border:1.5px solid rgba(191,168,105,.6);

  background:var(--ad-surface-2);

  color:var(--ad-text);

  font-size:18px;

  display:flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;

  transition:.15s;
}

#cartSection .qty-btn:hover{

  background:rgba(191,168,105,.18);
  border-color:var(--ad-gold);

}

/* Qty number */
#cartSection span[id^="qty_"]{

  min-width:22px;

  text-align:center;

  font-weight:800;

}

/* Prices */

#cartSection .cart-price-original{
  text-decoration:line-through;
  color:#9aa0a6;
  font-size:.92em;
}

#cartSection .cart-price-final{
  color:#2e7d32;
  font-weight:900;
  margin-left:6px;
  font-size:1.05em;
}

/* Discount price stack (campaign/coupon breakdown) */
#cartSection .price-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:1px;
  line-height:1.3;
}

#cartSection .price-original{
  text-decoration:line-through;
  color:#9aa0a6;
  font-size:.82em;
}

#cartSection .price-final{
  color:#2e7d32;
  font-weight:800;
  font-size:.95em;
}

#cartSection .price-discount{
  color:#d9001b;
  font-weight:700;
  font-size:.8em;
}

/* Totals area */

#cartSection #cartSubtotal{

  font-size:14px;

  color:var(--ad-muted);

}

#cartSection #cartTotal{

  font-size:18px;

  font-weight:900;

  color:var(--ad-text);

}

/* Buttons */

#cartSection .adamia-complete-btn{

  width:100%;

  margin-top:14px;

}

/* Scrollbar (optional polish) */

#cartSection::-webkit-scrollbar{
  width:6px;
}

#cartSection::-webkit-scrollbar-thumb{
  background:rgba(191,168,105,.5);
  border-radius:10px;
}
/* cart header layout */
#cartSection .cart-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* close button */
#cartSection .cart-close-btn{
  background:none;
  border:none;

  font-size:26px;
  line-height:1;

  color:var(--ad-gold);

  cursor:pointer;

  margin-left:auto;
}

/* ── Blog back link ─────────────────────────────────────── */
a.blog-back-btn,
.blog-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #bfa869 !important;
  font-family: 'Cinzel', serif;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: gap .3s ease, opacity .3s ease;
  opacity: .85;
}
.blog-back-btn .bbk-line {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 1px;
  background: currentColor;
  flex-shrink: 0;
  transition: width .3s ease;
}
.blog-back-btn .bbk-line::before {
  content: '';
  position: absolute;
  left: 2px;
  top: -4px;
  width: 8px;
  height: 8px;
  border-left: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.blog-back-btn:hover {
  opacity: 1;
  gap: 14px;
}
.blog-back-btn:hover .bbk-line {
  width: 30px;
}

/* ── Cart photo lightbox ─────────────────────────────────── */
#cart-img-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:9998;
  background:rgba(20,30,24,.88);
  justify-content:center;
  align-items:center;
  cursor:zoom-out;
}
#cart-img-lightbox.open{ display:flex; }
#cart-img-lightbox img{
  max-width:88vw;
  max-height:84vh;
  border-radius:14px;
  object-fit:contain;
  box-shadow:0 8px 48px rgba(0,0,0,.5);
  border:3px solid rgba(191,168,105,.45);
}
#cart-lb-close{
  position:absolute;
  top:18px;
  right:24px;
  font-size:2.2rem;
  color:rgba(255,255,255,.75);
  background:none;
  border:none;
  cursor:pointer;
  line-height:1;
  transition:color .15s;
}
#cart-lb-close:hover{ color:#fff; }
