/* IT Digi World – Modern WooCommerce Experience */
:root { --itdw-accent:#6ab43e; --itdw-accent-dark:#4f982a; --itdw-ink:#263342; --itdw-muted:#718096; --itdw-line:#e7ebef; --itdw-soft:#f6f8fa; }
body.itdw-modern-product .single-product div.product { color:var(--itdw-ink); }
body.itdw-modern-product .single-product div.product .woocommerce-product-gallery,
body.itdw-modern-product .single-product div.product .summary {
  background:#fff; border:1px solid var(--itdw-line); border-radius:20px; padding:clamp(18px,2.4vw,34px);
  box-shadow:0 8px 28px rgba(22,34,51,.045);
}
body.itdw-modern-product .single-product div.product .woocommerce-product-gallery { overflow:hidden; }
body.itdw-modern-product .woocommerce-product-gallery img { border-radius:12px; transition:transform .35s ease; }
body.itdw-modern-product .woocommerce-product-gallery img:hover { transform:scale(1.025); }
body.itdw-modern-product .product .summary .product_title { color:var(--itdw-ink); font-weight:700; line-height:1.22; letter-spacing:-.025em; }
body.itdw-modern-product .product .summary .price { color:#e73549; font-weight:750; font-size:clamp(26px,2.2vw,36px); margin:18px 0; }
body.itdw-modern-product .product .summary .price del { color:#98a2ad; font-size:.62em; font-weight:500; }
body.itdw-modern-product .product .summary .price ins { text-decoration:none; }
body.itdw-modern-product .product .summary .stock { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; background:#f0f9eb; border-radius:9px; color:#39821d; font-weight:650; }
body.itdw-modern-product .product .summary .stock.out-of-stock { color:#c92b3d; background:#fff0f1; }
body.itdw-modern-product .single_add_to_cart_button,
body.itdw-modern-product .itdw-sticky-buy {
  border:0!important; border-radius:12px!important; background:linear-gradient(135deg,var(--itdw-accent),var(--itdw-accent-dark))!important;
  color:#fff!important; font-weight:700!important; padding:15px 24px!important; box-shadow:0 8px 18px rgba(106,180,62,.2);
  transition:transform .2s ease,box-shadow .2s ease;
}
body.itdw-modern-product .single_add_to_cart_button:hover,
body.itdw-modern-product .itdw-sticky-buy:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(106,180,62,.28); }
body.itdw-modern-product .quantity input.qty { min-height:48px; border:1px solid #dce3e9; border-radius:10px; }
body.itdw-modern-product .woocommerce-tabs { margin-top:34px; }
body.itdw-modern-product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:8px; border:0!important; margin:0 0 0!important; padding:0!important; }
body.itdw-modern-product .woocommerce-tabs ul.tabs:before,
body.itdw-modern-product .woocommerce-tabs ul.tabs li:before,
body.itdw-modern-product .woocommerce-tabs ul.tabs li:after { display:none!important; }
body.itdw-modern-product .woocommerce-tabs ul.tabs li { background:#f1f4f6!important; border:1px solid transparent!important; border-radius:12px 12px 0 0!important; margin:0!important; padding:0!important; }
body.itdw-modern-product .woocommerce-tabs ul.tabs li a { color:#536170!important; padding:14px 22px!important; font-weight:650!important; }
body.itdw-modern-product .woocommerce-tabs ul.tabs li.active { background:#fff!important; border-color:var(--itdw-line)!important; border-bottom-color:#fff!important; }
body.itdw-modern-product .woocommerce-tabs ul.tabs li.active a { color:var(--itdw-accent-dark)!important; }
body.itdw-modern-product .woocommerce-tabs .panel { margin:0!important; padding:clamp(20px,3vw,42px)!important; border:1px solid var(--itdw-line); border-radius:0 16px 16px 16px; background:#fff; line-height:1.8; }
body.itdw-modern-product .woocommerce-tabs .panel table { border-collapse:collapse; width:100%; }
body.itdw-modern-product .woocommerce-tabs .panel table th,
body.itdw-modern-product .woocommerce-tabs .panel table td { border-bottom:1px solid var(--itdw-line); padding:13px 15px; }
body.itdw-modern-product .woocommerce-tabs .panel table th { background:var(--itdw-soft); text-align:left; }
body.itdw-modern-product .related.products,
body.itdw-modern-product .up-sells.products { margin-top:48px; }
body.itdw-modern-product .related.products > h2,
body.itdw-modern-product .up-sells.products > h2 { font-weight:750; letter-spacing:-.02em; padding-bottom:14px; border-bottom:1px solid var(--itdw-line); }
body.itdw-modern-product .related.products > h2:after,
body.itdw-modern-product .up-sells.products > h2:after { content:""; display:block; height:3px; width:120px; background:var(--itdw-accent); margin-top:13px; }
body.itdw-modern-product ul.products li.product { border:1px solid var(--itdw-line); border-radius:16px; padding:16px!important; background:#fff; transition:transform .22s ease,box-shadow .22s ease; overflow:hidden; }
body.itdw-modern-product ul.products li.product:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(22,34,51,.09); }
body.itdw-modern-product ul.products li.product img { border-radius:10px; }
body.itdw-modern-product .itdw-sticky-bar { position:fixed; z-index:9998; left:0; right:0; bottom:0; padding:12px max(18px,calc((100vw - 1280px)/2)); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); border-top:1px solid var(--itdw-line); box-shadow:0 -8px 28px rgba(20,30,45,.09); display:flex; align-items:center; justify-content:space-between; gap:20px; transform:translateY(120%); transition:transform .28s ease; }
body.itdw-modern-product .itdw-sticky-bar.is-visible { transform:translateY(0); }
body.itdw-modern-product .itdw-sticky-product { display:flex; align-items:center; gap:13px; min-width:0; }
body.itdw-modern-product .itdw-sticky-product img { width:54px; height:54px; object-fit:contain; border-radius:9px; background:var(--itdw-soft); }
body.itdw-modern-product .itdw-sticky-title { font-weight:700; max-width:48vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.itdw-modern-product .itdw-sticky-price { color:#e73549; font-weight:750; margin-top:3px; }
body.itdw-modern-product .itdw-sticky-actions { display:flex; align-items:center; gap:12px; }
body.itdw-modern-product .itdw-sticky-buy { white-space:nowrap; cursor:pointer; }
body.itdw-modern-product .itdw-sticky-stock { color:#c92b3d; font-size:13px; font-weight:700; }
.itdw-cart-overlay { position:fixed; inset:0; z-index:100000; background:rgba(15,23,35,.48); opacity:0; visibility:hidden; transition:opacity .25s,visibility .25s; }
.itdw-cart-drawer { position:fixed; z-index:100001; top:0; right:0; width:min(440px,100vw); height:100dvh; background:#fff; box-shadow:-16px 0 48px rgba(0,0,0,.16); transform:translateX(105%); transition:transform .3s ease; display:flex; flex-direction:column; }
body.itdw-cart-open .itdw-cart-overlay { opacity:1; visibility:visible; }
body.itdw-cart-open .itdw-cart-drawer { transform:translateX(0); }
body.itdw-cart-open { overflow:hidden; }
.itdw-cart-head { padding:25px 24px 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--itdw-line); }
.itdw-cart-eyebrow { font-size:10px; letter-spacing:.16em; color:var(--itdw-accent-dark); font-weight:800; }
.itdw-cart-head h2 { margin:5px 0 0; font-size:24px; color:var(--itdw-ink); }
.itdw-cart-close { border:0; background:var(--itdw-soft); border-radius:50%; width:40px; height:40px; font-size:27px; line-height:1; cursor:pointer; color:var(--itdw-ink); }
.itdw-cart-content { overflow:auto; flex:1; padding:22px 24px; }
.itdw-cart-loading { color:var(--itdw-muted); padding:20px 0; }
.itdw-cart-item { display:flex; gap:14px; padding:0 0 18px; margin-bottom:18px; border-bottom:1px solid var(--itdw-line); }
.itdw-cart-thumb { display:flex; width:84px; height:84px; flex-shrink:0; align-items:center; justify-content:center; background:var(--itdw-soft); border-radius:12px; }
.itdw-cart-thumb img { width:100%; height:100%; object-fit:contain; }
.itdw-cart-item-info { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.itdw-cart-item-title { color:var(--itdw-ink); font-weight:700; text-decoration:none; line-height:1.35; }
.itdw-cart-qty,.itdw-cart-note { color:var(--itdw-muted); font-size:13px; }
.itdw-cart-price { color:#e73549; font-weight:750; }
.itdw-cart-subtotal { display:flex; justify-content:space-between; padding:16px 0 8px; border-top:1px solid var(--itdw-line); font-size:16px; }
.itdw-cart-footer { padding:18px 24px 24px; border-top:1px solid var(--itdw-line); display:grid; gap:10px; }
.itdw-cart-view,.itdw-cart-checkout { display:flex; align-items:center; justify-content:center; text-decoration:none!important; padding:14px 16px; border-radius:11px; font-weight:700; }
.itdw-cart-view { color:var(--itdw-ink)!important; background:var(--itdw-soft); }
.itdw-cart-checkout { color:#fff!important; background:var(--itdw-accent); gap:10px; }
.itdw-cart-empty { text-align:center; padding:55px 8px; }
.itdw-cart-empty-icon { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:#eff8e9; color:var(--itdw-accent-dark); font-size:36px; }
.itdw-cart-empty h3 { margin:18px 0 7px; }
.itdw-cart-empty p { color:var(--itdw-muted); }
.itdw-cart-empty a { display:inline-block; margin-top:10px; padding:12px 17px; border-radius:10px; background:var(--itdw-accent); color:#fff; text-decoration:none; font-weight:700; }
@media(max-width:767px) {
 body.itdw-modern-product .single-product div.product .woocommerce-product-gallery,
 body.itdw-modern-product .single-product div.product .summary { border-radius:14px; padding:16px; }
 body.itdw-modern-product .woocommerce-tabs ul.tabs { gap:5px; }
 body.itdw-modern-product .woocommerce-tabs ul.tabs li a { padding:11px 12px!important; font-size:13px; }
 body.itdw-modern-product .woocommerce-tabs .panel { padding:17px!important; border-radius:0 12px 12px 12px; overflow-x:auto; }
 body.itdw-modern-product .itdw-sticky-bar { padding:10px 12px; gap:8px; }
 body.itdw-modern-product .itdw-sticky-product img { width:42px; height:42px; }
 body.itdw-modern-product .itdw-sticky-title { max-width:42vw; font-size:12px; }
 body.itdw-modern-product .itdw-sticky-price { font-size:13px; }
 body.itdw-modern-product .itdw-sticky-buy { padding:12px 13px!important; font-size:12px; }
 body.itdw-modern-product .itdw-sticky-stock { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { .itdw-cart-drawer,.itdw-cart-overlay,body.itdw-modern-product .itdw-sticky-bar { transition:none; } }
