/* assets/base.css — PATCHED (fixed header + clean desktop dropdown) */

:root{
  --bg:#f6fbff;
  --card:#ffffff;
  --ink:rgba(7,48,71,.92);
  --muted:rgba(7,48,71,.70);
  --line:rgba(7,48,71,.10);
  --aqua:#20a2c4;
  --blue:#093a5a;
  --shadow:0 18px 55px rgba(9,58,90,.14);
  --shadow2:0 10px 24px rgba(9,58,90,.12);
  --font:"Bebas Neue", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  /* ✅ fixed header height */
  --td-header-h: 76px;
  --td-adminbar-h: 0px;
}

body.admin-bar{ --td-adminbar-h: 32px; }
@media (max-width:782px){
  body.admin-bar{ --td-adminbar-h: 46px; }
}

*,
*::before,
*::after{ box-sizing:border-box; }

html.td-lock{ overflow:hidden; }

body{ margin:0; background:var(--bg); color:var(--ink); }
a{ color:inherit; text-decoration:none; }

.ct-container{ width:min(1160px, calc(100% - 38px)); margin-inline:auto; }
@media (max-width:560px){ .ct-container{ width:min(1160px, calc(100% - 22px)); } }

/* ✅ content offset so fixed header never overlaps */
.bx-site{ min-height:60vh; padding-top: calc(var(--td-header-h) + var(--td-adminbar-h)); }

/* ========= HEADER (FIXED instead of sticky) ========= */
.td-header{
  position:fixed !important;
  left:0; right:0;
  top: var(--td-adminbar-h);
  z-index:5000;
  background:#fff;
  border-bottom:1px solid rgba(7,48,71,.08);

  /* ✅ kill any theme transforms that cause “half hidden” */
  transform:none !important;
  translate:none !important;
  will-change:auto !important;
}

.td-header.is-scrolled{ box-shadow: var(--shadow2); }

.td-header__bar{
  height: var(--td-header-h);
  display:flex;
  align-items:center;
  gap:16px;
  padding: 0; /* ثابت */
}

/* Brand */
.td-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 240px;
}
.td-brand__logo{
  height:48px;
  width:auto;
  max-width:190px;
  object-fit:contain;
  display:block;
}
.td-brand__txt{ display:flex; flex-direction:column; line-height:1; }
.td-brand__name{
  font-family:var(--font);
  font-size:26px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--blue);
}
.td-brand__place{
  margin-top:6px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

/* Desktop Nav */
.td-nav{ flex:1; display:flex; justify-content:center; }
.td-menu{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex;
  gap:14px;
  align-items:center;
}
.td-menu > li{ margin:0 !important; padding:0 !important; position:relative; }
.td-menu > li > a{
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:13px;
  color:rgba(7,48,71,.86);
  transition: background .15s ease, color .15s ease;
}
.td-menu > li > a:hover{ background:rgba(32,162,196,.10); color:var(--blue); }

/* Dropdown */
.td-menu .sub-menu{
  list-style:none !important;
  margin:10px 0 0 !important;
  padding:10px !important;
  position:absolute;
  top:100%;
  left:0;
  min-width: 220px;
  background:#fff;
  border:1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow);
  display:none;
}
.td-menu li:hover > .sub-menu{ display:block; }
.td-menu .sub-menu a{
  display:flex;
  padding:10px 10px;
  border-radius:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
  color:rgba(7,48,71,.86);
}
.td-menu .sub-menu a:hover{ background:rgba(32,162,196,.10); }

/* Actions */
.td-actions{ display:flex; align-items:center; gap:10px; }

/* ✅ GTranslate Desktop: make it look like a premium dropdown */
.td-lang{ display:flex; align-items:center; }

/* if plugin outputs <select> */
.td-lang select,
.td-lang .gt_selector,
.td-lang .gtranslate_wrapper select{
  height:46px !important;
  border-radius:16px !important;
  border:1px solid var(--line) !important;
  background:#fff !important;
  padding:0 14px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  font-size:12px !important;
  color:rgba(7,48,71,.86) !important;
  outline:none !important;
  box-shadow: 0 8px 18px rgba(9,58,90,.06) !important;
}

/* if plugin outputs "switcher" structure */
.td-lang .switcher{
  border:1px solid var(--line) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow: 0 8px 18px rgba(9,58,90,.06) !important;
}
.td-lang .switcher .selected a{
  height:46px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 14px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:rgba(7,48,71,.86) !important;
}
.td-lang .switcher .option{
  border:1px solid var(--line) !important;
  border-radius:16px !important;
  box-shadow: var(--shadow) !important;
  overflow:hidden !important;
}
.td-lang .switcher .option a{
  padding:10px 14px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
}

/* Cart button */
.td-iconbtn{
  width:46px; height:46px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow: 0 8px 18px rgba(9,58,90,.06);
  display:grid;
  place-items:center;
  position:relative;
  cursor:pointer;
}
.td-iconbtn i{ color: rgba(7,48,71,.82); }
.td-iconbtn:hover i{ color: var(--aqua); }

.td-badge{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:rgba(32,162,196,.20);
  border:1px solid rgba(32,162,196,.38);
  font-weight:900;
  font-size:11px;
  line-height:18px;
  text-align:center;
  color: rgba(7,48,71,.95);
  box-shadow: 0 10px 24px rgba(9,58,90,.14);
}

/* Burger */
.td-burger{
  width:46px; height:46px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow: 0 8px 18px rgba(9,58,90,.06);
  display:none;
  cursor:pointer;
}
.td-burger span{
  display:block;
  width:18px;
  height:2px;
  background: rgba(7,48,71,.82);
  margin:4px auto;
  border-radius:999px;
}

/* Responsive */
@media (max-width:980px){
  .td-nav{ display:none; }
  .td-burger{ display:inline-block; }
  .td-lang--desk{ display:none; }
}
@media (max-width:560px){
  :root{ --td-header-h: 70px; }
  .td-brand__logo{ height:42px; }
  .td-brand__name{ font-size:22px; }
  .td-brand__place{ font-size:11px; }
}

/* ========= overlays/panels/cart/menu ========= */
/* (سيب باقي ملفك كما هو لو كنت تستخدم نسخة الري빌د،
   لكن لو أنت مستبدل الملف بالكامل، لازم تلصق باقي CSS القديم تحت هنا.
   بما إنك قلت المنيو والكارت تمام: أبقي ضيف باقي قواعد الـ overlay/cart/menu/footer اللي عندك بدون تغيير.) */

/* ========= OVERLAY + PANEL (Menu + Cart) ========= */
.td-overlay{
  position:fixed;
  inset:0;
  z-index:9000;
  display:none;
}
.td-overlay.is-open{ display:block; }

.td-overlay__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.48);
  opacity:0;
  transition: opacity .18s ease;
}
.td-overlay.is-open .td-overlay__backdrop{ opacity:1; }

.td-panel{
  position:absolute;
  inset:0;               /* ✅ FULL SCREEN = no half width */
  background:#fff;
  display:flex;
  flex-direction:column;
  transform: translateY(10px);
  opacity:0;
  transition: transform .18s ease, opacity .18s ease;
}
.td-overlay.is-open .td-panel{
  transform: translateY(0);
  opacity:1;
}

/* Panel Head (fixed) */
.td-panel__head{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 14px 12px;
  border-bottom:1px solid rgba(7,48,71,.08);
  background:#fff;
}
.td-panel__brand{ display:flex; align-items:center; gap:10px; min-width:0; }
.td-panel__logo{ height:40px; width:auto; object-fit:contain; }
.td-panel__title{ display:flex; flex-direction:column; line-height:1; min-width:0; }
.td-panel__name{
  font-family:var(--font);
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--blue);
  font-size:20px;
}
.td-panel__place{
  margin-top:6px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--muted);
  font-size:12px;
}

.td-x{
  width:44px; height:44px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
}

/* Panel body (scroll ONLY here => no “half fixed half moving” mess) */
.td-panel__body{
  flex:1 1 auto;
  overflow:auto;
  padding:14px;
  -webkit-overflow-scrolling: touch;
}

/* Mobile Menu list reset (kills theme weirdness) */
.td-mmenu,
.td-mmenu ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.td-mmenu li{ margin:0 !important; padding:0 !important; }

.td-mmenu a{
  display:flex !important;
  width:100% !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:14px 14px !important;
  margin:0 0 10px 0 !important;
  border-radius:16px !important;
  border:1px solid rgba(7,48,71,.08) !important;
  background: rgba(246,251,255,.92) !important;
  color: rgba(7,48,71,.88) !important;
  font-weight:900 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
  font-size:13px !important;
}
.td-mmenu .sub-menu a{ font-size:12px !important; opacity:.95; margin-left:10px !important; }

/* CTA in panel */
.td-panel__cta{
  margin-top:14px;
  display:grid;
  gap:10px;
}

/* Buttons */
.td-btn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:13px 14px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:12px;
  cursor:pointer;
}
.td-btn i{ font-size:14px; }

.td-btn--primary{
  background: linear-gradient(135deg, rgba(32,162,196,1), rgba(47,210,234,1));
  color:#062a3f;
  border-color: rgba(32,162,196,.35);
  box-shadow: 0 10px 24px rgba(9,58,90,.12);
}
.td-btn--ghost{
  background:#fff;
  color: rgba(7,48,71,.90);
  border-color: var(--line);
  box-shadow: 0 10px 24px rgba(9,58,90,.08);
}
.td-pill{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:22px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(32,162,196,.14);
  border:1px solid rgba(32,162,196,.30);
  font-weight:900;
  font-size:12px;
}

/* ========= CART RESET (fix “مشوه”) ========= */
.td-panel--cart{ background:#fff; }
.td-cartbody{ padding:14px; }

.td-minicart,
.td-minicart *{
  box-sizing:border-box !important;
}

/* kill inherited weird margins/fonts */
.td-minicart ul,
.td-minicart ol{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.td-minicart a{ text-decoration:none !important; }

.td-minicart .woocommerce-mini-cart{
  display:grid;
  gap:10px;
}

/* each item */
.td-minicart .woocommerce-mini-cart-item{
  position:relative;
  display:grid;
  grid-template-columns: 66px 1fr;
  gap:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(7,48,71,.08);
  background: rgba(246,251,255,.92);
}

/* thumbnail */
.td-minicart .woocommerce-mini-cart-item img{
  width:66px !important;
  height:66px !important;
  object-fit:cover !important;
  border-radius:14px !important;
  display:block !important;
}

/* title link */
.td-minicart .woocommerce-mini-cart-item a:not(.remove){
  color: rgba(7,48,71,.90) !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  line-height:1.35 !important;
}

/* remove */
.td-minicart a.remove{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  width:34px !important;
  height:34px !important;
  border-radius:12px !important;
  border:1px solid rgba(7,48,71,.10) !important;
  background:#fff !important;
  display:grid !important;
  place-items:center !important;
  color: rgba(7,48,71,.70) !important;
  line-height:1 !important;
}
.td-minicart a.remove:hover{ color: var(--aqua) !important; }

/* quantity + variations */
.td-minicart .quantity{
  display:block !important;
  margin-top:6px !important;
  color: rgba(7,48,71,.72) !important;
  font-weight:900 !important;
}

/* total */
.td-minicart .woocommerce-mini-cart__total{
  margin:12px 0 0 !important;
  padding-top:12px !important;
  border-top:1px dashed rgba(7,48,71,.18) !important;
  font-weight:900 !important;
  color: rgba(7,48,71,.86) !important;
}

/* hide default buttons (we have our footer buttons) */
.td-minicart .woocommerce-mini-cart__buttons{ display:none !important; }

/* empty */
.td-minicart .woocommerce-mini-cart__empty-message{
  margin: 6px 0 !important;
  color: rgba(7,48,71,.70) !important;
  font-weight:900 !important;
}

/* ========= FOOTER ========= */
.td-footer{
  background:#fff;
  border-top:1px solid rgba(7,48,71,.08);
  padding: 26px 0 18px;
}
.td-footer__grid{
  display:grid;
  grid-template-columns: 1.2fr .9fr .9fr .9fr;
  gap:16px;
  align-items:start;
}
.td-footer__brand{
  display:flex;
  gap:12px;
  align-items:center;
}
.td-footer__logo{
  height:56px;
  width:auto;
  max-width:220px;
  object-fit:contain;
}
.td-footer__brandname{
  font-family:var(--font);
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--blue);
  font-size:22px;
  line-height:1;
}
.td-footer__by{
  margin-top:6px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--muted);
}
.td-footer__by a{
  color:var(--blue);
  border-bottom:1px dashed rgba(32,162,196,.55);
  padding-bottom:2px;
}
.td-footer__p{ margin:10px 0 0; color:var(--muted); line-height:1.7; font-size:14px; }

.td-footer__h{
  font-family:var(--font);
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--blue);
  font-size:18px;
  margin: 6px 0 10px;
}
.td-footer__menu{
  list-style:none; margin:0; padding:0;
  display:grid; gap:8px;
}
.td-footer__menu a{
  color: rgba(7,48,71,.82);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:13px;
}
.td-footer__list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:10px;
}
.td-footer__list li{ display:flex; gap:10px; align-items:center; color: rgba(7,48,71,.80); font-weight:900; }
.td-footer__list i{ color:var(--aqua); width:18px; text-align:center; }
.td-footer__social{ display:flex; gap:10px; }
.td-footer__social a{
  width:44px; height:44px;
  border-radius:16px;
  border:1px solid var(--line);
  background: rgba(246,251,255,.92);
  display:grid; place-items:center;
  box-shadow: 0 8px 18px rgba(9,58,90,.06);
}

.td-footer__bottom{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(7,48,71,.08);
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  color: var(--muted);
  font-weight:900;
  letter-spacing:.06em;
  font-size:12px;
}
.td-footer__credit a{
  color:var(--blue);
  border-bottom:1px dashed rgba(32,162,196,.55);
  padding-bottom:2px;
}

@media (max-width:980px){
  .td-footer__grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width:560px){
  .td-footer__grid{ grid-template-columns: 1fr; }
}

/* =========================================================
   CART DRAWER — PREMIUM SKIN (append at END of base.css)
   Target: #tdCart only
========================================================= */

/* Backdrop nicer */
#tdCart.td-overlay .td-overlay__backdrop{
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Make cart a right drawer on desktop (mobile stays full-ish) */
#tdCart.td-overlay .td-panel--cart{
  inset: auto !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: min(440px, 94vw) !important;
  height: 100dvh !important;
  border-left: 1px solid rgba(7,48,71,.10);
  border-top-left-radius: 22px;
  border-bottom-left-radius: 22px;
  box-shadow: 0 40px 140px rgba(0,0,0,.40);
  overflow: hidden;
}

/* Animate from right instead of bottom (ONLY for cart) */
#tdCart.td-overlay .td-panel--cart{
  transform: translateX(18px);
  opacity: 0;
  transition: transform .18s ease, opacity .18s ease;
}
#tdCart.td-overlay.is-open .td-panel--cart{
  transform: translateX(0);
  opacity: 1;
}

/* Header */
#tdCart .td-panel__head{
  position: sticky;
  top: 0;
  z-index: 2;
  background: linear-gradient(180deg, #ffffff 0%, rgba(255,255,255,.92) 100%);
  border-bottom: 1px solid rgba(7,48,71,.08);
  padding: 16px 16px 14px;
}

/* Title stronger */
#tdCart .td-panel__name{
  font-family: var(--font);
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--blue);
  font-size: 22px;
}

/* Close button nicer */
#tdCart .td-x{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  border: 1px solid rgba(7,48,71,.10);
  background: rgba(246,251,255,.92);
  transition: transform .14s ease, background .14s ease;
}
#tdCart .td-x:hover{
  background: rgba(32,162,196,.10);
  transform: translateY(-1px);
}

/* Body spacing */
#tdCart .td-cartbody{
  padding: 14px 16px 18px !important;
}

/* ===== Mini cart list ===== */
#tdCart .td-minicart .woocommerce-mini-cart{
  display: grid !important;
  gap: 12px !important;
}

/* Each item card */
#tdCart .td-minicart .woocommerce-mini-cart-item{
  border-radius: 18px !important;
  border: 1px solid rgba(7,48,71,.08) !important;
  background: rgba(246,251,255,.92) !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: 74px 1fr !important;
  gap: 12px !important;
  align-items: start !important;
  position: relative !important;
  box-shadow: 0 10px 28px rgba(9,58,90,.08);
}

/* Thumb */
#tdCart .td-minicart .woocommerce-mini-cart-item img{
  width: 74px !important;
  height: 74px !important;
  border-radius: 16px !important;
  object-fit: cover !important;
  display: block !important;
  border: 1px solid rgba(7,48,71,.06);
}

/* Product link */
#tdCart .td-minicart .woocommerce-mini-cart-item a:not(.remove){
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;

  color: rgba(7,48,71,.92) !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  line-height: 1.35 !important;
}

/* Variation (if any) */
#tdCart .td-minicart dl.variation{
  margin: 6px 0 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 4px !important;
  color: rgba(7,48,71,.70) !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}
#tdCart .td-minicart dl.variation dt,
#tdCart .td-minicart dl.variation dd{
  margin: 0 !important;
}

/* Quantity + price line */
#tdCart .td-minicart .quantity{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 8px !important;

  color: rgba(7,48,71,.78) !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
}
#tdCart .td-minicart .quantity .woocommerce-Price-amount{
  font-weight: 950 !important;
  color: rgba(7,48,71,.92) !important;
}

/* Remove button as clean icon */
#tdCart .td-minicart a.remove{
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(7,48,71,.10) !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
  color: rgba(7,48,71,.70) !important;
  line-height: 1 !important;
  transition: transform .14s ease, background .14s ease, color .14s ease !important;
}
#tdCart .td-minicart a.remove:hover{
  background: rgba(255, 66, 66, .08) !important;
  color: rgba(255, 66, 66, 1) !important;
  transform: translateY(-1px);
}

/* Total */
#tdCart .td-minicart .woocommerce-mini-cart__total{
  margin: 14px 2px 0 !important;
  padding: 14px 12px !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(7,48,71,.18) !important;
  background: #fff !important;
  font-weight: 950 !important;
  color: rgba(7,48,71,.88) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
#tdCart .td-minicart .woocommerce-mini-cart__total strong{
  font-family: var(--font);
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 16px;
  color: var(--blue);
}

/* Empty message nicer */
#tdCart .td-minicart .woocommerce-mini-cart__empty-message{
  margin: 8px 0 0 !important;
  padding: 16px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(7,48,71,.08) !important;
  background: rgba(246,251,255,.92) !important;
  color: rgba(7,48,71,.72) !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

/* Footer buttons bar */
#tdCart .td-panel__foot{
  position: sticky;
  bottom: 0;
  z-index: 2;
  padding: 14px 16px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.75) 0%, #ffffff 55%);
  border-top: 1px solid rgba(7,48,71,.08);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* Make buttons look premium */
#tdCart .td-panel__foot .td-btn{
  height: 48px;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(9,58,90,.12);
}
#tdCart .td-panel__foot .td-btn--ghost{
  background: rgba(246,251,255,.95);
}
#tdCart .td-panel__foot .td-btn--primary{
  background: linear-gradient(135deg, rgba(32,162,196,1), rgba(47,210,234,1));
}

/* Mobile: stack buttons */
@media (max-width: 520px){
  #tdCart .td-panel__foot{
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   CART DRAWER — FIX TOP CLIP + UPGRADE (append after premium)
========================================================= */

/* 1) Fix any top clipping (safe area + sticky header spacing) */
#tdCart .td-panel__head{
  padding-top: calc(16px + env(safe-area-inset-top, 0px)) !important;
  /* ensure text never clips */
  min-height: 74px;
}

/* sometimes parent height causes first line to clip */
#tdCart .td-panel__name{
  line-height: 1.15 !important;
  padding-top: 2px;
}

/* 2) Improve cart title area (more premium) */
#tdCart .td-panel__head{
  background:
    radial-gradient(800px 220px at 20% -40%, rgba(32,162,196,.18), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, rgba(255,255,255,.92) 100%) !important;
}

/* 3) Smooth scroll area so first item isn't stuck under header */
#tdCart .td-cartbody{
  padding-top: 16px !important;
}

/* 4) Make items look more “card premium” */
#tdCart .td-minicart .woocommerce-mini-cart-item{
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(246,251,255,.92)) !important;
  border-color: rgba(7,48,71,.07) !important;
}

/* 5) Add subtle divider under product title block */
#tdCart .td-minicart .woocommerce-mini-cart-item a:not(.remove){
  padding-right: 46px; /* space for remove icon */
}
#tdCart .td-minicart .woocommerce-mini-cart-item a:not(.remove)::after{
  content:"";
  display:block;
  height:1px;
  margin-top:10px;
  background: linear-gradient(90deg, rgba(7,48,71,.12), transparent);
}

/* 6) Total becomes a “glass” bar */
#tdCart .td-minicart .woocommerce-mini-cart__total{
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(7,48,71,.10) !important;
  box-shadow: 0 16px 36px rgba(9,58,90,.10);
}

/* 7) Footer buttons more premium + equal height */
#tdCart .td-panel__foot .td-btn{
  height: 50px !important;
  font-size: 12px !important;
  letter-spacing: .10em !important;
}
#tdCart .td-panel__foot .td-btn--ghost{
  border-color: rgba(7,48,71,.12) !important;
}

/* 8) Fix drawer top on desktop too (in case of admin bar) */
html.admin-bar #tdCart.td-overlay .td-panel--cart{
  padding-top: 0;
}

/* =========================================================
   FIX: Cart title clipped from top (admin bar / safe area)
   Paste at END of base.css
========================================================= */

/* Make the cart overlay start below safe-area (and admin bar if exists) */
#tdCart.td-overlay{
  inset: auto !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  /* safe area for notches + browser UI */
  top: env(safe-area-inset-top, 0px) !important;
  height: calc(100dvh - env(safe-area-inset-top, 0px)) !important;
}

/* If user is logged in, WP admin bar covers the top */
body.admin-bar #tdCart.td-overlay{
  top: calc(env(safe-area-inset-top, 0px) + 32px) !important;
  height: calc(100dvh - env(safe-area-inset-top, 0px) - 32px) !important;
}
@media (max-width: 782px){
  body.admin-bar #tdCart.td-overlay{
    top: calc(env(safe-area-inset-top, 0px) + 46px) !important;
    height: calc(100dvh - env(safe-area-inset-top, 0px) - 46px) !important;
  }
}

/* Ensure the drawer uses the full available overlay height */
#tdCart.td-overlay .td-panel--cart{
  top: 0 !important;
  height: 100% !important;
}

/* Extra safety: give the cart header a tiny breathing room */
#tdCart .td-panel__head{
  padding-top: 18px !important;
}