.lpp-root {
   font-family: var(--lpp-font, inherit);
   font-size: var(--lpp-body-size, 17px);
   line-height: var(--lpp-line-height, 1.75);
   color: var(--lpp-text, #475569);
   background: var(--lpp-background, #fff);
   overflow-wrap: anywhere;
   text-align: left
}

.lpp-root *,
.lpp-root *::before,
.lpp-root *::after {
   box-sizing: border-box
}

.lpp-root :where(h1, h2, h3, h4, p, ul, ol) {
   margin-top: 0
}

.lpp-root h1,
.lpp-root h2,
.lpp-root h3,
.lpp-root h4 {
   font-family: inherit;
   font-weight: var(--lpp-heading-weight, 700);
   color: var(--lpp-heading, #14243b);
   text-transform: none;
   letter-spacing: -.025em;
   line-height: 1.22
}

.lpp-root h2 {
   font-size: var(--lpp-h2-size, 32px);
   margin-bottom: 20px
}

.lpp-root h3 {
   font-size: 1.35em;
   margin-top: 28px
}

.lpp-root a {
   color: var(--lpp-primary, #2563eb);
   text-decoration: none
}

.lpp-root a:hover {
   text-decoration: underline
}

.lpp-root :is(a, button, input, textarea, select, summary):focus-visible {
   outline: 3px solid var(--lpp-primary, #2563eb);
   outline-offset: 4px
}

.lpp-container {
   width: min(calc(100% - 48px), var(--lpp-container, 1200px));
   margin-inline: auto
}

.lpp-reading {
   width: min(calc(100% - 48px), var(--lpp-content-width, 900px));
   max-width: var(--lpp-container, 1200px);
   margin-inline: auto
}

.lpp-section {
   padding-block: var(--lpp-section-space, 64px)
}

.lpp-section+.lpp-section {
   padding-top: 0
}

.lpp-hero {
   position: relative;
   isolation: isolate;
   padding-block: var(--lpp-banner-space, 76px);
   background: var(--lpp-banner-bg, #eef4ff);
   color: var(--lpp-banner-text, #14243b)
}

.lpp-hero-image,
.lpp-hero-overlay {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   z-index: -2;
   object-fit: cover
}

.lpp-hero-overlay {
   background: var(--lpp-overlay, #fff);
   opacity: var(--lpp-overlay-opacity, .88);
   z-index: -1
}

.lpp-hero-grid {
   display: grid;
   grid-template-columns: minmax(0, 1.2fr) minmax(310px, 1fr);
   gap: var(--lpp-column-gap, 64px);
   align-items: center
}

.lpp-no-form .lpp-hero-grid {
   grid-template-columns: 1fr
}

.lpp-no-form .lpp-hero-copy {
   max-width: 900px
}

.lpp-hero h1 {
   font-size: var(--lpp-h1-size, 52px);
   margin: 0;
   color: inherit;
   line-height: 1.1;
   letter-spacing: -.04em
}

.lpp-breadcrumb {
   display: flex;
   gap: 12px;
   flex-wrap: wrap;
   font-size: 13px;
   line-height: 1.6;
   margin-bottom: 28px;
   opacity: .85
}

.lpp-breadcrumb a {
   color: inherit
}

.lpp-lead {
   font-size: 1.1em;
   max-width: 620px;
   margin: 24px 0 0;
   line-height: 1.75
}

.lpp-form-card {
   min-width: 0;
   padding: 38px 40px;
   background: var(--lpp-form-bg, #fff);
   color: var(--lpp-text, #475569);
   border: 1px solid var(--lpp-border, #e1e8f0);
   border-radius: max(var(--lpp-radius, 16px), 18px);
   box-shadow: var(--lpp-shadow);
   scroll-margin-top: 100px
}

.lpp-form-card h2 {
   font-size: 26px;
   margin: 0 0 8px
}

.lpp-form-card>p {
   font-size: 14px;
   margin-bottom: 24px
}

.lpp-form-card form {
   margin: 0
}

.lpp-form-card form p {
   margin: 0 0 16px
}

.lpp-form-card form p:last-of-type {
   margin-bottom: 0
}

.lpp-form-card label {
   font-family: inherit;
   display: block;
   font-size: 14px;
   font-weight: 500;
   color: var(--lpp-heading)
}

.lpp-form-card input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),
.lpp-form-card textarea,
.lpp-form-card select {
   display: block;
   width: 100%;
   max-width: 100%;
   font: inherit;
   font-size: 16px;
   color: var(--lpp-heading);
   background: var(--lpp-background);
   border: 1px solid var(--lpp-border);
   padding: 15px 16px;
   border-radius: var(--lpp-input-radius, 8px);
   box-shadow: none;
   line-height: 1.5;
   margin-top: 6px;
   min-height: 58px
}

.lpp-form-card textarea {
   height: 134px;
   min-height: 110px;
   resize: vertical
}

.lpp-form-card input:is([type=checkbox], [type=radio]) {
   accent-color: var(--lpp-primary);
   width: auto
}

.lpp-form-reference-grid .wpcf7-form {
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
   gap: 18px 16px
}

.lpp-form-reference-grid .wpcf7-form>p {
   min-width: 0;
   margin: 0
}

.lpp-form-reference-grid .wpcf7-form>p:has(textarea),
.lpp-form-reference-grid .wpcf7-form>p:has(input[type=submit]),
.lpp-form-reference-grid .wpcf7-form>.lpp-form-full,
.lpp-form-reference-grid .wpcf7-form>.wpcf7-response-output {
   grid-column: 1/-1
}

.lpp-form-reference-grid .wpcf7-spinner {
   align-self: center;
   margin: 0 0 0 10px
}

/* Banner-only compatibility: nested theme columns must not become a second grid.
   Complex legacy forms deliberately stack; simple CF7 paragraph forms retain the reference grid.
   No selectors here target the Contact Us page or change saved CF7 markup. */
.lpp-location-banner-form .wpcf7 {
   width: 100%;
   min-width: 0;
   max-width: 100%
}

.lpp-location-banner-form .wpcf7-form>div:not(.hidden-fields-container) {
   grid-column: 1/-1
}

.lpp-location-banner-form .wpcf7-form :is(.row, [class*="col-"], .form-row, .form-group) {
   float: none !important;
   width: 100% !important;
   max-width: 100% !important;
   min-width: 0 !important;
   flex: 0 0 100% !important;
   margin-left: 0 !important;
   margin-right: 0 !important;
   padding-left: 0 !important;
   padding-right: 0 !important;
   box-sizing: border-box
}

.lpp-location-banner-form .wpcf7-form :is(.row, .form-row) {
   display: block !important
}

.lpp-location-banner-form .wpcf7-form :is([class*="col-"], .form-group) {
   margin-bottom: 16px
}

.lpp-location-banner-form .wpcf7-form :is(label, .wpcf7-form-control-wrap) {
   max-width: 100%;
   min-width: 0;
   width: 100%;
   box-sizing: border-box
}

.lpp-location-banner-form .wpcf7-form-control-wrap {
   display: block
}

.lpp-location-banner-form .wpcf7-form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), textarea, select, button[type=submit]) {
   width: 100% !important;
   max-width: 100% !important;
   min-width: 0 !important;
   box-sizing: border-box !important;
   float: none !important
}

.lpp-location-banner-form .wpcf7-form :is(input, textarea, select):focus-visible {
   outline: 2px solid var(--lpp-primary);
   outline-offset: 3px
}

.lpp-location-banner-form .wpcf7-form select {
   padding-right: 38px !important;
   text-overflow: ellipsis
}

.lpp-location-banner-form .wpcf7-form .hidden-fields-container {
   display: none !important
}

.lpp-form-card .wpcf7-list-item {
   margin: 0 12px 8px 0
}

.lpp-form-card .wpcf7-list-item label {
   font-weight: 400
}

.lpp-form-card .wpcf7-not-valid-tip {
   font-size: 13px;
   line-height: 1.5;
   margin-top: 4px
}

.lpp-form-card .wpcf7-response-output {
   margin: 16px 0 0 !important;
   padding: 12px !important;
   font-size: 14px;
   border-radius: var(--lpp-input-radius)
}

.lpp-root .lpp-button,
.lpp-form-card input[type=submit],
.lpp-form-card button[type=submit] {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 16px;
   border: 0;
   padding: 17px 22px;
   min-height: 62px;
   background: var(--lpp-primary);
   color: var(--lpp-button-text, #fff);
   font: inherit;
   font-size: 16px;
   font-weight: 700;
   line-height: 1.5;
   border-radius: var(--lpp-input-radius, 8px);
   cursor: pointer;
   text-decoration: none;
   transition: filter .18s
}

.lpp-form-card input[type=submit],
.lpp-form-card button[type=submit] {
   width: 100%
}

.lpp-root .lpp-button:hover,
.lpp-form-card input[type=submit]:hover {
   filter: brightness(.92);
   text-decoration: none
}

.lpp-form-card input[type=submit]:disabled {
   opacity: .6;
   cursor: wait
}

.lpp-content img {
   height: auto;
   max-width: 100%;
   border-radius: var(--lpp-radius)
}

.lpp-content p {
   margin-bottom: 22px
}

.lpp-content :last-child {
   margin-bottom: 0
}

.lpp-content a {
   text-decoration: underline
}

.lpp-content ul,
.lpp-content ol {
   padding-left: 1.5em
}

.lpp-content table {
   display: block;
   max-width: 100%;
   overflow-x: auto
}

.lpp-content blockquote {
   margin: 24px 0;
   padding: 12px 24px;
   border-left: 3px solid var(--lpp-primary)
}

.lpp-section-heading {
   margin-bottom: 28px
}

.lpp-section-heading p {
   margin-bottom: 0
}

.lpp-price-card {
   padding: 26px;
   border: 1px solid var(--lpp-price-border, #cfe1eb);
   border-radius: 10px;
   background: var(--lpp-price-bg, #f4f9fc);
   color: var(--lpp-price-label, var(--lpp-text))
}

.lpp-price-card h2 {
   font-size: 18px;
   margin: 0 0 10px;
   color: var(--lpp-price-heading, var(--lpp-heading));
   letter-spacing: 0
}

.lpp-price-card dt {
   color: var(--lpp-price-label, var(--lpp-text))
}

.lpp-price-card dd {
   color: var(--lpp-price-value, var(--lpp-primary)) !important
}

.lpp-price-rows {
   margin: 0
}

.lpp-price-item {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   align-items: center;
   gap: 24px;
   padding: 15px 0;
   border-bottom: 1px solid #d8e4eb
}

.lpp-price-item:last-child {
   border-bottom: 0
}

.lpp-price-item dt,
.lpp-price-item dd {
   margin: 0;
   font-size: 14px;
   line-height: 1.5
}

.lpp-price-item dt {
   font-weight: 400
}

.lpp-price-item dd {
   font-weight: 700;
   color: #0099df;
   white-space: nowrap;
   text-align: right
}

.lpp-faq {
   border-bottom: 1px solid var(--lpp-border);
   margin: 0;
   background: transparent;
   border-radius: 0
}

.lpp-faq:first-of-type {
   border-top: 1px solid var(--lpp-border)
}

.lpp-faq summary {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   cursor: pointer;
   padding: 22px 0;
   color: var(--lpp-heading);
   font-size: 17px;
   font-weight: 600;
   line-height: 1.5;
   list-style: none
}

.lpp-faq summary::-webkit-details-marker {
   display: none
}

.lpp-plus {
   display: block;
   width: 18px;
   height: 18px;
   position: relative;
   flex: 0 0 18px;
   color: var(--lpp-primary)
}

.lpp-plus::before,
.lpp-plus::after {
   content: "";
   background: currentColor;
   position: absolute;
   left: 0;
   top: 8px;
   width: 18px;
   height: 2px
}

.lpp-plus::after {
   transform: rotate(90deg)
}

.lpp-faq[open] .lpp-plus::after {
   transform: rotate(0)
}

.lpp-answer {
   padding: 0 42px 22px 0;
   font-size: 16px
}

.lpp-answer>:last-child {
   margin-bottom: 0
}

.lpp-chips {
   display: flex;
   flex-wrap: wrap;
   gap: 12px
}

.lpp-chips a,
.lpp-chip-static {
   display: inline-flex;
   gap: 20px;
   align-items: center;
   padding: 10px 16px;
   border: 1px solid var(--lpp-border);
   border-radius: var(--lpp-input-radius);
   font-size: 15px;
   color: var(--lpp-heading);
   background: #fff
}

.lpp-chips a:hover {
   background: var(--lpp-grid-hover);
   text-decoration: none
}

.lpp-clean-arrow {
   display: inline-grid;
   place-items: center;
   color: var(--lpp-primary);
   font-size: 23px;
   line-height: 1;
   font-family: Arial, sans-serif
}

.lpp-chip-static {
   color: var(--lpp-text)
}

.lpp-cta {
   display: flex;
   gap: 32px;
   justify-content: space-between;
   align-items: center;
   padding: 40px;
   border: 1px solid var(--lpp-border);
   border-radius: var(--lpp-radius);
   background: var(--lpp-banner-bg)
}

.lpp-cta h2 {
   font-size: 28px;
   margin: 0;
   color: var(--lpp-cta-heading-color, var(--lpp-heading))
}

.lpp-cta p {
   margin: 12px 0 0
}

.lpp-cta .lpp-button {
   flex-shrink: 0
}

.lpp-root .lpp-location-grid {
   display: grid;
   grid-template-columns: repeat(var(--lpp-cols-desktop, 6), minmax(0, 1fr));
   gap: var(--lpp-grid-gap, 18px);
   padding: 0;
   margin: 0;
   list-style: none
}

.lpp-root .lpp-location-grid li {
   margin: 0;
   padding: 0;
   min-width: 0;
   list-style: none
}

.lpp-location-grid a {
   display: flex;
   align-items: center;
   height: 100%;
   gap: 9px;
   padding: var(--lpp-grid-padding, 22px);
   font-size: 16px;
   line-height: 1.5;
   background: var(--lpp-grid-bg);
   border: 1px solid var(--lpp-border);
   border-radius: var(--lpp-grid-radius, 10px);
   color: var(--lpp-heading);
   transition: background .15s, border-color .15s
}

.lpp-location-grid a:hover {
   background: var(--lpp-grid-hover);
   border-color: var(--lpp-primary);
   text-decoration: none
}

.lpp-location-grid svg {
   width: 21px;
   height: 24px;
   flex: 0 0 21px;
   margin-right: 4px;
   color: var(--lpp-primary)
}

.lpp-number {
   font-variant-numeric: tabular-nums;
   opacity: .8;
   white-space: nowrap
}

@media(max-width:1024px) {
   .lpp-hero-grid {
      gap: 32px
   }

   .lpp-hero h1 {
      font-size: clamp(var(--lpp-h1-mobile), 4.5vw, var(--lpp-h1-size))
   }

   .lpp-root .lpp-location-grid {
      grid-template-columns: repeat(var(--lpp-cols-tablet, 3), minmax(0, 1fr))
   }

   .lpp-location-grid a {
      padding: 16px
   }
}

@media(max-width:760px) {

   .lpp-container,
   .lpp-reading {
      width: calc(100% - 36px)
   }

   .lpp-hero {
      padding-block: clamp(28px, 8vw, var(--lpp-banner-space))
   }

   .lpp-hero-grid {
      grid-template-columns: 1fr;
      gap: 30px
   }

   .lpp-hero h1 {
      font-size: var(--lpp-h1-mobile, 34px)
   }

   .lpp-breadcrumb {
      margin-bottom: 20px;
      font-size: 12px
   }

   .lpp-lead {
      font-size: 16px;
      margin-top: 18px
   }

   .lpp-form-card {
      padding: 24px
   }

   .lpp-form-reference-grid .wpcf7-form {
      grid-template-columns: 1fr
   }

   .lpp-form-reference-grid .wpcf7-form>p {
      grid-column: 1
   }

   .lpp-section {
      padding-block: 40px
   }

   .lpp-root h2 {
      font-size: min(var(--lpp-h2-size), 28px)
   }

   .lpp-faq summary {
      font-size: 16px;
      padding: 20px 0
   }

   .lpp-answer {
      padding-right: 18px
   }

   .lpp-cta {
      padding: 26px;
      flex-direction: column;
      align-items: flex-start
   }

   .lpp-root .lpp-location-grid {
      grid-template-columns: repeat(var(--lpp-cols-mobile, 1), minmax(0, 1fr))
   }

   .lpp-location-grid a {
      gap: 7px;
      padding: 14px;
      font-size: 15px
   }

   .lpp-location-grid svg {
      margin-right: 0
   }

   .lpp-form-card h2 {
      font-size: 24px
   }
}

@media(prefers-reduced-motion:reduce) {
   .lpp-root * {
      transition: none !important;
      scroll-behavior: auto !important
   }
}

/* v1.4: local Lexend, scoped two-column CF7 layout and visible content bullets. */
@font-face {
   font-family: 'Lexend';
   src: url('fonts/Lexend.ttf') format('truetype');
   font-style: normal;
   font-weight: 100 900;
   font-display: swap
}

.lpp-location-banner-form.lpp-form-reference-grid .wpcf7-form .lpp-layout-contents {
   display: contents !important
}

.lpp-location-banner-form.lpp-form-reference-grid .wpcf7-form .lpp-layout-break {
   display: none !important
}

.lpp-location-banner-form.lpp-form-reference-grid .wpcf7-form .lpp-layout-cell {
   width: 100% !important;
   min-width: 0 !important;
   max-width: 100% !important;
   margin: 0 !important;
   padding: 0 !important;
   grid-column: auto;
   float: none !important
}

.lpp-location-banner-form.lpp-form-reference-grid .wpcf7-form .lpp-form-full {
   grid-column: 1/-1 !important
}

.lpp-location-banner-form .wpcf7-form select {
   border: 1px solid var(--lpp-border, #e1e8f0) !important;
   border-top: 1px solid var(--lpp-border, #e1e8f0) !important;
   border-radius: var(--lpp-input-radius, 8px) !important;
   background-color: var(--lpp-background, #fff) !important
}

.lpp-root :is(.lpp-content, .lpp-answer) ul {
   list-style: disc outside !important;
   padding-left: 1.6em !important
}

.lpp-root :is(.lpp-content, .lpp-answer) ol {
   list-style: decimal outside !important;
   padding-left: 1.6em !important
}

.lpp-root :is(.lpp-content, .lpp-answer) li {
   display: list-item !important;
   list-style: inherit !important;
   padding-left: .2em;
   margin-bottom: .5em
}

.lpp-root :is(.lpp-content, .lpp-answer) li::marker {
   color: var(--lpp-primary);
   font-size: 1em
}

@media(min-width:761px) {
   .lpp-location-banner-form.lpp-form-reference-grid .wpcf7-form {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
      gap: 16px !important
   }
}

@media(max-width:760px) {
   .lpp-location-banner-form.lpp-form-reference-grid .wpcf7-form {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important
   }
}

/* v2 premium location grid */
.lpp-grid-search {
   position: relative;
   max-width: 520px;
   margin: 0 auto 26px
}

.lpp-grid-search input {
   width: 100%;
   min-height: 54px;
   padding: 13px 48px 13px 18px;
   border: 1px solid var(--lpp-border);
   border-radius: 12px;
   background: #fff;
   color: var(--lpp-heading);
   font: inherit;
   box-shadow: 0 8px 25px rgba(20, 36, 59, .06)
}

.lpp-grid-search span {
   position: absolute;
   right: 18px;
   top: 50%;
   transform: translateY(-50%);
   font-size: 24px;
   color: var(--lpp-primary)
}

.lpp-grid-empty {
   text-align: center;
   padding: 20px;
   border: 1px dashed var(--lpp-border);
   border-radius: 10px
}

.lpp-location-grid>li[hidden] {
   display: none !important
}

.lpp-location-grid a {
   box-shadow: 0 4px 16px rgba(20, 36, 59, .035);
   transition: transform .2s, box-shadow .2s, background .2s, border-color .2s, color .2s
}

.lpp-location-grid a:hover {
   color: var(--lpp-primary);
   box-shadow: 0 12px 28px rgba(37, 99, 235, .13);
   transform: translateY(-3px)
}

.lpp-location-grid .lpp-pin {
   margin-right: 4px
}

.lpp-location-name {
   min-width: 0
}

.lpp-location-grid .lpp-grid-arrow {
   width: 18px;
   height: 18px;
   margin-left: auto;
   margin-right: 0;
   opacity: .48;
   transform: translateX(-3px);
   transition: opacity .2s, transform .2s
}

.lpp-location-grid a:hover .lpp-grid-arrow {
   opacity: 1;
   transform: translateX(2px)
}

/* Growth Suite frontend sections */
.lpp-service-grid,
.lpp-testimonial-grid,
.lpp-instructor-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px
}

.lpp-service-grid article,
.lpp-instructor-grid article,
.lpp-testimonial-grid blockquote,
.lpp-reusable-block {
   margin: 0;
   padding: 24px;
   border: 1px solid var(--lpp-border);
   border-radius: var(--lpp-radius);
   background: #fff
}

.lpp-service-grid h3,
.lpp-instructor-grid h3 {
   margin: 0 0 9px
}

.lpp-service-grid p,
.lpp-instructor-grid p,
.lpp-testimonial-grid p {
   margin: 0
}

.lpp-testimonial-grid cite {
   display: block;
   margin-top: 14px;
   color: var(--lpp-primary);
   font-style: normal;
   font-weight: 650
}

.lpp-instructor-grid img {
   width: 70px;
   height: 70px;
   border-radius: 50%;
   object-fit: cover;
   margin-bottom: 14px
}

.lpp-map iframe {
   display: block;
   width: 100%;
   height: 380px;
   border: 0;
   border-radius: var(--lpp-radius);
   box-shadow: 0 12px 35px rgba(20, 36, 59, .08)
}

@media(max-width:760px) {

   .lpp-service-grid,
   .lpp-testimonial-grid,
   .lpp-instructor-grid {
      grid-template-columns: 1fr
   }

   .lpp-map iframe {
      height: 300px
   }
}

/* Structural inner-page designs */
.lpp-content-shell {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 350px;
   gap: 46px;
   align-items: start;
   padding-block: var(--lpp-section-space)
}

.lpp-content-shell .lpp-reading {
   width: 100%;
   max-width: none
}

.lpp-content-shell .lpp-section {
   padding-block: 0;
   margin-bottom: var(--lpp-section-space)
}

.lpp-page-sidebar {
   position: sticky;
   top: 32px;
   min-width: 0
}

.lpp-page-sidebar .lpp-form-card {
   width: 100%;
   box-shadow: var(--lpp-shadow)
}

.lpp-layout-sidebar-form .lpp-location-banner-form .wpcf7-form {
   grid-template-columns: 1fr !important
}

.lpp-layout-sidebar-form .lpp-location-banner-form .wpcf7-form>p {
   grid-column: 1 !important
}

.lpp-sidebar-locations {
   overflow: hidden;
   border: 1px solid var(--lpp-border);
   border-radius: var(--lpp-radius);
   background: #fff;
   box-shadow: var(--lpp-shadow)
}

.lpp-sidebar-locations h2 {
   margin: 0;
   padding: 22px 24px;
   background: var(--lpp-primary);
   color: var(--lpp-button-text);
   font-size: 22px
}

.lpp-sidebar-locations ul {
   list-style: none !important;
   margin: 0 !important;
   padding: 8px 0 !important;
   max-height: 650px;
   overflow: auto
}

.lpp-sidebar-locations li {
   margin: 0 !important;
   padding: 0 !important
}

.lpp-sidebar-locations li::before {
   display: none !important
}

.lpp-sidebar-locations a,
.lpp-sidebar-locations .is-current {
   display: flex;
   justify-content: space-between;
   gap: 12px;
   padding: 12px 22px;
   color: var(--lpp-text);
   font-size: 14px;
   border-bottom: 1px solid var(--lpp-border)
}

.lpp-sidebar-locations a:hover {
   color: var(--lpp-primary);
   background: var(--lpp-banner-bg)
}

.lpp-sidebar-locations .is-current {
   color: var(--lpp-primary);
   font-weight: 700;
   background: var(--lpp-banner-bg)
}

.lpp-layout-minimal .lpp-hero-grid,
.lpp-layout-sidebar-form .lpp-hero-grid,
.lpp-layout-sidebar-locations .lpp-hero-grid {
   grid-template-columns: 1fr
}

.lpp-layout-minimal .lpp-hero-copy,
.lpp-layout-sidebar-form .lpp-hero-copy,
.lpp-layout-sidebar-locations .lpp-hero-copy {
   max-width: 860px
}

.lpp-layout-minimal .lpp-hero {
   min-height: 0
}

.lpp-layout-minimal .lpp-hero h1 {
   max-width: 760px
}

@media(max-width:900px) {
   .lpp-content-shell {
      grid-template-columns: 1fr;
      gap: 10px
   }

   .lpp-page-sidebar {
      position: static
   }

   .lpp-sidebar-locations ul {
      max-height: 430px
   }
}

/* v3.3 responsive 55/45 sidebar and form-plugin compatibility */
.lpp-content-shell {
   width: calc(100% - 40px);
   max-width: 1200px;
   grid-template-columns: minmax(0, 75fr) minmax(360px, 25fr);
   gap: 32px
}

.lpp-page-sidebar .lpp-form-card {
   max-width: 100%;
   padding: 30px
}

.lpp-location-banner-form :is(form, .wpforms-container, .wpforms-form, .frm_forms, .fluentform, .forminator-ui, .gform_wrapper) {
   width: 100%;
   max-width: 100%;
   min-width: 0
}

.lpp-location-banner-form :is(input:not([type=checkbox]):not([type=radio]), select, textarea, button) {
   max-width: 100%
}

.lpp-sidebar-locations .lpp-location-unlinked {
   display: block;
   padding: 12px 22px;
   border-bottom: 1px solid var(--lpp-border);
   color: var(--lpp-text);
   font-size: 14px
}

.lpp-faq-style-cards .lpp-faq {
   margin: 12px 0;
   border: 1px solid var(--lpp-border);
   border-radius: var(--lpp-radius);
   padding-inline: 20px;
   background: #fff;
   box-shadow: 0 7px 22px rgba(20, 36, 59, .05)
}

.lpp-faq-style-cards .lpp-faq:last-child {
   border-bottom: 1px solid var(--lpp-border)
}

.lpp-faq-style-filled .lpp-faq {
   margin: 10px 0;
   border: 0;
   border-radius: var(--lpp-input-radius);
   padding-inline: 20px;
   background: var(--lpp-banner-bg)
}

.lpp-faq-style-filled .lpp-faq summary {
   padding-block: 18px
}

.lpp-faq-style-filled .lpp-answer {
   padding-bottom: 20px
}

@media(max-width:900px) {
   .lpp-content-shell {
      grid-template-columns: 1fr;
      width: calc(100% - 36px)
   }

   .lpp-page-sidebar .lpp-form-card {
      padding: 24px
   }
}

/* v1.4.1: retain the real CF7 select; suppress only its theme-generated duplicate. */
.lpp-location-banner-form .wpcf7-form select.wpcf7-select {
   display: block !important;
   visibility: visible !important;
   opacity: 1 !important;
   position: static !important;
   height: auto !important;
   min-height: 58px !important;
   pointer-events: auto !important;
   appearance: auto !important
}

.lpp-location-banner-form .wpcf7-form .wpcf7-form-control-wrap:has(select.wpcf7-select)>.nice-select {
   display: none !important
}

.lpp-location-banner-form.lpp-form-reference-grid .wpcf7-form .lpp-layout-cell:has(select) {
   grid-column: 1/-1 !important
}

/* v3.4 compact location navigation and plugin-agnostic form output */
.lpp-layout-sidebar-locations .lpp-content-shell {
   width: min(calc(100% - 48px), 1200px);
   max-width: 1200px;
   grid-template-columns: minmax(0, 70fr) minmax(280px, 30fr);
   gap: 32px
}

.lpp-layout-sidebar-locations .lpp-page-sidebar {
   width: 100%;
   max-width: 320px;
   justify-self: end
}

.lpp-sidebar-locations ul {
   padding: 10px !important
}

.lpp-sidebar-locations li+li {
   margin-top: 8px !important
}

.lpp-sidebar-locations a,
.lpp-sidebar-locations .is-current,
.lpp-sidebar-locations .lpp-location-unlinked {
   align-items: center;
   justify-content: left;
   min-height: 46px;
   padding: 9px 14px !important;
   border: 1px solid var(--lpp-border);
   border-radius: 8px;
   background: #fff
}

.lpp-sidebar-locations a svg,
.lpp-sidebar-locations .is-current svg,
.lpp-sidebar-locations .lpp-location-unlinked svg {
   width: 18px;
   height: 18px;
   flex: 0 0 18px;
   margin-left: auto;
   transition: transform .18s
}

.lpp-sidebar-locations a:hover svg {
   transform: translate(2px, -2px)
}

.lpp-sidebar-locations .is-current {
   color: var(--lpp-button-text);
   background: var(--lpp-primary);
   border-color: var(--lpp-primary)
}

.lpp-sidebar-locations .lpp-location-unlinked {
   display: flex;
   color: var(--lpp-text);
   opacity: .72
}

.lpp-location-banner-form>:is(form, div),
.lpp-location-banner-form form {
   max-width: 100%
}

@media(max-width:900px) {
   .lpp-layout-sidebar-locations .lpp-content-shell {
      grid-template-columns: 1fr
   }

   .lpp-layout-sidebar-locations .lpp-page-sidebar {
      max-width: 420px;
      justify-self: stretch
   }
}

/* Refined locations sidebar and readable two-column grids */
.lpp-sidebar-locations {
   padding: 16px;
   background: var(--lpp-sidebar-bg, #f2f3ff);
   border-color: var(--lpp-border)
}

.lpp-sidebar-locations h2 {
   padding: 12px 10px 20px;
   background: transparent;
   color: var(--lpp-heading);
   font-size: 23px;
   text-transform: uppercase
}

.lpp-sidebar-locations ul {
   padding: 10 !important;
   max-height: 590px;
}

.lpp-sidebar-locations a,
.lpp-sidebar-locations .is-current,
.lpp-sidebar-locations .lpp-location-unlinked {
   min-height: 48px;
   background: transparent;
   gap: 0px;

}

.lpp-sidebar-locations .is-current {
   background: var(--lpp-primary);
   color: var(--lpp-button-text);
  
}

.lpp-sidebar-locations a svg,
.lpp-sidebar-locations .is-current svg,
.lpp-sidebar-locations .lpp-location-unlinked svg {
   order: -1;
   margin-left: 0;
   margin-right: 12px
}

.lpp-location-name {
   white-space: normal;
   word-break: normal;
   overflow-wrap: normal;
   line-height: 1.35
}