/* ============================================================
   GIORGARAS — PUBLIC.GR-STYLE CART  (cart-public.css)
   ============================================================ */

/* ── CART PAGE BACKGROUND ─────────────────────────────────── */
.woocommerce-cart-page {
  background: #f2f2f2 !important;
  padding-bottom: 80px !important;
}

/* ── SHIPPING TABS ────────────────────────────────────────── */
.dr-ship-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  margin-bottom: 20px;
  border: 1.5px solid #e0e0e0;
  border-radius: 12px;
  overflow: visible;
  background: #fff;
  position: relative;
}
.dr-ship-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px 10px;
  cursor: pointer;
  border-right: 1.5px solid #e0e0e0;
  text-align: center;
  transition: background .18s, color .18s;
  position: relative;
  background: #fff;
  user-select: none;
}
.dr-ship-tab:first-child { border-radius: 12px 0 0 12px; }
.dr-ship-tab:last-child { border-right: none; border-radius: 0 12px 12px 0; }

.dr-ship-tab__label {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin-bottom: 2px;
  line-height: 1.3;
}
.dr-ship-tab__cost {
  font-size: 13px;
  font-weight: 700;
  color: #555;
}
.dr-ship-tab__cost--free {
  color: #059669;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* ── ACTIVE TAB — filled bg + triangle ────────────────────── */
.dr-ship-tab--active {
  background: #1a3a6b;
  z-index: 2;
}
.dr-ship-tab--active .dr-ship-tab__label { color: #fff; font-weight: 700; }
.dr-ship-tab--active .dr-ship-tab__cost { color: rgba(255,255,255,.9); }
.dr-ship-tab--active .dr-ship-tab__cost--free { color: #86efac; }
.dr-ship-tab--active .dr-ship-tab__icon { stroke: #fff; }

/* triangle pointer below active tab */
.dr-ship-tab--active::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #1a3a6b;
  z-index: 3;
}

/* ── DISABLED TAB ─────────────────────────────────────────── */
.dr-ship-tab--disabled {
  opacity: .45;
  cursor: not-allowed;
  background: #f9f9f9;
}
.dr-ship-tab--disabled .dr-ship-tab__label { color: #999; }
.dr-ship-tab--disabled .dr-ship-tab__cost { color: #bbb; }

.dr-ship-tab__icon {
  width: 20px; height: 20px;
  margin-bottom: 5px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ── STORE PICKUP INFO ────────────────────────────────────── */
.dr-ship-info {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  background: #f0f7ff;
  border: 1px solid #d0e3f7;
  border-radius: 10px;
  margin-bottom: 16px;
  font-size: 13.5px;
  color: #1a3a6b;
}
.dr-ship-info--visible { display: flex; }
.dr-ship-info__icon {
  width: 18px; height: 18px;
  stroke: #1a3a6b; fill: none;
  flex-shrink: 0;
}
.dr-ship-info strong { font-weight: 700; }
.dr-ship-info a {
  color: #1a3a6b;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-left: auto;
  white-space: nowrap;
}

/* ── HIDE DEFAULT WC SHIPPING IN SIDEBAR ─────────────────── */
.dr-tabs-active .wc-block-components-totals-shipping,
.dr-tabs-active .wc-block-components-shipping-rates-control {
  display: none !important;
}

/* ── MAIN CART LAYOUT ────────────────────────────────────── */
.wp-block-woocommerce-cart {
  background: transparent !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
.wp-block-woocommerce-filled-cart-block {
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  gap: 28px !important;
  align-items: start !important;
}

/* ── LEFT: ITEMS CARD ────────────────────────────────────── */
.wp-block-woocommerce-cart-items-block {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
  order: 1 !important;
}

/* ── RIGHT: SUMMARY SIDEBAR ──────────────────────────────── */
.wp-block-woocommerce-cart-totals-block {
  position: sticky !important;
  top: 100px;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 28px !important;
  box-shadow: 0 1px 6px rgba(0,0,0,.06) !important;
  order: 2 !important;
}

/* sidebar heading */
.wp-block-woocommerce-cart-totals-block .wc-block-cart__totals-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #111 !important;
  margin-bottom: 16px !important;
}

.wc-block-cart__submit-container {
  padding: 0 !important;
}

/* ── CHECKOUT CTA BUTTON ─────────────────────────────────── */
.wc-block-cart__submit-button {
  background: linear-gradient(135deg, #1a3a6b 0%, #0d1b2a 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 14px !important;
  padding: 16px 24px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: opacity .2s, transform .2s !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.wc-block-cart__submit-button:hover {
  opacity: .88 !important;
  transform: translateY(-1px) !important;
}

/* ── TRUST BADGES ────────────────────────────────────────── */
.dr-cart-trust {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #eee;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dr-cart-trust__row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  color: #555;
}
.dr-cart-trust__row svg {
  width: 18px; height: 18px;
  flex-shrink: 0;
}
.dr-cart-trust__row strong { font-weight: 700; color: #111; }
.dr-cart-trust__stars { color: #f59e0b; font-size: 14px; letter-spacing: 1px; }

/* ── PAYMENT ICONS ───────────────────────────────────────── */
.dr-cart-payments {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #eee;
  flex-wrap: wrap;
}
.dr-cart-payments__icon {
  height: 26px;
  width: auto;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  padding: 2px 6px;
  background: #fff;
}

/* ── HEADING OVERRIDE ────────────────────────────────────── */
.woocommerce-cart-page h1 {
  font-family: 'Outfit','Inter',sans-serif !important;
  font-weight: 800 !important;
  color: #111 !important;
  letter-spacing: -.02em !important;
}

/* ── CART ITEMS TABLE ────────────────────────────────────── */
.wc-block-cart-items .wc-block-cart-items__row {
  border-bottom: 1px solid #f0f0f0 !important;
  padding: 16px 0 !important;
}
.wc-block-cart-item__image img {
  border-radius: 10px !important;
}

/* ── CART HEADER TRUST STRIP ─────────────────────────────── */
.dr-cart-trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  background: #f0f7ff;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  color: #1a3a6b;
  margin-bottom: 20px;
}
.dr-cart-trust-strip__dot {
  width: 6px; height: 6px;
  background: #22c55e;
  border-radius: 50%;
  flex-shrink: 0;
}
.dr-cart-trust-strip__sep { color: #bbb; }

/* ── STEPS ───────────────────────────────────────────────── */
.dr-cart-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 24px;
  position: relative;
}
.dr-cart-step {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
}
.dr-cart-step__num {
  width: 26px; height: 26px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700;
  border: 2px solid #ddd;
  color: #999;
  background: #fff;
}
.dr-cart-step--done .dr-cart-step__num { background: #1a3a6b; border-color: #1a3a6b; color: #fff; }
.dr-cart-step--active .dr-cart-step__num { border-color: #1a3a6b; color: #1a3a6b; }
.dr-cart-step__label { font-size: 13px; font-weight: 500; color: #999; }
.dr-cart-step--active .dr-cart-step__label { color: #1a3a6b; font-weight: 700; }
.dr-cart-step--done .dr-cart-step__label { color: #333; }
.dr-cart-steps__line {
  width: 40px; height: 2px;
  background: #ddd;
  flex-shrink: 0;
}
.dr-cart-step--done + .dr-cart-steps__line { background: #1a3a6b; }
.dr-cart-steps__status {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  font-size: 11px; color: #999; font-weight: 500;
}

/* ── SHIPPING COST LINE IN SIDEBAR ───────────────────────── */
.dr-sidebar-shipping {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #333;
}
.dr-sidebar-shipping__value { font-weight: 700; }
.dr-sidebar-shipping__value--free { color: #059669; font-weight: 700; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1024px) {
  .wp-block-woocommerce-filled-cart-block {
    grid-template-columns: 1fr !important;
  }
  .wp-block-woocommerce-cart-totals-block {
    position: static !important;
  }
}
@media (max-width: 640px) {
  .dr-ship-tabs { grid-template-columns: 1fr; border-radius: 12px; }
  .dr-ship-tab { border-right: none; border-bottom: 1.5px solid #e0e0e0; border-radius: 0; }
  .dr-ship-tab:first-child { border-radius: 12px 12px 0 0; }
  .dr-ship-tab:last-child { border-bottom: none; border-radius: 0 0 12px 12px; }
  .dr-ship-tab--active::after {
    bottom: auto; right: -10px; left: auto; top: 50%;
    transform: translateY(-50%);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #1a3a6b;
    border-right: none;
  }
  .wp-block-woocommerce-cart-items-block { padding: 16px; }
  .wp-block-woocommerce-cart-totals-block { padding: 20px !important; }
  .dr-cart-trust-strip { flex-wrap: wrap; justify-content: center; }
  .dr-cart-steps__status { display: none; }
}
