/* =========================================================================
   PrecisionMed Commerce — Core Stylesheet
   All colors / fonts / spacing driven by CSS custom properties which are
   generated dynamically from the Customizer (see inc/customizer.php).
   ========================================================================= */

:root{
	--pmc-color-primary: #0151a1;
	--pmc-color-primary-dark: #054687;
	--pmc-color-dark: #0a3a6e;
	--pmc-color-accent: #10b981;
	--pmc-color-text: #1f2937;
	--pmc-color-bg: #f8fafc;
	--pmc-color-border: #e5e7eb;
	--pmc-font-heading: 'Poppins', sans-serif;
	--pmc-font-body: 'Inter', sans-serif;
	--pmc-base-font-size: 16px;
	--pmc-heading-weight: 700;
	--pmc-container-width: 1280px;
	--pmc-radius: 12px;
	--pmc-logo-height: 60px;
}

/* -------------------------------------------------------------------------
   Reset & base
   ---------------------------------------------------------------------- */
*, *::before, *::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
	margin:0;
	font-family:var(--pmc-font-body);
	font-size:var(--pmc-base-font-size);
	color:var(--pmc-color-text);
	background:var(--pmc-color-bg);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--pmc-color-primary); text-decoration:none; transition:color .2s ease; }
a:hover{ color:var(--pmc-color-primary-dark); }
h1,h2,h3,h4,h5,h6{
	font-family:var(--pmc-font-heading);
	font-weight:var(--pmc-heading-weight);
	color:#111827;
	line-height:1.25;
	margin:0 0 .5em;
}
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); word-wrap:normal !important; }
.skip-link{ position:absolute; top:-100px; left:0; background:var(--pmc-color-primary); color:#fff; padding:10px 16px; z-index:999; }
.skip-link:focus{ top:0; }

/* -------------------------------------------------------------------------
   Layout helpers
   ---------------------------------------------------------------------- */
.pmc-container{ max-width:var(--pmc-container-width); margin:0 auto; padding:0 24px; }
body.pmc-boxed #page{ max-width:calc(var(--pmc-container-width) + 80px); margin:24px auto; box-shadow:0 0 0 1px var(--pmc-color-border), 0 20px 40px rgba(0,0,0,.06); border-radius:var(--pmc-radius); overflow:hidden; }

/* Internal scroll areas keep scrolling available without showing the browser's
   default track. Touch momentum, mouse-wheel and keyboard scrolling remain on. */
.pmc-filter-card-body,
.pmc-cart-drawer-body,
.pmc-scroll-container,
[data-pmc-scroll]{
	scrollbar-width:none;
	-ms-overflow-style:none;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
}
.pmc-filter-card-body::-webkit-scrollbar,
.pmc-cart-drawer-body::-webkit-scrollbar,
.pmc-scroll-container::-webkit-scrollbar,
[data-pmc-scroll]::-webkit-scrollbar{ width:0; height:0; display:none; }

/* -------------------------------------------------------------------------
   Buttons (Customizer: Solid / Outline / Soft)
   ---------------------------------------------------------------------- */
.pmc-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:12px 24px; border-radius:var(--pmc-radius); font-weight:600; font-size:.95rem;
	border:2px solid transparent; transition:all .2s ease; cursor:pointer;
}
.pmc-btn-primary, .pmc-add-to-cart-btn, .button, .single_add_to_cart_button{
	background:var(--pmc-color-primary); color:#fff !important; border-color:var(--pmc-color-primary);
}
.pmc-btn-primary:hover, .pmc-add-to-cart-btn:hover, .button:hover, .single_add_to_cart_button:hover{
	background:var(--pmc-color-primary-dark); border-color:var(--pmc-color-primary-dark); color:#fff !important;
}
body.pmc-btn-style-outline .pmc-btn-primary, body.pmc-btn-style-outline .pmc-add-to-cart-btn, body.pmc-btn-style-outline .button{
	background:transparent; color:var(--pmc-color-primary) !important; border-color:var(--pmc-color-primary);
}
body.pmc-btn-style-outline .pmc-btn-primary:hover{ background:var(--pmc-color-primary); color:#fff !important; }
body.pmc-btn-style-soft .pmc-btn-primary, body.pmc-btn-style-soft .pmc-add-to-cart-btn, body.pmc-btn-style-soft .button{
	background:color-mix(in srgb, var(--pmc-color-primary) 12%, white); color:var(--pmc-color-primary) !important; border-color:transparent;
}
.pmc-btn-outline{ background:#fff; color:var(--pmc-color-text) !important; border-color:var(--pmc-color-border); }
.pmc-btn-outline:hover{ background:#f9fafb; }
.pmc-btn-hero-primary{ background:#36a1fa; color:#fff !important; box-shadow:0 10px 25px rgba(12,132,235,.3); }
.pmc-btn-hero-ghost{ background:rgba(255,255,255,.1); color:#fff !important; border-color:rgba(255,255,255,.2); backdrop-filter:blur(6px); }
.pmc-btn-hero-ghost:hover{ background:rgba(255,255,255,.2); }

/* -------------------------------------------------------------------------
   Header
   ---------------------------------------------------------------------- */
.pmc-header{ background:#fff; border-bottom:1px solid var(--pmc-color-border); z-index:50; box-shadow:0 1px 2px rgba(0,0,0,.03); }
body.pmc-sticky-header .pmc-header{ position:sticky; top:0; }
.pmc-header-inner{ display:flex; align-items:center; justify-content:space-between; height:80px; gap:24px; }
.pmc-header-layout-logo-center .pmc-header-inner{ flex-wrap:wrap; justify-content:center; height:auto; padding:16px 24px; text-align:center; }
.pmc-header-layout-logo-center .pmc-primary-nav{ width:100%; order:3; justify-content:center; display:flex; }

.pmc-branding{ display:flex; align-items:center; }
.custom-logo{ max-height:var(--pmc-logo-height); width:auto; }
.pmc-logo-text{ display:flex; align-items:center; gap:10px; font-family:var(--pmc-font-heading); font-weight:700; font-size:1.5rem; color:#111827; }
.pmc-logo-icon{ background:var(--pmc-color-primary); color:#fff; width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; }
.pmc-logo-wordmark{ }

.pmc-primary-nav{ flex:1; }
.pmc-menu{ display:flex; align-items:center; gap:32px; }
.pmc-menu a{ color:#4b5563; font-weight:500; }
.pmc-menu a:hover, .pmc-menu .current-menu-item > a{ color:var(--pmc-color-primary); }
.pmc-menu .current-menu-item > a{ border-bottom:2px solid var(--pmc-color-primary); padding-bottom:2px; font-weight:600; }

.pmc-header-actions{ display:flex; align-items:center; gap:20px; }
.pmc-cart-link{ position:relative; font-size:1.4rem; color:#6b7280; }
.pmc-cart-link:hover{ color:var(--pmc-color-primary); }
.pmc-cart-badge{ position:absolute; top:-6px; right:-10px; background:#ef4444; color:#fff; font-size:10px; font-weight:700; min-width:20px; height:20px; border-radius:999px; display:flex; align-items:center; justify-content:center; padding:0 4px; }
.pmc-account-chip{ display:flex; align-items:center; gap:8px; }
.pmc-avatar{ width:36px; height:36px; border-radius:999px; background:color-mix(in srgb, var(--pmc-color-primary) 15%, white); color:var(--pmc-color-primary); display:flex; align-items:center; justify-content:center; font-weight:600; }
.pmc-mobile-toggle{ display:none; background:none; border:0; font-size:1.6rem; color:#6b7280; }
.pmc-mobile-menu{ border-top:1px solid var(--pmc-color-border); padding:12px 24px; }
.pmc-mobile-menu-list li a{ display:block; padding:10px 0; color:#374151; font-weight:500; }

@media (max-width:900px){
	.pmc-primary-nav, .pmc-account-chip .pmc-account-name{ display:none; }
	.pmc-mobile-toggle{ display:block; }
}

/* -------------------------------------------------------------------------
   Hero
   ---------------------------------------------------------------------- */
.pmc-hero{
	--pmc-hero-navy:#0f2235;
	--pmc-hero-navy-deep:#081725;
	--pmc-hero-navy-soft:#193b55;
	position:relative; isolation:isolate; overflow:hidden; color:#fff;
	padding:clamp(80px,9vw,124px) 0;
	background:
		linear-gradient(128deg,var(--pmc-hero-navy-deep) 0%,var(--pmc-hero-navy) 48%,var(--pmc-hero-navy-soft) 100%);
}
.pmc-hero::before{
	content:""; position:absolute; z-index:0; pointer-events:none;
	width:min(46vw,620px); aspect-ratio:1; right:-9%; top:50%;
	border:1px solid rgba(230,241,248,.10); border-radius:50%;
	transform:translateY(-50%);
	box-shadow:0 0 0 72px rgba(230,241,248,.025),0 0 0 144px rgba(230,241,248,.018);
}
.pmc-hero::after{
	content:""; position:absolute; z-index:0; inset:auto 0 0; height:1px;
	background:linear-gradient(90deg,transparent,rgba(214,231,242,.28),transparent);
}
.pmc-hero-pattern{
	position:absolute; z-index:0; inset:0; opacity:1; pointer-events:none;
	background:
		radial-gradient(circle at 82% 22%,rgba(132,180,211,.20),transparent 25%),
		radial-gradient(circle at 64% 100%,rgba(255,255,255,.065),transparent 30%);
}
.pmc-hero-container{ position:relative; z-index:1; }
/* Inner block constrains TEXT width only and stays left-aligned inside the
   centered container — matching the original prototype's max-w-7xl > max-w-3xl
   nesting. It must NOT receive margin:auto (that's what caused the hero to
   float to the middle of the page). */
.pmc-hero-inner{ max-width:840px; }
.pmc-hero-eyebrow{
	display:inline-flex; align-items:center; gap:10px; margin-bottom:26px;
	padding:7px 14px; border:1px solid rgba(219,234,244,.18); border-radius:999px;
	background:rgba(255,255,255,.045); color:#d9e7f0;
	font-family:var(--pmc-font-body); font-size:.76rem; font-weight:600;
	letter-spacing:.09em; text-transform:uppercase; backdrop-filter:blur(8px);
}
.pmc-dot{
	width:7px; height:7px; flex:0 0 7px; border-radius:999px;
	background:#9ec5dc; box-shadow:0 0 0 5px rgba(158,197,220,.12);
}
.pmc-hero-title{
	max-width:820px; margin:0 0 24px; color:#fff;
	font-family:var(--pmc-font-heading); font-size:clamp(2.55rem,5.2vw,4.55rem);
	font-weight:700; line-height:1.07; letter-spacing:-.045em;
}
.pmc-hero-title span{
	color:#c9deeb;
	background:linear-gradient(92deg,#f1f7fa 0%,#b7d3e4 52%,#8db8d1 100%);
	-webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.pmc-hero-subtitle{
	max-width:650px; margin:0 0 36px; color:#c4d1dc;
	font-family:var(--pmc-font-body); font-size:clamp(1rem,1.5vw,1.14rem);
	font-weight:400; line-height:1.75;
}
.pmc-hero-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.pmc-hero .pmc-btn{
	min-height:50px; padding:13px 22px; border-radius:10px;
	font-family:var(--pmc-font-body); font-size:.9rem; font-weight:600;
	transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.pmc-hero .pmc-btn-hero-primary{
	background:#f8fbfd; border:1px solid #f8fbfd; color:var(--pmc-hero-navy) !important;
	box-shadow:0 12px 30px rgba(2,12,22,.20);
}
.pmc-hero .pmc-btn-hero-primary:hover{
	background:#fff; border-color:#fff; color:var(--pmc-hero-navy) !important;
	transform:translateY(-2px); box-shadow:0 16px 34px rgba(2,12,22,.27);
}
.pmc-hero .pmc-btn-hero-ghost{
	background:rgba(255,255,255,.035); border:1px solid rgba(225,237,245,.24);
	color:#f4f8fb !important; box-shadow:none; backdrop-filter:blur(8px);
}
.pmc-hero .pmc-btn-hero-ghost:hover{
	background:rgba(255,255,255,.09); border-color:rgba(235,244,249,.42);
	color:#fff !important; transform:translateY(-2px);
}
.pmc-hero .pmc-btn:focus-visible{ outline:3px solid rgba(183,211,228,.42); outline-offset:3px; }
@media (max-width:900px){
	.pmc-hero::before{ width:520px; right:-260px; opacity:.7; }
	.pmc-hero-inner{ max-width:720px; }
}
@media (max-width:600px){
	.pmc-hero{ padding:70px 0 74px; }
	.pmc-hero::before{ width:390px; right:-245px; opacity:.55; }
	.pmc-hero-title{ font-size:clamp(2.3rem,11vw,3.2rem); letter-spacing:-.04em; }
	.pmc-hero-title br{ display:none; }
	.pmc-hero-eyebrow{ margin-bottom:22px; font-size:.68rem; letter-spacing:.065em; }
	.pmc-hero-subtitle{ margin-bottom:30px; line-height:1.65; }
	.pmc-hero-actions{ align-items:stretch; flex-direction:column; }
	.pmc-hero .pmc-btn{ width:100%; }
}

/* -------------------------------------------------------------------------
   Feature strip
   ---------------------------------------------------------------------- */
.pmc-feature-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:40px auto; }
.pmc-feature-card{ background:#fff; border:1px solid var(--pmc-color-border); border-radius:var(--pmc-radius); padding:20px; display:flex; align-items:center; gap:12px; transition:.3s ease; }
.pmc-feature-card:hover{ transform:translateY(-4px); box-shadow:0 10px 25px rgba(0,0,0,.08); }
.pmc-feature-card i{ font-size:1.8rem; color:var(--pmc-color-primary); }
.pmc-feature-title{ font-weight:600; font-size:.9rem; margin:0; color:#111827; }
.pmc-feature-desc{ font-size:.78rem; color:#6b7280; margin:0; }
@media (max-width:800px){ .pmc-feature-strip{ grid-template-columns:repeat(2,1fr); } }

/* -------------------------------------------------------------------------
   Section head / featured products
   ---------------------------------------------------------------------- */
.pmc-featured-section{ padding:24px 0 64px; }
.pmc-section-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.pmc-section-head h2{ font-size:1.6rem; margin:0; }
.pmc-view-all{ font-weight:600; font-size:.9rem; display:inline-flex; align-items:center; gap:6px; }

/* -------------------------------------------------------------------------
   Shop layout / sidebar
   ---------------------------------------------------------------------- */
.pmc-shop-header{ background:#fff; border-bottom:1px solid var(--pmc-color-border); padding:32px 0; margin-bottom:0; }
.pmc-page-title{ font-size:1.8rem; margin-bottom:6px; }
.pmc-page-subtitle{ color:#6b7280; margin:0; font-size:.95rem; }

.pmc-shop-layout{ display:flex; gap:32px; padding:40px 0; align-items:flex-start; }
.pmc-sidebar-none{ display:block; }
.pmc-shop-content{ flex:1; min-width:0; }
.pmc-shop-sidebar{ width:300px; flex-shrink:0; }
.pmc-sidebar-none .pmc-shop-sidebar{ display:none; }

.pmc-filter-card{ background:#fff; border:1px solid var(--pmc-color-border); border-radius:var(--pmc-radius); position:sticky; top:104px; overflow:hidden; }
.pmc-filter-card-head{ padding:20px; border-bottom:1px solid var(--pmc-color-border); background:#f9fafb; }
.pmc-filter-card-head h2{ font-size:1.05rem; display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.pmc-filter-card-head p{ font-size:.78rem; color:#6b7280; margin:0; }
.pmc-filter-card-body{ padding:20px; max-height:calc(100vh - 260px); overflow-y:auto; }
.pmc-filter-card-body .pmc-widget{ margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid #f1f5f9; }
.pmc-filter-card-body .pmc-widget:last-child{ border-bottom:0; margin-bottom:0; }
.pmc-widget-title, .pmc-footer-widget-title{ font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; font-weight:600; margin-bottom:12px; }

/* -------------------------------------------------------------------------
   Product grid / card (WooCommerce loop restyled via inc/woocommerce.php)
   ---------------------------------------------------------------------- */
ul.products{ display:grid !important; grid-template-columns:repeat(3, 1fr); gap:24px; margin:0 !important; padding:0 !important; align-items:stretch; }
@media (max-width:1000px){ ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ ul.products{ grid-template-columns:1fr; } }
ul.products li.product{ list-style:none; margin:0 !important; padding:0 !important; height:100%; display:flex; }
ul.products li.product > .pmc-product-card{ width:100%; }

.pmc-product-card{ background:#fff; border:1px solid var(--pmc-color-border); border-radius:var(--pmc-radius); overflow:hidden; display:flex; flex-direction:column; height:100%; transition:.3s ease; }
.pmc-hover-lift:hover{ transform:translateY(-4px); box-shadow:0 10px 25px rgba(0,0,0,.1); }
.pmc-hover-zoom .pmc-product-media img{ transition:transform .5s ease; }
.pmc-hover-zoom:hover .pmc-product-media img{ transform:scale(1.06); }

.pmc-product-media{ position:relative; height:200px; background:#f8fafc; display:flex; align-items:center; justify-content:center; padding:16px; border-bottom:1px solid #f1f5f9; overflow:hidden; }
.pmc-product-media img{ max-height:100%; object-fit:contain; mix-blend-mode:multiply; }
.pmc-product-badges{ position:absolute; inset:8px 8px auto 8px; display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:4px; }
.pmc-badges-left, .pmc-badges-right{ display:flex; flex-wrap:wrap; gap:4px; }
.pmc-badge{ font-size:9px; text-transform:uppercase; font-weight:700; padding:4px 8px; border-radius:6px; white-space:nowrap; }
.pmc-badge-outofstock{ background:#ef4444; color:#fff; }
.pmc-badge-sale{ background:var(--pmc-color-accent); color:#fff; }
.pmc-badge-tag{ background:rgba(255,255,255,.9); color:#4b5563; border:1px solid var(--pmc-color-border); backdrop-filter:blur(4px); }

.pmc-product-body{ padding:20px; flex-grow:1; display:flex; flex-direction:column; }
.pmc-product-sku{ font-size:.72rem; color:var(--pmc-color-primary); font-weight:600; margin:0 0 4px; }
.pmc-product-body h2, .pmc-product-body h3, .woocommerce-loop-product__title{ font-size:1.05rem; margin-bottom:6px; }
.pmc-product-body a{ color:#111827; }
.pmc-product-body a:hover{ color:var(--pmc-color-primary); }
.pmc-product-excerpt{ font-size:.85rem; color:#6b7280; margin-bottom:12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.price{ font-family:var(--pmc-font-heading); font-weight:700; font-size:1.15rem; color:var(--pmc-color-primary-dark); }

.pmc-product-footer{ padding:16px 20px; background:#f9fafb; border-top:1px solid #f1f5f9; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pmc-view-link{ font-size:.85rem; font-weight:600; display:inline-flex; align-items:center; gap:4px; }
.pmc-add-to-cart-btn{ padding:8px 14px; font-size:.85rem; border-radius:8px; }

/* -------------------------------------------------------------------------
   Breadcrumb / pagination
   ---------------------------------------------------------------------- */
.pmc-breadcrumb{ font-size:.85rem; color:#6b7280; margin-bottom:20px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.pmc-breadcrumb a{ color:#6b7280; }
.pmc-breadcrumb a:hover{ color:var(--pmc-color-primary); }
.pmc-pagination{ display:flex; justify-content:center; gap:6px; margin-top:32px; }
.pmc-pagination .page-numbers{ width:36px; height:36px; display:flex; align-items:center; justify-content:center; border:1px solid var(--pmc-color-border); border-radius:8px; color:#4b5563; }
.pmc-pagination .page-numbers.current{ background:var(--pmc-color-primary); color:#fff; border-color:var(--pmc-color-primary); }

/* -------------------------------------------------------------------------
   Blog cards / single post / page
   ---------------------------------------------------------------------- */
.pmc-main{ display:flex; gap:32px; padding:48px 0; align-items:flex-start; }
.pmc-content{ flex:1; min-width:0; }
.pmc-post-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:1000px){ .pmc-post-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .pmc-post-grid{ grid-template-columns:1fr; } }
.pmc-post-card{ background:#fff; border:1px solid var(--pmc-color-border); border-radius:var(--pmc-radius); overflow:hidden; transition:.3s ease; }
.pmc-post-card:hover{ transform:translateY(-4px); box-shadow:0 10px 25px rgba(0,0,0,.08); }
.pmc-post-thumb img{ width:100%; height:180px; object-fit:cover; }
.pmc-post-body{ padding:20px; }
.pmc-post-meta{ font-size:.75rem; color:#9ca3af; margin-bottom:6px; }
.pmc-post-title{ font-size:1.1rem; margin-bottom:8px; }
.pmc-post-excerpt{ font-size:.88rem; color:#6b7280; margin-bottom:12px; }

.pmc-blog-sidebar{ width:300px; flex-shrink:0; }
.pmc-has-sidebar-no .pmc-content{ width:100%; }
@media (max-width:900px){ .pmc-main{ flex-direction:column; } .pmc-blog-sidebar{ width:100%; } }

.pmc-page{ padding:48px 0; }
.pmc-page-header{ margin-bottom:24px; }
.pmc-page-content{ font-size:1rem; line-height:1.75; }
.pmc-page-content img{ border-radius:var(--pmc-radius); }
.pmc-single-thumb img{ border-radius:var(--pmc-radius); margin-bottom:24px; width:100%; object-fit:cover; max-height:420px; }

/* -------------------------------------------------------------------------
   About page (mirrors the original prototype's About Us section 1:1)
   ---------------------------------------------------------------------- */
.pmc-about-hero{ position:relative; overflow:hidden; background:var(--pmc-color-dark); color:#fff; padding:72px 0; }
.pmc-about-hero .pmc-hero-pattern{ position:absolute; inset:0; opacity:.08; background-image:linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px); background-size:40px 40px; }
.pmc-about-hero-inner{ position:relative; z-index:1; }
.pmc-about-eyebrow{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); font-size:.85rem; margin-bottom:24px; }
.pmc-about-hero h1{ font-size:clamp(2rem,4.5vw,3rem); color:#fff; margin-bottom:12px; }
.pmc-about-hero p{ font-size:1.1rem; color:#d1d5db; max-width:640px; margin:0; }

.pmc-about-body{ padding:56px 0; }
.pmc-about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-bottom:64px; }
@media (max-width:900px){ .pmc-about-grid{ grid-template-columns:1fr; } }
.pmc-about-grid h2{ font-size:1.6rem; margin-bottom:16px; }
.pmc-about-grid p{ color:#4b5563; line-height:1.75; margin-bottom:16px; }

.pmc-stats-grid{ background:#f0f7ff; border:1px solid #e0effe; border-radius:var(--pmc-radius); padding:32px; display:grid; grid-template-columns:repeat(2,1fr); gap:24px; text-align:center; }
.pmc-stat-num{ font-family:var(--pmc-font-heading); font-weight:800; font-size:1.9rem; color:var(--pmc-color-primary); margin:0; }
.pmc-stat-label{ font-size:.85rem; color:#6b7280; margin:4px 0 0; }

.pmc-icon-card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:64px; }
@media (max-width:800px){ .pmc-icon-card-grid{ grid-template-columns:1fr; } }
.pmc-icon-card{ background:#fff; border:1px solid var(--pmc-color-border); border-radius:var(--pmc-radius); padding:24px; transition:.3s ease; }
.pmc-icon-card:hover{ transform:translateY(-4px); box-shadow:0 10px 25px rgba(0,0,0,.08); }
.pmc-icon-card-icon{ background:#e0effe; color:var(--pmc-color-primary); width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:16px; }
.pmc-icon-card h3{ font-size:1.1rem; margin-bottom:8px; }
.pmc-icon-card p{ font-size:.9rem; color:#6b7280; margin:0; }

.pmc-cta-box{ background:#fff; border:1px solid var(--pmc-color-border); border-radius:var(--pmc-radius); padding:48px; text-align:center; }
.pmc-cta-box h2{ font-size:1.6rem; margin-bottom:12px; }
.pmc-cta-box p{ color:#6b7280; max-width:520px; margin:0 auto 24px; }
.pmc-cta-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.pmc-404, .pmc-empty-state{ text-align:center; padding:96px 24px; }
.pmc-404-icon, .pmc-empty-icon{ width:80px; height:80px; border-radius:999px; background:#f1f5f9; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:2.4rem; color:#9ca3af; }
.pmc-404-actions{ display:flex; gap:12px; justify-content:center; margin:24px 0; flex-wrap:wrap; }

/* -------------------------------------------------------------------------
   Footer
   ---------------------------------------------------------------------- */
.pmc-footer{ padding:56px 0 24px; margin-top:64px; }
.pmc-footer-dark{ background:#111827; color:#d1d5db; }
.pmc-footer-dark .pmc-logo-text, .pmc-footer-dark h4{ color:#fff; }
.pmc-footer-light{ background:#f3f4f6; color:#4b5563; }
.pmc-footer-grid{ display:grid; grid-template-columns:2fr repeat(3,1fr); gap:32px; margin-bottom:40px; }
.pmc-footer-cols-1{ grid-template-columns:1fr; }
.pmc-footer-cols-2{ grid-template-columns:repeat(2,1fr); }
.pmc-footer-cols-3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .pmc-footer-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .pmc-footer-grid{ grid-template-columns:1fr; } }
.pmc-footer-desc{ font-size:.85rem; opacity:.75; margin-top:12px; }
.pmc-footer ul li{ margin-bottom:8px; font-size:.88rem; }
.pmc-footer-dark a{ color:#9ca3af; }
.pmc-footer-dark a:hover{ color:#fff; }
.pmc-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.8rem; opacity:.7; }
.pmc-footer-light .pmc-footer-bottom{ border-top-color:var(--pmc-color-border); }
.pmc-footer-menu{ display:flex; gap:16px; }

/* -------------------------------------------------------------------------
   Cart drawer / toasts / animations (progressive enhancement, JS-driven)
   ---------------------------------------------------------------------- */
.pmc-cart-drawer{ position:fixed; top:0; right:0; height:100%; width:420px; max-width:92vw; background:#fff; z-index:9999; box-shadow:-10px 0 40px rgba(0,0,0,.15); transform:translateX(100%); transition:transform .35s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; }
.pmc-cart-drawer.is-open{ transform:translateX(0); }
.pmc-cart-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:9998; opacity:0; pointer-events:none; transition:opacity .25s ease; }
.pmc-cart-overlay.is-open{ opacity:1; pointer-events:all; }

.pmc-toast-container{ position:fixed; top:96px; right:16px; z-index:99999; width:320px; max-width:90vw; display:flex; flex-direction:column; gap:8px; }
.pmc-toast{ background:#fff; border:1px solid var(--pmc-color-border); border-radius:10px; box-shadow:0 10px 25px rgba(0,0,0,.1); padding:14px 16px; display:flex; gap:10px; align-items:flex-start; position:relative; overflow:hidden; animation:pmcToastIn .3s ease; }
@keyframes pmcToastIn{ from{ opacity:0; transform:translateX(30px);} to{ opacity:1; transform:translateX(0);} }
.pmc-toast i{ color:var(--pmc-color-accent); font-size:1.3rem; }
.pmc-toast-bar{ position:absolute; left:0; bottom:0; height:3px; background:var(--pmc-color-accent); animation:pmcToastBar 3s linear forwards; }
@keyframes pmcToastBar{ from{ width:100%;} to{ width:0%;} }

/* Cart drawer chrome */
.pmc-cart-drawer-head{ display:flex; align-items:center; justify-content:space-between; padding:20px; border-bottom:1px solid var(--pmc-color-border); }
.pmc-cart-drawer-head h3{ margin:0; font-size:1.05rem; display:flex; align-items:center; gap:8px; }
.pmc-cart-drawer-head button{ background:none; border:0; font-size:1.3rem; color:#9ca3af; }
.pmc-cart-drawer-head button:hover{ color:#374151; }
.pmc-cart-drawer-body{ flex:1; overflow-y:auto; padding:20px; }
.pmc-cart-loading{ display:flex; align-items:center; justify-content:center; gap:8px; padding:48px 0; color:#9ca3af; }
.pmc-cart-loading i{ animation:pmcSpin 1s linear infinite; }
@keyframes pmcSpin{ to{ transform:rotate(360deg);} }

/* WooCommerce mini-cart markup rendered inside the drawer (modern pass) */
.pmc-cart-drawer-body .widget_shopping_cart_content{ display:flex; flex-direction:column; height:100%; }
.pmc-cart-drawer-body ul.cart_list, .pmc-cart-drawer-body ul.product_list_widget{ list-style:none; margin:0 0 16px; padding:0; }
.pmc-cart-drawer-body ul.cart_list li, .pmc-cart-drawer-body ul.product_list_widget li{
	display:flex; align-items:center; gap:12px; padding:12px 36px 12px 12px; margin:0 0 10px;
	border:1px solid #f1f5f9; border-radius:12px; background:#fff; position:relative;
	transition:box-shadow .2s ease, border-color .2s ease;
}
.pmc-cart-drawer-body ul li:hover{ border-color:#e2e8f0; box-shadow:0 4px 12px rgba(2,6,23,.06); }
.pmc-cart-drawer-body ul li a:not(.remove){ display:flex; align-items:center; gap:12px; flex:1; min-width:0; font-weight:600; font-size:.9rem; color:#111827; }
.pmc-cart-drawer-body ul li a:not(.remove):hover{ color:var(--pmc-color-primary); }
.pmc-cart-drawer-body ul li img{ width:52px; height:52px; object-fit:contain; background:#f8fafc; border-radius:10px; padding:4px; border:1px solid #f1f5f9; flex-shrink:0; }
.pmc-cart-drawer-body ul li .quantity{ font-size:.85rem; color:#64748b; white-space:nowrap; }
.pmc-cart-drawer-body ul li a.remove{
	position:absolute; top:10px; right:10px; width:24px; height:24px; border-radius:999px;
	display:flex; align-items:center; justify-content:center; text-decoration:none;
	background:#fef2f2; color:#ef4444 !important; font-size:15px; line-height:1; font-weight:600;
	transition:background .15s ease, color .15s ease;
}
.pmc-cart-drawer-body ul li a.remove:hover{ background:#ef4444; color:#fff !important; }

.pmc-cart-drawer-body p.total{
	display:flex; justify-content:space-between; align-items:center;
	border-top:1px solid var(--pmc-color-border); padding-top:16px; margin:16px 0;
}
.pmc-cart-drawer-body p.total strong{ font-weight:600; font-size:.9rem; color:#64748b; float:none; }
.pmc-cart-drawer-body p.total .amount{ font-family:var(--pmc-font-heading); font-weight:800; font-size:1.25rem; color:#111827; }

.pmc-cart-drawer-body .woocommerce-mini-cart__buttons{ display:flex; flex-direction:row; gap:10px; margin:0; }
.pmc-cart-drawer-body .woocommerce-mini-cart__buttons a{
	flex:1; display:flex; align-items:center; justify-content:center; text-align:center;
	padding:13px 10px; border-radius:10px; font-weight:600; font-size:.9rem; transition:all .2s ease;
}
.pmc-cart-drawer-body .woocommerce-mini-cart__buttons a.wc-forward:not(.checkout){ background:#fff; border:1px solid var(--pmc-color-border); color:#374151 !important; }
.pmc-cart-drawer-body .woocommerce-mini-cart__buttons a.wc-forward:not(.checkout):hover{ background:#f8fafc; border-color:#cbd5e1; }
.pmc-cart-drawer-body .woocommerce-mini-cart__buttons a.checkout{ background:var(--pmc-color-primary); border:1px solid var(--pmc-color-primary); color:#fff !important; }
.pmc-cart-drawer-body .woocommerce-mini-cart__buttons a.checkout:hover{ background:var(--pmc-color-primary-dark); }
.pmc-cart-drawer-body .woocommerce-mini-cart__empty-message{ text-align:center; color:#6b7280; padding:64px 0; }

/* Smart Filters accordion behaviour (caret injected by theme.js) */
.pmc-filter-card-body .pmc-widget-title{ display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; }
.pmc-acc-caret{ font-size:1rem; color:#94a3b8; transition:transform .25s ease; }
.pmc-widget.pmc-collapsed .pmc-acc-caret{ transform:rotate(-90deg); }
.pmc-widget.pmc-collapsed .pmc-widget-inner > *:not(.pmc-widget-title){ display:none; }

@media (prefers-reduced-motion: reduce){
	*{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}
