/*
 * Florida Plant Solutions — AJAX cart drawer v3.5
 */

body.fps-cart-open{overflow:hidden}

.fps-cart-drawer-shell{
  position:fixed;
  z-index:100000;
  inset:0;
  visibility:hidden;
  pointer-events:none;
}
.fps-cart-drawer-shell.is-open{
  visibility:visible;
  pointer-events:auto;
}
.fps-cart-drawer__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(7,24,16,.56);
  opacity:0;
  cursor:default;
  backdrop-filter:blur(3px);
  transition:opacity .32s ease;
}
.fps-cart-drawer-shell.is-open .fps-cart-drawer__backdrop{opacity:1}
.fps-cart-drawer{
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  display:flex;
  width:min(92vw,430px);
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  color:var(--fps3-ink,var(--fps-ink));
  box-shadow:-28px 0 80px rgba(7,24,16,.24);
  transform:translate3d(105%,0,0);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
  outline:0;
}
.fps-cart-drawer-shell.is-open .fps-cart-drawer{transform:translate3d(0,0,0)}
.fps-cart-drawer__header{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:102px;
  padding:22px 24px;
  border-bottom:1px solid var(--fps3-line,var(--fps-line));
  background:var(--fps3-paper,#f8f6ef);
}
.fps-cart-drawer__header p{
  margin:0 0 4px;
  color:var(--fps3-green-2,var(--fps-leaf));
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fps-cart-drawer__header h2{
  margin:0;
  font-size:clamp(1.55rem,3vw,2rem);
  line-height:1.05;
}
.fps-cart-drawer__close{
  display:grid;
  width:44px;
  height:44px;
  flex:0 0 44px;
  place-items:center;
  padding:0;
  border:1px solid var(--fps3-line,var(--fps-line));
  border-radius:50%;
  background:#fff;
  color:var(--fps3-ink,var(--fps-ink));
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.fps-cart-drawer__close span{font-size:1.8rem;font-weight:300;line-height:1}
.fps-cart-drawer__close:hover{background:var(--fps3-ink,var(--fps-forest));color:#fff;transform:rotate(8deg)}
.fps-cart-drawer__content{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:0 24px 22px;
  scrollbar-width:thin;
  scrollbar-color:rgba(36,95,65,.35) transparent;
}
.fps-cart-drawer .woocommerce-mini-cart{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.fps-cart-drawer .woocommerce-mini-cart-item{
  position:relative;
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:5px 15px;
  min-height:112px;
  margin:0!important;
  padding:20px 28px 20px 0!important;
  border-bottom:1px solid var(--fps3-line,var(--fps-line));
}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){
  display:grid;
  grid-column:1/-1;
  grid-template-columns:78px minmax(0,1fr);
  align-items:center;
  gap:15px;
  color:inherit;
  font-size:.88rem;
  font-weight:800;
  line-height:1.35;
  text-decoration:none;
}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation{
  grid-column:2/-1;
  width:100%;
  min-width:0;
  margin:6px 0 0!important;
  padding:0!important;
  border:0!important;
  color:var(--fps3-muted,var(--fps-muted));
  font-size:.76rem;
  font-weight:600;
  line-height:1.45;
}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation dt,
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation dd,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation dt,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation dd{
  display:inline;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation dt,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation dt{font-weight:800}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation dd:after,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation dd:after{content:"";display:block}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation p,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation p{display:inline;margin:0!important}
.fps-cart-drawer .woocommerce-mini-cart-item img{
  float:none!important;
  width:78px!important;
  height:78px!important;
  margin:0!important;
  border-radius:12px;
  object-fit:cover;
  background:#edf3e7;
}
.fps-cart-drawer .woocommerce-mini-cart-item .quantity,
.fps-cart-drawer .fps-mini-cart-quantity{
  grid-column:2/-1;
  width:100%;
  min-width:0;
  margin-top:7px;
  clear:both;
  color:var(--fps3-muted,var(--fps-muted));
  font-size:.8rem;
  font-weight:700;
}
.fps-mini-cart-quantity__label{
  display:block;
  margin:2px 0 6px;
  color:var(--fps3-ink,var(--fps-ink));
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fps-mini-cart-quantity__row{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.fps-mini-cart-stepper{
  display:grid;
  grid-template-columns:32px 38px 32px;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--fps3-line,var(--fps-line));
  border-radius:999px;
  background:#fff;
}
.fps-mini-cart-stepper__button{
  display:grid!important;
  width:32px!important;
  height:32px!important;
  min-width:0!important;
  min-height:0!important;
  place-items:center;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--fps3-ink,var(--fps-ink))!important;
  font:800 1rem/1 Arial,sans-serif!important;
  cursor:pointer;
}
.fps-mini-cart-stepper__button:hover:not(:disabled){background:#eef3e9!important}
.fps-mini-cart-stepper__button:disabled{opacity:.32;cursor:not-allowed}
.fps-mini-cart-stepper__value{
  width:38px!important;
  height:32px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-right:1px solid var(--fps3-line,var(--fps-line))!important;
  border-left:1px solid var(--fps3-line,var(--fps-line))!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--fps3-ink,var(--fps-ink))!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:32px!important;
  text-align:center;
  appearance:textfield;
  pointer-events:none;
}
.fps-mini-cart-stepper__value::-webkit-inner-spin-button,
.fps-mini-cart-stepper__value::-webkit-outer-spin-button{margin:0;appearance:none}
.fps-mini-cart-quantity__price{white-space:nowrap;font-size:.76rem}
.fps-mini-cart-quantity.is-updating{opacity:.58;pointer-events:none}
.fps-cart-drawer .woocommerce-mini-cart-item .remove{
  position:absolute!important;
  top:20px;
  right:0;
  display:grid!important;
  width:24px!important;
  height:24px!important;
  place-items:center;
  border:1px solid var(--fps3-line,var(--fps-line));
  border-radius:50%!important;
  background:#fff!important;
  color:#8d5148!important;
  font-size:16px!important;
  line-height:1!important;
  text-decoration:none;
}
.fps-cart-drawer .woocommerce-mini-cart-item .remove:hover{background:#8d5148!important;color:#fff!important}
.fps-cart-drawer .woocommerce-mini-cart__total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:20px 0 14px!important;
  padding:17px 0 0!important;
  border-top:0!important;
  color:var(--fps3-ink,var(--fps-ink));
}
.fps-cart-drawer .woocommerce-mini-cart__total strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.fps-cart-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount{font-size:1.2rem;font-weight:900}
.fps-cart-drawer .woocommerce-mini-cart__buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0!important;
}
.fps-cart-drawer .woocommerce-mini-cart__buttons .button{
  display:flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  margin:0!important;
  padding:12px 15px!important;
  border:1px solid var(--fps3-ink,var(--fps-forest))!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--fps3-ink,var(--fps-forest))!important;
  font-size:.72rem!important;
  font-weight:850!important;
  text-align:center;
}
.fps-cart-drawer .woocommerce-mini-cart__buttons .checkout{
  background:var(--fps3-ink,var(--fps-forest))!important;
  color:#fff!important;
}
.fps-cart-drawer .woocommerce-mini-cart__buttons .button:hover{transform:translateY(-1px)}
.fps-cart-drawer .woocommerce-mini-cart__empty-message{
  margin:0!important;
  padding:64px 20px!important;
  color:var(--fps3-muted,var(--fps-muted));
  font-size:.95rem;
  text-align:center;
}
.fps-cart-drawer__trust{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:10px 18px;
  border-top:1px solid var(--fps3-line,var(--fps-line));
  background:#eef3e9;
  color:var(--fps3-green-2,var(--fps-leaf));
  font-size:.68rem;
  font-weight:800;
  text-align:center;
}
.fps-cart-drawer__trust .fps-icon{width:16px;height:16px;flex:0 0 16px}
.single_add_to_cart_button.is-loading{position:relative;opacity:.72;pointer-events:none}
.single_add_to_cart_button.is-loading:after{content:"";width:16px;height:16px;margin-left:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fpsCartSpin .65s linear infinite}
@keyframes fpsCartSpin{to{transform:rotate(360deg)}}

/* Checkout: express wallets sit between shipping and standard payment options. */
body.woocommerce-checkout .wc-block-components-express-payment.fps-express-checkout-relocated{
  width:100%;
  margin:30px 0 26px;
}
body.woocommerce-checkout .fps-express-checkout-relocated+.wc-block-checkout__payment-method{
  margin-top:0;
}

@media(max-width:600px){
  body.woocommerce-checkout .wc-block-components-express-payment.fps-express-checkout-relocated{
    margin:24px 0 22px;
  }
}

@media(max-width:782px){
  .fps-header__inner{grid-template-columns:1fr auto auto;gap:8px}
  .fps-header__actions{display:flex;grid-column:2;grid-row:1}
  .fps-header__actions>.fps-button{display:none}
  .fps-menu-toggle{grid-column:3;grid-row:1}
  .fps-cart-link{width:42px;height:42px;background:#fff}
}

@media(max-width:480px){
  .fps-cart-drawer{width:min(94vw,400px)}
  .fps-cart-drawer__header{min-height:90px;padding:18px 18px}
  .fps-cart-drawer__content{padding:0 18px 18px}
  .fps-cart-drawer .woocommerce-mini-cart-item{grid-template-columns:68px minmax(0,1fr);gap:5px 12px;padding-right:26px!important}
  .fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){grid-template-columns:68px minmax(0,1fr);gap:12px}
  .fps-cart-drawer .woocommerce-mini-cart-item img{width:68px!important;height:68px!important}
  .fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){align-items:start}
  .fps-mini-cart-quantity__row{gap:7px}
  .fps-mini-cart-stepper{grid-template-columns:30px 34px 30px}
  .fps-mini-cart-stepper__button{width:30px!important;height:30px!important}
  .fps-mini-cart-stepper__value{width:34px!important;height:30px!important;line-height:30px!important}
  .fps-cart-drawer .woocommerce-mini-cart__buttons{grid-template-columns:1fr}
}

@media(max-width:360px){
  .fps-cart-drawer{width:100vw}
  .fps-cart-drawer__header{padding-inline:15px}
  .fps-cart-drawer__content{padding-inline:15px}
  .fps-cart-drawer .woocommerce-mini-cart-item{grid-template-columns:60px minmax(0,1fr);gap:5px 10px;padding-right:25px!important}
  .fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){grid-template-columns:60px minmax(0,1fr);gap:10px}
  .fps-cart-drawer .woocommerce-mini-cart-item img{width:60px!important;height:60px!important}
}

@media(prefers-reduced-motion:reduce){
  .fps-cart-drawer,.fps-cart-drawer__backdrop{transition-duration:.01ms}
}

/* ==========================================================================
   AUTHENTIC FLORIDA PLANT SOLUTIONS NURSERY HERO BACKGROUND
   Real container trees nursery field (IMG_7064)
   ========================================================================== */
.fps3-hero,
section.fps3-hero,
main.fps3-home .fps3-hero {
    --fps-hero-image: url('../images/hero-florida-landscape.webp') !important;
    background-image: url('../images/hero-florida-landscape.webp') !important;
    background-position: center right !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* Ensure Category Cards use real authentic nursery photography */
.fps3-category-card img {
    object-fit: cover !important;
}

/* Ensure 1300px max width across the entire site */
.fps-container,
.fps-elementor-page .fps-v4-wrap,
.fps-full-width-template .fps-v4-wrap {
    max-width: 1300px !important;
}

/* ==========================================================================
   LUXURY HERO SHOWCASE CARD DESIGN
   Replaces raw text wall with a modern, glassmorphic showcase container
   ========================================================================== */
.fps3-hero__card {
    position: relative !important;
    background: rgba(5, 20, 13, 0.78) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 24px !important;
    padding: 38px 42px !important;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(22px) !important;
    -webkit-backdrop-filter: blur(22px) !important;
}

.fps3-hero__pill-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 6px 14px !important;
    border-radius: 999px !important;
    background: rgba(183, 228, 108, 0.15) !important;
    border: 1px solid rgba(183, 228, 108, 0.32) !important;
    color: var(--fps3-lime, #b7e46c) !important;
    font-size: 0.73rem !important;
    font-weight: 750 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}

.fps3-hero__pulse-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: var(--fps3-lime, #b7e46c) !important;
    box-shadow: 0 0 0 0 rgba(183, 228, 108, 0.7) !important;
    animation: fpsHeroPulse 2s infinite !important;
}

@keyframes fpsHeroPulse {
    0% { box-shadow: 0 0 0 0 rgba(183, 228, 108, 0.7); }
    70% { box-shadow: 0 0 0 8px rgba(183, 228, 108, 0); }
    100% { box-shadow: 0 0 0 0 rgba(183, 228, 108, 0); }
}

.fps3-hero__copy h1 {
    max-width: 580px !important;
    margin: 0 0 16px !important;
    color: #fff !important;
    font-size: 40px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.015em !important;
    font-weight: 600 !important;
    text-wrap: balance !important;
}

.fps3-hero__lead {
    max-width: 540px !important;
    margin: 0 0 24px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}

.fps3-hero__card .fps3-actions {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
}

.fps3-hero__meta-strip {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.fps3-hero__rating-badge {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

.fps3-hero__rating-badge strong {
    font-weight: 600 !important;
}

.fps3-hero__stars {
    color: #f6c845 !important;
    letter-spacing: 0.06em !important;
    font-size: 14px !important;
}

.fps3-hero__perks {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.75) !important;
}

.fps3-hero__extra-rating {
    margin-top: 10px !important;
}

/* ==========================================================================
   REFINED GLOBAL HEADING TYPOGRAPHY SYSTEM
   Headings: font-weight 600, 40px primary, balanced & elegant
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6,
.fps3-hero__copy h1,
.fps3-hero__card h1,
.fps31-landscape-hero h1,
.fps2-hero h1,
.fps-main h1,
.entry-title,
.fps-finance-page h1,
.fps3-shop-tools__heading h1,
.fps3-section-heading h2,
.fps3-commerce-info__intro h2,
.fps3-final h2,
.fps31-landscape-process h2,
.fps31-landscape-final h2,
.fps32-contact-intro h2,
.fps2-heading h2,
.fps2-intro h2,
.fps-main h2,
.fps-finance-page h2,
.woocommerce div.product .related.products > h2,
.fps3-category-card h3,
.fps34-product-section h3,
.fps3-info-cards h3,
.fps2-collection__meta h3,
.fps31-service-grid h3,
.fps-main h3,
.fps-finance-page h3,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.fps34-fallback-list > a h3,
.fps3-offer > strong,
.fps3-trust__grid strong,
.fps34-fallback-list > a strong,
.fps3-fallback-products strong,
.fps31-landscape-hero aside > strong {
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
}

/* Primary Page & Hero Titles: 40px */
h1,
.fps3-hero__copy h1,
.fps3-hero__card h1,
.fps31-landscape-hero h1,
.fps2-hero h1,
.fps-main h1,
.entry-title,
.fps-finance-page h1,
.fps3-shop-tools__heading h1 {
    font-size: 40px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}

/* Section Headings: 30px */
h2,
.fps3-section-heading h2,
.fps3-commerce-info__intro h2,
.fps3-final h2,
.fps31-landscape-process h2,
.fps31-landscape-final h2,
.fps32-contact-intro h2,
.fps2-heading h2,
.fps2-intro h2,
.fps-main h2,
.fps-finance-page h2,
.woocommerce div.product .related.products > h2 {
    font-size: 30px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

/* Card & Component Headings: 20px */
h3,
.fps3-category-card h3,
.fps34-product-section h3,
.fps3-info-cards h3,
.fps2-collection__meta h3,
.fps31-service-grid h3,
.fps-main h3,
.fps-finance-page h3,
.fps34-fallback-list > a h3 {
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

.woocommerce div.product .product_title {
    font-size: 30px !important;
    line-height: 1.22 !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
    margin-bottom: 12px !important;
}

/* Soften all overly bold element titles to natural semibold */
.fps3-offer > strong {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.fps3-category-card small,
.fps3-eyebrow,
.fps-eyebrow,
.fps3-offer > span,
.fps3-hero__pill-tag {
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
}

.fps3-category-card b,
.fps3-fallback-products span,
.fps34-fallback-list > a span {
    font-weight: 600 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-weight: 600 !important;
    font-size: 22px !important;
}

/* Fallback product cards presentation */
.fps34-fallback-list > a {
    display: flex !important;
    flex-direction: column !important;
    padding: 16px !important;
    border: 1px solid var(--fps3-line, #e2e8e3) !important;
    border-radius: 18px !important;
    background: #fff !important;
    text-decoration: none !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}

.fps34-fallback-list > a:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 16px 36px rgba(18, 59, 42, .12) !important;
}

.fps34-fallback-list > a img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    margin-bottom: 14px !important;
}

.fps34-fallback-list > a small {
    color: var(--fps3-green-2, #2d7451) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

.fps34-fallback-list > a h3 {
    margin: 6px 0 !important;
    color: var(--fps3-ink, #0f241a) !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

.fps34-fallback-list > a strong {
    color: var(--fps3-green-2, #2d7451) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

.fps34-fallback-list > a span {
    margin-top: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--fps3-ink, #0f241a) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* ==========================================================================
   RESPONSIVE OPTIMIZATIONS (TABLET & MOBILE)
   ========================================================================== */
@media (max-width: 900px) {
    .fps3-hero {
        padding: 130px 0 50px !important;
        min-height: auto !important;
    }

    .fps3-hero__inner {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .fps3-hero__card {
        padding: 30px 28px !important;
        max-width: 100% !important;
    }

    .fps3-offer {
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 480px !important;
    }
}

@media (max-width: 640px) {
    h1,
    .fps3-hero__copy h1,
    .fps3-hero__card h1,
    .fps31-landscape-hero h1,
    .fps2-hero h1,
    .fps-main h1,
    .entry-title,
    .fps-finance-page h1,
    .fps3-shop-tools__heading h1 {
        font-size: 28px !important;
        line-height: 1.22 !important;
        font-weight: 600 !important;
    }

    h2,
    .fps3-section-heading h2,
    .fps3-commerce-info__intro h2,
    .fps3-final h2,
    .fps31-landscape-process h2,
    .fps31-landscape-final h2,
    .fps32-contact-intro h2,
    .fps2-heading h2,
    .fps2-intro h2,
    .fps-main h2,
    .fps-finance-page h2 {
        font-size: 24px !important;
        line-height: 1.25 !important;
        font-weight: 600 !important;
    }

    h3,
    .fps3-category-card h3,
    .fps34-product-section h3,
    .fps3-info-cards h3,
    .fps31-service-grid h3 {
        font-size: 18px !important;
        font-weight: 600 !important;
    }

    .fps3-hero {
        padding: 110px 0 36px !important;
    }

    .fps3-hero__card {
        padding: 22px 18px !important;
        border-radius: 18px !important;
    }

    .fps3-hero__lead {
        font-size: 14px !important;
        line-height: 1.55 !important;
        margin-bottom: 20px !important;
    }

    .fps3-actions {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .fps3-actions .fps3-button {
        width: 100% !important;
    }

    .fps3-hero__perks {
        flex-direction: column !important;
        gap: 6px !important;
    }
}

@media (max-width: 400px) {
    .fps3-hero__card {
        padding: 18px 14px !important;
    }

    h1,
    .fps3-hero__copy h1,
    .fps3-hero__card h1 {
        font-size: 25px !important;
    }

    h2,
    .fps3-section-heading h2 {
        font-size: 22px !important;
    }
}

/* ==========================================================================
   Client Specific Adjustments (drock224):
   - Hero Background Video
   - Global Sale Badge & Crossed-Out Price Suppression
   ========================================================================== */

.fps3-hero {
    position: relative;
    overflow: hidden;
}

.fps3-hero__bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: 0;
    pointer-events: none;
}

.fps3-hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(10, 35, 25, .82) 0%, rgba(18, 59, 42, .68) 50%, rgba(10, 35, 25, .88) 100%);
    z-index: 1;
}

.fps3-hero__inner {
    position: relative;
    z-index: 2;
}

/* Complete suppression of WooCommerce sale badges & strikethrough prices */
.onsale,
span.onsale,
.fps-sale-badge,
.fps-badge--sale,
.product-badge--sale,
del,
.price del,
del .woocommerce-Price-amount {
    display: none !important;
}

.price ins,
ins .woocommerce-Price-amount {
    text-decoration: none !important;
    font-weight: 600 !important;
}


