/* poea-native base. Element rules use :where() (0 specificity) so plugin CSS and .asb-feature always win.
   Preload assets/fonts/poppins-latin-400-normal.woff2 only. */

/* Poppins 400-700, latin + latin-ext (holds the peso sign U+20B1). OFL: assets/fonts/OFL.txt */
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/poppins-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/poppins-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/poppins-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/poppins-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/poppins-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/poppins-latin-ext-500-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/poppins-latin-ext-600-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/poppins-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Responsive tokens */
@media (min-width: 640px) { :root { --gutter: 24px; } }
@media (min-width: 768px) { :root { --section-y: var(--space-16); } }
@media (min-width: 1024px) { :root { --gutter: 32px; --header-h: 72px; } }

/* Reset */
*, *::before, *::after { box-sizing: border-box; }
:where(html) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + var(--space-4)); }
:where(body) {
	margin: 0;
	min-height: 100vh;
	font-family: var(--font-sans);
	font-size: var(--fs-16);
	line-height: var(--lh-16);
	font-weight: var(--fw-regular);
	color: var(--color-text);
	background: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}
:where(h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote, dl, dd) { margin: 0; }
:where(img, svg, video, canvas, iframe, picture) { display: block; max-width: 100%; }
:where(img, video) { height: auto; }
:where(button, input, select, textarea) { font: inherit; color: inherit; letter-spacing: inherit; }
:where(button) { cursor: pointer; }
:where([hidden]) { display: none !important; }
::selection { background: var(--color-selection); }

/* Typography */
:where(h1, h2, h3, h4, h5, h6) { color: var(--color-heading); font-weight: var(--fw-bold); text-wrap: balance; }
:where(h1) { font-size: var(--fs-36); line-height: var(--lh-36); letter-spacing: var(--tracking-tight); }
:where(h2) { font-size: var(--fs-24); line-height: var(--lh-24); letter-spacing: -0.01em; }
:where(h3) { font-size: var(--fs-18); line-height: var(--lh-18); font-weight: var(--fw-semibold); }
:where(h4, h5, h6) { font-size: var(--fs-16); line-height: var(--lh-16); font-weight: var(--fw-semibold); }
:where(p, ul, ol, dl, blockquote, pre, table, figure) + :where(p, ul, ol, dl, blockquote, pre, table, figure, h2, h3, h4) { margin-top: var(--space-4); }
:where(small) { font-size: var(--fs-13); }
:where(strong, b) { font-weight: var(--fw-semibold); }
:where(code, kbd, pre) { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.9em; }
:where(hr) { height: 1px; border: 0; background: var(--color-border); margin: var(--space-8) 0; }

/* Links: underline by default (axe link-in-text-block). Components remove it on their own class. */
:where(a) { color: var(--color-link); text-decoration-thickness: 1px; text-underline-offset: 0.18em; transition: color var(--dur-fast) var(--ease); }
:where(a):hover { color: var(--color-link-hover); }

/* Focus */
:where(:focus-visible) { outline: var(--focus-outline); outline-offset: var(--focus-offset); }
:where(:focus:not(:focus-visible)) { outline: none; }

/* Feature parity: the auto-seo-blogger .asb-feature template was built on Cariera's Bootstrap reboot.
   Re-create those element defaults inside it only (0,1,0 specificity, feature.css still wins). */
.asb-feature :where(p) { margin: 0 0 1.7em; }
.asb-feature :where(h1, h2, h3, h4, h5, h6) { margin: 0 0 0.5rem; text-wrap: wrap; }
.asb-feature :where(ul, ol, blockquote) { margin-top: 0; }
.asb-feature :where(figure) { margin: 0 0 1rem; }
.asb-feature :where(a) { text-decoration: none; }

/* Forms baseline (WPJM, Cariera, CF7 and WooCommerce forms inherit this) */
:where(label) { display: inline-block; font-size: var(--fs-14); font-weight: var(--fw-medium); color: var(--color-text); }
:where(input:not([type="checkbox"], [type="radio"], [type="range"], [type="submit"], [type="button"], [type="reset"], [type="file"], [type="color"]), select, textarea) {
	width: 100%;
	min-height: var(--control-h);
	padding: 0.5rem 0.875rem;
	font-size: var(--fs-16); /* >= 16px avoids iOS zoom */
	line-height: 1.5;
	background: var(--color-surface);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-md);
	transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
	appearance: none;
}
:where(textarea) { min-height: 7.5rem; resize: vertical; }
:where(select) {
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6a7d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1.125rem;
}
:where(select[multiple]) { background-image: none; padding-right: 0.875rem; }
:where(input, select, textarea):focus-visible { outline: none; border-color: var(--color-primary); box-shadow: var(--ring); }
:where(input, select, textarea):disabled { background-color: var(--pn-gray-100); color: var(--color-text-muted); cursor: not-allowed; }
:where(input, select, textarea)[aria-invalid="true"] { border-color: var(--color-danger); }
:where(input::placeholder, textarea::placeholder) { color: var(--color-text-muted); opacity: 1; }
:where(input[type="checkbox"], input[type="radio"]) { width: 1.125rem; height: 1.125rem; accent-color: var(--color-primary); vertical-align: -0.2em; }
:where(fieldset) { margin: 0; padding: 0; border: 0; min-width: 0; }
:where(legend) { padding: 0; font-weight: var(--fw-semibold); }

/* Tables baseline */
:where(table) { width: 100%; border-collapse: collapse; font-size: var(--fs-14); }
:where(th) { text-align: left; font-weight: var(--fw-semibold); }
:where(th, td) { padding: var(--space-3); border-bottom: 1px solid var(--color-border); vertical-align: top; }

/* Layout helpers */
.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.container--detail { max-width: calc(var(--container-detail) + 2 * var(--gutter)); }
.container--reading { max-width: calc(var(--measure) + 2 * var(--gutter)); }
.section { padding-block: var(--section-y); }
.section--tint { background: var(--color-surface); border-block: 1px solid var(--color-border); }
.stack > * + * { margin-top: var(--stack, var(--space-4)); }
.cluster { display: flex; flex-wrap: wrap; gap: var(--cluster, var(--space-2)); align-items: center; }
.grid { display: grid; gap: var(--space-6); grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--grid-min, 18rem)), 1fr)); }
.grid--3 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.layout-detail { display: grid; gap: var(--space-8); }
@media (min-width: 1024px) { .layout-detail { grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; } }

.eyebrow { font-size: var(--fs-12); line-height: var(--lh-12); font-weight: var(--fw-semibold); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--color-primary); }
.text-muted { color: var(--color-text-muted); }
.icon { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.icon--sm { width: 1rem; height: 1rem; }
.icon--fill { fill: currentColor; stroke: none; }

/* Accessibility helpers (screen-reader-text is the WP core name) */
.visually-hidden, .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip-link {
	position: absolute; left: var(--space-4); top: -100px; z-index: var(--z-toast);
	padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
	background: var(--color-primary); color: var(--color-on-primary); font-weight: var(--fw-semibold); text-decoration: none;
}
.skip-link:focus { top: var(--space-2); color: var(--color-on-primary); }

/* Reduced motion: also neutralise transforms used for hover lift */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
@media (prefers-reduced-motion: no-preference) { :where(html) { scroll-behavior: smooth; } }
