/* ==========================================================================
   DIGIMART — SHOP STYLES
   Loads only on WooCommerce pages (shop, product, cart, checkout, account).
   This file REPLACES all three WooCommerce stylesheets.
   --------------------------------------------------------------------------
   1  Shop header + filter bar     6  Cart
   2  Product grid                 7  Checkout
   3  Single product               8  Thank you + downloads
   4  Gallery                      9  My Account
   5  Tabs / related              10  Woo notices + forms
   ========================================================================== */

/* 1 ---- Shop header + filter bar ---------------------------------------- */
.dm-shophead{padding-block:var(--dm-s5) var(--dm-s6);background:var(--dm-muted);
  border-bottom:1px solid var(--dm-border)}
.dm-shophead__title{font-size:var(--dm-t-4xl);margin-bottom:var(--dm-s3)}
.dm-shophead__desc{max-width:62ch;color:var(--dm-text-muted);font-size:var(--dm-t-lg);
  margin-bottom:var(--dm-s4)}

.dm-filterbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--dm-s3);margin-bottom:var(--dm-s6);padding-bottom:var(--dm-s4);
  border-bottom:1px solid var(--dm-border)}
.dm-filterbar__right{display:flex;align-items:center;gap:var(--dm-s3);margin-left:auto}
.dm-filterbar__count{font-size:var(--dm-t-sm);color:var(--dm-text-muted);white-space:nowrap}

.dm-pills{display:flex;flex-wrap:wrap;gap:8px}
.dm-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--dm-r-full);
  border:1px solid var(--dm-border);background:var(--dm-surface);font-size:var(--dm-t-sm);
  font-weight:500;color:var(--dm-text);transition:all var(--dm-fast) var(--dm-ease)}
.dm-pill span{font-size:11px;font-weight:700;color:var(--dm-text-muted)}
.dm-pill:hover{border-color:var(--dm-primary);color:var(--dm-primary)}
.dm-pill.is-active{background:var(--dm-grad-btn);border-color:transparent;color:#fff}
.dm-pill.is-active span{color:rgba(255,255,255,.8)}

.dm-sort{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--dm-border);
  border-radius:var(--dm-r-sm);background:var(--dm-surface)}
.dm-sort svg{color:var(--dm-text-muted);flex-shrink:0}
.dm-sort__select{border:0;background:none;font-size:var(--dm-t-sm);font-weight:500;
  color:var(--dm-text);cursor:pointer;outline:none;max-width:180px}

/* 2 ---- Product grid (WooCommerce loop wrapper) -------------------------- */
ul.products{display:grid;gap:var(--dm-s4);grid-template-columns:repeat(2,1fr);list-style:none;
  margin:0;padding:0}
@media (min-width:768px){ul.products{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){ul.products{grid-template-columns:repeat(4,1fr)}}
ul.products li.product{list-style:none;display:flex}
ul.products li.product>.dm-card{width:100%}

/* 3 ---- Single product --------------------------------------------------- */
.dm-single__grid{display:grid;gap:var(--dm-s6);align-items:start;padding-bottom:var(--dm-s7)}
@media (min-width:900px){.dm-single__grid{grid-template-columns:1fr 1fr;gap:var(--dm-s7)}}
@media (min-width:1200px){.dm-single__grid{grid-template-columns:1.05fr .95fr}}

.dm-single__summary .product_title{font-size:var(--dm-t-3xl);margin-bottom:var(--dm-s3)}
.dm-single__summary .woocommerce-product-rating{display:flex;align-items:center;gap:10px;
  margin-bottom:var(--dm-s3);font-size:var(--dm-t-sm)}
.dm-single__summary .price{display:flex;align-items:baseline;gap:12px;
  font-family:var(--dm-font-head);font-weight:700;font-size:var(--dm-t-2xl);
  color:var(--dm-ink);margin-bottom:var(--dm-s4)}
.dm-single__summary .price del{font-family:var(--dm-font-body);font-size:var(--dm-t-lg);
  font-weight:400;color:var(--dm-text-muted)}
.dm-single__summary .price ins{text-decoration:none}
.woocommerce-product-details__short-description{font-size:var(--dm-t-md);color:var(--dm-text-muted);
  line-height:var(--dm-lh-body);margin-bottom:var(--dm-s5)}
.woocommerce-product-details__short-description ul{padding-left:1.2em;margin-top:12px}
.woocommerce-product-details__short-description li{list-style:disc;margin-bottom:6px}

form.cart{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:var(--dm-s4)}
form.cart .quantity{display:none} /* digital products are always qty 1 */
.single_add_to_cart_button,button.single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:220px;
  padding:17px 34px;border:0;border-radius:var(--dm-r-md);background:var(--dm-grad-btn);
  color:#fff;font-family:var(--dm-font-body);font-size:var(--dm-t-base);font-weight:600;
  cursor:pointer;box-shadow:var(--dm-sh-glow);
  transition:transform var(--dm-base) var(--dm-ease),box-shadow var(--dm-base) var(--dm-ease)}
.single_add_to_cart_button:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(109,74,255,.45)}

.dm-single__trust{padding:var(--dm-s4) 0;border-block:1px solid var(--dm-border);margin-bottom:var(--dm-s4)}

.dm-delivery{padding:var(--dm-s4);border-radius:var(--dm-r-lg);background:var(--dm-muted);
  margin-bottom:var(--dm-s4)}
.dm-delivery h4{display:flex;align-items:center;gap:8px;font-size:var(--dm-t-sm);
  margin-bottom:12px;color:var(--dm-ink)}
.dm-delivery h4 svg{color:var(--dm-primary)}
.dm-delivery ol{counter-reset:d;display:grid;gap:8px}
.dm-delivery li{counter-increment:d;position:relative;padding-left:26px;
  font-size:var(--dm-t-sm);color:var(--dm-text-muted)}
.dm-delivery li::before{content:counter(d);position:absolute;left:0;top:1px;
  width:18px;height:18px;border-radius:var(--dm-r-full);background:var(--dm-primary);
  color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
.dm-delivery__meta{margin-top:12px;padding-top:12px;border-top:1px solid var(--dm-border);
  font-size:var(--dm-t-xs);color:var(--dm-text-muted)}

.product_meta{font-size:var(--dm-t-xs);color:var(--dm-text-muted);display:grid;gap:6px}
.product_meta a{color:var(--dm-primary)}

/* 4 ---- Gallery ---------------------------------------------------------- */
.dm-gallery{position:sticky;top:calc(var(--dm-header-h) + 24px)}
.dm-gallery__main{position:relative;border-radius:var(--dm-r-xl);overflow:hidden;
  background:var(--dm-muted);border:1px solid var(--dm-border);box-shadow:var(--dm-sh-2)}
.dm-gallery__main img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.dm-gallery__thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px;
  scrollbar-width:thin}
.dm-gallery__thumb{flex:0 0 74px;width:74px;height:74px;border-radius:var(--dm-r-sm);
  overflow:hidden;border:2px solid transparent;background:var(--dm-muted);
  transition:border-color var(--dm-fast) var(--dm-ease);cursor:pointer;padding:0}
.dm-gallery__thumb img{width:100%;height:100%;object-fit:cover}
.dm-gallery__thumb:hover{border-color:var(--dm-border)}
.dm-gallery__thumb.is-active{border-color:var(--dm-primary)}
@media (max-width:899px){.dm-gallery{position:static}}

/* 5 ---- Tabs / related --------------------------------------------------- */
.dm-single__tabs{padding-bottom:var(--dm-s7)}
.dm-producttabs{max-width:860px}
.dm-related,.dm-upsells{padding-top:var(--dm-s7);border-top:1px solid var(--dm-border);
  margin-top:var(--dm-s6)}

/* Woo review list */
#reviews .commentlist{display:grid;gap:var(--dm-s3);margin-top:var(--dm-s4)}
#reviews .comment_container{display:flex;gap:14px;padding:var(--dm-s4);
  border:1px solid var(--dm-border);border-radius:var(--dm-r-lg);background:var(--dm-surface)}
#reviews .avatar{width:44px;height:44px;border-radius:var(--dm-r-full);flex-shrink:0}
#reviews .star-rating{color:var(--dm-gold)}
#review_form .comment-form-rating{margin-bottom:var(--dm-s3)}
#review_form textarea{width:100%;padding:13px 16px;border:1px solid var(--dm-border);
  border-radius:var(--dm-r-sm);min-height:130px}

/* 6 ---- Cart -------------------------------------------------------------- */
.dm-cart{display:grid;gap:var(--dm-s5);align-items:start;padding-block:var(--dm-s6) var(--dm-s8)}
@media (min-width:1024px){.dm-cart{grid-template-columns:1.6fr .9fr;gap:var(--dm-s6)}}
.dm-cart__list{display:grid;gap:12px}
.dm-cartitem{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--dm-s3);
  padding:var(--dm-s3);border:1px solid var(--dm-border);border-radius:var(--dm-r-lg);
  background:var(--dm-surface)}
.dm-cartitem__img img{width:76px;height:76px;border-radius:var(--dm-r-sm);object-fit:cover}
.dm-cartitem__info h3{font-family:var(--dm-font-body);font-size:var(--dm-t-base);font-weight:600}
.dm-cartitem__info h3 a{color:var(--dm-ink)}
.dm-cartitem__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
.dm-cartitem__instant{display:inline-flex;align-items:center;gap:4px;font-size:var(--dm-t-xs);
  font-weight:600;color:var(--dm-success)}
.dm-cartitem__price{font-family:var(--dm-font-head);font-weight:700;font-size:var(--dm-t-lg);
  color:var(--dm-ink);white-space:nowrap}
.dm-cartitem__remove{display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:var(--dm-r-full);color:var(--dm-text-muted);
  transition:all var(--dm-fast) var(--dm-ease)}
.dm-cartitem__remove:hover{background:rgba(239,68,68,.1);color:var(--dm-danger)}
@media (max-width:639px){
  .dm-cartitem{grid-template-columns:auto 1fr auto}
  .dm-cartitem__price{grid-column:2/3;justify-self:start;font-size:var(--dm-t-base)}
}

.dm-cart__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dm-s3);margin-top:var(--dm-s4)}
.dm-coupon{display:flex;gap:8px;flex:1;min-width:260px}
.dm-coupon .dm-field{flex:1}
.dm-cart__continue{display:inline-flex;align-items:center;gap:6px;font-size:var(--dm-t-sm);
  font-weight:600;color:var(--dm-text-muted)}
.dm-cart__continue:hover{color:var(--dm-primary)}

.dm-totals{padding:var(--dm-s5);border:1px solid var(--dm-border);border-radius:var(--dm-r-xl);
  background:var(--dm-surface);box-shadow:var(--dm-sh-2);position:sticky;
  top:calc(var(--dm-header-h) + 24px)}
.dm-totals__title{font-size:var(--dm-t-lg);margin-bottom:var(--dm-s4)}
.dm-totals__row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;
  font-size:var(--dm-t-sm);color:var(--dm-text-muted);border-bottom:1px solid var(--dm-border)}
.dm-totals__row--discount{color:var(--dm-success)}
.dm-totals__row--total{border-bottom:0;padding-top:16px;font-family:var(--dm-font-head);
  font-size:var(--dm-t-xl);font-weight:700;color:var(--dm-ink)}
.dm-totals__row--total span:last-child{color:var(--dm-ink)}
.wc-proceed-to-checkout{margin-top:var(--dm-s4)}
.wc-proceed-to-checkout .checkout-button{display:flex;align-items:center;justify-content:center;
  width:100%;padding:16px;border-radius:var(--dm-r-md);background:var(--dm-grad-btn);color:#fff;
  font-size:var(--dm-t-base);font-weight:600;box-shadow:var(--dm-sh-glow)}
.wc-proceed-to-checkout .checkout-button:hover{color:#fff;transform:translateY(-2px)}
.dm-totals__trust{margin-top:var(--dm-s4);padding-top:var(--dm-s4);border-top:1px solid var(--dm-border)}
.dm-totals__trust .dm-trust{flex-direction:column;gap:10px}

/* 7 ---- Checkout ---------------------------------------------------------- */
.dm-checkout{padding-block:var(--dm-s6) var(--dm-s8)}
.dm-checkout__grid{display:grid;gap:var(--dm-s6);align-items:start}
@media (min-width:1024px){.dm-checkout__grid{grid-template-columns:1.45fr .95fr;gap:var(--dm-s7)}}
.dm-checkout__step{display:flex;align-items:center;gap:12px;margin:var(--dm-s6) 0 var(--dm-s4)}
.dm-checkout__step:first-child{margin-top:0}
.dm-checkout__num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:var(--dm-r-full);background:var(--dm-grad-btn);color:#fff;
  font-size:var(--dm-t-sm);font-weight:700;flex-shrink:0}
.dm-checkout__step h2{font-size:var(--dm-t-xl);margin:0}

.dm-checkout__fields .form-row{margin-bottom:var(--dm-s3)}
.dm-checkout__fields label{display:block;margin-bottom:6px;font-size:var(--dm-t-sm);
  font-weight:600;color:var(--dm-ink)}
.dm-checkout__fields .required{color:var(--dm-danger);text-decoration:none}
.dm-checkout__fields input[type=text],.dm-checkout__fields input[type=email],
.dm-checkout__fields input[type=tel],.dm-checkout__fields select,
.dm-checkout__fields .select2-container .select2-selection{
  width:100%;padding:13px 16px;border:1px solid var(--dm-border);border-radius:var(--dm-r-sm);
  background:var(--dm-surface);font-size:var(--dm-t-sm);height:auto}
.dm-checkout__fields input:focus,.dm-checkout__fields select:focus{outline:none;
  border-color:var(--dm-primary);box-shadow:0 0 0 3px rgba(109,74,255,.14)}
@media (min-width:640px){
  .dm-checkout__fields .form-row-first,.dm-checkout__fields .form-row-last{
    display:inline-block;width:calc(50% - 8px)}
  .dm-checkout__fields .form-row-first{margin-right:14px}
}

.dm-checkout__summary{padding:var(--dm-s5);border:1px solid var(--dm-border);
  border-radius:var(--dm-r-xl);background:var(--dm-surface);box-shadow:var(--dm-sh-2);
  position:sticky;top:calc(var(--dm-header-h) + 24px)}
.dm-checkout__summary h3{font-size:var(--dm-t-lg);margin-bottom:var(--dm-s4)}
.dm-checkout__items{display:grid;gap:14px;margin-bottom:var(--dm-s4);
  padding-bottom:var(--dm-s4);border-bottom:1px solid var(--dm-border)}
.dm-checkout__items li{display:flex;align-items:center;gap:12px}
.dm-checkout__items img{width:48px;height:48px;border-radius:var(--dm-r-sm);object-fit:cover;flex-shrink:0}
.dm-checkout__itemname{flex:1;font-size:var(--dm-t-sm);font-weight:500;line-height:1.4}
.dm-checkout__itemprice{font-size:var(--dm-t-sm);font-weight:700;white-space:nowrap}
.dm-checkout__promise{margin-top:var(--dm-s4);padding:var(--dm-s3);border-radius:var(--dm-r-md);
  background:rgba(16,185,129,.08)}
.dm-checkout__promise h4{display:flex;align-items:center;gap:7px;font-size:var(--dm-t-sm);
  color:var(--dm-ink);margin-bottom:5px}
.dm-checkout__promise h4 svg{color:var(--dm-success)}
.dm-checkout__promise p{font-size:var(--dm-t-xs);color:var(--dm-text-muted);margin:0}
.dm-checkout__summary .dm-trust{flex-direction:column;gap:9px;margin-top:var(--dm-s4)}

.dm-payment__methods{display:grid;gap:10px;margin-bottom:var(--dm-s4)}
.dm-payment__methods li{padding:var(--dm-s3) var(--dm-s4);border:1px solid var(--dm-border);
  border-radius:var(--dm-r-md);background:var(--dm-surface)}
.dm-payment__methods li input[type=radio]{margin-right:10px;accent-color:var(--dm-primary)}
.dm-payment__methods label{font-weight:600;font-size:var(--dm-t-sm);cursor:pointer}
.dm-payment__methods .payment_box{margin-top:12px;padding:12px;border-radius:var(--dm-r-sm);
  background:var(--dm-muted);font-size:var(--dm-t-xs);color:var(--dm-text-muted)}
.dm-payment__note{display:flex;align-items:center;justify-content:center;gap:7px;
  margin-top:14px;font-size:var(--dm-t-xs);color:var(--dm-text-muted);text-align:center}
.dm-payment__note svg{color:var(--dm-success)}

/* 8 ---- Thank you + downloads -------------------------------------------- */
.dm-thankyou{max-width:760px;margin-inline:auto;padding-block:var(--dm-s6) var(--dm-s8)}
.dm-thankyou__head{text-align:center;margin-bottom:var(--dm-s6)}
.dm-thankyou__icon{display:inline-flex;align-items:center;justify-content:center;
  width:72px;height:72px;border-radius:var(--dm-r-full);background:var(--dm-success);
  color:#fff;margin-bottom:var(--dm-s4);box-shadow:0 10px 34px rgba(16,185,129,.35)}
.dm-thankyou__head--fail .dm-thankyou__icon{background:var(--dm-danger);
  box-shadow:0 10px 34px rgba(239,68,68,.3)}
.dm-thankyou__head h1{font-size:var(--dm-t-3xl);margin-bottom:var(--dm-s3)}
.dm-thankyou__head p{color:var(--dm-text-muted);max-width:52ch;margin-inline:auto}

.dm-downloads{display:grid;gap:12px}
.dm-download{display:flex;align-items:center;gap:var(--dm-s3);padding:var(--dm-s4);
  border:1px solid var(--dm-border);border-radius:var(--dm-r-lg);background:var(--dm-surface);
  box-shadow:var(--dm-sh-1);transition:all var(--dm-base) var(--dm-ease)}
.dm-download:hover{box-shadow:var(--dm-sh-2);border-color:rgba(109,74,255,.3)}
.dm-download__icon{display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:var(--dm-r-md);background:rgba(109,74,255,.1);
  color:var(--dm-primary);flex-shrink:0}
.dm-download__info{flex:1;min-width:0}
.dm-download__info strong{display:block;font-size:var(--dm-t-base);font-weight:600;
  color:var(--dm-ink);margin-bottom:4px}
.dm-download__info span{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:var(--dm-t-xs);color:var(--dm-text-muted)}
@media (max-width:639px){
  .dm-download{flex-wrap:wrap}
  .dm-download .dm-btn{width:100%}
}

.dm-thankyou__meta{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--dm-s3);
  margin-block:var(--dm-s6);padding:var(--dm-s4);border-radius:var(--dm-r-lg);background:var(--dm-muted)}
@media (min-width:768px){.dm-thankyou__meta{grid-template-columns:repeat(4,1fr)}}
.dm-thankyou__meta span{display:block;font-size:var(--dm-t-xs);color:var(--dm-text-muted);margin-bottom:3px}
.dm-thankyou__meta strong{font-size:var(--dm-t-sm);color:var(--dm-ink)}
.dm-thankyou__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* 9 ---- My Account -------------------------------------------------------- */
.dm-account{display:grid;gap:var(--dm-s5);align-items:start;padding-block:var(--dm-s6) var(--dm-s8)}
@media (min-width:900px){.dm-account{grid-template-columns:270px 1fr;gap:var(--dm-s6)}}
.dm-account__nav{padding:var(--dm-s4);border:1px solid var(--dm-border);
  border-radius:var(--dm-r-xl);background:var(--dm-surface)}
.dm-account__user{display:flex;align-items:center;gap:12px;padding-bottom:var(--dm-s4);
  margin-bottom:var(--dm-s3);border-bottom:1px solid var(--dm-border)}
.dm-account__user strong{display:block;font-size:var(--dm-t-sm);color:var(--dm-ink)}
.dm-account__user span{display:block;font-size:11px;color:var(--dm-text-muted);
  overflow:hidden;text-overflow:ellipsis;max-width:150px}
.dm-account__nav ul{display:grid;gap:3px}
.dm-account__nav a{display:flex;align-items:center;gap:11px;padding:11px 13px;
  border-radius:var(--dm-r-sm);font-size:var(--dm-t-sm);font-weight:500;color:var(--dm-text)}
.dm-account__nav a:hover{background:var(--dm-muted);color:var(--dm-primary)}
.dm-account__nav li.is-active a,.dm-account__nav li.woocommerce-MyAccount-navigation-link--active a{
  background:var(--dm-grad-btn);color:#fff}
.dm-account__content{min-width:0}

.dm-dash__hello{font-size:var(--dm-t-2xl);margin-bottom:var(--dm-s2)}
.dm-dash__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--dm-s3)}
.dm-dash__card{display:grid;gap:4px;padding:var(--dm-s4);border:1px solid var(--dm-border);
  border-radius:var(--dm-r-lg);background:var(--dm-surface);transition:all var(--dm-base) var(--dm-ease)}
.dm-dash__card:hover{transform:translateY(-3px);box-shadow:var(--dm-sh-3);border-color:rgba(109,74,255,.3)}
.dm-dash__card svg{color:var(--dm-primary);margin-bottom:6px}
.dm-dash__card strong{font-family:var(--dm-font-head);font-size:var(--dm-t-2xl);color:var(--dm-ink)}
.dm-dash__card span{font-size:var(--dm-t-xs);color:var(--dm-text-muted)}

.woocommerce-orders-table,.woocommerce-table{width:100%;border-collapse:collapse;
  font-size:var(--dm-t-sm);margin-top:var(--dm-s4)}
.woocommerce-orders-table th,.woocommerce-table th{padding:12px;text-align:left;
  background:var(--dm-muted);font-weight:600;font-size:var(--dm-t-xs);
  text-transform:uppercase;letter-spacing:.06em;color:var(--dm-text-muted)}
.woocommerce-orders-table td,.woocommerce-table td{padding:14px 12px;border-bottom:1px solid var(--dm-border)}
.woocommerce-orders-table .button,.woocommerce-table .button{display:inline-flex;
  padding:8px 15px;border-radius:var(--dm-r-sm);background:var(--dm-ink);color:#fff;
  font-size:var(--dm-t-xs);font-weight:600}

/* 10 ---- WooCommerce notices + forms ------------------------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:15px 20px;
  border-radius:var(--dm-r-md);font-size:var(--dm-t-sm);margin-bottom:var(--dm-s4);
  border-left:3px solid var(--dm-primary);background:rgba(109,74,255,.07);color:var(--dm-text);
  list-style:none}
.woocommerce-message{border-left-color:var(--dm-success);background:rgba(16,185,129,.08)}
.woocommerce-error{border-left-color:var(--dm-danger);background:rgba(239,68,68,.07)}
.woocommerce-error li{list-style:none}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto;
  display:inline-flex;padding:9px 18px;border-radius:var(--dm-r-sm);
  background:var(--dm-ink);color:#fff;font-size:var(--dm-t-xs);font-weight:600}
.woocommerce-message .button:hover,.woocommerce-info .button:hover{color:#fff}

/* Login / register forms */
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,
.woocommerce-EditAccountForm{max-width:460px;margin-inline:auto;padding:var(--dm-s5);
  border:1px solid var(--dm-border);border-radius:var(--dm-r-xl);background:var(--dm-surface);
  box-shadow:var(--dm-sh-2)}
.woocommerce-EditAccountForm{max-width:560px;margin-inline:0}
.woocommerce-form-login label,.woocommerce-form-register label,
.woocommerce-EditAccountForm label{display:block;margin-bottom:6px;
  font-size:var(--dm-t-sm);font-weight:600;color:var(--dm-ink)}
.woocommerce-form-login input,.woocommerce-form-register input,
.woocommerce-EditAccountForm input{width:100%;padding:13px 16px;margin-bottom:var(--dm-s3);
  border:1px solid var(--dm-border);border-radius:var(--dm-r-sm);font-size:var(--dm-t-sm)}
.woocommerce-form-login button,.woocommerce-form-register button,
.woocommerce-EditAccountForm button{width:100%;padding:15px;border:0;border-radius:var(--dm-r-md);
  background:var(--dm-grad-btn);color:#fff;font-size:var(--dm-t-base);font-weight:600;
  cursor:pointer;box-shadow:var(--dm-sh-glow)}
.woocommerce-form-login__rememberme{display:flex;align-items:center;gap:8px;
  font-size:var(--dm-t-sm);margin-bottom:var(--dm-s3)}
.woocommerce-form-login__rememberme input{width:auto;margin:0}
.woocommerce-LostPassword{margin-top:var(--dm-s3);font-size:var(--dm-t-sm);text-align:center}

/* Woo's star rating font (kept — it is CSS only, no extra file) */
.star-rating{position:relative;display:inline-block;width:5.4em;height:1.2em;
  font-family:star;line-height:1;font-size:14px;color:var(--dm-gold);overflow:hidden}
.star-rating::before{content:"\73\73\73\73\73";float:left;top:0;left:0;position:absolute;opacity:.28}
.star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}
.star-rating span::before{content:"\53\53\53\53\53";top:0;position:absolute;left:0}

/* ---- Mobile sticky buy bar (built by shop.js) --------------------------- */
.dm-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:var(--dm-z-sticky);
  display:flex;align-items:center;gap:var(--dm-s3);padding:12px 16px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
  border-top:1px solid var(--dm-border);box-shadow:0 -6px 26px rgba(26,18,64,.1);
  transform:translateY(110%);transition:transform var(--dm-slow) var(--dm-ease)}
.dm-stickybar.is-in{transform:none}
.dm-stickybar__info{flex:1;min-width:0}
.dm-stickybar__info strong{display:block;font-size:var(--dm-t-xs);font-weight:600;
  color:var(--dm-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-stickybar__info span{display:block;font-family:var(--dm-font-head);font-weight:700;
  font-size:var(--dm-t-base);color:var(--dm-ink)}
.dm-stickybar__info del{font-size:var(--dm-t-xs);font-weight:400;color:var(--dm-text-muted)}
.dm-stickybar .dm-btn{flex-shrink:0}
@media (min-width:900px){.dm-stickybar{display:none}}


/* ---- Checkout order table (main column) -------------------------------- */
.dm-ordertable{width:100%;border-collapse:collapse;margin-bottom:var(--dm-s5);
  border:1px solid var(--dm-border);border-radius:var(--dm-r-lg);overflow:hidden}
.dm-ordertable th,.dm-ordertable td{padding:14px 16px;text-align:left;
  border-bottom:1px solid var(--dm-border);font-size:var(--dm-t-sm);vertical-align:middle}
.dm-ordertable thead th{background:var(--dm-muted);font-size:var(--dm-t-xs);
  text-transform:uppercase;letter-spacing:.08em;color:var(--dm-text-muted);font-weight:700}
.dm-ordertable td.product-total,.dm-ordertable tfoot td{text-align:right;white-space:nowrap}
.dm-ordertable__item{display:flex;align-items:center;gap:12px}
.dm-ordertable__item img{width:46px;height:46px;border-radius:var(--dm-r-sm);
  object-fit:cover;flex-shrink:0}
.dm-ordertable__item span{font-weight:500;color:var(--dm-ink);line-height:1.4}
.dm-ordertable tfoot th{font-weight:500;color:var(--dm-text-muted);background:none}
.dm-ordertable tfoot tr.order-total th,.dm-ordertable tfoot tr.order-total td{
  font-family:var(--dm-font-head);font-weight:700;font-size:var(--dm-t-lg);
  color:var(--dm-ink);border-bottom:0;background:var(--dm-muted)}
.dm-ordertable tfoot tr.cart-discount th,.dm-ordertable tfoot tr.cart-discount td{color:var(--dm-success)}

/* ---- Checkout sidebar help box ----------------------------------------- */
.dm-checkout__help{margin-top:var(--dm-s4);padding-top:var(--dm-s4);
  border-top:1px solid var(--dm-border)}
.dm-checkout__help strong{display:block;font-size:var(--dm-t-sm);color:var(--dm-ink);margin-bottom:5px}
.dm-checkout__help p{font-size:var(--dm-t-xs);color:var(--dm-text-muted);margin:0}

/* Woo's terms checkbox */
.woocommerce-terms-and-conditions-wrapper{margin-bottom:var(--dm-s3);font-size:var(--dm-t-xs);
  color:var(--dm-text-muted)}
.woocommerce-privacy-policy-text p{font-size:var(--dm-t-xs);color:var(--dm-text-muted)}
.validate-required .woocommerce-terms-and-conditions-checkbox-text{font-size:var(--dm-t-sm);color:var(--dm-text)}
