:root{
  --site5-red:#c40a1b;
  --site5-red-dark:#970617;
  --site5-red-soft:#fff2f4;
  --site5-border:#ead7dc;
  --site5-ink:#25313d;
}

/* Home hero: closer to approved mock-up */
.fbl-hero{
  background:var(--site5-red) url('/assets/img/fbluk/hero-map-business-r6.webp') center center/cover no-repeat !important;
  min-height:452px !important;
}
.fbl-photo{display:none !important}
.fbl-hero:before{
  background:linear-gradient(90deg,rgba(101,0,14,.54) 0%,rgba(109,0,15,.34) 43%,rgba(109,0,15,.12) 60%,rgba(109,0,15,0) 76%) !important;
}

.fbl-hero-inner{
  min-height:452px !important;
  padding:46px 0 38px !important;
  align-items:flex-start !important;
  position:relative !important;
}
.fbl-hero-copy{
  max-width:500px !important;
  padding-top:18px !important;
}
.fbl-hero h1{
  max-width:480px !important;
  font-size:clamp(34px,4.35vw,63px) !important;
  line-height:1.02 !important;
  margin-bottom:18px !important;
}
.fbl-hero-copy > p:not(.fbl-kicker){
  max-width:455px !important;
  font-size:17px !important;
  line-height:1.56 !important;
}
.fbl-hero-actions{gap:14px !important}
.fbl-btn{min-height:48px !important}
.fbl-free-stamp{
  position:absolute !important;
  top:16px !important;
  right:28px !important;
  width:152px !important;
  height:152px !important;
  flex:0 0 152px !important;
  transform:none !important;
  border:4px solid var(--site5-red) !important;
  box-shadow:0 18px 34px rgba(34,5,10,.22) !important;
  overflow:hidden;
}
.fbl-free-stamp::before{
  content:"";
  position:absolute;
  inset:8px;
  border:2px solid rgba(183,14,34,.9);
  border-radius:50%;
}
.fbl-free-stamp span,.fbl-free-stamp strong,.fbl-free-stamp small{position:relative;z-index:1}
.fbl-free-stamp span{
  font-size:12px !important;
  max-width:98px !important;
  letter-spacing:1px !important;
  line-height:1.35 !important;
}
.fbl-free-stamp strong{
  font-size:30px !important;
  line-height:1.03 !important;
  margin:5px 0 4px !important;
}
.fbl-free-stamp small{
  font-size:12px !important;
  max-width:92px !important;
  line-height:1.35 !important;
}

/* Search band and feature icons */
.fbl-search-band{background:#f4f6f8 !important}
.fbl-search input{border-color:#d4dce4 !important;box-shadow:none !important}
.fbl-search input:focus{border-color:var(--site5-red) !important;box-shadow:0 0 0 3px rgba(196,10,27,.12) !important;outline:none !important}
.fbl-search button{background:var(--site5-red) !important}
.fbl-reasons{
  padding:18px 0 !important;
  background:#fff !important;
}
.fbl-reasons > .shell{
  align-items:stretch;
}
.fbl-reasons .shell > div{
  min-height:74px;
  grid-template-columns:48px 1fr;
  column-gap:14px;
}
.fbl-reason-icon{
  width:44px !important;
  height:44px !important;
  background:#fff3f5 !important;
  border:1px solid #f1cfd5;
  color:var(--site5-red) !important;
  border-radius:12px !important;
}
.fbl-reasons strong{font-size:14px !important}
.fbl-reasons small{font-size:12px !important}

/* Category tiles */
.fbl-categories a{border-radius:14px !important}
.fbl-categories img{transform:scale(1.01)}
.fbl-categories strong{font-size:15px !important}

/* Mid section redesign */
.fbl-options-grid{gap:22px !important;align-items:stretch !important}
.fbl-options article{
  min-height:318px !important;
  padding:28px 30px !important;
  border-radius:20px !important;
}
.fbl-free-panel{
  background:#f7fafc !important;
  border:1px solid #dbe6ee !important;
  justify-content:space-between !important;
}
.fbl-option-head{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin-bottom:10px;
}
.fbl-tag{
  flex:0 0 auto;
  min-width:84px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px !important;
  font-size:20px !important;
  border-radius:14px !important;
  transform:rotate(-8deg);
}
.fbl-free-panel ul,.fbl-premium-panel ul{flex:1 1 auto;margin-bottom:22px !important}
.fbl-free-panel .fbl-btn{align-self:flex-start}
.fbl-premium-panel{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 124px;
  gap:18px;
  align-items:start;
  padding-right:30px !important;
  background:#fff4f6 !important;
  border:1px solid #f1cdd4 !important;
}
.fbl-premium-panel .fbl-option-main{min-width:0}
.fbl-premium-panel h2{margin-bottom:10px !important}
.fbl-crown{
  flex:0 0 auto;
  font-size:42px !important;
  line-height:1;
  margin-top:3px;
}
.fbl-price{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  transform:none !important;
  justify-self:end;
  align-self:start;
  width:118px !important;
  height:118px !important;
  border:4px solid var(--site5-red) !important;
  box-shadow:0 14px 24px rgba(130,6,20,.14);
  overflow:hidden;
}
.fbl-price-ring{
  position:absolute;
  inset:8px;
  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;
}
.fbl-price small,.fbl-price strong{position:relative;z-index:1}
.fbl-price small{font-size:12px !important;line-height:1.2 !important}
.fbl-price strong{font-size:32px !important;line-height:1.02 !important}


/* Keyword content section above featured businesses */
.fbl-keyword-copy{padding:18px 0 54px !important;background:#fff !important}
.fbl-copy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.fbl-copy-grid article{background:#fff7f8;border:1px solid var(--site5-border);border-radius:18px;padding:24px 22px;box-shadow:none}
.fbl-copy-grid h3{margin:0 0 12px;color:var(--site5-ink);font-size:22px;line-height:1.18}
.fbl-copy-grid p{margin:0;color:#4d5b68;line-height:1.74;font-size:15px}
.fbl-copy-grid strong{color:var(--site5-red)}

/* Listing packages and partner cards: remove lingering purple */
.s44-table thead,
.s410-compare-table thead th,
.s44-table th,
.s44-table thead tr{background:var(--site5-red) !important;color:#fff !important}
.s44-table thead th:last-child{background:var(--site5-red) !important}
.s46-price-card,
.s47-sponsor-grid > div,
.s48-site,
.s44-upsell,
.s48-network,
.s46-feature{
  border-color:var(--site5-border) !important;
  box-shadow:none !important;
}
.s46-price-card-featured,
.s44-featured,
.s47-sponsor-grid > div:last-child{
  border:2px solid var(--site5-red) !important;
  background:var(--site5-red-soft) !important;
}
.s46-price,
.s44-prices strong,
.s47-sponsor-grid strong,
.s46-saving,
.s46-price-explain strong,
.s48-head-accent,
.s48-site a,
.s44-upsell a,
.s44-intro a,
.s47-sponsor-note a,
.s48-network-note a{color:var(--site5-red) !important}
.s44-upsell .button,
.s46-price-card .button,
.s47-sponsor-grid .button,
.s48-network .button,
.s48-site .button,
.s44-benefits .button{background:var(--site5-red) !important;border-color:var(--site5-red) !important;color:#fff !important}

/* Add business / manage listing / contact page cleanup */
.submit-form .form-card,
.s420-panel,
.ct-form-card{
  border:1px solid var(--site5-border) !important;
  border-radius:18px !important;
  box-shadow:none !important;
}
.submit-form .step-num{
  background:var(--site5-red) !important;
  color:#fff !important;
}
.plan-option,
.directory-checks,
.s423-policy-warning,
.s49-upsell,
.s49-nap-tip,
.s420-panel fieldset,
.s420-image-form,
.ct-panel{
  border:1px solid var(--site5-border) !important;
  background:#fff7f8 !important;
  border-radius:16px !important;
}
.plan-option.selected,
.s415b-coverage-choice.selected,
.s421-option.selected{
  border-color:var(--site5-red) !important;
  background:#fff0f2 !important;
}
.submit-form .button,
.submit-btn,
.s420-panel .button,
.s420-image-form .button,
.ct-form .button,
.ct-send,
.s49-compare-link{
  background:var(--site5-red) !important;
  color:#fff !important;
  border-color:var(--site5-red) !important;
}
.submit-form .button:hover,
.submit-btn:hover,
.s420-panel .button:hover,
.s420-image-form .button:hover,
.ct-form .button:hover,
.ct-send:hover{
  background:var(--site5-red-dark) !important;
  border-color:var(--site5-red-dark) !important;
}
.submit-form a,
.s420-panel a,
.ct-form a,
.s423-policy-warning a,
.s49-nap-tip a,
.s49-upsell a,
.ct-panel a,
.s420-text-button{color:var(--site5-red) !important}
.submit-form input,
.submit-form select,
.submit-form textarea,
.s420-panel input,
.s420-panel select,
.s420-panel textarea,
.ct-form input,
.ct-form textarea,
.ct-form select{
  border-color:#d9d0d4 !important;
  border-radius:10px !important;
  box-shadow:none !important;
}
.submit-form input:focus,
.submit-form select:focus,
.submit-form textarea:focus,
.s420-panel input:focus,
.s420-panel select:focus,
.s420-panel textarea:focus,
.ct-form input:focus,
.ct-form textarea:focus,
.ct-form select:focus{
  border-color:var(--site5-red) !important;
  box-shadow:0 0 0 3px rgba(196,10,27,.12) !important;
  outline:none !important;
}
input[type="checkbox"],input[type="radio"]{accent-color:var(--site5-red) !important}
.s418-consent-row,
.terms-check,
.s420-inline,
.s420-choice label{
  background:#fff !important;
  border:1px solid #ebd7dc !important;
  border-radius:12px !important;
}
.s420-choice label{padding:10px 12px !important}
.s420-ok{background:#fff3f5 !important;border:1px solid #ebd7dc !important;color:#7d0c19 !important}
.s420-error,.error-box{background:#fff3f5 !important;border-color:#efc7ce !important;color:#8d1220 !important}
.s423-policy-warning strong,
.plan-title,
.submit-form .eyebrow,
.ct-form .eyebrow,
.ct-point strong{color:var(--site5-red) !important}

/* Contact page */
.ct-point{border-color:var(--site5-border) !important;background:#fff !important}

/* CTA image section */
.bf13-global-cta-photo img{background:#fff !important}

@media (max-width: 1050px){
  .fbl-free-stamp{display:none !important}
  .fbl-hero-copy{max-width:580px !important}
}
@media (max-width: 900px){
  .fbl-premium-panel{grid-template-columns:1fr !important}
  .fbl-price{justify-self:start !important}
  .fbl-copy-grid{grid-template-columns:1fr !important}
}
@media (max-width: 850px){
  .fbl-hero{min-height:390px !important}
  .fbl-hero-inner{min-height:390px !important;padding:38px 0 34px !important}
  .fbl-hero:before{background:linear-gradient(0deg,rgba(104,0,15,.88),rgba(124,0,17,.76)) !important}
}
@media (max-width: 600px){
  .fbl-hero{background-position:72% center !important}
  .fbl-hero-copy{max-width:100% !important}
  .fbl-hero h1{font-size:36px !important}
  .fbl-options article{padding:24px 22px !important}
  .fbl-option-head{gap:14px}
  .fbl-price{width:110px !important;height:110px !important}
}
