/*
Theme Name: Full Protection Child
Theme URI: https://sinergiadigital.online/
Description: Full Protection child theme with editable forms, bilingual branded quote PDFs, WPBakery compatibility, and site-specific overrides.
Author: Daniel Ramírez
Author URI: https://sinergiadigital.online/
Template: themework_fixed_v196
Version: 1.2.67
Text Domain: full-protection-child
*/

/* v1.2.65 - Become a Dealer no longer shows the Home brand carousel; guest/user quote products are displayed in the application, stored with the Dealer backend record, and included in notification/confirmation emails. */
/* v1.2.64 - Restores Home Academy on Spanish routes, keeps Spanish Overrides available, and guarantees localized default Academy content when saved data is empty or legacy. */
/* v1.2.62 - Prevent generic Spanish Overrides from replacing child-managed Home repeaters (including Academy) with stale/empty *_es JSON. */
/* v1.2.61 - Prevent Gutenberg REST state from overwriting Home brand heading text after save. */
/* v1.2.60 - Quote CTA labels, persistent Home brand heading fields, and optional floating social rail. */
/* v1.2.44 - Refines About hero image positioning/overlay and adds an editable four-icon proof row beside the mission statement. */
/* v1.2.45 - Repositions About proof icons under the story copy and the mission statement directly under the right-side image, matching the approved reference composition. */
/* v1.2.46 - Become a Dealer: forces the hero heading to white and adds the same linked brand carousel used on Home. */
/* v1.2.47 - Rebuilds News & Events with an editorial sidebar, compact filters/search/sort, 3-column article grid, newsletter card, AJAX pagination, and a richer News hero. */
/* v1.2.51 - Enlarges catalog product typography, keeps Spanish cart CTAs inside their buttons, and renders two product cards per row on mobile. */
/* v1.2.54 - Increases product title/body typography on Home and catalog cards for desktop/mobile, logged-in and guest views, while preserving clamping and equal-card layout. */
/* v1.2.55 - Fixes the single-product mobile gallery so the main product image always renders at full width, with thumbnails below and contained image scaling. */
/* v1.2.56 - Enlarges About icon text and adds editable desktop/mobile hero artwork across generic page banners, including About EN/ES. */
/* v1.2.57 - Fixes EN/ES Home carousel media pairing and reduces front-end image/video payloads for faster initial rendering. */
/* v1.2.58 - Adds visible bilingual EN/ES Login hero upload controls in the Full Protection options page while keeping the existing front-end login hero logic. */
/* v1.2.59 - Moves the bilingual Login hero controls into a real Login-page metabox and makes frontend EN/ES rendering prefer those page-specific images. */
/* v1.2.13 - Become a Dealer: Spanish repeater media now bypasses legacy whole-JSON ES overrides and migrates existing ES rows safely. */
/* v1.2.14 - Country-aware email routing is available per form and works for Contact, Dealer, and any visual form with a country field. */
/* v1.2.15 - Legal pages use a visual bilingual editor and explicit EN/ES front-end content selection. */
/* v1.2.16 - Independent Spanish SEO fields, /es/ canonicals, hreflang, HTML language, social metadata, Schema language, and Spanish XML sitemap. */
/* v1.2.17 - Independent forced H1 fields for English and Spanish, with safe front-end replacement/promotion. */
/* v1.2.18 - Legacy migration redirects: safe brand-route resolver, EN/ES fallbacks, and 301 migration helpers. */
/* v1.2.19 - Spreadsheet-driven exact 301 map, canonical /brands/ term routes, automatic ES brand routes, and migration readiness checks. */
/* v1.2.20 - Restores the real document <title> tag for WordPress/Yoast and guarantees independent /es/ browser titles. */
/* v1.2.21 - Repairs About EN/ES hero cross-fill, updates theme author metadata, and adds the Full-Protection logo as the theme screenshot. */
/* v1.2.22 - Hardens About EN hero/H1 separation when legacy Spanish values were duplicated into English fields. */
/* v1.2.23 - Replaces the parent global banner renderer so English URLs never read *_es hero metadata; fixes About and every global page banner at the source. */
/* v1.2.24 - Adds a dedicated Spanish Topbar URL in the Home editor; /es/ uses it with safe automatic localization fallback for internal links. */
/* v1.2.25 - Saved removals are authoritative: Dealer/Home/social content no longer resurrects demo, placeholder, or legacy fallback content after deletion. */
/* v1.2.26 - Restores and protects all page editing metaboxes; removes the broad About/Home save override while keeping frontend removal behavior. */
/* v1.2.27 - Refreshes the Home structure: category + featured product cards, Why Partner, slow linked brands carousel, company stats, and Ready to Grow. */
/* v1.2.28 - Restyles the refreshed Home using the original theme heading language, larger cards, larger typography, stronger spacing, polished brand carousel, company facts, and CTA proportions. */
/* v1.2.29 - Refines Home section titles, adds the products carousel + view-more CTA, enlarges standalone Why icons, improves brand actions, and polishes typography scale. */
/* v1.2.30 - Premium Home refinement: corrected ES solutions title migration, cleaner title scale, stronger typography, standalone icons, aligned CTAs, and polished carousel proportions. */
/* v1.2.31 - Narrows Home solution cards to show more per row and replaces the legacy Home metabox with a current EN/ES editor matching every live Home section. */
/* v1.2.32 - Refreshes About: removes the video, adds an editable statement below the right-side image, and introduces Team tabs with Sales grouped by region. */
/* v1.2.33 - Restores the About Why Partner icon row, makes it bilingual/editable, narrows Home solution cards without shrinking their titles/images, and reduces Home section spacing. */
/* v1.2.34 - Restores actual products on Home, restores Academy, standardizes full-size section titles, tightens section spacing further, and updates the Home backend to edit the live sections directly. */
/* v1.2.35 - Restores the original Featured Products grid, adds a complete reorderable Home editor for all live sections, and enforces a 4:4 product-media ratio. */
/* v1.2.36 - Adds the Featured Products carousel, editable uploaded icons for Why Partner and company facts, and tighter brand spacing. */
/* v1.2.37 - Protects the Featured Products heading from legacy site-title contamination. */
/* v1.2.38 - Prevents SEO H1 promotion from replacing visible Home section titles and cleans up carousel/action arrows. */
/* v1.2.39 - Rebuilds the mobile layout: compact Amazon-inspired header, dense Home spacing, smaller swipe cards, two-column Academy/benefit layouts, and mobile overflow fixes. */
/* v1.2.40 - Mobile Featured Products switches to a two-column Amazon-like grid with four visible items and a full-width View More Products action below. */
/* v1.2.42 - Enlarges Ready to Grow supporting copy and bullet typography on desktop and mobile. */
/* v1.2.41 - Mobile-only brand CTA colors and balanced company-facts grid with centered final odd item. */

/* v1.2.48 - Fixes Spanish UTF-8 persistence in all Home fields/repeaters, safely stores Unicode JSON, and repairs previously corrupted u00xx sequences automatically. */
/* v1.2.49 - Featured Products cards now use a smaller typography scale, equal desktop heights, and ellipsis line-clamping for both logged-in and guest views. */
/* v1.2.50 - Preserves the active EN/ES language across WordPress and WooCommerce logout flows. */
/* v1.2.53 - Become a Dealer mobile: two-column Why Partner, Benefits, and application-process cards to reduce vertical scrolling. */

:root {
  --fp-child-note: 0;
}

/* Only used when a page template exposes no heading that can be promoted to H1. */
.fp-forced-h1--fallback{max-width:1200px;margin:28px auto;padding:0 24px;color:#111827;font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.08;letter-spacing:-.02em}


.fp-brands-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px}.fp-brands-card__link{display:block;color:inherit;text-decoration:none}.fp-brands-card__actions{padding:0 18px 18px}.fp-btn--catalog{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;border:1px solid #d61f26;background:#d61f26;color:#fff;text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.fp-btn--catalog:hover{opacity:.92;color:#fff}
.fp-brands-page__catalog{display:flex;justify-content:center;margin-top:28px;padding-top:10px}.fp-brands-page__catalog-btn{max-width:360px}


/* v1.0.3 - Page hero overlays reduced 20% more than v1.0.2. */
.fp-about-hero--has-bg::before,
.fp-global-page-banner--has-bg::before{
  opacity:.65 !important;
}

.fp-about-hero::after,
.fp-global-page-banner::after{
  background:linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.26) 55%, rgba(0,0,0,.35) 100%) !important;
}

.fp-about-hero__title,
.fp-global-page-banner__title{
  text-shadow:0 5px 14px rgba(0,0,0,.27) !important;
}

.fp-about-hero__subtitle,
.fp-global-page-banner__subtitle{
  text-shadow:0 3px 11px rgba(0,0,0,.24) !important;
}

.fp-contact-hero__overlay{
  background:linear-gradient(90deg, rgba(0,0,0,.29) 0%, rgba(0,0,0,.13) 60%, rgba(0,0,0,0) 100%) !important;
}

.fp-contact-hero__title{
  text-shadow:0 2px 14px rgba(0,0,0,.28) !important;
}

.fp-dealer-hero__overlay{
  background:linear-gradient(90deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.14) 40%, rgba(0,0,0,.04) 100%) !important;
}

.fp-certs__hero-overlay{
  background:linear-gradient(90deg, rgba(0,0,0,.35), rgba(0,0,0,.14)) !important;
}

.fp-cert__hero-overlay{
  background:linear-gradient(90deg, rgba(17,24,39,.22), rgba(17,24,39,.05)) !important;
}

nav.fp-social-rail
 {
    margin-top: 12% !important;
}

@media (max-width: 767px) {
    .fp-social-rail {
        top: 40% !important;
	}
}

.fp-login-hero {
    display: none !important;
}

/* v1.1.6 - Coordinated release for parent v0.4.23.198. */

/* v1.2.0 - Editable native form builder and configurable success pop-ups. */

/* v1.2.1 - Reliable form delivery, mandatory submission storage, and selected-country sources. */

/* v1.2.2 - Verified submission storage, explicit per-form recipients, and autofill-safe anti-spam. */

/* v1.2.3 - Redesigned bilingual quote PDF based on the supplied Full Protection layout. */

/* v1.2.4 - Reliable AJAX blog categories, automatic reading time, complete article metadata, and correct News navigation. */

/* v1.2.5 - Complete bilingual About page and Team Member/taxonomy editing. */
.fp-team-card__contact-copy{min-width:0;overflow-wrap:anywhere}.fp-team-card__contact-label{font-weight:700;color:#374151}.fp-team-empty{margin:24px auto 0;padding:18px 20px;max-width:680px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;text-align:center;color:#475569}.fp-about-intro__paragraph>p:last-child{margin-bottom:20px}

/* v1.2.6 - Product-category titles, descriptions, breadcrumbs and subcategories now use editable Spanish labels. */

/* v1.2.7 - Spanish Shop/search interface and language-safe catalog pagination, search forms and product links. */

/* v1.2.8 - Bilingual Product Verticals content and frontend rendering. */

/* v1.2.9 - Global bilingual Home categories and language-safe Academy/category links. */

/* v1.2.10 - Home catalog CTA and guest-safe price sorting. */

/* v1.2.12 - Become a Dealer bilingual editor saves and renders Spanish icons, images, files, and copy. */


/* Legal pages: theme-managed typography so editors never need inline styles. */
.fp-prose-page .fp-prose ul{list-style:disc outside;padding-left:1.4rem}
.fp-prose-page .fp-prose ol{list-style:decimal outside;padding-left:1.4rem}
.fp-prose-page .fp-prose strong{font-weight:700}
.fp-prose-page .fp-prose em{font-style:italic}
.fp-prose-page .fp-prose p:empty{display:none}


/* v1.2.25 removal semantics: cards without media stay clean instead of showing placeholders. */
.fp-dealer-testimonial--no-image{grid-template-columns:1fr!important}
.fp-dealer-card--no-icon .fp-dealer-card__title{margin-top:0}

/* v1.2.36 - Featured Products carousel, corrected Home section title source, tighter brand spacing, and fully uploadable Home icons. */
/* v1.2.37 - Featured Products heading moved to dedicated collision-proof metadata so the site name/tagline can never replace the section title. */
/* v1.2.38 - Fixes the real Home title collision in the SEO forced-H1 layer and corrects Products/Brands action and carousel arrows. */
/* v1.2.35 - Product image media ratio requested for Home/catalog cards. */
.fp-card__media {
    aspect-ratio: 4 / 4;
}


/* ============================================================
 * v1.2.39 - Mobile header rebuild
 * Dense, commerce-first layout inspired by familiar mobile retail patterns:
 * compact controls, one-line brand/actions, search immediately below, and
 * reduced vertical chrome. Desktop is intentionally untouched.
 * ============================================================ */
@media (max-width: 767px){
  html, body{
    max-width:100%;
    overflow-x:hidden;
  }

  /* Compact promotional strip + upper utility row. */
  .fp-topbar{
    padding:5px 10px!important;
  }
  .fp-topbar__inner{
    font-size:10px!important;
    line-height:1.25!important;
    letter-spacing:.06em!important;
  }
  [data-fp-mobile-topbar]{
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
  [data-fp-mobile-topbar] > .flex.items-center.justify-between{
    min-height:40px!important;
    gap:8px!important;
  }
  .fp-mobile-topbar-toggle{
    width:38px!important;
    height:38px!important;
    padding:0!important;
    justify-content:center!important;
    border-radius:8px!important;
    letter-spacing:0!important;
  }
  .fp-mobile-topbar-toggle span{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  .fp-mobile-topbar-toggle svg{
    width:21px!important;
    height:21px!important;
  }
  [data-fp-mobile-topbar] .fp-topbar-newsletter-btn--dealer{
    min-height:34px!important;
    padding:0 11px!important;
    border-radius:7px!important;
    box-shadow:none!important;
    font-size:9px!important;
    letter-spacing:.08em!important;
  }
  [data-fp-mobile-topbar] [data-fp-dropdown-toggle]{
    min-height:36px!important;
    padding:0 9px!important;
    border-radius:8px!important;
    gap:5px!important;
  }
  [data-fp-mobile-topbar] [data-fp-dropdown-toggle] span{
    font-size:10px!important;
  }

  /* Logo + account/cart on one compact line, search immediately below. */
  header .border-b.border-gray-100 > .container{
    padding:8px 12px!important;
  }
  .fp-main-header-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    gap:8px 10px!important;
  }
  .fp-header-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    justify-content:flex-start!important;
    margin:0!important;
    min-width:0!important;
  }
  .fp-header-brand__logo{
    height:38px!important;
    max-width:150px!important;
    object-fit:contain!important;
  }
  .fp-header-brand__slogan{
    display:none!important;
  }
  .fp-main-header-actions{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    justify-content:flex-end!important;
    gap:9px!important;
  }
  .fp-header-academy{
    display:none!important;
  }
  .fp-header-account,
  .fp-header-cart,
  .fp-header-quote{
    flex:0 0 34px!important;
    width:34px!important;
    min-height:34px!important;
    gap:0!important;
  }
  .fp-header-account svg,
  .fp-header-cart svg,
  .fp-header-quote svg{
    width:25px!important;
    height:25px!important;
  }
  .fp-header-account > span:not(#fp-saved-count),
  .fp-header-cart > span:not(#fp-cart-count),
  .fp-header-quote > span:not(#fp-saved-count){
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  #fp-cart-count{
    top:-5px!important;
    right:-5px!important;
    width:17px!important;
    height:17px!important;
    font-size:9px!important;
  }
  #fp-saved-count{
    top:-4px!important;
    right:-3px!important;
    font-size:11px!important;
  }
  .fp-main-header-search{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    margin:0!important;
  }
  .fp-main-header-search .fp-header-search-input{
    min-height:44px!important;
    height:44px!important;
    padding:0 46px 0 14px!important;
    border-width:1px!important;
    border-radius:8px!important;
    font-size:14px!important;
  }
  .fp-main-header-search .fp-header-search-form button{
    right:12px!important;
  }

  /* Category strip: compact rather than a tall third header block. */
  header .bg-gray-100.border-b-4 > .container{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  [data-fp-cat-mobile]{
    min-height:42px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
    gap:8px!important;
  }
  [data-fp-cat-mobile-toggle]{
    min-height:32px!important;
    padding:0 7px!important;
    border:0!important;
    border-radius:6px!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:10px!important;
    letter-spacing:.08em!important;
  }
  [data-fp-cat-mobile-toggle] svg{
    width:17px!important;
    height:17px!important;
  }
  [data-fp-cat-mobile] a[data-fp-brands]{
    min-width:0!important;
    min-height:32px!important;
    padding:0 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:7px!important;
    box-shadow:none!important;
    font-size:10px!important;
    letter-spacing:.08em!important;
  }
  [data-fp-cat-mobile-menu] .container{
    padding:8px 12px 10px!important;
    gap:7px!important;
  }
  [data-fp-cat-mobile-menu] a{
    padding:9px 10px!important;
    font-size:10px!important;
    line-height:1.25!important;
  }

  /* Floating social rail consumes too much of a phone viewport. */
  .fp-social-rail{
    display:none!important;
  }
}


/* ============================================================
 * v1.2.46 - Become a Dealer polish
 * White hero title + the same slow linked brand carousel used on Home.
 * ============================================================ */
.fp-dealer-page .fp-dealer-hero__title{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 4px 18px rgba(0,0,0,.28)!important;
}

/* Dealer brand carousel mirrors the live Home visual language without
 * applying Home-only page rules to the rest of the Dealer page. */
.fp-dealer-page .fp-home-brands{
  padding:24px 0 26px!important;
  background:#fff;
  border-top:1px solid rgba(200,31,38,.22);
  border-bottom:1px solid rgba(200,31,38,.18);
}
.fp-dealer-page .fp-home-brands__heading{
  margin-bottom:16px!important;
}
.fp-dealer-page .fp-home-brands .fp-home-section-header{
  min-height:64px;
  display:flex;
  align-items:flex-end;
  gap:18px;
}
.fp-dealer-page .fp-home-brands .fp-home-section-header__title{
  flex:1 1 auto;
  min-width:0;
}
.fp-dealer-page .fp-home-brands .fp-home-section-header__title h2{
  margin:0;
  max-width:790px;
  font-family:inherit;
  font-size:clamp(32px,3vw,40px)!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.045em!important;
  color:#081225!important;
  text-transform:uppercase;
}
.fp-dealer-page .fp-home-brands__head-actions{
  gap:14px;
}
.fp-dealer-page .fp-home-brands__group{
  gap:40px!important;
  padding-right:40px!important;
}
.fp-dealer-page .fp-home-brand-logo{
  width:160px;
  flex-basis:160px;
}
.fp-dealer-page .fp-home-brand-logo__img{
  max-width:154px;
}
.fp-dealer-page .fp-home-carousel-arrow{
  padding:0!important;
  line-height:1;
}
.fp-dealer-page .fp-home-carousel-arrow svg{
  width:16px;
  height:16px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:767px){
  .fp-dealer-page .fp-home-brands{
    padding:12px 0 14px!important;
    margin:0!important;
  }
  .fp-dealer-page .fp-home-brands__heading{
    margin-bottom:10px!important;
  }
  .fp-dealer-page .fp-home-brands .fp-home-section-header{
    min-height:0!important;
    padding-top:7px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:8px!important;
  }
  .fp-dealer-page .fp-home-brands .fp-home-section-header__title h2{
    font-size:clamp(22px,6.4vw,27px)!important;
    line-height:1.02!important;
    letter-spacing:.025em!important;
  }
  .fp-dealer-page .fp-home-brands__head-actions{
    width:auto!important;
    margin:0!important;
    padding:0!important;
    gap:7px!important;
    justify-content:flex-end!important;
  }
  .fp-dealer-page .fp-home-brands__all{
    max-width:108px!important;
    padding:0!important;
    font-size:9px!important;
    line-height:1.15!important;
    text-align:right!important;
    white-space:normal!important;
  }
  .fp-dealer-page .fp-home-brands__viewport{
    padding:2px 0 4px!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .fp-dealer-page .fp-home-brands__group{
    gap:16px!important;
    padding:3px 16px 3px 0!important;
  }
  .fp-dealer-page .fp-home-brand-logo{
    width:102px!important;
    height:54px!important;
    flex:0 0 102px!important;
    padding:3px!important;
  }
  .fp-dealer-page .fp-home-brand-logo__img{
    max-width:98px!important;
    max-height:48px!important;
  }
}


/* ============================================================
 * v1.2.51 - Product catalog/card readability and mobile 2-up grid
 * Applies to WooCommerce catalog cards for logged-in and guest users.
 * ============================================================ */
.fp-product-card h3,
[data-fp-product-card] h3{
  font-size:13px!important;
  line-height:1.34!important;
  min-height:36px;
}
.fp-product-card__excerpt{
  font-size:13px!important;
  line-height:1.48!important;
}
.fp-product-card__meta{
  font-size:11.5px!important;
  line-height:1.4!important;
}
.fp-product-card__pricing{
  font-size:11.5px!important;
  line-height:1.35!important;
}
.fp-product-card__pricing .fp-price,
[data-fp-product-card] .fp-price{
  font-size:14px!important;
  line-height:1.2!important;
}
.fp-atc-btn{
  width:100%!important;
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 8px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  line-height:1.12!important;
  font-size:10.5px!important;
}

@media (max-width:767px){
  /* Category/shop heading: readable without consuming too much vertical space. */
  .fp-shop__title{
    font-size:clamp(22px,7vw,28px)!important;
    line-height:1.02!important;
    letter-spacing:.025em!important;
  }
  .fp-shop__subtitle{
    font-size:13px!important;
    line-height:1.45!important;
  }

  /* Use the phone width efficiently, matching the two-up Home product treatment. */
  .fp-shop .fp-container{
    padding-left:9px!important;
    padding-right:9px!important;
  }
  .fp-shop__grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .fp-shop__grid > [data-fp-product-card]{
    min-width:0!important;
    width:100%!important;
    height:100%!important;
    border-radius:9px!important;
  }
  .fp-shop__grid > [data-fp-product-card] > .p-4{
    padding:9px!important;
  }
  .fp-shop__grid > [data-fp-product-card] > .p-4.pt-0{
    padding-top:0!important;
  }
  .fp-shop__grid .fp-card__media{
    width:100%!important;
    aspect-ratio:4 / 4!important;
    margin:0!important;
  }
  .fp-shop__grid .fp-card__media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }

  /* Product copy is deliberately larger than the previous mobile version. */
  .fp-shop__grid [data-fp-product-card] h3,
  .fp-shop__grid .fp-product-card h3{
    margin-top:9px!important;
    min-height:0!important;
    font-size:12px!important;
    line-height:1.28!important;
    letter-spacing:.01em!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
  }
  .fp-shop__grid .fp-product-card__excerpt{
    margin-top:6px!important;
    font-size:11.5px!important;
    line-height:1.4!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:3!important;
    overflow:hidden!important;
  }
  .fp-shop__grid .fp-product-card__meta{
    margin-top:7px!important;
    font-size:10px!important;
    line-height:1.32!important;
  }
  .fp-shop__grid .fp-product-card__meta p{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .fp-shop__grid .fp-product-card__pricing{
    margin-top:8px!important;
    font-size:10.5px!important;
    line-height:1.3!important;
  }
  .fp-shop__grid .fp-product-card__pricing .fp-price,
  .fp-shop__grid [data-fp-product-card] .fp-price{
    font-size:12.5px!important;
    line-height:1.18!important;
  }
  .fp-shop__grid .fp-dealer-price-label,
  .fp-shop__grid .fp-dealer-price-note{
    font-size:8.5px!important;
    line-height:1.15!important;
  }

  /* Quantity + Spanish CTA stay fully inside each narrow card. */
  .fp-shop__grid .fp-card__actions{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    width:100%!important;
  }
  .fp-shop__grid .fp-qty,
  .fp-shop__grid [data-fp-qty-wrap]{
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) 30px!important;
    align-items:center!important;
  }
  .fp-shop__grid .fp-qty button,
  .fp-shop__grid .fp-qty input,
  .fp-shop__grid [data-fp-qty-wrap] button,
  .fp-shop__grid [data-fp-qty-wrap] input{
    min-width:0!important;
    width:100%!important;
    height:30px!important;
    padding:0!important;
    font-size:11px!important;
  }
  .fp-shop__grid .fp-atc-btn{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    height:36px!important;
    max-height:36px!important;
    flex:0 0 36px!important;
    padding:0 7px!important;
    margin:0!important;
    border-radius:7px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:8.5px!important;
    line-height:1!important;
    letter-spacing:.015em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:center!important;
  }

  /* Guest/save CTA follows the same card width. */
  .fp-shop__grid .fp-save-product-btn,
  .fp-shop__grid .fp-access-pricing-btn{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    font-size:9.5px!important;
  }
}

/* v1.2.52 - Mobile catalog: compact fixed-height add-to-cart CTA. */


/* ============================================================
 * v1.2.53 - Become a Dealer: compact two-up mobile sections
 * Keeps desktop/tablet intact. On phones, the benefit/partner cards and
 * application steps render two per row to reduce excessive vertical scroll.
 * ============================================================ */
@media (max-width: 767px){
  .fp-dealer-page .fp-dealer-why-grid,
  .fp-dealer-page .fp-dealer-benefits-grid,
  .fp-dealer-page .fp-dealer-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:16px!important;
  }

  .fp-dealer-page .fp-dealer-card--why,
  .fp-dealer-page .fp-dealer-card--benefit{
    min-width:0!important;
    min-height:0!important;
    padding:16px 10px 15px!important;
    border-radius:10px!important;
  }
  .fp-dealer-page .fp-dealer-card__icon,
  .fp-dealer-page .fp-dealer-card__icon--small{
    margin-bottom:10px!important;
  }
  .fp-dealer-page .fp-dealer-card__icon-img{
    max-width:42px!important;
    max-height:42px!important;
  }
  .fp-dealer-page .fp-dealer-card__title,
  .fp-dealer-page .fp-dealer-card__title--benefit{
    margin:0!important;
    font-size:14px!important;
    line-height:1.18!important;
    letter-spacing:-.01em!important;
    overflow-wrap:anywhere;
  }
  .fp-dealer-page .fp-dealer-card__text,
  .fp-dealer-page .fp-dealer-card__text--benefit{
    margin-top:8px!important;
    font-size:11.5px!important;
    line-height:1.38!important;
    overflow-wrap:anywhere;
  }

  .fp-dealer-page .fp-dealer-process-step{
    min-width:0!important;
    min-height:118px!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr)!important;
    align-items:start!important;
    gap:7px!important;
    padding:12px 9px!important;
    border-radius:10px!important;
  }
  .fp-dealer-page .fp-dealer-process-step:after{
    display:none!important;
  }
  .fp-dealer-page .fp-dealer-process-step__num{
    width:24px!important;
    height:24px!important;
    flex-basis:24px!important;
    font-size:11px!important;
  }
  .fp-dealer-page .fp-dealer-process-step__content{
    min-width:0!important;
  }
  .fp-dealer-page .fp-dealer-process-step__title{
    margin:0!important;
    font-size:13px!important;
    line-height:1.2!important;
    overflow-wrap:anywhere;
  }
  .fp-dealer-page .fp-dealer-process-step__text{
    margin:5px 0 0!important;
    font-size:10.5px!important;
    line-height:1.34!important;
    overflow-wrap:anywhere;
  }

  /* If the process has an odd final step, center that last card cleanly. */
  .fp-dealer-page .fp-dealer-process-grid > .fp-dealer-process-step:last-child:nth-child(odd){
    grid-column:1 / -1!important;
    width:calc(50% - 5px)!important;
    justify-self:center!important;
  }
}

@media (max-width: 360px){
  .fp-dealer-page .fp-dealer-why-grid,
  .fp-dealer-page .fp-dealer-benefits-grid,
  .fp-dealer-page .fp-dealer-process-grid{
    gap:8px!important;
  }
  .fp-dealer-page .fp-dealer-card--why,
  .fp-dealer-page .fp-dealer-card--benefit{
    padding:14px 8px!important;
  }
  .fp-dealer-page .fp-dealer-card__title,
  .fp-dealer-page .fp-dealer-card__title--benefit{
    font-size:13px!important;
  }
  .fp-dealer-page .fp-dealer-card__text,
  .fp-dealer-page .fp-dealer-card__text--benefit{
    font-size:10.5px!important;
  }
  .fp-dealer-page .fp-dealer-process-step{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:6px!important;
    padding:11px 8px!important;
  }
  .fp-dealer-page .fp-dealer-process-step__num{
    width:22px!important;
    height:22px!important;
    flex-basis:22px!important;
    font-size:10px!important;
  }
  .fp-dealer-page .fp-dealer-process-step__title{
    font-size:12px!important;
  }
  .fp-dealer-page .fp-dealer-process-step__text{
    font-size:10px!important;
  }
}

/* ============================================================
 * v1.2.54 - Product-card typography: larger on desktop and mobile
 * Covers shop/category cards for logged-in and guest users.
 * ============================================================ */
.fp-product-card h3,
[data-fp-product-card] h3{
  font-size:14.5px!important;
  line-height:1.32!important;
}
.fp-product-card__excerpt{
  font-size:13.5px!important;
  line-height:1.5!important;
}
.fp-product-card__meta{
  font-size:12px!important;
  line-height:1.42!important;
}
.fp-product-card__pricing{
  font-size:12px!important;
  line-height:1.38!important;
}
.fp-product-card__pricing .fp-price,
[data-fp-product-card] .fp-price{
  font-size:15.5px!important;
  line-height:1.18!important;
}

@media (max-width:767px){
  .fp-shop__grid [data-fp-product-card] h3,
  .fp-shop__grid .fp-product-card h3{
    font-size:13px!important;
    line-height:1.3!important;
  }
  .fp-shop__grid .fp-product-card__excerpt{
    font-size:12px!important;
    line-height:1.42!important;
  }
  .fp-shop__grid .fp-product-card__meta{
    font-size:10.5px!important;
    line-height:1.35!important;
  }
  .fp-shop__grid .fp-product-card__pricing{
    font-size:11px!important;
    line-height:1.32!important;
  }
  .fp-shop__grid .fp-product-card__pricing .fp-price,
  .fp-shop__grid [data-fp-product-card] .fp-price{
    font-size:14px!important;
    line-height:1.16!important;
  }
  .fp-shop__grid .fp-dealer-price-label,
  .fp-shop__grid .fp-dealer-price-note{
    font-size:9.5px!important;
    line-height:1.2!important;
  }
}


/* ========================================================================== */
/* v1.2.55 - SINGLE PRODUCT MOBILE GALLERY                                    */
/* The parent theme switches .fp-product__top to flex-column on small screens */
/* while retaining align-items:flex-start. That causes the custom gallery to  */
/* shrink-wrap and collapses the 1fr main-image column. Force an explicit     */
/* full-width mobile gallery and place thumbnails below the hero image.       */
/* ========================================================================== */
@media (max-width: 767px) {
  body.single-product .fp-product,
  body.single-product .fp-product__top,
  body.single-product .fp-product__gallery {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product .fp-product__top {
    display: block !important;
  }

  body.single-product .fp-product__gallery {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  body.single-product .fp-product__main-image,
  body.single-product .fp-product__mainimg {
    order: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    padding: 12px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
  }

  body.single-product .fp-mainimg {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
  }

  body.single-product .fp-mainimg.is-active {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.single-product .fp-mainimg img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 10px !important;
  }

  body.single-product .fp-product__thumbs {
    order: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    padding: 2px 0 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.single-product .fp-product__thumbs::-webkit-scrollbar {
    display: none;
  }

  body.single-product .fp-product__thumb,
  body.single-product .fp-thumb {
    flex: 0 0 62px !important;
    width: 62px !important;
    height: 62px !important;
    padding: 5px !important;
  }

  body.single-product .fp-product__thumb img,
  body.single-product .fp-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  body.single-product .fp-product__summary {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;
  }
}

/* v1.2.56 - Independent mobile artwork for every generic Page Hero. */
@media (max-width:768px){
  .fp-global-page-banner--has-bg::before{
    background-image:var(--fp-global-banner-bg-mobile,var(--fp-global-banner-bg)) !important;
  }
  .fp-about-hero--has-bg::before{
    background-image:var(--fp-about-hero-bg-mobile,var(--fp-about-hero-bg)) !important;
  }
  .fp-contact-hero__bg{
    background-image:var(--fp-contact-hero-bg-mobile,var(--fp-contact-hero-bg)) !important;
  }
}
@media (min-width:769px){
  .fp-contact-hero__bg{
    background-image:var(--fp-contact-hero-bg) !important;
  }
}


/* v1.2.67 - Dealer quote products can be edited before submission; guest quote CTAs now expose an immediate loading state. */
.fp-dealer-selected-products.is-updating{opacity:.72;pointer-events:none}
.fp-dealer-selected-products__item{position:relative}
.fp-dealer-selected-products__body{flex:1 1 auto;min-width:0}
.fp-dealer-selected-products__controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px}
.fp-dealer-selected-products__qty-btn{width:30px;height:30px;padding:0;border:1px solid #d9dde3;border-radius:7px;background:#fff;color:#111827;font-size:18px;font-weight:800;line-height:1;cursor:pointer}
.fp-dealer-selected-products__qty-btn:hover{border-color:#c81f26;color:#c81f26}
.fp-dealer-selected-products__qty{width:50px;height:30px;padding:0 5px;text-align:center;border:1px solid #d9dde3;border-radius:7px;background:#fff;color:#111827;font-size:12px;font-weight:800}
.fp-dealer-selected-products__remove{height:30px;margin-left:3px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:#c81f26;font-size:11px;font-weight:800;cursor:pointer;text-transform:uppercase}
.fp-dealer-selected-products__remove:hover{text-decoration:underline}
.fp-save-product-btn.fp-is-loading{opacity:.78;pointer-events:none;cursor:progress}
.fp-save-product-btn.fp-is-loading .fp-save-product-btn__icon{animation:fp-child-quote-spin .75s linear infinite}
@keyframes fp-child-quote-spin{to{transform:rotate(360deg)}}
