/* ==========================================================================
   Afya – Pharmacy WooCommerce Theme
   ========================================================================== */
:root {
	--afya-primary: #012b81;
	--afya-primary-2: #003da0;
	--afya-accent: #e9002b;
	--afya-accent-dark: #c80025;
	--afya-link: #2563eb;
	--afya-ink: #111828;
	--afya-text: #536887;
	--afya-muted: #64748b;
	--afya-gray: #9ca2ae;
	--afya-tint: #eef7ff;
	--afya-tint-2: #eff6fe;
	--afya-tint-3: #f7faff;
	--afya-line: #dee5ef;
	--afya-line-2: #dce8f8;
	--afya-line-3: #bacbe5;
	--afya-bg: #f9fafc;
	--afya-green: #166534;
	--afya-green-bg: #edf8f0;
	--afya-badge: #dc2626;
	--afya-radius: 8px;
	--afya-font: "Outfit", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--afya-shadow: 0 10px 30px rgba(1, 43, 129, .12);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.afya {
	margin: 0;
	background: var(--afya-bg);
	color: var(--afya-text);
	font-family: var(--afya-font);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.afya img { max-width: 100%; height: auto; }
:where(.afya) a { color: var(--afya-primary); text-decoration: none; }
:where(.afya) a:hover { color: var(--afya-primary-2); }
:where(.afya) :where(h1, h2, h3, h4, h5) { color: var(--afya-primary); font-family: var(--afya-font); margin: 0; line-height: 1.2; }
:where(.afya) :where(p) { margin: 0; }
.afya button, .afya input, .afya select, .afya textarea { font-family: inherit; font-size: inherit; }
.afya button { cursor: pointer; }
.afya [hidden] { display: none !important; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.afya-skip:focus { clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000; left: 8px; top: 8px; padding: 10px 16px; background: #fff; color: var(--afya-primary); border-radius: 6px; }
:focus-visible { outline: 2px solid var(--afya-link); outline-offset: 2px; }
.afya-icon { display: inline-block; vertical-align: middle; flex: none; }

.afya-wrap { max-width: 1572px; margin: 0 auto; padding: 0 16px; }

/* ---------- Buttons ---------- */
.afya-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 44px; padding: 0 18px; border-radius: 4px; border: 1px solid transparent;
	font-weight: 600; font-size: 15px; line-height: 1; white-space: nowrap;
	transition: background .15s, color .15s, border-color .15s, box-shadow .15s;
}
.afya .afya-btn--accent, .afya .afya-btn--accent:visited { background: var(--afya-accent); color: #fff; }
.afya .afya-btn--accent:hover { background: var(--afya-accent-dark); color: #fff; }
.afya .afya-btn--primary { background: var(--afya-primary); color: #fff; }
.afya .afya-btn--primary:hover { background: var(--afya-primary-2); color: #fff; }
.afya .afya-btn--primary:disabled { opacity: .45; cursor: not-allowed; }
.afya .afya-btn--outline { background: #fff; color: var(--afya-primary); border-color: var(--afya-line-3); }
.afya .afya-btn--outline:hover { border-color: var(--afya-primary); }
.afya .afya-btn--ghost { background: transparent; color: var(--afya-primary); border-color: var(--afya-line); }
.afya .afya-btn--wa { background: #1eba57; color: #fff; }
.afya .afya-btn--wa:hover { background: #179a47; color: #fff; }
.afya .afya-btn--chip { height: 30px; padding: 0 10px; font-size: 13px; background: #fff; color: var(--afya-primary); border-color: var(--afya-line-3); border-radius: 6px; }
.afya-btn--block { width: 100%; }
.afya-btn--lg { height: 46px; }
.afya-link-arrow { font-weight: 600; font-size: 15px; color: var(--afya-primary); white-space: nowrap; }

/* ==========================================================================
   Header
   ========================================================================== */
.afya-topbar { background: var(--afya-primary); color: #fff; font-size: 13px; font-weight: 500; text-align: center; }
.afya-topbar .afya-wrap { height: 36px; display: flex; align-items: center; justify-content: center; }
.afya-topbar__m { display: none; }

.afya-header { position: sticky; top: 0; z-index: 50; background: #fff; }
.admin-bar .afya-header { top: 32px; }
.afya-header__main { border-bottom: 1px solid #eef1f5; }
.afya-header__row { display: grid; grid-template-columns: 246px minmax(0, 760px) 1fr; align-items: center; height: 80px; }
.afya-burger { display: none; }
.afya-logo { line-height: 0; }
.afya-logo img, .afya-logo .custom-logo { height: 46px; width: auto; max-width: 200px; object-fit: contain; }
.afya-logo__text { font-size: 26px; font-weight: 800; color: var(--afya-primary) !important; line-height: 1; }

.afya-search { position: relative; display: flex; align-items: center; height: 48px; background: var(--afya-tint-3); border: 1px solid var(--afya-line-3); border-radius: 6px; padding: 2px; }
.afya-search__icon { position: absolute; left: 16px; color: #475569; pointer-events: none; }
.afya-search input[type="search"] { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; padding: 0 12px 0 44px; font-size: 15px; color: var(--afya-ink); outline: none; }
.afya-search input::placeholder { color: var(--afya-muted); }
.afya-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.afya-search__btn { height: 100%; padding: 0 24px; border: 0; border-radius: 4px; background: var(--afya-accent); color: #fff; font-weight: 600; font-size: 15px; }
.afya-search__btn:hover { background: var(--afya-accent-dark); }

.afya-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 26px; }
.afya-deliver { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px 0 14px; border: 1px solid #e2e8f0; border-radius: 999px; background: var(--afya-bg); color: var(--afya-muted); text-align: left; margin-right: 6px; }
.afya-deliver__txt { display: flex; flex-direction: column; line-height: 1.1; max-width: 140px; }
.afya-deliver__txt small { font-size: 10px; font-weight: 600; letter-spacing: .6px; text-transform: uppercase; color: #94a3b8; }
.afya-deliver__txt strong { font-size: 13px; font-weight: 600; color: #0c1729; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.afya-hicon { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--afya-primary) !important; font-size: 15px; font-weight: 500; line-height: 1; }
.afya-hicon:hover { color: var(--afya-primary-2) !important; }
.afya-badge { position: absolute; top: -10px; right: -12px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--afya-accent); color: #fff; font-size: 11px; font-style: normal; font-weight: 600; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.afya-hicon--cart .afya-badge { right: -14px; }
.afya-header__mloc { display: none; }

.afya-nav { border-bottom: 1px solid #e5e7eb; background: #fff; }
.afya-nav__row { position: relative; display: flex; align-items: center; justify-content: space-between; height: 60px; }
.afya-nav__list { display: flex; align-items: center; gap: 40px; list-style: none; margin: 0; padding: 0 0 0 10px; height: 100%; }
.afya-nav__item { position: relative; height: 100%; display: flex; align-items: center; }
.afya-nav__item.afya-nav__item--mega { position: static; }
.afya-nav__link { display: inline-flex; align-items: center; gap: 8px; height: 100%; padding: 0; border: 0; background: none; color: var(--afya-primary) !important; font-weight: 600; font-size: 15px; white-space: nowrap; }
.afya-nav__link .afya-icon { transition: transform .2s; }
.afya-nav__item.is-open .afya-nav__link .afya-icon { transform: rotate(180deg); }
.afya-nav__item.is-active > .afya-nav__link { box-shadow: inset 0 -3px 0 var(--afya-accent); }
.afya-nav__sub { position: absolute; top: 100%; left: -16px; min-width: 220px; list-style: none; margin: 0; padding: 8px; background: #fff; border: 1px solid var(--afya-line); border-radius: 10px; box-shadow: var(--afya-shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .15s; }
.afya-nav__item--drop:hover .afya-nav__sub, .afya-nav__item--drop:focus-within .afya-nav__sub { opacity: 1; visibility: visible; transform: none; }
.afya-nav__sub a { display: block; padding: 8px 12px; border-radius: 6px; font-weight: 500; }
.afya-nav__sub a:hover { background: var(--afya-tint); }
.afya-nav__rx { height: 44px; padding: 0 18px; margin-right: 10px; }

.afya-mega { position: absolute; top: calc(100% + 1px); left: 16px; right: 16px; z-index: 60; background: #fff; border: 1px solid var(--afya-line); border-radius: 0 0 12px 12px; box-shadow: 0 24px 50px rgba(1, 43, 129, .14); padding: 22px 28px 26px; }
.afya-mega__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; margin-bottom: 18px; border-bottom: 1px solid var(--afya-line); }
.afya-mega__head strong { font-size: 18px; color: var(--afya-primary); }
.afya-mega__head a { font-weight: 600; font-size: 14px; }
.afya-mega__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 32px; }
.afya-mega__cat { display: block; font-weight: 700; font-size: 15px; margin-bottom: 8px; }
.afya-mega ul { list-style: none; margin: 0; padding: 0; }
.afya-mega li a { display: block; padding: 3px 0; color: var(--afya-text) !important; font-size: 14px; }
.afya-mega li a:hover { color: var(--afya-primary) !important; }

/* ---------- Drawer (mobile menu) ---------- */
.afya-drawer { position: fixed; inset: 0; z-index: 200; }
.afya-drawer__backdrop, .afya-modal__backdrop { position: absolute; inset: 0; background: rgba(12, 23, 41, .55); }
.afya-drawer__panel { position: absolute; inset: 0 auto 0 0; width: min(380px, 90vw); background: #fff; display: flex; flex-direction: column; animation: afyaSlide .22s ease-out; }
@keyframes afyaSlide { from { transform: translateX(-100%); } to { transform: none; } }
.afya-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--afya-line); }
.afya-drawer__head .custom-logo { height: 36px; }
.afya-drawer__x, .afya-modal__x { border: 0; background: var(--afya-tint); color: var(--afya-primary); width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; }
.afya-drawer__body { overflow-y: auto; padding: 18px 16px 28px; }
.afya-drawer__title { font-size: 20px; font-weight: 700; color: var(--afya-primary); }
.afya-drawer__sub { font-size: 13px; margin-bottom: 14px; }
.afya-drawer__auth { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.afya-drawer .afya-search { margin-bottom: 14px; height: 44px; }
.afya-drawer .afya-search__btn { padding: 0 14px; }
.afya-drawer__tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 18px; }
.afya-drawer__tiles a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 4px; border-radius: 10px; background: var(--afya-tint); font-size: 12px; font-weight: 600; text-align: center; }
.afya-drawer__tiles em { position: absolute; top: 6px; right: 10px; font-style: normal; font-size: 10px; background: var(--afya-accent); color: #fff; border-radius: 99px; min-width: 16px; height: 16px; line-height: 16px; }
.afya-drawer__label { margin: 16px 0 6px; font-size: 11px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; color: var(--afya-gray); }
.afya-drawer__list { list-style: none; margin: 0; padding: 0; }
.afya-drawer__list a { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid #f0f3f8; font-weight: 600; }
.afya-drawer__list--sub a { font-weight: 500; color: var(--afya-text) !important; padding-left: 10px; }
.afya-drawer__cats summary { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid #f0f3f8; font-weight: 600; color: var(--afya-primary); cursor: pointer; list-style: none; }
.afya-drawer__cats summary::-webkit-details-marker { display: none; }
.afya-drawer__cats[open] summary .afya-icon { transform: rotate(180deg); }
.afya-drawer__rx { color: var(--afya-accent) !important; }
.afya-drawer__call { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 14px; background: var(--afya-primary); color: #fff !important; border-radius: 10px; }
.afya-drawer__call small { display: block; font-size: 12px; opacity: .8; }
.afya-drawer__call strong { font-size: 16px; }
.afya-drawer .afya-socials { margin: 18px 0 8px; }
.afya-drawer__copy { font-size: 12px; color: var(--afya-gray); }

/* ---------- Modal (delivery location) ---------- */
.afya-modal { position: fixed; inset: 0; z-index: 210; display: grid; place-items: center; padding: 16px; }
.afya-modal__box { position: relative; width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 30px 80px rgba(0, 0, 0, .25); animation: afyaPop .18s ease-out; }
@keyframes afyaPop { from { transform: translateY(10px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
.afya-modal__x { position: absolute; top: 16px; right: 16px; }
.afya-modal h3 { font-size: 22px; font-weight: 700; padding-right: 40px; }
.afya-modal__sub { margin: 4px 0 18px; font-size: 14px; }
.afya-geo { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px; border: 1px solid var(--afya-line-2); border-radius: 10px; background: var(--afya-tint-3); text-align: left; color: var(--afya-primary); }
.afya-geo:hover { border-color: var(--afya-primary); }
.afya-geo__icon { width: 40px; height: 40px; border-radius: 50%; background: var(--afya-link); color: #fff; display: grid; place-items: center; }
.afya-geo strong { display: block; font-size: 15px; }
.afya-geo small { font-size: 13px; color: var(--afya-text); }
.afya-or { display: flex; align-items: center; gap: 12px; margin: 16px 0; color: var(--afya-gray); font-size: 12px; font-weight: 600; }
.afya-or::before, .afya-or::after { content: ""; flex: 1; height: 1px; background: var(--afya-line); }
.afya-modal__hint { font-size: 12px; margin-top: 6px; }
.afya-suggest { list-style: none; margin: 8px 0 0; padding: 0; max-height: 210px; overflow: auto; border-radius: 10px; }
.afya-suggest:not(:empty) { border: 1px solid var(--afya-line); }
.afya-suggest button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 14px; border: 0; background: #fff; text-align: left; color: var(--afya-primary); font-weight: 500; }
.afya-suggest button:hover, .afya-suggest button:focus { background: var(--afya-tint); }
.afya-loc-selected { margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: var(--afya-tint); }
.afya-loc-selected small { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--afya-link); }
.afya-loc-selected strong { font-size: 16px; color: var(--afya-primary); }
.afya-modal__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--afya-line); }
.afya-modal__foot > span:last-child { display: flex; gap: 8px; }
.afya-modal__secure { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; }

/* ==========================================================================
   Layout
   ========================================================================== */
.afya-main { display: block; }
.afya-panel { max-width: 1800px; margin: 0 auto; background: #fff; padding: 12px 26px 48px; min-height: 50vh; }
.afya-elementor-page .afya-panel { padding-top: 12px; }
.afya-section { margin-top: 34px; padding: 0 16px; }
.afya-panel > .afya-section:first-child { margin-top: 0; }

/* Elementor container reset inside the panel */
.afya-panel .elementor .e-con, .afya-panel .elementor .e-con-inner { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; }

/* ---------- Breadcrumbs ---------- */
.afya-crumbs { padding: 18px 6px 20px; font-size: 13px; }
.afya-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.afya-crumbs li { color: var(--afya-text); }
.afya-crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--afya-text); }
.afya-crumbs a { color: var(--afya-text) !important; }
.afya-crumbs a:hover { color: var(--afya-primary) !important; }

/* ---------- Page hero box ---------- */
.afya-hero-box { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--afya-tint); border-radius: 12px; padding: 34px 32px 32px; min-height: 163px; }
.afya-kicker { font-size: 12px; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase; color: var(--afya-primary); margin-bottom: 10px; }
.afya-kicker a { color: inherit; }
.afya-hero-box__title { font-size: 44px; font-weight: 700; letter-spacing: -.8px; line-height: 1.05; color: var(--afya-primary); }
.afya-hero-box__text { margin-top: 14px; font-size: 15px; color: var(--afya-text); }
.afya-hero-box__action { flex: none; }

/* ---------- Section heading ---------- */
.afya-shead { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.afya-shead__kicker { font-size: 11px; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase; color: var(--afya-muted); margin-bottom: 8px; }
.afya-shead__title { position: relative; font-size: 26px; font-weight: 700; letter-spacing: -.4px; color: var(--afya-primary); padding-bottom: 12px; }
.afya-shead__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 26px; height: 3px; border-radius: 2px; background: var(--afya-accent); }
.afya-shead__link { flex: none; margin-top: 6px; font-size: 13px; font-weight: 500; color: var(--afya-primary) !important; white-space: nowrap; }
.afya-shead__link span { font-size: 11px; }

/* ---------- Empty states, boxes, notices ---------- */
.afya-empty-card { display: inline-block; padding: 34px 16px; min-width: 272px; max-width: 272px; background: var(--afya-tint-3); border-radius: 10px; font-size: 15px; color: var(--afya-primary); }
.afya-empty-card a { text-decoration: underline; }
.afya-empty-card--center { display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 520px; margin: 40px auto; padding: 48px 24px; text-align: center; min-width: 0; }
.afya-empty-card--center h2 { font-size: 24px; }
.afya-empty-card--center .afya-icon { color: var(--afya-line-3); }
.afya-empty-card--center a.afya-btn { text-decoration: none; margin-top: 8px; }
.afya-empty { padding: 40px 16px; max-width: 760px; margin: 0 auto; text-align: center; }
.afya-box { background: #fff; border: 1px solid var(--afya-line); border-radius: 12px; padding: 24px; }
.afya-box--tint { background: var(--afya-tint); border-color: var(--afya-line-2); }
.afya-box__title { font-size: 24px; font-weight: 700; color: var(--afya-primary); letter-spacing: -.3px; }
.afya-box__sub { font-size: 14px; margin-top: 2px; margin-bottom: 20px; }
.afya-notice, .woocommerce-error, .woocommerce-message, .woocommerce-info, .woocommerce-notice { list-style: none; margin: 0 0 18px; padding: 14px 18px; border-radius: 8px; border: 1px solid var(--afya-line-2); background: var(--afya-tint); color: var(--afya-primary); font-size: 14px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.woocommerce-error { background: #fef2f2; border-color: #fecaca; color: #991b1b; flex-direction: column; align-items: flex-start; }
.woocommerce-error li { margin: 0; }
.afya-notice--success, .woocommerce-message { background: var(--afya-green-bg); border-color: #bbe5c8; color: var(--afya-green); }
.afya-notice--error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button { order: 2; font-weight: 600; text-decoration: underline; background: none; border: 0; color: inherit; padding: 0; }
.woocommerce-notices-wrapper:empty { display: none; }
.afya-panel > .woocommerce-notices-wrapper, .afya-page .woocommerce-notices-wrapper { margin-top: 16px; }

/* ---------- Prose ---------- */
.afya-page { margin-top: 24px; }
.afya-page--card { border: 1px solid var(--afya-line); border-radius: 12px; padding: 32px; }
.afya-page--card .afya-prose { max-width: 860px; }
.afya-page--bare { margin-top: 0; }
.afya-prose { font-size: 15px; line-height: 1.75; color: var(--afya-text); }
.afya-prose > * + * { margin-top: 1em; }
.afya-prose h2 { font-size: 24px; margin-top: 1.6em; }
.afya-prose h3 { font-size: 19px; margin-top: 1.4em; }
.afya-prose a { text-decoration: underline; }
.afya-prose ul, .afya-prose ol { padding-left: 1.3em; }
.afya-prose details { border: 1px solid var(--afya-line); border-radius: 10px; padding: 0 18px; }
.afya-prose details + details { margin-top: 10px; }
.afya-prose summary { cursor: pointer; padding: 16px 0; font-weight: 600; color: var(--afya-primary); list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.afya-prose summary::after { content: "+"; font-size: 20px; line-height: 1; }
.afya-prose details[open] summary::after { content: "–"; }
.afya-prose details > *:not(summary) { padding-bottom: 16px; }
.afya-prose img { border-radius: 10px; }
.afya-prose blockquote { margin: 1.4em 0; padding: 14px 20px; border-left: 3px solid var(--afya-accent); background: var(--afya-tint-3); border-radius: 0 8px 8px 0; }

/* ==========================================================================
   Home sections
   ========================================================================== */
.afya-home-hero { margin: 0; }
.afya-slider { position: relative; border-radius: 12px; overflow: hidden; background: var(--afya-tint); }
.afya-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.afya-slider__track::-webkit-scrollbar { display: none; }
.afya-slider__slide { flex: 0 0 100%; scroll-snap-align: start; line-height: 0; }
.afya-promo-img { display: block; line-height: 0; }
.afya-promo-img img { display: block; width: 100%; height: auto; aspect-ratio: 1750 / 584; object-fit: cover; }
.afya-promo-img--banner img { aspect-ratio: 1700 / 568; transition: transform .4s; }
.afya-banner:hover .afya-promo-img--banner img { transform: scale(1.015); }
.afya-slider__dots { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; gap: 6px; }
.afya-slider__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; background: rgba(255, 255, 255, .7); box-shadow: 0 0 0 1px rgba(1, 43, 129, .2); transition: width .2s; }
.afya-slider__dots button.is-active { width: 22px; background: var(--afya-primary); }

.afya-cat-tiles { margin-top: 22px; padding: 0 6px; }
.afya-cat-tiles__track { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 18px; }
.afya-cat-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 100px; padding: 10px 8px; background: var(--afya-tint-2); border-radius: 8px; text-align: center; transition: transform .15s, box-shadow .15s; }
.afya-cat-tile:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(1, 43, 129, .1); }
.afya-cat-tile__img { width: 80px; height: 52px; line-height: 0; border-radius: 4px; overflow: hidden; display: grid; place-items: center; color: var(--afya-primary); }
.afya-cat-tile__img img { width: 80px; height: 52px; object-fit: cover; }
.afya-cat-tile__name { font-size: 14px; font-weight: 500; color: var(--afya-primary); line-height: 1.15; }
.afya-cat-tile__arrow { font-size: 20px; color: var(--afya-primary); line-height: 1; }

.afya-features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 22px 6px 0; background: var(--afya-tint); border-radius: 8px; padding: 10px 0; }
.afya-feature { display: flex; align-items: center; gap: 18px; padding: 4px 22px; color: var(--afya-primary) !important; }
.afya-feature + .afya-feature { border-left: 1px solid #d3e3f6; }
.afya-feature__icon { color: var(--afya-primary); }
.afya-feature__txt { display: flex; flex-direction: column; line-height: 1.25; }
.afya-feature__txt strong { font-size: 14px; font-weight: 600; }
.afya-feature__txt small { font-size: 13px; }

/* ---------- Promo card (editable text + image banners) ---------- */
.afya-promo {
	--p-bg: #e0f0ff; --p-bg2: #cfe6ff; --p-fg: #012b81; --p-text: #3b4f72; --p-hl: #2563eb; --p-kicker: #e9002b;
	--p-btn: #e9002b; --p-btn-fg: #fff; --p-badge: #e9002b;
	position: relative; display: block; overflow: hidden; container-type: inline-size;
	aspect-ratio: 1750 / 584; background: linear-gradient(110deg, var(--p-bg) 0%, var(--p-bg2) 100%); color: var(--p-fg);
}
.afya-promo--banner { aspect-ratio: 1700 / 568; }
/* Keep gradients visible even with Elementor's lazy-load background feature. */
body.afya .afya-promo.afya-promo.afya-promo.afya-promo.afya-promo { background-image: linear-gradient(110deg, var(--p-bg) 0%, var(--p-bg2) 100%) !important; }
.afya-promo--light { --p-bg: #0b3fa8; --p-bg2: #012b81; --p-fg: #fff; --p-text: rgba(255, 255, 255, .85); --p-hl: #fbbf24; --p-kicker: #fbbf24; --p-btn: #fbbf24; --p-btn-fg: #012b81; }
.afya-promo__bg { position: absolute; inset: 0; line-height: 0; }
.afya-promo__bg img { width: 100%; height: 100%; object-fit: cover; }
.afya-promo__deco { position: absolute; width: 40cqw; height: 40cqw; right: -7cqw; top: -14cqw; border-radius: 50%; background: currentColor; opacity: .06; pointer-events: none; }
.afya-promo__bg ~ .afya-promo__deco { display: none; }
.afya-promo__inner { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); align-items: center; gap: 2cqw; padding: 0 6.2cqw; }
.afya-promo--media-left .afya-promo__inner { grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); }
.afya-promo--media-left .afya-promo__media { order: -1; justify-self: start; }
.afya-promo__text { position: relative; z-index: 2; }
.afya-promo__kicker { margin-bottom: 1.1cqw !important; font-size: 1.3cqw; font-weight: 700; letter-spacing: .18cqw; text-transform: uppercase; color: var(--p-kicker); }
.afya-promo__title { font-size: 4.4cqw !important; font-weight: 800 !important; line-height: 1.03 !important; letter-spacing: -.08cqw; color: var(--p-fg) !important; }
.afya-promo__title span { color: var(--p-hl); }
.afya-promo__desc { margin-top: 1.3cqw !important; font-size: 1.5cqw; line-height: 1.4; color: var(--p-text); max-width: 46cqw; }
.afya-promo__btn { display: inline-flex; align-items: center; gap: .6cqw; margin-top: 2.1cqw; padding: .9cqw 1.7cqw; border-radius: 99px; background: var(--p-btn); color: var(--p-btn-fg) !important; font-size: 1.3cqw; font-weight: 700; line-height: 1; transition: filter .15s, transform .15s; }
.afya-promo__btn .afya-icon { width: 1.4cqw; height: 1.4cqw; }
.afya-promo__btn:hover { filter: brightness(.92); transform: translateY(-1px); }
.afya-promo__chips { display: flex; flex-wrap: wrap; gap: .9cqw 1.6cqw; list-style: none; margin: 2.4cqw 0 0; padding: 0; }
.afya-promo__chips li { display: inline-flex; align-items: center; gap: .6cqw; font-size: 1.1cqw; font-weight: 600; color: var(--p-fg); }
.afya-promo__chips .afya-icon { width: 1.4cqw; height: 1.4cqw; color: var(--p-hl); }
.afya-promo__media { position: relative; z-index: 1; justify-self: end; display: flex; align-items: center; justify-content: center; height: 86%; width: 100%; line-height: 0; }
.afya-promo__media img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; filter: drop-shadow(0 1.2cqw 1.6cqw rgba(15, 23, 42, .18)); }
.afya-promo__media.is-card { height: 74%; padding: 2.2cqw; border-radius: 2.4cqw; background: #fff; box-shadow: 0 1cqw 3cqw rgba(15, 23, 42, .12); }
.afya-promo__badge { position: absolute; z-index: 3; top: 6%; right: 3.6%; width: 8.6cqw; height: 8.6cqw; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--p-badge); color: #fff; transform: rotate(-12deg); box-shadow: 0 1cqw 2cqw rgba(233, 0, 43, .3); line-height: 1; text-align: center; }
.afya-promo__badge b { font-size: 2.9cqw; font-weight: 800; }
.afya-promo__badge small { margin-top: .3cqw; font-size: 1.25cqw; font-weight: 700; letter-spacing: .15cqw; text-transform: uppercase; }
/* Banners sit at half width, so scale type up relative to their own width */
.afya-promo--banner .afya-promo__kicker { font-size: 1.6cqw; }
.afya-promo--banner .afya-promo__title { font-size: 5cqw !important; }
.afya-promo--banner .afya-promo__desc { font-size: 1.75cqw; max-width: 44cqw; }
.afya-promo--banner .afya-promo__btn { font-size: 1.6cqw; padding: 1cqw 2cqw; }
.afya-promo--banner .afya-promo__chips li { font-size: 1.35cqw; }
.afya-promo--banner .afya-promo__inner { padding: 0 5cqw; }
@container (max-width: 600px) {
	.afya-promo__kicker { font-size: 2.3cqw !important; }
	.afya-promo__title { font-size: 5.8cqw !important; }
	.afya-promo__desc { font-size: 2.6cqw !important; max-width: none; }
	.afya-promo__btn { font-size: 2.6cqw !important; padding: 1.6cqw 3cqw !important; }
	.afya-promo__btn .afya-icon { width: 2.6cqw; height: 2.6cqw; }
	.afya-promo__chips { display: none; }
	.afya-promo__badge { width: 12cqw; height: 12cqw; }
	.afya-promo__badge b { font-size: 4cqw; }
	.afya-promo__badge small { font-size: 1.8cqw; }
}
@container (max-width: 420px) { .afya-promo__desc { display: none; } }

/* ---------- Carousel ---------- */
.afya-carousel { position: relative; --gap: 16px; }
.afya-carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)); gap: var(--gap); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; padding-bottom: 2px; }
.afya-carousel__track::-webkit-scrollbar { display: none; }
.afya-carousel__item { scroll-snap-align: start; min-width: 0; }
.afya-carousel__nav { position: absolute; z-index: 3; top: 72px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--afya-line); background: #fff; color: var(--afya-ink); box-shadow: 0 4px 12px rgba(15, 23, 42, .12); transition: opacity .15s; }
.afya-carousel__nav:hover { color: var(--afya-primary); border-color: var(--afya-primary); }
.afya-carousel__nav--prev { left: -12px; }
.afya-carousel__nav--next { right: -12px; }
.afya-carousel__nav[disabled] { opacity: 0; pointer-events: none; }
.afya-carousel--bottom-nav { padding-bottom: 54px; }
.afya-carousel--bottom-nav .afya-carousel__nav { top: auto; bottom: 0; }
.afya-carousel--bottom-nav .afya-carousel__nav--prev { left: auto; right: 46px; }
.afya-carousel--bottom-nav .afya-carousel__nav--next { right: 0; }
.afya-carousel--bottom-nav .afya-carousel__nav[disabled] { opacity: .4; }

/* ---------- Product card ---------- */
.afya-grid { display: grid; grid-template-columns: repeat(var(--cols, 5), minmax(0, 1fr)); gap: 36px 16px; }
.afya-card { position: relative; min-width: 0; }
.afya-card__media { position: relative; aspect-ratio: 11 / 6; border: 1px solid var(--afya-line); border-radius: 3px; background: #fff; overflow: hidden; }
.afya-card__img { display: block; height: 100%; padding: 10px 40px; }
.afya-card__img img { width: 100%; height: 100%; object-fit: contain; transition: transform .3s; }
.afya-card:hover .afya-card__img img { transform: scale(1.04); }
.afya-card__badge { position: absolute; top: 8px; left: 8px; padding: 3px 7px; border-radius: 2px; background: var(--afya-badge); color: #fff; font-size: 10px; font-weight: 600; line-height: 1.2; }
.afya-card__badge--sale { background: var(--afya-accent); }
.afya-card__add { position: absolute; right: 10px; bottom: 10px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--afya-link); color: #fff !important; box-shadow: 0 4px 10px rgba(37, 99, 235, .35); transition: transform .15s, background .15s; }
.afya-card__add:hover { transform: scale(1.08); background: #1d4ed8; }
.afya-card__add.loading { opacity: .6; pointer-events: none; }
.afya-card__add.added { background: var(--afya-green); }
.afya-card .added_to_cart { display: none !important; }
.afya-card__oos { position: absolute; right: 10px; bottom: 10px; font-size: 11px; font-weight: 600; color: var(--afya-muted); background: #f1f5f9; padding: 4px 8px; border-radius: 4px; }
.afya-card.is-oos .afya-card__img img { opacity: .55; }
.afya-card__body { padding: 14px 12px 0; }
.afya-card__cat { font-size: 10px; font-weight: 500; letter-spacing: .6px; text-transform: uppercase; color: var(--afya-gray); }
.afya-card__title { margin-top: 6px !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.3 !important; color: var(--afya-ink) !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-transform: uppercase; }
.afya-card__title a { color: var(--afya-ink) !important; }
.afya-card__title a:hover { color: var(--afya-primary) !important; }
.afya-card__price { margin-top: 10px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px; }
.afya-money { white-space: nowrap; color: var(--afya-ink); }
.afya-money small { font-size: 10px; font-weight: 500; color: var(--afya-link); }
.afya-money b { font-size: 20px; font-weight: 700; letter-spacing: -.2px; }
.afya-money__old { font-size: 13px; color: var(--afya-gray); }

/* ---------- Banners ---------- */
.afya-banners { margin-top: 20px; padding: 0 16px; }
.afya-banners__grid { display: grid; grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 16px; }
.afya-banner { display: block; border-radius: 6px; overflow: hidden; line-height: 0; }
.afya-banners__links { display: flex; justify-content: flex-end; gap: 28px; margin-top: 22px; font-size: 13px; font-weight: 500; }
.afya-banners__links a { color: var(--afya-primary) !important; }

/* ---------- Products + brands split ---------- */
.afya-split { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 26px; align-items: start; margin-top: 18px; }
.afya-split .afya-products-section { margin-top: 0; padding-right: 0; }
.afya-split__side { padding-right: 16px; }
.afya-brands-panel { border: 1px solid var(--afya-line-2); border-radius: 16px; background: #f8fbff; padding: 22px 20px 26px; }
.afya-brands-panel .afya-shead__title { font-size: 26px; }
.afya-brand { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--afya-line); border-radius: 10px; overflow: hidden; transition: box-shadow .15s, border-color .15s; }
.afya-brand:hover { border-color: var(--afya-line-3); box-shadow: 0 8px 20px rgba(1, 43, 129, .08); }
.afya-brand__logo { display: grid; place-items: center; height: 88px; padding: 10px 14px; border-bottom: 1px solid #edf1f6; }
.afya-brand__logo img { max-height: 70px; width: auto; object-fit: contain; }
.afya-brand__initial { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--afya-tint); color: var(--afya-primary); font-size: 24px; font-weight: 700; }
.afya-brand__name { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 12px; font-size: 13px; font-weight: 600; text-transform: uppercase; color: var(--afya-primary); }
.afya-brand__name i { font-style: normal; color: var(--afya-gray); font-size: 11px; }
.afya-brands-panel .afya-carousel__nav { top: 30px; }
.afya-brands-panel .afya-carousel__nav--prev { left: -18px; }
.afya-brands-panel .afya-carousel__nav--next { right: -18px; }
.afya-section--brands .afya-brands-panel { padding: 22px 26px 26px; }

/* ---------- Blog cards ---------- */
.afya-blog-section { margin-top: 30px; }
.afya-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.afya-post-card { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--afya-line); border-radius: 12px; overflow: hidden; background: #fff; }
.afya-post-card__img { display: block; aspect-ratio: 560 / 270; background: var(--afya-tint); line-height: 0; overflow: hidden; }
.afya-post-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.afya-post-card:hover .afya-post-card__img img { transform: scale(1.03); }
.afya-post-card__body { display: flex; flex-direction: column; flex: 1; padding: 22px 20px 24px; }
.afya-post-card__cat { font-size: 11px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; color: var(--afya-primary-2); }
.afya-post-card__title { margin-top: 10px !important; font-size: 19px !important; font-weight: 600 !important; line-height: 1.32 !important; }
.afya-post-card__title a { color: var(--afya-primary) !important; }
.afya-post-card__excerpt { margin-top: 10px !important; font-size: 14px; line-height: 1.6; color: var(--afya-text); flex: 1; }
.afya-post-card__more { margin-top: 18px; font-size: 14px; font-weight: 600; color: var(--afya-primary) !important; }
.afya-carousel--blog .afya-post-card__excerpt { min-height: 46px; }

/* ==========================================================================
   Newsletter + footer
   ========================================================================== */
.afya-newsletter-wrap { background: var(--afya-bg); padding: 8px 16px 18px; }
.afya-newsletter { max-width: 960px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 34px; border-radius: 8px; background: linear-gradient(90deg, #003084, #002569); color: #fff; }
.afya-newsletter__intro { display: flex; align-items: center; gap: 24px; }
.afya-newsletter__icon { color: #fff; line-height: 0; }
.afya-newsletter h2 { color: #fff !important; font-size: 19px; font-weight: 600; letter-spacing: -.2px; }
.afya-newsletter p { color: #fff; font-size: 14px; margin-top: 6px; opacity: .95; }
@media (min-width: 1200px) { .afya-newsletter p { white-space: nowrap; font-size: 13.5px; } }
.afya-newsletter__form { width: 392px; flex: none; }
.afya-newsletter__row { display: flex; height: 46px; border-radius: 4px; overflow: hidden; background: #fff; }
.afya-newsletter__row input { flex: 1; min-width: 0; border: 0; padding: 0 16px; font-size: 14px; color: var(--afya-ink); outline: none; }
.afya-newsletter__row button { flex: none; width: 108px; border: 0; background: var(--afya-accent); color: #fff; font-weight: 600; font-size: 15px; }
.afya-newsletter__row button:hover { background: var(--afya-accent-dark); }
.afya-newsletter small { display: block; margin-top: 8px; font-size: 10px; color: #fff; opacity: .9; }

.afya-footer { background: linear-gradient(100deg, #ebf5ff 0%, #ecf6ff 60%, #eef6ff 100%); color: var(--afya-primary); padding: 38px 16px 18px; }
.afya-footer__inner { max-width: 1528px; margin: 0 auto; padding: 0 14px; display: grid; grid-template-columns: 1.5fr 1fr 1.16fr 1.16fr 1.6fr 1fr; gap: 24px; }
.afya-footer h3 { font-size: 15px; font-weight: 600; color: var(--afya-primary); margin-bottom: 22px; }
.afya-footer__brand { padding-top: 0; }
.afya-logo--footer img, .afya-logo--footer .custom-logo { height: 60px; max-width: 220px; }
.afya-footer__brand p { margin-top: 26px; font-size: 14px; font-weight: 500; }
.afya-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: 13px; }
.afya-footer__links a, .afya-footer__links span { display: inline-flex; align-items: center; gap: 12px; color: var(--afya-primary) !important; }
.afya-footer__links a:hover { text-decoration: underline; }
.afya-footer__addr { margin-top: 16px; font-style: normal; font-size: 11px; line-height: 1.6; color: var(--afya-text); }
.afya-socials { display: flex; flex-wrap: wrap; gap: 12px; }
.afya-socials a { display: grid; place-items: center; width: 22px; height: 22px; color: var(--afya-primary) !important; transition: transform .15s; }
.afya-socials a:hover { transform: translateY(-2px); }
.afya-footer__bottom { max-width: 1528px; margin: 46px auto 0; padding: 22px 14px 0; border-top: 1px solid #cfdcec; display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; font-size: 11px; }
.afya-footer__bottom a { color: var(--afya-primary) !important; }
.afya-footer__legal { text-align: center; }
.afya-footer__proud { text-align: right; }
.afya-footer__proud small { display: block; margin-top: 12px; font-size: 11px; color: var(--afya-text); }

.afya-floaters { position: fixed; right: 26px; bottom: 30px; z-index: 40; display: flex; flex-direction: column; gap: 18px; }
.afya-float { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; border: 0; color: #fff !important; box-shadow: 0 8px 22px rgba(0, 0, 0, .22); transition: transform .15s, opacity .2s; }
.afya-float:hover { transform: translateY(-2px); }
.afya-float--wa { background: #1eba57; box-shadow: 0 0 0 3px #fff, 0 8px 22px rgba(0, 0, 0, .22); }
.afya-float--top { background: var(--afya-primary); box-shadow: 0 0 0 3px #fff, 0 8px 22px rgba(0, 0, 0, .22); opacity: 0; pointer-events: none; }
.afya-float--top.is-visible { opacity: 1; pointer-events: auto; }

.afya-tabbar { display: none; }

.afya-toast { position: fixed; left: 50%; bottom: 28px; z-index: 300; transform: translateX(-50%); display: flex; align-items: center; gap: 14px; padding: 12px 16px 12px 18px; border-radius: 10px; background: var(--afya-ink); color: #fff; font-size: 14px; font-weight: 500; box-shadow: 0 14px 40px rgba(0, 0, 0, .25); animation: afyaPop .18s ease-out; }
.afya-toast a { color: #fff !important; font-weight: 700; text-decoration: underline; }

/* ==========================================================================
   Shop: archives, toolbar, pagination, pills
   ========================================================================== */
.afya-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; margin: 4px 0 24px; border-bottom: 1px solid #e5e7eb; }
.afya-toolbar__count, .woocommerce-result-count { margin: 0; font-size: 13px; color: var(--afya-text); }
.afya-sort select, .woocommerce-ordering select { height: 38px; padding: 0 34px 0 12px; border: 1px solid var(--afya-line); border-radius: 6px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23012b81' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; -webkit-appearance: none; appearance: none; color: var(--afya-primary); font-weight: 500; font-size: 13px; }
.woocommerce-ordering { margin: 0; }
.afya-pagination, .woocommerce-pagination { margin-top: 44px; display: flex; justify-content: center; }
.afya-pagination ul, .afya-pagination__list, .woocommerce-pagination ul.page-numbers, .afya-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; border: 0; }
.afya-pagination .page-numbers, .woocommerce-pagination .page-numbers li > * { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--afya-line); border-radius: 6px; background: #fff; color: var(--afya-primary) !important; font-weight: 600; font-size: 15px; }
.woocommerce-pagination ul.page-numbers > li { border: 0; }
.afya-pagination .page-numbers.current, .woocommerce-pagination .page-numbers li > .current { background: var(--afya-primary); border-color: var(--afya-primary); color: #fff !important; }
.afya-pagination .page-numbers.dots, .woocommerce-pagination .page-numbers li > .dots { border: 0; min-width: 20px; padding: 0; }
.afya-pagination--full .page-numbers { min-width: 40px; height: 36px; font-size: 13px; font-weight: 500; border-radius: 4px; }
.afya-pagination--full .page-numbers.current { background: var(--afya-accent); border-color: var(--afya-accent); }
.afya-pagination .is-disabled { color: var(--afya-gray) !important; }

.afya-conditions { margin-top: 28px; }
.afya-pills { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.afya-pill { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 48px; padding: 0 16px; border: 1px solid #dce4f1; border-radius: 6px; background: var(--afya-tint-3); color: var(--afya-primary) !important; font-weight: 600; font-size: 15px; transition: border-color .15s, background .15s; }
.afya-pill span { font-size: 12px; }
.afya-pill:hover { border-color: var(--afya-primary); }
.afya-pill.is-active { background: var(--afya-accent); border-color: var(--afya-accent); color: #fff !important; }
.afya-conditions + .afya-section { margin-top: 40px; }

/* Brands A–Z page */
.afya-az { margin-top: 50px; text-align: center; }
.afya-az__title { font-size: 24px; font-weight: 700; color: var(--afya-primary); }
.afya-az__letters { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; margin: 4px 24px 0; }
.afya-az__letters a { display: grid; place-items: center; width: 40px; height: 44px; border: 1px solid var(--afya-line); border-radius: 4px; font-weight: 600; font-size: 15px; color: var(--afya-primary) !important; }
.afya-az__letters a:hover { border-color: var(--afya-primary); }
.afya-az__letters a.is-active { background: var(--afya-accent); border-color: var(--afya-accent); color: #fff !important; }
.afya-az__count { margin: 74px 0 22px; font-size: 14px; color: var(--afya-text); }
.afya-brand-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; text-align: left; }
.afya-brand--full { border-radius: 8px; }
.afya-brand--full .afya-brand__logo { height: 186px; padding: 24px; border-bottom-color: #eef2f6; }
.afya-brand--full .afya-brand__logo img { max-height: 140px; }
.afya-brand--full .afya-brand__name { justify-content: center; height: 52px; font-size: 15px; font-weight: 700; }
.afya-az__foot { margin-top: 48px; padding-top: 20px; border-top: 1px solid #e5e7eb; }
.afya-az__foot .afya-az__count { margin: 20px 0 16px; }
.afya-az__foot .afya-pagination { margin-top: 0; }

/* All categories page */
.afya-allcats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.afya-allcats__card { border: 1px solid var(--afya-line); border-radius: 12px; padding: 16px; }
.afya-allcats__head { display: flex; align-items: center; gap: 14px; }
.afya-allcats__head img { width: 72px; height: 52px; object-fit: cover; border-radius: 6px; }
.afya-allcats__head strong { display: block; font-size: 16px; }
.afya-allcats__head small { font-size: 12px; color: var(--afya-text); }
.afya-allcats ul { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid #eef2f6; display: grid; gap: 6px; font-size: 14px; }
.afya-allcats li a { color: var(--afya-text) !important; }
.afya-allcats li a:hover { color: var(--afya-primary) !important; }

/* Wishlist */
.afya-wishlist { margin-top: 28px; padding: 0 16px; }
.afya-wishlist__remove { margin: 10px 12px 0; display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; padding: 0; color: var(--afya-text); font-size: 13px; }
.afya-wishlist__remove:hover { color: var(--afya-accent); }

/* ==========================================================================
   Single product
   ========================================================================== */
.afya-product { padding: 0 16px; }
.afya-product__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 52px; align-items: start; padding-top: 12px; }
.afya-gallery-box { position: relative; max-width: 570px; border: 1px solid var(--afya-line); border-radius: 12px; padding: 24px; background: #fff; }
.afya-gallery-box .onsale { position: absolute; z-index: 5; top: 16px; left: 16px; padding: 4px 10px; border-radius: 4px; background: var(--afya-accent); color: #fff; font-size: 12px; font-weight: 600; }
.woocommerce-product-gallery { position: relative; opacity: 1 !important; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; display: block; }
.woocommerce-product-gallery__trigger { position: absolute; top: 8px; right: 8px; z-index: 9; width: 38px; height: 38px; border-radius: 50%; background: #fff; border: 1px solid var(--afya-line); font-size: 0 !important; display: grid; place-items: center; }
.woocommerce-product-gallery__trigger::before { content: ""; width: 16px; height: 16px; background: currentColor; color: var(--afya-primary); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m21 21-6-6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m21 21-6-6'/%3E%3C/svg%3E") center / contain no-repeat; }
.woocommerce-product-gallery__trigger img { display: none !important; }
.flex-control-thumbs { display: flex; gap: 10px; list-style: none; margin: 16px 0 0; padding: 0; }
.flex-control-thumbs li { width: 72px; cursor: pointer; }
.flex-control-thumbs img { border: 1px solid var(--afya-line); border-radius: 6px; opacity: .6; }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover { opacity: 1; border-color: var(--afya-primary); }
.afya-product__brand { display: inline-flex; gap: 10px; font-size: 14px; font-weight: 700; text-transform: uppercase; color: var(--afya-primary) !important; margin-top: 4px; }
.afya-product__brand span { font-size: 11px; font-weight: 400; }
.afya-product__title { margin-top: 22px !important; font-size: 40px !important; font-weight: 700 !important; letter-spacing: -.8px; line-height: 1.15 !important; color: var(--afya-primary) !important; text-transform: uppercase; }
.afya-product__sku { margin-top: 18px !important; font-size: 13px; color: var(--afya-text); }
.afya-product__meta { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.afya-product__rating { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; color: var(--afya-text) !important; }
.afya-stars { display: inline-flex; gap: 2px; color: #d97706; }
.afya-stock { display: inline-block; padding: 4px 9px; border-radius: 4px; font-size: 13px; font-weight: 500; }
.afya-stock--in { background: var(--afya-green-bg); color: var(--afya-green); }
.afya-stock--out { background: #fef2f2; color: #991b1b; }
.afya-product__excerpt { margin-top: 26px; font-size: 15px; line-height: 1.62; color: var(--afya-text); }
.afya-buybox { margin-top: 22px; padding: 24px; background: var(--afya-tint); border: 1px solid var(--afya-line-2); border-radius: 12px; }
.afya-buybox__price { font-size: 36px; font-weight: 700; color: var(--afya-accent); line-height: 1; margin-bottom: 18px; letter-spacing: -.5px; }
.afya-buybox__price del { font-size: 18px; color: var(--afya-gray); font-weight: 500; margin-right: 8px; }
.afya-buybox__price ins { text-decoration: none; }
.afya-buybox form.cart { display: flex; align-items: stretch; gap: 12px; margin: 0; }
.afya-buybox form.cart .quantity { display: none; }
.afya-buybox form.variations_form { flex-direction: column; }
.afya-buybox .single_variation_wrap .woocommerce-variation-add-to-cart { display: flex; gap: 12px; }
.afya-buybox .variations { width: 100%; margin-bottom: 8px; border-collapse: collapse; }
.afya-buybox .variations th { text-align: left; padding: 6px 12px 6px 0; color: var(--afya-primary); }
.afya-buybox .variations select { height: 42px; border: 1px solid var(--afya-line-3); border-radius: 6px; padding: 0 12px; background: #fff; width: 100%; }
.afya-buybox .reset_variations { font-size: 13px; margin-left: 8px; }
.single_add_to_cart_button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 48px; border: 0; border-radius: 4px; background: var(--afya-accent) !important; color: #fff !important; font-weight: 600; font-size: 15px; }
.single_add_to_cart_button::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M15.6 3.2a1 1 0 0 1 1.4.2L20.2 8H21a1 1 0 0 1 1 1.2l-1.6 9.4A3 3 0 0 1 17.4 21H6.6a3 3 0 0 1-3-2.4L2 9.2A1 1 0 0 1 3 8h.8L7 3.4a1 1 0 1 1 1.6 1.2L6.3 8h11.4l-2.3-3.4a1 1 0 0 1 .2-1.4M9 12a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0v-3a1 1 0 0 0-1-1m6 0a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0v-3a1 1 0 0 0-1-1'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M15.6 3.2a1 1 0 0 1 1.4.2L20.2 8H21a1 1 0 0 1 1 1.2l-1.6 9.4A3 3 0 0 1 17.4 21H6.6a3 3 0 0 1-3-2.4L2 9.2A1 1 0 0 1 3 8h.8L7 3.4a1 1 0 1 1 1.6 1.2L6.3 8h11.4l-2.3-3.4a1 1 0 0 1 .2-1.4M9 12a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0v-3a1 1 0 0 0-1-1m6 0a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0v-3a1 1 0 0 0-1-1'/%3E%3C/svg%3E") center / contain no-repeat; }
.single_add_to_cart_button:hover { background: var(--afya-accent-dark) !important; }
.single_add_to_cart_button.disabled { opacity: .5; }
.afya-wl-btn { flex: none; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--afya-line-3); border-radius: 6px; background: #fff; color: var(--afya-primary); }
.afya-wl-btn:hover { border-color: var(--afya-primary); }
.afya-wl-btn__on { display: none !important; color: var(--afya-accent); }
.afya-wl-btn.is-on .afya-wl-btn__on { display: inline-block !important; }
.afya-wl-btn.is-on .afya-wl-btn__off { display: none !important; }
.afya-buybox__note { display: flex; align-items: center; gap: 10px; margin-top: 22px !important; font-size: 13px; color: var(--afya-text); }
.afya-buybox__note .afya-icon { color: var(--afya-primary); }
.afya-buybox .stock { margin: 0 0 12px; font-size: 13px; }
.afya-share { display: flex; align-items: center; gap: 8px; margin-top: 26px; font-size: 13px; color: var(--afya-text); }
.afya-share > span { margin-right: 4px; }
.afya-share__btn { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--afya-line); background: #fff; color: var(--afya-primary) !important; }
.afya-share__btn:hover { border-color: var(--afya-primary); }

.woocommerce-tabs { margin-top: 70px; border: 1px solid var(--afya-line); border-radius: 8px; overflow: hidden; }
.woocommerce-tabs ul.tabs { display: flex; gap: 8px; margin: 0; padding: 0 20px; list-style: none; background: var(--afya-tint-3); border-bottom: 1px solid var(--afya-line); overflow-x: auto; }
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 18px 16px; font-size: 15px; font-weight: 600; color: var(--afya-text) !important; white-space: nowrap; box-shadow: inset 0 -3px 0 transparent; }
.woocommerce-tabs ul.tabs li.active a { color: var(--afya-primary) !important; box-shadow: inset 0 -3px 0 var(--afya-accent); }
.woocommerce-Tabs-panel { padding: 26px 24px 30px; margin: 0; font-size: 15px; line-height: 1.75; color: var(--afya-text); }
.woocommerce-Tabs-panel > * + * { margin-top: .9em; }
.woocommerce-Tabs-panel h2 { font-size: 20px; }
#reviews .commentlist { list-style: none; padding: 0; }
#reviews .comment_container { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid #eef2f6; }
#reviews .avatar { border-radius: 50%; }
#review_form_wrapper { margin-top: 18px; }
#review_form .comment-reply-title { font-size: 18px; font-weight: 700; color: var(--afya-primary); }
#review_form p.stars a { display: inline-block; width: 22px; height: 22px; font-size: 0; position: relative; }
#review_form p.stars a::before { content: "☆"; font-size: 22px; color: #d97706; position: absolute; inset: 0; line-height: 22px; }
#review_form p.stars.selected a.active::before, #review_form p.stars.selected a:not(.active)::before, #review_form p.stars:hover a::before { content: "★"; }
#review_form p.stars.selected a.active ~ a::before, #review_form p.stars a:hover ~ a::before { content: "☆"; }
.related.products, .upsells.products { margin-top: 46px; padding: 0; }
.related.products > h2, .upsells.products > h2 { font-size: 26px; margin-bottom: 18px; }

/* ==========================================================================
   Forms (shared)
   ========================================================================== */
.afya-field { display: flex; flex-direction: column; gap: 8px; }
.afya-field > span:first-child { font-size: 14px; font-weight: 600; color: var(--afya-primary); }
.afya-field input, .afya-field select, .afya-field textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-form input.input-text, .afya .comment-form input[type="text"], .afya .comment-form input[type="email"], .afya .comment-form textarea, .afya .select2-container .select2-selection--single,
.afya .woocommerce-input-wrapper input, .afya .track_order input.input-text, .afya .woocommerce-EditAccountForm input.input-text {
	width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--afya-line); border-radius: 6px; background: #fff; color: var(--afya-ink); font-size: 15px; outline: none; transition: border-color .15s, box-shadow .15s;
}
.afya-field textarea, .woocommerce form .form-row textarea, .afya .comment-form textarea { min-height: 96px; resize: vertical; }
.afya-field input:focus, .afya-field select:focus, .afya-field textarea:focus, .woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus, .afya .comment-form input:focus, .afya .comment-form textarea:focus { border-color: var(--afya-primary); box-shadow: 0 0 0 3px rgba(1, 43, 129, .08); }
.afya-field__icon { position: relative; display: block; }
.afya-field__icon .afya-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--afya-muted); }
.afya-field__icon input { padding-left: 42px; }
.afya-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; margin-bottom: 22px; }
.afya-field--full { grid-column: 1 / -1; }
.afya-form__secure { display: flex; align-items: center; gap: 8px; margin-top: 14px !important; font-size: 12px; color: var(--afya-text); }
.afya-drop { position: relative; }
.afya-drop input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; min-height: 0; }
.afya-drop__ui { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 28px 16px; border: 2px dashed var(--afya-line-3); border-radius: 10px; background: var(--afya-tint-3); text-align: center; color: var(--afya-primary); }
.afya-drop:hover .afya-drop__ui, .afya-drop.is-drag .afya-drop__ui { border-color: var(--afya-primary); }
.afya-drop__ui small { font-size: 12px; color: var(--afya-text); }
.afya-two-col { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; margin-top: 28px; align-items: start; }
.afya-howto { list-style: none; margin: 18px 0 24px; padding: 0; display: grid; gap: 18px; }
.afya-howto li { display: flex; gap: 14px; }
.afya-howto li > span { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--afya-primary); color: #fff; display: grid; place-items: center; font-weight: 700; }
.afya-howto strong { color: var(--afya-primary); }
.afya-howto p { font-size: 14px; }
.afya-addr { margin: 12px 0 18px !important; line-height: 1.7; }

/* WooCommerce form-row layout */
.woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce form .form-row label, .woocommerce-form label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: var(--afya-primary); }
.woocommerce form .form-row label.checkbox, .woocommerce-form label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.woocommerce form .form-row .required { color: var(--afya-accent); text-decoration: none; border: 0; }
.woocommerce form .form-row .optional { font-weight: 400; color: var(--afya-text); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #ef4444; }
.afya-fields, .woocommerce-billing-fields__field-wrapper, .woocommerce-address-fields__field-wrapper { display: flex; flex-wrap: wrap; column-gap: 20px; }
.afya-fields .form-row, .woocommerce-address-fields__field-wrapper .form-row { width: 100%; }
.afya-fields .form-row-first, .afya-fields .form-row-last, .woocommerce-address-fields__field-wrapper .form-row-first, .woocommerce-address-fields__field-wrapper .form-row-last, .woocommerce-EditAccountForm .form-row-first, .woocommerce-EditAccountForm .form-row-last { width: calc(50% - 10px); }
.woocommerce-EditAccountForm .form-row-first { float: left; }
.woocommerce-EditAccountForm .form-row-last { float: right; }
.woocommerce-EditAccountForm .clear { clear: both; }
.afya-hidden-row { display: none !important; }
#billing_city_field .optional, #billing_address_1_field .optional { display: none; }
.afya-buybox .stock { display: none; }
.woocommerce-button, .woocommerce .button, .woocommerce-Button, .afya .comment-form .submit, .afya .track_order button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 22px; border: 0; border-radius: 4px; background: var(--afya-accent); color: #fff !important; font-weight: 600; font-size: 15px; cursor: pointer;
}
.woocommerce-button:hover, .woocommerce .button:hover, .woocommerce-Button:hover { background: var(--afya-accent-dark); }
.woocommerce .button.alt { background: var(--afya-accent); }
.woocommerce .button:disabled, .woocommerce .button.disabled { opacity: .5; cursor: not-allowed; }
.password-input { position: relative; display: block; }
.show-password-input { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 0; background: none; padding: 0; }
.show-password-input::after { content: "👁"; font-size: 14px; opacity: .55; }
.woocommerce-password-strength { font-size: 13px; margin-top: 6px; }
.woocommerce-password-hint { display: block; font-size: 12px; margin-top: 6px; }
.select2-container .select2-selection--single { display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }

/* Quantity stepper */
.quantity { display: inline-flex; align-items: center; height: 46px; border: 1px solid var(--afya-line-3); border-radius: 6px; overflow: hidden; background: #fff; }
.quantity input.qty { width: 44px; height: 100%; border: 0; text-align: center; font-weight: 600; font-size: 15px; color: var(--afya-ink); -moz-appearance: textfield; padding: 0; }
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.afya-qty__btn { width: 38px; height: 100%; border: 0; background: #fff; color: var(--afya-primary); display: grid; place-items: center; }
.afya-qty__btn:hover { background: var(--afya-tint); }
.afya-qty__btn[data-afya-qty="-1"] { color: var(--afya-gray); }

/* ==========================================================================
   Checkout steps, cart, checkout
   ========================================================================== */
.afya-steps { display: flex; justify-content: space-between; gap: 10px; list-style: none; margin: 24px 0; padding: 0 0 24px; border-bottom: 1px solid #e5e7eb; counter-reset: none; }
.afya-steps__item { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--afya-muted); }
.afya-steps__num { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #f1f4f9; color: var(--afya-muted); font-size: 12px; font-weight: 500; }
.afya-steps__item.is-current { color: var(--afya-primary); font-weight: 600; }
.afya-steps__item.is-current .afya-steps__num { background: var(--afya-primary); color: #fff; }
.afya-steps__item.is-done .afya-steps__num { color: var(--afya-primary); }

.afya-cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; }
.afya-cart-items { display: grid; gap: 16px; }
.afya-cart-item { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: 20px; padding: 20px; border: 1px solid var(--afya-line); border-radius: 8px; background: #fff; }
.afya-cart-item__img { width: 112px; height: 112px; border-radius: 8px; background: var(--afya-tint-3); display: grid; place-items: center; overflow: hidden; }
.afya-cart-item__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.afya-cart-item__cat { font-size: 11px; color: var(--afya-primary); margin-top: 4px; }
.afya-cart-item__name { margin-top: 10px !important; font-size: 16px !important; font-weight: 700 !important; text-transform: uppercase; }
.afya-cart-item__name a { color: var(--afya-primary) !important; }
.afya-cart-item__unit { margin: 8px 0 14px !important; font-size: 13px; color: var(--afya-text); }
.afya-cart-item__side { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; gap: 16px; }
.afya-remove { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--afya-text) !important; }
.afya-remove:hover { color: var(--afya-accent) !important; }
.afya-cart-item__total { font-size: 20px; font-weight: 700; color: var(--afya-accent); white-space: nowrap; }
.afya-cart-actions { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 18px; }
.afya-coupon label { display: block; font-size: 13px; font-weight: 600; color: var(--afya-primary); margin-bottom: 6px; }
.afya-coupon__row { display: flex; gap: 8px; }
.afya-coupon__row input { width: 220px; height: 44px; border: 1px solid var(--afya-line); border-radius: 6px; padding: 0 12px; }
.afya-update-cart { visibility: hidden; }

.afya-summary { padding: 24px; border: 1px solid var(--afya-line-2); border-radius: 8px; background: var(--afya-tint); }
.afya-summary__head { display: flex; align-items: baseline; justify-content: space-between; }
.afya-summary__head a { font-size: 13px; text-decoration: underline; }
.afya-summary__title { font-size: 22px; font-weight: 700; color: var(--afya-primary); }
.afya-summary__rows { margin: 20px 0 0; display: grid; gap: 14px; font-size: 14px; padding-bottom: 22px; border-bottom: 1px solid #cddcf0; }
.afya-summary__rows > div { display: flex; justify-content: space-between; gap: 12px; }
.afya-summary__rows dt { color: var(--afya-text); }
.afya-summary__rows dd { margin: 0; color: var(--afya-primary); text-align: right; }
.afya-summary__total { padding: 24px 0 22px; }
.afya-summary__total span { display: block; font-size: 13px; color: var(--afya-primary); }
.afya-summary__total strong { display: block; margin-top: 10px; font-size: 32px; font-weight: 700; color: var(--afya-accent); letter-spacing: -.4px; line-height: 1.1; }
.afya-summary__total small { display: block; margin-top: 12px; font-size: 10px; color: var(--afya-primary); }
.afya-secure { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 18px !important; font-size: 13px; color: var(--afya-text); }
.afya-paylogos { display: flex; justify-content: center; align-items: center; gap: 30px; margin-top: 14px; }
.afya-paylogo { display: inline-flex; align-items: center; justify-content: center; height: 24px; }
.afya-paylogo--mpesa { padding: 2px 6px; background: #fff; border-radius: 3px; font-size: 9px; font-weight: 800; color: #4caf50; letter-spacing: .2px; }
.afya-paylogo--mpesa b { color: #4caf50; }
.afya-paylogo--mpesa i { font-style: normal; color: #e53935; }
.afya-paylogo--visa { font-size: 19px; font-weight: 800; font-style: italic; color: #1a1f71; letter-spacing: -.5px; }
.afya-paylogo--mc { position: relative; width: 26px; }
.afya-paylogo--mc i { position: absolute; top: 4px; width: 16px; height: 16px; border-radius: 50%; }
.afya-paylogo--mc i:first-child { left: 0; background: #eb001b; }
.afya-paylogo--mc i:last-child { right: 0; background: #f79e1b; mix-blend-mode: multiply; }
.afya-help-link { display: inline-flex; align-items: center; gap: 10px; margin: 22px 8px 0; font-size: 13px; color: var(--afya-primary) !important; }

.afya-guest-line { margin: 4px 0 20px; font-size: 13px; color: var(--afya-text); }
.afya-guest-line a { margin-left: 8px; text-decoration: underline; font-weight: 500; }
form.woocommerce-form-login, form.checkout_coupon { margin: 0 0 22px; padding: 22px; border: 1px solid var(--afya-line); border-radius: 8px; }
.woocommerce-form-coupon-toggle .woocommerce-info { background: none; border: 0; padding: 0; color: var(--afya-text); justify-content: flex-start; }
.afya-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 28px; align-items: start; }
.afya-checkout__main { display: grid; gap: 20px; min-width: 0; }
.afya-checkout__card { border-radius: 8px; }
.afya-checkout__card .afya-box__title { font-size: 22px; }
.afya-checkout__card .afya-box__sub { font-size: 13px; }
.afya-checkout__side { position: sticky; top: 196px; }
.afya-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.afya-choice { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 18px 16px; border: 1px solid var(--afya-line); border-radius: 6px; cursor: pointer; background: #fff; }
.afya-choice input { position: absolute; opacity: 0; }
.afya-choice__dot { flex: none; width: 18px; height: 18px; margin-top: 2px; border: 1.5px solid #94a3b8; border-radius: 50%; background: #fff; }
.afya-choice.is-checked { border-color: var(--afya-primary); background: #f5f9ff; }
.afya-choice.is-checked .afya-choice__dot { border: 5px solid var(--afya-link); }
.afya-choice__txt { flex: 1; display: flex; flex-direction: column; gap: 6px; line-height: 1.2; }
.afya-choice__txt strong { font-size: 14px; font-weight: 600; color: var(--afya-primary); }
.afya-choice__txt small { font-size: 13px; color: var(--afya-text); }
.afya-choice__price { font-size: 13px; font-weight: 600; color: var(--afya-primary); }
.afya-address { margin-top: 24px; }
.afya-locbox { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--afya-line-2); border-radius: 8px; background: #f5f9ff; margin-bottom: 20px; }
.afya-locbox__icon { width: 32px; height: 32px; border-radius: 6px; background: var(--afya-link); color: #fff; display: grid; place-items: center; flex: none; }
.afya-locbox__txt { flex: 1; display: flex; flex-direction: column; line-height: 1.3; }
.afya-locbox__txt small { font-size: 10px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--afya-link); }
.afya-locbox__txt strong { font-size: 14px; color: var(--afya-ink); }
.afya-locbox__txt span { font-size: 12px; color: var(--afya-text); }
.afya-pickup-station { margin-top: 24px; }
.woocommerce-additional-fields { margin-top: 8px; }
.is-pickup .afya-address { display: none; }
.afya-pickup-station { display: none; }
.is-pickup .afya-pickup-station { display: block; }
.afya-payment .wc_payment_methods { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.afya-payment .wc_payment_method { border: 1px solid var(--afya-line); border-radius: 6px; padding: 16px; }
.afya-payment .wc_payment_method > label { display: inline; font-weight: 600; color: var(--afya-primary); cursor: pointer; }
.afya-payment .wc_payment_method > input { margin-right: 8px; accent-color: var(--afya-link); }
.afya-payment .wc_payment_method img { max-height: 22px; vertical-align: middle; margin-left: 6px; }
.afya-payment .payment_box { margin-top: 10px; font-size: 14px; color: var(--afya-text); }
.afya-review__items { display: grid; gap: 16px; margin-top: 22px; padding-bottom: 20px; border-bottom: 1px solid #cddcf0; }
.afya-review__item { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.afya-review__img { width: 54px; height: 54px; border-radius: 6px; background: #fff; overflow: hidden; display: grid; place-items: center; }
.afya-review__img img { width: 100%; height: 100%; object-fit: contain; }
.afya-review__name strong { display: block; font-size: 14px; color: var(--afya-primary); text-transform: uppercase; line-height: 1.3; }
.afya-review__name small { font-size: 11px; color: var(--afya-text); }
.afya-review__price { font-size: 14px; font-weight: 600; color: var(--afya-accent); white-space: nowrap; }
.afya-review .afya-summary__rows { border-bottom: 1px solid #cddcf0; }
.afya-review .afya-summary__total span { font-size: 13px; }
.afya-place-order { margin: 0; }
.afya-place-order .woocommerce-terms-and-conditions-wrapper { font-size: 12px; margin-bottom: 12px; }
.afya-place-order #place_order { width: 100%; height: 48px; }
.afya-place-order #place_order::after { content: "→"; margin-left: 8px; }
.blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

.afya-thankyou { margin-top: 10px; }
.afya-order-overview { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0 0 28px; padding: 0; }
.afya-order-overview li { padding: 18px; border: 1px solid var(--afya-line); border-radius: 8px; }
.afya-order-overview small { display: block; font-size: 12px; color: var(--afya-text); }
.afya-order-overview strong { display: block; margin-top: 6px; font-size: 16px; color: var(--afya-primary); }
.afya-red { color: var(--afya-accent) !important; }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 26px; padding: 24px; border: 1px solid var(--afya-line); border-radius: 8px; }
.woocommerce-order-details__title, .woocommerce-column__title { font-size: 20px; margin-bottom: 14px !important; }
.woocommerce-customer-details address { font-style: normal; line-height: 1.7; }
.woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

/* Tables (account, order details) */
.afya table.shop_table { width: 100%; border-collapse: collapse; font-size: 14px; }
.afya table.shop_table th, .afya table.shop_table td { padding: 12px 10px; border-bottom: 1px solid #eef2f6; text-align: left; vertical-align: top; }
.afya table.shop_table thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .8px; color: var(--afya-muted); }
.afya table.shop_table tfoot th { color: var(--afya-primary); }
.afya table.shop_table .button { height: 34px; padding: 0 12px; font-size: 13px; margin: 2px; }

/* My account */
.afya-account { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; margin-top: 28px; align-items: start; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 10px; border: 1px solid var(--afya-line); border-radius: 12px; background: var(--afya-tint-3); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 11px 14px; border-radius: 8px; font-weight: 600; color: var(--afya-primary) !important; }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--afya-primary); color: #fff !important; }
.woocommerce-MyAccount-navigation li a:hover { background: var(--afya-tint); }
.woocommerce-MyAccount-navigation li.is-active a:hover { background: var(--afya-primary); }
.woocommerce-MyAccount-content > p:first-child { margin-bottom: 14px; }
.woocommerce-MyAccount-content p { margin-bottom: 12px; }
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 16px; }
.woocommerce-Address { border: 1px solid var(--afya-line); border-radius: 10px; padding: 18px; }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.woocommerce-Address address { font-style: normal; line-height: 1.7; }
#customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 28px; }
#customer_login > div { padding: 28px; border: 1px solid var(--afya-line); border-radius: 12px; }
#customer_login h2 { font-size: 22px; margin-bottom: 18px; }
#customer_login .woocommerce-form-login, #customer_login .woocommerce-form-register { border: 0; padding: 0; margin: 0; }
.woocommerce-form-login__rememberme { margin-bottom: 14px !important; }
.lost_password { margin-top: 14px; font-size: 14px; }
.afya-show-register #customer_login .u-column2 { border-color: var(--afya-primary); box-shadow: 0 0 0 3px rgba(1, 43, 129, .08); }

.afya-track { margin-top: 28px; max-width: 760px; }
.afya-track .track_order p:first-child { margin-bottom: 16px; }
.afya-track .form-row-first, .afya-track .form-row-last { width: 100%; }

/* Stores, contact */
.afya-stores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.afya-store { padding: 22px; border: 1px solid var(--afya-line); border-radius: 12px; display: flex; flex-direction: column; gap: 10px; }
.afya-store__icon { width: 46px; height: 46px; border-radius: 10px; background: var(--afya-tint); color: var(--afya-primary); display: grid; place-items: center; }
.afya-store h2 { font-size: 19px; margin: 4px 0 2px; }
.afya-store p { display: flex; gap: 8px; font-size: 14px; }
.afya-store p .afya-icon { color: var(--afya-primary); margin-top: 3px; }
.afya-store .afya-btn { margin-top: auto; align-self: flex-start; }
.afya-contact-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.afya-contact-card { display: flex; flex-direction: column; gap: 4px; padding: 20px; border: 1px solid var(--afya-line); border-radius: 12px; }
.afya-contact-card span { width: 44px; height: 44px; border-radius: 50%; background: var(--afya-tint); color: var(--afya-primary); display: grid; place-items: center; margin-bottom: 8px; }
.afya-contact-card strong { color: var(--afya-primary); }
.afya-contact-card small { font-size: 14px; color: var(--afya-text); }

/* Blog single */
.afya-article { max-width: 860px; margin: 10px auto 0; }
.afya-article__title { font-size: 40px; font-weight: 700; letter-spacing: -.6px; line-height: 1.15; }
.afya-article__meta { display: flex; align-items: center; gap: 8px; margin-top: 14px !important; font-size: 13px; }
.afya-article__img { margin: 26px 0; border-radius: 14px; overflow: hidden; line-height: 0; }
.afya-article__img img { width: 100%; }
.afya-article__body { font-size: 16px; }
.afya-article__comments { max-width: 860px; margin: 40px auto 0; }
.afya-comments__list { list-style: none; padding: 0; }
.afya .comment-form label { display: block; font-weight: 600; color: var(--afya-primary); margin-bottom: 6px; }
.afya .comment-form p { margin-bottom: 14px; }
.afya-blog-grid + .afya-pagination { margin-top: 40px; }
.afya-blog-grid { padding: 0 16px; }
.afya-section .afya-blog-grid { padding: 0; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1440px) {
	.afya-header__row { grid-template-columns: 200px minmax(0, 1fr) auto; gap: 24px; }
	.afya-header__actions { gap: 20px; }
	.afya-nav__list { gap: 28px; }
	.afya-cat-tiles__track { gap: 12px; }
	.afya-brand-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 1199px) {
	.afya-deliver { display: none; }
	.afya-nav__list { gap: 22px; overflow-x: auto; scrollbar-width: none; }
	.afya-nav__item--mega { position: static; }
	.afya-cat-tiles__track { display: flex; overflow-x: auto; scrollbar-width: none; }
	.afya-cat-tile { flex: 0 0 150px; }
	.afya-features { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 10px; }
	.afya-feature:nth-child(3) { border-left: 0; }
	.afya-split { grid-template-columns: minmax(0, 1fr); }
	.afya-split__side { padding: 0 16px; }
	.afya-grid { --cols: 4 !important; }
	.afya-carousel { --cols: var(--cols-t) !important; }
	.afya-pills { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.afya-brand-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.afya-footer__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.afya-cart-layout, .afya-checkout, .afya-two-col { grid-template-columns: minmax(0, 1fr); }
	.afya-checkout__side { position: static; }
	.afya-order-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.afya-allcats, .afya-stores, .afya-contact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.afya-newsletter { flex-direction: column; align-items: stretch; }
	.afya-newsletter__form { width: auto; }
}
@media (max-width: 991px) {
	.afya-nav { display: none; }
	.afya-header__row { grid-template-columns: 44px 1fr 44px; height: 62px; gap: 8px; }
	.afya-burger { display: grid; place-items: center; width: 40px; height: 40px; border: 0; background: none; color: var(--afya-primary); padding: 0; }
	.afya-header__row .afya-logo { justify-self: center; }
	.afya-logo img, .afya-logo .custom-logo { height: 34px; }
	.afya-header__row > .afya-search { grid-column: 1 / -1; grid-row: 2; margin-bottom: 10px; height: 46px; }
	.afya-header__row { grid-template-rows: 62px auto; height: auto; }
	.afya-header__actions .afya-hicon--account, .afya-header__actions .afya-hicon--wishlist { display: none; }
	.afya-hicon span { display: none; }
	.afya-hicon--cart { justify-self: end; padding-right: 6px; }
	.afya-header__mloc { display: block; padding-bottom: 10px; }
	.afya-mloc { display: flex; align-items: center; gap: 8px; width: 100%; height: 34px; padding: 0 12px; border: 1px solid #e2e8f0; border-radius: 8px; background: var(--afya-bg); color: var(--afya-muted); }
	.afya-mloc strong { flex: 1; text-align: left; font-size: 13px; font-weight: 600; color: #0c1729; }
	.afya-product__top { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.afya-gallery-box { max-width: none; }
	.afya-product__title { font-size: 30px !important; }
	.afya-hero-box__title { font-size: 34px; }
	.afya-account, #customer_login, .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	body.afya { font-size: 14px; padding-bottom: 64px; }
	.afya-topbar .afya-wrap { height: 34px; }
	.afya-topbar__d { display: none; }
	.afya-topbar__m { display: inline; }
	.afya-wrap { padding: 0 14px; }
	.afya-search input[type="search"] { padding-left: 40px; font-size: 15px; }
	.afya-search__btn { padding: 0 14px; }
	.afya-panel { padding: 10px 14px 32px; }
	.afya-section, .afya-banners, .afya-product, .afya-wishlist, .afya-blog-grid { padding: 0; }
	.afya-slider { border-radius: 8px; }
	.afya-slider__dots { bottom: 6px; }
	.afya-slider__dots button { width: 6px; height: 6px; }
	.afya-slider__dots button.is-active { width: 14px; }
	.afya-cat-tiles { margin-top: 14px; padding: 0; }
	.afya-cat-tiles__track { gap: 8px; margin-right: -14px; padding-right: 14px; }
	.afya-cat-tile { flex: 0 0 98px; min-height: 108px; padding: 10px 6px; }
	.afya-cat-tile__img, .afya-cat-tile__img img { width: 76px; height: 50px; }
	.afya-cat-tile__name { font-size: 13px; }
	.afya-features { margin: 18px 0 0; padding: 12px 0; }
	.afya-feature { gap: 10px; padding: 8px 12px; }
	.afya-feature__icon .afya-icon { width: 24px; height: 24px; }
	.afya-feature__txt strong { font-size: 13px; }
	.afya-feature__txt small { font-size: 12px; }
	.afya-shead__title { font-size: 22px; }
	.afya-grid { --cols: 2 !important; gap: 24px 12px; }
	.afya-carousel { --cols: var(--cols-m) !important; --gap: 12px; }
	.afya-carousel__nav { display: none; }
	.afya-carousel--bottom-nav { padding-bottom: 0; }
	.afya-carousel--blog { --cols: 1.15 !important; }
	.afya-card__img { padding: 8px 18px; }
	.afya-card__title { font-size: 13px !important; }
	.afya-money b { font-size: 17px; }
	.afya-banners__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.afya-banners__links { justify-content: flex-start; }
	.afya-brands-panel { padding: 18px 14px; }
	.afya-split__side { padding: 0; }
	.afya-hero-box { flex-direction: column; align-items: flex-start; padding: 24px 20px; min-height: 0; }
	.afya-hero-box__title { font-size: 30px; }
	.afya-crumbs { padding: 12px 0 14px; font-size: 12px; }
	.afya-pills { grid-template-columns: minmax(0, 1fr); }
	.afya-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.afya-brand--full .afya-brand__logo { height: 120px; }
	.afya-az__letters { margin: 4px 0 0; justify-content: center; gap: 6px; }
	.afya-az__letters a { width: 34px; height: 38px; font-size: 14px; }
	.afya-az__count { margin-top: 30px; }
	.afya-blog-grid { grid-template-columns: minmax(0, 1fr); }
	.afya-steps { overflow-x: auto; gap: 18px; }
	.afya-steps__label { white-space: nowrap; }
	.afya-steps__item:not(.is-current) .afya-steps__label { display: none; }
	.afya-cart-item { grid-template-columns: 80px minmax(0, 1fr); padding: 14px; gap: 14px; }
	.afya-cart-item__img { width: 80px; height: 80px; }
	.afya-cart-item__side { grid-column: 1 / -1; flex-direction: row; align-items: center; }
	.afya-cart-actions { flex-direction: column; align-items: stretch; }
	.afya-coupon__row input { flex: 1; width: auto; }
	.afya-choice-grid, .afya-form__grid { grid-template-columns: minmax(0, 1fr); }
	.afya-fields .form-row-first, .afya-fields .form-row-last { width: 100%; }
	.afya-order-overview { grid-template-columns: 1fr 1fr; }
	.woocommerce-columns--addresses { grid-template-columns: 1fr; }
	.afya-allcats, .afya-stores, .afya-contact-cards { grid-template-columns: minmax(0, 1fr); }
	.afya-product__title { font-size: 24px !important; margin-top: 12px !important; }
	.afya-buybox { padding: 18px; }
	.afya-buybox__price { font-size: 30px; }
	.woocommerce-tabs { margin-top: 36px; }
	.woocommerce-tabs ul.tabs { padding: 0 6px; }
	.woocommerce-tabs ul.tabs li a { padding: 14px 10px; font-size: 14px; }
	.woocommerce-Tabs-panel { padding: 18px 16px; }
	.afya-newsletter-wrap { padding: 8px 14px 16px; }
	.afya-newsletter { padding: 20px; }
	.afya-newsletter__intro { gap: 14px; align-items: flex-start; }
	.afya-newsletter__icon .afya-icon { width: 32px; height: 32px; }
	.afya-footer { padding: 30px 14px 18px; }
	.afya-footer__inner { grid-template-columns: 1fr 1fr; gap: 28px 18px; padding: 0; }
	.afya-footer__brand, .afya-footer__col--help { grid-column: 1 / -1; }
	.afya-footer__brand p { margin-top: 12px; }
	.afya-footer h3 { margin-bottom: 12px; }
	.afya-footer__bottom { grid-template-columns: 1fr; text-align: center; margin-top: 30px; padding: 18px 0 0; }
	.afya-footer__proud { text-align: center; }
	.afya-floaters { right: 14px; bottom: 82px; gap: 12px; }
	.afya-float { width: 50px; height: 50px; }
	.afya-float--top { display: none; }
	.afya-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: grid; grid-template-columns: repeat(5, 1fr); height: 62px; padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid #e5e7eb; box-shadow: 0 -4px 16px rgba(15, 23, 42, .06); }
	.afya-tabbar__item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 11px; font-weight: 500; color: #94a3b8 !important; }
	.afya-tabbar__item.is-active { color: var(--afya-primary) !important; }
	.afya-tabbar__item .afya-badge { top: 4px; right: calc(50% - 22px); }
	.afya-toast { bottom: 80px; width: calc(100% - 28px); justify-content: space-between; }
	.admin-bar .afya-header { top: 0; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
