/* ==========================================================================
   PharmaCare — Heven Health Pharmacy brand stylesheet
   Colors extracted from the pharmacy image provided by the client:
     Neon pharmacy green  #12E28E  — LED strip above the counter
     Dark teal signage    #0D2E28  — pharmacy sign background
     Navy counter         #1C2B3A  — reception desk / shelving unit
     Coral CTA            #FF6B4A  — high-contrast action color
   Type: Sora (display) · Inter (body) · IBM Plex Mono (prices/data)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root {
	/* Brand palette — Heven Health Pharmacy */
	--ink: #0D1F1A;
	--ink-soft: #4A5C56;
	--emerald: #0E9E6A;
	--emerald-bright: #12E28E;
	--emerald-deep: #0A7A50;
	--navy: #1C2B3A;
	--navy-mid: #243447;
	--coral: #FF6B4A;
	--coral-deep: #E44E30;
	--gold: #F4B942;
	--mist: #EDF7F2;
	--mist-deep: #DFF0E8;
	--paper: #FFFFFF;
	--line: #D8EBE2;
	--danger: #D63A2E;

	/* Layered warm-tinted shadows */
	--shadow-xs: 0 1px 2px rgba(13,31,26,.06);
	--shadow-sm: 0 2px 8px rgba(13,31,26,.07), 0 1px 2px rgba(13,31,26,.05);
	--shadow-md: 0 8px 24px rgba(13,31,26,.10), 0 2px 6px rgba(13,31,26,.06);
	--shadow-lg: 0 20px 48px rgba(13,31,26,.14), 0 6px 16px rgba(13,31,26,.08);
	--shadow-glow: 0 12px 32px rgba(18,226,142,.28);

	/* Shape */
	--r-sm: 10px; --r-md: 16px; --r-lg: 22px; --r-pill: 999px;

	/* Type */
	--f-display: 'Sora', -apple-system, sans-serif;
	--f-body: 'Inter', -apple-system, sans-serif;
	--f-mono: 'IBM Plex Mono', ui-monospace, monospace;

	/* Motion */
	--ease-out: cubic-bezier(0.16,1,0.3,1);
	--ease-spring: cubic-bezier(0.34,1.56,0.64,1);
	--t-fast: 180ms; --t-med: 320ms;

	--container: 1280px;
	--hero-bg-image: url('../images/hero-bg.jpg');
}

/* ── Reset & base ─────────────────────────────────────────────────────────── */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
body { margin: 0; font-family: var(--f-body); color: var(--ink); background: var(--paper); line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1,h2,h3,.pc-display { font-family: var(--f-display); color: var(--ink); line-height: 1.15; letter-spacing: -.01em; margin: 0; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--emerald-bright); outline-offset: 2px; border-radius: 4px; }
.pc-container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

/* ── Animations ───────────────────────────────────────────────────────────── */
.pc-reveal { opacity: 0; transform: translateY(24px); transition: opacity 700ms var(--ease-out), transform 700ms var(--ease-out); }
.pc-reveal.is-visible { opacity: 1; transform: translateY(0); }
.pc-reveal-stagger.is-visible > * { animation: pcFadeUp 600ms var(--ease-out) both; }
.pc-reveal-stagger.is-visible > *:nth-child(1) { animation-delay: 0ms; }
.pc-reveal-stagger.is-visible > *:nth-child(2) { animation-delay: 70ms; }
.pc-reveal-stagger.is-visible > *:nth-child(3) { animation-delay: 140ms; }
.pc-reveal-stagger.is-visible > *:nth-child(4) { animation-delay: 210ms; }
.pc-reveal-stagger.is-visible > *:nth-child(5) { animation-delay: 280ms; }
.pc-reveal-stagger.is-visible > *:nth-child(6) { animation-delay: 350ms; }
.pc-reveal-stagger.is-visible > *:nth-child(7) { animation-delay: 420ms; }
.pc-reveal-stagger.is-visible > *:nth-child(8) { animation-delay: 490ms; }
@keyframes pcFadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes pcPulse { 0%,100%{box-shadow:0 0 0 0 rgba(18,226,142,.45);} 70%{box-shadow:0 0 0 10px rgba(18,226,142,0);} }
@keyframes pcMarquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes pcFloat { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }
@keyframes pcSpinSlow { from{transform:rotate(0deg);} to{transform:rotate(360deg);} }

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.pc-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:15px 28px; border-radius:var(--r-pill); font-weight:700; font-size:14.5px; font-family:var(--f-body); cursor:pointer; border:2px solid transparent; transition:transform var(--t-fast) var(--ease-spring), box-shadow var(--t-fast), background var(--t-fast), border-color var(--t-fast); white-space:nowrap; }
.pc-btn:active { transform:scale(.97); }
.pc-btn--primary { background:var(--coral); color:#fff; box-shadow:0 10px 24px rgba(255,107,74,.32); }
.pc-btn--primary:hover { background:var(--coral-deep); transform:translateY(-2px); box-shadow:0 14px 30px rgba(255,107,74,.4); }
.pc-btn--outline { border-color:var(--ink); color:var(--ink); }
.pc-btn--outline:hover { background:var(--ink); color:#fff; transform:translateY(-2px); }
.pc-btn--light { background:rgba(255,255,255,.15); color:#fff; border-color:rgba(255,255,255,.5); backdrop-filter:blur(6px); }
.pc-btn--light:hover { background:#fff; color:var(--ink); }
.pc-btn--ghost { background:var(--mist); color:var(--emerald-deep); }
.pc-btn--ghost:hover { background:var(--mist-deep); }
.pc-btn--sm { padding:10px 18px; font-size:13px; }
.pc-btn--green { background:var(--emerald-bright); color:var(--ink); box-shadow:var(--shadow-glow); }
.pc-btn--green:hover { background:#0FC97E; transform:translateY(-2px); }

/* ── Top bar ──────────────────────────────────────────────────────────────── */
.pc-topbar { background:var(--navy); color:#CFEEE5; font-size:12.5px; font-family:var(--f-mono); }
.pc-topbar__inner { display:flex; justify-content:space-between; align-items:center; padding:9px 24px; }
.pc-topbar__message { display:flex; align-items:center; gap:8px; }
.pc-topbar__message::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--emerald-bright); animation:pcPulse 2s infinite; flex-shrink:0; }
.pc-topbar__menu ul { list-style:none; display:flex; gap:18px; margin:0; padding:0; }
.pc-topbar__menu a { opacity:.8; transition:opacity var(--t-fast); }
.pc-topbar__menu a:hover { opacity:1; }

/* ── Header ───────────────────────────────────────────────────────────────── */
.pc-header { background:rgba(255,255,255,.94); backdrop-filter:blur(16px); position:sticky; top:0; z-index:50; transition:box-shadow var(--t-med); border-bottom:1px solid var(--line); }
.pc-header--scrolled { box-shadow:var(--shadow-md); }
.pc-header__inner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; padding:16px 24px; }
.pc-header__site-name { font-family:var(--f-display); font-weight:800; font-size:22px; color:var(--emerald-deep); }
.pc-logo-cross { display:inline-flex; align-items:center; gap:10px; }
.pc-logo-cross__icon { width:28px; height:28px; background:var(--emerald-bright); border-radius:6px; display:flex; align-items:center; justify-content:center; color:var(--ink); font-weight:900; font-size:18px; line-height:1; }
.pc-header__search { display:flex; border-radius:var(--r-pill); overflow:hidden; background:var(--mist); border:1.5px solid transparent; transition:border-color var(--t-fast), background var(--t-fast); }
.pc-header__search:focus-within { border-color:var(--emerald-bright); background:#fff; box-shadow:var(--shadow-sm); }
.pc-header__search input { border:0; background:transparent; padding:12px 18px; flex:1; min-width:260px; font-family:var(--f-body); font-size:14px; }
.pc-header__search input:focus { outline:none; }
.pc-header__search button { border:0; background:var(--emerald); color:#fff; padding:0 22px; cursor:pointer; transition:background var(--t-fast); }
.pc-header__search button:hover { background:var(--emerald-deep); }
.pc-header-actions { display:flex; align-items:center; gap:8px; }
.pc-icon-link { position:relative; display:inline-flex; padding:10px; border-radius:var(--r-sm); transition:background var(--t-fast), transform var(--t-fast); }
.pc-icon-link:hover { background:var(--mist); transform:translateY(-1px); }
.pc-icon { width:21px; height:21px; display:inline-block; }
.pc-cart-count { position:absolute; top:4px; right:4px; background:var(--coral); color:#fff; font-size:10px; font-weight:700; border-radius:50%; width:17px; height:17px; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(255,107,74,.5); }
.pc-staff-login, .pc-staff-badge { font-size:13px; font-weight:700; padding:10px 18px; border-radius:var(--r-pill); background:var(--navy); color:#fff !important; transition:background var(--t-fast), transform var(--t-fast); }
.pc-staff-login:hover, .pc-staff-badge:hover { background:var(--emerald-deep); transform:translateY(-1px); }
.pc-header__nav { background:var(--paper); border-top:1px solid var(--line); }
.pc-menu { list-style:none; display:flex; gap:28px; margin:0; padding:12px 0; font-weight:600; font-size:14px; }
.pc-menu a { position:relative; padding:4px 0; }
.pc-menu a::after { content:''; position:absolute; left:0; bottom:-2px; width:0; height:2.5px; background:var(--emerald-bright); border-radius:2px; transition:width var(--t-med) var(--ease-out); }
.pc-menu a:hover::after { width:100%; }
.pc-menu-placeholder { padding:12px 0; color:var(--ink-soft); font-size:13px; }
.pc-nav-toggle { display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; border:0; background:var(--mist); border-radius:var(--r-sm); cursor:pointer; }
.pc-nav-toggle span { display:block; width:18px; height:2px; background:var(--ink); margin:0 auto; transition:transform var(--t-fast), opacity var(--t-fast); }
.pc-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.pc-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.pc-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ── Hero — full-bleed pharmacy photo ────────────────────────────────────── */
.pc-hero {
	position:relative; padding:80px 0 100px; overflow:hidden; isolation:isolate;
	background: var(--hero-bg-image) center 30% / cover no-repeat;
}
.pc-hero::before {
	content:''; position:absolute; inset:0; z-index:0;
	background:
		linear-gradient(135deg, rgba(13,31,26,.82) 0%, rgba(28,43,58,.62) 55%, rgba(13,31,26,.75) 100%);
}
/* Neon green glow at the top — echoes the LED strip in the photo */
.pc-hero::after {
	content:''; position:absolute; top:0; left:0; right:0; height:4px; z-index:1;
	background:linear-gradient(90deg, transparent, var(--emerald-bright), transparent);
	box-shadow:0 0 40px 6px rgba(18,226,142,.5);
}
.pc-hero__inner { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:48px; position:relative; z-index:1; }
.pc-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#B8F0D8; font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; background:rgba(18,226,142,.12); border:1px solid rgba(18,226,142,.3); padding:7px 14px; border-radius:var(--r-pill); }
.pc-eyebrow::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--emerald-bright); animation:pcPulse 2s infinite; }
.pc-hero h1 { font-size:clamp(34px,4.6vw,54px); color:#fff; margin:18px 0 18px; }
.pc-hero h1 em { font-style:normal; color:var(--emerald-bright); }
.pc-hero p { color:#C5E8D8; max-width:460px; margin-bottom:30px; font-size:16.5px; }
.pc-hero__actions { display:flex; gap:14px; flex-wrap:wrap; }
.pc-hero__media { position:relative; }
.pc-hero__art {
	aspect-ratio:1/1; border-radius:var(--r-lg);
	background:linear-gradient(135deg,rgba(18,226,142,.2),rgba(28,43,58,.4));
	border:1px solid rgba(18,226,142,.2); position:relative; overflow:hidden;
	animation:pcFloat 6s ease-in-out infinite; backdrop-filter:blur(4px);
}
.pc-hero__art::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 35% 30%,rgba(18,226,142,.2),transparent 60%); }
.pc-trust-card {
	position:absolute; left:-20px; bottom:-22px; background:#fff; border-radius:var(--r-md);
	box-shadow:var(--shadow-lg); padding:18px 20px; display:flex; align-items:center; gap:14px;
	max-width:264px; animation:pcFloat 5s ease-in-out infinite; animation-delay:.4s;
}
.pc-trust-card__badge { width:44px; height:44px; border-radius:50%; background:var(--mist); display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; }
.pc-trust-card__badge::after { content:''; position:absolute; inset:-3px; border-radius:50%; border:2px solid var(--emerald-bright); border-top-color:transparent; animation:pcSpinSlow 3s linear infinite; }
.pc-trust-card__dot { width:8px; height:8px; border-radius:50%; background:var(--emerald-bright); animation:pcPulse 2s infinite; }
.pc-trust-card strong { font-family:var(--f-display); font-size:14px; display:block; }
.pc-trust-card span { font-size:12.5px; color:var(--ink-soft); }
.pc-hero__stats { display:flex; gap:32px; margin-top:44px; padding-top:30px; border-top:1px solid rgba(255,255,255,.15); }
.pc-stat strong { display:block; font-family:var(--f-display); font-size:28px; color:var(--emerald-bright); }
.pc-stat span { font-size:12.5px; color:#9EC8B4; }

/* ── Section rhythm ───────────────────────────────────────────────────────── */
.pc-section { padding:72px 0; }
.pc-section--tight { padding:40px 0; }
.pc-section--mist { background:var(--mist); }
.pc-section--navy { background:var(--navy); color:#fff; }
.pc-section__eyebrow { color:var(--emerald); font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; }
.pc-section__title { font-size:clamp(24px,3vw,34px); margin:8px 0 0; }
.pc-section__header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:34px; gap:20px; flex-wrap:wrap; }
.pc-link { font-weight:700; color:var(--emerald-deep); display:inline-flex; align-items:center; gap:6px; transition:gap var(--t-fast); }
.pc-link:hover { gap:10px; }

/* ── Trust bar ────────────────────────────────────────────────────────────── */
.pc-trustbar__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pc-trust-item { display:flex; align-items:center; gap:14px; background:#fff; padding:18px; border-radius:var(--r-md); box-shadow:var(--shadow-sm); border:1px solid var(--line); transition:transform var(--t-fast) var(--ease-spring), box-shadow var(--t-fast); }
.pc-trust-item:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent; }
.pc-trust-item__icon { width:44px; height:44px; border-radius:12px; background:var(--mist); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--emerald); }
.pc-trust-item strong { display:block; font-size:14px; }
.pc-trust-item span { font-size:12.5px; color:var(--ink-soft); }

/* ── Category cards ───────────────────────────────────────────────────────── */
.pc-categories__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pc-category-card { background:#fff; border-radius:var(--r-lg); padding:26px 20px; text-align:center; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; align-items:center; gap:10px; transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med); border:1px solid var(--line); }
.pc-category-card:hover { transform:translateY(-6px) scale(1.015); box-shadow:var(--shadow-lg); border-color:transparent; }
.pc-category-card__placeholder, .pc-category-card img { width:60px; height:60px; border-radius:50%; object-fit:cover; background:linear-gradient(135deg,var(--mist),var(--mist-deep)); transition:transform var(--t-med) var(--ease-spring); }
.pc-category-card:hover img, .pc-category-card:hover .pc-category-card__placeholder { transform:scale(1.08) rotate(-4deg); }
.pc-category-card__name { font-weight:700; font-family:var(--f-display); font-size:15px; }
.pc-category-card__count { font-size:12px; color:var(--ink-soft); font-family:var(--f-mono); }

/* ── Product grid ─────────────────────────────────────────────────────────── */
.pc-product-grid, ul.products { display:grid !important; grid-template-columns:repeat(4,1fr); gap:24px; list-style:none; padding:0; margin:0; }
.pc-product-grid > *, ul.products li.product { position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:18px; overflow:hidden; transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med), border-color var(--t-med); }
.pc-product-grid > *:hover, ul.products li.product:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; }
ul.products li.product img { border-radius:var(--r-md); aspect-ratio:1/1; object-fit:cover; transition:transform var(--t-med) var(--ease-out); }
ul.products li.product:hover img { transform:scale(1.05); }
ul.products li.product .price { color:var(--emerald-deep); font-weight:700; font-family:var(--f-mono); font-size:15px; }
ul.products li.product .price del { color:var(--ink-soft); font-weight:400; opacity:.6; margin-right:6px; }
ul.products li.product .price ins { text-decoration:none; color:var(--coral-deep); }
ul.products li.product .button { display:block; text-align:center; margin-top:12px; padding:12px; border-radius:var(--r-pill); background:var(--navy); color:#fff; font-weight:700; font-size:13px; transition:background var(--t-fast), transform var(--t-fast); }
ul.products li.product .button:hover { background:var(--emerald-deep); transform:translateY(-2px); }
.pc-badges { display:flex; gap:6px; position:absolute; top:14px; left:14px; z-index:2; }
.pc-badge { font-size:10.5px; font-weight:700; padding:5px 10px; border-radius:var(--r-pill); color:#fff; letter-spacing:.02em; box-shadow:var(--shadow-sm); }
.pc-badge--sale { background:var(--coral); }
.pc-badge--rx { background:var(--navy); }
.pc-wishlist-btn { position:absolute; top:14px; right:14px; z-index:2; width:34px; height:34px; border-radius:50%; background:#fff; box-shadow:var(--shadow-sm); border:0; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform var(--t-fast) var(--ease-spring), background var(--t-fast); opacity:0; transform:translateY(-6px); }
li.product:hover .pc-wishlist-btn, .pc-product-grid > *:hover .pc-wishlist-btn { opacity:1; transform:translateY(0); }
.pc-wishlist-btn:hover { transform:scale(1.1); }
.pc-wishlist-btn.is-active svg { fill:var(--coral); stroke:var(--coral); }
.pc-wishlist-btn svg { width:16px; height:16px; fill:none; stroke:var(--ink); stroke-width:2; transition:fill var(--t-fast), stroke var(--t-fast); }

/* ── Offers ───────────────────────────────────────────────────────────────── */
.pc-offers__grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.pc-offer-banner { border-radius:var(--r-lg); padding:44px; color:#fff; position:relative; overflow:hidden; transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med); box-shadow:var(--shadow-md); }
.pc-offer-banner:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.pc-offer-banner::after { content:''; position:absolute; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.1); top:-80px; right:-60px; }
.pc-offer-banner--rx { background:linear-gradient(135deg,var(--navy),var(--navy-mid)); border:1px solid rgba(18,226,142,.2); }
.pc-offer-banner--wellness { background:linear-gradient(135deg,var(--coral),var(--coral-deep)); }
.pc-offer-banner h3 { font-family:var(--f-display); font-size:25px; margin:0 0 10px; position:relative; }
.pc-offer-banner p { opacity:.92; margin-bottom:22px; position:relative; max-width:320px; }

/* ── Rx upload ────────────────────────────────────────────────────────────── */
.pc-rx-upload__inner { display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
.pc-rx-upload__copy h2 { font-size:28px; margin-bottom:12px; }
.pc-rx-upload__copy p { color:var(--ink-soft); }
.pc-rx-upload__form { display:flex; flex-direction:column; gap:12px; background:#fff; padding:30px; border-radius:var(--r-lg); box-shadow:var(--shadow-lg); border:1px solid var(--line); }
.pc-rx-upload__form label { font-size:13px; font-weight:600; color:var(--ink-soft); }
.pc-rx-upload__form input { padding:12px 14px; border:1.5px solid var(--line); border-radius:var(--r-sm); font-family:var(--f-body); transition:border-color var(--t-fast), box-shadow var(--t-fast); }
.pc-rx-upload__form input:focus { outline:none; border-color:var(--emerald-bright); box-shadow:0 0 0 4px rgba(18,226,142,.12); }
.pc-rx-upload__status { font-size:13px; color:var(--ink-soft); min-height:18px; }

/* ── Brand marquee ────────────────────────────────────────────────────────── */
.pc-brandstrip { overflow:hidden; padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pc-brandstrip__track { display:flex; gap:64px; width:max-content; animation:pcMarquee 26s linear infinite; }
.pc-brandstrip__track span { font-family:var(--f-display); font-weight:700; font-size:20px; color:var(--ink-soft); opacity:.45; white-space:nowrap; }
.pc-brandstrip:hover .pc-brandstrip__track { animation-play-state:paused; }

/* ── Testimonials ─────────────────────────────────────────────────────────── */
.pc-testimonials__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pc-testimonial-card { background:#fff; padding:28px; border-radius:var(--r-lg); box-shadow:var(--shadow-sm); border:1px solid var(--line); transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med); }
.pc-testimonial-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.pc-testimonial-card__quote { font-size:38px; font-family:var(--f-display); color:var(--emerald-bright); line-height:1; margin-bottom:6px; }
.pc-testimonial-card blockquote { margin:0 0 18px; font-size:15px; color:var(--ink); }
.pc-testimonial-card__author { display:flex; align-items:center; gap:10px; }
.pc-testimonial-card__avatar { width:36px; height:36px; border-radius:50%; background:var(--navy); color:var(--emerald-bright); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--f-display); font-size:13px; flex-shrink:0; }
.pc-testimonial-card figcaption strong { display:block; font-size:13.5px; }
.pc-testimonial-card figcaption span { font-size:12px; color:var(--ink-soft); }
.pc-stars { color:var(--gold); font-size:13px; letter-spacing:1px; }

/* ── Footer ───────────────────────────────────────────────────────────────── */
.pc-footer { background:var(--navy); color:#C5E8D8; margin-top:40px; border-top:3px solid var(--emerald-bright); }
.pc-footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:32px; padding:60px 24px 48px; }
.pc-footer__col h4 { font-family:var(--f-display); margin-bottom:16px; font-size:14px; color:#fff; }
.pc-footer__col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.pc-footer__col a { color:#A8CFBE; font-size:14px; transition:color var(--t-fast); }
.pc-footer__col a:hover { color:var(--emerald-bright); }
.pc-newsletter-form { display:flex; gap:8px; }
.pc-newsletter-form input { flex:1; padding:12px 14px; border-radius:var(--r-sm); border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06); color:#fff; }
.pc-newsletter-form input::placeholder { color:#7AA894; }
.pc-newsletter-form button { padding:12px 18px; border:0; border-radius:var(--r-sm); background:var(--emerald-bright); color:var(--ink); cursor:pointer; font-weight:700; transition:background var(--t-fast); }
.pc-newsletter-form button:hover { background:#0FC97E; }
.pc-footer__bottom { border-top:1px solid rgba(255,255,255,.1); }
.pc-footer__bottom-inner { display:flex; justify-content:space-between; padding:20px 24px; font-size:13px; color:#7AA894; }
.pc-payment-icons { display:flex; gap:10px; }
.pc-payment-icon { background:rgba(255,255,255,.08); padding:5px 11px; border-radius:6px; font-size:11px; font-weight:700; font-family:var(--f-mono); }
.pc-to-top { position:fixed; right:22px; bottom:22px; width:46px; height:46px; border-radius:50%; background:var(--navy); color:var(--emerald-bright); border:2px solid var(--emerald-bright); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-glow); cursor:pointer; opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity var(--t-med), transform var(--t-med), background var(--t-fast); z-index:40; font-size:18px; }
.pc-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.pc-to-top:hover { background:var(--emerald-bright); color:var(--ink); }

/* ── Blog / page ──────────────────────────────────────────────────────────── */
.pc-post-list { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; padding:40px 0; }
.pc-post-card { border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med); }
.pc-post-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.pc-post-card__thumb img { width:100%; display:block; aspect-ratio:16/10; object-fit:cover; }
.pc-post-card__body { padding:18px; }
.pc-page { padding:56px 0; }
.pc-page__content h2, .pc-page__content h3 { font-family:var(--f-display); }

/* ── Article ──────────────────────────────────────────────────────────────── */
.pc-article { max-width:760px; margin:0 auto; padding:48px 0 64px; }
.pc-article__cats { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.pc-article__cat { background:var(--mist); color:var(--emerald-deep); font-size:12px; font-weight:700; padding:5px 12px; border-radius:var(--r-pill); text-transform:uppercase; letter-spacing:.04em; }
.pc-article__title { font-size:clamp(26px,3.5vw,40px); margin-bottom:16px; }
.pc-article__meta { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft); font-family:var(--f-mono); flex-wrap:wrap; }
.pc-article__meta-sep { opacity:.4; }
.pc-article__hero img { width:100%; border-radius:var(--r-lg); margin:28px 0; box-shadow:var(--shadow-md); }
.pc-article__body { line-height:1.8; font-size:16.5px; }
.pc-article__body p { margin-bottom:22px; }
.pc-article__body img { max-width:100%; border-radius:var(--r-md); }
.pc-article__footer { margin-top:48px; padding-top:28px; border-top:1px solid var(--line); }
.pc-article__tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
.pc-article__tag { background:var(--mist); font-size:12px; font-weight:600; padding:5px 12px; border-radius:var(--r-pill); }
.pc-article__author-box { display:flex; gap:16px; align-items:flex-start; background:var(--mist); padding:22px; border-radius:var(--r-lg); }
.pc-article__author-avatar { border-radius:50%; flex-shrink:0; }
.pc-article__related { margin-top:56px; padding-top:40px; border-top:1px solid var(--line); max-width:760px; margin-left:auto; margin-right:auto; }

/* ── FAQ ──────────────────────────────────────────────────────────────────── */
.pc-faq__item { border-bottom:1px solid var(--line); }
.pc-faq__question { width:100%; text-align:left; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; background:none; border:0; font-family:var(--f-body); font-size:16px; font-weight:600; color:var(--ink); cursor:pointer; transition:color var(--t-fast); }
.pc-faq__question:hover { color:var(--emerald-deep); }
.pc-faq__icon { width:28px; height:28px; border-radius:50%; background:var(--mist); display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:400; flex-shrink:0; color:var(--emerald); transition:transform var(--t-med) var(--ease-spring), background var(--t-fast); }
.pc-faq__question[aria-expanded="true"] .pc-faq__icon { transform:rotate(45deg); background:var(--emerald-bright); color:var(--ink); }
.pc-faq__answer { padding-bottom:20px; color:var(--ink-soft); line-height:1.75; }
.pc-faq__answer[hidden] { display:none; }

/* ── Contact ──────────────────────────────────────────────────────────────── */
.pc-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:0 0 56px; align-items:start; }
.pc-contact-info h2 { font-size:28px; margin-bottom:10px; }
.pc-contact-info__items { display:flex; flex-direction:column; gap:20px; margin-top:24px; }
.pc-contact-info__item { display:flex; align-items:flex-start; gap:14px; }
.pc-contact-info__icon { font-size:22px; flex-shrink:0; }
.pc-contact-info__item strong { display:block; font-size:14px; font-family:var(--f-display); }
.pc-contact-info__item a { color:var(--emerald-deep); font-size:15px; }
.pc-contact-info__item span { color:var(--ink-soft); font-size:14px; }

/* ── About ────────────────────────────────────────────────────────────────── */
.pc-about-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.pc-stat-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px; text-align:center; box-shadow:var(--shadow-sm); transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med); }
.pc-stat-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.pc-stat-card strong { display:block; font-family:var(--f-display); font-size:36px; color:var(--emerald-deep); }
.pc-stat-card span { font-size:13px; color:var(--ink-soft); }

/* ── Mobile nav ───────────────────────────────────────────────────────────── */
@media (max-width:780px) {
	.pc-header__inner { grid-template-columns:1fr auto; }
	.pc-header__search { display:none; }
	.pc-nav-toggle { display:flex; }
	.pc-header__nav { max-height:0; overflow:hidden; transition:max-height var(--t-med) var(--ease-out); }
	.pc-header__nav.is-open { max-height:400px; }
	.pc-menu { flex-direction:column; gap:4px; }
	.pc-hero__inner, .pc-rx-upload__inner, .pc-offers__grid, .pc-testimonials__grid, .pc-contact-layout { grid-template-columns:1fr; }
	.pc-categories__grid, .pc-product-grid, ul.products { grid-template-columns:repeat(2,1fr) !important; }
	.pc-trustbar__grid { grid-template-columns:repeat(2,1fr); }
	.pc-footer__grid { grid-template-columns:1fr 1fr; }
	.pc-about-grid { grid-template-columns:repeat(2,1fr); }
	.pc-hero__stats { flex-wrap:wrap; gap:20px; }
	.pc-hero { padding:52px 0 68px; }
}
@media (max-width:1080px) {
	.pc-hero__media { max-width:380px; }
}

/* ── Mini-cart sidebar ────────────────────────────────────────────────────── */
.pc-minicart-overlay { position:fixed; inset:0; background:rgba(13,31,26,.5); z-index:99; opacity:0; pointer-events:none; transition:opacity var(--t-med); }
.pc-cart-open .pc-minicart-overlay { opacity:1; pointer-events:auto; }
.pc-minicart {
	position:fixed; top:0; right:0; bottom:0; width:min(400px,100vw); z-index:100;
	background:#fff; box-shadow:var(--shadow-lg); display:flex; flex-direction:column;
	transform:translateX(100%); transition:transform var(--t-med) var(--ease-out);
}
.pc-cart-open .pc-minicart { transform:translateX(0); }
.pc-minicart__header { display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--line); }
.pc-minicart__title { font-family:var(--f-display); font-size:18px; margin:0; }
.pc-minicart__count { color:var(--ink-soft); font-weight:400; font-size:14px; }
.pc-minicart__close { width:34px; height:34px; border-radius:50%; border:0; background:var(--mist); cursor:pointer; font-size:20px; display:flex; align-items:center; justify-content:center; color:var(--ink); transition:background var(--t-fast); }
.pc-minicart__close:hover { background:var(--mist-deep); }
.pc-minicart__body { flex:1; overflow-y:auto; padding:16px 22px; }
.pc-minicart__footer { padding:16px 22px; border-top:1px solid var(--line); }
.pc-minicart__totals { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.pc-minicart__subtotal { font-family:var(--f-mono); font-size:18px; color:var(--emerald-deep); }
/* WooCommerce mini-cart inner styles */
.woocommerce-mini-cart { list-style:none; padding:0; margin:0; }
.woocommerce-mini-cart-item { display:grid; grid-template-columns:64px 1fr auto; gap:12px; align-items:start; padding:12px 0; border-bottom:1px solid var(--line); }
.woocommerce-mini-cart-item img { border-radius:var(--r-sm); }
.woocommerce-mini-cart-item .quantity { font-family:var(--f-mono); font-size:13px; color:var(--ink-soft); }
.woocommerce-mini-cart-item .remove { color:var(--ink-soft); font-size:20px; opacity:.5; transition:opacity var(--t-fast); }
.woocommerce-mini-cart-item .remove:hover { opacity:1; color:var(--danger); }

/* ── Blog ─────────────────────────────────────────────────────────────────── */
.pc-blog-hero { background: var(--hero-bg-image) center 30%/cover no-repeat; position:relative; padding:60px 0 80px; }
.pc-blog-hero::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(13,31,26,.80),rgba(28,43,58,.65)); }
.pc-blog-hero > * { position:relative; z-index:1; }
.pc-blog-hero .pc-container { position:relative; z-index:1; }
.pc-blog-layout { display:grid; grid-template-columns:1fr 320px; gap:40px; padding:48px 0 64px; align-items:start; }
.pc-blog-grid { display:flex; flex-direction:column; gap:32px; }
.pc-blog-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med); }
.pc-blog-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.pc-blog-card__image { display:block; position:relative; aspect-ratio:16/9; overflow:hidden; }
.pc-blog-card__image img { width:100%; height:100%; object-fit:cover; transition:transform var(--t-med) var(--ease-out); }
.pc-blog-card:hover .pc-blog-card__image img { transform:scale(1.04); }
.pc-blog-card__cat { position:absolute; top:14px; left:14px; background:var(--emerald-bright); color:var(--ink); font-size:11px; font-weight:700; padding:5px 11px; border-radius:var(--r-pill); }
.pc-blog-card__body { padding:24px; }
.pc-blog-card__meta { font-size:12.5px; color:var(--ink-soft); font-family:var(--f-mono); display:flex; gap:8px; align-items:center; margin-bottom:10px; }
.pc-blog-card__meta-sep { opacity:.4; }
.pc-blog-card__title { font-family:var(--f-display); font-size:20px; margin:0 0 12px; }
.pc-blog-card__title a:hover { color:var(--emerald-deep); }
.pc-blog-card__excerpt { color:var(--ink-soft); font-size:14.5px; line-height:1.7; margin-bottom:16px; }
.pc-blog-card__cta { font-weight:700; color:var(--emerald-deep); font-size:14px; }
.pc-blog-pagination { margin-top:16px; }
.pc-blog-sidebar { display:flex; flex-direction:column; gap:24px; position:sticky; top:90px; }
.pc-blog-sidebar__widget { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow-sm); }
.pc-blog-sidebar__title { font-family:var(--f-display); font-size:15px; font-weight:700; margin-bottom:16px; padding-bottom:10px; border-bottom:2px solid var(--mist-deep); }
.pc-blog-sidebar__widget ul { list-style:none; padding:0; margin:0; }
.pc-blog-sidebar__widget li { padding:8px 0; border-bottom:1px solid var(--line); font-size:14px; }
.pc-blog-sidebar__widget a { transition:color var(--t-fast); }
.pc-blog-sidebar__widget a:hover { color:var(--emerald); }
.pc-blog-sidebar__recent { display:flex; gap:12px; margin-bottom:12px; }
.pc-blog-sidebar__recent img { width:56px; height:56px; object-fit:cover; border-radius:var(--r-sm); flex-shrink:0; }
.pc-blog-sidebar__recent a { font-size:13.5px; font-weight:600; display:block; margin-bottom:4px; }
.pc-blog-sidebar__recent span { font-size:12px; color:var(--ink-soft); font-family:var(--f-mono); }
.pc-blog-sidebar__cta { background:var(--navy); color:#fff; }
.pc-blog-sidebar__cta h3 { color:#fff; margin-bottom:8px; }
.pc-blog-sidebar__cta p { color:#A8CFBE; font-size:13.5px; margin-bottom:16px; }

/* ── Services ─────────────────────────────────────────────────────────────── */
.pc-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pc-service-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px; box-shadow:var(--shadow-sm); transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med); }
.pc-service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.pc-service-card__icon { font-size:32px; margin-bottom:14px; }
.pc-service-card__title { font-family:var(--f-display); font-size:17px; margin-bottom:10px; }
.pc-service-card__desc { color:var(--ink-soft); font-size:14px; line-height:1.7; }

/* ── Team ─────────────────────────────────────────────────────────────────── */
.pc-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pc-team-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:30px; text-align:center; box-shadow:var(--shadow-sm); transition:transform var(--t-med) var(--ease-spring), box-shadow var(--t-med); }
.pc-team-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.pc-team-card__avatar { width:72px; height:72px; border-radius:50%; background:var(--navy); color:var(--emerald-bright); font-family:var(--f-display); font-size:28px; font-weight:700; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.pc-team-card__name { font-family:var(--f-display); font-size:18px; margin-bottom:6px; }
.pc-team-card__role { display:inline-block; background:var(--mist); color:var(--emerald-deep); font-size:12px; font-weight:700; padding:4px 12px; border-radius:var(--r-pill); margin-bottom:14px; }
.pc-team-card__bio { color:var(--ink-soft); font-size:14px; line-height:1.65; }

/* ── Order Tracking ───────────────────────────────────────────────────────── */
.pc-tracking-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:32px; box-shadow:var(--shadow-md); margin-bottom:28px; }
.pc-tracking-help { background:var(--mist); border-radius:var(--r-md); padding:22px; }
.pc-tracking-help h3 { font-family:var(--f-display); font-size:16px; margin-bottom:8px; }
.pc-tracking-help p { color:var(--ink-soft); font-size:14px; }
.pc-tracking-help a { color:var(--emerald-deep); font-weight:600; }

/* ── Widgets ──────────────────────────────────────────────────────────────── */
.pc-hours-table { width:100%; border-collapse:collapse; font-size:14px; }
.pc-hours-table td { padding:7px 0; border-bottom:1px solid var(--line); }
.pc-hours-table__day { color:var(--ink-soft); }
.pc-hours-table__time { text-align:right; font-family:var(--f-mono); font-weight:600; color:var(--emerald-deep); }
.pc-hours-table__note { font-size:12px; color:var(--ink-soft); margin-top:10px; }
.pc-contact-widget { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.pc-contact-widget li { display:flex; align-items:flex-start; gap:8px; font-size:14px; }
.pc-contact-widget a { color:var(--emerald-deep); transition:color var(--t-fast); }
.pc-contact-widget a:hover { color:var(--emerald); }
.pc-widget-products { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.pc-widget-product a { display:flex; gap:12px; align-items:center; }
.pc-widget-product__img img { width:56px; height:56px; object-fit:cover; border-radius:var(--r-sm); flex-shrink:0; }
.pc-widget-product__name { font-size:13.5px; font-weight:600; display:block; }
.pc-widget-product__price { font-family:var(--f-mono); font-size:13px; color:var(--emerald-deep); }

/* ── Responsive additions ─────────────────────────────────────────────────── */
@media (max-width:900px) {
	.pc-blog-layout { grid-template-columns:1fr; }
	.pc-blog-sidebar { position:static; }
	.pc-services-grid, .pc-team-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
	.pc-services-grid, .pc-team-grid { grid-template-columns:1fr; }
}

/* ── Recently Viewed ──────────────────────────────────────────────────────── */
.pc-recently-viewed { padding:36px 0; border-top:1px solid var(--line); }
.pc-rv-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.pc-rv-item { background:var(--mist); border:1px solid var(--line); border-radius:var(--r-sm); padding:9px 16px; font-size:13.5px; font-weight:600; transition:background var(--t-fast), border-color var(--t-fast); }
.pc-rv-item:hover { background:var(--mist-deep); border-color:var(--emerald-bright); }

/* ── Hero Slider ──────────────────────────────────────────────────────────── */
.pc-slider { position:relative; overflow:hidden; }
.pc-slider__track { display:flex; transition:transform var(--t-med) var(--ease-out); }
.pc-slider__slide { min-width:100%; flex-shrink:0; }
.pc-slider__slide:not(.is-active) { display:none; }
.pc-slider__slide.is-active { display:block; }
.pc-slider__dots { position:absolute; bottom:20px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:4; }
.pc-slider__dot { width:10px; height:10px; border-radius:50%; border:2px solid rgba(255,255,255,.6); background:transparent; cursor:pointer; transition:background var(--t-fast), transform var(--t-fast); padding:0; }
.pc-slider__dot.is-active { background:#fff; transform:scale(1.2); }
.pc-slider__arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:22px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background var(--t-fast); backdrop-filter:blur(4px); }
.pc-slider__arrow:hover { background:rgba(255,255,255,.28); }
.pc-slider__arrow--prev { left:18px; }
.pc-slider__arrow--next { right:18px; }
/* Hero slide styles shared with the static hero */
.pc-hero--slide { padding:80px 0 100px; }

/* ── Filter Bar (Layout 1) ────────────────────────────────────────────────── */
.pc-filterbar { background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow-sm); position:relative; z-index:10; }
.pc-filterbar__inner { display:flex; align-items:center; gap:0; padding:0 24px; flex-wrap:wrap; }
.pc-filterbar__tabs { display:flex; gap:0; flex:1; }
.pc-filterbar__tab { display:flex; align-items:center; gap:8px; padding:16px 20px; font-weight:600; font-size:13.5px; border-bottom:3px solid transparent; white-space:nowrap; color:var(--ink-soft); transition:color var(--t-fast), border-color var(--t-fast); }
.pc-filterbar__tab:hover { color:var(--emerald-deep); border-color:var(--emerald-bright); }
.pc-filterbar__search { display:flex; align-items:center; gap:0; border:1.5px solid var(--line); border-radius:var(--r-pill); overflow:hidden; padding-left:14px; }
.pc-filterbar__search input { border:0; background:transparent; padding:11px 0; font-family:var(--f-body); font-size:13.5px; min-width:220px; }
.pc-filterbar__search input:focus { outline:none; }

/* ── Countdown Timer ──────────────────────────────────────────────────────── */
.pc-countdown { display:flex; align-items:center; gap:6px; }
.pc-countdown__block { display:flex; flex-direction:column; align-items:center; background:var(--ink); border-radius:var(--r-sm); padding:8px 12px; min-width:50px; }
.pc-countdown__num { font-family:var(--f-mono); font-size:22px; font-weight:700; color:#fff; line-height:1; }
.pc-countdown__label { font-size:9px; color:#9EC8B4; text-transform:uppercase; letter-spacing:.08em; margin-top:2px; }
.pc-countdown__sep { font-family:var(--f-mono); font-size:22px; font-weight:700; color:var(--ink); }
.pc-countdown--light .pc-countdown__block { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.2); }
.pc-countdown--light .pc-countdown__num { color:#fff; }
.pc-countdown--light .pc-countdown__label { color:rgba(255,255,255,.7); }
.pc-countdown--light .pc-countdown__sep { color:#fff; }

/* ── Tabbed Products (Layout 1) ───────────────────────────────────────────── */
.pc-tabs__nav { display:flex; gap:0; border:1.5px solid var(--line); border-radius:var(--r-pill); overflow:hidden; }
.pc-tab-btn { padding:10px 20px; border:0; background:transparent; font-family:var(--f-body); font-weight:700; font-size:13px; cursor:pointer; color:var(--ink-soft); transition:background var(--t-fast), color var(--t-fast); }
.pc-tab-btn.is-active { background:var(--emerald); color:#fff; }
.pc-tab-btn:hover:not(.is-active) { background:var(--mist); }
.pc-tab-panel { display:none; }
.pc-tab-panel.is-active { display:block; }

/* ── Layout 2 — Masthead ──────────────────────────────────────────────────── */
.pc-l2-masthead { background:var(--mist); }
.pc-l2-masthead__inner { display:grid; grid-template-columns:240px 1fr; gap:0; align-items:stretch; }
.pc-l2-cats { background:#fff; border-right:1px solid var(--line); min-height:380px; }
.pc-l2-cats__header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; background:var(--emerald); color:#fff; font-weight:700; font-size:14px; }
.pc-l2-cats__icon { font-size:18px; }
.pc-l2-cats__list { list-style:none; padding:0; margin:0; }
.pc-l2-cats__item a { display:flex; align-items:center; padding:11px 20px; font-size:14px; font-weight:500; color:var(--ink); border-bottom:1px solid var(--line); transition:background var(--t-fast), color var(--t-fast); }
.pc-l2-cats__item a:hover { background:var(--mist); color:var(--emerald-deep); }
.pc-l2-cats__count { font-size:12px; color:var(--ink-soft); margin-left:6px; }
.pc-l2-cats__arrow { margin-left:auto; color:var(--ink-soft); }
.pc-l2-hero { position:relative; overflow:hidden; }
.pc-l2-hero .pc-slider, .pc-l2-hero .pc-slider__track, .pc-l2-hero .pc-slider__slide { height:100%; min-height:380px; }
.pc-l2-hero__slide { background:var(--hero-bg-image) center 30%/cover no-repeat; position:relative; display:flex; align-items:center; min-height:380px; }
.pc-l2-hero__slide::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(13,31,26,.82),rgba(28,43,58,.55)); }
.pc-l2-hero__content { position:relative; z-index:1; padding:40px 48px; color:#fff; max-width:480px; }
.pc-l2-hero__art { position:absolute; right:40px; top:50%; transform:translateY(-50%); width:240px; height:240px; border-radius:50%; background:radial-gradient(circle at 35%,rgba(18,226,142,.3),rgba(28,43,58,.2)); z-index:0; }

/* ── Layout 2 — Advanced Filter Bar ──────────────────────────────────────── */
.pc-l2-filterbar { background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow-sm); }
.pc-l2-filterbar__form { display:flex; align-items:center; gap:0; padding:14px 24px; }
.pc-l2-filterbar__group { display:flex; flex-direction:column; gap:3px; flex:1; padding:0 16px; }
.pc-l2-filterbar__group:first-child { padding-left:0; }
.pc-l2-filterbar__label { font-size:11px; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em; }
.pc-l2-filterbar__input, .pc-l2-filterbar__select { border:0; background:transparent; font-family:var(--f-body); font-size:14px; color:var(--ink); padding:0; }
.pc-l2-filterbar__input:focus, .pc-l2-filterbar__select:focus { outline:none; }
.pc-l2-filterbar__sep { width:1px; height:40px; background:var(--line); flex-shrink:0; }

/* ── Layout 2 — Featured Card + Grid ─────────────────────────────────────── */
.pc-l2-feature-section { }
.pc-l2-feature-layout { display:grid; grid-template-columns:260px 1fr; gap:20px; }
.pc-l2-feature-card { background:linear-gradient(150deg,var(--navy),var(--navy-mid)); border-radius:var(--r-lg); padding:32px; display:flex; flex-direction:column; justify-content:center; box-shadow:var(--shadow-md); }
.pc-l2-feature-card h3 { font-family:var(--f-display); font-size:22px; color:#fff; margin:10px 0 10px; }
.pc-l2-feature-card p { color:#A8CFBE; font-size:14px; line-height:1.65; margin-bottom:20px; }
.pc-l2-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }

/* ── Layout 2 — Deals Card ────────────────────────────────────────────────── */
.pc-l2-deals__layout { display:grid; grid-template-columns:280px 1fr; gap:20px; align-items:start; }
.pc-l2-deals__card { background:linear-gradient(150deg,var(--navy),var(--emerald-deep)); border-radius:var(--r-lg); padding:32px; min-height:380px; display:flex; flex-direction:column; justify-content:center; box-shadow:var(--shadow-md); }
.pc-l2-deals__products { display:flex; flex-direction:column; gap:0; }
.pc-deal-row { display:grid; grid-template-columns:72px 1fr auto; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
.pc-deal-row__img img { width:72px; height:72px; border-radius:var(--r-sm); object-fit:cover; }
.pc-deal-row__name { font-weight:600; font-size:14px; display:block; margin-bottom:6px; }
.pc-deal-row__price { font-family:var(--f-mono); font-size:13px; color:var(--emerald-deep); }
.pc-deal-row__cta { font-size:12px; font-weight:700; color:var(--emerald-deep); padding:8px 14px; border:1.5px solid var(--line); border-radius:var(--r-pill); white-space:nowrap; transition:background var(--t-fast), color var(--t-fast); }
.pc-deal-row__cta:hover { background:var(--emerald); color:#fff; border-color:transparent; }

/* ── Responsive additions ─────────────────────────────────────────────────── */
@media (max-width:900px) {
	.pc-l2-masthead__inner { grid-template-columns:1fr; }
	.pc-l2-cats { display:none; }
	.pc-l2-feature-layout, .pc-l2-deals__layout { grid-template-columns:1fr; }
	.pc-l2-feature-grid { grid-template-columns:repeat(2,1fr); }
	.pc-filterbar__tabs { overflow-x:auto; }
	.pc-l2-filterbar__form { flex-wrap:wrap; gap:10px; }
	.pc-l2-filterbar__group { flex:1 1 45%; }
	.pc-l2-filterbar__sep { display:none; }
}

/* ── Quick View ───────────────────────────────────────────────────────────── */
.pc-qv-overlay { position:fixed;inset:0;background:rgba(13,31,26,.55);z-index:200;opacity:0;pointer-events:none;transition:opacity var(--t-med); }
.pc-qv-overlay.is-open { opacity:1;pointer-events:auto; }
.pc-qv { position:fixed;top:50%;left:50%;transform:translate(-50%,-48%) scale(.97);z-index:201;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:min(880px,96vw);max-height:90vh;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity var(--t-med) var(--ease-out),transform var(--t-med) var(--ease-out); }
.pc-qv.is-open { opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1); }
.pc-qv__close { position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:0;background:var(--mist);cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;z-index:1; }
.pc-qv__content { padding:32px; }
.pc-qv__inner { display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start; }
.pc-qv__gallery img { width:100%;border-radius:var(--r-md); }
.pc-qv__title { font-family:var(--f-display);font-size:22px;margin-bottom:10px; }
.pc-qv__price { font-family:var(--f-mono);font-size:22px;color:var(--emerald-deep);font-weight:700;margin-bottom:12px; }
.pc-qv__desc { color:var(--ink-soft);font-size:14.5px;line-height:1.7;margin-bottom:16px; }
.pc-qv__stock { display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:5px 12px;border-radius:var(--r-pill); }
.pc-qv__stock--in { background:#E5F9F0;color:#0A7A50; }
.pc-qv__stock--out { background:#FDE8E8;color:var(--danger); }
.pc-qv__actions { display:flex;flex-direction:column;gap:10px;margin-top:20px; }
.pc-qv__loading { text-align:center;padding:60px;color:var(--ink-soft); }

/* Quick View trigger button on product cards */
.pc-qv-trigger { position:absolute;bottom:0;left:0;right:0;padding:10px;background:var(--ink);color:#fff;border:0;font-weight:700;font-size:13px;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity var(--t-fast),transform var(--t-fast) var(--ease-spring);border-radius:0 0 var(--r-lg) var(--r-lg); }
li.product:hover .pc-qv-trigger, .pc-product-grid > *:hover .pc-qv-trigger { opacity:1;transform:translateY(0); }
li.product { padding-bottom:50px; } /* make room for QV trigger */

/* ── Stock Progress Bar ───────────────────────────────────────────────────── */
.pc-stock-bar__label { display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px;color:var(--ink-soft); }
.pc-stock-bar__label strong { color:var(--ink);font-weight:700; }
.pc-stock-bar__track { height:6px;background:var(--line);border-radius:var(--r-pill);overflow:hidden; }
.pc-stock-bar__fill { height:100%;border-radius:var(--r-pill);transition:width 1s var(--ease-out); }

/* ── Live Search Dropdown ─────────────────────────────────────────────────── */
.pc-header__search { position:relative; }
.pc-search-dropdown { position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden; }
.pc-search-dropdown[hidden] { display:none; }
.pc-search-dropdown__results { max-height:360px;overflow-y:auto; }
.pc-search-result { display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);transition:background var(--t-fast); }
.pc-search-result:hover { background:var(--mist); }
.pc-search-result img { width:52px;height:52px;object-fit:cover;border-radius:var(--r-sm); }
.pc-search-result__name { font-weight:600;font-size:14px; }
.pc-search-result__sku { font-size:11px;color:var(--ink-soft);font-family:var(--f-mono); }
.pc-search-result__price { font-family:var(--f-mono);font-weight:700;color:var(--emerald-deep);font-size:14px; }
.pc-search-dropdown__all { display:block;padding:12px 16px;text-align:center;font-weight:700;font-size:13px;color:var(--emerald-deep);background:var(--mist); }

/* ── WhatsApp button ──────────────────────────────────────────────────────── */
.pc-whatsapp-btn { position:fixed;right:20px;bottom:80px;z-index:90;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.4);transition:transform var(--t-fast) var(--ease-spring),box-shadow var(--t-fast); }
.pc-whatsapp-btn:hover { transform:scale(1.1);box-shadow:0 8px 28px rgba(37,211,102,.5); }

/* ── Cookie consent ───────────────────────────────────────────────────────── */
.pc-cookie-banner { position:fixed;bottom:0;left:0;right:0;z-index:999;background:#fff;border-top:1px solid var(--line);box-shadow:var(--shadow-lg);transform:translateY(100%);transition:transform var(--t-med) var(--ease-out); }
.pc-cookie-banner.is-visible { transform:translateY(0); }
.pc-cookie-banner__inner { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;flex-wrap:wrap; }
.pc-cookie-banner__text { display:flex;flex-direction:column;gap:3px; }
.pc-cookie-banner__text strong { font-size:14px; }
.pc-cookie-banner__text span { font-size:13px;color:var(--ink-soft); }
.pc-cookie-banner__text a { color:var(--emerald-deep);font-weight:600; }
.pc-cookie-banner__actions { display:flex;gap:10px;flex-shrink:0; }

/* ── Social Share ─────────────────────────────────────────────────────────── */
.pc-social-share { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.pc-social-share__label { font-size:13px;font-weight:700;color:var(--ink-soft); }
.pc-social-share__btn { width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--share-color,var(--mist));color:#fff;transition:transform var(--t-fast) var(--ease-spring),opacity var(--t-fast); }
.pc-social-share__btn:hover { transform:scale(1.12);opacity:.9; }

/* ── Breadcrumbs ──────────────────────────────────────────────────────────── */
.pc-breadcrumbs { background:var(--mist);border-bottom:1px solid var(--line); }
.pc-breadcrumbs__list { display:flex;align-items:center;gap:6px;list-style:none;padding:12px 24px;margin:0;max-width:var(--container);margin-left:auto;margin-right:auto;font-size:13px; }
.pc-breadcrumbs__list li { display:flex;align-items:center;gap:6px;color:var(--ink-soft); }
.pc-breadcrumbs__list li::before { content:'›';color:var(--line); }
.pc-breadcrumbs__list li:first-child::before { display:none; }
.pc-breadcrumbs__list a { color:var(--emerald-deep);transition:color var(--t-fast); }
.pc-breadcrumbs__list a:hover { color:var(--emerald); }
.pc-breadcrumbs__list .is-current { color:var(--ink);font-weight:600; }

/* ── Store Locator ────────────────────────────────────────────────────────── */
.pc-store-locator { display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;padding-bottom:56px; }
.pc-store-locator__map { height:480px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);background:var(--mist); }
.pc-store-locator__map iframe { width:100%;height:100%; }
.pc-store-locator__map-placeholder { display:flex;align-items:center;justify-content:center;height:100%; }
.pc-store-info-card { background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-sm); }
.pc-store-info-card h2 { font-family:var(--f-display);font-size:20px;margin-bottom:20px; }
.pc-store-info-card__row { display:flex;gap:14px;margin-bottom:20px; }
.pc-store-info-card__icon { font-size:20px;flex-shrink:0;margin-top:2px; }
.pc-store-info-card__row strong { display:block;font-size:13.5px;margin-bottom:4px; }
.pc-store-info-card__row p { color:var(--ink-soft);font-size:14px;margin:0; }
.pc-store-info-card__row a { color:var(--emerald-deep); }
@media (max-width:900px) {
	.pc-store-locator { grid-template-columns:1fr; }
	.pc-store-locator__map { height:300px; }
	.pc-qv__inner { grid-template-columns:1fr; }
}

/* ── Team card photo ─────────────────────────────────────────────────────── */
.pc-team-card__photo { width:120px; height:120px; border-radius:50%; overflow:hidden; margin:0 auto 16px; border:4px solid var(--mist-deep); box-shadow:var(--shadow-sm); }
.pc-team-card__photo img { width:100%; height:100%; object-fit:cover; }
