/* Concept A: scoped archive composition. Native query, ordering and pagination. */
body.pharmacy-shop #main > [class*="ct-container"] { display:block; padding-block:22px 56px; }
body.pharmacy-shop #main > [class*="ct-container"] > section { display:grid; grid-template-columns:226px minmax(0,1fr); gap:0 24px; align-items:start; }
body.pharmacy-shop #main section > * { min-inline-size:0; }
body.pharmacy-shop :is(.woo-listing-top,ul.products,.ct-pagination,.woocommerce-pagination,.woocommerce-notices-wrapper,.pharmacy-shop-empty,.pharmacy-filter-warning) { grid-column:2; }
body.pharmacy-shop .pharmacy-shop-breadcrumb { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:12px; margin-block-end:12px; }
body.pharmacy-shop .pharmacy-shop-heading { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:0 22px; }
body.pharmacy-shop .pharmacy-shop-heading h1 { font-size:30px; line-height:1.7; margin:0 0 8px; color:var(--navy); }
body.pharmacy-shop .pharmacy-shop-heading p { font-size:13px; margin:0; color:var(--muted); }
body.pharmacy-shop .pharmacy-catalog-total { display:flex; flex-direction:column; align-items:flex-end; }
body.pharmacy-shop .pharmacy-catalog-total strong { font-size:34px; color:var(--primary); }
body.pharmacy-shop .pharmacy-catalog-total span { font-size:12px; }
body.pharmacy-shop .pharmacy-category-picker { grid-column:1/-1; display:flex; gap:10px; overflow-x:auto; padding-block-end:22px; margin-block-end:0; scrollbar-width:thin; scrollbar-color:var(--border-strong) transparent; }
body.pharmacy-shop .pharmacy-category-picker a { flex:1; min-inline-size:135px; display:flex; flex-direction:column; gap:5px; padding:12px 14px; background:var(--white); border:1px solid var(--border); border-radius:10px; color:var(--navy); font-size:13px; font-weight:650; }
body.pharmacy-shop .pharmacy-category-picker small { font-size:11px; font-weight:400; color:var(--muted); }
body.pharmacy-shop .pharmacy-category-picker a.current { background:var(--primary); color:var(--white); border-color:var(--primary); }
body.pharmacy-shop .pharmacy-category-picker a.current small { color:var(--mint); }
body.pharmacy-shop .pharmacy-filter-panel { grid-column:1; grid-row:4 / span 10; background:var(--white); border:1px solid var(--border); border-radius:12px; padding:16px; }
body.pharmacy-shop .pharmacy-filter-panel > summary { display:none; }
body.pharmacy-shop .pharmacy-filter-form { display:flex; flex-direction:column; gap:12px; }
body.pharmacy-shop .pharmacy-filter-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
body.pharmacy-shop .pharmacy-filter-head h2 { font-size:15px; margin:0; }
body.pharmacy-shop .pharmacy-filter-head a { font-size:12px; color:var(--primary); text-decoration:underline; text-underline-offset:4px; }
body.pharmacy-shop .pharmacy-filter-form label { font-size:13px; margin:0; }
body.pharmacy-shop .pharmacy-filter-check { display:flex; align-items:center; gap:9px; min-block-size:44px; border-block-end:1px solid var(--border); }
body.pharmacy-shop .pharmacy-filter-check input { accent-color:var(--primary); inline-size:18px; block-size:18px; }
body.pharmacy-shop .pharmacy-filter-form :is(select,input[type=text]) { inline-size:100%; min-block-size:44px; padding:8px 10px; font:inherit; font-size:13px; border:1px solid var(--border); border-radius:8px; color:var(--navy); background:var(--white); }
body.pharmacy-shop .pharmacy-filter-form fieldset { padding:12px 0 0; margin:4px 0 0; border:0; border-block-start:1px solid var(--border); display:grid; gap:8px; }
body.pharmacy-shop .pharmacy-filter-form legend { font-size:13px; font-weight:650; padding:0; }
body.pharmacy-shop .pharmacy-filter-form p { font-size:11px; color:var(--muted); margin:0; }
body.pharmacy-shop .pharmacy-filter-form .button { min-block-size:46px; background:var(--primary); color:var(--white); border-radius:8px; }
body.pharmacy-shop .pharmacy-filter-form .button:hover { background:var(--primary-deep); }
body.pharmacy-shop .woo-listing-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; min-block-size:60px; margin-block-end:14px; }
body.pharmacy-shop .woo-listing-top .woocommerce-result-count { display:block!important; margin:0; color:var(--muted); font-size:13px; }
body.pharmacy-shop .woocommerce-ordering { display:flex!important; margin:0; max-inline-size:100%; }
body.pharmacy-shop .ct-sort-icon { display:none!important; }
body.pharmacy-shop .woocommerce-ordering select { position:static; opacity:1; inline-size:100%; min-block-size:46px; max-inline-size:235px; padding:8px 12px 8px 28px; font:inherit; font-size:13px; color:var(--navy); background-color:var(--white); border:1px solid var(--border); border-radius:8px; }
body.pharmacy-shop ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; }
body.pharmacy-shop :is(.ct-pagination,.woocommerce-pagination) { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-block-start:28px; padding:0; border:0; }
body.pharmacy-shop :is(.ct-pagination,.woocommerce-pagination) :is(ul.page-numbers,div) { display:flex!important; gap:8px; flex-wrap:wrap; list-style:none; padding:0; margin:0; border:0; }
body.pharmacy-shop :is(.ct-pagination,.woocommerce-pagination) li { margin:0; padding:0; border:0; }
body.pharmacy-shop :is(.ct-pagination,.woocommerce-pagination) :is(a,span) { display:flex; align-items:center; justify-content:center; min-inline-size:44px; min-block-size:44px; padding:8px; border:1px solid var(--border); border-radius:8px; }
body.pharmacy-shop :is(.ct-pagination,.woocommerce-pagination) :is(.current,a:hover) { background:var(--primary); color:var(--white); }
body.pharmacy-shop .pharmacy-shop-empty { padding:48px 24px; background:var(--white); border:1px solid var(--border); border-radius:12px; }
body.pharmacy-shop .pharmacy-shop-empty h2 { font-size:23px; }
body.pharmacy-shop .pharmacy-filter-warning { padding:16px; background:var(--mint); color:var(--primary-deep); }
body.pharmacy-shop :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
@media(max-width:1150px) { body.pharmacy-shop #main > [class*="ct-container"] > section { grid-template-columns:200px minmax(0,1fr); gap:0 18px; } body.pharmacy-shop ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:850px) {
 body.pharmacy-shop #main > [class*="ct-container"] > section { display:block; }
 body.pharmacy-shop .pharmacy-filter-panel { margin-block-end:16px; padding:0; }
 body.pharmacy-shop .pharmacy-filter-panel > summary { display:flex; gap:10px; align-items:center; padding:12px 16px; min-block-size:48px; cursor:pointer; color:var(--primary); font-weight:650; list-style:none; }
 body.pharmacy-shop .pharmacy-filter-panel summary::-webkit-details-marker { display:none; }
 body.pharmacy-shop .pharmacy-filter-panel summary svg:last-child { margin-inline-start:auto; }
 body.pharmacy-shop .pharmacy-filter-form { padding:16px; }
 body.pharmacy-shop .pharmacy-filter-head h2 { display:none; }
 body.pharmacy-shop .pharmacy-filter-head { justify-content:flex-end; }
 body.pharmacy-shop .pharmacy-filter-form :is(select,input[type=text]) { font-size:16px; }
}
@media(max-width:700px) {
 body.pharmacy-shop #main > [class*="ct-container"] { padding-block:16px 32px; }
 body.pharmacy-shop .pharmacy-shop-heading h1 { font-size:23px; }
 body.pharmacy-shop .pharmacy-shop-heading p { font-size:12px; }
 body.pharmacy-shop .pharmacy-catalog-total { display:none; }
 body.pharmacy-shop .pharmacy-shop-breadcrumb { font-size:11px; }
 body.pharmacy-shop .pharmacy-category-picker { gap:7px; padding-block-end:14px; }
 body.pharmacy-shop .pharmacy-category-picker a { flex:none; min-inline-size:122px; padding:9px 12px; font-size:12px; }
 body.pharmacy-shop .woo-listing-top { gap:8px; padding-block:6px 12px; border-block-end:1px solid var(--border); }
 body.pharmacy-shop .woo-listing-top .woocommerce-result-count { font-size:12px; }
 body.pharmacy-shop .woocommerce-ordering { min-inline-size:0; }
 body.pharmacy-shop .woocommerce-ordering select { max-inline-size:175px; font-size:12px; }
 body.pharmacy-shop ul.products { grid-template-columns:1fr; gap:12px; }
 body.pharmacy-shop #coming-soon-footer-banner { position:static; }
}

body.pharmacy-shop .pharmacy-active-filters { grid-column:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; margin-block-end:12px; border-radius:8px; background:var(--mint); font-size:12px; color:var(--primary-deep); }
body.pharmacy-shop .pharmacy-active-filters a { text-decoration:underline; text-underline-offset:4px; }

/* Empty collections have no filter rail to reserve. */
body.pharmacy-shop .pharmacy-shop-empty.pharmacy-shop-empty--category { grid-column:1/-1; }
