/* Approved Concept A. Native gallery, forms, variation, stock and tabs retained. */
body.pharmacy-single { --theme-palette-color-1:var(--primary); --theme-palette-color-2:var(--navy); --theme-button-text-initial-color:var(--white); --theme-button-text-hover-color:var(--white); --theme-form-field-border-initial-color:var(--border); --theme-form-field-border-focus-color:var(--primary); }
body.pharmacy-single #main > [class*="ct-container"] { display:block; padding-block:22px 56px; }
body.pharmacy-single .is-width-constrained { inline-size:100%; max-inline-size:none; margin-inline:0; }
body.pharmacy-single .pharmacy-product-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-block-end:22px; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
body.pharmacy-single #main .product-entry-wrapper { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(280px,320px); grid-template-rows:auto auto auto 1fr; align-items:start; gap:14px 28px; padding:28px; background:var(--white); border:1px solid var(--border); border-radius:14px; margin-block-end:36px; }
body.pharmacy-single #main .product-entry-wrapper > .summary { display:contents; }
body.pharmacy-single #main .product-entry-wrapper > *,body.pharmacy-single .summary > * { min-inline-size:0; }
body.pharmacy-single .summary > * { grid-column:2; margin:0; }
body.pharmacy-single .summary > .product_title { grid-row:1; font-size:25px; line-height:1.8; font-weight:800; color:var(--navy); overflow-wrap:anywhere; }
body.pharmacy-single .summary > .woocommerce-product-details__short-description { grid-row:2; font-size:13px; line-height:2; color:var(--muted); }
body.pharmacy-single .woocommerce-product-details__short-description p { margin:0; }
body.pharmacy-single .pharmacy-quick-specs { grid-row:3; font-size:13px; }
body.pharmacy-single .pharmacy-quick-specs dl { margin:0 0 16px; }
body.pharmacy-single .pharmacy-quick-specs dl > div { display:flex; align-items:start; justify-content:space-between; gap:16px; padding-block:12px; border-block-end:1px solid var(--border); }
body.pharmacy-single .pharmacy-quick-specs dt { font-weight:400; color:var(--muted); }
body.pharmacy-single .pharmacy-quick-specs dd { margin:0; text-align:end; color:var(--navy); }
body.pharmacy-single .pharmacy-quick-specs a { display:inline-flex; align-items:center; min-block-size:44px; color:var(--primary); text-decoration:underline; text-underline-offset:5px; }
body.pharmacy-single .product_meta { grid-row:4; display:flex; flex-direction:column; gap:8px; font-size:12px; color:var(--muted); line-height:2; }
body.pharmacy-single .woocommerce-product-rating { font-size:12px; }
body.pharmacy-single #main .woocommerce-product-gallery { grid-column:1; grid-row:1 / span 6; position:relative; inline-size:100%; max-inline-size:100%; margin:0; padding:20px 12px; background:var(--white); border:0; border-radius:12px; }
body.pharmacy-single #main .woocommerce-product-gallery__wrapper { margin:0; }
body.pharmacy-single #main .woocommerce-product-gallery__image img { inline-size:100%; block-size:auto; aspect-ratio:1; max-block-size:390px; object-fit:contain; mix-blend-mode:normal; }
body.pharmacy-single #main .woocommerce-product-gallery__image .zoomImg { max-block-size:none; aspect-ratio:auto; background:var(--white); mix-blend-mode:normal; }
body.pharmacy-single #main .woocommerce-product-gallery__trigger { position:absolute; inset-block-start:4px; inset-inline-end:4px; z-index:5; }
body.pharmacy-single #main .woocommerce-product-gallery .flex-control-thumbs { display:flex; gap:8px; list-style:none; margin:16px 0 0; padding:0; }
body.pharmacy-single .flex-control-thumbs li { max-inline-size:70px; }
body.pharmacy-single .flex-control-thumbs img { inline-size:100%; object-fit:contain; border:1px solid var(--border); border-radius:6px; }
body.pharmacy-single #main .product-entry-wrapper > .onsale { display:none; }
body.pharmacy-single .outofstock .woocommerce-product-gallery__image img { filter:grayscale(1); }
body.pharmacy-single .summary > .pharmacy-purchase { grid-column:3; grid-row:1 / span 6; align-self:start; padding:22px; background:var(--soft); border:1px solid var(--border); border-radius:12px; }
body.pharmacy-single .pharmacy-purchase-title { font-size:15px; margin:0 0 20px; color:var(--navy); }
body.pharmacy-single .pharmacy-purchase .price { display:flex; flex-direction:column; gap:5px; font-size:28px; font-weight:800; color:var(--primary); margin-block:0 20px; font-variant-numeric:tabular-nums; }
body.pharmacy-single .pharmacy-purchase .sale-price { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
body.pharmacy-single .pharmacy-purchase .price del { color:var(--muted); font-size:13px; font-weight:400; opacity:1; }
body.pharmacy-single .pharmacy-purchase .price ins { color:inherit; background:none; text-decoration:none; }
body.pharmacy-single .pharmacy-purchase .woocommerce-Price-currencySymbol { font-size:12px; font-weight:400; }
body.pharmacy-single .pharmacy-purchase .stock { font-size:13px; color:var(--primary); margin-block:0 18px; }
body.pharmacy-single .pharmacy-purchase .out-of-stock { color:var(--neutral-text); }
body.pharmacy-single .pharmacy-purchase form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:0; }
body.pharmacy-single .pharmacy-purchase .quantity { --quantity-height:48px; min-block-size:48px; }
body.pharmacy-single .pharmacy-purchase input.qty { block-size:48px; background:var(--white); border-color:var(--border-strong); border-radius:8px; }
body.pharmacy-single .pharmacy-purchase .single_add_to_cart_button { flex:1 1 100%; min-block-size:50px; padding:12px; font-family:inherit; font-size:13px; background:var(--primary); color:var(--white); border-radius:8px; }
body.pharmacy-single .pharmacy-purchase .single_add_to_cart_button:hover { background:var(--primary-deep); }
body.pharmacy-single .pharmacy-purchase form.variations_form { display:block; }
body.pharmacy-single .pharmacy-purchase .variations :is(select,td,th) { max-inline-size:100%; font-size:13px; }
body.pharmacy-single .pharmacy-purchase .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; gap:14px; }
body.pharmacy-single .pharmacy-purchase-feedback { margin-block:16px 0; font-size:12px; }
body.pharmacy-single .woocommerce-tabs { border:0; background:none; margin-block:0 32px; }
body.pharmacy-single .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:28px; padding:0; border-block-end:1px solid var(--border); background:none; }
body.pharmacy-single .woocommerce-tabs ul.tabs a { padding:16px 0; font-size:14px; color:var(--navy); }
body.pharmacy-single .woocommerce-tabs ul.tabs li.active a { color:var(--primary); border-block-end:2px solid var(--primary); }
body.pharmacy-single .woocommerce-tabs .woocommerce-Tabs-panel { padding-block:24px; max-inline-size:75ch; font-size:14px; line-height:2.2; }
body.pharmacy-single .woocommerce-product-attributes :is(th,td) { padding:14px; font-size:13px; border-color:var(--border); }
body.pharmacy-single :is(.related.products,.up-sells.products) { margin-block-start:28px; padding-block-start:24px; border-block-start:1px solid var(--border); }
body.pharmacy-single :is(.related.products,.up-sells.products) > :is(h2,.ct-module-title) { font-size:23px; margin-block-end:22px; }
body.pharmacy-single :is(.related,.up-sells) ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.pharmacy-single #pharmacy-product-information { scroll-margin-block-start:24px; }
body.pharmacy-single .pharmacy-single-no-image { padding:40px 20px; font-size:14px; color:var(--primary); }
body.pharmacy-single :is(a,button,input,select,[role=button]):focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
@media(max-width:1100px) {
 body.pharmacy-single #main .product-entry-wrapper { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 280px; padding:22px; gap:14px 20px; }
 body.pharmacy-single .summary > .product_title { font-size:23px; }
 body.pharmacy-single .summary > .pharmacy-purchase { padding:18px; }
 body.pharmacy-single .pharmacy-purchase .price { font-size:26px; }
}
@media(max-width:1000px) {
 body.pharmacy-single #main .product-entry-wrapper { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 body.pharmacy-single #main .woocommerce-product-gallery { grid-row:1 / span 5; }
 body.pharmacy-single .summary > .pharmacy-purchase { grid-column:2; grid-row:3; }
 body.pharmacy-single .pharmacy-quick-specs { grid-column:1/-1; grid-row:6; }
 body.pharmacy-single .product_meta { grid-row:4; }
 body.pharmacy-single :is(.related,.up-sells) ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 body.pharmacy-single #main > [class*="ct-container"] { padding-block:16px 32px; }
 body.pharmacy-single .pharmacy-product-breadcrumb { font-size:11px; line-height:1.9; margin-block-end:18px; }
 body.pharmacy-single #main .product-entry-wrapper { display:flex; flex-direction:column; padding:0; border:0; background:none; gap:18px; }
 body.pharmacy-single .summary > * { inline-size:100%; }
 body.pharmacy-single .summary > .product_title { order:0; font-size:23px; line-height:1.8; }
 body.pharmacy-single .summary > .woocommerce-product-details__short-description { order:1; }
 body.pharmacy-single #main .woocommerce-product-gallery { order:2; padding:20px; border:1px solid var(--border); background:var(--white); }
 body.pharmacy-single #main .woocommerce-product-gallery__image img { max-block-size:280px; }
 body.pharmacy-single .summary > .pharmacy-purchase { order:3; padding:20px; inline-size:100%; background:var(--white); }
 body.pharmacy-single .pharmacy-quick-specs { order:4; }
 body.pharmacy-single .product_meta { order:5; }
 body.pharmacy-single .woocommerce-product-rating { order:1; }
 body.pharmacy-single .pharmacy-purchase form.cart { align-items:stretch; }
 body.pharmacy-single .pharmacy-purchase .single_add_to_cart_button { flex-basis:150px; }
 body.pharmacy-single .woocommerce-tabs ul.tabs { gap:18px; }
 body.pharmacy-single .woocommerce-tabs ul.tabs a { font-size:13px; }
 body.pharmacy-single .woocommerce-tabs .woocommerce-Tabs-panel { font-size:13px; }
 body.pharmacy-single :is(.related,.up-sells) ul.products { gap:10px; }
 body.pharmacy-single #coming-soon-footer-banner { position:static; }
}

body.pharmacy-single .pharmacy-purchase .price del { order:-2; }

/* The native cart-actions wrapper owns quantity and submit; do not clone its form. */
@media(max-width:700px) {
 body.pharmacy-single .pharmacy-purchase .ct-cart-actions { display:flex; inline-size:100%; align-items:center; flex-wrap:wrap; gap:12px; }
 body.pharmacy-single .pharmacy-purchase .ct-cart-actions .quantity { inline-size:100px; flex:0 0 100px; }
 body.pharmacy-single .pharmacy-purchase .ct-cart-actions .single_add_to_cart_button { min-inline-size:0; flex:1 1 130px; }
 body.pharmacy-single .pharmacy-purchase-title { margin-block-end:12px; }
 body.pharmacy-single .pharmacy-purchase .price { margin-block-end:12px; font-size:26px; }
 body.pharmacy-single .pharmacy-purchase .stock { margin-block-end:12px; }
}

/* Product tabs: one row of equal pills; the active state is filled, so no
   underline can cross the label and nothing is vertically offset. */
body.pharmacy-single .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; align-items:stretch; gap:10px; padding:0 0 18px; border-block-end:1px solid var(--border); }
body.pharmacy-single .woocommerce-tabs ul.tabs li { margin:0; }
body.pharmacy-single .woocommerce-tabs ul.tabs li a { display:flex; align-items:center; justify-content:center; min-block-size:44px; padding:10px 22px; border:1px solid var(--border)!important; border-radius:999px; background:var(--white); font-size:14px; color:var(--navy); line-height:1.5; }
body.pharmacy-single .woocommerce-tabs ul.tabs li a:hover { border-color:var(--primary)!important; color:var(--primary); }
body.pharmacy-single .woocommerce-tabs ul.tabs li.active a,
body.pharmacy-single .woocommerce-tabs ul.tabs li.active a span { background:var(--primary); border-color:var(--primary)!important; color:var(--white)!important; font-weight:650; }
body.pharmacy-single .woocommerce-tabs ul.tabs li a::after,
body.pharmacy-single .woocommerce-tabs ul.tabs li a::before { display:none!important; }
@media(max-width:600px){ body.pharmacy-single .woocommerce-tabs ul.tabs li a { padding:9px 16px; font-size:13px; } }

/* Keep product tabs free of the theme's full-width rail and active underline. */
body.pharmacy-single .woocommerce-tabs ul.tabs { padding-block-end:0!important; border-block-end:0!important; box-shadow:none!important; }
body.pharmacy-single .woocommerce-tabs ul.tabs::before,
body.pharmacy-single .woocommerce-tabs ul.tabs::after,
body.pharmacy-single .woocommerce-tabs ul.tabs li::before,
body.pharmacy-single .woocommerce-tabs ul.tabs li::after { display:none!important; content:none!important; border:0!important; box-shadow:none!important; }

/* Keep the product name on its own line in Blocksy's flex review heading. */
body.pharmacy-single #reply-title { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:4px; line-height:1.75; }
body.pharmacy-single #reply-title .pharmacy-review-prompt { display:block; inline-size:100%; }
body.pharmacy-single #reply-title .pharmacy-review-product-name { display:block; inline-size:max-content; max-inline-size:calc(100vw - 40px); margin-block-start:0; overflow:visible; white-space:nowrap; font-size:clamp(10px,1vw,12px); }

/* Match the review submit control to the store's primary action. */
body.pharmacy-single #review_form #respond .form-submit #submit { min-block-size:44px; padding:10px 24px; border:1px solid var(--primary); border-radius:8px; background:var(--primary); color:var(--white); font:inherit; cursor:pointer; }
body.pharmacy-single #review_form #respond .form-submit #submit:hover { border-color:var(--primary-deep); background:var(--primary-deep); color:var(--white); }
