:root {
  --ff-petrol: #073544;
  --ff-petrol-deep: #042832;
  --ff-orange: #c74a0a;
  --ff-orange-dark: #9d3608;
  --ff-cream: #f7f4ed;
  --ff-cream-deep: #ede7da;
  --ff-white: #fffdfa;
  --ff-muted: #5d6665;
  --ff-line: #d8cfc0;
  --ff-shadow: 0 22px 60px rgba(7, 53, 68, 0.13);
  --ff-shadow-small: 0 10px 30px rgba(7, 53, 68, 0.09);
}

html { scroll-behavior: smooth; }
body { background: var(--ff-cream); color: var(--ff-petrol); font-family: Arial, Helvetica, sans-serif; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6, .wp-block-heading { color: var(--ff-petrol); font-family: Arial, Helvetica, sans-serif; font-weight: 800; letter-spacing: 0.015em; line-height: 1.08; }
body.admin-bar .ff-site-header { top: 32px; }

.ff-site-header { background: rgba(247, 244, 237, 0.96) !important; border-bottom: 3px solid var(--ff-petrol); box-shadow: 0 4px 20px rgba(7, 53, 68, 0.07); position: sticky; top: 0; z-index: 50; }
.ff-header__inner { gap: 2rem; }
.ff-header__brand { gap: 0.85rem; min-width: max-content; }
.ff-header__logo { margin: 0; }
.ff-header__logo img { display: block; height: 62px; object-fit: contain; object-position: center; width: 72px !important; }
.ff-brand-title { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.05rem, 1.8vw, 1.45rem); font-weight: 800; letter-spacing: 0.025em; line-height: 1.05; max-width: 180px; text-transform: uppercase; }
.ff-brand-title a { color: var(--ff-petrol); text-decoration: none; }
.ff-main-nav { margin-left: auto; }
.ff-main-nav .wp-block-navigation-item__content { color: var(--ff-petrol); font-family: Arial, Helvetica, sans-serif; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.075em; position: relative; text-transform: uppercase; }
.ff-main-nav .wp-block-navigation-item__content::after { background: var(--ff-orange); bottom: -0.38rem; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; width: 100%; }
.ff-main-nav .current-menu-item > .wp-block-navigation-item__content, .ff-main-nav .wp-block-navigation-item__content:hover { color: var(--ff-orange-dark); }
.ff-main-nav .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
.ff-header__inner > .wp-block-woocommerce-customer-account, .ff-header__inner > .wp-block-woocommerce-mini-cart { display: none !important; }

.ff-legacy-hero { background: linear-gradient(90deg, transparent 0 58%, rgba(199, 74, 10, 0.055) 58% 100%), var(--ff-cream); border-bottom: 1px solid var(--ff-line); overflow: hidden; position: relative; }
.ff-legacy-hero__columns { min-height: 620px; position: relative; z-index: 1; }
.ff-legacy-hero__title { font-size: clamp(2.65rem, 4.2vw, 4.4rem) !important; letter-spacing: 0; line-height: 0.98; max-width: 720px; text-align: center; text-transform: uppercase; width: 100%; word-break: normal; }
.ff-script { aspect-ratio: 662 / 312; color: transparent; display: block; line-height: 0; margin: 0.38em auto 0; max-width: 80%; overflow: hidden; position: relative; text-transform: none; transform: translateX(0.27em); width: 6.15em; }
.ff-script::before { aspect-ratio: 1649 / 954; background: url("../stall-wordmark.png") center / 100% 100% no-repeat; content: ""; left: 0; position: absolute; top: 0; transform: translate(-9.8%, -14.1%); width: 121.6%; }
.ff-legacy-hero p { color: #334e55; max-width: 610px; }
.ff-legacy-hero .wp-block-buttons { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); gap: clamp(0.5rem, 1.5vw, 1rem); align-items: stretch; }
.ff-legacy-hero .wp-block-button { min-width: 0; display: flex; }
.ff-legacy-hero .wp-block-button__link { box-sizing: border-box; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 3.6rem; font-size: clamp(0.75rem, 1.3vw, 0.9rem); line-height: 1.4; padding: 1rem clamp(0.45rem, 1.5vw, 1.45rem); }
.ff-legacy-hero__image { margin: -1rem -4rem -2rem 0; }
.ff-legacy-hero__image img { display: block; filter: drop-shadow(0 24px 28px rgba(7, 53, 68, 0.16)); height: auto; max-height: 600px; object-fit: contain; width: 100%; }
.ff-eyebrow { color: var(--ff-orange) !important; font-size: 0.76rem; font-weight: 900; letter-spacing: 0.18em; text-transform: uppercase; }

.wp-block-button__link, .woocommerce .button, .woocommerce button.button, .woocommerce input.button { background: var(--ff-orange) !important; border: 2px solid var(--ff-orange) !important; border-radius: 0.35rem !important; box-shadow: 0 8px 18px rgba(157, 54, 8, 0.18); color: #fff !important; font-size: 0.77rem; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase; transition: background 180ms ease, border-color 180ms ease, transform 180ms ease; }
.wp-block-button__link:hover, .woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--ff-orange-dark) !important; border-color: var(--ff-orange-dark) !important; color: #fff !important; transform: translateY(-2px); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; border-color: var(--ff-petrol) !important; box-shadow: none; color: var(--ff-petrol) !important; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--ff-petrol) !important; color: #fff !important; }

.ff-section-heading { max-width: 760px; }
.ff-brands { background: var(--ff-white) !important; border-top: 6px solid var(--ff-orange); }
.ff-brands h2, .ff-stock-preview h2 { text-transform: uppercase; }
.ff-brand-grid { display: grid; gap: 1rem; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 2.8rem auto 2rem; max-width: 1120px; }
.ff-brand-grid figure { align-items: center; background: var(--ff-cream); border: 1px solid var(--ff-line); border-radius: 0.45rem; box-shadow: none; display: flex; flex-direction: column; justify-content: space-between; margin: 0; min-height: 155px; padding: 1rem 0.8rem 0.75rem; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.ff-brand-grid figure:hover { border-color: var(--ff-orange); box-shadow: var(--ff-shadow-small); transform: translateY(-3px); }
.ff-brand-grid img { height: 92px; max-width: 100%; object-fit: contain; width: 130px; }
.ff-brand-grid figcaption { color: var(--ff-petrol); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.06em; line-height: 1.25; margin-top: 0.55rem; text-align: center; text-transform: uppercase; }
.ff-stock-preview { background: var(--ff-cream-deep) !important; }
.ff-service-card { background: var(--ff-white) !important; border: 1px solid var(--ff-line); border-radius: 0.45rem; border-top: 7px solid var(--ff-orange); box-shadow: var(--ff-shadow-small); height: 100%; transition: transform 180ms ease, box-shadow 180ms ease; }
.ff-service-card h3 { font-size: clamp(1.35rem, 2.3vw, 1.8rem); line-height: 1.2; text-transform: uppercase; }
.ff-service-card .wp-block-list { font-size: clamp(1.1rem, 1.5vw, 1.25rem); line-height: 1.75; }
.ff-service-card .wp-block-list li + li { margin-top: 0.45em; }
.ff-service-card:hover { box-shadow: var(--ff-shadow); transform: translateY(-4px); }
.ff-service-card a { color: var(--ff-orange-dark); }
.ff-contact-band { background: var(--ff-petrol) !important; border-top: 7px solid var(--ff-orange); }
.ff-contact-band h2 { text-transform: uppercase; }
.ff-contact-band .wp-block-button__link { background: var(--ff-orange) !important; }

.ff-page-title { background: linear-gradient(90deg, rgba(199, 74, 10, 0.07), transparent 55%), var(--ff-cream-deep); border-bottom: 1px solid var(--ff-line); border-top: 6px solid var(--ff-orange); }
.ff-page-title h1, main > .wp-block-group:first-child > h1 { text-transform: uppercase; }
.ff-inventory-placeholder { align-items: center; background: var(--ff-cream); border: 1px solid var(--ff-line); border-radius: 0.45rem; color: var(--ff-petrol); display: flex; flex-direction: column; margin-top: 2rem; padding: 3rem 1.5rem; text-align: center; }
.ff-inventory-placeholder span { color: var(--ff-muted); margin-top: 0.35rem; }

.ff-footer { background: var(--ff-petrol-deep) !important; border-top: 7px solid var(--ff-orange); }
.ff-footer a { color: #fff; }
.ff-footer a:hover { color: #f5b084; }
.ff-footer h3 { font-family: Georgia, "Times New Roman", serif; letter-spacing: 0.04em; text-transform: uppercase; }
.ff-footer h4 { margin-bottom: 0.35rem; text-transform: uppercase; }
.ff-footer h4 + p { margin-top: 0; }
.ff-footer__cta { font-size: 0.74rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
.ff-footer__cta a { text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
.ff-footer__legal { font-size: 0.78rem; }
.ff-footer .wp-block-separator { background: var(--ff-orange) !important; color: var(--ff-orange) !important; }

.ff-inventory-filter { background: var(--ff-petrol) !important; border-radius: 0.5rem !important; box-shadow: var(--ff-shadow) !important; }
.ff-inventory-filter__eyebrow { color: #f5b084 !important; }
.ff-inventory-filter__heading strong { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: 0.03em; text-transform: uppercase; }
.ff-inventory-filter input, .ff-inventory-filter select { border-radius: 0.3rem !important; }
.ff-inventory-filter button { background: var(--ff-orange) !important; border-radius: 0.3rem !important; }
.ff-inventory-filter button:hover, .ff-inventory-filter button:focus-visible { background: var(--ff-orange-dark) !important; }
.ff-product-card { background: var(--ff-white) !important; border-color: var(--ff-line) !important; border-radius: 0.45rem !important; }
.ff-product-card:hover { border-color: var(--ff-orange) !important; box-shadow: var(--ff-shadow-small) !important; }
.ff-product-card__image { background: var(--ff-cream) !important; }
.ff-product-card__placeholder { background: var(--ff-cream) !important; color: var(--ff-orange-dark) !important; font-family: inherit !important; }
.ff-product-card__title { font-family: Arial, Helvetica, sans-serif !important; font-weight: 800 !important; }
.ff-product-card__title a, .ff-product-card__price { color: var(--ff-petrol) !important; }
.ff-product-card__link { color: var(--ff-orange-dark) !important; font-weight: 900 !important; text-transform: uppercase; }
.ff-inventory__pagination a, .ff-inventory__pagination span { border-radius: 0.25rem !important; }
.ff-inventory__pagination .current { background: var(--ff-orange) !important; border-color: var(--ff-orange) !important; }
.ff-inventory__notice { background: var(--ff-cream-deep) !important; border-left-color: var(--ff-orange) !important; }

@media (max-width: 1060px) {
  .ff-header__inner { gap: 1rem; }
  .ff-main-nav .wp-block-navigation-item__content { font-size: 0.68rem; }
  .ff-brand-title { display: none; }
}
@media (max-width: 900px) {
  .ff-legacy-hero__columns { min-height: auto; }
  .ff-legacy-hero__image { margin: 0; }
  .ff-brand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
  body.admin-bar .ff-site-header { top: 46px; }
  .ff-site-header { position: relative; }
  .ff-header__inner { align-items: center !important; }
  .ff-brand-title { display: block; max-width: 150px; }
  .ff-main-nav { margin-left: auto !important; }
  .ff-main-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--ff-cream) !important; color: var(--ff-petrol) !important; padding: 2rem !important; }
  .ff-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1rem; }
  .ff-legacy-hero { background: var(--ff-cream); }
  .ff-legacy-hero__columns { flex-direction: column-reverse; }
  .ff-legacy-hero__title { font-size: clamp(2.15rem, 10.5vw, 3.2rem) !important; }
  .ff-legacy-hero__image img { max-height: 350px; }
  .ff-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .ff-header__logo img { height: 52px; width: 60px !important; }
  .ff-brand-title { font-size: 0.94rem; max-width: 130px; }
  .ff-brand-grid figure { min-height: 135px; }
  .ff-brand-grid img { height: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
