/* Presentation presets. Native forms, labels, validation and payment controls remain intact. */
.dhsd-unified { --ds-surface:#fff; --ds-line:var(--dhsd-border); --ds-round:12px; --ds-space:24px; --ds-shadow:none; }
.dhsd-layout-botanical { --ds-surface:var(--dhsd-bg); --ds-round:22px; --ds-space:30px; --ds-shadow:0 12px 36px #203a2910; }
.dhsd-layout-editorial { --ds-round:2px; --ds-space:32px; }
.dhsd-unified :is(.woocommerce,.wc-block-cart,.wc-block-checkout) { font-family:var(--dhsd-body); color:var(--dhsd-text); }
.dhsd-unified :is(.woocommerce,.wc-block-cart,.wc-block-checkout) :is(h1,h2,h3) { font-family:var(--dhsd-heading); font-weight:600; line-height:1.25; }
.dhsd-unified :is(a,button,input,select,textarea):focus-visible { outline:2px solid var(--dhsd-primary); outline-offset:3px; }
.dhsd-unified :is(.woocommerce,.wc-block-cart,.wc-block-checkout) :is(button.button,a.button,input.button,.wc-block-components-button) { background:var(--dhsd-primary); color:#fff; border-radius:var(--ds-round); min-height:48px; padding:12px 22px; font:600 15px/1.4 var(--dhsd-body); text-decoration:none; }
.dhsd-unified :is(button,a).button:disabled { opacity:.5; cursor:not-allowed; }
.dhsd-unified :is(.woocommerce-error,.woocommerce-message,.woocommerce-info) { border-radius:var(--ds-round); line-height:1.6; }

/* SHOP: three genuinely distinct card treatments, retaining merchant grid choices. */
.dhsd-layout-minimal.dhsd-shop-active ul.products li.product { padding:0 0 18px !important; box-shadow:none; border-color:var(--ds-line); border-radius:12px; }
.dhsd-layout-minimal.dhsd-shop-active ul.products li.product:hover { transform:translateY(-2px); box-shadow:0 8px 24px #00000008; }
.dhsd-layout-minimal.dhsd-shop-active .woocommerce-loop-product__title { font-size:20px !important; line-height:1.4 !important; }
.dhsd-layout-minimal .dhsd-card-button { margin:0 12px; background:#fff; border-radius:8px; }
.dhsd-layout-editorial.dhsd-shop-active ul.products { gap:42px 30px !important; }
.dhsd-layout-editorial.dhsd-shop-active ul.products li.product { padding:0 0 20px !important; border:0; border-bottom:1px solid var(--ds-line); border-radius:0; box-shadow:none; }
.dhsd-layout-editorial.dhsd-shop-active ul.products li.product:hover { transform:none; box-shadow:none; }
.dhsd-layout-editorial.dhsd-shop-active ul.products li.product .ct-image-container { border-radius:0; }
.dhsd-layout-editorial.dhsd-shop-active .woocommerce-loop-product__title { font-size:25px !important; line-height:1.35 !important; }
.dhsd-layout-editorial .dhsd-card-button { background:transparent; border:0; border-top:1px solid var(--ds-line); border-radius:0; }
.dhsd-layout-editorial .dhsd-shop-hero { background:#fff; border:0; border-bottom:1px solid var(--ds-line); border-radius:0; padding-inline:0; }
.dhsd-layout-editorial .dhsd-shop-hero:after { display:none; }
.dhsd-layout-botanical.dhsd-shop-active ul.products li.product { padding:12px 12px 20px !important; background:var(--ds-surface); border-radius:24px; box-shadow:var(--ds-shadow); }
.dhsd-layout-botanical.dhsd-shop-active ul.products li.product :is(.ct-image-container,.ct-media-container,figure) { border-radius:24px !important; overflow:hidden; }
.dhsd-layout-botanical.dhsd-shop-active ul.products li.product img { border-radius:24px !important; }
.dhsd-layout-botanical .dhsd-card-button { background:var(--dhsd-primary); color:#fff !important; border-radius:30px; }
.dhsd-layout-botanical .dhsd-shop-hero { text-align:center; background:var(--ds-surface); border-radius:26px; }
.dhsd-layout-botanical .dhsd-shop-hero :is(h1,p) { margin-inline:auto; }

/* PRODUCT: quiet / open editorial / framed botanical summary. */
.dhsd-layout-minimal.dhsd-product-active .product_title { font-size:clamp(28px,3vw,40px) !important; line-height:1.25 !important; }
.dhsd-layout-minimal.dhsd-product-active .woocommerce-product-details__short-description { padding:0; border:0; background:none; }
.dhsd-layout-editorial.dhsd-product-active div.product .woocommerce-product-gallery { padding:0; border:0; border-radius:0; }
.dhsd-layout-editorial.dhsd-product-active div.product .woocommerce-product-gallery img { border-radius:0; }
.dhsd-layout-editorial.dhsd-product-active .summary { border-top:2px solid var(--dhsd-primary); }
.dhsd-layout-editorial.dhsd-product-active .product_title { font-size:clamp(30px,3.6vw,46px) !important; }
.dhsd-layout-editorial.dhsd-product-active .woocommerce-product-details__short-description { background:none; padding:18px 0; border:0; border-block:1px solid var(--ds-line); }
.dhsd-layout-botanical.dhsd-product-active div.product .summary { box-sizing:border-box; padding:var(--ds-space); background:var(--ds-surface); border:1px solid var(--ds-line); border-radius:var(--ds-round); box-shadow:var(--ds-shadow); }
.dhsd-layout-botanical.dhsd-product-active .product_title { font-size:clamp(28px,3vw,40px) !important; }

/* CART + CHECKOUT: both classic shortcode and block markup. */
.dhsd-unified:is(.dhsd-page-cart,.dhsd-page-checkout) :is(.cart_totals,#order_review,.wc-block-components-sidebar,.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) { box-sizing:border-box; padding:var(--ds-space); background:var(--ds-surface); border:1px solid var(--ds-line); border-radius:var(--ds-round); box-shadow:var(--ds-shadow); }
.dhsd-unified:is(.dhsd-page-cart,.dhsd-page-checkout) :is(table.shop_table,.wc-block-cart-items) { border-color:var(--ds-line); border-radius:var(--ds-round); background:#fff; }
.dhsd-unified:is(.dhsd-page-cart,.dhsd-page-checkout) table.shop_table :is(th,td) { padding:18px 14px; vertical-align:middle; border-color:var(--ds-line); }
.dhsd-unified.dhsd-page-cart .product-thumbnail img { width:88px; border-radius:10px; }
.dhsd-unified.dhsd-page-cart .product-name a { color:var(--dhsd-text); font-weight:600; }
.dhsd-unified.dhsd-page-cart .coupon { display:flex; gap:10px; flex-wrap:wrap; }
.dhsd-unified.dhsd-page-cart .coupon input { width:auto !important; min-width:140px; flex:1; }
.dhsd-unified.dhsd-page-cart .cart_totals h2 { font-size:26px; }
.dhsd-unified.dhsd-page-cart .wc-proceed-to-checkout a { display:block; text-align:center; }
.dhsd-unified.dhsd-page-checkout form.checkout #customer_details { float:none; width:100%; }
.dhsd-unified.dhsd-page-checkout #customer_details :is(.col-1,.col-2) { float:none; width:100%; }
.dhsd-unified.dhsd-page-checkout #customer_details .col-2 { margin-top:20px; }
.dhsd-unified.dhsd-page-checkout .woocommerce-additional-fields { margin-top:20px; }
.dhsd-unified.dhsd-page-checkout #order_review { float:none; width:100%; min-width:0; }
.dhsd-unified.dhsd-page-checkout #order_review_heading { font-size:28px; }
.dhsd-unified:is(.dhsd-page-cart,.dhsd-page-checkout,.dhsd-page-account) .woocommerce :is(input.input-text,textarea,select) { box-sizing:border-box; max-width:100%; min-height:48px; border:1px solid var(--ds-line); border-radius:8px; background:#fff; padding:12px; color:var(--dhsd-text); font:inherit; }
.dhsd-unified.dhsd-page-checkout .form-row label { display:block; margin-bottom:7px; font-size:14px; font-weight:600; }
.dhsd-unified.dhsd-page-checkout #payment { background:transparent; border-radius:var(--ds-round); }
.dhsd-unified.dhsd-page-checkout #payment ul.payment_methods { padding:16px 0; }
.dhsd-unified.dhsd-page-checkout #payment .payment_box { background:var(--dhsd-bg); color:var(--dhsd-text); line-height:1.6; }
.dhsd-unified.dhsd-page-checkout #place_order { width:100%; min-height:54px; }
.dhsd-unified.dhsd-page-checkout .woocommerce-privacy-policy-text { font-size:13px; line-height:1.7; }
.dhsd-unified :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-title { font-family:var(--dhsd-heading); font-weight:600; }
.dhsd-unified :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-totals-item { padding-block:16px; }
.dhsd-unified :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-text-input input { border-radius:8px; border-color:var(--ds-line); }
.dhsd-unified :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-checkout-step { margin-bottom:28px; }
.dhsd-layout-editorial:is(.dhsd-page-cart,.dhsd-page-checkout) :is(.cart_totals,#order_review,.wc-block-components-sidebar,.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) { background:#fff; border:0; border-top:2px solid var(--dhsd-primary); border-radius:0; box-shadow:none; }
.dhsd-layout-editorial.dhsd-page-cart .cart_totals { float:none; width:100%; }
.dhsd-layout-editorial.dhsd-page-checkout form.checkout { max-width:860px; margin-inline:auto; }
.dhsd-layout-botanical:is(.dhsd-page-cart,.dhsd-page-checkout) :is(.cart_totals,#order_review,.wc-block-components-sidebar) { border-top:4px solid var(--dhsd-primary); }

/* My Account: same surfaces, navigation and readable forms. */
.dhsd-unified.dhsd-page-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:12px; border:1px solid var(--ds-line); border-radius:var(--ds-round); background:var(--ds-surface); }
.dhsd-unified.dhsd-page-account .woocommerce-MyAccount-navigation a { display:block; padding:14px 16px; border-radius:8px; color:var(--dhsd-text); text-decoration:none; }
.dhsd-unified.dhsd-page-account .woocommerce-MyAccount-navigation .is-active a { background:var(--dhsd-primary); color:#fff; }
.dhsd-unified.dhsd-page-account :is(.woocommerce-MyAccount-content,form.login,form.register) { box-sizing:border-box; padding:var(--ds-space); border:1px solid var(--ds-line); border-radius:var(--ds-round); background:var(--ds-surface); }
.dhsd-layout-editorial.dhsd-page-account :is(.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation ul) { border:0; border-top:2px solid var(--dhsd-primary); }

@media(min-width:1000px) {
 .dhsd-unified.dhsd-page-checkout:not(.dhsd-layout-editorial) form.checkout::before,.dhsd-unified.dhsd-page-checkout:not(.dhsd-layout-editorial) form.checkout::after { display:none; }
 .dhsd-unified.dhsd-page-checkout:not(.dhsd-layout-editorial) form.checkout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); column-gap:36px; align-items:start; }
 .dhsd-unified.dhsd-page-checkout:not(.dhsd-layout-editorial) form.checkout #customer_details { grid-column:1; grid-row:1 / span 2; }
 .dhsd-unified.dhsd-page-checkout:not(.dhsd-layout-editorial) form.checkout #order_review_heading { grid-column:2; margin-top:0; }
 .dhsd-unified.dhsd-page-checkout:not(.dhsd-layout-editorial) form.checkout #order_review { grid-column:2; }
 .dhsd-unified.dhsd-page-checkout:not(.dhsd-layout-editorial) form.checkout > :not(#customer_details):not(#order_review):not(#order_review_heading) { grid-column:1 / -1; }
 .dhsd-layout-botanical.dhsd-page-cart .cart_totals { width:55%; }
}
@media(max-width:999px) {
 .dhsd-unified { --ds-space:20px; }
 .dhsd-unified.dhsd-page-checkout form.checkout { display:block; }
 .dhsd-unified.dhsd-page-checkout #order_review_heading { margin-top:28px; }
 .dhsd-unified.dhsd-page-cart .cart_totals { width:100%; float:none; }
}
@media(max-width:600px) {
 .dhsd-unified { --ds-space:16px; }
 .dhsd-unified.dhsd-page-checkout .form-row { width:100%; float:none; }
 .dhsd-unified:is(.dhsd-page-cart,.dhsd-page-checkout) table.shop_table :is(th,td) { padding:12px 8px; overflow-wrap:anywhere; }
 .dhsd-unified.dhsd-page-cart .coupon { flex-direction:column; }
 .dhsd-unified.dhsd-page-cart .coupon :is(input,button) { width:100% !important; }
 .dhsd-unified.dhsd-shop-active .woocommerce-loop-product__title { font-size:19px !important; overflow-wrap:anywhere; }
 .dhsd-unified.dhsd-product-active .product_title { font-size:29px !important; overflow-wrap:anywhere; }
 .dhsd-unified.dhsd-page-account .woocommerce-MyAccount-content { margin-top:20px; }
}
