/* Dr. Hasan Store Designer — scoped WooCommerce presentation */
.dhsd-shop-active .site-main,
.dhsd-product-active .site-main { color: var(--dhsd-text); font-family: var(--dhsd-body); }
.dhsd-shop-active h1,.dhsd-shop-active h2,.dhsd-product-active h1,.dhsd-product-active h2,.dhsd-product-active h3 { font-family:var(--dhsd-heading) !important; color:var(--dhsd-text); letter-spacing:-.018em; font-weight:600; }
.dhsd-eyebrow,.dhsd-product-eyebrow { display: inline-flex; align-items:center; gap:8px; color:var(--dhsd-primary); font:700 12px/1.2 var(--dhsd-body); letter-spacing:.12em; text-transform:uppercase; }
.dhsd-eyebrow:before,.dhsd-product-eyebrow:before { content:""; width:28px; height:2px; background:var(--dhsd-secondary); }

/* Suppress the default oversized Blocksy archive title only when our hero is present. */
.dhsd-shop-active .hero-section[data-type="type-1"] { min-height:0; padding:24px 0; background:var(--dhsd-bg); }
.dhsd-shop-active .hero-section .page-title { font-size:clamp(30px,4vw,48px); }
.dhsd-shop-hero { clear:both; margin:0 0 34px; padding:clamp(34px,6vw,70px); border-radius:calc(var(--dhsd-radius) + 8px); background:linear-gradient(120deg,var(--dhsd-bg),#fff); border:1px solid var(--dhsd-border); position:relative; overflow:hidden; }
.dhsd-shop-hero:after { content:""; position:absolute; width:260px; height:260px; right:-90px; top:-120px; border:44px solid color-mix(in srgb,var(--dhsd-secondary) 15%,transparent); border-radius:50%; pointer-events:none; }
.dhsd-shop-hero h1 { position:relative; z-index:1; max-width:760px; margin:14px 0 14px; font-size:clamp(34px,5vw,62px); line-height:1.03; }
.dhsd-shop-hero>p { position:relative; z-index:1; max-width:700px; margin:0; font-size:clamp(16px,2vw,19px); line-height:1.7; color:color-mix(in srgb,var(--dhsd-text) 75%,white); }
.dhsd-trust-strip { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:32px; padding-top:24px; border-top:1px solid var(--dhsd-border); }
.dhsd-trust-strip span { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:650; }
.dhsd-trust-strip i,.dhsd-assurance i { display:grid; place-items:center; flex:0 0 24px; height:24px; border-radius:50%; background:var(--dhsd-primary); color:#fff; font-style:normal; font-size:12px; }

/* Toolbar */
.dhsd-shop-active .woocommerce-notices-wrapper + .dhsd-shop-hero { margin-top:0; }
.dhsd-shop-active .woocommerce-result-count { color:#667069; font-size:13px; font-weight:650; text-transform:uppercase; letter-spacing:.07em; }
.dhsd-shop-active .woocommerce-ordering select { min-height:46px; padding:0 42px 0 16px; border:1px solid var(--dhsd-border); border-radius:12px; background-color:#fff; color:var(--dhsd-text); }

/* Cards — supports standard WooCommerce and Blocksy loop markup. */
.dhsd-shop-active ul.products { display:grid !important; grid-template-columns:repeat(var(--dhsd-desktop-cols),minmax(0,1fr)) !important; gap:30px 22px !important; align-items:stretch; }
.dhsd-shop-active ul.products:before,.dhsd-shop-active ul.products:after { display:none !important; }
.dhsd-shop-active ul.products li.product { display:flex !important; flex-direction:column; width:auto !important; height:100%; margin:0 !important; min-width:0; padding:10px 10px 12px !important; border:1px solid color-mix(in srgb,var(--dhsd-border) 82%,white); border-radius:var(--dhsd-radius); background:#fff; box-shadow:0 8px 30px rgba(31,42,34,.055); overflow:hidden; transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.dhsd-shop-active ul.products li.product:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--dhsd-primary) 24%,var(--dhsd-border)); box-shadow:0 18px 44px rgba(31,42,34,.11); }
.dhsd-shop-active ul.products li.product .ct-image-container,.dhsd-shop-active ul.products li.product>a:first-child img { border-radius:calc(var(--dhsd-radius) - 5px); overflow:hidden; aspect-ratio:1/1; object-fit:cover; }
.dhsd-shop-active ul.products li.product img { width:100%; transition:transform .45s ease; }
.dhsd-shop-active ul.products li.product:hover img { transform:scale(1.035); }
.dhsd-card-category { display:block; margin:18px 10px 8px; color:var(--dhsd-primary); font-size:10px; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.dhsd-shop-active ul.products li.product .product-categories,
.dhsd-shop-active ul.products li.product .entry-meta,
.dhsd-shop-active ul.products li.product [class*="product-category"]:not(.dhsd-card-category) { display:none !important; }
.dhsd-shop-active .woocommerce-loop-product__title { margin:0 10px 8px !important; font-family:var(--dhsd-heading) !important; font-size:clamp(19px,1.8vw,23px) !important; font-weight:600 !important; line-height:1.28 !important; letter-spacing:-.015em !important; color:var(--dhsd-text) !important; }
.dhsd-shop-active .woocommerce-loop-product__link:hover .woocommerce-loop-product__title { color:var(--dhsd-primary) !important; }
.dhsd-card-excerpt { display:-webkit-box; min-height:3.1em; margin:0 10px 15px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; color:#6b746d; font-size:13px; line-height:1.55; }
.dhsd-shop-active ul.products li.product .price { margin:auto 10px 15px !important; padding-top:6px; color:var(--dhsd-secondary) !important; font-size:17px !important; font-weight:750; }
.dhsd-shop-active ul.products li.product>.button,
.dhsd-shop-active ul.products li.product>.added_to_cart { display:none !important; }
.dhsd-card-button { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; margin:0 2px; padding:0 17px; border:1px solid color-mix(in srgb,var(--dhsd-primary) 22%,var(--dhsd-border)); border-radius:calc(var(--dhsd-radius) - 5px); background:var(--dhsd-bg); color:var(--dhsd-primary) !important; font-size:13px; font-weight:750; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.dhsd-card-button i { font:400 20px/1 var(--dhsd-body); transition:transform .2s ease; }
.dhsd-card-button:hover { border-color:var(--dhsd-primary); background:var(--dhsd-primary); color:#fff !important; }
.dhsd-card-button:hover i { transform:translateX(3px); }

/* Single product */
.dhsd-product-active div.product { --theme-link-hover-color:var(--dhsd-primary); }
.dhsd-product-active div.product .woocommerce-product-gallery { padding:10px; border:1px solid var(--dhsd-border); border-radius:calc(var(--dhsd-radius) + 4px); background:#fff; }
.dhsd-product-active div.product .woocommerce-product-gallery img { border-radius:var(--dhsd-radius); }
.dhsd-product-active div.product .summary { padding:clamp(10px,2vw,28px) 0; }
.dhsd-product-eyebrow { margin-bottom:15px; }
.dhsd-product-active .product_title { margin:0 0 16px !important; max-width:720px; font-family:var(--dhsd-heading) !important; font-size:clamp(36px,4vw,56px) !important; font-weight:600 !important; line-height:1.12 !important; letter-spacing:-.025em !important; text-wrap:balance; }
.dhsd-product-active .summary>.price { display:block; margin:18px 0 24px !important; color:var(--dhsd-secondary) !important; font-size:clamp(24px,3vw,32px) !important; font-weight:750; }
.dhsd-product-active .woocommerce-product-details__short-description { margin:0 0 24px; padding:20px 22px; border-left:3px solid var(--dhsd-secondary); background:var(--dhsd-bg); border-radius:0 12px 12px 0; color:#59635c; line-height:1.75; }
.dhsd-product-active table.variations { margin:0 0 16px; }
.dhsd-product-active table.variations th,.dhsd-product-active table.variations td { display:block; width:100%; padding:0 0 8px; }
.dhsd-product-active table.variations label { font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.dhsd-product-active table.variations select { min-height:52px; width:100%; border:1px solid var(--dhsd-border); border-radius:12px; background:#fff; }
.dhsd-product-active form.cart { gap:10px; }
.dhsd-product-active form.cart .quantity { border:1px solid var(--dhsd-border); border-radius:11px; min-height:52px; }
.dhsd-product-active form.cart .single_add_to_cart_button { min-height:52px; padding:0 32px !important; border-radius:11px !important; background:var(--dhsd-primary) !important; color:#fff !important; font-weight:750 !important; }
.dhsd-product-active form.cart .single_add_to_cart_button:hover { background:color-mix(in srgb,var(--dhsd-primary) 85%,black) !important; }
.dhsd-assurance { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0; padding:18px; border:1px solid var(--dhsd-border); border-radius:var(--dhsd-radius); background:#fff; }
.dhsd-assurance span { display:flex; align-items:center; gap:8px; color:#59635c; font-size:12px; font-weight:650; line-height:1.35; }
.dhsd-product-active .product_meta { margin-top:20px; padding-top:20px; border-top:1px solid var(--dhsd-border); color:#727b74; }
.dhsd-product-active .woocommerce-tabs {
 box-sizing:border-box;
 clear:both;
 grid-column:1 / -1;
 width:100% !important;
 max-width:var(--theme-normal-container-max-width,1290px) !important;
 margin:70px auto 0 !important;
 padding:clamp(16px,3vw,32px) !important;
 border:1px solid var(--dhsd-border);
 border-radius:var(--dhsd-radius);
 background:#fff;
 min-width:0;
}
.dhsd-product-active .woocommerce-tabs ul.tabs { gap:8px; border-bottom:1px solid var(--dhsd-border) !important; }
.dhsd-product-active .woocommerce-tabs ul.tabs li a { padding:14px 18px !important; border-radius:10px 10px 0 0; font-weight:700; }
.dhsd-product-active .woocommerce-tabs ul.tabs li.active a { background:var(--dhsd-bg); color:var(--dhsd-primary) !important; }
.dhsd-product-active .woocommerce-Tabs-panel { box-sizing:border-box; width:100% !important; max-width:100% !important; margin-inline:0 !important; padding:24px 0 0 !important; font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.dhsd-product-active .woocommerce-Tabs-panel .alignfull,
.dhsd-product-active .woocommerce-Tabs-panel .alignwide { box-sizing:border-box; width:100% !important; max-width:100% !important; margin-inline:0 !important; left:auto; right:auto; }
.dhsd-product-active .woocommerce-Tabs-panel :is(img,video,iframe) { max-width:100%; }
.dhsd-product-active .woocommerce-Tabs-panel h2 { font-size:clamp(26px,3vw,38px); }
.dhsd-product-active .related.products { display:none !important; }

/* Consultation CTA */
.dhsd-consultation { clear:both; display:flex; align-items:center; justify-content:space-between; gap:32px; margin:60px 0 20px; padding:clamp(30px,5vw,56px); border-radius:calc(var(--dhsd-radius) + 8px); color:#fff; background:linear-gradient(130deg,var(--dhsd-primary),color-mix(in srgb,var(--dhsd-primary) 74%,black)); box-shadow:0 20px 50px color-mix(in srgb,var(--dhsd-primary) 20%,transparent); }
.dhsd-consultation .dhsd-eyebrow { color:#fff; opacity:.85; }
.dhsd-consultation h2 { margin:10px 0 8px; color:#fff; font-size:clamp(28px,4vw,44px); }
.dhsd-consultation p { max-width:690px; margin:0; color:rgba(255,255,255,.78); font-size:16px; line-height:1.65; }
.dhsd-button { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:0 24px; border-radius:12px; background:var(--dhsd-secondary); color:#fff !important; font-weight:750; white-space:nowrap; box-shadow:0 10px 25px rgba(0,0,0,.12); }
.dhsd-button:hover { transform:translateY(-2px); color:#fff; }

@media (max-width: 999px) {
	.dhsd-shop-active ul.products { grid-template-columns:repeat(var(--dhsd-tablet-cols),minmax(0,1fr)) !important; }
	.dhsd-trust-strip { grid-template-columns:1fr; }
	.dhsd-assurance { grid-template-columns:1fr; }
	.dhsd-consultation { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 689px) {
	.dhsd-shop-hero { margin-left:-10px; margin-right:-10px; padding:30px 24px; border-radius:16px; }
	.dhsd-shop-hero h1 { font-size:35px; }
	.dhsd-shop-active ul.products { grid-template-columns:repeat(var(--dhsd-mobile-cols),minmax(0,1fr)) !important; gap:18px 12px !important; }
	.dhsd-shop-active ul.products li.product { padding:9px 9px 14px !important; }
	.dhsd-card-category { margin-top:12px; }
	.dhsd-card-subtitle { min-height:0; }
	.dhsd-consultation { margin-top:40px; padding:30px 24px; }
	.dhsd-button { width:100%; }
	.dhsd-product-active .product_title { font-size:34px !important; }
	.dhsd-product-active .woocommerce-tabs { margin-top:40px !important; }
	.dhsd-product-active .woocommerce-tabs ul.tabs { overflow-x:auto; flex-wrap:nowrap !important; }
	.dhsd-product-active .woocommerce-tabs ul.tabs li { flex:0 0 auto; }
	.dhsd-sticky-cart form.cart { position:sticky; bottom:8px; z-index:50; padding:10px; border:1px solid var(--dhsd-border); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:0 14px 40px rgba(0,0,0,.16); backdrop-filter:blur(10px); }
}
@media (prefers-reduced-motion: reduce) {
	.dhsd-shop-active *,.dhsd-product-active * { scroll-behavior:auto !important; transition:none !important; }
}
