/* Structural styles only. Palette and typography are owned by theme.json. */
:root { color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 1rem; }
body { margin: 0; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .2em; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--wp--preset--color--brand);
  outline-offset: 4px;
  box-shadow: 0 0 0 4px var(--wp--preset--color--surface);
}
:where(button, input, select, textarea) { font: inherit; }
:where(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  min-height: 44px;
  border: 1px solid var(--wp--preset--color--muted);
  border-radius: var(--wp--custom--radius--control);
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--surface);
}
:where(button, .wp-element-button) { min-height: 44px; cursor: pointer; }
:where(button, .wp-element-button, a) { transition: background-color 160ms ease, color 160ms ease; }
:where(button, .wp-element-button):active { filter: brightness(.9); }
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color--sand);
  color: var(--wp--preset--color--brand);
}
:where(button, input):disabled, [aria-disabled=true] { opacity: .6; cursor: not-allowed; }
[aria-busy=true] { cursor: progress; }
[aria-invalid=true] { border-width: 2px; border-style: dashed; }
.funep-shell { padding-inline: 32px; }
.funep-section { padding-block: var(--wp--preset--spacing--section); }
.funep-header { border-bottom: 1px solid var(--wp--preset--color--sand); padding-block: 24px 16px; }
.funep-header-row { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
.funep-brand { flex: 0 1 230px; }
.funep-brand .wp-block-site-title { font-family: var(--wp--preset--font-family--editorial); font-size: 1.75rem; line-height: 1.15; }
.funep-brand .wp-block-site-title a { text-decoration: none; }
.funep-search { flex: 1 1 280px; }
.funep-search .wp-block-search__label { font-size: .875rem; }
.funep-search .wp-block-search__inside-wrapper { gap: 8px; }
.funep-search .wp-block-search__input { min-width: 0; padding: 10px 12px; }
.funep-search .wp-block-search__button { margin: 0; }
.funep-actions { flex-shrink: 0; gap: 16px; }
.funep-nav { border-top: 1px solid var(--wp--preset--color--sand); padding-top: 16px; }
.funep-nav a, .funep-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.funep-hero { padding-block: clamp(40px, 6vw, 88px); }
.funep-hero h1 { max-width: 18ch; }
.funep-hero p { max-width: 54ch; }
.funep-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .8125rem; font-weight: 700; }
.funep-editorial-note { border-left: 3px solid var(--wp--preset--color--copper); padding-left: 24px; }
.funep-editorial-note p { max-width: 30ch; }
.funep-book-card { height: 100%; border: 1px solid var(--wp--preset--color--sand); border-radius: var(--wp--custom--radius--card); padding: 16px; background: var(--wp--preset--color--surface); }
.funep-book-card h3 { overflow-wrap: anywhere; }
.funep-book-card img { object-fit: contain; }
.funep-product-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px !important; }
.funep-empty { padding: 24px; border: 1px dashed var(--wp--preset--color--muted); border-radius: var(--wp--custom--radius--card); }
.funep-footer { padding-block: 48px 24px; }
.funep-footer a { color: inherit; }
.funep-footer :focus-visible { outline-color: var(--wp--preset--color--surface); box-shadow: 0 0 0 4px var(--wp--preset--color--brand-dark); }
.funep-demo { font-size: .875rem; border-left: 3px solid var(--wp--preset--color--copper); padding-left: 12px; }
.funep-main { min-height: 50vh; }
.funep-main [hidden] { display: none !important; }
@media (max-width: 1023px) {
  .funep-shell { padding-inline: 24px; }
  .funep-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  .funep-shell { padding-inline: 16px; }
  .funep-section { padding-block: 40px; }
  .funep-header-row { gap: 16px; }
  .funep-brand { flex: 1 1 130px; }
  .funep-brand .wp-block-site-title { font-size: 1.375rem; }
  .funep-search { order: 3; flex-basis: 100%; }
  .funep-actions { gap: 8px; }
  .funep-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .funep-book-card { padding: 12px; }
  .funep-book-card h3 { font-size: .875rem; }
}
@media (max-width: 359px) {
  .funep-product-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
