/*!
Theme Name: Kosa Child
Theme URI: http://kosa.bold-themes.com
Description: Kosa child theme
Author: BoldThemes
Author URI: http://bold-themes.com
Template: kosa
Version: 1.0.0
Tags: one-column, right-sidebar, custom-menu, featured-images, sticky-post, theme-options, threaded-comments, translation-ready
Text Domain: kosa-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */

/* =========================================================
TABLE OF CONTENTS
=========================================================

  1.  GLOBAL SINGLE PAGE BACKGROUND         ~line 23
  2.  BUTTON + BASE STYLES                  ~line 34
  3.  SHOPS ACCORDION                       ~line 91
  4.  LEASING INFO BUTTON                   ~line 170
  5.  COMPARISON TABLE                      ~line 188
  6.  ICON SIZE HELPERS                     ~line 218
  7.  EASY APPOINTMENTS                     ~line 236
  8.  HIDE / TWEAK SOME ELEMENTS            ~line 315
  9.  SIMPLE BANNER (PROFILE HEADER)        ~line 357
  10. TWO-CARD LAYOUT (SINGLE BEAUTY PRO)   ~line 423
  11. SECTION TITLE BARS                    ~line 655
  12. SERVICES – RIGHT CARD                 ~line 676
  13. LIFESTYLE IMAGE SECTION               ~line 749
  14. GEODIRECTORY ADDRESS FORMAT           ~line 770
  15. TRUST STATEMENT                       ~line 806
  16. OUR WORKS GALLERY                     ~line 822
  17. TESTIMONIALS – CARD + SCROLLER        ~line 908
  18. BOTTOM ROW CARDS                      ~line 1174
  19. REVIEWS CARD / COMMENTS AREA          ~line 1342
  20. ARCHIVE ITEM CARD – LIST LAYOUT       ~line 1480
  21. LAYOUT: SIDEBAR / CONTENT             ~line 1534
  22. ARCHIVE HERO SECTION                  ~line 1551
  23. BUSINESS PROS ARCHIVE HERO BG         ~line 1573
  24. BANNER RATING UNDER TAGLINE           ~line 1584
  25. BUSINESS PROS ARCHIVE – HERO + RESULTS LAYOUT  ~line 1636
  26. BUSINESS PROS ARCHIVE – RESULTS LAYOUT         ~line 1790
  27. BUSINESS PROS ARCHIVE – RESULT CARD            ~line 1829
  28. BUSINESS PROS ARCHIVE – FORCE 1-COLUMN         ~line 1932
  29. BEAUTY PROS RESULTS LAYOUT            ~line 1974
  30. ARCHIVE FOOTER                        ~line 2023
  31. HIDE GD HINTS ON ARCHIVE              ~line 2047
  32. THUMBNAILS – REMOVE ROUNDED CORNERS   ~line 2055
  33. BEAUTY PROS ARCHIVE ITEM CARD LAYOUT  ~line 2066
  34. BEAUTY PROS ARCHIVE HERO – MOBILE     ~line 2203
  35. HEADSHOT HEIGHT FIX                   ~line 2222
  36. BOOK NOW BUTTON                       ~line 2331
  37. BOLD BUILDER ICON-HOVER BUTTONS       ~line 2413
  38. TEXT LINK WITH SLIDE-OUT ARROW        ~line 2487
  39. UWP ACCOUNT LAYOUT                    ~line 3032
  40. SEARCH PAGE – HIDE BOLDTHEMES HEADLINE ~line 3417
  41. SEARCH PAGE – ARCHIVE LAYOUT STRUCTURE ~line 3423
  42. SEARCH PAGE – HERO SEARCH BAR         ~line 3457
  43. HIDE GEODIRECTORY LOOP UTILITY BUTTONS ~line 3527
  44. SEARCH – FIX STAGGERED RESULT ORDER   ~line 3636
  45. SEARCH RESULTS PAGE – FOOTER          ~line 3674
  46. SEARCH EMPTY STATE                    ~line 3880
  47. BUSINESS PROS – COLOR SWAPS           ~line 3926
  48. BUSINESS PROS – PAGE BACKGROUND       ~line 3938
  49. BOTTOM CARD HEIGHT SYNC               ~line 4037
  50. REMOVE REVIEW CARD HEADER BORDER      ~line 4071
  51. REMOVE ALL BORDERS ON REVIEWS         ~line 4080
  52. BANNER INNER VERTICAL PADDING         ~line 4088
  53. OUR WORKS – EMPTY GALLERY GAP FIX     ~line 4097
  54. BUSINESS PROS – OUTER BACKGROUND      ~line 4114
  55. ARCHIVE HERO (SHARED)                 ~line 4140
  56. BUSINESS PROS ARCHIVE HERO BG OVERRIDE ~line 4164
  57. BUSINESS PROS HERO – PADDING          ~line 4279
  58. SEARCH PAGE – HERO BG IMAGE OVERRIDE  ~line 4289
  59. DIRECTORY SECTION                     ~line 4302
  60. DIRECTORY – HEADLINE SPACING FIX      ~line 4413
  61. DIRECTORY – CATEGORY TITLES           ~line 4424
  62. DIRECTORY – INLINE CATEGORY LINKS     ~line 4447
  63. EDIT LISTING BUTTON (USERSWP)         ~line 4481
  64. ADD LISTING BLOCKED – GO BACK BUTTON  ~line 4492
  65. BUSINESS PROS – CATEGORY SELECT2      ~line 4515
  66. REGISTER PAGE AUTH WRAPPER            ~line 4567
  67. AUTH – LOGIN PAGE                     ~line 4616
  68. AUTH – LOGIN PAGE CONSISTENCY PATCH   ~line 4737
  69. LOGIN – PASSWORD TOGGLE               ~line 4881
  70. LOGIN – REMEMBER ME CHECKBOX          ~line 4938
  71. LOGIN – FOOTER LINKS                  ~line 4965
  72. LOGIN – FOOTER LINKS CENTERED         ~line 4990
  73. AUTH – SIGN IN BUTTON (CONSOLIDATED)  ~line 5029
  74. AUTH – SIGN IN BUTTON (REGISTER PAGE) ~line 5038
  75. AUTH – FORGOT PASSWORD PAGE           ~line 5124
  76. AUTH – FORGOT PASSWORD (DUPLICATE)    ~line 5192
  77. CITY HUB PAGE STYLES                  ~line 5244
  78. EDMONDS BEAUTY PROS – ARCHIVE STYLES  ~line 5303
  79. CITY BEAUTY PROS – CARD LAYOUT FIX    ~line 5388
  80. ARCHIVE ITEM – TITLE + RATING INLINE  ~line 5441
  81. EDMONDS HERO SECTION                  ~line 5818
  82. EDMONDS EXPLORE SERVICES SECTION      ~line 5927
  83. EDMONDS TOP RATED BUSINESSES SECTION  ~line 6124
  84. HERO – SUPERHEADLINE SIZE + VERTICAL CENTERING  ~line 6560
  85. WHO IT'S FOR – PILL GRID                        ~line 6585
  86. SECTION 7 — HOW IT WORKS BUTTON                 ~line 7013
  87. FOUNDING TENANT STATS — CLAIM YOUR SPOT BUTTON  ~line 7065
  88. WAITLIST SECTION — CF7 FORM STYLING             ~line 7105
  89. SECTION 7 — SUITE SPECS TAB SPACING             ~line 7133
  90. BECOME A PRO PAGE                               ~line 7355
  91. DARKSIDE-PREVIEW – STANDARDIZE HEADLINE SIZES   ~line 7981
  92. FOOTER – PROMO TEXT SIZE                        ~line 8075
  93. BUSINESS TOOLS PAGE                             ~line 8087
  94. MARKETING PACKAGES PAGE                         ~line 8440
  95. EDUCATION / LEARNING CENTER PAGE                ~line 8682
  96. TOUR PAGE                                        ~line 9046
  97. EASY APPOINTMENTS BOOKING WIDGET                 ~line 9215
  98. SPACES PAGE                                       ~line 9660
  99. SEATTLE SUITES LANDING PAGE                       ~line 9985
  100. BLOG SINGLE POST — HIDE COMMENT COUNT IN META    ~line 10397
  101. BLOG SINGLE POST — CONTENT STYLES, DROP CAP, AUTHOR BIO, PREV/NEXT ~line 10407
  102. FAQ PAGE                                          ~line 10417
  103. BLOG POST — TABLES, STATS & CTA BLOCKS            ~line 10591
  104. SINGLE BLOG POST — MAGAZINE HERO LAYOUT            ~line 10780
  105. FOOTER — FORCE WHITE TEXT                           ~line 11032
  106. DARK SKIN SECTIONS — PRESERVE WHITE TEXT            ~line 11044
  107. EDUCATION PILLAR PAGES — BLOG-STYLE LAYOUT          ~line 11988
  107b. EDUCATION ARTICLE — CTA BOX OVERRIDES              ~line 12351
  107c. PILLAR PAGE INLINE CTA BUTTONS (2.2 PATTERN)       ~line 12420
  108. ABOUT PAGE                                           ~line 12178
  109. ABOUT SHOPS PLUS PAGE – HERO SECTION                 ~line 12274
  110. ABOUT SHOPS PLUS PAGE – WHAT IS THE SHOPS SECTION    ~line 12381
  111. ABOUT SHOPS PLUS PAGE – BRIDGE / TRANSITION SECTION  ~line 12474
  112. ABOUT SHOPS PLUS PAGE – THE PLUS SECTION             ~line 12522
  113. ABOUT SHOPS PLUS PAGE – WITHOUT THE PLUS SECTION     ~line 12675
  114. ABOUT SHOPS PLUS PAGE – WITH THE PLUS SECTION         ~line 12803
  115. ABOUT SHOPS PLUS PAGE – ANIMATED TEXT ROTATOR          ~line 12968
  116. ABOUT SHOPS PLUS PAGE – INDUSTRY COMPARISON TABLE     ~line 13040
  117. ABOUT SHOPS PLUS PAGE – FINAL CTA SECTION             ~line 13092
  118. PROFESSIONAL COMMUNITY PAGE – HERO SECTION            ~line 13254
  119. PROFESSIONAL COMMUNITY PAGE – INTRO SECTION           ~line 13340
  120. PROFESSIONAL COMMUNITY PAGE – VALUE GRID SECTION      ~line 13400
  121. PROFESSIONAL COMMUNITY PAGE – SPLIT SECTIONS          ~line 13480
  122. PROFESSIONAL COMMUNITY PAGE – FINAL CTA (CONTAINED)  ~line 13620
  123. BUSINESS SUPPORT PAGE – HERO SECTION                  ~line 13720
  124. BUSINESS SUPPORT PAGE – SPLIT SECTIONS                ~line 13810
  125. BUSINESS SUPPORT PAGE – VALUE GRID (4 COLUMNS)        ~line 13960
  126. BUSINESS SUPPORT PAGE – FINAL CTA (CONTAINED)         ~line 14070
  127. FOUNDING MEMBER PERKS PAGE                              ~line 14196
  128. REDMOND LOCATION HUB PAGE                                ~line 14955
  129. BACKEND PAGES – PORTAL CONSISTENCY OVERRIDES              ~line 15880
  130. TENANT PORTAL – HUB / DASHBOARD                          ~line 16050
  131. TENANT PORTAL – PROGRESS BAR                             ~line 16160
  132. TENANT PORTAL – ONBOARDING CHECKLIST                     ~line 16200
  133. TENANT PORTAL – MARKETING HUB                            ~line 16430
  134. TENANT PORTAL – BUSINESS SERVICES DIRECTORY              ~line 16570
  135. TENANT PORTAL – EDUCATION HUB                            ~line 16700
  136. TENANT PORTAL – PROFILE PAGE                              ~line 16800
  136a. UNCLAIMED LISTING BANNER + LITE TEMPLATE STYLES         ~line 16939
  136b. SCRAPED LISTING HERO IMAGE                               ~line 17060
  136c. GOOGLE RATING BANNER (SCRAPED LISTINGS)                 ~line 17080
  136d. CLAIM YOUR LISTING PAGE (/claim-your-listing/)           ~line 17290
  137. TENANT PORTAL – COMMUNITY HUB                            ~line 17100
  138. TENANT PORTAL – SHARED / UTILITY                         ~line 17700
  139. BUSINESS PRICING CALCULATOR PAGE                          ~line 18254
  140. EASTSIDE BEAUTY LANDING – UNIFIED SEARCH BAR               ~line 20370
  141. SCRAPED LISTING – SLATE PALETTE + LITE CARDS                ~line 20545
  142. TENANT PORTAL – BUSINESS ASSISTANT (AI CHATBOT)             ~line 20935
  143. TENANT PORTAL – CLIENT FORMS LIBRARY                        ~line 21115
  144. TENANT PORTAL – CLIENT FORMS LIBRARY: HIGH-LIABILITY GATE   ~line 21380
  145. TENANT PORTAL – EMAIL & TEXT TEMPLATES LIBRARY              ~line 21660
  146. TENANT PORTAL – SECTION NAV (BROWSE BY CATEGORY)             ~line 21940
  147. TENANT PORTAL – CANCELLATION POLICY TEMPLATES LIBRARY        ~line 22090
  148. TENANT PORTAL – CONTENT CALENDAR LIBRARY                     ~line 22310
  149. BREAK-EVEN CALCULATOR PAGE                                   ~line 22910
  150. CLIENT LIFETIME VALUE CALCULATOR PAGE                        ~line 23560
  151. SCHEDULE TEMPLATE GENERATOR PAGE                             ~line 24190
  152. AI CAPTION WRITER PAGE                                       ~line 24965
  153. AI CONTENT IDEAS GENERATOR PAGE                              ~line 25420
  154. AI CLIENT RESPONSE HELPER PAGE                               ~line 26100
  155. AI REVIEW REQUEST GENERATOR PAGE                             ~line 26700
  156. SHOPS DIGITAL AGENCY (MANAGEMENT TEMP PAGE)                  ~line 27320
  157. SOCIAL MEDIA PACKAGES (MARKETING HUB ADD-ON)                  ~line 27540
  158. GD MAP POPUP (MARKER INFO WINDOW)                            ~line 27876

========================================================= */

/* =========================================================
THE SHOPS - CUSTOM STYLES (CLEAN VERSION, CONSOLIDATED)
========================================================= */

/* ---------------------------------------------------------
GLOBAL SINGLE PAGE BACKGROUND
--------------------------------------------------------- */
body.single,
body.single .site-wrapper,
body.single-post,
body.single-gd-place {
  background: #f5f5f5 !important;
}


/* ---------------------------------------------------------
BUTTON + BASE STYLES
--------------------------------------------------------- */
.bt_bb_button.bt_bb_style_outline .bt_bb_link {
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  background-color: transparent !important;
}


.bt_bb_button.bt_bb_style_outline .bt_bb_link:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
}


/* Smaller text for subheadline */
.bt_bb_size_normal.bt_bb_headline.bt_bb_subheadline .bt_bb_headline_subheadline {
  font-size: 1rem;
  line-height: 1.65;
  margin-top: 1em;
}


/* Extra padding on right for "The Shops Advantage" column */
.advantage-column .bt_bb_column_content_inner {
  padding-right: 80px !important;
}


@media (max-width: 1024px) {
  .advantage-column .bt_bb_column_content_inner {
    padding-right: 40px !important;
  }
}


@media (max-width: 768px) {
  .advantage-column .bt_bb_column_content_inner {
    padding-right: 20px !important;
  }
}


/* Smaller headline styling */
.smaller-headline .bt_bb_headline_tag {
  font-size: 48px !important;
  line-height: 1.25 !important;
}


.smaller-headline .bt_bb_headline_subheadline {
  font-size: 16px !important;
  line-height: 1.5 !important;
}


/* ---------------------------------------------------------
SHOPS ACCORDION
--------------------------------------------------------- */
.bt_bb_raw_content section.shops-accordion,
section.shops-accordion {
  --accent: #111;
  max-width: 920px;
  margin: 0 auto;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}


.bt_bb_raw_content section.shops-accordion .shops-acc-item,
section.shops-accordion .shops-acc-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  padding: 0.75rem 0;
}


.bt_bb_raw_content section.shops-accordion .shops-acc-item > summary,
section.shops-accordion .shops-acc-item > summary {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 10px 0;
  list-style: none !important;
}


.bt_bb_raw_content section.shops-accordion .shops-acc-item > summary::-webkit-details-marker,
section.shops-accordion .shops-acc-item > summary::-webkit-details-marker {
  display: none !important;
}


.bt_bb_raw_content section.shops-accordion .shops-acc-item > summary::marker,
section.shops-accordion .shops-acc-item > summary::marker {
  content: "";
}


.bt_bb_raw_content section.shops-accordion .shops-acc-item-title,
section.shops-accordion .shops-acc-item-title {
  font-weight: 700;
  line-height: 1.35;
  margin-right: 10px;
  flex: 1 1 auto;
}


.bt_bb_raw_content section.shops-accordion .shops-acc-icon,
section.shops-accordion .shops-acc-icon {
  flex: 0 0 auto;
  width: 28px;
  text-align: right;
  font-size: 28px;
  font-weight: 600;
  color: var(--accent);
  position: relative;
}


.bt_bb_raw_content section.shops-accordion .shops-acc-icon::before,
section.shops-accordion .shops-acc-icon::before {
  content: "+";
  position: relative;
}


.bt_bb_raw_content section.shops-accordion .shops-acc-item[open] > summary .shops-acc-icon::before,
section.shops-accordion .shops-acc-item[open] > summary .shops-acc-icon::before {
  content: "-";
}


.bt_bb_raw_content section.shops-accordion .shops-acc-content,
section.shops-accordion .shops-acc-content {
  padding: 0.5rem 0 0.75rem;
}


/* ---------------------------------------------------------
LEASING INFO BUTTON
--------------------------------------------------------- */
.leasing-info-btn.bt_bb_button.bt_bb_style_outline .bt_bb_link {
  color: #000 !important;
  border: 2px solid #000 !important;
  background-color: transparent !important;
  transition: all 0.25s ease-in-out;
}


.leasing-info-btn.bt_bb_button.bt_bb_style_outline .bt_bb_link:hover {
  color: #fff !important;
  background-color: #000 !important;
  border-color: #000 !important;
}


/* ---------------------------------------------------------
COMPARISON TABLE
--------------------------------------------------------- */
.bt_bb_price_item_title,
.bt_bb_price_item_price {
  font-size: 16px !important;
  line-height: 1.4 !important;
}


.bt_bb_price_item_title::after {
  width: 20px !important;
  margin: 0 auto;
  display: block;
}


.bt_bb_price_item_title_price .bt_bb_price_item_title {
  position: relative;
  display: inline-block;
}


.bt_bb_price_item_price {
  display: inline-block;
  min-width: 150px;
  text-align: right;
}


/* ---------------------------------------------------------
ICON SIZE HELPERS
--------------------------------------------------------- */
.smaller-icon .bt_bb_icon_holder::before {
  font-size: 26px !important;
  line-height: 1.2 !important;
  vertical-align: top !important;
}


.smaller-stuff .bt_bb_icon_holder::before {
  font-size: 60px !important;
  line-height: 1.2 !important;
  vertical-align: top !important;
  padding-right: 8px !important;
}


/* ---------------------------------------------------------
EASY APPOINTMENTS
--------------------------------------------------------- */
.ea-label {
  display: none !important;
}


#book-a-tour .ea-bootstrap a.time-value.selected-time,
#book-a-tour a.time-value.selected-time,
.ea-bootstrap a.time-value.selected-time,
a.time-value.selected-time {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}


#book-a-tour a.time-value.selected-time:link,
#book-a-tour a.time-value.selected-time:visited,
#book-a-tour a.time-value.selected-time:hover,
#book-a-tour a.time-value.selected-time:focus,
#book-a-tour a.time-value.selected-time:active,
.ea-bootstrap a.time-value.selected-time:link,
.ea-bootstrap a.time-value.selected-time:visited,
.ea-bootstrap a.time-value.selected-time:hover,
.ea-bootstrap a.time-value.selected-time:focus,
.ea-bootstrap a.time-value.selected-time:active,
a.time-value.selected-time:link,
a.time-value.selected-time:visited,
a.time-value.selected-time:hover,
a.time-value.selected-time:focus,
a.time-value.selected-time:active {
  color: #fff !important;
  text-decoration: none !important;
}


a.time-value.selected-time {
  background-image: none !important;
}


.ea-standard .section {
  color: #000 !important;
}


.ea-standard .step {
  width: 100%;
  padding-top: 7px;
  padding-bottom: 20px !important;
  padding-left: 7px;
  padding-right: 7px;
  position: relative;
}


.ea-helper-heading {
  font-weight: 600;
  margin: 0.5rem 0 0.25rem;
  font-size: 1.2rem !important;
}


.ea-btn.ea-submit,
.ea-btn.ea-cancel {
  background-color: #000 !important;
  color: #fff !important;
  padding: 12px 24px !important;
  border: none !important;
  border-radius: 0;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s ease;
}


/* ---------------------------------------------------------
HIDE / TWEAK SOME ELEMENTS
--------------------------------------------------------- */
.row-price {
  display: none !important;
}


.directorist-search-top__title,
.directorist-search-top__subtitle {
  display: none !important;
}


.directorist-search-contents {
  background-size: cover;
  padding: 20px 0 120px;
}


.directorist-listing-card-posted-on {
  display: none !important;
}


.bt-content a {
  color: #003366 !important;
}


body.single-post h2 {
  font-size: 1.8rem;
  line-height: 1.6em;
  font-weight: 400;
}


.bt-comments-content {
  display: none !important;
}


/* ---------------------------------------------------------
SIMPLE BANNER (PROFILE HEADER)
--------------------------------------------------------- */
.ts-simple-banner {
  width: 100%;
  min-height: 125px;
  padding: 18px 0;
  background: #ffffff;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e5e5e5;
}

/* When a Google rating banner is injected below the H1, stack them
   vertically inside the flex container so the pill sits directly
   under the business name instead of beside it. */
.ts-simple-banner-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}


.ts-simple-banner-inner {
  margin-left: 30px;
}


.ts-banner-title {
  margin: 0;
  font-size: 32px;
  font-weight: 700 !important;
  color: #000;
  line-height: 1em;
}


.ts-banner-tagline {
  margin-top: 4px;
  letter-spacing: 3px !important;
}


.ts-banner-tagline .geodir-field-label,
.ts-banner-tagline .geodir-field-icon {
  display: none;
}


.ts-banner-tagline .geodir-field-value {
  font-size: 16px;
  font-weight: 400;
  color: #555;
}


@media (max-width: 480px) {
  .ts-simple-banner {
    height: auto;
    padding: 20px 0;
  }

.ts-simple-banner-inner {
  margin-left: 20px;
}

.ts-banner-title {
  font-size: 26px;
}

.ts-banner-tagline .geodir-field-value {
  font-size: 14px;
}
}


/* =========================================================
THE SHOPS TWO-CARD LAYOUT (SINGLE BEAUTY PRO)
========================================================= */
.ts-two-card-section {
  background: #f5f5f5;
  padding-top: 40px;
  padding-bottom: 40px;
  max-width: 1600px;
  margin: 0 auto;
}


.ts-two-card-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 30px;
  margin-left: 30px;
  margin-right: 40px;
}


/* Base card styling – peach theme, square corners */
.ts-card {
  background: #fff4ee;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-radius: 0;
  display: flex;
  flex-direction: column;
}


/* Left card top section */
.ts-card-left-top {
  background: #fbbda5;
  padding: 20px;
}


.ts-card-left-top-inner {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}


/* Columns inside left card */
.ts-card-left-col {
  display: flex;
  flex-direction: column;
}


/* Left column: LOGO + BOOK NOW */
.ts-card-left-col-logo {
  flex: 0 0 320px;
  max-width: 320px;
  padding-right: 0; /* remove inner gap on the right */
}


/* Right column: owner + contact + socials */
.ts-card-left-col-contact {
  flex: 1;
}


/* PROFILE IMAGE WRAP – make it fill the entire left column width */
.ts-card-left-col-logo .ts-profile-image-wrap,
.ts-card-left-col-logo .ts-profile-image-wrap .geodir-post-slider,
.ts-card-left-col-logo .ts-profile-image-wrap .geodir-image-container,
.ts-card-left-col-logo .ts-profile-image-wrap .geodir-images,
.ts-card-left-col-logo .ts-profile-image-wrap .carousel-item {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* Kill 16x9 ratio constraints so height is natural */
.ts-card-left-col-logo .ts-profile-image-wrap .ratio,
.ts-card-left-col-logo .ts-profile-image-wrap .ratio-16x9,
.ts-card-left-col-logo .ts-profile-image-wrap .embed-responsive {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* Actual headshot image – full-width, square corners */
.ts-card-left-col-logo .ts-profile-image-wrap img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: cover;
  border-radius: 0 !important;
  margin: 0 !important;
}


/* Owner name */
.ts-owner-name {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #111111;
}


/* Owner divider */
.ts-owner-divider {
  width: 95%;
  max-width: 95%;
  height: 4px;
  background: #000000;
  margin: 10px 0 15px;
}


/* Contact list */
.ts-contact-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}


.ts-contact-row {
  display: flex;
  align-items: flex-start;
}


/* Contact icons */
.ts-contact-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  margin-right: 8px;
  flex-shrink: 0;
  position: relative;
  top: 1px;
}


/* Contact text */
.ts-contact-text {
  font-size: 16px !important;
  line-height: 1.45 !important;
  color: #111111;
}


.ts-contact-address .ts-contact-text {
  font-size: 16px !important;
  line-height: 1.45 !important;
}


/* Social icons */
.ts-social-icons {
  margin-top: 15px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}


.ts-social-link img {
  width: 22px;
  height: 22px;
  display: block;
}


/* Left card middle + bottom */
.ts-card-left-middle,
.ts-card-left-bottom {
  padding: 20px;
  background-color: #fff4ee;
}


/* Right card */
.ts-card-right {
  padding: 0;
}


/* MOBILE: Stack left columns (logo on top, contact below) */
@media (max-width: 991.98px) {
  .ts-card-left-top-inner {
    flex-direction: column;
  }

.ts-card-left-col-logo,
.ts-card-left-col-contact {
  width: 100%;
  max-width: 100%;
}

.ts-card-left-col-contact {
  margin-top: 20px;
}
}


/* MOBILE: Stack the left/right cards (whole layout) */
@media screen and (max-width: 900px) {
  .ts-two-card-inner {
    grid-template-columns: 1fr;
    margin-left: 20px;
    margin-right: 20px;
  }

.ts-testimonials-track .comment {
  flex: 0 0 220px;
}

.ts-gallery-track img.ts-gallery-image {
  width: 180px;
  height: 180px;
}
}


/* =========================================================
SECTION TITLE BARS (ABOUT, SERVICES, LOCATION, HOURS, REVIEWS)
========================================================= */
.ts-about-title-bar,
.ts-right-title-bar,
.ts-bh-title-bar,
#ts-review-section .ts-card-title-bar {
  height: 50px;
  background-color: #f26f63;
  color: #ffffff;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  padding-left: 30px;
  border-radius: 0;
}


/* =========================================================
SERVICES – RIGHT CARD
========================================================= */
.ts-services-section {
  background-color: #fff4ee;
  padding: 30px !important;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
}


/* Inner white card */
.ts-services-box {
  background-color: #ffffff;
  padding: 30px;
  border-radius: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}


/* Service row */
.ts-service-row {
  display: flex;
  align-items: flex-end;
  padding: 6px 0;
}


/* Service name */
.ts-service-name {
  padding-left: 20px;
  font-size: 15px;
  font-weight: 500;
  color: #222;
}


/* Dotted line */
.ts-service-dots {
  flex: 1;
  border-bottom: 1px dotted #d0d0d0;
  margin: 0 12px;
}


/* Price */
.ts-service-price {
  padding-right: 20px;
  font-size: 15px;
  font-weight: 600;
  color: #222;
  white-space: nowrap;
}


/* Last row spacing fix */
.ts-service-row:last-child {
  padding-bottom: 0;
}


/* Services intro text */
.ts-services-intro {
  font-size: 15px;
  line-height: 1.55;
  color: #333;
  margin-bottom: 18px;
  padding-left: 20px;
  padding-right: 20px;
}


/* =========================================================
LIFESTYLE IMAGE SECTION
========================================================= */
.ts-lifestyle-section {
  background-color: #fff4ee;
  padding: 0 30px 30px 30px;
}


.ts-lifestyle-image-wrap {
  max-width: 100%;
}


.ts-lifestyle-image-wrap img.ts-lifestyle-image {
  width: 100%;
  height: auto;
  display: block;
}


/* =========================================================
GEODIRECTORY ADDRESS FORMAT
========================================================= */
.geodir_post_meta.geodir-field-address br {
  display: none !important;
}


.geodir_post_meta.geodir-field-address [itemprop="addressCountry"] {
  display: none !important;
}


.geodir_post_meta.geodir-field-address span[itemprop] {
  display: inline;
}


.geodir_post_meta.geodir-field-address span[itemprop="streetAddress"] {
  display: block;
  margin-bottom: 2px;
}


.geodir_post_meta.geodir-field-address span[itemprop="addressLocality"]::after {
  content: ",";
  margin-right: 4px;
}


.geodir_post_meta.geodir-field-address span[itemprop="addressRegion"]::after {
  content: "";
  margin-right: 4px;
}


/* =========================================================
TRUST STATEMENT
========================================================= */
.ts-trust-statement {
  padding-top: 30px !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #222;
  font-style: italic !important;
  font-weight: 600 !important;
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
}


/* =========================================================
OUR WORKS GALLERY
========================================================= */
.ts-gallery-live-card {
  grid-column: 1 / -1;
  width: 100%;
}


.ts-gallery-card {
  background-color: #ffffff;
  padding: 30px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-radius: 0;
}


.ts-gallery-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  padding-bottom: 20px !important;
}


.ts-gallery-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
}


.ts-gallery-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
}


.ts-gallery-image,
.ts-gallery-track img.ts-gallery-image {
  width: 220px;
  height: 220px;
  object-fit: cover;
  flex: 0 0 auto;
  border-radius: 0;
  display: block;
}


.ts-gallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background-color: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  font-size: 28px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}


.ts-gallery-nav-prev {
  left: 10px;
}


.ts-gallery-nav-next {
  right: 10px;
}


.ts-gallery-nav:hover {
  background-color: rgba(0, 0, 0, 0.8);
}


/* =========================================================
TESTIMONIALS - CARD + SCROLLER
========================================================= */
.ts-testimonials-card {
  grid-column: 1 / -1;
  width: 100%;
  background: #fff4ee;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-radius: 0;
  padding: 30px;
  position: relative;
}


.ts-testimonials-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 0 0 20px 0 !important;
}


/* Scroll container for reviews */
.ts-testimonials-track {
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 10px 40px;
}


/* GD or fake reviews list */
.ts-testimonials-track .comment-list,
.ts-testimonials-track .commentlist,
.ts-testimonials-track ol {
  display: flex;
  gap: 20px;
  padding: 0;
  margin: 0;
  list-style: none;
}


/* Each review box */
.ts-testimonials-track .comment {
  flex: 0 0 225px;
  background: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 0;
  padding: 20px 22px;
  box-sizing: border-box;
  min-height: 25px;
}


/* Star rating container */
.ts-testimonials-track .gd-rating,
.ts-testimonials-track .gd-stars,
.ts-testimonials-track .geodir-rating,
.ts-testimonials-track .gd-rating-wrap {
  margin-bottom: 8px;
}


/* Review text */
.ts-testimonials-track .comment p {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
}


/* Author/meta */
.ts-testimonials-track .gd-review-meta,
.ts-testimonials-track .comment .comment-author {
  font-size: 12px;
  color: #777;
}


/* Empty state */
.ts-testimonials-empty {
  display: none;
  font-size: 14px;
  color: #666;
  padding-top: 10px;
}


/* Review form inside testimonials card (if used) */
.ts-testimonials-form {
  margin-top: 20px;
  border-top: 1px solid #eee;
  padding-top: 15px;
}


/* Testimonial arrows */
.ts-testimonials-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background-color: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  font-size: 26px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}


.ts-testimonials-prev {
  left: 10px;
}


.ts-testimonials-next {
  right: 10px;
}


.ts-testimonials-nav:hover {
  background-color: rgba(0, 0, 0, 0.8);
}


/* Testimonials header: title on left, button on right */
.ts-testimonials-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}


/* Leave a Review button (pill is intentional) */
.ts-leave-review-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  border: 1px solid currentColor;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
}


/* Smooth scroll for anchor jumps */
html {
  scroll-behavior: smooth;
}


/* Testimonials-related cards in the grid */
.ts-gallery-live-card,
.ts-testimonials-card,
.ts-testimonials-form-card {
  width: 100%;
  grid-column: 1 / -1;
}


/* Testimonials form card */
.ts-testimonials-form-card {
  display: block;
  position: relative;
  background-color: #ffffff;
  border-radius: 0;
  padding: 30px;
  margin-top: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}


.ts-testimonials-form-card input,
.ts-testimonials-form-card textarea {
  border-radius: 0;
}


/* Remove top spacing above review form */
#ts-review-section .comment-respond,
#ts-review-section #reply-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


#ts-review-section h3.comment-reply-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* Style the Leave a Review title */
#ts-review-section #reply-title,
#ts-review-section #reply-title .gd-comment-review-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  margin: 0 0 12px;
  line-height: 1.3;
}


/* Remove extra space from the empty testimonials header */
#ts-review-section .ts-testimonials-form-header {
  margin: 0;
  padding: 0;
}


#ts-review-section .ts-testimonials-form-header .ts-testimonials-title {
  margin: 0;
  padding: 0;
  display: none;
}


/* Make sure the respond block doesn't add extra space on top */
#ts-review-section #respond.comment-respond {
  margin-top: 0;
  padding-top: 0;
}


/* Limit styling to the testimonials card only */
.ts-testimonials-track .geodir-comments-area {
  padding: 0;
}


/* Optional: tighten spacing around the review list itself */
.ts-testimonials-track .commentlist-wrap,
.ts-testimonials-track ol.comment-list {
  margin: 0;
  padding: 0;
}


/* Make each review feel like a “card” */
.ts-testimonials-track ol.comment-list > li.comment {
  list-style: none;
  margin: 0 0 16px;
  padding: 16px;
  border-radius: 0;
  border: 1px solid rgba(0, 0, 0, 0.08);
}


/* Ensure the GD rating stars show nicely in each review */
.ts-testimonials-track ol.comment-list .gd-rating,
.ts-testimonials-track ol.comment-list .gd-rating-wrap {
  display: inline-flex;
  margin-bottom: 6px;
}


/* =========================================================
BOTTOM ROW CARDS (MAP / HOURS / MINI GALLERY / REVIEW FORM)
========================================================= */
.ts-bottom-left-card,
.ts-testimonials-form-card {
  width: auto;
  grid-column: auto;
}


/* Content body styling */
.ts-bottom-card-body {
  background-color: #fff4ee;
  padding: 30px;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
}


/* Rating summary layout */
.ts-rating-summary-wrapper {
  margin-top: 30px;
}


.ts-rating-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
}


.ts-rating-col {
  box-sizing: border-box;
}


.ts-rating-col-aggregate,
.ts-rating-col-breakdown {
  flex: 1 1 100%;
}


@media (min-width: 768px) {
  .ts-rating-col-aggregate {
    flex: 0 0 260px;
    max-width: 260px;
  }

.ts-rating-col-breakdown {
  flex: 1 1 calc(100% - 260px);
  max-width: 100%;
}
}


/* BUSINESS HOURS card wrapper – square corners */
.ts-bottom-card-body.ts-bottom-card-body-hours {
  background: #ffffff !important;
  padding: 1.75rem 2rem !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}


.ts-bottom-card-body-hours .gd-bh-open-hours {
  background: #ffffff !important;
  border-radius: 0 !important;
  padding: 1rem 1.25rem !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}


/* Row layout for hours */
.ts-bottom-card-body-hours .gd-bh-open-hours .gd-bh-days-list {
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0.4rem 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}


.ts-bottom-card-body-hours .gd-bh-open-hours .gd-bh-days-list:not(:last-child) {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.35) !important;
}


.ts-bottom-left-card {
  padding-bottom: 0px;
}


/* GALLERY UNDER BUSINESS HOURS */
.ts-bottom-card-gallery {
  margin-top: 30px;
}


.ts-bottom-card-gallery ul {
  margin: 0;
  padding: 0;
  list-style: none;
}


/* Turn the GD/Bootstrap row into a 2x2 grid with 30px gutters */
.ts-bottom-left-card .geodir-images {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  row-gap: 30px !important;
  column-gap: 30px !important;
  margin-top: 30px;
}


/* Kill bootstrap column spacing */
.ts-bottom-left-card .geodir-images > .col {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
}


/* Remove internal spacing & rounding from the card wrapper */
.ts-bottom-left-card .geodir-images .card {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
}


/* Remove any rounding coming from ratio / anchor */
.ts-bottom-left-card .geodir-images .ratio,
.ts-bottom-left-card .geodir-images a {
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  height: 100%;
}


/* Images fill their cell and have square corners */
.ts-bottom-left-card .geodir-images img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
  display: block;
}


/* Ensure bottom cards stack nicely on mobile */
@media screen and (max-width: 900px) {
  .ts-bottom-left-card,
  .ts-testimonials-form-card {
    grid-column: 1 / -1;
  }
}


/* =========================================================
REVIEWS CARD / COMMENTS AREA
========================================================= */
/* Wrap the comments block like other cards */
#comments {
  border: 1px solid #ddd;
  border-radius: 0;
  overflow: hidden;
}


/* Inner spacing */
#comments .comment-list,
#comments #respond {
  padding: 20px 30px 30px;
}


/* Padding around rating summary row */
#comments .row.gy-4.mb-5 {
  padding: 20px 20px 0 20px;
}


/* Remove stray text nodes in right-side column */
#comments .row.gy-4.mb-5 .col-sm-8 {
  font-size: 0 !important;
}


#comments .row.gy-4.mb-5 .col-sm-8 .ts-rating-side-summary {
  font-size: initial !important;
}


#comments .row.gy-4.mb-5 .col-sm-8::before,
#comments .row.gy-4.mb-5 .col-sm-8::after {
  content: none !important;
}


/* Make GD review list scrollable */
#comments .commentlist {
  max-height: 600px;
  overflow-y: auto;
  padding-right: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  margin-top: 10px;
  padding-top: 10px;
}


/* Outer review section card (matching other sections) */
#ts-review-section {
  border: 1px solid #ddd;
  border-radius: 0;
  overflow: hidden;
  padding: 0;
}


/* Content area padding below the REVIEWS bar */
#ts-review-section .ts-review-content {
  padding: 20px 30px 30px;
}


/* REVIEW SUBMIT BUTTON */
#ts-review-section input.submit {
  background-color: #1d4ea8 !important;
  border-color: #1d4ea8 !important;
  color: #ffffff !important;
}


#ts-review-section input.submit:hover {
  background-color: #3993d5 !important;
  border-color: #3993d5 !important;
}


/* Rating side summary (right column) */
.ts-rating-side-summary {
  border-radius: 0;
  padding: 1.25rem 1.5rem;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.04), rgba(37, 99, 235, 0.06));
  border: 1px solid rgba(148, 163, 184, 0.28);
}


.ts-rating-side-summary .ts-rating-side-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
  color: #0f172a;
}


.ts-rating-side-summary .ts-rating-side-text {
  font-size: 0.9rem;
  margin-bottom: 0.9rem;
  color: #4b5563;
}


/* “Leave a Review” button (pill is intentional) */
.ts-rating-side-summary .ts-rating-side-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 1.1rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(37, 99, 235, 0.8);
  color: #1d4ed8;
  background: #eff6ff;
  transition: background 150ms ease, color 150ms ease, box-shadow 150ms ease, transform 120ms ease;
}


.ts-rating-side-summary .ts-rating-side-btn:hover {
  color: #ffffff;
  background: #2563eb;
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.35);
  transform: translateY(-1px);
}


/* Individual review cards – square */
.geodir-single-reviews-container .commentlist .card {
  border-radius: 0;
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.06);
}


/* =========================================================
ARCHIVE ITEM CARD – LIST LAYOUT
========================================================= */
.ts-listing-card-left img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
  object-fit: cover;
  margin-bottom: 0.75em;
}


.ts-listing-contact {
  font-size: 0.875rem;
  line-height: 1.5;
  opacity: 0.9;
}


.ts-listing-card-right {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
}


.ts-listing-title {
  margin: 0 0 0.2em;
  font-size: 1.1rem;
}


.ts-listing-title a {
  text-decoration: none;
}


.ts-listing-actions {
  margin-top: 0.75em;
}


/* Simple button (pill – intentional) */
.ts-btn.ts-btn-primary {
  display: inline-block;
  padding: 0.55em 1.3em;
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.9rem;
  border: 1px solid currentColor;
}


/* =========================================================
LAYOUT: SIDEBAR / CONTENT
========================================================= */
/* Hide the Kosa sidebar completely */
aside.btSidebar {
  display: none !important;
}


/* Make the main content area stretch full width */
.btContentWrap.btWithSidebar .bt-content-holder .bt-content {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}


/* =========================================================
HERO SECTION WITH BACKGROUND (ARCHIVE HERO)
========================================================= */
.ts-archive-hero {
  background-image: url("https://theshops.pro/wp-content/uploads/2025/11/find-beauty-salon-hero.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 20px;
  text-align: center;
  border-radius: 0;
  margin-bottom: -35px;
  position: relative;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 370px;
}


/* =========================================================
BUSINESS PROS ARCHIVE HERO BACKGROUND
PAGE: /BUSINESS-PROS/
OVERRIDES THE SHARED ARCHIVE HERO IMAGE
========================================================= */

body.post-type-archive-gd_business_pros .ts-archive-hero {
  background-image: url("https://theshops.pro/wp-content/uploads/2025/12/bg-business-pros-hero.jpg");
}


/* ---------------------------------------------------------
BANNER RATING UNDER TAGLINE
--------------------------------------------------------- */
.ts-banner-rating {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}


.ts-banner-rating .ts-rating--has-reviews {
  display: inline-flex;
  align-items: center;
}


.ts-banner-rating--empty {
  font-size: 16px;
}


.ts-rating-stars--empty {
  font-size: 18px;
  letter-spacing: 2px;
  color: #c7c7c7;
}


.ts-rating-text--empty {
  font-size: 10px;
  color: #888888;
}


.ts-banner-rating .ts-rating-text--empty,
.ts-banner-rating .gd-rating-text,
.ts-banner-rating .gd-rating-average,
.ts-banner-rating .gd-rating-count {
  font-size: 10px !important;
  line-height: 1.2;
  opacity: 0.75;
}


/* Archive item wrapper */
.ts-archive-item {
  padding: 15px 20px;
  border-bottom: none !important;
  max-width: 900px;
  margin: 0 auto 15px;
}


/* =========================================================
BUSINESS PROS ARCHIVE – HERO + RESULTS LAYOUT
(Copy of Beauty Pros archive styling, scoped to gd_business_pros)
========================================================= */
/* BUSINESS PROS: force hero height/padding to match Beauty Pros */
body.post-type-archive-gd_business_pros .ts-archive-hero {
  padding: 80px 20px !important;
  min-height: 370px !important;
  margin-bottom: 40px !important;
}


/* BUSINESS PROS: cap hero content width to ~80% */
body.post-type-archive-gd_business_pros .ts-archive-hero-title,
body.post-type-archive-gd_business_pros .ts-archive-hero-text,
body.post-type-archive-gd_business_pros .ts-archive-search {
  width: 80% !important;
  max-width: 1000px; /* keeps it from getting too huge on wide screens */
}


@media (max-width: 900px) {
  body.post-type-archive-gd_business_pros .ts-archive-hero-title,
  body.post-type-archive-gd_business_pros .ts-archive-hero-text,
  body.post-type-archive-gd_business_pros .ts-archive-search {
    width: 100% !important;
  }
}


body.post-type-archive-gd_business_pros .ts-archive-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 370px;
  padding: 0 20px;
  text-align: center;
}


/* Hero title + text */
body.post-type-archive-gd_business_pros .ts-archive-hero-title {
  color: #ffffff;
  margin-bottom: 15px;
  max-width: 1000px;
  font-size: 3rem;
}


body.post-type-archive-gd_business_pros .ts-archive-hero-text {
  color: #ffffff;
  max-width: 750px;
  margin: 0 auto;
  font-size: 1.15rem;
  padding-bottom: 30px;
}


/* Search bar wrapper + white card */
body.post-type-archive-gd_business_pros .ts-archive-search {
  width: 100%;
  max-width: 900px;
  margin-bottom: 25px !important;
}


body.post-type-archive-gd_business_pros .ts-archive-search-inner {
  background: #ffffff;
  border-radius: 12px;
  padding: 15px 20px;
}


/* Style GD search inside hero */
body.post-type-archive-gd_business_pros .ts-archive-hero .geodir-search .form-control {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #ccc !important;
  border-radius: 6px !important;
}


body.post-type-archive-gd_business_pros .ts-archive-hero .geodir-search .input-group-text {
  background: transparent !important;
  border: 0 !important;
}


/* BEAUTY PROS: hero + search (existing) */
body.post-type-archive-gd_beauty_pros .ts-archive-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 370px;
  padding: 0 20px;
  text-align: center;
}


body.post-type-archive-gd_beauty_pros .ts-archive-hero-title {
  color: #ffffff;
  margin-bottom: 15px;
  max-width: 1000px;
  font-size: 3rem;
}


body.post-type-archive-gd_beauty_pros .ts-archive-hero-text {
  color: #ffffff;
  max-width: 750px;
  margin: 0 auto;
  font-size: 1.15rem;
  padding-bottom: 30px;
}


body.post-type-archive-gd_beauty_pros .ts-archive-search {
  width: 100%;
  max-width: 900px;
  margin-bottom: 25px !important;
}


body.post-type-archive-gd_beauty_pros .ts-archive-search-inner {
  background: #ffffff;
  border-radius: 12px;
  padding: 15px 20px;
}


body.post-type-archive-gd_beauty_pros .ts-archive-hero .geodir-search .form-control {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #ccc !important;
  border-radius: 6px !important;
}


body.post-type-archive-gd_beauty_pros .ts-archive-hero .input-group-text {
  background: transparent !important;
  border: 0 !important;
}


/* RESULTS WRAP (Beauty Pros) */
body.post-type-archive-gd_beauty_pros .ts-results-wrap {
  max-width: 1800px;
  margin: 40px auto 0;
  padding: 0 20px;
}


/* =========================================================
BUSINESS PROS ARCHIVE – RESULTS LAYOUT (match Beauty Pros)
========================================================= */
body.post-type-archive-gd_business_pros .ts-results-wrap {
  max-width: 1800px;
  margin: 40px auto 0;
  padding: 0 20px;
}


body.post-type-archive-gd_business_pros .ts-results-top {
  margin-bottom: 20px;
}


body.post-type-archive-gd_business_pros .ts-results-title {
  font-size: 1.8rem;
  margin: 0 0 20px 0;
  font-weight: 600;
}


body.post-type-archive-gd_business_pros .ts-results-map-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 30px;
  align-items: flex-start;
}


body.post-type-archive-gd_business_pros .ts-results-column {
  flex: 1 1 50%;
  min-width: 300px;
  max-height: 750px;
  overflow-y: auto;
  padding-right: 10px;
}


/* =========================================================
BUSINESS PROS ARCHIVE – RESULT CARD
LOGO LEFT, CONTENT RIGHT — MATCHES BEAUTY PROS LAYOUT
========================================================= */
/* Force each GD result to be full-width inside loop */
body.post-type-archive-gd_business_pros .geodir-loop-container > .row > div {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}


/* Outer wrapper spacing */
body.post-type-archive-gd_business_pros .ts-archive-item {
  padding: 15px 20px;
  border-bottom: none !important;
  max-width: 900px;
  margin: 0 auto 15px;
}


/* Row layout: logo + text */
body.post-type-archive-gd_business_pros .ts-item-row {
  display: flex !important;
  gap: 20px;
  align-items: flex-start;
}


/* Logo column */
body.post-type-archive-gd_business_pros .ts-item-logo {
  flex: 0 0 120px;
  width: 120px;
  height: 120px;
  overflow: hidden;
  background: #f5f5f5;
}


body.post-type-archive-gd_business_pros .ts-item-logo a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 0;
}


body.post-type-archive-gd_business_pros .ts-item-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
  display: block;
}


/* Main text column */
body.post-type-archive-gd_business_pros .ts-item-main {
  flex: 1 1 auto;
}


/* Title + rating line */
body.post-type-archive-gd_business_pros .ts-item-topline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 0;
}


body.post-type-archive-gd_business_pros .ts-item-title {
  font-size: 1.1rem;
  margin: 0 !important;
}


body.post-type-archive-gd_business_pros .ts-item-rating {
  white-space: nowrap;
}


/* Description */
body.post-type-archive-gd_business_pros .ts-item-desc {
  font-size: 0.95rem;
  color: #444;
}


/* Mobile tweak */
@media (max-width: 767px) {
  body.post-type-archive-gd_business_pros .ts-item-logo {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
  }

body.post-type-archive-gd_business_pros .ts-archive-item {
  max-width: 100%;
}
}


/* =========================================================
BUSINESS PROS ARCHIVE – FORCE 1-COLUMN RESULTS (left side)
========================================================= */
body.post-type-archive-gd_business_pros .ts-results-column .geodir-loop-container > .row {
  flex-direction: column !important;
}


/* Make every result "col" full width so it cannot split */
body.post-type-archive-gd_business_pros .ts-results-column .geodir-loop-container > .row > .col {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}


/* Override Bootstrap's row-cols-sm-2 / row-cols-md-2 behavior */
body.post-type-archive-gd_business_pros .ts-results-column .row.row-cols-sm-2 > *,
body.post-type-archive-gd_business_pros .ts-results-column .row.row-cols-md-2 > * {
  flex: 0 0 100% !important;
  width: 100% !important;
}


body.post-type-archive-gd_business_pros .ts-map-column {
  flex: 1 1 50%;
  min-width: 300px;
}


@media (max-width: 900px) {
  body.post-type-archive-gd_business_pros .ts-results-map-row {
    flex-wrap: wrap;
  }

body.post-type-archive-gd_business_pros .ts-results-column,
body.post-type-archive-gd_business_pros .ts-map-column {
  flex: 1 1 100%;
  max-height: none;
}
}


/* ---------------------------------------------------------
BEAUTY PROS RESULTS LAYOUT
--------------------------------------------------------- */
body.post-type-archive-gd_beauty_pros .ts-results-top {
  margin-bottom: 20px;
}


body.post-type-archive-gd_beauty_pros .ts-results-title {
  font-size: 1.8rem;
  margin: 0 0 20px 0;
  font-weight: 600;
}


body.post-type-archive-gd_beauty_pros .ts-results-map-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 30px;
  align-items: flex-start;
}


body.post-type-archive-gd_beauty_pros .ts-results-column {
  flex: 1 1 50%;
  min-width: 300px;
  max-height: 750px;
  overflow-y: auto;
  padding-right: 10px;
}


body.post-type-archive-gd_beauty_pros .ts-map-column {
  flex: 1 1 50%;
  min-width: 300px;
}


@media (max-width: 900px) {
  body.post-type-archive-gd_beauty_pros .ts-results-map-row {
    flex-wrap: wrap;
  }

body.post-type-archive-gd_beauty_pros .ts-results-column,
body.post-type-archive-gd_beauty_pros .ts-map-column {
  flex: 1 1 100%;
  max-height: none;
}
}


/* ---------------------------------------------------------
ARCHIVE FOOTER UNDER THE LIST/MAP
--------------------------------------------------------- */
body.post-type-archive-gd_beauty_pros .ts-archive-footer {
  margin-top: 60px;
  padding: 50px 20px;
  text-align: center;
  background: #000000;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}


body.post-type-archive-gd_beauty_pros .ts-archive-footer-logo {
  max-width: 180px;
  margin: 0 auto 25px auto;
  display: block;
}


body.post-type-archive-gd_beauty_pros .ts-archive-footer-text {
  margin: 0;
  color: #ffffff;
  font-size: 0.95rem;
}


/* ---------------------------------------------------------
HIDE GD HINTS/NOTIFICATIONS BOX ON ARCHIVE
--------------------------------------------------------- */
body.post-type-archive-gd_beauty_pros .geodir-notifications .alert.alert-info.alert-dismissible,
body.post-type-archive-gd_beauty_pros .geodir-notifications .gd-hints-list,
body.post-type-archive-gd_beauty_pros .geodir-notifications .gd-hints-list li {
  display: none !important;
}


/* ---------------------------------------------------------
THUMBNAILS – REMOVE ROUNDED CORNERS IN THE RESULTS LIST
--------------------------------------------------------- */
body.post-type-archive-gd_beauty_pros .ts-results-column .geodir-image-container,
body.post-type-archive-gd_beauty_pros .ts-results-column .geodir-image-container *,
body.post-type-archive-gd_beauty_pros .ts-results-column .geodir-link-image,
body.post-type-archive-gd_beauty_pros .ts-results-column .geodir-link-image img,
body.post-type-archive-gd_beauty_pros .ts-results-column img.geodir-image-90 {
  border-radius: 0 !important;
  overflow: visible !important;
}


/* =========================================================
BEAUTY PROS ARCHIVE ITEM CARD LAYOUT
========================================================= */
/* Force each GD result to be full-width inside loop */
body.post-type-archive-gd_beauty_pros .geodir-loop-container > .row > div {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}


/* Outer wrapper */
body.post-type-archive-gd_beauty_pros .ts-archive-item {
  padding: 15px 20px;
  border-bottom: none !important;
  max-width: 900px;
  margin: 0 auto 15px;
}


body.post-type-archive-gd_beauty_pros .ts-archive-item:last-child {
  margin-bottom: 0;
}


/* Row layout: logo + text */
body.post-type-archive-gd_beauty_pros .ts-item-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}


/* Logo column */
body.post-type-archive-gd_beauty_pros .ts-item-logo {
  flex: 0 0 120px;
  width: 120px;
  height: 120px;
  overflow: hidden;
  background: #f5f5f5;
}


body.post-type-archive-gd_beauty_pros .ts-item-logo a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 0;
}


body.post-type-archive-gd_beauty_pros .ts-item-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
  display: block;
}


/* Main text column */
body.post-type-archive-gd_beauty_pros .ts-item-main {
  flex: 1 1 auto;
}


/* Top line: title + rating */
body.post-type-archive-gd_beauty_pros .ts-item-topline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 0;
}


body.post-type-archive-gd_beauty_pros .ts-item-title {
  font-size: 1.1rem;
  margin: 0 !important;
}


body.post-type-archive-gd_beauty_pros .ts-item-rating {
  white-space: nowrap;
}


/* Description / excerpt */
body.post-type-archive-gd_beauty_pros .ts-item-desc {
  font-size: 0.95rem;
  color: #444;
}


body.post-type-archive-gd_beauty_pros .ts-item-desc .geodir-post-content-container,
body.post-type-archive-gd_beauty_pros .ts-item-desc .geodir_post_meta {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* Reset BSUI heading margins inside cards */
body.post-type-archive-gd_beauty_pros .bsui h1,
body.post-type-archive-gd_beauty_pros .bsui .h1,
body.post-type-archive-gd_beauty_pros .bsui h2,
body.post-type-archive-gd_beauty_pros .bsui .h2,
body.post-type-archive-gd_beauty_pros .bsui h3,
body.post-type-archive-gd_beauty_pros .bsui .h3,
body.post-type-archive-gd_beauty_pros .bsui h4,
body.post-type-archive-gd_beauty_pros .bsui .h4,
body.post-type-archive-gd_beauty_pros .bsui h5,
body.post-type-archive-gd_beauty_pros .bsui .h5,
body.post-type-archive-gd_beauty_pros .bsui h6,
body.post-type-archive-gd_beauty_pros .bsui .h6 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* Mobile tweaks for archive item */
@media (max-width: 767px) {
  body.post-type-archive-gd_beauty_pros .ts-item-row {
    flex-direction: row;
    align-items: flex-start;
  }

body.post-type-archive-gd_beauty_pros .ts-item-logo {
  flex: 0 0 90px;
  width: 90px;
  height: 90px;
}

body.post-type-archive-gd_beauty_pros .ts-archive-item {
  max-width: 100%;
}
}


/* =========================================================
BEAUTY PROS ARCHIVE HERO – MOBILE
========================================================= */
@media (max-width: 768px) {
  .ts-archive-hero-title {
    font-size: 1.8rem !important;
    line-height: 1.1 !important;
    margin-top: 20px !important;
    max-width: 80% !important;
  }

.ts-archive-hero-text {
  font-size: 1rem !important;
  line-height: 1.2 !important;
  margin-top: 0.5rem !important;
}
}


/* ==========================================
HEADSHOT HEIGHT FIX – FULL WIDTH + ORIGINAL LENGTH
========================================== */
/* Make the profile image area a fixed tall square (like original) */
.ts-card-left-col-logo .ts-profile-image-wrap,
.ts-card-left-col-logo .ts-profile-image-wrap .geodir-post-slider,
.ts-card-left-col-logo .ts-profile-image-wrap .geodir-image-container,
.ts-card-left-col-logo .ts-profile-image-wrap .geodir-images,
.ts-card-left-col-logo .ts-profile-image-wrap .carousel-item,
.ts-card-left-col-logo .ts-profile-image-wrap .ratio,
.ts-card-left-col-logo .ts-profile-image-wrap .ratio-16x9,
.ts-card-left-col-logo .ts-profile-image-wrap .embed-responsive {
  width: 100% !important;
  max-width: 100% !important;
  height: 270px !important; /* match original image height */
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}


/* Image fills that square, keeps it tall */
.ts-card-left-col-logo .ts-profile-image-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover; /* crop if needed, no distortion */
  border-radius: 0 !important;
  display: block !important;
  margin: 0 !important;
}


/* Style and center the POST REVIEW button */
input#submit.btn.btn-primary,
input.submit.btn.btn-primary,
.gd-reviews-wrap input#submit.btn-primary {
  --bs-btn-color: #fff; /* WHITE TEXT */
  --bs-btn-bg: #3993d5;
  --bs-btn-border-color: #3993d5;
  --bs-btn-hover-color: #fff; /* WHITE TEXT ON HOVER */
  --bs-btn-hover-bg: #57a3db;
  --bs-btn-hover-border-color: #4d9ed9;

  background-color: var(--bs-btn-bg) !important;
  border-color: var(--bs-btn-border-color) !important;
  color: var(--bs-btn-color) !important;

  border-radius: 8px;
  padding: 10px 20px;
  font-weight: 600;
  cursor: pointer;

  width: auto !important; /* avoid full-width */
  display: block !important; /* allows centering */
  margin: 15px auto 0 auto !important; /* CENTERED */
  text-align: center;
}


/* Hover */
input#submit.btn.btn-primary:hover,
input.submit.btn.btn-primary:hover,
.gd-reviews-wrap input#submit.btn-primary:hover {
  background-color: var(--bs-btn-hover-bg) !important;
  border-color: var(--bs-btn-hover-border-color) !important;
  color: var(--bs-btn-hover-color) !important;
}


/* Style the "Leave a Review" link like the POST REVIEW button */
a.ts-rating-side-btn {
  --bs-btn-color: #fff; /* white text */
  --bs-btn-bg: #3993d5;
  --bs-btn-border-color: #3993d5;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #57a3db;
  --bs-btn-hover-border-color: #4d9ed9;

  background-color: var(--bs-btn-bg) !important;
  border: 1px solid var(--bs-btn-border-color) !important;
  color: var(--bs-btn-color) !important;

  border-radius: 8px;
  padding: 10px 20px;
  font-weight: 600;
  text-align: center;
  text-decoration: none !important;
  display: inline-block;
  margin: 10px 0;
}


/* Hover state */
a.ts-rating-side-btn:hover {
  background-color: var(--bs-btn-hover-bg) !important;
  border-color: var(--bs-btn-hover-border-color) !important;
  color: var(--bs-btn-hover-color) !important;
}


/* Tone down hover/focus shadow on review buttons */
input#submit.btn.btn-primary:focus,
input#submit.btn.btn-primary:hover,
a.ts-rating-side-btn:focus,
a.ts-rating-side-btn:hover {
  box-shadow: 0 0 4px rgba(48, 125, 181, 0.25) !important; /* softer shadow */
}


/* ----------------------------------------------------
BOOK NOW BUTTON — Text perfectly centered
Static width + animated arrow reveal
----------------------------------------------------- */
.ts-book-btn,
.ts-book-btn:link,
.ts-book-btn:visited,
.ts-book-btn:active {
  display: inline-flex;
  align-items: center;
  justify-content: center; /* centers text perfectly */
  position: relative;

  background-color: #000;
  color: #fff !important;

  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;

  padding: 1.1em 2.4em; /* SAME before/after hover */
  border-radius: 0;

  min-height: 3rem;
  font-size: 14px;
  font-weight: 700;

  white-space: nowrap;
  margin: 15px auto 0;

  overflow: hidden; /* hides arrow before slide-in */
  transition: background-color 300ms ease;
}


/* Hover background only */
.ts-book-btn:hover {
  background-color: #0a0a0a;
}


/* Text (truly centered) */
.ts-book-btn__text {
  position: relative;
  z-index: 2;
  transition: transform 300ms ease;
}


/* Arrow (absolute, so it does NOT affect centering) */
.ts-book-btn__icon {
  font-family: "IoniconsFilled", sans-serif;
  font-size: 1.05em;
  color: #fff;

  position: absolute;

  /* FINAL POSITION: ~2px after the text */
  right: 1.1em; /* adjusted so it's visually ~2px from text */
  top: 50%;

  /* START POSITION: hidden inside the text */
  transform: translateY(-50%) translateX(-0.7em);
  opacity: 0;

  transition: transform 300ms ease, opacity 300ms ease;
}


/* Hover: arrow slides in from text area */
.ts-book-btn:hover .ts-book-btn__icon {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}


/* Subtle text nudge (optional, purely aesthetic) */
.ts-book-btn:hover .ts-book-btn__text {
  transform: translateX(-0.15rem);
}


/* =========================================================
Make ALL Bold Builder icon-hover buttons match TS Book Btn
(black square, white text, arrow slide)
========================================================= */
/* BUTTON BASE */
.bt_bb_button.bt_bb_icon_style_hover.btWithIcon a.bt_bb_link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;

  background-color: #000 !important;
  color: #fff !important;

  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;

  font-weight: 700;
  font-size: 14px;

  padding: 1.1em 2.8em;
  border-radius: 0 !important;

  position: relative;
  overflow: hidden; /* needed for icon animation */
  transition: all 300ms ease;
}


/* TEXT SHIFT ON HOVER */
.bt_bb_button.bt_bb_icon_style_hover.btWithIcon .bt_bb_button_text {
  position: relative;
  z-index: 2;
  transition: transform 300ms ease-out;
}


.bt_bb_button.bt_bb_icon_style_hover.btWithIcon:hover .bt_bb_button_text {
  transform: translateX(-0.2rem);
}

.bt_bb_button.ts-suite-specs-btn .bt_bb_link span, .bt_bb_button.ts-suite-specs-btn a span {
    position: relative;
    z-index: 1;
    padding: 0 30px;
}

/* ICON ANIMATION (same as ts-book-btn icon logic) */
.bt_bb_button.bt_bb_icon_style_hover.btWithIcon .bt_bb_icon_holder {
  position: absolute;
  top: 50%;

  /* final position: approx 2px past text */
  right: 1.1em;

  font-size: 1.05em;
  color: #fff !important;

  opacity: 0;
  transform: translateY(-50%) translateX(-0.6rem);
  transition: all 300ms ease-out;
}


/* ARROW EMERGES FROM TEXT */
.bt_bb_button.bt_bb_icon_style_hover.btWithIcon:hover .bt_bb_icon_holder {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}


/* MATCH HOVER COLOR */
.bt_bb_button.bt_bb_icon_style_hover.btWithIcon a.bt_bb_link:hover {
  background-color: #111 !important;
  color: #fff !important;
}


/* =========================================================
TEXT LINK WITH SLIDE-OUT ARROW (not a button)
Default text black → hover text #3993d5
========================================================= */
.ts-text-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none !important;
  color: #000 !important;
  font-weight: 600;
  font-size: 15px;
  position: relative;
  overflow: visible;
  cursor: pointer;
  transition: color 250ms ease;
}


/* Slide-left text on hover */
.ts-text-arrow-link__text {
  position: relative;
  transition: transform 250ms ease;
}


/* Arrow animation */
.ts-text-arrow-link__icon {
  font-family: "IoniconsFilled", sans-serif;
  font-size: 1em;
  line-height: 1;
  opacity: 0;
  transform: translateX(-0.4rem);
  transition: all 250ms ease-out;
  color: #000;
}


/* HOVER STATE */
.ts-text-arrow-link:hover {
  color: #3993d5 !important;
}


.ts-text-arrow-link:hover .ts-text-arrow-link__text {
  transform: translateX(-0.2rem);
}


.ts-text-arrow-link:hover .ts-text-arrow-link__icon {
  opacity: 1;
  transform: translateX(0);
  color: #3993d5;
}


.ts-text-arrow-link:hover {
  color: #3993d5 !important;
}


.ts-text-arrow-link:hover .ts-text-arrow-link__text {
  transform: translateX(-0.2rem);
}


.ts-text-arrow-link:hover .ts-text-arrow-link__icon {
  opacity: 1;
  transform: translateX(0);
  color: #3993d5;
}


/* Make the reviews form section a vertical flex container */
.ts-testimonials-form-content {
  display: flex;
  flex-direction: column;
  height: 100%; /* ensures the bottom push works */
}


/* Push link to bottom right with 20px padding */
.ts-more-pros-link-wrap {
  margin-top: auto; /* THIS pushes it to the bottom */
  display: flex;
  justify-content: flex-end; /* right aligned */
  padding: 0 20px 20px 20px; /* bottom/right padding */
}


/* Business Customer Login – page-id-4661 */
.page-id-4661 .bt-content-holder {
  display: flex;
  justify-content: center;
}


.page-id-4661 .bt-content {
  width: 100%;
}


/* Centered card layout */
.page-id-4661 .pro-login-wrapper {
  max-width: 460px;
  margin: 6rem auto 5rem;
  padding: 2.75rem 2.25rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}


/* Dark-skin safety */
.btDarkSkin .page-id-4661 .pro-login-wrapper {
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
}


/* Title + subtitle */
.page-id-4661 .pro-login-title {
  text-align: center;
  font-size: 2.1rem;
  margin: 0 0 0.35em;
}


.page-id-4661 .pro-login-subtitle {
  text-align: center;
  margin: 0 0 1.8rem;
  opacity: 0.8;
}


/* Generic form layout inside wrapper */
.page-id-4661 .pro-login-wrapper form {
  margin: 0;
}


.page-id-4661 .pro-login-wrapper form p,
.page-id-4661 .pro-login-wrapper form .form-row,
.page-id-4661 .pro-login-wrapper form .form-group {
  margin-bottom: 1rem;
}


/* Labels */
.page-id-4661 .pro-login-wrapper label {
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  opacity: 0.75;
}


/* Inputs */
.page-id-4661 .pro-login-wrapper input[type="text"],
.page-id-4661 .pro-login-wrapper input[type="email"],
.page-id-4661 .pro-login-wrapper input[type="password"] {
  width: 100%;
  border-radius: 999px;
  padding: 0.9rem 1.1rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background-color: #fafafa;
  font-size: 0.95rem;
  line-height: 1.2;
  box-sizing: border-box;
}


.page-id-4661 .pro-login-wrapper input[type="text"]:focus,
.page-id-4661 .pro-login-wrapper input[type="email"]:focus,
.page-id-4661 .pro-login-wrapper input[type="password"]:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 1px rgba(212, 169, 119, 0.3);
}


/* Remember me row */
.page-id-4661 .pro-login-wrapper .login-remember,
.page-id-4661 .pro-login-wrapper .remember-me,
.page-id-4661 .pro-login-wrapper .form-row-remember {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.85rem;
  margin-top: 0.3rem;
  margin-bottom: 1.4rem;
}


.page-id-4661 .pro-login-wrapper .login-remember label,
.page-id-4661 .pro-login-wrapper .remember-me label,
.page-id-4661 .pro-login-wrapper .form-row-remember label {
  text-transform: none;
  letter-spacing: 0;
  margin: 0 0 0 0.4rem;
  opacity: 0.85;
}


.page-id-4661 .pro-login-wrapper .login-remember input[type="checkbox"],
.page-id-4661 .pro-login-wrapper .remember-me input[type="checkbox"],
.page-id-4661 .pro-login-wrapper .form-row-remember input[type="checkbox"] {
  width: auto;
  display: inline-block;
}


/* Submit button */
.page-id-4661 .pro-login-wrapper input[type="submit"],
.page-id-4661 .pro-login-wrapper button[type="submit"] {
  width: 100%;
  border-radius: 999px;
  padding: 0.95rem 1.1rem;
  border: none;
  font-size: 0.95rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  cursor: pointer;
  background: var(--accent-color); /* uses Kosa theme accent */
  color: #fff;
  transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
}


.page-id-4661 .pro-login-wrapper input[type="submit"]:hover,
.page-id-4661 .pro-login-wrapper button[type="submit"]:hover {
  background: var(--accent-color-dark);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}


.page-id-4661 .pro-login-wrapper input[type="submit"]:active,
.page-id-4661 .pro-login-wrapper button[type="submit"]:active {
  transform: translateY(0);
  box-shadow: none;
}


/* “Register your business” footer */
.page-id-4661 .pro-login-footer {
  margin-top: 1.5rem;
  text-align: center;
  font-size: 0.9rem;
  opacity: 0.9;
}


.page-id-4661 .pro-login-footer a {
  font-weight: 500;
  text-decoration: none;
}


.page-id-4661 .pro-login-footer a:hover {
  text-decoration: underline;
}


/* Mobile tweaks */
@media (max-width: 600px) {
  .page-id-4661 .pro-login-wrapper {
    margin: 4rem 1.25rem;
    padding: 2rem 1.5rem;
    border-radius: 14px;
  }

.page-id-4661 .pro-login-title {
  font-size: 1.7rem;
}
}


/* Hide 'Forgot Password' link in banners for the login page */
.page-id-4661 .btContentWrapIn .pageHeader a,
.page-id-4661 .btContentWrapIn .pageHeadline a,
.page-id-4661 .btPageHeadline a {
  display: none !important;
}


/* Make profile image smaller on Business Customer Login page */
body .bsui .rounded-circle {
  width: 100px !important;
  height: 100px !important;
  object-fit: cover;
}


/* Business Customer Login – simple blue top bar using a gradient */
.page-id-4661 .pro-login-wrapper {
  position: relative !important;
  border-radius: 18px !important;
  background: linear-gradient(
  to bottom,
  #3993d5 0,
  #3993d5 120px,
  #ffffff 120px,
  #ffffff 100%
  ) !important;
  text-align: center !important;
  padding: 0 32px 32px !important;
}


/* Title inside the blue bar */
.page-id-4661 .pro-login-title {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 30px 16px 30px !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  text-align: center !important;
}


/* Subtitle below the blue area, in black */
.page-id-4661 .pro-login-subtitle {
  position: relative !important;
  z-index: 1;
  margin: 8px 0 24px !important;
  color: #000000 !important;
}


/* Move the Business Customer Login title slightly upward */
.page-id-4661 .pro-login-title {
  padding-top: 20px !important; /* was 30px */
  padding-bottom: 40px !important; /* was 30px */
}


/* Make sure UsersWP profile/cover upload modal sits on top of Kosa header/layout */
#uwp-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 99998 !important;
}


/* Try common UsersWP modal containers */
.uwp-modal,
.uwp-profile-image-change-modal,
.uwp-profile-banner-change-modal,
.uwp-profile-cover-change-modal {
  position: fixed;
  inset: 0;
  z-index: 99999 !important;
}


/* If the modal uses Bootstrap-style classes */
.modal.uwp-modal,
.modal.uwp-profile-image-change-modal {
  display: block;
}


/* ================================
TS Avatar Upload – Global Styling
Used on: /edit-profile-photo/
Wrapper: .ts-avatar-upload--wrapper
================================ */
.ts-avatar-upload--wrapper {
  max-width: 420px;
  margin: 60px auto;
  padding: 32px 28px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}


.ts-avatar-upload--wrapper h2 {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 1.5rem;
  font-weight: 600;
}


/* Current avatar area */
.ts-avatar-upload-current {
  text-align: center;
}


.ts-avatar-upload-image img {
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 0 4px #ffffff, 0 6px 16px rgba(0, 0, 0, 0.12);
  max-width: 150px;
  height: auto;
}


/* Message box (error/success/info) */
.ts-avatar-upload-message {
  margin: 15px 0;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 0.92rem;
  line-height: 1.4;
}


.ts-avatar-upload-message--success {
  background: #e3f6ea;
  color: #225b36;
  border: 1px solid #b0e1c0;
}


.ts-avatar-upload-message--error {
  background: #fde8e8;
  color: #7c1b1b;
  border: 1px solid #f4b4b4;
}


.ts-avatar-upload-message--info {
  background: #eef1ff;
  color: #28356b;
  border: 1px solid #c5cffd;
}


/* Form layout */
.ts-avatar-upload-form {
  margin-top: 1rem;
}


.ts-avatar-upload-form p {
  margin-bottom: 1rem;
}


/* Label + file input */
.ts-avatar-upload-form label {
  display: block;
  font-weight: 500;
  margin-bottom: 6px;
}


#ts_avatar_file {
  width: 100%;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid #d0d0d5;
  font-size: 0.96rem;
  background-color: #fafafa;
}


.ts-avatar-upload--wrapper p {
  font-size: 0.96rem;
}


@media (max-width: 600px) {
  .ts-avatar-upload--wrapper {
    margin: 30px 16px;
    padding: 24px 20px;
    border-radius: 12px;
  }
}


/* TS – Match Upload & Save button to outline-primary login-style button */
.ts-avatar-upload-button {
  display: inline-block;
  padding: 10px 24px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  border: 1px solid #3993d5;
  background-color: #ffffff;
  color: #3993d5 !important;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: all 0.25s ease;
}


.ts-avatar-upload-button:hover {
  background-color: #3993d5;
  color: #ffffff !important;
  transform: translateY(-2px);
}


/* Edit Profile link styling to match “Search More Pros →” */
.ts-edit-profile-link-wrapper {
  margin-top: 20px;
}


.ts-edit-profile-link {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  color: #0d6efd;
  text-decoration: none;
  position: relative;
  padding-right: 24px;
  transition: all 0.25s ease;
}


.ts-edit-profile-link::after {
  content: "→";
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0;
  transform: translateX(-6px);
  transition: all 0.25s ease;
}


.ts-edit-profile-link:hover {
  color: #0a58ca;
}


.ts-edit-profile-link:hover::after {
  opacity: 1;
  transform: translateX(0);
}


/* ---------------------------------------------------------
UWP ACCOUNT LAYOUT – TIGHTEN + ALIGN FLUSH LEFT
--------------------------------------------------------- */
.uwp-account-class .uwp_page .container {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


.uwp-account-class .uwp_page .container > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}


.uwp-account-class .uwp_page .container > .row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


.bt-content-holder .uwp-account-class,
.bt-content-holder .uwp-account-class .uwp_page {
  padding-left: 0 !important;
  margin-left: 0 !important;
}


/* Base state – white button, blue border, dark text */
.bsui .adv-dashboard-new-ad-button,
.adv-dashboard-new-ad-button {
  background-color: #ffffff !important;
  color: #1f1b2d !important;
  border: 1px solid #3993d5 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}


/* Hover / focus / active – solid blue, white text, no shadow */
.bsui .adv-dashboard-new-ad-button:hover,
.bsui .adv-dashboard-new-ad-button:focus,
.bsui .adv-dashboard-new-ad-button:active,
.adv-dashboard-new-ad-button:hover,
.adv-dashboard-new-ad-button:focus,
.adv-dashboard-new-ad-button:active {
  background-color: #3993d5 !important;
  color: #ffffff !important;
  border-color: #3993d5 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}


/* Fix avatar circle alignment on login screen */
.business-login-avatar img,
#loginform img.avatar,
img.rounded-circle.shadow.border.border-white.border-width-4 {
  display: block;
  margin: 0 auto;
  border-radius: 50% !important;
  border: 4px solid #ffffff !important;
  box-shadow: 0 0 0 0 transparent !important;
  padding: 0 !important;
}


/* Force profile banner to be only 40px tall */
.uwp-banner-image {
  height: 40px !important;
  object-fit: cover !important;
  width: 100% !important;
}


/* Remove extra spacing below the banner */
.uwp-banner-image + .card-img-overlay {
  height: 40px !important;
  padding: 0 !important;
}


/* Pull everything upward so there's no gap under the banner */
.uwp-banner-image ~ .card-body {
  padding-top: 0.5rem !important;
}


/* BUT show them on the Account page (and only there) */
.uwp-account-class .fa-camera,
.uwp-account-class .fa-camera-alt {
  display: inline-block !important;
}


/* Move pencil icon down inside the circle */
.uwp-profile-name .btn-circle i {
  position: relative;
  top: 4px;
  left: 2px !important;
}


/* Make the camera edit button slightly smaller */
.uwp-account-class .uwp-banner-change-icon {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  padding: 0 !important;
}


/* /account/ – shrink the camera circle + move it UP a bit */
.uwp-account-class .uwp-banner-change-icon {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  transform: translateY(-4px) !important;
}


/* keep the camera icon centered inside the circle */
.uwp-account-class .uwp-banner-change-icon i {
  line-height: 1 !important;
}


.uwp-account-class i.fas.fa-camera::before,
.uwp-account-class i.fas.fa-camera-alt::before {
  padding-bottom: 10px !important;
}


/* Add space under the "Hide profile from listing" checkbox */
#uwp_hide_from_listing,
.uwp_hide_from_listing {
  margin-bottom: 20px !important;
}


/* Make UWP account form 70% width and centered */
.uwp-account-form.uwp_form {
  max-width: 70% !important;
  margin: 0 auto !important;
}


/* Make the invoices history block 70% width and centered */
.wpinv-history-class.bsui {
  max-width: 70% !important;
  margin: 0 auto !important;
}


/* Make the subscriptions table 70% width and centered */
.table.table-bordered.table-striped {
  max-width: 70% !important;
  margin: 0 auto !important;
}


/* Make the GetPaid billing address form 70% width and centered */
.bsui form {
  max-width: 70% !important;
  margin: 0 auto !important;
}


.uwp-return-dashboard {
  margin-bottom: 10px;
}


/* Add spacing after the Logout item in the UsersWP account menu */
.uwp-account-class .uwp-account-logout {
  display: inline-block;
  padding-bottom: 50px !important;
}


/* Move pencil icon upward slightly without altering the circle button */
.uwp-profile-name .btn-circle i.fas.fa-pencil-alt {
  position: relative;
  top: -1px;
}


/* Profile header banner: make it a 40px strip */
.uwp-profile-header-img,
.uwp-profile-header-img .uwp-profile-header-img-src {
  height: 40px !important;
  max-height: 40px !important;
  width: 100% !important;
  display: block !important;
  object-fit: cover !important;
  overflow: hidden !important;
}


/* Add some breathing room below the header area */
.uwp-profile-header {
  margin-bottom: 20px;
}


/* Stack "Return to Dashboard" + avatar nicely */
.uwp-profile-header .uwp-profile-avatar {
  display: flex;
  flex-direction: column;
  align-items: center;
}


/* Return to Dashboard */
.uwp-profile-header .uwp-return-dashboard {
  margin-top: 30px !important;
  margin-bottom: 20px !important;
}


/* Avatar wrapper is positioning context for pencil icon */
.uwp-profile-header .uwp-profile-avatar-inner {
  position: relative;
}


/* Make UsersWP profile avatar round and overlap banner a bit */
.uwp-profile-header .uwp-profile-avatar-inner img.avatar {
  border-radius: 50% !important;
  border: 4px solid #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  display: block;
  margin: -40px auto 0 auto;
  width: 150px;
  height: 150px;
  object-fit: cover;
}


/* Pencil icon at bottom of profile image */
.uwp-avatar-pencil-btn {
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  text-decoration: none;
  color: #000;
  background: transparent;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}


/* Pencil icon glyph */
.uwp-avatar-pencil-btn i.fas.fa-pencil-alt {
  font-size: 12px;
  line-height: 1;
}


/* Hover: subtle dark circle around pencil */
.uwp-avatar-pencil-btn:hover {
  background-color: rgba(0, 0, 0, 0.12);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.18);
}


/* "Update Profile Image" text */
.uwp-profile-avatar-update-link {
  margin-top: 20px !important;
  text-align: center;
  position: relative;
  z-index: 2;
}


/* Text style: black + underline */
.uwp-profile-avatar-update-link .uwp-profile-image-text-link {
  color: #000000 !important;
  text-decoration: underline !important;
  font-weight: 500;
}


/* Increase gap before avatar */
.uwp-profile-header .uwp-return-dashboard {
  margin-top: 30px !important;
  margin-bottom: 50px !important;
}


/* Match "Edit Profile" link to Update Profile Image link style */
.uwp-profile-avatar-edit-profile-link {
  margin-top: 10px;
  text-align: center;
}


.uwp-profile-avatar-edit-profile-link a {
  color: #000 !important;
  text-decoration: underline !important;
  font-weight: 500;
}


.geodir-add-listing.bsui.sdel-255d5576 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}


/* Position bottom-right wrapper */
.ts-return-login-wrap {
  text-align: right;
  margin-top: 20px;
  margin-bottom: 20px;
}


/* Main link style (duplicate, formatted) */
.ts-text-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none !important;
  color: #000 !important;
  font-weight: 600;
  font-size: 15px;
  position: relative;
  overflow: visible;
  cursor: pointer;
  transition: color 250ms ease;
}


/* Underline on hover */
.ts-text-arrow-link:hover {
  color: #000 !important;
}


.ts-text-arrow-link__text {
  position: relative;
  transition: transform 250ms ease;
}


/* Arrow animation */
.ts-text-arrow-link__icon {
  font-family: "IoniconsFilled", sans-serif;
  font-size: 1em;
  line-height: 1;
  opacity: 0;
  transform: translateX(-0.4rem);
  transition: all 250ms ease-out;
  color: #000 !important;
}


/* Hover animation */
.ts-text-arrow-link:hover .ts-text-arrow-link__text {
  transform: translateX(0.25rem);
}


.ts-text-arrow-link:hover .ts-text-arrow-link__icon {
  opacity: 1;
  transform: translateX(0);
}


/* Account menu – Add Listing */
.uwp-account-add-listing {
  font-weight: 600;
}


/* ---------------------------------------------------------
SEARCH PAGE – REMOVE BOLDTHEMES PAGE HEADLINE
--------------------------------------------------------- */
.ts-gd-search-page .btPageHeadline {
  display: none !important;
}


/* ---------------------------------------------------------
SEARCH PAGE – ARCHIVE LAYOUT STRUCTURE
--------------------------------------------------------- */
.ts-gd-search-page .ts-results-map-row {
  display: flex;
  gap: 24px;
  align-items: stretch;
}


/* LEFT COLUMN (RESULTS) */
.ts-gd-search-page .ts-results-column {
  flex: 1 1 58%;
  min-width: 320px;
}


/* Right column (map) */
.ts-gd-search-page .ts-map-column {
  flex: 0 0 42%;
  min-width: 320px;
}


/* Make it stack on mobile */
@media (max-width: 991px) {
  .ts-gd-search-page .ts-results-map-row {
    display: block;
  }

.ts-gd-search-page .ts-map-column {
  margin-top: 18px;
}
}


/* =========================================================
THE SHOPS – Search page hero search bar styling
Matches the archive styling on /beauty-pros/
========================================================= */
.ts-gd-search-page .ts-archive-search {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 25px !important;
}


.ts-gd-search-page .ts-archive-search-inner {
  display: block;
  background-color: #fff !important;
  border-radius: 18px;
  padding: 14px;
}


/* FORCE single-row layout on desktop */
@media (min-width: 992px) {
  .ts-gd-search-page .geodir-search.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
  }

.ts-gd-search-page .gd-search-field-search[data-rule-key="s"],
.ts-gd-search-page .gd-search-field-near {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

.ts-gd-search-page .geodir-search > .gd-search-field-search:not([data-rule-key="s"]) {
  flex: 0 0 160px !important;
}
}


/* Mobile = stacked is fine */
@media (max-width: 991px) {
  .ts-gd-search-page .ts-archive-search-inner {
    padding: 12px;
  }
}


/* Limit hero text width on GD Search page */
.ts-gd-search-page .ts-archive-hero-text {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}


/* Match /beauty-pros/ hero height on Search page */
.ts-gd-search-page .ts-archive-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 370px;
  padding: 0 20px;
  text-align: center;
  margin-bottom: 30px;
}


/* ----------------------------------------------------
Hide GeoDirectory Loop Utility Buttons
---------------------------------------------------- */
.geodir-save-search-btn,
.gd-save-search,
.geodir-ss-loop-actions {
  display: none !important;
}


#gd-list-view-select-grid,
.gd-list-view-select-grid {
  display: none !important;
}


/* Hide GeoDirectory Sort By Dropdown */
#geodir-sort-by,
.geodir-sort-by {
  display: none !important;
}


/* Hide entire loop actions toolbar (removes spacing) */
.geodir-loop-actions,
[role="toolbar"].justify-content-end {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}


/* Match beauty-pros results title styling on search page */
body.ts-gd-search-page .ts-results-title--dynamic {
  font-size: 1.6rem !important;
  font-weight: 600;
  margin: 0 0 20px 20px; /* 20px left margin */
  line-height: 1.2;
}


/* Search results page: match Beauty Pros archive */
body.ts-gd-search-page .ts-results-column {
  flex: 1 1 50%;
  min-width: 300px;
  max-height: 750px;
  overflow-y: auto;
  padding-right: 10px;
}


body.ts-gd-search-page .ts-results-column .geodir-loop-container > .row {
  margin-left: 0;
  margin-right: 0;
}


body.ts-gd-search-page .ts-results-column .card {
  border: 1px solid #efecf3 !important;
  border-radius: 0.75rem !important;
  background: #fff;
  overflow: hidden;
}


body.ts-gd-search-page .ts-archive-item .ts-item-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}


body.ts-gd-search-page .ts-item-logo {
  flex: 0 0 120px;
  width: 120px;
  height: 120px;
  overflow: hidden;
  background: #f5f5f5;
}


body.ts-gd-search-page .ts-item-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


body.ts-gd-search-page .ts-item-main {
  flex: 1 1 auto;
}


body.ts-gd-search-page .ts-item-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}


body.ts-gd-search-page .ts-item-title,
body.ts-gd-search-page .ts-item-title .geodir-entry-title {
  margin: 0;
  line-height: 1.2;
}


body.ts-gd-search-page .ts-item-desc {
  margin-top: 8px;
}


/* ---------------------------------------------------------
SEARCH – FIX STAGGERED RESULT ORDERING
--------------------------------------------------------- */
body.ts-gd-search-page .ts-results-column {
  direction: ltr !important;
}


body.ts-gd-search-page .ts-results-column .geodir-loop-container > .row {
  flex-direction: row !important;
  direction: ltr !important;
  justify-content: flex-start !important;
}


/* Search page: force 1-column stacked results */
body.ts-gd-search-page .ts-results-column .geodir-loop-container > .row {
  --bs-gutter-x: 0 !important;
}


body.ts-gd-search-page .ts-results-column .geodir-loop-container > .row > .col {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}


body.ts-gd-search-page .ts-results-map-row {
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}


/* ---------------------------------------------------------
SEARCH RESULTS PAGE – FOOTER STYLING
--------------------------------------------------------- */
body.ts-gd-search-page .ts-archive-footer {
  margin-top: 60px;
  padding: 50px 20px;
  text-align: center;
  background: #000;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}


body.ts-gd-search-page .ts-archive-footer-logo {
  max-width: 260px;
  width: 100%;
  height: auto;
  display: inline-block;
  margin-bottom: 12px;
}


body.ts-gd-search-page .ts-archive-footer-text {
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
}


/* Hide duplicate GD output when search returns zero results */
body.ts-gd-search-page .geodir-no-listings-found ~ .ts-archive-hero,
body.ts-gd-search-page .geodir-no-listings-found ~ .ts-archive-footer {
  display: none !important;
}


/* Make THIS GD search bar form use full width */
.ts-archive-search-inner .geodir-search-container.bsui form.geodir-listing-search {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* Add back 20px left/right padding INSIDE the row */
body.post-type-archive-gd_beauty_pros .ts-archive-search-inner .geodir-search.row,
body.geodir-page .ts-archive-search-inner .geodir-search.row,
.ts-archive-search-inner .geodir-search.row {
  padding-left: 20px !important;
  padding-right: 20px !important;
}


/* Desktop spacing */
@media (min-width: 768px) {
  body.post-type-archive-gd_beauty_pros .ts-archive-search-inner .geodir-search.row,
  body.geodir-page .ts-archive-search-inner .geodir-search.row,
  .ts-archive-search-inner .geodir-search.row {
    column-gap: 30px !important;
  }

body.post-type-archive-gd_beauty_pros
.ts-archive-search-inner
.geodir-search.row
> .gd-search-field-search:last-child,
body.geodir-page .ts-archive-search-inner .geodir-search.row > .gd-search-field-search:last-child,
.ts-archive-search-inner .geodir-search.row > .gd-search-field-search:last-child {
  flex: 0 0 140px !important;
  max-width: 140px !important;
}

body.post-type-archive-gd_beauty_pros
.ts-archive-search-inner
.geodir-search.row
> .gd-search-field-search[data-rule-key="s"],
body.post-type-archive-gd_beauty_pros .ts-archive-search-inner .geodir-search.row > .gd-search-field-near,
body.geodir-page .ts-archive-search-inner .geodir-search.row > .gd-search-field-search[data-rule-key="s"],
body.geodir-page .ts-archive-search-inner .geodir-search.row > .gd-search-field-near,
.ts-archive-search-inner .geodir-search.row > .gd-search-field-search[data-rule-key="s"],
.ts-archive-search-inner .geodir-search.row > .gd-search-field-near {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
}


/* Mobile: don't force the button width so it wraps naturally */
@media (max-width: 767.98px) {
  body.post-type-archive-gd_beauty_pros .ts-archive-search-inner .geodir-search.row,
  body.geodir-page .ts-archive-search-inner .geodir-search.row,
  .ts-archive-search-inner .geodir-search.row {
    column-gap: 12px !important;
  }

body.post-type-archive-gd_beauty_pros
.ts-archive-search-inner
.geodir-search.row
> .gd-search-field-search:last-child,
body.geodir-page .ts-archive-search-inner .geodir-search.row > .gd-search-field-search:last-child,
.ts-archive-search-inner .geodir-search.row > .gd-search-field-search:last-child {
  flex: 1 1 100% !important;
  max-width: none !important;
}
}


/* Remove extra bottom spacing under the GeoDirectory search bar */
.ts-archive-search-inner .geodir-search-form-wrapper {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


.ts-archive-search-inner .geodir-search-form-wrapper form.geodir-listing-search {
  margin-bottom: 0 !important;
}


.ts-archive-search-inner .geodir-search.row {
  margin-bottom: 0 !important;
}


/* Match /beauty-pros/ hero typography on the GeoDirectory search results page */
.ts-gd-search-page .ts-archive-hero-title {
  font-size: clamp(1.9rem, 5vw, 3.5rem) !important;
  line-height: 1.1 !important;
  margin-bottom: 15px;
  max-width: 1000px;
}


.ts-gd-search-page .ts-archive-hero-text {
  font-size: clamp(1rem, 3.2vw, 1.25rem) !important;
  line-height: 1.4 !important;
  margin-top: 0.5rem !important;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 30px;
}


/* Hide the useless GeoDirectory advanced filters button */
.ts-archive-search-inner .geodir-show-filters {
  display: none !important;
}


/* Remove the Advanced Filters (gear) column AND the space it takes */
.ts-archive-search-inner .gd-search-field-search-filters {
  display: none !important;
}


/* Make the GeoDirectory search button noticeably bigger */
.ts-archive-search-inner .bsui .geodir_submit_search.btn {
  height: 58px !important;
  min-height: 58px !important;

  --bs-btn-padding-y: 0.85rem !important;
  --bs-btn-padding-x: 1.4rem !important;
  --bs-btn-font-size: 1.15rem !important;
  --bs-btn-line-height: 1 !important;
  --bs-btn-border-radius: 0.75rem !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


.ts-archive-search-inner .bsui .geodir_submit_search.btn i {
  font-size: 1.35em !important;
  line-height: 1 !important;
}


@media (min-width: 768px) {
  .ts-archive-search-inner .geodir-search.row > .gd-search-field-search:last-child {
    flex: 0 0 170px !important;
    max-width: 170px !important;
  }
}


/* Make the Search button column wider (desktop) */
@media (min-width: 768px) {
  .ts-archive-search-inner .geodir-search.row > div:nth-of-type(3) {
    flex: 0 0 190px !important;
    max-width: 190px !important;
  }
}


.ts-archive-search-inner .bsui .geodir_submit_search.btn {
  height: 58px !important;
  min-height: 58px !important;
  font-size: 1.15rem !important;
  border-radius: 10px !important;
}


.ts-archive-search-inner .bsui .geodir_submit_search.btn i {
  font-size: 1.35em !important;
}


/* =========================================================
THE SHOPS – Search Empty State
========================================================= */
.ts-search-empty {
  padding-left: 20px;
}


/* Fix GeoDirectory search inputs going invisible on /search/ page */
body.page-search .geodir-search input,
body.page-search form.geodir-search input[type="text"],
body.page-search form.geodir-search input[type="search"],
body.page-search .geodir-search-container input[type="text"],
body.page-search .geodir-search-container input[type="search"] {
  color: var(--light-font-color);
}


/* Search page: force GeoDirectory search input text to stay readable */
body.ts-gd-search-page .geodir-search input.form-control {
  color: var(--light-font-color) !important;
}


body.ts-gd-search-page .geodir-search input.form-control::placeholder {
  color: var(--light-font-color);
  opacity: 0.6;
}


/* Bullets ONLY for rows without price */
.ts-services-box .ts-service-row--no-price {
  padding-left: 16px; /* shift whole row right */
}


.ts-services-box .ts-service-row--no-price::before {
  content: "•";
  font-size: 25px; /* large bullet */
  line-height: 1;
  margin-right: -10px; /* pull text closer */
  transform: translateY(-2px); /* move bullet UP */
  flex: 0 0 auto;
}


/* =========================================================
BUSINESS PROS ONLY – COLOR SWAPS
#f26f63 -> #2d3a4c
#fff4ee -> #e9e4e4
#F5F5F8 -> #ffffff
#3993d5 -> #11b5e6
========================================================= */
.ts-business-pros {
  background: #ffffff !important;
}


/* =========================================================
THE SHOPS – Business Pros: page background (FIXED selectors)
Because ts-business-pros is a BODY class, it must prefix body.
========================================================= */
body.ts-business-pros,
body.ts-business-pros .site-wrapper,
body.ts-business-pros .btContentWrap,
body.ts-business-pros .btContentWrapIn,
body.ts-business-pros .bt-content-holder,
body.ts-business-pros .bt-content{
  background:#ffffff !important;
}


/* Replace #fff4ee -> #e9e4e4 (all the “peach” sections/cards) */
.ts-business-pros .ts-card,
.ts-business-pros .ts-card-left-middle,
.ts-business-pros .ts-card-left-bottom,
.ts-business-pros .ts-services-section,
.ts-business-pros .ts-lifestyle-section,
.ts-business-pros .ts-bottom-card-body,
.ts-business-pros .ts-testimonials-card,
.ts-business-pros .ts-two-card-section {
  background-color: #ededef !important;
  background: #ededef !important;
}


/* Replace #f26f63 -> #2d3a4c (section title bars) */
.ts-business-pros .ts-about-title-bar,
.ts-business-pros .ts-right-title-bar,
.ts-business-pros .ts-bh-title-bar,
.ts-business-pros #ts-review-section .ts-card-title-bar {
  background-color: #2d3a4c !important;
}


/* Force the two-card section background to white */
.ts-two-card-section,
.ts-two-card-inner {
  background: #f8f8f8 !important;
}


/* BUSINESS PROS single listing – page background */
body.ts-business-pros,
body.ts-business-pros .site-wrapper,
body.ts-business-pros .btContentWrap,
body.ts-business-pros .bt-content-holder,
body.ts-business-pros .bt-content {
  background-color: #f8f8f8 !important;
}


/* BUSINESS PROS – outer page background (behind card edges) */
body.ts-business-pros,
body.ts-business-pros .site-wrapper,
body.ts-business-pros .btContentWrap,
body.ts-business-pros .btContentWrapIn,
body.ts-business-pros .bt-content-holder,
body.ts-business-pros .bt-content {
  background-color: #f8f8f8 !important;
}


/* Ensure nothing paints white/gray behind the cards */
body.ts-business-pros .btContentWrap,
body.ts-business-pros .btContentWrapIn {
  background: #f8f8f8 !important;
}


/* Northline page background + outer edges */
body.postid-4852,
body.postid-4852 #page,
body.postid-4852 #content,
body.postid-4852 .site,
body.postid-4852 .site-content,
body.postid-4852 .content-area,
body.postid-4852 .entry-content,
body.postid-4852 .ts-two-card-section {
  background: #f8f8f8 !important;
}


/* Keep the cards white */
body.postid-4852 .ts-card {
  background: #ffffff !important;
}


/* ABOUT text content box – keep white */
body.postid-4852 .ts-card-left-bottom,
body.postid-4852 .ts-card-left-bottom .geodir-post-content-container,
body.postid-4852 .ts-card-left-bottom .geodir_post_meta {
  background-color: #ffffff !important;
}


/* =========================================================
THE SHOPS – Bottom Card Height Sync (Left matches Right)
========================================================= */
.ts-two-card-inner {
  align-items: stretch;
}


.ts-bottom-left-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}


.ts-bottom-left-card .ts-bottom-card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}


.ts-bottom-left-card .ts-bottom-card-body-hours {
  flex: 1 1 auto;
  min-height: 0;
}


.ts-bottom-left-card .ts-bottom-card-gallery {
  margin-top: auto;
}


/* =========================================================
THE SHOPS – Remove Review Card Header Bottom Border
========================================================= */
.geodir-single-reviews-container #comments .commentlist .card .card-header,
.geodir-single-reviews-container #comments .commentlist .card-header.border-bottom {
  border-bottom: 0 !important;
}


/* =========================================================
THE SHOPS – Remove ALL Borders on Reviews Wrapper
========================================================= */
.geodir-single-reviews-container #comments.comments-area.geodir-comments-area {
  border: 0 !important;
}


/* =========================================================
THE SHOPS – Banner Inner Vertical Padding
========================================================= */
.ts-simple-banner-inner {
  padding-top: 10px;
  padding-bottom: 10px;
}


/* =========================================================
OUR WORKS – remove the grid “gap band” when gallery is empty
========================================================= */
.ts-gallery-live-card:not(:has(img)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


.ts-our-works-gallery:not(:has(img)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
BUSINESS PROS – consistent outer background around cards
========================================================= */
body.single-gd_business_pros,
body.single-gd_business_pros .site-wrapper,
body.single-gd_business_pros .btContentWrap,
body.single-gd_business_pros .btContentWrapIn,
body.single-gd_business_pros .bt-content-holder,
body.single-gd_business_pros .bt-content {
  background: #f8f8f8 !important;
}


body.single-gd_business_pros .ts-two-card-section,
body.single-gd_business_pros .ts-two-card-inner {
  background: #f8f8f8 !important;
}


/* BUSINESS PROS – top profile card background (all listings) */
body.ts-business-pros .ts-card-left-top,
body.ts-business-pros .ts-card-left-top-inner {
  background-color: #daedff !important;
}


/* =========================================================
THE SHOPS – ARCHIVE HERO (Shared)
Requires body class: ts-archive-shared
========================================================= */
body.post-type-archive-gd_beauty_pros .ts-archive-hero,
body.ts-archive-shared .ts-archive-hero {
  background-image: url("https://theshops.pro/wp-content/uploads/2025/11/find-beauty-salons-hero.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 55px 20px;
  text-align: center;
  border-radius: 0;
  margin-bottom: 40px;
  position: relative;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 370px;
}


/* =========================================================
 * THE SHOPS – Business Pros Archive Hero Background Override
 * Forces a unique hero image on /business-pros/ even though
 * body.ts-archive-shared applies shared Beauty Pros styling.
* ========================================================= */

body.post-type-archive-gd_business_pros .ts-archive-hero.ts-archive-hero--business-pros{
  background-image: url("https://theshops.pro/wp-content/uploads/2025/12/bg-business-pros-hero.jpg") !important;
}


/* Hero title */
body.post-type-archive-gd_beauty_pros .ts-archive-hero-title,
body.ts-archive-shared .ts-archive-hero-title {
  color: #ffffff;
  margin-bottom: 15px;
  max-width: 1000px;
}


/* Hero text */
body.post-type-archive-gd_beauty_pros .ts-archive-hero-text,
body.ts-archive-shared .ts-archive-hero-text {
  color: #ffffff;
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 30px;
}


@media (max-width: 900px) {
  .ts-archive-hero.ts-archive-hero--business-pros .ts-archive-hero-title,
  .ts-archive-hero.ts-archive-hero--business-pros .ts-archive-hero-text,
  .ts-archive-hero.ts-archive-hero--business-pros .ts-archive-search {
    width: 100% !important;
  }
}


/* Mobile hero typography */
@media (max-width: 768px) {
  body.post-type-archive-gd_beauty_pros .ts-archive-hero-title,
  body.ts-archive-shared .ts-archive-hero-title {
    font-size: 1.8rem !important;
    line-height: 1.1 !important;
    margin-top: 20px !important;
    max-width: 80% !important;
  }

body.post-type-archive-gd_beauty_pros .ts-archive-hero-text,
body.ts-archive-shared .ts-archive-hero-text {
  font-size: 1rem !important;
  line-height: 1.2 !important;
  margin-top: 0.5rem !important;
}
}


/* BUSINESS PROS – Hero height + 80% width (matches Beauty Pros behavior) */
.ts-archive-hero.ts-archive-hero--business-pros {
  padding: 80px 20px !important;
  min-height: 370px !important;
  margin-bottom: 40px !important;
}


/* Narrow title + subtitle to ~80% of previous width */
.ts-archive-hero.ts-archive-hero--business-pros .ts-archive-hero-title,
.ts-archive-hero.ts-archive-hero--business-pros .ts-archive-hero-text {
  width: 64% !important; /* 80% of 80% */
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* Keep search bar wider */
.ts-archive-hero.ts-archive-hero--business-pros .ts-archive-search {
  width: 80% !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* BUSINESS PROS ARCHIVE – FOOTER Match Beauty Pros footer exactly */
body.post-type-archive-gd_business_pros .ts-archive-footer {
  margin-top: 60px;
  padding: 50px 20px;
  text-align: center;
  background: #000000;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}


body.post-type-archive-gd_business_pros .ts-archive-footer-logo {
  max-width: 180px;
  margin: 0 auto 25px auto;
  display: block;
}


body.post-type-archive-gd_business_pros .ts-archive-footer-text {
  margin: 0;
  color: #ffffff;
  font-size: 0.95rem;
}


/* Force “Enter your location” input background white */
#gd_map_canvas_post_fromAddress {
  background-color: #ffffff !important;
}


/* =========================================================
BUSINESS PROS HERO — match Beauty hero padding
(80px -> 55px top/bottom)
========================================================= */
body.post-type-archive-gd_business_pros .ts-archive-hero,
.ts-archive-hero.ts-archive-hero--business-pros{
  padding: 25px 20px !important;
}


/* =========================================================
SEARCH PAGE ONLY – HERO BACKGROUND IMAGE OVERRIDE
Affects: /search/ (body.ts-gd-search-page)
========================================================= */

body.ts-gd-search-page .ts-archive-hero{
  background-image: url("https://theshops.pro/wp-content/uploads/2025/12/bg-search.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}


/* =========================================================
THE SHOPS – DIRECTORY SECTION (TOP IMAGE + INTRO, LISTS BELOW)
Page: /directory/
Keeps theme typography + square corners (no rounding)
========================================================= */

.ts-directory-section{
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}


/* TOP AREA: image + intro */
.ts-directory-top{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
  margin-top: 30px;
  margin-bottom: 35px;
}


.ts-directory-top-image img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0 !important; /* square corners */
}


/* Don’t force fonts; inherit theme */
.ts-directory-top-intro h2{
  margin-top: 0;
}


/* BELOW: cards grid (Beauty + Business) */
.ts-directory-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  padding-bottom: 30px;
}


/* Card look: match site (white, subtle border, square corners) */
.ts-directory-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 0 !important;
  padding: 26px 26px 22px;
  box-sizing: border-box;
}


.ts-directory-card-title{
  margin-top: 0;
  margin-bottom: 14px;
}


/* subtle secondary label */
.ts-directory-muted{
  opacity: 0.7;
  font-weight: 400;
}


/* Subcategory list: TWO columns inside each card on desktop */
.ts-directory-list{
  margin: 0;
  padding-left: 18px; /* keeps bullets consistent */
  column-count: 2;
  column-gap: 28px;
}


.ts-directory-list li{
  break-inside: avoid;
  margin-bottom: 8px;
}


/* CTA spacing */
.ts-directory-cta{
  margin-top: 18px;
}


/* RESPONSIVE */
@media (max-width: 900px){
  /* Stack top area */
  .ts-directory-top{
    grid-template-columns: 1fr;
  }

/* Stack the two category cards */
.ts-directory-grid{
  grid-template-columns: 1fr;
}

/* Make lists single column for readability */
.ts-directory-list{
  column-count: 1;
}
}


/* =========================================================
 * THE SHOPS – Directory page headline spacing fix
 * Removes unwanted top margin above headline
 * Only affects Directory section
* ========================================================= */

.ts-directory-top-intro .bt_bb_headline h2 {
  margin-top: 0;
}


/* =========================================================
DIRECTORY – Category titles (H2, smaller than main title)
Matches Find-a-Pro typography hierarchy
========================================================= */

.ts-directory-card-title{
  font-size: 1.375rem; /* ~22px */
  line-height: 1.3;
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}


.ts-directory-card-title .ts-directory-muted{
  font-size: 0.85em;
  font-weight: normal;
  opacity: 0.75;
  text-transform: none;
  letter-spacing: 0;
}


/* =========================================================
DIRECTORY – Inline category links (Beauty Pros / Business Pros)
Underlined, subtle, consistent with The Shops UI
========================================================= */

/* =========================================================
DIRECTORY – Inline category links (smaller + not all caps)
========================================================= */

.ts-directory-inline-link{
  font-size: 0.75em;              /* smaller than category title */
  font-weight: 400;
  margin-left: 6px;
  text-transform: none;           /* NOT all caps */
  letter-spacing: 0;              /* remove headline spacing */
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  opacity: 0.75;
  transition: opacity 0.2s ease;
}


.ts-directory-inline-link:hover{
  opacity: 1;
}


.ts-directory-inline-link:hover{
  opacity: 1;
  text-decoration-thickness: 2px;
}


/* =========================================================
 * THE SHOPS – Edit Listing button (UsersWP Profile → Listings)
 * Uses native BSUI button styling (btn btn-sm btn-outline-primary)
 * This CSS ONLY adds spacing/placement and does not override colors.
* ========================================================= */
.ts-edit-listing-btn{
  display: inline-block; /* Allows button styles to render normally */
  margin-top: 10px;      /* Space under listing content */
}


/* =========================================================
 * THE SHOPS – Add Listing Blocked: Go Back Button Hover Fix
 * Fixes white-on-white hover state for blocked category notice
 * Scoped ONLY to the hard-block banner + inline notice
* ========================================================= */

#ts-gd-block-notice a,
.alert.alert-warning a.btn {
  color: #000000;
  text-decoration: none;
}


/* Hover / focus states */
#ts-gd-block-notice a:hover,
#ts-gd-block-notice a:focus,
.alert.alert-warning a.btn:hover,
.alert.alert-warning a.btn:focus {
  color: #0b5ed7; /* readable blue text */
  text-decoration: underline;
}


/* =========================================================
 * THE SHOPS – Business Pros Category Select2 sizing
 * (taller + narrower)
* ========================================================= */

#gd_business_proscategory_wrap {
  max-width: 50%;
}


@media (max-width: 900px) {
  #gd_business_proscategory_wrap {
    max-width: 100%;
  }
}


/* If Select2 is active, the visible element is the container */
#gd_business_proscategory_wrap .select2-container {
  width: 100% !important;
}


/* Make the visible selection box taller */
#gd_business_proscategory_wrap .select2-selection {
  min-height: 220px !important;
  overflow-y: auto !important;
}


/* Make the rendered selections wrap nicely */
#gd_business_proscategory_wrap .select2-selection__rendered {
  white-space: normal !important;
}


/* Keep the search input usable */
#gd_business_proscategory_wrap .select2-search__field {
  width: 100% !important;
}


#gd_business_proscategory {
  height: 220px !important;
}


/* Add spacing above the Listing Details fieldset */
#geodir_fieldset_details{
  padding-top: 50px !important;
}

/* ---------------------------------------------------------
REGISTER PAGE AUTH WRAPPER
--------------------------------------------------------- */
.ts-auth {
  display: flex;
  justify-content: center;
  padding: 60px 16px;
}

.ts-auth-card {
  width: 100%;
  max-width: 460px;
  background: rgba(255, 255, 255, 0.98);
  padding: 2.75rem 2.25rem;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  text-align: center;
}

.ts-auth-title {
  margin: 0 0 0.35em;
  font-size: 2.1rem;
}

.ts-auth-subtitle {
  margin: 0 0 1.4rem;
  opacity: 0.8;
}/* Helper line under Sign in */
.ts-auth-helper {
  margin: 12px 0 24px;
  font-size: 0.95rem;
  opacity: 0.85;
}

/* Hide the tiny Login link that UsersWP outputs under the register form */
.ts-auth a[href*="/login/"],
.ts-auth a[href*="theshops.pro/login/"] {
  /* don't hide your top Sign in button */
}/* Hide ONLY the default UWP “Login” link under the register form (usually the last link near submit) */
.ts-auth .uwp-form-footer a,
.ts-auth .uwp-register-footer a,
.ts-auth .uwp-login-link {
  display: none !important;
}

/* If “Login via Social” still prints even when disabled, hide that block */
.ts-auth .uwp-social-login-wrap,
.ts-auth .uwp-social-login,
.ts-auth .uwp-social-connect {
  display: none !important;
}/* =========================================
   TS AUTH — LOGIN PAGE (UsersWP [uwp_login])
   Scoped: .ts-auth--login only
========================================= */

.ts-auth--login{
  display: flex;
  justify-content: center;
  padding: 60px 16px;
}

.ts-auth--login .ts-auth-card{
  width: 100%;
  max-width: 460px;
  padding: 2.75rem 2.25rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

/* Headline inside UsersWP output */
.ts-auth--login h1,
.ts-auth--login h2,
.ts-auth--login .uwp_form_title,
.ts-auth--login .uwp-page-title,
.ts-auth--login .uwp-login-title{
  text-align: center;
  margin: 0 0 0.35em;
  font-size: 2.1rem;
}

/* Labels */
.ts-auth--login .uwp_form label{
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
  opacity: 0.75;
}

/* Inputs */
.ts-auth--login .uwp_form input[type="text"],
.ts-auth--login .uwp_form input[type="email"],
.ts-auth--login .uwp_form input[type="password"]{
  width: 100%;
  border-radius: 999px;
  padding: 0.9rem 1.1rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background-color: #fafafa;
  font-size: 0.95rem;
  line-height: 1.2;
  box-sizing: border-box;
}

.ts-auth--login .uwp_form input[type="text"]:focus,
.ts-auth--login .uwp_form input[type="email"]:focus,
.ts-auth--login .uwp_form input[type="password"]:focus{
  outline: none;
  border-color: #3993d5;
  box-shadow: 0 0 0 1px rgba(57, 147, 213, 0.25);
}

/* Remember-me row (UsersWP output varies, so we target broadly) */
.ts-auth--login .uwp_form .login-remember,
.ts-auth--login .uwp_form .remember-me,
.ts-auth--login .uwp_form .form-row-remember{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.9rem;
  margin: 0.5rem 0 1.2rem;
}.ts-auth--login .uwp_form input[type="submit"]:hover,
.ts-auth--login .uwp_form button[type="submit"]:hover{
  background: #57a3db;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}

/* Links under the form: center them and make them “secondary” */
.ts-auth--login a{
  text-decoration: none;
}

.ts-auth--login a:hover{
  text-decoration: underline;
}

/* Often UsersWP prints “Create account” + “Forgot password?” under form */
.ts-auth--login .uwp_form .uwp-login-links,
.ts-auth--login .uwp_form .uwp-login-footer,
.ts-auth--login .uwp_form .uwp_extra_links{
  text-align: center;
  margin-top: 14px;
}

.ts-auth--login .uwp_form .uwp-login-links a,
.ts-auth--login .uwp_form .uwp-login-footer a,
.ts-auth--login .uwp_form .uwp_extra_links a{
  display: inline-block;
  margin: 6px 10px 0;
  font-weight: 500;
  color: #0b5ed7;
}

/* Mobile */
@media (max-width: 600px){
  .ts-auth--login{
    padding: 40px 16px;
  }
  .ts-auth--login .ts-auth-card{
    padding: 2rem 1.5rem;
    border-radius: 14px;
  }
  .ts-auth--login h1,
  .ts-auth--login h2{
    font-size: 1.7rem;
  }
}

/* =========================================================
   TS AUTH – LOGIN PAGE CONSISTENCY PATCH
   Goals:
   - Match Register page field + button shapes (NOT pill)
   - Make Sign in button look like btn-outline-primary (Logout style)
   - Fix Show Password alignment (right side)
   - Fix Remember me checkbox spacing
   - Center helper links under button
========================================================= */

/* ---------- 1) Global sizing + centering for auth UI ---------- */
.ts-auth .uwp_form,
.ts-auth .ts-auth-card {
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
}

.ts-auth .uwp_form .form-group,
.ts-auth .uwp_form .form-row,
.ts-auth .uwp_form p {
  margin-bottom: 14px;
}

/* ---------- 2) Inputs: match Register page (remove pill) ---------- */
.ts-auth .uwp_form input[type="text"],
.ts-auth .uwp_form input[type="email"],
.ts-auth .uwp_form input[type="password"],
.ts-auth .uwp_form input[type="search"],
.ts-auth .uwp_form input[type="tel"],
.ts-auth .uwp_form select,
.ts-auth .uwp_form textarea {
  border-radius: 10px !important;   /* <- match Register look (not 999px) */
  padding: 0.9rem 1.1rem !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  background-color: #fafafa !important;
}

/* Focus ring similar to your register styling */
.ts-auth .uwp_form input[type="text"]:focus,
.ts-auth .uwp_form input[type="email"]:focus,
.ts-auth .uwp_form input[type="password"]:focus,
.ts-auth .uwp_form select:focus,
.ts-auth .uwp_form textarea:focus {
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(57, 147, 213, 0.25) !important;
  border-color: rgba(57, 147, 213, 0.65) !important;
}

/* ---------- 3) Submit button: match Register page (NOT pill) ---------- */
.ts-auth .uwp_form input[type="submit"],
.ts-auth .uwp_form button[type="submit"] {
  width: 100% !important;
  border-radius: 10px !important;  /* <- remove pill */
}/* ---------- 5) Password "Show password": move to the right ---------- */
/* This targets a few common UsersWP structures safely */
.ts-auth .uwp_form .uwp-password-wrap,
.ts-auth .uwp_form .uwp-password-field,
.ts-auth .uwp_form .form-group.uwp-password,
.ts-auth .uwp_form .form-group.password {
  position: relative !important;
}

/* Give the password input room so the toggle can sit on the right */
.ts-auth .uwp_form input[type="password"] {
  padding-right: 3.2rem !important;
}

/* Try common toggle containers/classes */
.ts-auth .uwp_form .uwp-show-password,
.ts-auth .uwp_form .uwp-password-toggle,
.ts-auth .uwp_form .show-password,
.ts-auth .uwp_form .uwp_pw_toggle {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  margin: 0 !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;

  font-size: 0.85rem !important;
  white-space: nowrap !important;
}

/* If UsersWP renders it BELOW as a paragraph/row, kill the spacing */
.ts-auth .uwp_form .uwp-show-password p,
.ts-auth .uwp_form .uwp-password-toggle p {
  margin: 0 !important;
}

/* ---------- 6) Remember me checkbox spacing (remove huge gap) ---------- */
.ts-auth .uwp_form .login-remember,
.ts-auth .uwp_form .remember-me,
.ts-auth .uwp_form .form-row-remember,
.ts-auth .uwp_form .uwp-login-remember {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}

.ts-auth .uwp_form .login-remember label,
.ts-auth .uwp_form .remember-me label,
.ts-auth .uwp_form .form-row-remember label,
.ts-auth .uwp_form .uwp-login-remember label {
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.ts-auth .uwp_form .login-remember input[type="checkbox"],
.ts-auth .uwp_form .remember-me input[type="checkbox"],
.ts-auth .uwp_form .form-row-remember input[type="checkbox"],
.ts-auth .uwp_form .uwp-login-remember input[type="checkbox"] {
  margin: 0 !important;
}

/* ---------- 7) Center "Create account" + "Forgot password" under button ---------- */
.ts-auth .uwp_form .uwp-login-links,
.ts-auth .uwp_form .uwp-register-links,
.ts-auth .uwp_form .uwp-forgot-links,
.ts-auth .uwp_form .uwp-login-footer,
.ts-auth .uwp_form .uwp_form_footer {
  text-align: center !important;
}

.ts-auth .uwp_form .uwp-login-links a,
.ts-auth .uwp_form a.uwp-forgot-password,
.ts-auth .uwp_form a.uwp-register-link,
.ts-auth .uwp_form a[href*="forgot"],
.ts-auth .uwp_form a[href*="register"] {
  display: inline-block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =========================================================
   LOGIN: Password toggle inline + unified field
========================================================= */

/* Ensure input-group stays a single row */
.ts-auth .uwp_form .input-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* Password input: remove right radius so it merges with toggle */
.ts-auth .uwp_form .input-group > .form-control {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Toggle "eye" area: same height, no left radius, looks attached */
.ts-auth .uwp_form .input-group > .input-group-text {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  /* match your field look */
  background-color: #fafafa !important;
  border: 1px solid rgba(0,0,0,0.12) !important;

  /* merge seam with input */
  border-left: 0 !important;

  /* radius only on the outer right side */
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 10px !important;
  border-bottom-right-radius: 10px !important;

  /* make clickable area feel right */
  padding: 0 14px !important;
  cursor: pointer;
}

/* Keep heights aligned (Bootstrap sometimes differs between input/text) */
.ts-auth .uwp_form .input-group > .form-control,
.ts-auth .uwp_form .input-group > .input-group-text {
  min-height: 54px !important; /* adjust if your inputs are taller/shorter */
}

/* Optional: make the icon a touch larger */
.ts-auth .uwp_form .input-group-text i {
  font-size: 1.05em;
  line-height: 1;
}


/* =========================================================
   LOGIN: Remember Me checkbox spacing (tight + aligned)
========================================================= */

/* Kill the default BS left padding that creates the big gap */
.ts-auth .uwp_form .form-check {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;

  padding-left: 0 !important; /* removes the “reserved” checkbox space */
  margin-bottom: 14px !important;
}

/* Put checkbox back to normal flow */
.ts-auth .uwp_form .form-check .form-check-input {
  float: none !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
}

/* Label snug next to checkbox */
.ts-auth .uwp_form .form-check .form-check-label {
  margin: 0 !important;
}


/* =========================================================
   LOGIN: Footer links centered + remove float spacing
========================================================= */

.ts-auth .uwp_form .uwp-footer-links {
  display: flex !important;
  justify-content: center !important;
  gap: 18px !important;
  align-items: center !important;

  /* remove the weird spacing */
  margin-top: 8px !important;
}

/* Remove float-end that pushes "Forgot" away */
.ts-auth .uwp_form .uwp-footer-links .uwp-footer-link {
  float: none !important;
}

/* Also remove any top-margin that can create asymmetry */
.ts-auth .uwp_form .uwp-footer-links a {
  margin-top: 0 !important;
  text-align: center !important;
}

/* =========================================================
   LOGIN: Footer links truly centered (override floats + gutters)
========================================================= */

/* Make footer links a centered row */
.ts-auth .uwp-footer-links{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;

  width: 100% !important;
  margin: 10px auto 0 !important;

  /* neutralize any odd spacing */
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Kill float-end and any inline-block quirks */
.ts-auth .uwp-footer-links .uwp-footer-link{
  float: none !important;
  display: inline-flex !important;
}

/* Remove Bootstrap “mt-2” that can visually shift baseline */
.ts-auth .uwp-footer-links a{
  margin-top: 0 !important;
  display: inline-block !important;  /* not full-width blocks */
  text-align: center !important;
}

/* If the parent column/row is adding left/right gutter padding,
   this keeps the footer centered within the same padded area as the button */
.ts-auth .uwp_form .card-body{
  text-align: center;
}


/* =========================================================
   TS AUTH – Consolidated Sign In button (match Create account)
   Scope: /register/ (tabs) + /login/ page
========================================================= */

/* Make sure stray <br> tags in the button don't affect layout */
/* Sign In button should look exactly like the Register submit button (.btn-primary) */


/* =========================================================
   TS AUTH – SIGN IN BUTTON (match Create Account button)
   Page: /register/
========================================================= */
.ts-auth a.ts-auth-signin-btn {
  display: flex !important;
  width: 100% !important;              /* match form/button width */
  max-width: 100% !important;          /* inherit card width */
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;

  /* Match Bootstrap primary (BSUI) button look */
  background-color: #3993d5 !important;
  border: 1px solid #3993d5 !important;
  color: #ffffff !important;

  padding: 0.45rem 1.2rem !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;

  border-radius: 10px !important;      /* matches your register submit override */
  text-transform: uppercase !important;
  text-decoration: none !important;

  transition: color 0.2s ease-in-out,
    background-color 0.2s ease-in-out,
    border-color 0.2s ease-in-out,
    box-shadow 0.2s ease-in-out !important;
}

/* Remove accidental line breaks inside the link */
.ts-auth a.ts-auth-signin-btn br {
  display: none !important;
}

.ts-auth a.ts-auth-signin-btn:hover,
.ts-auth a.ts-auth-signin-btn:focus {
  background-color: #57a3db !important;
  border-color: #4d9ed9 !important;
  color: #ffffff !important;
  box-shadow: 0 0.25rem 0.25rem 0.125rem rgba(57, 147, 213, 0.1),
    0 0.375rem 0.75rem -0.125rem rgba(57, 147, 213, 0.4) !important;
}

.ts-auth a.ts-auth-signin-btn:active {
  background-color: #61a9dd !important;
  border-color: #4d9ed9 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* REGISTER PAGE (ts-auth): forms should NOT use the global 70% rule */
.ts-auth .bsui form,
.ts-auth form {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Optional: keep everything aligned & consistent */
.ts-auth .ts-auth-card {
  width: 100%;
  max-width: 460px;       /* pick the width you want for the whole block */
  margin: 0 auto;
}

/* SIGN IN should match the submit button sizing */
.ts-auth .ts-auth-signin-btn {
  display: block !important;
  width: 100% !important;
  border-radius: 10px !important; /* match your Create account button */
}

/* =========================================================
 * THE SHOPS – Remove duplicate UsersWP Login link
 * Only inside ts-auth register layout
 * ========================================================= */

/* Hide the entire footer link block that contains Login */
.ts-auth .uwp-footer-links .uwp-footer-link:has(.uwp-login-link) {
  display: none !important;
}

/* =========================================================
   TS AUTH – Forgot Password page styling (UsersWP)
   Shortcode: [uwp_forgot]
========================================================= */

/* Card wrapper (if you already have these, keep yours and only add the missing bits) */
.ts-auth {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 60px 20px;
  box-sizing: border-box;
}

.ts-auth .ts-auth-card {
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
  padding: 32px 28px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

.ts-auth .ts-auth-title {
  text-align: center;
  font-size: 2.1rem;
  margin: 0 0 0.35em;
}

.ts-auth .ts-auth-subtitle {
  text-align: center;
  margin: 0 0 1.8rem;
  opacity: 0.85;
}

/* Inputs match your register/login style (non-pill) */
.ts-auth .uwp_form input[type="text"],
.ts-auth .uwp_form input[type="email"],
.ts-auth .uwp_form input[type="password"] {
  width: 100%;
  border-radius: 10px !important;
  padding: 0.9rem 1.1rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background-color: #fafafa;
  font-size: 0.95rem;
  line-height: 1.2;
  box-sizing: border-box;
}

/* Submit button: match Create Account button styling */
.ts-auth .uwp_form input[type="submit"],
.ts-auth .uwp_form button[type="submit"] {
  width: 100% !important;
  border-radius: 10px !important;
}

/* Hide UsersWP’s default footer links inside this layout */
.ts-auth .uwp-footer-links {
  display: none !important;
}

/* Our replacement footer buttons */
.ts-auth .ts-auth-footer-links {
  margin-top: 14px;
}

/* =========================================================
   TS AUTH – Forgot Password page (UsersWP)
   Shortcode: [uwp_forgot]
========================================================= */

/* Hide the UsersWP/BSUI title inside the shortcode (duplicate of our H1) */
.ts-auth .uwp_forgot_wrap h3.card-title,
.ts-auth h3.card-title.text-center.mb-4 {
  display: none !important;
}

/* Footer links: centered text links under the submit button */
.ts-auth .uwp-footer-links {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  margin-top: 14px !important;
  width: 100% !important;
}

/* Remove float behavior that pushes them to edges */
.ts-auth .uwp-footer-links .uwp-footer-link,
.ts-auth .uwp-footer-links .uwp-footer-link.float-start,
.ts-auth .uwp-footer-links .uwp-footer-link.float-end {
  float: none !important;
  display: inline-block !important;
}

/* Make sure these links do NOT look like buttons */
.ts-auth .uwp-footer-links a,
.ts-auth a.uwp-login-link,
.ts-auth a.uwp-register-link {
  display: inline-block !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: 0.9rem !important;
  font-weight: 500 !important;
  text-transform: none !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Remove extra top margin used by BSUI so it truly centers */
.ts-auth .uwp-footer-links a.mt-2 {
  margin-top: 0 !important;
}

/* ============================
   CITY HUB PAGE STYLES
   ============================ */

.ts-city-hero {
  max-width: 1100px;
  margin: 80px auto 60px;
  padding: 0 20px;
  text-align: center;
}

.ts-city-title {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  line-height: 1.1;
  margin-bottom: 12px;
}

.ts-city-subtitle {
  font-size: 1.1rem;
  max-width: 700px;
  margin: 0 auto;
  opacity: 0.85;
}

.ts-city-categories {
  max-width: 1100px;
  margin: 0 auto 100px;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.ts-city-card {
  display: block;
  padding: 32px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ts-city-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}

.ts-city-card h2 {
  margin-bottom: 8px;
}

.ts-city-cta {
  display: inline-block;
  margin-top: 14px;
  font-weight: 600;
}

/* =========================================================
EDMONDS BEAUTY PROS PAGE — APPLY ARCHIVE STYLES
Add class: ts-beauty-pros-archive to body
========================================================= */

/* Treat the city page like the real archive */
body.ts-beauty-pros-archive .ts-archive-hero,
body.ts-beauty-pros-archive .ts-results-wrap,
body.ts-beauty-pros-archive .ts-results-top,
body.ts-beauty-pros-archive .ts-results-title,
body.ts-beauty-pros-archive .ts-results-map-row,
body.ts-beauty-pros-archive .ts-results-column,
body.ts-beauty-pros-archive .ts-map-column,
body.ts-beauty-pros-archive .ts-archive-footer,
body.ts-beauty-pros-archive .ts-archive-footer-logo,
body.ts-beauty-pros-archive .ts-archive-footer-text {
  /* no properties needed — this block is just a “selector alias” conceptually */
}

/* Copy the archive-scoped rules by adding a second selector */
body.ts-beauty-pros-archive .ts-archive-hero {
  background-image: url("https://theshops.pro/wp-content/uploads/2025/11/find-beauty-salons-hero.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 55px 20px;
  text-align: center;
  margin-bottom: 40px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 370px;
}

body.ts-beauty-pros-archive .ts-archive-hero-title { color:#fff; margin-bottom:15px; max-width:1000px; }
body.ts-beauty-pros-archive .ts-archive-hero-text  { color:#fff; max-width:750px; margin:0 auto; padding-bottom:30px; }

body.ts-beauty-pros-archive .ts-archive-search { width:100%; max-width:900px; margin-bottom:25px !important; }
body.ts-beauty-pros-archive .ts-archive-search-inner { background:#fff; border-radius:12px; padding:15px 20px; }

body.ts-beauty-pros-archive .ts-results-wrap { max-width:1800px; margin:40px auto 0; padding:0 20px; }
body.ts-beauty-pros-archive .ts-results-top { margin-bottom:20px; }
body.ts-beauty-pros-archive .ts-results-title { font-size:1.8rem; margin:0 0 20px 0; font-weight:600; }

body.ts-beauty-pros-archive .ts-results-map-row { display:flex; flex-wrap:nowrap; gap:30px; align-items:flex-start; }
body.ts-beauty-pros-archive .ts-results-column { flex:1 1 50%; min-width:300px; max-height:750px; overflow-y:auto; padding-right:10px; }
body.ts-beauty-pros-archive .ts-map-column { flex:1 1 50%; min-width:300px; }

@media (max-width: 900px) {
  body.ts-beauty-pros-archive .ts-results-map-row { flex-wrap:wrap; }
  body.ts-beauty-pros-archive .ts-results-column,
  body.ts-beauty-pros-archive .ts-map-column { flex:1 1 100%; max-height:none; }
}

/* footer */
body.ts-beauty-pros-archive .ts-archive-footer {
  margin-top: 60px;
  padding: 50px 20px;
  text-align: center;
  background: #000;
  border-top: 1px solid rgba(255,255,255,0.1);
}
body.ts-beauty-pros-archive .ts-archive-footer-logo { max-width:180px; margin:0 auto 25px; display:block; }
body.ts-beauty-pros-archive .ts-archive-footer-text { margin:0; color:#fff; font-size:.95rem; }

/* FORCE 1-COLUMN LOOP on the city beauty-pros page */
.ts-results-column .geodir-category-list-view.geodir-gridview.row {
  --bs-gutter-x: 0 !important;

  /* Bootstrap row-cols uses this var to calculate column widths */
  --bs-columns: 1 !important;

  /* Some installs also set this */
  grid-template-columns: 1fr !important;
}

/* Force every child column to full width no matter what row-cols-* says */
.ts-results-column .geodir-category-list-view.geodir-gridview.row > .col,
.ts-results-column .geodir-category-list-view.geodir-gridview.row > [class*="col-"]{
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}
/* ================================
   CITY BEAUTY PROS — CARD LAYOUT FIX
   Small square image left, content right
================================ */

/* Make each archive item row behave like a row (logo + content) */
.ts-archive-item .ts-item-row{
  display: flex !important;
  align-items: flex-start;
  gap: 20px;
}

/* Fixed square logo column */
.ts-archive-item .ts-item-logo{
  flex: 0 0 120px !important;
  width: 120px !important;
  height: 120px !important;
  overflow: hidden;
  background: #f5f5f5;
}

/* Ensure the link fills the square */
.ts-archive-item .ts-item-logo a{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 0;
}

/* Image fills the square */
.ts-archive-item .ts-item-logo img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  display: block;
}

/* Content column should take remaining space */
.ts-archive-item .ts-item-main{
  flex: 1 1 auto !important;
  min-width: 0;
}

/* Mobile: keep it nice */
@media (max-width: 767px){
  .ts-archive-item .ts-item-logo{
    flex: 0 0 90px !important;
    width: 90px !important;
    height: 90px !important;
  }
}

/* =========================================
   ARCHIVE ITEM: TITLE + RATING INLINE
========================================= */

.ts-item-topline {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px; /* controls space above description */
}

/* Remove default margins added by GD / headings */
.ts-item-title,
.ts-item-title h2,
.ts-item-title h3,
.geodir-entry-title {
  margin: 0 !important;
  line-height: 1.2;
}

/* Keep rating compact and aligned */
.ts-item-rating {
  display: flex;
  align-items: center;
  font-size: 0.9rem;
  white-space: nowrap;
}

/* custom.css (or Appearance > Customize > Additional CSS)
   Scoped styles for the Edmonds landing page.
   Wrap page content in <div class="ts-city-landing"> ... </div>
*/

.ts-city-landing{
  --ts-max:1200px;
  --ts-pad:24px;
  --ts-radius:18px;
  --ts-shadow:0 12px 30px rgba(0,0,0,.08);
  --ts-shadow-soft:0 10px 24px rgba(0,0,0,.06);
  --ts-border:1px solid rgba(0,0,0,.08);
  --ts-text:rgba(0,0,0,.82);
  --ts-muted:rgba(0,0,0,.62);
  --ts-bg:#fff;
  --ts-subtle:rgba(0,0,0,.03);
  --ts-subtle-2:rgba(0,0,0,.05);

  /* Button color (fallback to WP blue if theme var not present) */
  --ts-primary: var(--wp--preset--color--primary, #1e73be);
  --ts-primary-hover: #175ea0;
}

.ts-city-landing section{ padding:56px 0; }
.ts-city-landing p{ color:var(--ts-text); }
.ts-city-landing a{ text-decoration:none; }

/* Layout containers */
.ts-city-landing .ts-city-hero-inner,
.ts-city-landing .ts-city-content-inner{
  max-width:var(--ts-max);
  margin:0 auto;
  padding:0 var(--ts-pad);
  display:grid;
  gap:28px;
}

/* ================= HERO ================= */
.ts-city-landing .ts-city-hero{
  /* (1) Reduce top space */
  padding:50px 0 40px;
}

.ts-city-landing .ts-city-hero-inner{
  grid-template-columns:1.1fr .9fr;
  align-items:stretch;
}

.ts-city-landing .ts-city-hero-left{
  /* (2) Left justify hero text */
  text-align:left;
}

.ts-city-landing .ts-city-title{
  margin:0 0 14px;
  font-size:clamp(34px,4vw,58px);
  line-height:1.05;
  letter-spacing:-.02em;
}

.ts-city-landing .ts-city-subtitle{
  margin:0 0 18px;
  font-size:clamp(16px,1.4vw,18px);
  color:var(--ts-muted);
  line-height:1.6;
  max-width:44ch;
}

.ts-city-landing .ts-city-search{
  margin:18px 0 16px;
  padding:14px;
  border:var(--ts-border);
  border-radius:var(--ts-radius);
  background:var(--ts-bg);
  box-shadow:var(--ts-shadow-soft);
}

/* (3) Fix GD search icons overlapping text
   GeoDirectory markup varies; these selectors cover common GD patterns.
*/
.ts-city-landing .ts-city-search .geodir-search,
.ts-city-landing .ts-city-search .geodir-loc-bar,
.ts-city-landing .ts-city-search .geodir-search-field,
.ts-city-landing .ts-city-search .gd-search-field,
.ts-city-landing .ts-city-search .geodir_search_field{
  position:relative;
}

.ts-city-landing .ts-city-search i,
.ts-city-landing .ts-city-search .fa,
.ts-city-landing .ts-city-search .fas,
.ts-city-landing .ts-city-search .far{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  opacity:.75;
}

/* Inputs/selects: add left padding so text starts after icon */
.ts-city-landing .ts-city-search input[type="text"],
.ts-city-landing .ts-city-search input[type="search"],
.ts-city-landing .ts-city-search select{
  width:100%;
  padding:14px 14px 14px 44px; /* space for icon */
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
}

/* Search submit/button — match blue style */
.ts-city-landing .ts-city-search input[type="submit"],
.ts-city-landing .ts-city-search button,
.ts-city-landing .ts-city-search .button{
  width:100%;
  margin-top:12px;
  padding:14px 16px;
  border-radius:12px;
  border:none;
  cursor:pointer;
  font-weight:600;
  background:var(--ts-primary);
  color:#fff;
  box-shadow:var(--ts-shadow-soft);
}
.ts-city-landing .ts-city-search input[type="submit"]:hover,
.ts-city-landing .ts-city-search button:hover,
.ts-city-landing .ts-city-search .button:hover{
  background:var(--ts-primary-hover);
}

/* Quick link chips (these ARE links in HTML) */
.ts-city-landing .ts-city-quick-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.ts-city-landing .ts-city-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:var(--ts-border);
  background:#fff;
  color:rgba(0,0,0,.78);
  font-size:14px;
  line-height:1;
  transition:transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.ts-city-landing .ts-city-chip:hover{
  transform:translateY(-1px);
  box-shadow:var(--ts-shadow-soft);
  background:var(--ts-subtle);
}
.ts-city-landing .ts-city-chip-muted{
  background:var(--ts-subtle);
  color:rgba(0,0,0,.55);
}

/* Hero image */
.ts-city-landing .ts-city-hero-image{
  position:relative;
  min-height:360px;
  border-radius:var(--ts-radius);
  overflow:hidden;
  border:var(--ts-border);
  box-shadow:var(--ts-shadow);
  background:
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.10)),
    url("/wp-content/uploads/edmonds-hero.jpg");
  background-size:cover;
  background-position:center;
}

.ts-city-landing .ts-city-hero-badge{
  position:absolute;
  right:16px;
  bottom:16px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  font-size:13px;
  color:rgba(0,0,0,.72);
}

/* ================= CATEGORY GRID ================= */
.ts-city-landing .ts-city-categories{
  padding:36px 0 56px;
}

.ts-city-landing .ts-section-title{
  max-width:var(--ts-max);
  margin:0 auto 18px;
  padding:0 var(--ts-pad);
  font-size:clamp(26px,3vw,40px);
  line-height:1.15;
}

/* (5) Gap under "Explore Services in Edmonds" should be ~50px
   (also keep it left aligned)
*/
.ts-city-landing .ts-city-categories .ts-section-title{
  margin-bottom:50px;
  text-align:left;
}

/* (6) Ensure the two category cards sit BELOW the title, centered container, side-by-side */
.ts-city-landing .ts-category-grid{
  max-width:var(--ts-max);
  margin:0 auto;
  padding:0 var(--ts-pad);
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  justify-content:stretch;
}

.ts-city-landing .ts-category-card{
  border:var(--ts-border);
  border-radius:var(--ts-radius);
  background:#fff;
  padding:22px;
  box-shadow:var(--ts-shadow-soft);
  transition:transform 160ms ease, box-shadow 160ms ease;
}
.ts-city-landing .ts-category-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--ts-shadow);
}
.ts-city-landing .ts-category-card h3{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.2;
}
.ts-city-landing .ts-category-description{
  margin:0 0 14px;
  color:var(--ts-muted);
  line-height:1.55;
}

.ts-city-landing .ts-category-links{
  margin:0 0 16px;
  padding:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 12px;
}
.ts-city-landing .ts-category-links a{
  display:inline-flex;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  background:var(--ts-subtle);
  color:rgba(0,0,0,.78);
  transition:background 160ms ease, transform 160ms ease;
}
.ts-city-landing .ts-category-links a:hover{
  background:var(--ts-subtle-2);
  transform:translateY(-1px);
}

/* (8)(10) Buttons: make them blue (same style everywhere) */
.ts-city-landing .ts-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:var(--ts-primary);
  color:#fff;
  font-weight:600;
  line-height:1;
  transition:transform 160ms ease, background 160ms ease;
}
.ts-city-landing .ts-button:hover{
  transform:translateY(-1px);
  background:var(--ts-primary-hover);
}
.ts-city-landing .ts-button-outline{
  background:var(--ts-primary);
  color:#fff;
}

/* ================= FEATURED LISTINGS ================= */
.ts-city-landing .ts-city-featured .ts-featured-grid{
  max-width:var(--ts-max);
  margin:0 auto;
  padding:0 var(--ts-pad);
}
.ts-city-landing .ts-featured-grid article,
.ts-city-landing .ts-featured-grid .geodir-loop-item,
.ts-city-landing .ts-featured-grid .geodir-category-listing{
  border:var(--ts-border);
  border-radius:var(--ts-radius);
  overflow:hidden;
  box-shadow:var(--ts-shadow-soft);
  background:#fff;
  padding:16px;
  margin-bottom:16px;
}

/* ================= POPULAR SEARCHES ================= */
.ts-city-landing .ts-city-popular .ts-popular-links{
  max-width:var(--ts-max);
  margin:0 auto;
  padding:0 var(--ts-pad);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.ts-city-landing .ts-city-popular .ts-popular-links a{
  padding:10px 14px;
  border-radius:999px;
  border:var(--ts-border);
  background:#fff;
  color:rgba(0,0,0,.78);
  transition:background 160ms ease, transform 160ms ease;
}
.ts-city-landing .ts-city-popular .ts-popular-links a:hover{
  background:var(--ts-subtle);
  transform:translateY(-1px);
}

/* ================= LOCAL SEO CONTENT ================= */
.ts-city-landing .ts-city-content{ background:var(--ts-subtle); }
.ts-city-landing .ts-city-content-inner{
  grid-template-columns:1.2fr .8fr;
  align-items:start;
}
.ts-city-landing .ts-city-content h2{
  margin:0 0 14px;
  font-size:clamp(24px,2.4vw,36px);
  line-height:1.15;
}
.ts-city-landing .ts-city-content p{
  margin:0 0 12px;
  color:var(--ts-muted);
  line-height:1.7;
}
.ts-

/* =========================================================
 * THE SHOPS – Edmonds Hero Section
 * Shortcode: [ts_edmonds_hero]
 * ========================================================= */
/* Background image — high-specificity selectors to beat all overrides */
body .ts-edmonds-hero.ts-archive-hero,
body.page-id-5088 .ts-archive-hero {
  background-image: url("https://theshops.pro/wp-content/uploads/2026/02/edmonds-beach.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
/* Title */
.ts-edmonds-hero .ts-archive-hero-title {
  font-size: clamp(1.9rem, 5vw, 3.5rem) !important;
  line-height: 1.1 !important;
  margin-bottom: 15px;
  max-width: 1000px;
}
/* Subtitle */
.ts-edmonds-hero .ts-archive-hero-text {
  font-size: clamp(1rem, 3.2vw, 1.25rem) !important;
  line-height: 1.4 !important;
  margin-top: 0.5rem !important;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 30px;
}
/* Mobile */
@media (max-width: 768px) {
  .ts-edmonds-hero .ts-archive-hero-title {
    font-size: 1.8rem !important;
    max-width: 90% !important;
  }
  .ts-edmonds-hero .ts-archive-hero-text {
    font-size: 1rem !important;
  }
}
.ts-archive-search-inner--hero {
  background-color: #fff !important;
  border-radius: 18px;
  padding: 14px;
}

/* Force visible text + placeholder for GD location input */
.ts-edmonds-hero input[name="snear"]{
  color: rgba(0,0,0,.82) !important;
  -webkit-text-fill-color: rgba(0,0,0,.82) !important; /* Safari/Chrome fix */
  opacity: 1 !important;
  background-color: #fff !important;
}

/* Placeholder visibility */
.ts-edmonds-hero input[name="snear"]::placeholder{
  color: rgba(0,0,0,.55) !important;
  opacity: 1 !important;
}

/* Apply only to Edmonds hero */
.ts-edmonds-hero{
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

/* If your title/subtitle have extra spacing */
.ts-edmonds-hero .ts-archive-hero-title{
  margin-bottom: 10px !important;
}

.ts-edmonds-hero .ts-archive-hero-text{
  margin-bottom: 14px !important;
}

/* =========================================================
   Keep MAIN menu links white (leave theme alone)
   Force SUBMENU links black (always)
   ========================================================= */

/* Submenu link base color */
.btMenuHorizontal .menuPort nav > ul ul li > a,
.btMenuHorizontal .menuPort nav > ul ul li > a:visited {
  color: #181818 !important;
  -webkit-text-fill-color: #181818 !important;
}

/* Submenu hover/focus stays black (or slightly darker) */
.btMenuHorizontal .menuPort nav > ul ul li > a:hover,
.btMenuHorizontal .menuPort nav > ul ul li > a:focus {
  color: #181818 !important;
  -webkit-text-fill-color: #181818 !important;
  opacity: 0.85; /* optional */
}

/* Submenu CURRENT/ACTIVE states stay black no matter what page */
.btMenuHorizontal .menuPort nav > ul ul li.current-menu-item > a,
.btMenuHorizontal .menuPort nav > ul ul li.current_page_item > a,
.btMenuHorizontal .menuPort nav > ul ul li.current-menu-ancestor > a,
.btMenuHorizontal .menuPort nav > ul ul li a[aria-current="page"] {
  color: #181818 !important;
  -webkit-text-fill-color: #181818 !important;
  background: transparent !important;
}

/* If the theme adds active highlights via pseudo elements in submenu */
.btMenuHorizontal .menuPort nav > ul ul li > a:before,
.btMenuHorizontal .menuPort nav > ul ul li > a:after {
  background: transparent !important;
}
/* =========================================================
 * THE SHOPS – Edmonds Explore Services Section
 * Shortcode: [ts_edmonds_explore]
 *
 * Add this block to your child theme's style.css
 * ========================================================= */

/* ── Outer section: light gray background row ── */
.ts-explore-section {
  background-color: #f0f0f0;
  padding: 48px 20px;
}

.ts-explore-inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* ── Centered section heading ── */
.ts-explore-heading {
  text-align: center;
  margin: 0 0 32px;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.2;
  color: #111;
}

/* ── Two-card grid (side by side, 30px gutter) ── */
.ts-explore-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

/* ── Individual card ── */
.ts-explore-card {
  display: flex;
  flex-direction: column;
  background-color: #f0f0f0; /* same as outer – card rows handle their own bg */
  border-radius: 0;
  overflow: hidden;
}

/* ── Row 1: Card header / title bar ── */
/* Slightly darker than the outer #f0f0f0 */
.ts-explore-card__header {
  background-color: #d8d8d8;
  padding: 14px 20px;
  text-align: center;
}

.ts-explore-card__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600 !important;
  color: #111;
  text-transform: none;
  letter-spacing: 0;
}

/* ── Row 2: Body (list left, image right) ── */
.ts-explore-card__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex: 1 1 auto;
}

/* Left column: white background, bullet list */
.ts-explore-card__list-col {
  background-color: #ffffff;
  display: flex;
  align-items: center;
  padding: 24px 20px;
}

.ts-explore-list {
  margin: 0;
  padding: 0 0 0 20px;
  list-style: disc;
  color: #222;
  font-size: 0.95rem;
  line-height: 1.8;
}

.ts-explore-list li {
  padding: 1px 0;
}

/* Right column: background image placeholder */
.ts-explore-card__image-col {
  overflow: hidden;
  position: relative;
}

.ts-explore-card__image-placeholder {
  width: 100%;
  height: 100%;
  min-height: 180px;
}

.ts-explore-card__image-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
}

/* ── Row 3: Footer / CTA ── */
/* Uses the same outer light-gray (matching the section background) */
.ts-explore-card__footer {
  background-color: #f0f0f0;
  padding: 16px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ── CTA button: matches BoldThemes icon-hover style (ts-book-btn pattern) ── */
.ts-explore-btn,
.ts-explore-btn:link,
.ts-explore-btn:visited,
.ts-explore-btn:active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden; /* clips the icon before it slides in */
  background-color: #000;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 1.1em 2.4em;
  border-radius: 0;
  min-height: 3rem;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: background-color 300ms ease;
}

.ts-explore-btn:hover,
.ts-explore-btn:focus {
  background-color: #0a0a0a;
  color: #fff !important;
  text-decoration: none !important;
}

/* Text span — centered, nudges left on hover */
.ts-explore-btn__text {
  position: relative;
  z-index: 2;
  transition: transform 300ms ease;
}

.ts-explore-btn:hover .ts-explore-btn__text {
  transform: translateX(-0.15rem);
}

/* Arrow icon — hidden by default, slides in from within the text on hover */
.ts-explore-btn__icon {
  font-family: "IoniconsFilled", sans-serif;
  font-size: 1.05em;
  color: #fff;
  position: absolute;
  right: 1.1em;
  top: 50%;
  transform: translateY(-50%) translateX(-0.7em);
  opacity: 0;
  transition: transform 300ms ease, opacity 300ms ease;
}

.ts-explore-btn:hover .ts-explore-btn__icon,
.ts-explore-btn:focus .ts-explore-btn__icon {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* ── Responsive: stack cards on mobile ── */
@media (max-width: 900px) {
  .ts-explore-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Responsive: stack body columns on narrow cards ── */
@media (max-width: 600px) {
  .ts-explore-card__body {
    grid-template-columns: 1fr;
  }

  .ts-explore-card__image-placeholder {
    min-height: 160px;
  }
}

/* =========================================================
 * THE SHOPS – Edmonds Top Rated Businesses Section
 * Custom flexbox layout - No Bootstrap grid interference
 * ========================================================= */

/* ─ Section wrapper ─ */
.ts-top-rated-section {
  background-color: #ffffff;
  padding: 48px 20px;
}

.ts-top-rated-inner {
  max-width: 1400px;
  margin: 0 auto;
}

/* ─ Section heading ─ */
.ts-top-rated-heading {
  text-align: center;
  margin: 0 0 32px 0;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.2;
  color: #111;
}

/* ═══════════════════════════════════════════════════════════════════
 * FLEXBOX ROW: Force all cards on ONE horizontal line
 * ═══════════════════════════════════════════════════════════════════ */
.ts-top-rated-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  justify-content: center;
  align-items: stretch;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ═══════════════════════════════════════════════════════════════════
 * CARD: 5 cards across on desktop - Bigger size
 * ═══════════════════════════════════════════════════════════════════ */
.ts-top-rated-card {
  flex: 0 0 calc(20% - 13px);
  min-width: 220px;
  max-width: 280px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
  background-color: #fff;
}

/* ─ Row 1: Image + Title ─ */
.ts-card-row-1 {
  display: flex;
  gap: 12px;
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}

.ts-card-image {
  width: 66px;
  height: 66px;
  flex-shrink: 0;
  border-radius: 3px;
  overflow: hidden;
}

.ts-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ts-card-image a {
  display: block;
  width: 100%;
  height: 100%;
}

.ts-card-title {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.ts-card-title h3 {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.3;
  color: #111;
}

.ts-card-title a {
  color: #111;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ts-card-title a:hover {
  text-decoration: underline;
}

/* ─ Row 2: Star Rating ─ */
.ts-card-row-2 {
  padding: 10px 12px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
  text-align: center;
}

.ts-card-rating {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
}

.ts-card-stars {
  font-size: 0.85rem;
  color: #ff9900;
}

.ts-card-stars i {
  margin: 0 1px;
}

.ts-card-review-count {
  font-size: 0.65rem;
  color: #666;
}

.ts-card-rating-empty {
  font-size: 0.6rem;
  color: #999;
  padding: 4px 0;
}

/* ─ Row 3: Description ─ */
.ts-card-row-3 {
  flex: 1;
  padding: 10px 12px;
  border-bottom: 1px solid #f0f0f0;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
}

.ts-card-row-3 p {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #555;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ─ Row 4: Button ─ */
.ts-card-row-4 {
  padding: 12px 12px;
  display: flex;
  justify-content: center;
  flex-shrink: 0;
}

.ts-card-button,
.ts-card-button:link,
.ts-card-button:visited,
.ts-card-button:active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #000;
  color: #fff !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0.9em 1.8em;
  border-radius: 0;
  min-height: 2.4rem;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  margin: 0;
  overflow: hidden;
  transition: background-color 300ms ease;
}

.ts-card-button:hover {
  background-color: #0a0a0a;
}

/* Text (truly centered) */
.ts-card-button__text {
  position: relative;
  z-index: 2;
  transition: transform 300ms ease;
}

/* Arrow (absolute, so it does NOT affect centering) */
.ts-card-button__icon {
  font-family: "IoniconsFilled", sans-serif;
  font-size: 1.05em;
  color: #fff;
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%) translateX(-1.2em);
  opacity: 0;
  transition: transform 300ms ease, opacity 300ms ease;
}

/* Hover: arrow slides in from text area */
.ts-card-button:hover .ts-card-button__icon {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* Subtle text nudge on hover */
.ts-card-button:hover .ts-card-button__text {
  transform: translateX(-0.15rem);
}

/* ═══════════════════════════════════════════════════════════════════
 * RESPONSIVE: Tablet (≤ 900px)
 * ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .ts-top-rated-row {
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .ts-top-rated-card {
    flex: 0 0 220px;
    min-width: 220px;
    max-width: 220px;
  }

  .ts-card-image {
    width: 55px;
    height: 55px;
  }

  .ts-card-title h3 {
    font-size: 0.8rem;
  }

  .ts-card-row-3 p {
    font-size: 0.7rem;
  }

  .ts-card-button {
    font-size: 0.65rem;
    padding: 6px 12px;
  }
}

/* ═══════════════════════════════════════════════════════════════════
 * RESPONSIVE: Mobile (≤ 600px)
 * ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  .ts-top-rated-row {
    flex-direction: column;
    align-items: stretch;
    overflow-x: visible;
  }

  .ts-top-rated-card {
    flex: 1 1 auto;
    min-width: 100%;
    max-width: 100%;
  }

  .ts-card-row-1 {
    gap: 15px;
    padding: 15px;
  }

  .ts-card-image {
    width: 90px;
    height: 90px;
  }

  .ts-card-title h3 {
    font-size: 1rem;
  }

  .ts-card-row-3 p {
    font-size: 0.85rem;
  }

  .ts-card-button {
    font-size: 0.8rem;
    padding: 10px 18px;
  }
}


.page-id-5088 .bt-content-wrap.btClear {
    padding-top: 60px !important;
}

/* Hide header/nav on Home-Land page */
.page-id-5162 header,
.page-id-5162 nav,
.page-id-5162 .site-header,
.page-id-5162 .main-navigation {
    display: none !important;
}

/* =========================================================
   HERO – SUPERHEADLINE SIZE + VERTICAL CENTERING
   Targets .ts-hero-col added to the homepage hero column
========================================================= */

/* Make "COMING TO LAKE UNION, SEATTLE — 2026" bigger */
.ts-hero-col .bt_bb_headline_superheadline {
    font-size: 1.05rem !important;
    letter-spacing: 0.18em !important;
}

/* Center hero text column content vertically */
.ts-hero-col {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    height: 100% !important;
}

/* Center button inside hero col */
.ts-hero-col .bt_bb_button_holder {
    display: flex !important;
    justify-content: center !important;
}

/* Shrink the top separator that was pushing content toward the bottom.
   BoldThemes separators use margin-top/margin-bottom (not padding/height).
   Original: margin-top 30px + margin-bottom 120px = 150px of space. */
.page-id-2259 .bt_bb_separator.bt_bb_top_spacing_normal.bt_bb_bottom_spacing_large {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

/* 60px vertical breathing room to hero slider content */
.page-id-2259 .bt_bb_content_slider_item_content {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* =========================================================
   WHO IT'S FOR – PILL GRID
   Shortcode: [ts_who_pills]
========================================================= */

.ts-who-section {
    padding: 60px 40px;
    text-align: center;
}

.ts-who-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 1.6px;
    line-height: 26.6px;
    text-transform: uppercase;
    color: #181818;
    opacity: 0.8;
    text-align: center;
    margin-top: 0;
    margin-bottom: 20.9px;
    padding: 0;
}

.ts-who-headline {
    font-family: Poppins, sans-serif;
    font-size: 44px;
    line-height: 1.2;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}

.ts-who-subtext {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #555;
    font-size: 1rem;
    max-width: 560px;
    margin: 0 auto 48px;
    line-height: 1.7;
}

.ts-who-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    max-width: 900px;
    margin: 0 auto;
}

.ts-who-pill,
.ts-who-pill:link,
.ts-who-pill:visited {
    background: #F5F5F5;
    color: #000000 !important;
    border: 1px solid #333333;
    padding: 10px 22px;
    border-radius: 50px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 300ms ease, color 300ms ease;
}

.ts-who-pill:hover {
    background: #000000;
    color: #ffffff !important;
}

/* =========================================================
   SECTION 4 — BUSINESS TOOLS HOVER CARDS
========================================================= */

.ts-tools-card {
    --primary-color: #000000;
    --secondary-color: #ffffff;
    border: 1px solid #555555 !important;
    background: #E4E4E4 !important;
    border-radius: 0 !important;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.ts-tools-card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14), 0 2px 8px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
}

/* Hide separators inside the card — padding handles spacing */
.ts-tools-card .bt_bb_separator {
    display: none !important;
}

/* 20px gap above the Learn More button */
.ts-tools-card .bt_bb_button {
    margin-top: 20px !important;
}

/* 30px gutter — switch row holder to flex so gap works */
.ts-tools-row .bt_bb_row_holder {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
}

/* 30px padding on all sides of each card — replaces Bootstrap column padding.
   Gap handles space between cards; this handles space inside card edges. */
.ts-tools-row .bt_bb_column.ts-tools-card {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 30px !important;
}

/* Reset any inner BoldThemes padding wrapper to avoid double padding */
.ts-tools-card .bt_bb_inner_content,
.ts-tools-card .bt_bb_column_content {
    padding: 0 !important;
}

/* Top 20px smaller than bottom */
.bt_bb_section:has(.ts-tools-row) .bt_bb_port {
    padding-top: 80px !important;
}

/* Icons at 50px */
.ts-tools-card .bt_bb_icon_holder {
    font-size: 50px !important;
    width: 50px !important;
    height: 50px !important;
    line-height: 1 !important;
}

/* Button: black at rest. ::before scales from full (1) → 0 on hover,
   shrinking from outer edges toward center, revealing white underneath. */
.ts-tools-card .bt_bb_button a,
.ts-tools-card .bt_bb_button .bt_bb_link {
    position: relative !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
}

.ts-tools-card .bt_bb_button a::before,
.ts-tools-card .bt_bb_button .bt_bb_link::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-tools-card .bt_bb_button a > *,
.ts-tools-card .bt_bb_button .bt_bb_link > * {
    position: relative;
    z-index: 1;
}

.ts-tools-card .bt_bb_button a:hover::before,
.ts-tools-card .bt_bb_button .bt_bb_link:hover::before {
    transform: scale(0);
}

.ts-tools-card .bt_bb_button a:hover,
.ts-tools-card .bt_bb_button .bt_bb_link:hover {
    color: #000000 !important;
    box-shadow: none !important;
}

/* =========================================================
   SECTION 5 — WHAT'S INCLUDED (AMENITIES GRID)
========================================================= */

/* Dark background on the smart-wall section wrapper */
#smart-wall.bt_bb_section {
    background-color: #000000 !important;
}

#smart-wall .bt_bb_port {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.ts-amenities {
    padding: 40px 40px 80px;
    text-align: center;
    color: #ffffff;
}

.ts-amenities-eyebrow {
    font-family: Poppins, sans-serif;
    font-size: 1.1875rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 600;
    margin-bottom: 12px;
}

.ts-amenities-headline {
    font-family: Poppins, sans-serif;
    font-size: 44px;
    line-height: 1.2;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin-bottom: 16px;
}

.ts-amenities-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #aaaaaa;
    font-size: 1rem;
    max-width: 560px;
    margin: 0 auto 60px;
    line-height: 1.7;
}

.ts-amenities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
    text-align: left;
}

.ts-amenities-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #111111;
    border: 1px solid #333333;
    padding: 28px 24px;
}

.ts-amenities-check {
    font-size: 1.25rem;
    color: #ffffff;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}

.ts-amenities-item-title {
    font-family: Poppins, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
}

.ts-amenities-item-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #aaaaaa;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 768px) {
    .ts-amenities-grid {
        grid-template-columns: 1fr;
    }
    .ts-amenities-headline {
        font-size: 2.25rem;
    }
}

/* =========================================================
   SECTION 6 — BLOG CARDS
========================================================= */

.ts-blog-cards-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px 60px;
}

.ts-blog-cards-grid {
    display: flex;
    gap: 30px;
}

.ts-blog-card {
    flex: 1 1 0;
    min-width: 0;
    border: 1px solid #555555;
    background: #E4E4E4;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.ts-blog-card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.08);
    transform: translateY(-3px);
}

.ts-blog-card-img {
    width: 100%;
    overflow: hidden;
    flex-shrink: 0;
}

.ts-blog-card-img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.ts-blog-card-body {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ts-blog-card-title {
    font-family: Poppins, sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.3;
    margin-bottom: 12px;
}

.ts-blog-card-excerpt {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9rem;
    color: #444444;
    line-height: 1.65;
    margin-bottom: 20px;
    flex: 1;
}

.ts-blog-card-btn-wrap {
    margin-top: auto;
    text-align: center;
}

/* Center BLOG / READ THE LATEST headlines in blog section */
.bt_bb_row_holder:has(.ts-blog-cards-wrap) .bt_bb_headline {
    text-align: center !important;
}

.bt_bb_row_holder:has(.ts-blog-cards-wrap) .bt_bb_headline_superheadline {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}

.ts-blog-btn {
    position: relative;
    overflow: hidden;
    display: inline-block;
    background-color: #ffffff;
    color: #ffffff !important;
    border: 2px solid #000000;
    padding: 10px 24px;
    font-family: var(--button-font, Poppins, sans-serif);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: var(--letter-spacing-button, 0.08em);
    text-decoration: none !important;
    transition: color 300ms ease;
}

.ts-blog-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-blog-btn span {
    position: relative;
    z-index: 1;
    color: #ffffff !important;
}

.ts-blog-btn:hover::before {
    transform: scale(0);
}

.ts-blog-btn:hover {
    color: #000000 !important;
}

.ts-blog-btn:hover span {
    color: #000000 !important;
}

/* Hide left masonry column, stretch right column to full width */
.bt_bb_row_holder:has(.ts-blog-cards-wrap) > .bt_bb_column:first-child {
    display: none !important;
}

.bt_bb_row_holder:has(.ts-blog-cards-wrap) > .bt_bb_column:last-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

@media (max-width: 768px) {
    .ts-blog-cards-grid {
        flex-direction: column;
    }
}

/* =========================================================
   SECTION 7 — WHO WE ARE (TAN BACKGROUND)
========================================================= */

.ts-who-we-are-section.bt_bb_section {
    background-color: #F8F6F2 !important;
}

.ts-who-we-are-section .bt_bb_port {
    padding-top: 68px !important;
}

/* =========================================================
   SECTION 7 — HOW IT WORKS BUTTON
   Black default, outer-edge-shrink hover animation.
========================================================= */

.bt_bb_column_inner_content_inner:has(.ts-how-it-works-btn) .bt_bb_image {
    margin-bottom: 30px !important;
}

.ts-how-it-works-btn {
    margin-top: 0;
    display: inline-block;
    position: relative;
    z-index: 2;
}

.bt_bb_button.ts-how-it-works-btn .bt_bb_link,
.bt_bb_button.ts-how-it-works-btn a {
    position: relative !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    text-decoration: none !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.bt_bb_button.ts-how-it-works-btn .bt_bb_link::after,
.bt_bb_button.ts-how-it-works-btn a::after {
    display: none !important;
    content: none !important;
}

.bt_bb_button.ts-how-it-works-btn .bt_bb_link,
.bt_bb_button.ts-how-it-works-btn .bt_bb_link:link,
.bt_bb_button.ts-how-it-works-btn .bt_bb_link:visited,
.bt_bb_button.ts-how-it-works-btn a,
.bt_bb_button.ts-how-it-works-btn a:link,
.bt_bb_button.ts-how-it-works-btn a:visited {
    color: #ffffff !important;
}

.bt_bb_button.ts-how-it-works-btn .bt_bb_link::before,
.bt_bb_button.ts-how-it-works-btn a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.bt_bb_button.ts-how-it-works-btn .bt_bb_link span,
.bt_bb_button.ts-how-it-works-btn a span {
    position: relative;
    z-index: 1;
}

.bt_bb_button.ts-how-it-works-btn .bt_bb_link:hover::before,
.bt_bb_button.ts-how-it-works-btn a:hover::before {
    transform: scale(0);
}

.bt_bb_button.ts-how-it-works-btn .bt_bb_link:hover,
.bt_bb_button.ts-how-it-works-btn a:hover {
    color: #000000 !important;
    box-shadow: none !important;
}

.bt_bb_button.ts-suite-specs-btn .bt_bb_link,
.bt_bb_button.ts-suite-specs-btn a {
    position: relative !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    text-decoration: none !important;
}

.bt_bb_button.ts-suite-specs-btn .bt_bb_link::before,
.bt_bb_button.ts-suite-specs-btn a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.bt_bb_button.ts-suite-specs-btn .bt_bb_link span,
.bt_bb_button.ts-suite-specs-btn a span {
    position: relative;
    z-index: 1;
}

.bt_bb_button.ts-suite-specs-btn .bt_bb_link:hover::before,
.bt_bb_button.ts-suite-specs-btn a:hover::before {
    transform: scale(0);
}

.bt_bb_button.ts-suite-specs-btn .bt_bb_link:hover,
.bt_bb_button.ts-suite-specs-btn a:hover {
    color: #000000 !important;
    box-shadow: none !important;
}

/* =========================================================
   SECTION 7 — SUITE SPECS TAB SPACING
========================================================= */

.ts-suite-specs-btn {
    margin-top: 20px !important;
    margin-bottom: 30px !important;
}

/* =========================================================
   BE A FOUNDING TENANT SECTION — SPACING
========================================================= */

.bt_bb_section:has(.ts-founding-stats-inner) .bt_bb_port {
    padding-top: 90px !important;
    padding-bottom: 80px !important;
}

#waitlist .bt_bb_port {
    padding-top: 90px !important;
    padding-bottom: 80px !important;
}

/* =========================================================
   FOUNDING TENANT STATS — CLAIM YOUR SPOT BUTTON
========================================================= */

.ts-founding-stats-btn {
    display: inline-block;
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 2px solid #fff;
    font-family: var(--button-font, Poppins, sans-serif);
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: var(--letter-spacing-button, 0.08em);
    text-decoration: none !important;
    text-transform: uppercase;
    padding: 1.17em 2.3em;
    min-height: 3.125rem;
    z-index: 0;
}

.ts-founding-stats-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}

.ts-founding-stats-btn span {
    position: relative;
    z-index: 1;
    color: #fff !important;
    transition: color 0.3s ease;
}

.ts-founding-stats-btn:hover::before {
    transform: scale(0);
}

.ts-founding-stats-btn:hover span {
    color: #000 !important;
}

/* =========================================================
   WAITLIST SECTION — CF7 FORM STYLING
========================================================= */

.ts-waitlist-section .wpcf7-form-control:not(.wpcf7-submit),
.wpcf7[data-id="5236"] .wpcf7-form-control:not(.wpcf7-submit) {
    background-color: #ffffff !important;
    color: #111111 !important;
}

.ts-waitlist-section .wpcf7-not-valid-tip,
.wpcf7[data-id="5236"] .wpcf7-not-valid-tip {
    display: block !important;
    color: #cc0000 !important;
    font-size: 0.85rem !important;
    margin-top: 4px !important;
}

.ts-waitlist-section .wpcf7 form.invalid .wpcf7-response-output,
.ts-waitlist-section .wpcf7 form.failed .wpcf7-response-output,
.wpcf7[data-id="5236"] form.invalid .wpcf7-response-output,
.wpcf7[data-id="5236"] form.failed .wpcf7-response-output {
    display: block !important;
    color: #cc0000 !important;
    border-color: #cc0000 !important;
}

/* =========================================================
   SUITE SPECS TAB SPACING
   (section header — previously at wrong location)
========================================================= */

.ts-suite-specs-who-title {
    margin-bottom: 30px !important;
}

.ts-how-it-works-title {
    margin-bottom: 30px !important;
}

.ts-suite-specs-intro {
    margin-bottom: 20px !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.ts-suite-specs-sizes-heading {
    margin-bottom: 20px !important;
}



/* =========================================================
   FOUNDING TENANT STATS — CLAIM YOUR SPOT BUTTON
========================================================= */

.ts-founding-stats-btn {
    display: inline-block;
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 2px solid #fff;
    font-family: var(--button-font, Poppins, sans-serif);
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: var(--letter-spacing-button, 0.08em);
    text-decoration: none !important;
    text-transform: uppercase;
    padding: 1.17em 2.3em;
    min-height: 3.125rem;
    z-index: 0;
}

.ts-founding-stats-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 0;
}

.ts-founding-stats-btn span {
    position: relative;
    z-index: 1;
    color: #fff !important;
    transition: color 0.3s ease;
}

.ts-founding-stats-btn:hover::before {
    transform: scale(0);
}

.ts-founding-stats-btn:hover span {
    color: #000 !important;
}

/* =========================================================
   WAITLIST SECTION — CF7 SUBMIT BUTTON HOVER ANIMATION
========================================================= */

input.ninja-forms-field[value="JOIN THE WAITLIST"],
input.wpcf7-submit[value="JOIN THE WAITLIST"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    box-shadow: inset 0 0 0 200px #000000 !important;
    transition: box-shadow 300ms ease, color 300ms ease !important;
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 16px 20px !important;
    width: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

input.ninja-forms-field[value="JOIN THE WAITLIST"]:hover,
input.wpcf7-submit[value="JOIN THE WAITLIST"]:hover {
    box-shadow: inset 0 0 0 0px #000000 !important;
    color: #000000 !important;
}

/* =========================================================
   CONTACT FORM — CF7 SEND BUTTON
========================================================= */

/* FOUNDING TENANT SECTION — JOIN THE WAITLIST BUTTON */
.ts-founding-submit-btn {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 16px 40px !important;
    display: block !important;
    width: 100% !important;
    margin-top: 16px !important;
    border-radius: 0 !important;
}

.ts-founding-submit-btn span {
    position: relative;
    z-index: 1;
}

.ts-founding-submit-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
    pointer-events: none;
}

.ts-founding-submit-btn:hover::before {
    transform: scale(0);
}

.ts-founding-submit-btn:hover {
    color: #000000 !important;
    box-shadow: none !important;
}

/* CF7 SEND BUTTON — input styling, matches .page-id-3031 pattern exactly */
.page-id-2259 .btContactButton .submit-wrap input[type="submit"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    cursor: pointer;
    width: auto !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 16px 40px !important;
    border-radius: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.page-id-2259 .btContactButton .submit-wrap:hover input[type="submit"] {
    color: #000000 !important;
}

/* =========================================================
   WAITLIST SECTION — CF7 FORM STYLING
========================================================= */

.ts-waitlist-section .wpcf7-form-control:not(.wpcf7-submit),
.ts-waitlist-section .trigger,
.wpcf7[data-id="5236"] .wpcf7-form-control:not(.wpcf7-submit),
.wpcf7[data-id="5236"] .trigger {
    background-color: #ffffff !important;
    color: #111111 !important;
}

.ts-waitlist-section .wpcf7-not-valid-tip,
.wpcf7[data-id="5236"] .wpcf7-not-valid-tip {
    display: block !important;
    color: #cc0000 !important;
    font-size: 0.85rem !important;
    margin-top: 4px !important;
}

/* Hide response output by default; show only on validation error or send failure */
.ts-waitlist-section .wpcf7-response-output,
.wpcf7[data-id="5236"] .wpcf7-response-output {
    display: none !important;
}

.ts-waitlist-section .wpcf7 form.invalid .wpcf7-response-output,
.ts-waitlist-section .wpcf7 form.failed .wpcf7-response-output,
.wpcf7[data-id="5236"] form.invalid .wpcf7-response-output,
.wpcf7[data-id="5236"] form.failed .wpcf7-response-output {
    display: block !important;
    color: #cc0000 !important;
    border-color: #cc0000 !important;
}

/* =========================================================
   UPPERCASE OVERRIDES FOR CUSTOM SECTION HEADINGS
========================================================= */

.ts-waitlist-section .bt_bb_headline_superheadline,
.ts-founding-stats-inner .bt_bb_headline_superheadline {
    text-transform: uppercase !important;
}

.ts-waitlist-section .bt_bb_headline h2,
.ts-waitlist-section .bt_bb_headline h3,
.ts-founding-stats-inner .bt_bb_headline h2,
.ts-founding-stats-inner .bt_bb_headline h3 {
    text-transform: uppercase !important;
}

/* =========================================================
   FOLLOW US — INSTAGRAM SECTION TOP SPACING
========================================================= */

.ts-instagram-section .bt_bb_port {
    padding-top: 50px !important;
}

.ts-instagram-section .bt_bb_background_letter_inner_content > .bt_bb_separator {
    display: none !important;
}

/* =========================================================
   FOUNDING STATS — HIDE LEGACY STATS GRID
========================================================= */

.ts-founding-stats-inner > div[style*="flex-wrap"] {
    display: none !important;
}

/* =========================================================
   TOOLS CARDS — SUPPRESS LINK COLOR ON SERVICE WRAPPER
========================================================= */

.ts-tools-card a.bt_bb_service_holder,
.ts-tools-card a.bt_bb_service_holder:hover,
.ts-tools-card a.bt_bb_service_holder .bt_bb_service_title,
.ts-tools-card a.bt_bb_service_holder .bt_bb_service_text,
.ts-tools-card a.bt_bb_service_holder .bt_bb_service_icon_holder,
.ts-tools-card .bt_bb_service a,
.ts-tools-card .bt_bb_service a:hover,
.ts-tools-card .bt_bb_service a * {
    color: #000000 !important;
    text-decoration: none !important;
    cursor: pointer;
}

/* =========================================================
   BECOME A PRO PAGE
========================================================= */

/* HERO — strip BoldThemes port padding so hero goes edge-to-edge */
.bt_bb_section:has(.bap-hero) .bt_bb_port,
.bt_bb_section:has(.bap-hero) .bt_bb_row_holder,
.bt_bb_section:has(.bap-hero) .bt_bb_row,
.bt_bb_section:has(.bap-hero) .bt_bb_column,
.bt_bb_section:has(.bap-hero) .bt_bb_column_content,
.bt_bb_section:has(.bap-hero) .bt_bb_column_content_inner {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.bap-hero {
    background-color: #111111;
    background-image: url('https://theshops.pro/wp-content/uploads/2025/10/theshops-heroB-1920bw.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 586px;
    max-height: 586px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 100px 80px 80px;
    text-align: center;
}

.bap-hero-inner {
    max-width: 100%;
    margin: 0 auto;
    width: 100%;
}

.bap-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 1.6px;
    line-height: 26.6px;
    text-transform: uppercase;
    color: #181818;
    opacity: 0.8;
    text-align: center;
    margin-top: 0;
    margin-bottom: 20.9px;
    padding: 0;
}

.bap-h1 {
    font-family: Poppins, sans-serif;
    font-size: 58px;
    line-height: 1.2;
    font-weight: 400;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 24px;
    text-align: left;
}

.bap-hero-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #ffffff;
    opacity: 0.8;
    line-height: 26.4px;
    font-weight: 500;
    letter-spacing: 1.6px;
    clear: both;
    max-width: 100%;
    margin: 16px 0 30;
    text-align: left;
}

.bap-hero-btn,
.bap-hero-btn:link,
.bap-hero-btn:visited {
    color: #ffffff !important;
}

.bap-hero-btn {
    display: inline-block;
    background: transparent;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none !important;
    text-align: center;
    padding: 18px 40px;
    border: 2px solid #ffffff;
    box-shadow: inset 0 0 0 0px #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
    cursor: pointer;
}

.bap-hero-btn:hover {
    box-shadow: inset 0 0 0 200px #ffffff;
    color: #000000 !important;
}

.bap-hero-note {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #ffffff;
    margin-top: 20px;
    letter-spacing: 0.02em;
}

/* STATS BAR */
.bap-stats-bar {
    background: #000000;
    display: flex;
    justify-content: center;
}

.bap-stat {
    flex: 1;
    text-align: center;
    padding: 36px 20px;
    border-right: 1px solid #222222;
    max-width: 260px;
}

.bap-stat:last-child {
    border-right: none;
}

.bap-stat-num {
    font-family: Poppins, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 8px;
}

.bap-stat-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #888888;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* SECTIONS */
.bap-section {
    padding: 80px 40px;
}

.bap-section--gray {
    background: #F5F5F5;
}

.bap-section--white {
    background: #ffffff;
}

.bap-section--black {
    background: #000000;
}

.bap-section-inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.bap-h2 {
    font-family: Poppins, sans-serif;
    font-size: 2.75rem;
    line-height: 1.15;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin-bottom: 16px;
}

.bap-h2--white {
    color: #ffffff;
}

.bap-eyebrow--light {
    color: #aaaaaa !important;
}

.bap-eyebrow--white {
    color: #ffffff !important;
    opacity: 1;
}

.bap-section-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    color: #555555;
    line-height: 1.7;
    max-width: 600px;
    margin: 0 auto 48px;
}

/* PILLS */
.bap-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 900px;
    margin: 0 auto;
}

.bap-pill,
.bap-pill:link,
.bap-pill:visited {
    background: #ffffff;
    color: #000000 !important;
    border: 1px solid #333333;
    padding: 10px 22px;
    border-radius: 50px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 300ms ease, color 300ms ease;
    display: inline-flex;
    align-items: center;
}

.bap-pill:hover {
    background: #000000;
    color: #ffffff !important;
}

/* COMPARISON TABLE */
.bap-table-wrap {
    overflow-x: auto;
    margin-top: 16px;
}

.bap-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
}

.bap-th-label {
    width: 30%;
    padding: 16px 20px;
    text-align: left;
    background: #ffffff;
    border-bottom: 2px solid #000000;
}

.bap-th {
    padding: 20px 16px;
    text-align: center !important;
    font-family: Poppins, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: #D5D5D5;
    border-bottom: 2px solid #000000;
    color: #000000;
}

.bap-th span {
    display: block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
    color: #000000;
    margin-top: 4px;
    text-align: center;
}

.bap-th--hl {
    background: #000000 !important;
    color: #ffffff !important;
}

.bap-th--hl span {
    color: rgba(255,255,255,0.6) !important;
    font-weight: 700;
    text-align: center;
}

.bap-td-label {
    padding: 16px 20px;
    text-align: left;
    font-weight: 600;
    color: #111111;
    border-bottom: 1px solid #eeeeee;
    background: #ffffff;
}

.bap-td {
    padding: 16px;
    text-align: center;
    color: #333333;
    border-bottom: 1px solid #eeeeee;
    background: #ffffff;
}

.bap-tr-alt .bap-td-label,
.bap-tr-alt .bap-td {
    background: #F9F9F9;
}

.bap-td--hl {
    background: #5391CD !important;
    color: #ffffff !important;
    font-weight: 600;
}

.bap-tr-alt .bap-td--hl {
    background: #7fb3df !important;
}

.bap-no {
    color: #cccccc !important;
}

.bap-yes {
    color: #000000;
    font-weight: 700;
}

.bap-td--hl.bap-yes {
    color: #ffffff !important;
}

/* WHAT'S INCLUDED GRID */
.bap-included-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    text-align: left;
    max-width: 960px;
    margin: 0 auto;
}

.bap-included-group {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 36px 32px;
}

.bap-included-title {
    font-family: Poppins, sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #000000;
}

.bap-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bap-checklist li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #333333;
    line-height: 1.6;
    padding: 8px 0 8px 26px;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.bap-checklist li::before {
    content: '';
    position: absolute;
    left: 3px;
    top: 13px;
    width: 5px;
    height: 9px;
    border-right: 2px solid #000000;
    border-bottom: 2px solid #000000;
    transform: rotate(45deg);
}

.bap-checklist li:last-child {
    border-bottom: none;
}

/* SUITE OPTIONS */
.bap-suite-img-placeholder {
    background: #e8e8e8;
    color: #888888;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 80px 40px;
    text-align: center;
    margin-bottom: 40px;
    border: 2px dashed #cccccc;
}

.bap-suite-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: left;
}

.bap-suite-card {
    border: 1px solid #333333;
    background: #ffffff;
    padding: 28px 24px;
}

.bap-suite-badge {
    font-family: Poppins, sans-serif;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    background: #000000;
    color: #ffffff;
    padding: 5px 10px;
    display: inline-block;
    margin-bottom: 16px;
}

.bap-suite-badge--empty {
    background: transparent;
    color: transparent;
}

.bap-suite-name {
    font-family: Poppins, sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 6px;
}

.bap-suite-size {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #888888;
    margin-bottom: 16px;
}

.bap-suite-rule {
    height: 2px;
    background: #000000;
    margin-bottom: 16px;
}

.bap-suite-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bap-suite-list li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #444444;
    padding: 5px 0 5px 16px;
    position: relative;
}

.bap-suite-list li::before {
    content: '-';
    position: absolute;
    left: 0;
    color: #aaaaaa;
    font-size: 0.75rem;
}

.bap-suite-note {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #666666;
    text-align: center;
    margin-top: 32px;
    line-height: 1.6;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* HOW IT WORKS */
.bap-steps-grid {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-top: 48px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.bap-step {
    flex: 1;
    text-align: center;
    padding: 32px 24px;
    border: 1px solid #999999;
}

.bap-step-num {
    font-family: Poppins, sans-serif;
    font-size: 3rem;
    font-weight: 700;
    color: #999999;
    line-height: 1;
    margin-bottom: 16px;
}

.bap-step-title {
    font-family: Poppins, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 12px;
}

.bap-step-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #eeeeee;
    line-height: 1.7;
    margin: 0;
}

.bap-step-arrow {
    font-size: 2rem;
    color: #aaaaaa;
    padding-top: 60px;
    flex-shrink: 0;
}

/* FORM HEADER */
.bap-form-header {
    text-align: center;
    padding: 60px 0 40px;
}

.bap-form-urgency {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #666666;
    margin-top: 8px;
    line-height: 1.6;
}

/* BECOME A PRO PAGE — CF7 SUBMIT BUTTON */
.page-id-3031 .wpcf7-submit {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    box-shadow: inset 0 0 0 200px #000000 !important;
    transition: box-shadow 300ms ease, color 300ms ease !important;
    cursor: pointer;
    width: 100% !important;
    font-family: Poppins, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 18px 40px !important;
}

.page-id-3031 .wpcf7-submit:hover {
    box-shadow: inset 0 0 0 0px #000000 !important;
    color: #000000 !important;
}

/* =============================================
   BECOME A PRO PAGE - NINJA FORMS SUBMIT BUTTON
============================================= */

.page-id-3031 .nf-form-cont .submit-wrap {
    position: relative;
    overflow: hidden;
    display: inline-block;
    border: 2px solid #000000;
}

.page-id-3031 .nf-form-cont .submit-wrap::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
    pointer-events: none;
}

.page-id-3031 .nf-form-cont .submit-wrap:hover::before {
    transform: scale(0);
}

.page-id-3031 .nf-form-cont input[type="submit"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    cursor: pointer;
    width: auto !important;
    font-family: Poppins, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 18px 20px !important;
    border-radius: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.page-id-3031 .nf-form-cont .submit-wrap:hover input[type="submit"] {
    color: #000000 !important;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .bap-suite-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .bap-h1 {
        font-size: 2.5rem;
    }
    .bap-h2 {
        font-size: 2rem;
    }
    .bap-hero {
        padding: 80px 24px 60px;
    }
    .bap-stats-bar {
        flex-wrap: wrap;
    }
    .bap-stat {
        flex: 1 1 50%;
        border-right: none;
        border-bottom: 1px solid #222222;
        max-width: none;
    }
    .bap-section {
        padding: 60px 24px;
    }
    .bap-included-grid {
        grid-template-columns: 1fr;
    }
    .bap-suite-grid {
        grid-template-columns: 1fr;
    }
    .bap-steps-grid {
        flex-direction: column;
        align-items: center;
    }
    .bap-step-arrow {
        padding-top: 0;
        transform: rotate(90deg);
    }
}

/* =========================================================
DARKSIDE-PREVIEW – STANDARDIZE HEADLINE SIZES
========================================================= */

/* All BoldThemes main headline tags on homepage */
.page-id-2259 .bt_bb_headline_tag {
    font-size: 26px !important;
    line-height: 1.2 !important;
}

/* Hero headline stays at 58px */
.ts-hero-col .bt_bb_headline_tag {
    font-size: 58px !important;
}

/* "FREEDOM THAT FITS YOUR LIFE" — uses stable el_class, not fragile section ID */
.ts-freedom-headline .bt_bb_headline_tag {
    font-size: 44px !important;
    line-height: 1.1 !important;
}

/* WHO WE ARE superheadline — stays at standard superheadline size */
.ts-who-we-are-section .bt_bb_headline_superheadline {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    letter-spacing: 1.6px !important;
    line-height: 26.6px !important;
    opacity: 0.8 !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 20.9px !important;
    padding: 0 !important;
}

/* Founding stats + waitlist headlines — custom HTML h2 tags */
.ts-founding-stats-inner h2,
.ts-waitlist-section h2 {
    font-size: 44px !important;
    line-height: 1.2 !important;
}

/* =========================================================
FOOTER – PROMO TEXT SIZE
========================================================= */

/* "Stay informed about our monthly promotions..." h5 in footer */
/* .bt_bb_size_extrasmall is the rendered DOM class BoldThemes actually outputs */
/* Specificity (0,3,0) beats .page-id-2259 .bt_bb_headline_tag (0,2,0) */
.page-id-2259 .bt_bb_size_extrasmall .bt_bb_headline_tag,
.page-id-2259 .bt_bb_size_extrasmall .bt_bb_headline_tag span {
    font-size: 26px !important;
}

/* =========================================================
BUSINESS TOOLS PAGE
========================================================= */

.bttools-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 80px;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* --- Jump nav --- */
.bttools-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 32px 0 48px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 64px;
}

.bttools-pill {
    background: #f5f5f5;
    color: #000000 !important;
    border: 1px solid #cccccc;
    padding: 9px 20px;
    border-radius: 50px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
    display: inline-flex;
    align-items: center;
}

.bttools-pill:hover {
    background: #000000;
    color: #ffffff !important;
    border-color: #000000;
}

.bttools-pill--app,
.bttools-pill--app:link,
.bttools-pill--app:visited {
    background: #000000;
    color: #ffffff !important;
    border-color: #000000;
}

.bttools-pill--app:hover {
    background: #333333;
    border-color: #333333;
    color: #ffffff !important;
}

/* --- Category section --- */
.bttools-cat {
    margin-bottom: 72px;
    scroll-margin-top: 80px;
}

.bttools-cat-header {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 2px solid #000000;
    margin-bottom: 32px;
}

.bttools-cat-num {
    font-family: Poppins, sans-serif;
    font-size: 3.5rem;
    font-weight: 700;
    color: #e0e0e0;
    line-height: 1;
    flex-shrink: 0;
    min-width: 72px;
}

.bttools-cat-meta {
    flex: 1;
}

.bttools-cat-title {
    font-family: Poppins, sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0 0 6px;
    line-height: 1.2;
}

.bttools-cat-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #666666;
    margin: 0;
    line-height: 1.6;
}

.bttools-cat-count {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffffff;
    background: #000000;
    padding: 5px 12px;
    flex-shrink: 0;
    align-self: center;
    white-space: nowrap;
}

/* --- Tool grid --- */
.bttools-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* --- Tool card --- */
.bttools-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    transition: box-shadow 250ms ease, transform 250ms ease;
    position: relative;
}

.bttools-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06);
    transform: translateY(-2px);
}

/* Invisible overlay anchor covers the whole card — avoids block-in-inline markup issues */
.bttools-card-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.bttools-card-badges {
    min-height: 26px;
    margin-bottom: 14px;
}

.bttools-badge {
    display: inline-block;
    font-family: Poppins, sans-serif;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 10px;
    border: 1px solid;
}

.bttools-badge-pop {
    background: #000000;
    color: #ffffff;
    border-color: #000000;
}

.bttools-badge-free {
    background: transparent;
    color: #000000;
    border-color: #000000;
}

.bttools-badge-pick {
    background: transparent;
    color: #555555;
    border-color: #bbbbbb;
}

.bttools-badge-industry {
    background: #000000;
    color: #ffffff;
    border-color: #000000;
}

.bttools-card-name {
    font-family: Poppins, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 10px;
}

.bttools-card-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9rem;
    color: #555555;
    line-height: 1.65;
    margin: 0 0 18px;
    flex: 1;
}

.bttools-card-for {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #888888;
    border-top: 1px solid #f0f0f0;
    padding-top: 14px;
    margin-top: auto;
}

.bttools-card-for strong {
    color: #000000;
    font-weight: 600;
}

/* --- The Shops App banner --- */
.bttools-app {
    background: #000000;
    color: #ffffff;
    padding: 64px 60px;
    text-align: center;
    scroll-margin-top: 80px;
    margin-top: 16px;
}

.bttools-app-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 19px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #bbbbbb;
    display: block;
    margin-bottom: 12px;
}

.bttools-app-headline {
    font-family: Poppins, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin: 0 0 16px;
}

.bttools-app-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    color: #cccccc;
    line-height: 1.7;
    max-width: 560px;
    margin: 0 auto 36px;
}

.bttools-app-features {
    list-style: none;
    padding: 0;
    margin: 0 auto 36px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 36px;
    max-width: 700px;
}

.bttools-app-features li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #ffffff;
    font-weight: 500;
    padding-left: 18px;
    position: relative;
}

.bttools-app-features li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: #888888;
}

.bttools-app-platform {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #aaaaaa;
    margin-bottom: 32px;
}

.bttools-app-platform a {
    color: #ffffff !important;
    text-decoration: underline;
}

.bttools-app-btn,
.bttools-app-btn:link,
.bttools-app-btn:visited {
    display: inline-block;
    background: transparent;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 40px;
    border: 2px solid #ffffff;
    box-shadow: inset 0 0 0 0px #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.bttools-app-btn:hover,
.bttools-app-btn:focus {
    box-shadow: inset 0 0 0 200px #ffffff;
    color: #000000 !important;
    text-decoration: none !important;
}

/* --- Responsive --- */
@media (max-width: 900px) {
    .bttools-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .bttools-grid {
        grid-template-columns: 1fr;
    }
    .bttools-cat-num {
        display: none;
    }
    .bttools-app {
        padding: 48px 24px;
    }
    .bttools-app-headline {
        font-size: 1.75rem;
    }
    .bttools-app-features {
        flex-direction: column;
        align-items: flex-start;
        max-width: 320px;
    }
}

/* =========================================================
MARKETING PACKAGES PAGE
========================================================= */

.mktg-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 80px;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* --- Jump nav --- */
.mktg-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 32px 0 48px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 64px;
}

.mktg-pill {
    background: #f5f5f5;
    color: #000000 !important;
    border: 1px solid #cccccc;
    padding: 9px 20px;
    border-radius: 50px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
    display: inline-flex;
    align-items: center;
}

.mktg-pill:hover {
    background: #000000;
    color: #ffffff !important;
    border-color: #000000;
}

.mktg-pill--addons,
.mktg-pill--addons:link,
.mktg-pill--addons:visited {
    background: #000000;
    color: #ffffff !important;
    border-color: #000000;
}

.mktg-pill--addons:hover {
    background: #333333;
    border-color: #333333;
    color: #ffffff !important;
}

/* --- Package card --- */
.mktg-pkg {
    margin-bottom: 40px;
    scroll-margin-top: 80px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
}

.mktg-pkg-header {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 22px 28px;
    border-bottom: 2px solid #000000;
    background: #f7f8f8;
}

.mktg-pkg-num {
    font-family: Poppins, sans-serif;
    font-size: 3.5rem;
    font-weight: 700;
    color: #e0e0e0;
    line-height: 1;
    flex-shrink: 0;
    min-width: 72px;
}

.mktg-pkg-meta {
    flex: 1;
}

.mktg-pkg-title {
    font-family: Poppins, sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin: 0 0 6px;
    line-height: 1.2;
}

.mktg-pkg-perfect {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #666666;
    margin: 0;
    line-height: 1.6;
}

.mktg-pkg-tier {
    font-family: Poppins, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffffff;
    background: #000000;
    padding: 5px 14px;
    flex-shrink: 0;
    white-space: nowrap;
}

/* --- Features grid (2-col inside each package) --- */
.mktg-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: #e8e8e8;
}

.mktg-feature {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
    background: #ffffff;
}

.mktg-feature-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border-radius: 50%;
    background: #000000;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    margin-top: 2px;
    flex-shrink: 0;
}

.mktg-feature-text strong {
    display: block;
    font-family: Poppins, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: #000000;
    letter-spacing: 0.01em;
    margin-bottom: 4px;
    line-height: 1.3;
}

.mktg-feature-text p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #555555;
    margin: 0;
    line-height: 1.55;
}

/* --- Goal bar --- */
.mktg-pkg-goal {
    padding: 18px 28px;
    background: #000000;
    color: #f5f5f5;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    line-height: 1.6;
}

.mktg-pkg-goal strong {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.6875rem;
    margin-right: 8px;
}

/* --- Optional add-ons strip (inside Local SEO package) --- */
.mktg-addons-inline {
    padding: 18px 28px;
    background: #f7f8f8;
    border-top: 1px solid #e0e0e0;
}

.mktg-addons-inline-title {
    font-family: Poppins, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #000000;
    margin: 0 0 10px;
}

.mktg-addons-inline-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mktg-addons-inline-list li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #555555;
    padding: 5px 14px;
    border: 1px solid #dddddd;
    background: #ffffff;
}

.mktg-addons-inline-list li::before {
    content: '+ ';
    color: #000000;
    font-weight: 700;
}

/* --- Add-Ons section card --- */
.mktg-addons-section {
    margin-bottom: 40px;
    scroll-margin-top: 80px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
}

.mktg-addons-header {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 22px 28px;
    border-bottom: 2px solid #000000;
    background: #f7f8f8;
}

.mktg-addons-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: #e8e8e8;
}

.mktg-addon-item {
    padding: 20px 24px;
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #222222;
}

.mktg-addon-item::before {
    content: '+';
    font-family: Poppins, sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #000000;
    flex-shrink: 0;
}

/* --- CTA banner --- */
.mktg-cta {
    background: #000000;
    color: #ffffff;
    padding: 64px 60px;
    text-align: center;
    margin-top: 16px;
}

.mktg-cta-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 19px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #bbbbbb;
    margin: 0 0 12px;
    display: block;
}

.mktg-cta-headline {
    font-family: Poppins, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin: 0 0 16px;
}

.mktg-cta-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    color: #cccccc;
    line-height: 1.7;
    max-width: 560px;
    margin: 0 auto 36px;
}

.mktg-cta-btn,
.mktg-cta-btn:link,
.mktg-cta-btn:visited {
    display: inline-block;
    background: transparent;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 40px;
    border: 2px solid #ffffff;
    box-shadow: inset 0 0 0 0px #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.mktg-cta-btn:hover,
.mktg-cta-btn:focus {
    box-shadow: inset 0 0 0 200px #ffffff;
    color: #000000 !important;
    text-decoration: none !important;
}

/* --- Responsive --- */
@media (max-width: 900px) {
    .mktg-features-grid {
        grid-template-columns: 1fr;
    }
    .mktg-addons-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .mktg-pkg-num {
        display: none;
    }
    .mktg-pkg-header {
        flex-wrap: wrap;
    }
    .mktg-addons-list {
        grid-template-columns: 1fr;
    }
    .mktg-cta {
        padding: 48px 24px;
    }
    .mktg-cta-headline {
        font-size: 1.75rem;
    }
}

/* =========================================================
EDUCATION / LEARNING CENTER PAGE
========================================================= */

.edu-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 80px;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* --- Jump nav --- */
.edu-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 32px 0 44px;
    margin-bottom: 0;
}

.edu-pill {
    background: #f5f5f5;
    color: #000000 !important;
    border: 1px solid #cccccc;
    padding: 9px 20px;
    border-radius: 50px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
    display: inline-flex;
    align-items: center;
}

.edu-pill:hover {
    background: #000000;
    color: #ffffff !important;
    border-color: #000000;
}

.edu-pill--more,
.edu-pill--more:link,
.edu-pill--more:visited {
    background: #000000;
    color: #ffffff !important;
    border-color: #000000;
}

.edu-pill--more:hover {
    background: #333333;
    border-color: #333333;
    color: #ffffff !important;
}

/* --- Article grid --- */
.edu-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

/* --- Article card --- */
.edu-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: box-shadow 250ms ease, transform 250ms ease;
    scroll-margin-top: 80px;
}

.edu-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06);
    transform: translateY(-2px);
}

/* Invisible overlay makes the whole card clickable */
.edu-card-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.edu-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.edu-card-cat {
    font-family: Poppins, sans-serif;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
    background: #000000;
    padding: 4px 12px;
}

.edu-card-num {
    display: none;
}

.edu-card-title {
    font-family: Poppins, sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: #000000;
    letter-spacing: 0.01em;
    line-height: 1.35;
    margin: 0 0 14px;
}

.edu-card-synopsis {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #555555;
    line-height: 1.7;
    margin: 0 0 24px;
    flex: 1;
}

.edu-card-link {
    font-family: Poppins, sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #000000;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-bottom: 2px solid #000000;
    padding-bottom: 2px;
    width: fit-content;
    transition: gap 200ms ease;
    position: relative;
    z-index: 2;
}

.edu-card:hover .edu-card-link {
    gap: 10px;
}

/* --- CTA banner --- */
.edu-cta {
    background: #000000;
    color: #ffffff;
    padding: 64px 60px;
    text-align: center;
    margin-top: 16px;
    scroll-margin-top: 80px;
}

.edu-cta-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 19px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #bbbbbb;
    margin: 0 0 12px;
    display: block;
}

.edu-cta-headline {
    font-family: Poppins, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin: 0 0 16px;
}

.edu-cta-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    color: #cccccc;
    line-height: 1.7;
    max-width: 560px;
    margin: 0 auto 36px;
}

.edu-cta-btn,
.edu-cta-btn:link,
.edu-cta-btn:visited {
    display: inline-block;
    background: transparent;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 40px;
    border: 2px solid #ffffff;
    box-shadow: inset 0 0 0 0px #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.edu-cta-btn:hover,
.edu-cta-btn:focus {
    box-shadow: inset 0 0 0 200px #ffffff;
    color: #000000 !important;
    text-decoration: none !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .edu-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .edu-cta {
        padding: 48px 24px;
    }
    .edu-cta-headline {
        font-size: 1.75rem;
    }
}


/* =========================================================
TOUR PAGE
========================================================= */

.tour-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 0px !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* --- Section header --- */
.tour-section-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 19px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #888888;
    margin: 0 0 12px;
    display: block;
    padding-top: 48px;
}

.tour-section-title {
    font-family: Poppins, sans-serif;
    font-size: 1.875rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin: 0 0 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid #000000;
}

/* --- Feature cards grid --- */
.tour-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
    background: #e0e0e0;
    margin-bottom: 40px;
}

.tour-feature-card {
    background: #ffffff;
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
}

.tour-feature-num {
    font-family: Poppins, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #e8e8e8;
    line-height: 1;
    margin-bottom: 14px;
}

.tour-feature-name {
    font-family: Poppins, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 10px;
}

.tour-feature-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #555555;
    line-height: 1.7;
    margin: 0;
}

/* --- How it works strip --- */
.tour-steps {
    background: #000000;
    padding: 48px 52px;
    margin-bottom: 64px;
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.tour-steps-headline {
    font-family: Poppins, sans-serif;
    font-size: 26px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #888888;
    flex-shrink: 0;
    min-width: 120px;
    padding-top: 6px;
}

.tour-steps-list {
    display: flex;
    gap: 32px;
    flex: 1;
}

.tour-step {
    flex: 1;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.tour-step-num {
    font-family: Poppins, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #333333;
    line-height: 1;
    flex-shrink: 0;
}

.tour-step-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #aaaaaa;
    line-height: 1.65;
}

.tour-step-text strong {
    font-weight: 700;
    color: #ffffff;
    display: block;
    margin-bottom: 4px;
    font-family: Poppins, sans-serif;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* --- Booking label --- */
.tour-booking-label {
    padding-bottom: 32px;
    border-bottom: 2px solid #000000;
}

.tour-booking-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 19px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #888888;
    margin: 0 0 10px;
    display: block;
}

.tour-booking-title {
    font-family: Poppins, sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin: 0 0 10px;
}

.tour-booking-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #555555;
    line-height: 1.6;
    margin: 0;
}

/* --- CTA banner --- */
.tour-cta {
    background: #000000;
    color: #ffffff;
    padding: 64px 60px;
    text-align: center;
}

.tour-cta-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 19px !important;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #bbbbbb;
    margin: 0 0 12px;
    display: block;
}

.tour-cta-headline {
    font-family: Poppins, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: -0.01em;
    margin: 0 0 16px;
}

.tour-cta-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    color: #cccccc;
    line-height: 1.7;
    max-width: 560px;
    margin: 0 auto 36px;
}

.tour-cta-btn,
.tour-cta-btn:link,
.tour-cta-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    background: transparent;
    color: #000000 !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 40px;
    border: 2px solid #ffffff;
    box-shadow: none;
    transition: color 300ms ease !important;
}

.tour-cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #ffffff;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.tour-cta-btn span {
    position: relative;
    z-index: 1;
}

.tour-cta-btn:hover::before,
.tour-cta-btn:focus::before {
    transform: scale(0);
}

.tour-cta-btn:hover,
.tour-cta-btn:hover:link,
.tour-cta-btn:hover:visited,
.tour-cta-btn:focus {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .tour-features-grid {
        grid-template-columns: 1fr;
    }
    .tour-steps {
        flex-direction: column;
        padding: 40px 24px;
        gap: 24px;
    }
    .tour-steps-list {
        flex-direction: column;
        gap: 24px;
    }
}

@media (max-width: 600px) {
    .tour-cta {
        padding: 48px 24px;
    }
    .tour-cta-headline {
        font-size: 1.75rem;
    }
}


/* =========================================================
EASY APPOINTMENTS BOOKING WIDGET
========================================================= */

/* --- Base font + color reset --- */
.ea-standard {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #111111;
}

/* --- Injected helper headings (JS-added) --- */
.ea-helper-heading {
    font-family: Poppins, sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin: 24px 0 10px !important;
}

/* --- EA form labels --- */
.ea-standard .ea-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #222222;
}

/* --- Section headings ("Personal information", "Booking overview") --- */
.ea-standard p.section {
    font-family: Poppins, sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #000000;
    border-bottom: 2px solid #000000;
    padding-bottom: 8px;
    margin-bottom: 16px;
}

/* --- Small helper text ("Fields with * are required") --- */
.ea-standard small {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #777777;
}

/* --- Dropdowns --- */
.ea-standard select.filter {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #111111;
    border: 1px solid #cccccc;
    border-radius: 0;
    background: #ffffff;
    padding: 10px 14px;
    width: 100%;
}

/* --- Text inputs and textarea --- */
.ea-standard input.custom-field,
.ea-standard textarea.custom-field {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #111111;
    border: 1px solid #cccccc;
    border-radius: 0;
    padding: 10px 14px;
    width: 100%;
}

.ea-standard label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #222222;
}

/* --- Submit / Cancel buttons: black, white text, NO hover effect --- */
.ea-standard .ea-btn,
.ea-standard .ea-btn:link,
.ea-standard .ea-btn:visited {
    font-family: Poppins, sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    background: #000000 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: none !important;
}

.ea-standard .ea-btn:hover,
.ea-standard .ea-btn:focus,
.ea-standard .ea-btn:active {
    background: #000000 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
}

/* --- Calendar widget container --- */
.ea-standard .ui-datepicker-inline {
    font-family: 'Plus Jakarta Sans', sans-serif;
    border: 1px solid #e0e0e0;
    border-radius: 0;
    background: #ffffff;
    width: 100%;
    max-width: 420px;
    padding: 0;
}

/* --- Calendar header (black bar with month/year + arrows) --- */
.ea-standard .ui-datepicker-header {
    background: #000000 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 14px 18px !important;
    position: relative;
}

.ea-standard .ui-datepicker-title {
    font-family: Poppins, sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    text-align: center;
}

.ea-standard .ui-datepicker-title .ui-datepicker-month,
.ea-standard .ui-datepicker-title .ui-datepicker-year {
    color: #ffffff !important;
}

/* --- Prev/Next month arrows --- */
.ea-standard .ui-datepicker-prev,
.ea-standard .ui-datepicker-next {
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.ea-standard .ui-datepicker-prev {
    left: 10px !important;
}

.ea-standard .ui-datepicker-next {
    right: 10px !important;
}

.ea-standard .ui-datepicker-prev .ui-icon,
.ea-standard .ui-datepicker-next .ui-icon {
    background-image: none !important;
    text-indent: -9999px !important;
    overflow: hidden;
    width: 20px;
    height: 20px;
    display: block;
    position: relative;
}

.ea-standard .ui-datepicker-prev .ui-icon::before,
.ea-standard .ui-datepicker-next .ui-icon::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-indent: 0;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1;
}

.ea-standard .ui-datepicker-prev .ui-icon::before {
    content: '‹';
}

.ea-standard .ui-datepicker-next .ui-icon::before {
    content: '›';
}

/* Keep calendar always interactive — EA disables the step when no slots found,
   which would trap the user with no way to pick a different day */
.ea-standard .step.calendar,
.ea-standard .step.calendar.disabled {
    pointer-events: auto !important;
    opacity: 1 !important;
}

.ea-standard .step.calendar * {
    pointer-events: auto !important;
}

/* Disabled prev arrow (no earlier month available) */
.ea-standard .ui-datepicker-prev.ui-state-disabled {
    opacity: 0.35;
    cursor: default;
}

/* --- Calendar table --- */
.ea-standard .ui-datepicker-calendar {
    width: 100%;
    border-collapse: collapse;
    padding: 8px 12px 16px;
}

/* Day-of-week headers */
.ea-standard .ui-datepicker-calendar thead th {
    font-family: Poppins, sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #888888;
    padding: 12px 0 8px;
    text-align: center;
    border: none;
    background: transparent;
}

/* Table cells */
.ea-standard .ui-datepicker-calendar tbody td {
    padding: 2px;
    text-align: center;
    border: none;
    background: transparent;
}

/* Day number links and spans */
.ea-standard .ui-datepicker-calendar tbody td a,
.ea-standard .ui-datepicker-calendar tbody td span.ui-state-default {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #111111;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0 auto;
    border: none !important;
    border-radius: 0;
    background: transparent;
    text-decoration: none;
    transition: background 150ms ease, color 150ms ease;
}

/* Hoverable available days */
.ea-standard .ui-datepicker-calendar tbody td a:hover {
    background: #f0f0f0 !important;
    color: #000000 !important;
    border: none !important;
}

/* Today's date */
.ea-standard .ui-datepicker-calendar .ui-state-highlight {
    background: transparent !important;
    color: #000000 !important;
    font-weight: 700 !important;
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
}

/* Selected date */
.ea-standard .ui-datepicker-calendar .ui-state-active {
    background: #000000 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
}

/* Disabled / past dates */
.ea-standard .ui-datepicker-calendar td.ui-state-disabled span.ui-state-default,
.ea-standard .ui-datepicker-calendar td.ui-datepicker-unselectable span {
    color: #cccccc !important;
    font-weight: 400;
}

/* Other-month filler cells */
.ea-standard .ui-datepicker-calendar .ui-datepicker-other-month span {
    color: #e0e0e0 !important;
}

/* TIME SLOT PILLS */
.ea-standard .time {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border: 0px !important;
}
.ea-standard a.time-value,
.ea-standard a.time-value:link,
.ea-standard a.time-value:visited {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: #111111 !important;
    background: #ffffff !important;
    border: 1px solid #cccccc !important;
    padding: 4px 10px !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1.4 !important;
    border-radius: 0 !important;
}
.ea-standard a.time-value:hover,
.ea-standard a.time-value:focus {
    border-color: #000000 !important;
    color: #000000 !important;
    background: #f5f5f5 !important;
    text-decoration: none !important;
}
.ea-standard a.time-value.selected-time,
.ea-standard a.time-value.selected-time:link,
.ea-standard a.time-value.selected-time:visited,
.ea-standard a.time-value.selected-time:hover,
.ea-standard a.time-value.selected-time:focus {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

/* =========================================================
   SPACES PAGE
   ========================================================= */
.spc-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 24px 60px;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.spc-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 36px;
}
.spc-pill,
.spc-pill:link,
.spc-pill:visited {
    display: inline-block;
    padding: 7px 18px;
    border: 1.5px solid #000000;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    font-family: Poppins, sans-serif;
    text-decoration: none;
    color: #000000;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: background 200ms ease, color 200ms ease;
}
.spc-pill:hover,
.spc-pill:hover:link,
.spc-pill:hover:visited {
    background: #000000;
    color: #ffffff !important;
}
.spc-pill--more,
.spc-pill--more:link,
.spc-pill--more:visited {
    background: #000000;
    color: #ffffff !important;
}
.spc-pill--more:hover {
    background: #333333;
    color: #ffffff !important;
}
.spc-intro {
    font-size: 1rem;
    line-height: 1.7;
    color: #333333;
    max-width: 760px;
    margin-bottom: 48px;
}
.spc-section-title {
    font-family: Poppins, sans-serif;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #888888;
    margin: 0 0 24px;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 10px;
}
.spc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
    background: #e0e0e0;
    margin-bottom: 2px;
}
.spc-card {
    background: #ffffff;
    padding: 36px 32px 40px;
}
.spc-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}
.spc-card-num {
    font-family: Poppins, sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #f0f0f0;
    line-height: 1;
}
.spc-card-badge {
    font-family: Poppins, sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: #000000;
    color: #ffffff;
    padding: 4px 10px;
}
.spc-card-type {
    font-family: Poppins, sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #000000;
    margin: 0 0 10px;
}
.spc-card-who {
    font-size: 0.8125rem;
    color: #666666;
    line-height: 1.5;
    margin: 0 0 18px;
    font-style: italic;
}
.spc-card-features {
    margin: 0;
    padding: 0;
    list-style: none;
}
.spc-card-features li {
    font-size: 0.875rem;
    color: #333333;
    line-height: 1.6;
    padding: 5px 0 5px 18px;
    border-bottom: 1px solid #f2f2f2;
    position: relative;
}
.spc-card-features li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: #999999;
    font-size: 0.75rem;
    top: 7px;
}
.spc-building {
    background: #f3f3f3;
    margin-bottom: 60px;
}
.spc-building-stats {
    display: flex;
    background: #000000;
    padding: 28px 40px;
}
.spc-building-stat {
    flex: 1;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,0.15);
    padding: 0 20px;
}
.spc-building-stat:last-child {
    border-right: none;
}
.spc-stat-num {
    display: block;
    font-family: Poppins, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.1;
}
.spc-stat-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 4px;
}
.spc-building-body {
    display: block;
}
.spc-building-text {
    padding: 48px 48px 32px;
}
.spc-building-title {
    font-family: Poppins, sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #000000;
    margin: 0 0 16px;
}
.spc-building-text p {
    font-size: 0.9375rem;
    line-height: 1.75;
    color: #444444;
    margin: 0 0 16px;
}
.spc-building-plan {
    display: block;
    padding: 0 0 0;
}
.spc-floorplan-img {
    width: 100%;
    height: auto;
    object-fit: unset;
    display: block;
}
.spc-building-caption {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #888888;
    text-align: center;
    background: #ffffff;
    padding: 12px 0 24px;
    font-style: italic;
    margin: 0;
}
.spc-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    background: transparent;
    margin-bottom: 60px;
}
.spc-gallery-item img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}
.spc-cta {
    background: #000000;
    color: #ffffff;
    text-align: center;
    padding: 72px 32px;
}
.spc-cta-eyebrow {
    font-family: Poppins, sans-serif;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
    margin: 0 0 12px;
}
.spc-cta-headline {
    font-family: Poppins, sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 16px;
    letter-spacing: -0.01em;
}
.spc-cta-sub {
    font-size: 0.9375rem;
    color: rgba(255,255,255,0.7);
    line-height: 1.65;
    margin: 0 auto 32px;
    max-width: 520px;
}
.spc-cta-btn,
.spc-cta-btn:link,
.spc-cta-btn:visited {
    display: inline-block;
    background: transparent;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 40px;
    border: 2px solid #ffffff;
    box-shadow: inset 0 0 0 0px #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}
.spc-cta-btn:hover,
.spc-cta-btn:focus {
    box-shadow: inset 0 0 0 200px #ffffff;
    color: #000000 !important;
    text-decoration: none !important;
}
@media (max-width: 768px) {
    .spc-grid { grid-template-columns: 1fr; }
    .spc-building-body { grid-template-columns: 1fr; }
    .spc-building-text { padding: 32px 24px; }
    .spc-building-stats { flex-direction: column; gap: 16px; padding: 24px; }
    .spc-building-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.15); padding-bottom: 16px; }
    .spc-building-stat:last-child { border-bottom: none; }
    .spc-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* =========================================================
SEATTLE SUITES LANDING PAGE
========================================================= */

/* --- page wrapper --- */
.sea-wrap {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #1a1a1a;
}

/* --- stats bar (dark) --- */
.sea-stats-bar {
    background: #0d1117;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    padding: 0;
}
.sea-stat {
    flex: 1 1 0;
    min-width: 140px;
    text-align: center;
    padding: 28px 24px;
    border-right: 1px solid rgba(255,255,255,0.12);
}
.sea-stat:last-child { border-right: none; }
.sea-stat-num {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 6px;
}
.sea-stat-label {
    display: block;
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(255,255,255,0.55);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* --- section wrapper --- */
.sea-section {
    padding: 80px 48px;
}
.sea-section--gray {
    background: #e3e6e8;
}
.sea-section--dark {
    background: #0d1117;
}
.sea-section--black {
    background: #000000;
}
.sea-section-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 1.6px;
    line-height: 26.6px;
    text-transform: uppercase;
    color: #181818;
    opacity: 0.8;
    text-align: center;
    margin-top: 0;
    margin-bottom: 20.9px;
    padding: 0;
}
.sea-section-eyebrow--white {
    color: #ffffff !important;
    opacity: 1 !important;
}
.sea-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin: 0 0 20px;
    line-height: 1.15;
}
.sea-section-title--white {
    color: #ffffff;
}
.sea-section-body {
    font-size: 1rem;
    line-height: 1.75;
    color: #444;
    max-width: 680px;
}
.sea-section-body--white {
    color: rgba(255,255,255,0.75);
}

/* --- two-column location grid --- */
.sea-location-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    max-width: 1100px;
    margin: 0 auto;
}
.sea-map-frame {
    width: 100%;
    height: 380px;
    border: none;
    border-radius: 4px;
    display: block;
}

/* --- demand data row --- */
.sea-demand-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 900px;
    margin: 32px auto 0;
}
.sea-demand-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    padding: 28px 24px;
    text-align: center;
}
.sea-demand-num {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 2.25rem;
    font-weight: 700;
    color: #000000;
    line-height: 1;
    margin-bottom: 8px;
}
.sea-demand-label {
    font-size: 0.85rem;
    color: #666;
    line-height: 1.5;
}

/* --- perks grid --- */
.sea-perks-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 960px;
    margin: 32px auto 0;
}
.sea-perk-card {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    padding: 32px 28px;
}
.sea-perk-icon {
    font-size: 2.25rem;
    margin-bottom: 12px;
    display: block;
    text-align: center;
}
.sea-perk-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 8px;
    text-align: center;
}
.sea-perk-body {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.65;
    margin: 0;
}

/* --- suite specs mini-table --- */
.sea-suite-table {
    width: 100%;
    max-width: 700px;
    border-collapse: collapse;
    margin: 30px auto 0 !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
}
.sea-suite-table th {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: #000000;
    color: #ffffff;
    border-bottom: none;
    padding: 12px 16px;
    text-align: left;
}
.sea-suite-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #e0e0e0 !important;
    background: #ffffff;
    font-size: 0.925rem;
    color: #333;
}
.sea-suite-table tr:last-child td { border-bottom: none !important; }
.sea-suite-table td:first-child { font-weight: 700; color: #000; }
.sea-suite-table { border: 1px solid #e0e0e0 !important; }

/* --- 3-image grid --- */
.sea-img-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
}
.sea-img-grid img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}

/* --- CTA block (dark) --- */
.sea-cta-inner {
    text-align: center;
    max-width: 620px;
    margin: 0 auto;
}
.sea-cta-note {
    display: block;
    margin-top: 20px;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
    letter-spacing: 0.06em;
}
.sea-cta-btn,
.sea-cta-btn:link,
.sea-cta-btn:visited {
    display: inline-block;
    background: transparent;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 44px;
    border: 2px solid #ffffff;
    box-shadow: inset 0 0 0 0px #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}
.sea-cta-btn:hover,
.sea-cta-btn:focus {
    box-shadow: inset 0 0 0 200px #ffffff;
    color: #000000 !important;
    text-decoration: none !important;
}

/* --- hero note spacing override --- */
.sea-hero-override .bap-hero-note {
    margin-top: 30px;
    display: block;
}

/* --- VIEW FULL SUITE DETAILS button (black-fill scale animation) --- */
.sea-suite-btn,
.sea-suite-btn:link,
.sea-suite-btn:visited {
    position: relative;
    overflow: hidden;
    display: inline-block;
    background: #ffffff;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 16px 40px;
    border: 2px solid #000000;
    box-shadow: none;
    transition: color 300ms ease;
}
.sea-suite-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
.sea-suite-btn span {
    position: relative;
    z-index: 1;
}
.sea-suite-btn:hover::before,
.sea-suite-btn:focus::before {
    transform: scale(0);
}
.sea-suite-btn:hover,
.sea-suite-btn:focus {
    color: #000000 !important;
    text-decoration: none !important;
}

/* --- CTA section bottom clearance --- */
.bt_bb_section:has(.tour-cta) {
    padding-bottom: 50px !important;
}

/* --- BoldThemes full-width port override for sea hero --- */
.bt_bb_section:has(.sea-hero-override) .bt_bb_port {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* --- mobile --- */
@media (max-width: 768px) {
    .sea-location-grid { grid-template-columns: 1fr; }
    .sea-demand-grid { grid-template-columns: 1fr; }
    .sea-perks-grid { grid-template-columns: 1fr; }
    .sea-img-grid { grid-template-columns: 1fr; }
    .sea-stats-bar { flex-direction: column; }
    .sea-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
    .sea-stat:last-child { border-bottom: none; }
    .sea-section { padding: 48px 24px; }
    .sea-section-title { font-size: 1.5rem; }
}

/* =========================================================
100. BLOG SINGLE POST — HIDE COMMENT COUNT IN META
========================================================= */
.btArticleComments,
.btArticleAuthor + .btSep {
    display: none !important;
}

/* =========================================================
101. BLOG SINGLE POST — CONTENT SPACING & H2/H3 STYLES
========================================================= */
.single-post .btPostSingleItemStandard.gutter {
    padding-top: 0 !important;
}
.single-post .btContentWrap,
.single-post .btContentWrapIn {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.single-post .btPageHeadline {
    margin-bottom: 0 !important;
}
.single-post .bt-content-holder {
    margin-top: 0 !important;
    padding-top: 60px !important;
    background: #ffffff;
}
.single-post .bt-content,
.single-post .bt-content > article,
.single-post .btArticleContent,
.single-post .btArticleContent .bt_bb_wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.single-post .btArticleMedia {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* H2 — editorial weight, clean Poppins */
.single-post .btArticleContent h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-size: 28.8px;
    font-weight: 400;
    line-height: 46.08px;
    color: #181818;
    margin: 48px 0 0;
    padding-bottom: 5.76px;
    letter-spacing: normal;
    clear: both;
    display: block;
}

/* H3 — smaller, heavier than h2 */
.single-post .btArticleContent h3 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.45;
    color: #181818;
    margin: 36px 0 8px;
    padding: 0;
    clear: both;
    display: block;
}

/* HR — hide all horizontal rules in blog post body */
.single-post .btArticleContent hr {
    display: none !important;
}

/* First paragraph — larger bold intro with drop cap */
.single-post .btArticleContent .bt_bb_wrapper > p:first-of-type {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.65;
    color: #111111;
}
.single-post .btArticleContent .bt_bb_wrapper > p:first-of-type::first-letter {
    float: left;
    font-family: 'Poppins', sans-serif;
    font-size: 5.2em;
    font-weight: 700;
    line-height: 0.78;
    margin: 6px 12px 0 0;
    color: #000000;
}

/* Author bio box — hide on single posts */
.single-post .bg-light {
    display: none !important;
}

/* Prev/Next navigation — hover visible */
.btPrevNext .btPrevNextItem:hover .btPrevNextTitle,
.btPrevNext .btPrevNextItem a:hover .btPrevNextTitle,
.btPrevNext .btPrevNextTitle a:hover,
.btPrevNext .btPrevNextTitle a:focus {
    color: #000000 !important;
}

/* =========================================================
102. FAQ PAGE
========================================================= */
.ts-faq-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 60px 24px 80px;
}

/* Hero */
.ts-faq-hero {
    text-align: center;
    margin-bottom: 60px;
}
.ts-faq-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 12px;
}
.ts-faq-title {
    font-family: Poppins, sans-serif;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #000;
    margin: 0 0 16px;
    line-height: 1.1;
}
.ts-faq-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
    margin: 0;
}

/* Category sections */
.ts-faq-cat {
    margin-bottom: 48px;
}
.ts-faq-cat-title {
    font-family: Poppins, sans-serif;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #000;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #000;
}

/* Accordion items */
.ts-faq-item {
    border-bottom: 1px solid #e8e8e8;
}
.ts-faq-item:first-of-type {
    border-top: 1px solid #e8e8e8;
}
.ts-faq-q {
    font-family: Poppins, sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    color: #000;
    padding: 18px 40px 18px 0;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    position: relative;
}
.ts-faq-q::-webkit-details-marker { display: none; }
.ts-faq-q::after {
    content: '+';
    font-size: 1.4rem;
    font-weight: 300;
    color: #000;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 300ms ease;
    line-height: 1;
}
.ts-faq-item[open] .ts-faq-q::after {
    content: '−';
}
.ts-faq-a {
    padding: 0 40px 20px 0;
}
.ts-faq-a p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.95rem;
    line-height: 1.75;
    color: #444;
    margin: 0;
}

/* CTA block */
.ts-faq-cta {
    background: #000;
    color: #fff;
    text-align: center;
    padding: 56px 40px;
    margin-top: 60px;
}
.ts-faq-cta-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin: 0 0 12px;
}
.ts-faq-cta-title {
    font-family: Poppins, sans-serif;
    font-size: clamp(1.4rem, 3vw, 1.9rem);
    font-weight: 700;
    color: #fff;
    margin: 0 0 14px;
    line-height: 1.15;
}
.ts-faq-cta-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.95rem;
    color: rgba(255,255,255,0.7);
    line-height: 1.65;
    max-width: 520px;
    margin: 0 auto 32px;
}
.ts-faq-cta-btns {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
.ts-faq-btn {
    font-family: Poppins, sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 14px 32px;
    display: inline-block;
    transition: background 250ms ease, color 250ms ease;
}
.ts-faq-btn--primary,
.ts-faq-btn--primary:link,
.ts-faq-btn--primary:visited {
    background: #fff;
    color: #000 !important;
    border: 2px solid #fff;
}
.ts-faq-btn--primary:hover { background: transparent; color: #fff !important; }
.ts-faq-btn--secondary,
.ts-faq-btn--secondary:link,
.ts-faq-btn--secondary:visited {
    background: transparent;
    color: #fff !important;
    border: 2px solid rgba(255,255,255,0.4);
}
.ts-faq-btn--secondary:hover { border-color: #fff; color: #fff !important; }

/* =========================================================
103. BLOG POST — TABLES, STATS & CTA BLOCKS
========================================================= */

/* --- Comparison table --- */
.blog-compare-table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
}
.blog-compare-table th {
    background: #000000;
    color: #ffffff;
    padding: 14px 18px;
    text-align: center !important;
    font-family: 'Poppins', sans-serif;
    font-weight: 700 !important;
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.blog-compare-table th:first-child {
    text-align: center !important;
    background: #1a1a1a;
}
.blog-compare-table th.col-highlight {
    background: #5391CD;
}
.blog-compare-table td {
    padding: 13px 18px;
    border-bottom: 1px solid #e8e8e8;
    text-align: center;
    color: #333333;
    vertical-align: middle;
}
.blog-compare-table td:first-child {
    text-align: center;
    font-weight: 600;
    color: #000000;
    background: #f9f9f9;
}
.blog-compare-table tr:last-child td {
    border-bottom: none;
}
.blog-compare-table tr:nth-child(even) td {
    background: #f4f4f4;
}
.blog-compare-table tr:nth-child(even) td:first-child {
    background: #eeeeee;
}
.blog-compare-table td.col-highlight {
    background: #EBF3FB !important;
    color: #2E3B4C;
    font-weight: 600;
}
.blog-compare-table em {
    display: block;
    font-size: 13px;
    color: #888888;
    margin-top: 4px;
    font-style: normal;
}

/* --- Stat grid --- */
.blog-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    margin: 32px 0;
    background: #000000;
}
.blog-stat-card {
    background: linear-gradient(135deg, #000000 0%, #222222 100%);
    border-right: 1px solid #2a2a2a;
    border-bottom: 1px solid #2a2a2a;
    padding: 36px 20px 32px;
    text-align: center;
}
.blog-stat-card:nth-child(3n) { border-right: none; }
.blog-stat-card:nth-last-child(-n+3) { border-bottom: none; }
.blog-stat-card-num {
    font-family: 'Poppins', sans-serif;
    font-size: 2.75rem;
    font-weight: 700;
    color: #ffffff;
    display: block;
    line-height: 1;
    margin-bottom: 10px;
}
.blog-stat-card-label {
    font-size: 11px;
    color: rgba(255,255,255,0.85);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: block;
    line-height: 1.5;
}

/* --- Highlight box --- */
.blog-highlight-box {
    border-left: 4px solid #000000;
    background: #f7f8f8;
    padding: 20px 24px;
    margin: 24px 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #333333;
}
.blog-highlight-box strong {
    display: inline !important;
    color: #000000;
}
.blog-highlight-box > strong:first-child {
    display: block !important;
    margin-bottom: 6px;
}
.blog-compare-table th em {
    color: #ffffff !important;
}

/* --- Who-grid (3 columns) --- */
.blog-who-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 32px 0;
}
.blog-who-card {
    padding: 24px;
    border: 1px solid #e0e0e0;
    border-top: 3px solid #000000;
}
.blog-who-card h4 {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #000000;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e0e0e0;
}
.blog-who-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.blog-who-card ul li {
    font-size: 14px;
    color: #444444;
    padding: 6px 0 6px 18px;
    position: relative;
    line-height: 1.5;
    border-bottom: 1px solid #f2f2f2;
}
.blog-who-card ul li:last-child { border-bottom: none; }
.blog-who-card ul li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: #000000;
    font-weight: 700;
}

/* --- CTA block --- */
.blog-cta-block {
    background: #000000;
    color: #ffffff;
    padding: 48px 40px;
    text-align: center;
    margin: 48px 0 24px;
    border-radius: 4px;
}
.blog-cta-block h3 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 40px !important;
    font-weight: 400 !important;
    letter-spacing: -0.4px !important;
    line-height: 48px !important;
    color: #ffffff !important;
    margin: 0 0 16px !important;
    padding-bottom: 8px;
    text-align: center !important;
    text-transform: uppercase !important;
}
.blog-cta-block p {
    color: rgba(255,255,255,0.8);
    margin: 0 0 24px;
    font-size: 15px;
}
.blog-cta-btn,
.blog-cta-btn:link,
.blog-cta-btn:visited {
    display: inline-block;
    background: #ffffff;
    color: #000000 !important;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 13px 28px;
    text-decoration: none !important;
    border: 2px solid #ffffff;
    margin: 4px;
    transition: background 300ms ease, color 300ms ease;
}
.blog-cta-btn:hover {
    background: transparent;
    color: #ffffff !important;
}
.blog-cta-btn--outline,
.blog-cta-btn--outline:link,
.blog-cta-btn--outline:visited {
    background: transparent;
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.5);
}
.blog-cta-btn--outline:hover {
    border-color: #ffffff;
    color: #ffffff !important;
}

/* --- Table note --- */
.blog-table-note {
    font-size: 13px;
    color: #888888;
    font-style: italic;
    margin-top: 20px;
    margin-bottom: 24px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .blog-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .blog-who-grid { grid-template-columns: 1fr; }
    .blog-compare-table { font-size: 13px; }
    .blog-compare-table th,
    .blog-compare-table td { padding: 10px 12px; }
    .blog-cta-block { padding: 32px 20px; }
    .blog-cta-block h3 { font-size: 1.2rem; }
}
@media (max-width: 480px) {
    .blog-stat-grid { grid-template-columns: 1fr; }
}

/* =========================================================
104. SINGLE BLOG POST — MAGAZINE HERO LAYOUT
========================================================= */

/* Hero: stacking context for absolute port — no flex needed */
.single-post .btPageHeadline {
    min-height: 72vh !important;
    position: relative !important;
    display: block !important;
}

/* Keep overlay full-size */
.single-post .btPageHeadline::after {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important; height: 100% !important;
    z-index: 0 !important;
}

/* Port: pinned absolutely to bottom-left corner — immune to theme JS */
.single-post .btPageHeadline .bt_bb_port {
    position: absolute !important;
    bottom: 60px !important;
    left: 107px !important;
    z-index: 1 !important;
    width: 62% !important;
    max-width: 800px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Flatten all inner containers so they don't add height */
.single-post .btPageHeadline .bt_bb_cell,
.single-post .btPageHeadline .bt_bb_cell_inner,
.single-post .btPageHeadline .bt_bb_row,
.single-post .btPageHeadline .bt_bb_column,
.single-post .btPageHeadline .bt_bb_column_content {
    display: block !important;
    position: static !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    vertical-align: unset !important;
}

/* Replace solid dark overlay with bottom-heavy gradient */
.single-post .btPageHeadline.bt_bb_background_overlay_dark_solid::after {
    background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.5) 40%, rgba(0,0,0,0.08) 100%) !important;
}

/* Left-align all hero content — constrain to left half so face on right stays clear */
.single-post .btPageHeadline .bt_bb_column_content,
.single-post .btPageHeadline header.bt_bb_headline {
    text-align: left !important;
}

/* Category pills */
.single-post .btPageHeadline .bt_bb_headline_superheadline_outside {
    margin-bottom: 14px;
    display: block;
}
.single-post .btPageHeadline .btArticleCategory {
    display: inline-block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ffffff !important;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.3);
    padding: 4px 12px;
    margin-right: 6px;
    border-radius: 2px;
    text-decoration: none !important;
}
.single-post .btPageHeadline .btArticleCategory:hover {
    background: rgba(255,255,255,0.25);
    color: #ffffff !important;
}

/* Post title */
.single-post .btPageHeadline h1.bt_bb_headline_tag,
.single-post .btPageHeadline .bt_bb_headline_tag {
    font-family: 'Poppins', sans-serif !important;
    font-size: clamp(2.4rem, 3.5vw, 4rem) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 0 20px !important;
    letter-spacing: -0.02em;
    text-align: left !important;
}
.single-post .btPageHeadline .bt_bb_headline_content,
.single-post .btPageHeadline .bt_bb_headline_content span {
    color: #ffffff !important;
}

/* Meta: date, author */
.single-post .btPageHeadline .bt_bb_headline_subheadline {
    text-align: left !important;
    color: rgba(255,255,255,0.7) !important;
    font-size: 15px;
}
.single-post .btPageHeadline .btArticleDate,
.single-post .btPageHeadline .btArticleAuthor,
.single-post .btPageHeadline .btArticleAuthor a {
    color: rgba(255,255,255,0.7) !important;
    font-size: 15px !important;
    text-decoration: none !important;
}
.single-post .btPageHeadline .btSep {
    color: rgba(255,255,255,0.35) !important;
}

/* Hide comment count from hero */
.single-post .btPageHeadline .btArticleComments {
    display: none !important;
}

@media (max-width: 768px) {
    .single-post .btPageHeadline,
    .single-post .btPageHeadline .bt_bb_port {
        min-height: 55vh !important;
        height: 55vh !important;
    }
    .single-post .btPageHeadline .bt_bb_cell_inner {
        padding-bottom: 36px;
        padding-left: 24px;
    }
}

/* =========================================================
   FOOTER — FORCE WHITE TEXT
   (undoes color:#181818 inherited from body/li rule)
========================================================= */
.btFooter,
.btFooter li,
.btFooter a,
.btFooter a:link,
.btFooter a:visited,
.btFooter p,
.btFooter span {
    color: #ffffff !important;
}

/* =========================================================
   DARK SKIN SECTIONS — PRESERVE WHITE TEXT
   (undoes color:#181818 on p/li in dark-background sections)
========================================================= */
.btDarkSkin p,
.btDarkSkin li,
.btDarkSkin .bt_bb_text p {
    color: #ffffff;
}




/* =====================================================
   ADDITIONS FROM POST 4776 — APPENDED TO STYLE.CSS
   ===================================================== */

/* =========================================================
1. GLOBAL FONT + COLOR RESETS
========================================================= */

body,
p,
li,
td,
th,
label,
span:not(.bt_bb_icon_holder):not([class*="fa-"]) {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: Poppins, Arial, Helvetica, sans-serif;
}

a {
    color: #5391CD;
}


/* =========================================================
NAVIGATION — COLOR OVERRIDE FOR LIGHT HEADER LOGO
========================================================= */

#bt_bb_header a {
    color: #ffffff !important;
}

#bt_bb_header a:hover {
    color: rgba(255,255,255,0.7) !important;
    text-decoration: none !important;
}

/* Keep logo image from inheriting white filter */
#bt_bb_header .bt_bb_image img {
    filter: none !important;
}


/* =========================================================
NAVIGATION — MOBILE MENU (HAMBURGER)
========================================================= */

@media (max-width: 1024px) {
    #bt_bb_header .btMobileMenuWrap {
        background: #000000 !important;
    }
    #bt_bb_header .btMobileMenuWrap a,
    #bt_bb_header .btMobileMenuWrap li a {
        color: #ffffff !important;
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-size: 1rem !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
    }
    #bt_bb_header .btMobileMenuWrap a:hover {
        color: rgba(255,255,255,0.7) !important;
    }
}


/* =========================================================
HEADER — BACKGROUND AND LOGO COLORS
========================================================= */

#bt_bb_header .btHeader {
    background: #000000 !important;
}

#bt_bb_header .btLogo img {
    filter: brightness(1) invert(0) !important;
}


/* =========================================================
HEADER — STICKY SCROLL TREATMENT
========================================================= */

.btSticky #bt_bb_header {
    background: #000000 !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.18) !important;
}


/* =========================================================
TS-ABOUT SPLIT SECTION
========================================================= */

.ts-about-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
}

.ts-about-img-col {
    position: relative;
    overflow: hidden;
}

.ts-about-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ts-about-text-col {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px 56px;
    background: #ffffff;
}

.ts-about-text-inner {
    max-width: 460px;
}

.ts-about-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #888888;
    margin-bottom: 18px;
}

.ts-about-heading {
    font-family: Poppins, sans-serif;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 700;
    line-height: 1.18;
    color: #111111;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.ts-about-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.95rem;
    line-height: 1.75;
    color: #555555;
    margin-bottom: 32px;
}

@media (max-width: 768px) {
    .ts-about-split { grid-template-columns: 1fr; }
    .ts-about-img-col { height: 260px; }
    .ts-about-text-col { padding: 48px 28px; }
}


/* =========================================================
TS-SUITES SPLIT SECTION
========================================================= */

.ts-suites-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
}

.ts-suites-img-col {
    position: relative;
    overflow: hidden;
}

.ts-suites-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ts-suites-text-col {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px 56px;
    background: #F5F5F5;
}

.ts-suites-text-inner {
    max-width: 460px;
}

.ts-suites-section .bt_bb_headline_superheadline {
    color: rgba(0,0,0,0.45) !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

.ts-suites-section .bt_bb_headline_tag {
    color: #000000 !important;
    font-size: clamp(1.8rem, 3.5vw, 2.4rem) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 24px !important;
}

.ts-suites-section .bt_bb_text_holder {
    color: #555555 !important;
    font-size: 0.95rem !important;
    line-height: 1.75 !important;
}

@media (max-width: 768px) {
    .ts-suites-section { grid-template-columns: 1fr; }
    .ts-suites-img-col { height: 260px; }
    .ts-suites-text-col { padding: 48px 28px; }
}


/* =========================================================
TS-COMMUNITY SPLIT SECTION
========================================================= */

.ts-community-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
}

.ts-community-img-col {
    position: relative;
    overflow: hidden;
    order: 2;
}

.ts-community-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ts-community-text-col {
    order: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px 56px;
    background: #ffffff;
}

.ts-community-text-inner {
    max-width: 460px;
}

.ts-community-section .bt_bb_headline_superheadline {
    color: rgba(0,0,0,0.45) !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

.ts-community-section .bt_bb_headline_tag {
    color: #000000 !important;
    font-size: clamp(1.8rem, 3.5vw, 2.4rem) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 24px !important;
}

.ts-community-section .bt_bb_text_holder {
    color: #555555 !important;
    font-size: 0.95rem !important;
    line-height: 1.75 !important;
}

@media (max-width: 768px) {
    .ts-community-section {
        grid-template-columns: 1fr;
    }
    .ts-community-img-col {
        order: 1;
        height: 260px;
    }
    .ts-community-text-col {
        order: 2;
        padding: 48px 28px;
    }
}


/* =========================================================
BT_BB_BUTTON — LOCATIONS BUTTON (ts-locations-btn)
========================================================= */

.bt_bb_button.ts-locations-btn .bt_bb_link,
.bt_bb_button.ts-locations-btn a {
    position: relative !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    text-decoration: none !important;
}

.bt_bb_button.ts-locations-btn .bt_bb_link::before,
.bt_bb_button.ts-locations-btn a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.bt_bb_button.ts-locations-btn .bt_bb_link span,
.bt_bb_button.ts-locations-btn a span {
    position: relative;
    z-index: 1;
}

.bt_bb_button.ts-locations-btn .bt_bb_link:hover::before,
.bt_bb_button.ts-locations-btn a:hover::before {
    transform: scale(0);
}

.bt_bb_button.ts-locations-btn .bt_bb_link:hover,
.bt_bb_button.ts-locations-btn a:hover {
    color: #000000 !important;
    box-shadow: none !important;
}


/* =========================================================
BT_BB_BUTTON — WHO WE ARE BUTTON (ts-who-we-are-btn)
========================================================= */

.bt_bb_button.ts-who-we-are-btn .bt_bb_link,
.bt_bb_button.ts-who-we-are-btn a {
    position: relative !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    text-decoration: none !important;
}

.bt_bb_button.ts-who-we-are-btn .bt_bb_link,
.bt_bb_button.ts-who-we-are-btn .bt_bb_link:link,
.bt_bb_button.ts-who-we-are-btn .bt_bb_link:visited,
.bt_bb_button.ts-who-we-are-btn a,
.bt_bb_button.ts-who-we-are-btn a:link,
.bt_bb_button.ts-who-we-are-btn a:visited {
    color: #ffffff !important;
}

.bt_bb_button.ts-who-we-are-btn .bt_bb_link::before,
.bt_bb_button.ts-who-we-are-btn a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #ffffff;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.bt_bb_button.ts-who-we-are-btn .bt_bb_link span,
.bt_bb_button.ts-who-we-are-btn a span {
    position: relative;
    z-index: 1;
    color: #000000 !important;
}

.bt_bb_button.ts-who-we-are-btn .bt_bb_link:hover::before,
.bt_bb_button.ts-who-we-are-btn a:hover::before {
    transform: scale(0);
}

.bt_bb_button.ts-who-we-are-btn .bt_bb_link:hover,
.bt_bb_button.ts-who-we-are-btn a:hover {
    color: #ffffff !important;
    box-shadow: none !important;
}

.bt_bb_button.ts-who-we-are-btn .bt_bb_link:hover span,
.bt_bb_button.ts-who-we-are-btn a:hover span {
    color: #ffffff !important;
}


/* =========================================================
BT_BB_BUTTON — COMMUNITY BUTTON (ts-community-btn)
========================================================= */

.bt_bb_button.ts-community-btn .bt_bb_link,
.bt_bb_button.ts-community-btn a {
    position: relative !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    text-decoration: none !important;
}

.bt_bb_button.ts-community-btn .bt_bb_link::before,
.bt_bb_button.ts-community-btn a::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.bt_bb_button.ts-community-btn .bt_bb_link span,
.bt_bb_button.ts-community-btn a span {
    position: relative;
    z-index: 1;
}

.bt_bb_button.ts-community-btn .bt_bb_link:hover::before,
.bt_bb_button.ts-community-btn a:hover::before {
    transform: scale(0);
}

.bt_bb_button.ts-community-btn .bt_bb_link:hover,
.bt_bb_button.ts-community-btn a:hover {
    color: #000000 !important;
    box-shadow: none !important;
}


/* =========================================================
SECTION HEADLINE SIZE OVERRIDES — ALL MAJOR SECTION HEADLINES 44px
========================================================= */

.ts-locations-section .bt_bb_headline_tag,
.ts-success-section .bt_bb_headline_tag,
.ts-contact-section .bt_bb_headline_tag,
.ts-instagram-section .bt_bb_headline_tag,
.ts-read-latest-section .bt_bb_headline_tag {
    font-size: 44px !important;
    line-height: 1.1 !important;
}


/* =========================================================
FOUNDING TENANT WRAPPER — BACKGROUND FIX (removes salmon bleed)
========================================================= */

.ts-founding-tenant-wrapper,
.ts-founding-tenant-wrapper .bt_bb_inner {
    background-color: #F5F5F5 !important;
}

/* =========================================================
   WHO WE ARE SECTION — HEADLINE 44px (matches other sections)
   ========================================================= */

.ts-who-we-are-section .bt_bb_headline_tag {
    font-size: 44px !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
}

.ts-who-we-are-section .bt_bb_headline_superheadline {
    font-size: 19px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

/* =========================================================
   NINJA FORMS — SUBMIT BUTTON: EDGES-TO-CENTER ANIMATION
   Uses .submit-wrap div (parent of input) for ::before trick.
   ========================================================= */

/* Make wrapper relative + overflow hidden for the scale animation */
.ts-waitlist-section .submit-wrap,
.ts-waitlist-section .nf-field-element.submit-wrap {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block !important;
    border: 2px solid #000000 !important;
    box-sizing: border-box !important;
}

/* Black fill layer via ::before on the wrapper */
.ts-waitlist-section .submit-wrap::before {
    content: '';
    position: absolute !important;
    inset: 0 !important;
    background: #000000 !important;
    transform: scale(1) !important;
    transform-origin: center !important;
    transition: transform 300ms ease !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Hover: shrink ::before from all edges toward center */
.ts-waitlist-section .submit-wrap:hover::before {
    transform: scale(0) !important;
}

/* The actual input sits above the ::before layer */
.ts-waitlist-section .submit-wrap input[type="submit"],
.ts-waitlist-section .submit-wrap .ninja-forms-field[type="submit"] {
    position: relative !important;
    z-index: 1 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 16px 40px !important;
    width: auto !important;
    display: block !important;
    margin: 0 auto !important;
    transition: color 300ms ease !important;
    box-shadow: none !important;
}

.ts-waitlist-section .submit-wrap:hover input[type="submit"],
.ts-waitlist-section .submit-wrap:hover .ninja-forms-field[type="submit"] {
    color: #000000 !important;
}

/* Remove old box-shadow styles that were on the input directly */
input.ninja-forms-field[value="JOIN THE WAITLIST"] {
    box-shadow: none !important;
}

/* =========================================================
   NINJA FORMS — WAITLIST INPUTS: WHITE BACKGROUND
   ========================================================= */

.ts-waitlist-section .nf-field-element input:not([type="submit"]),
.ts-waitlist-section .nf-field-element select,
.ts-waitlist-section .nf-field-element textarea {
    background-color: #ffffff !important;
    border: 1px solid #cccccc !important;
    border-radius: 0 !important;
    color: #111111 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.9rem !important;
    padding: 14px 18px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.ts-waitlist-section .nf-field-element input:focus,
.ts-waitlist-section .nf-field-element select:focus,
.ts-waitlist-section .nf-field-element textarea:focus {
    outline: none !important;
    border-color: #000000 !important;
}

/* =========================================================
   CONTACT SECTION — NINJA FORMS SUBMIT BUTTON: EDGES-TO-CENTER ANIMATION
   Same technique as waitlist: ::before on .submit-wrap scales to 0 on hover.
   ========================================================= */

.ts-contact-section .nf-form-cont .submit-wrap,
.ts-contact-section .nf-field-element.submit-wrap {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block !important;
    border: 2px solid #000000 !important;
    box-sizing: border-box !important;
}

.ts-contact-section .nf-form-cont .submit-wrap::before {
    content: '';
    position: absolute !important;
    inset: 0 !important;
    background: #000000 !important;
    transform: scale(1) !important;
    transform-origin: center !important;
    transition: transform 300ms ease !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

.ts-contact-section .nf-form-cont .submit-wrap:hover::before {
    transform: scale(0) !important;
}

.ts-contact-section .nf-form-cont .submit-wrap input[type="submit"],
.ts-contact-section .nf-form-cont .submit-wrap .ninja-forms-field[type="submit"] {
    position: relative !important;
    z-index: 1 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 16px 40px !important;
    width: auto !important;
    display: block !important;
    margin: 0 auto !important;
    transition: color 300ms ease !important;
    box-shadow: none !important;
}

.ts-contact-section .nf-form-cont .submit-wrap:hover input[type="submit"],
.ts-contact-section .nf-form-cont .submit-wrap:hover .ninja-forms-field[type="submit"] {
    color: #000000 !important;
}

/* Neutralize box-shadow ONLY on Ninja Forms inputs inside the contact section
   where the wrapper ::before approach handles the fill instead.
   Do NOT include wpcf7-submit here — CF7 inputs have no wrapper and need
   their own box-shadow: inset fill to work. */
.ts-contact-section input.ninja-forms-field[value="Send"] {
    box-shadow: none !important;
}

/* CF7 SEND BUTTON — exact copy of working .page-id-3031 pattern */
.page-id-2259 .btContactButton .submit-wrap {
    position: relative;
    overflow: hidden;
    display: inline-block;
    border: 2px solid #000000;
}

.page-id-2259 .btContactButton .submit-wrap::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: #000000 !important;
    transform: scale(1) !important;
    transform-origin: center !important;
    transition: transform 300ms ease !important;
    z-index: 0 !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: block !important;
    opacity: 1 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page-id-2259 .btContactButton .submit-wrap:hover::before {
    transform: scale(0) !important;
}

.page-id-2259 .btContactButton .submit-wrap input[type="submit"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    transition: color 300ms ease !important;
    cursor: pointer;
    width: auto !important;
    font-family: Poppins, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 18px 20px !important;
    border-radius: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.page-id-2259 .btContactButton .submit-wrap:hover input[type="submit"] {
    color: #000000 !important;
}

/* Hide the CF7 spinner */
.page-id-2259 .btContactButton .wpcf7-spinner {
    display: none !important;
}

/* =========================================================
   CONTACT SECTION — CF7 BUTTON BOTTOM SPACING FIX
   The input[type=submit] is display:block inside the inline-block
   span wrapper. The .wpcf7-spinner sits after it inline, creating
   an anonymous block row below the button and inflating the <p>
   height by ~40px of invisible space. Fix: pull spinner out of
   flow with position:absolute so span height = button height only.
   Also zero out the wpcf7-response-output which adds margin below.
   ========================================================= */

.ts-contact-section .wpcf7-spinner {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    margin-top: -12px !important;
}

.ts-contact-section .wpcf7-response-output {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    min-height: 0 !important;
    height: 0 !important;
}

/* =========================================================
   BLOG CATEGORY / ARCHIVE PAGES — HEADER + POST LISTING
   ========================================================= */

/* --- Compact header: collapse large spacing --- */
.bt-blog-header-content {
    background-color: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
}
.bt-blog-header-content .bt_bb_section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.bt-blog-header-content .bt_bb_separator {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}
.bt-blog-header-content .bt_bb_background_letter {
    padding: 28px 0 24px !important;
}
/* Hide the oversized decorative "B" letter */
.bt-blog-header-content .bt_bb_background_letter_letter {
    opacity: 0 !important;
}

/* --- Fix white-on-white: force dark text on light bg --- */
.bt-blog-header-content .bt_bb_headline_tag,
.bt-blog-header-content .bt_bb_headline_tag span {
    color: #000000 !important;
    font-size: 1.5rem !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}
.bt-blog-header-content .bt_bb_headline_subheadline {
    color: #888888 !important;
    font-size: 13px !important;
    letter-spacing: 0.08em !important;
    text-transform: none !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* --- Post card listing: reduce font sizes --- */
body.category .btPostListStandard .bt_bb_headline_tag,
body.archive .btPostListStandard .bt_bb_headline_tag {
    font-size: 1.05rem !important;
    line-height: 1.4 !important;
}
body.category .btPostListStandard .bt_bb_headline_tag a,
body.archive .btPostListStandard .bt_bb_headline_tag a {
    font-size: inherit !important;
}
body.category .btArticleCategory,
body.archive .btArticleCategory {
    font-size: 11px !important;
    letter-spacing: 0.05em !important;
}
body.category .btPostListStandard .btArticleContent p,
body.archive .btPostListStandard .btArticleContent p {
    font-size: 14px !important;
    line-height: 1.65 !important;
}
body.category .btPostListStandard .btArticleDate,
body.archive .btPostListStandard .btArticleDate,
body.category .btPostListStandard .btArticleAuthor,
body.archive .btPostListStandard .btArticleAuthor,
body.category .btPostListStandard .btArticleAuthor a,
body.archive .btPostListStandard .btArticleAuthor a {
    font-size: 13px !important;
}

/* =========================================================
   BLOG CATEGORY ARCHIVE — CUSTOM TEMPLATE (category.php)
   ========================================================= */

/* Full-width page: let archive content break out of any theme constraints */
.ts-cat-archive-page {
    width: 100%;
}

/* --- Compact header bar (≈ nav height) --- */
.ts-cat-header-bar {
    background: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
    min-height: 60px;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}
.ts-cat-header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
    width: 100%;
}
.ts-cat-header-inner--split {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ts-cat-header-back,
.ts-cat-header-back:link,
.ts-cat-header-back:visited {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #000000 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none !important;
}
.ts-cat-header-back:hover {
    text-decoration: underline !important;
}
.ts-cat-header-label {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #000000;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.ts-cat-header-label strong {
    font-weight: 700;
}
a.ts-cat-header-label,
a.ts-cat-header-label:link,
a.ts-cat-header-label:visited {
    color: #000000 !important;
    text-decoration: none !important;
}
a.ts-cat-header-label:hover {
    color: #000000 !important;
    text-decoration: underline !important;
}

/* --- Content area: vertical breathing room --- */
.ts-cat-content-area {
    padding-top: 48px;
    padding-bottom: 48px;
}
.ts-cat-no-posts {
    text-align: center;
    color: #666666;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    padding: 60px 0;
}

/* --- Archive grid: 3 columns that wrap --- */
/* Category heading above cards */
.ts-cat-heading-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px 36px;
    text-align: center;
}
.ts-cat-heading {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 600;
    color: #000000;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0;
    text-transform: uppercase;
}
.ts-cat-heading span {
    font-style: italic;
    font-weight: 700;
}

.ts-blog-cards-wrap--archive {
    padding-bottom: 0;
}
.ts-blog-cards-grid--archive {
    flex-wrap: wrap;
    row-gap: 36px;
}
.ts-blog-cards-grid--archive .ts-blog-card {
    flex: 0 0 calc(33.333% - 20px) !important;
    max-width: calc(33.333% - 20px) !important;
}

/* Card title as link */
.ts-blog-card-title a {
    color: #000000;
    text-decoration: none;
}
.ts-blog-card-title a:link,
.ts-blog-card-title a:visited {
    color: #000000;
}
.ts-blog-card-title a:hover {
    color: #5391CD;
}

/* --- Pagination --- */
.ts-cat-pagination {
    max-width: 1200px;
    margin: 48px auto 0;
    padding: 0 30px 48px;
    text-align: center;
}
.ts-cat-pagination .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 3px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #000000;
    border: 1px solid #d0d0d0;
    background: #ffffff;
    text-decoration: none;
    transition: background 200ms ease, color 200ms ease;
}
.ts-cat-pagination .page-numbers:hover,
.ts-cat-pagination .page-numbers.current {
    background: #000000;
    color: #ffffff !important;
    border-color: #000000;
}
.ts-cat-pagination .page-numbers:link,
.ts-cat-pagination .page-numbers:visited {
    color: #000000;
}
.ts-cat-pagination .page-numbers.current:link,
.ts-cat-pagination .page-numbers.current:visited,
.ts-cat-pagination .page-numbers:hover:link,
.ts-cat-pagination .page-numbers:hover:visited {
    color: #ffffff !important;
}

/* --- Responsive --- */
@media (min-width: 769px) and (max-width: 1024px) {
    .ts-blog-cards-grid--archive .ts-blog-card {
        flex: 0 0 calc(50% - 15px) !important;
        max-width: calc(50% - 15px) !important;
    }
}
@media (max-width: 768px) {
    .ts-cat-header-inner { padding: 0 20px; }
    .ts-blog-cards-grid--archive .ts-blog-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .ts-cat-pagination { padding: 0 20px 40px; }
}

/* =========================================================
107. EDUCATION PILLAR PAGES — BLOG-STYLE LAYOUT
========================================================= */

/* --- Stat / callout box --- */
body.education-article .blog-stat-box {
    clear: left;
    background: #000000;
    color: #ffffff;
    padding: 20px 28px;
    margin: 0 0 36px;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
}

body.education-article .blog-stat-box a,
body.education-article .blog-stat-box a:link,
body.education-article .blog-stat-box a:visited {
    color: #ffffff !important;
    text-decoration: underline !important;
}

body.education-article .blog-stat-box a:hover {
    color: #ffffff !important;
    opacity: 0.85;
}

/* =========================================================
EDUCATION ARTICLE — FOOTER CATEGORY BAR (BACK TO HUB)
========================================================= */
body.education-article .ts-cat-header-bar--footer {
    margin-top: 60px;
}

/* =========================================================
EDUCATION ARTICLE — BODY TEXT LINK STYLES
========================================================= */
body.education-article .bt-content-holder p a,
body.education-article .bt-content-holder p a:link,
body.education-article .bt-content-holder p a:visited,
body.education-article .bt-content-holder li a,
body.education-article .bt-content-holder li a:link,
body.education-article .bt-content-holder li a:visited {
    color: #5391CD !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent;
    transition: border-color 200ms ease, opacity 200ms ease !important;
}

body.education-article .bt-content-holder p a:hover,
body.education-article .bt-content-holder li a:hover {
    color: #5391CD !important;
    text-decoration: none !important;
    border-bottom: 1px solid #5391CD;
    opacity: 0.85;
}

body.page-id-5646,
body.education-article,
body.page-id-5646 .site-wrapper,
body.education-article .site-wrapper {
    background: #ffffff !important;
}

body.page-id-5646 .bt-content-holder,
body.education-article .bt-content-holder {
    background: #ffffff !important;
    padding: 50px 150px 80px !important;
    box-sizing: border-box !important;
}

body.page-id-5646 h1,
body.education-article h1 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: clamp(1.8rem, 3vw, 2.6rem) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: #181818 !important;
    margin: 0 0 32px !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
}

/* Subtitle H2 directly after H1 — tuck it close */
body.education-article h1:has(+ h2) {
    margin-bottom: 0 !important;
}
body.education-article h1 + h2 {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

body.page-id-5646 h2,
body.education-article h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 28.8px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #181818 !important;
    margin: 48px 0 0 !important;
    padding-bottom: 6px !important;
    letter-spacing: normal !important;
    clear: both !important;
    display: block !important;
    text-transform: none !important;
}

body.page-id-5646 h3,
body.education-article h3 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    color: #181818 !important;
    margin: 36px 0 8px !important;
    padding: 0 !important;
    letter-spacing: normal !important;
    clear: both !important;
    display: block !important;
}

body.page-id-5646 .bt-content-holder p,
body.education-article .bt-content-holder p {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #333333 !important;
    margin-bottom: 1.25em !important;
}

/* First paragraph — larger bold intro with drop cap */
body.page-id-5646 .bt-content-holder p:first-of-type,
body.education-article .bt-content-holder p:first-of-type {
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
    color: #111111 !important;
}
body.page-id-5646 .bt-content-holder p:first-of-type::first-letter,
body.education-article .bt-content-holder p:first-of-type::first-letter {
    float: left !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 5.2em !important;
    font-weight: 700 !important;
    line-height: 0.78 !important;
    margin: 6px 12px 0 0 !important;
    color: #000000 !important;
}

body.page-id-5646 .bt-content-holder ul,
body.page-id-5646 .bt-content-holder ol,
body.education-article .bt-content-holder ul,
body.education-article .bt-content-holder ol {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    color: #333333 !important;
    margin: 0 0 1.25em 1.5em !important;
}

body.page-id-5646 .bt-content-holder li,
body.education-article .bt-content-holder li {
    margin-bottom: 0.5em !important;
}

body.page-id-5646 hr,
body.education-article hr { display: none !important; }
body.page-id-5646 .bg-light,
body.education-article .bg-light { display: none !important; }

@media (max-width: 768px) {
    body.page-id-5646 .bt-content-holder,
    body.education-article .bt-content-holder {
        padding: 30px 20px 60px !important;
    }
}

/* =========================================================
EDUCATION ARTICLE — CTA BOX OVERRIDES
========================================================= */
/* Break the CTA out of .bt-content-holder padding so it spans full width */
body.education-article .bt-content-holder .ts-about-sp-cta {
    margin-left: -150px !important;
    margin-right: -150px !important;
    margin-top: 60px !important;
    margin-bottom: 0 !important;
}

/* Override education article heading colors inside the CTA */
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__h2 {
    color: #ffffff !important;
    font-size: 3.2rem !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin: 0 0 28px !important;
    padding-bottom: 0 !important;
}

/* Override education article link colors inside the CTA */
body.education-article .bt-content-holder .ts-about-sp-cta p a,
body.education-article .bt-content-holder .ts-about-sp-cta p a:link,
body.education-article .bt-content-holder .ts-about-sp-cta p a:visited {
    color: #ffffff !important;
    border-bottom: none !important;
}
body.education-article .bt-content-holder .ts-about-sp-cta p a:hover {
    color: #ffffff !important;
    border-bottom: none !important;
    opacity: 0.85 !important;
}

/* Override education article link color on the CTA button */
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__btn,
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__btn:link,
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__btn:visited {
    color: #000000 !important;
    border-bottom: none !important;
}
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__btn:hover,
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__btn:hover:link,
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__btn:hover:visited {
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
}

/* Kill ALL education-article text styles inside the CTA —
   must include .bt-content-holder in selector to beat specificity */
body.education-article .bt-content-holder .ts-about-sp-cta p,
body.education-article .bt-content-holder .ts-about-sp-cta p:first-of-type {
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    color: #ffffff !important;
}
body.education-article .bt-content-holder .ts-about-sp-cta p:first-of-type::first-letter {
    float: none !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-family: inherit !important;
    line-height: inherit !important;
    color: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Override education article eyebrow/body/note text — all white for contrast */
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__eyebrow {
    color: #ffffff !important;
    font-size: 19px !important;
    letter-spacing: 0.2em !important;
    font-weight: 600 !important;
    margin-bottom: 24px !important;
}
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__body {
    color: #ffffff !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    max-width: 580px !important;
    margin: 0 auto 40px !important;
}
body.education-article .bt-content-holder .ts-about-sp-cta .ts-about-sp-cta__note {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 13px !important;
}

@media (max-width: 768px) {
    body.education-article .bt-content-holder .ts-about-sp-cta {
        margin-left: -20px !important;
        margin-right: -20px !important;
        margin-bottom: 0 !important;
    }
    body.education-article .ts-about-sp-cta .ts-about-sp-cta__h2 {
        font-size: 2rem !important;
        letter-spacing: 2px !important;
    }
}

/* =========================================================
EDUCATION ARTICLE — TABLE STYLING
========================================================= */
body.education-article .bt-content-holder table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 0.9375rem !important;
    margin: 24px 0 32px !important;
    overflow-x: auto;
}

body.education-article .bt-content-holder table thead th {
    padding: 16px 20px !important;
    text-align: center !important;
    font-family: Poppins, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    background: #D5D5D5 !important;
    border-bottom: 2px solid #cccccc !important;
    color: #000000 !important;
}

body.education-article .bt-content-holder table tbody td {
    padding: 14px 20px !important;
    text-align: center !important;
    color: #333333 !important;
    border-bottom: 1px solid #eeeeee !important;
    background: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

body.education-article .bt-content-holder table tbody td:first-child {
    text-align: left !important;
    font-weight: 600 !important;
    color: #111111 !important;
}

body.education-article .bt-content-holder table thead th:first-child {
    text-align: left !important;
}

body.education-article .bt-content-holder table tbody tr:nth-child(even) td {
    background: #F9F9F9 !important;
}

body.education-article .bt-content-holder table tbody tr:last-child td {
    border-bottom: none !important;
}

@media (max-width: 768px) {
    body.education-article .bt-content-holder table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    body.education-article .bt-content-holder table thead th,
    body.education-article .bt-content-holder table tbody td {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
}

/* =========================================================
EDUCATION ARTICLE — POST-CTA SPACING
========================================================= */
body.education-article .bt-content-holder .ts-about-sp-cta + p {
    margin-top: 30px !important;
}

/* =========================================================
PILLAR PAGE INLINE CTA BUTTONS (2.2 PATTERN)
========================================================= */
.ts-pillar-cta-btn,
.ts-pillar-cta-btn:link,
.ts-pillar-cta-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 14px 32px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    box-shadow: none !important;
    transition: color 300ms ease !important;
}
.ts-pillar-cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
.ts-pillar-cta-btn span {
    position: relative;
    z-index: 1;
}
.ts-pillar-cta-btn:hover::before {
    transform: scale(0);
}
.ts-pillar-cta-btn:hover,
.ts-pillar-cta-btn:hover:link,
.ts-pillar-cta-btn:hover:visited {
    color: #000000 !important;
    box-shadow: none !important;
}

.bt-content-holder img.alignleft, .bt-content-holder figure.alignleft {
    display: block;
    float: left;
    padding-bottom: 20px;
}

/* =========================================================
ABOUT PAGE
========================================================= */

/* Flush BoldThemes section margin/padding — removes gaps between sections and nav */
.ts-about-section {
    padding: 0 !important;
    margin: 0 !important;
}
.ts-about-section .bt_bb_row,
.ts-about-section .bt_bb_column_content,
.ts-about-section .bt_bb_column_content_inner {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Hero background override */
.about-hero-override {
    background-image: url("https://theshops.pro/wp-content/uploads/2021/10/background_about.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
}

/* Section 2 — The Shops / The Plus split columns */
.ts-about-split-col { padding: 60px 48px; height: 100%; }
.ts-about-split-col--plus { background-color: #f7f8f8 !important; }
.ts-about-coral-eyebrow { color: #111111 !important; opacity: 1; }
.ts-about-h2--coral { color: #000000 !important; }
.ts-about-plus-list { list-style: none; padding: 0; margin-top: 24px; }
.ts-about-plus-list li {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: #2E3B4C;
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
}
.ts-about-plus-list li:last-child { border-bottom: none; }

/* Section 3 — Without / With story cards */
.ts-about-story-card { height: 100%; }
.ts-about-story-card--dark { background-color: #2E3B4C !important; }
.ts-about-story-card--coral { background-color: #000000 !important; }
.ts-about-body--white { color: rgba(255,255,255,0.85) !important; }

/* Section 4 — Comparison table column highlights (grayscale) */
.ts-about-td--hl { background-color: #333333 !important; }
.bap-tr-alt .ts-about-td--hl { background-color: #444444 !important; }
.ts-about-td--hl .bap-yes { color: #ffffff !important; }
.ts-about-th--hl { background-color: #000000 !important; color: #ffffff !important; font-weight: 700 !important; }
.bap-th { font-weight: 700 !important; }

/* Section 5 — Feature grid */
.ts-about-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    text-align: left;
    margin-top: 48px;
}
.ts-about-feature {
    padding: 32px;
    background: #F7F8F8;
    border-top: 3px solid #000000;
}
.ts-about-feature-icon { font-size: 28px; margin-bottom: 12px; }
.ts-about-feature-title {
    font-family: Poppins, sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    color: #111111;
    letter-spacing: 0.02em;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.ts-about-feature-body {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.9375rem;
    color: #555;
    line-height: 1.65;
    margin: 0;
}
@media (max-width: 768px) {
    .ts-about-features-grid { grid-template-columns: 1fr; }
}

/* Section 6 — CTA full-width (matches .tour-cta width on seattle-suites) */
.ts-about-cta-full { padding: 64px 60px !important; text-align: center; }
.ts-about-cta-btn,
.ts-about-cta-btn:link,
.ts-about-cta-btn:visited { color: #ffffff !important; margin-top: 32px; display: inline-block; text-transform: uppercase; }
.ts-about-cta-btn:hover { color: #000000 !important; }

/* =========================================================
ABOUT SHOPS PLUS PAGE – HERO SECTION
========================================================= */

.ts-about-sp-hero {
    background-image: url("https://theshops.pro/wp-content/uploads/2025/10/theshops-manicure-station.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 500px !important;
    padding: 80px 20px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

.ts-about-sp-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.52);
    z-index: 0;
}

.ts-about-sp-hero__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 860px;
    margin: 0 auto;
    padding: 0 20px;
}

.ts-about-sp-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 500;
    margin-bottom: 1.1em;
}

.ts-about-sp-h1 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 58px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    text-align: center !important;
}

.ts-about-sp-hero-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    max-width: 750px !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
}

.ts-about-sp-hero-btn,
.ts-about-sp-hero-btn:link,
.ts-about-sp-hero-btn:visited {
    display: inline-block;
    margin-top: 10px;
    padding: 14px 32px;
    border: 2px solid #ffffff;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: transparent;
    box-shadow: inset 0 0 0 0 #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.ts-about-sp-hero-btn:hover,
.ts-about-sp-hero-btn:hover:link,
.ts-about-sp-hero-btn:hover:visited {
    box-shadow: inset 0 0 0 100px #ffffff;
    color: #000000 !important;
}

@media (max-width: 768px) {
    .ts-about-sp-hero {
        min-height: 380px !important;
        padding: 60px 20px !important;
    }
    .ts-about-sp-h1 {
        font-size: 36px !important;
        letter-spacing: 2px !important;
    }
}

/* =========================================================
ABOUT SHOPS PLUS PAGE – WHAT IS THE SHOPS SECTION
========================================================= */

.ts-about-sp-what-shops {
    background: #ffffff;
    padding: 80px 20px;
}

.ts-about-sp-what-shops__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-about-sp-section-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    color: #000000;
    font-weight: 600;
    margin-bottom: 12px;
}

.ts-about-sp-section-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.4rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-about-sp-section-intro {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    color: #333333 !important;
    line-height: 1.75 !important;
    max-width: 720px !important;
    margin: 0 auto 48px !important;
}

.ts-about-sp-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    text-align: left;
}

.ts-about-sp-card {
    padding: 32px;
    background: #ffffff;
    border: 1px solid #e8e8e8;
    border-top: 3px solid #000000;
}

.ts-about-sp-card-title {
    font-family: Poppins, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    text-align: left !important;
}

.ts-about-sp-card-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .ts-about-sp-what-shops {
        padding: 60px 20px;
    }
    .ts-about-sp-cards {
        grid-template-columns: 1fr;
    }
    .ts-about-sp-section-h2 {
        font-size: 1.8rem !important;
    }
}

/* =========================================================
ABOUT SHOPS PLUS PAGE – BRIDGE / TRANSITION SECTION
========================================================= */

.ts-about-sp-bridge {
    background: #000000;
    padding: 64px 20px;
    text-align: center;
}

.ts-about-sp-bridge__inner {
    max-width: 720px;
    margin: 0 auto;
}

.ts-about-sp-bridge-label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
}

.ts-about-sp-bridge-statement {
    font-family: Poppins, sans-serif !important;
    font-size: 2rem !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    line-height: 1.4 !important;
    letter-spacing: 1px !important;
    margin: 0 !important;
    text-transform: uppercase !important;
}

@media (max-width: 768px) {
    .ts-about-sp-bridge {
        padding: 48px 20px;
    }
    .ts-about-sp-bridge-statement {
        font-size: 1.4rem !important;
    }
}

/* =========================================================
ABOUT SHOPS PLUS PAGE – THE PLUS SECTION
========================================================= */

.ts-about-sp-plus {
    background: #ffffff;
    padding: 80px 20px;
}

.ts-about-sp-plus__inner {
    max-width: 1100px;
    margin: 0 auto;
}

.ts-about-sp-plus__header {
    text-align: center;
    margin-bottom: 60px;
}

.ts-about-sp-plus-h2 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 2.8rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-about-sp-plus-intro {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 17px !important;
    color: #333333 !important;
    line-height: 1.75 !important;
    max-width: 680px !important;
    margin: 0 auto !important;
}

.ts-about-sp-plus-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.ts-about-sp-plus-card {
    padding: 40px;
    background-color: #DBECF9;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    border: 1px solid #e8e8e8;
    border-top: 3px solid rgba(0, 0, 0, 0.12);
    position: relative;
    min-height: 280px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: transform 280ms ease, box-shadow 280ms ease;
}

.ts-about-sp-plus-card__link {
    position: absolute;
    inset: 0;
    z-index: 2;
    text-decoration: none;
}

.ts-about-sp-plus-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.14), 0 6px 16px rgba(0, 0, 0, 0.08);
}

.ts-about-sp-plus-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.65) 0%, rgba(219, 236, 249, 0.58) 100%);
    z-index: 0;
}

.ts-about-sp-plus-card--01 {
    background-image: url('https://theshops.pro/wp-content/uploads/2026/03/marketing-support.png');
}

.ts-about-sp-plus-card--02 {
    background-image: url('https://theshops.pro/wp-content/uploads/2026/03/smart-spaces-technology.png');
}

.ts-about-sp-plus-card--03 {
    background-image: url('https://theshops.pro/wp-content/uploads/2026/03/professional-community.png');
}

.ts-about-sp-plus-card--04 {
    background-image: url('https://theshops.pro/wp-content/uploads/2026/03/business-services.png');
}

.ts-about-sp-plus-card__num {
    display: block;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 52px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    opacity: 0.12;
    line-height: 1 !important;
    margin-bottom: 16px !important;
    letter-spacing: -2px !important;
    padding: 0 !important;
}

.ts-about-sp-plus-card__title {
    position: relative;
    z-index: 1;
    font-family: Poppins, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}

.ts-about-sp-plus-card__body {
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #444444 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

.ts-about-sp-plus__closer {
    margin-top: 64px;
    padding-top: 48px;
    border-top: 1px solid #e8e8e8;
    text-align: center;
}

.ts-about-sp-plus__closer-line {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.7rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    line-height: 1.5 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .ts-about-sp-plus {
        padding: 60px 20px;
    }
    .ts-about-sp-plus-grid {
        grid-template-columns: 1fr;
    }
    .ts-about-sp-plus-h2 {
        font-size: 2rem !important;
    }
    .ts-about-sp-plus__closer-line {
        font-size: 1.3rem !important;
    }
}

/* =========================================================
ABOUT SHOPS PLUS PAGE – WITHOUT THE PLUS SECTION
========================================================= */

.ts-about-sp-without {
    background: #ededef;
    padding: 80px 20px;
}

.ts-about-sp-without__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 80px;
    align-items: start;
}

.ts-about-sp-without__left {
    position: sticky;
    top: 40px;
}

.ts-about-sp-without-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-about-sp-without-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

.ts-about-sp-without__photo {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 2px;
    margin-top: 32px;
}

.ts-about-sp-without-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ts-about-sp-without-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px 0;
    border-bottom: 1px solid #d8d8da;
}

.ts-about-sp-without-item:first-child {
    border-top: 1px solid #d8d8da;
}

.ts-about-sp-without-item__mark {
    width: 16px;
    height: 16px;
    min-width: 16px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #c0c0c2;
    flex-shrink: 0;
    margin-top: 4px;
    font-size: 0;
}

.ts-about-sp-without-item__content {
    flex: 1;
}

.ts-about-sp-without-item__title {
    display: block;
    font-family: Poppins, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

.ts-about-sp-without-item__desc {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .ts-about-sp-without {
        padding: 60px 20px;
    }
    .ts-about-sp-without__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ts-about-sp-without__left {
        position: static;
    }
    .ts-about-sp-without-h2 {
        font-size: 1.7rem !important;
    }
}

/* =========================================================
ABOUT SHOPS PLUS PAGE – WITH THE PLUS SECTION
========================================================= */

.ts-about-sp-with {
    background: #ffffff;
    padding: 80px 20px;
}

.ts-about-sp-with__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 80px;
    align-items: start;
}

.ts-about-sp-with__left {
    position: sticky;
    top: 40px;
}

.ts-about-sp-with-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-about-sp-with-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.75 !important;
    margin: 0 0 32px !important;
}

.ts-about-sp-with__photo {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 2px;
}

.ts-about-sp-with-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ts-about-sp-with-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px 0;
    border-bottom: 1px solid #d8d8da;
}

.ts-about-sp-with-item:first-child {
    border-top: 1px solid #d8d8da;
}

.ts-about-sp-with-item__mark {
    width: 16px;
    height: 16px;
    min-width: 16px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #000000;
    flex-shrink: 0;
    margin-top: 4px;
    font-size: 0;
}

.ts-about-sp-with-item__content {
    flex: 1;
}

.ts-about-sp-with-item__title {
    display: block;
    font-family: Poppins, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}

.ts-about-sp-with-item__desc {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .ts-about-sp-with {
        padding: 60px 20px;
    }
    .ts-about-sp-with__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ts-about-sp-with__left {
        position: static;
    }
    .ts-about-sp-with-h2 {
        font-size: 1.7rem !important;
    }
}

/* =========================================================
ABOUT SHOPS PLUS PAGE — ANIMATED TEXT ROTATOR SECTION
========================================================= */

.ts-about-sp-rotator {
    background: #000000;
    padding: 80px 40px;
    position: relative;
    overflow: hidden;
}

.ts-about-sp-rotator__inner {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ts-about-sp-rotator__line {
    position: absolute;
    width: 100%;
    text-align: center;
    font-family: Poppins, sans-serif !important;
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1.35;
    color: #ffffff;
    letter-spacing: 1px;
    margin: 0;
    opacity: 0;
}

.ts-about-sp-rotator--active .ts-about-sp-rotator__line {
    animation: ts-rotator-fade 30s infinite;
}

.ts-about-sp-rotator--active .ts-about-sp-rotator__line--1 { animation-delay: 0s; }
.ts-about-sp-rotator--active .ts-about-sp-rotator__line--2 { animation-delay: 5s; }
.ts-about-sp-rotator--active .ts-about-sp-rotator__line--3 { animation-delay: 10s; }
.ts-about-sp-rotator--active .ts-about-sp-rotator__line--4 { animation-delay: 15s; }
.ts-about-sp-rotator--active .ts-about-sp-rotator__line--5 { animation-delay: 20s; }
.ts-about-sp-rotator--active .ts-about-sp-rotator__line--6 { animation-delay: 25s; }

@keyframes ts-rotator-fade {
    0%      { opacity: 0; }
    3.33%   { opacity: 1; }
    13.33%  { opacity: 1; }
    16.67%  { opacity: 0; }
    100%    { opacity: 0; }
}

@media (max-width: 768px) {
    .ts-about-sp-rotator {
        padding: 60px 20px;
    }
    .ts-about-sp-rotator__inner {
        min-height: 60px;
    }
    .ts-about-sp-rotator__line {
        font-size: 1.5rem;
    }
}

/* =========================================================
ABOUT SHOPS PLUS PAGE — INDUSTRY COMPARISON TABLE SECTION
========================================================= */

.ts-about-sp-compare {
    background: #f5f5f5;
    padding: 80px 40px;
}

.ts-about-sp-compare__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-about-sp-compare-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.25 !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-about-sp-compare-intro {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    color: #555555 !important;
    line-height: 1.65 !important;
    max-width: 640px;
    margin: 0 auto 40px !important;
}


.ts-about-sp-compare .bap-td--hl .bap-yes {
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .ts-about-sp-compare {
        padding: 60px 20px;
    }
    .ts-about-sp-compare-h2 {
        font-size: 1.8rem !important;
    }
}

/* =========================================================
ABOUT SHOPS PLUS PAGE — FINAL CTA SECTION
========================================================= */

.ts-about-sp-cta {
    background: #f5f5f5;
    padding: 60px 40px;
}

.ts-about-sp-cta__inner {
    max-width: 1100px;
    margin: 0 auto;
    background: #000000;
    padding: 80px 60px;
    text-align: center;
}

.ts-about-sp-cta__eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.45) !important;
    font-weight: 600 !important;
    margin-bottom: 24px !important;
}

.ts-about-sp-cta__h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 3.2rem !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    line-height: 1.2 !important;
    margin-bottom: 28px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-about-sp-cta__body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 17px !important;
    color: rgba(255, 255, 255, 0.68) !important;
    line-height: 1.75 !important;
    max-width: 580px !important;
    margin: 0 auto 44px !important;
}

.ts-about-sp-cta__pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 48px;
}

.ts-about-sp-cta__pill {
    display: inline-block;
    padding: 7px 18px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.55) !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ts-about-sp-cta__btn,
.ts-about-sp-cta__btn:link,
.ts-about-sp-cta__btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    padding: 18px 52px;
    background: transparent;
    color: #000000 !important;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: 2px solid #ffffff;
    transition: color 300ms ease !important;
}

.ts-about-sp-cta__btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #ffffff;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-about-sp-cta__btn span {
    position: relative;
    z-index: 1;
}

.ts-about-sp-cta__btn:hover::before {
    transform: scale(0);
}

.ts-about-sp-cta__btn:hover,
.ts-about-sp-cta__btn:hover:link,
.ts-about-sp-cta__btn:hover:visited {
    color: #ffffff !important;
}

.ts-about-sp-cta__note {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.35) !important;
    margin-top: 22px !important;
    letter-spacing: 0.04em !important;
}

@media (max-width: 768px) {
    .ts-about-sp-cta {
        padding: 40px 20px;
    }
    .ts-about-sp-cta__inner {
        padding: 56px 28px;
    }
    .ts-about-sp-cta__h2 {
        font-size: 2rem !important;
        letter-spacing: 2px !important;
    }
    .ts-about-sp-cta__body {
        font-size: 15px !important;
    }
}

/* =========================================================
PROFESSIONAL COMMUNITY PAGE — HERO SECTION
========================================================= */

.ts-pc-hero {
    position: relative;
    background-image: url('https://theshops.pro/wp-content/uploads/2026/04/beauty-community-hero-02-scaled.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #000000;
    padding: 120px 20px;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.ts-pc-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 0;
}

.ts-pc-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 860px;
    margin: 0 auto;
}

.ts-pc-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-bottom: 1.1em !important;
}

.ts-pc-h1 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 58px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    text-align: center !important;
}

.ts-pc-hero-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    max-width: 750px !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
}

.ts-pc-hero-btn,
.ts-pc-hero-btn:link,
.ts-pc-hero-btn:visited {
    display: inline-block;
    padding: 14px 32px;
    border: 2px solid #ffffff;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: transparent;
    box-shadow: inset 0 0 0 0 #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.ts-pc-hero-btn:hover,
.ts-pc-hero-btn:hover:link,
.ts-pc-hero-btn:hover:visited {
    box-shadow: inset 0 0 0 100px #ffffff;
    color: #000000 !important;
}

@media (max-width: 768px) {
    .ts-pc-h1 {
        font-size: 36px !important;
        letter-spacing: 2px !important;
    }
    .ts-pc-hero {
        padding: 80px 20px;
        min-height: 420px;
    }
}

/* =========================================================
PROFESSIONAL COMMUNITY PAGE – INTRO SECTION
========================================================= */

.ts-pc-intro {
    background: #ffffff;
    padding: 80px 20px;
}

.ts-pc-intro__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-pc-section-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    color: #000000;
    font-weight: 600;
    margin-bottom: 12px;
}

.ts-pc-section-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.4rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-pc-section-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    color: #333333 !important;
    line-height: 1.75 !important;
    max-width: 720px !important;
    margin: 0 auto !important;
}

.ts-pc-section-body + .ts-pc-section-body {
    margin-top: 20px !important;
}

@media (max-width: 768px) {
    .ts-pc-intro {
        padding: 60px 20px;
    }
    .ts-pc-section-h2 {
        font-size: 1.8rem !important;
    }
}

/* =========================================================
PROFESSIONAL COMMUNITY PAGE – VALUE GRID SECTION
========================================================= */

.ts-pc-value {
    background: #f5f5f5;
    padding: 80px 20px;
}

.ts-pc-value__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-pc-value .ts-pc-section-body {
    margin-bottom: 48px !important;
}

.ts-pc-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    text-align: left;
}

.ts-pc-card {
    padding: 32px;
    background: #ffffff;
    border: 1px solid #e8e8e8;
    border-top: 3px solid #000000;
}

.ts-pc-card-title {
    font-family: Poppins, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    text-align: left !important;
}

.ts-pc-card-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .ts-pc-value {
        padding: 60px 20px;
    }
    .ts-pc-cards {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
PROFESSIONAL COMMUNITY PAGE – SPLIT SECTIONS
========================================================= */

.ts-pc-split {
    padding: 80px 20px;
    background: #ffffff;
}

.ts-pc-split__inner-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 80px;
    align-items: start;
}

.ts-pc-split__img-col {
    position: sticky;
    top: 40px;
}

.ts-pc-split__img-col img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 2px;
}

.ts-pc-split-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    margin-bottom: 12px !important;
}

.ts-pc-split-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-pc-split-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

.ts-pc-split-body + .ts-pc-split-body {
    margin-top: 20px !important;
}

/* Intro split — text left, image right, white background */
.ts-pc-split--intro .ts-pc-split__inner-grid {
    grid-template-columns: 3fr 2fr;
}

/* Reversed split — text left, image right, gray background */
.ts-pc-split--reversed {
    background: #f5f5f5;
}

.ts-pc-split--reversed .ts-pc-split__inner-grid {
    grid-template-columns: 3fr 2fr;
}

/* Standard Solid Marketing CTA Button (2.2) — scale(0) reveal */
.ts-pc-solid-btn,
.ts-pc-solid-btn:link,
.ts-pc-solid-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 14px 32px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    margin-top: 30px;
    box-shadow: none !important;
    transition: color 300ms ease !important;
}

.ts-pc-solid-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-pc-solid-btn span {
    position: relative;
    z-index: 1;
}

.ts-pc-solid-btn:hover::before {
    transform: scale(0);
}

.ts-pc-solid-btn:hover,
.ts-pc-solid-btn:hover:link,
.ts-pc-solid-btn:hover:visited {
    color: #000000 !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .ts-pc-split {
        padding: 60px 20px;
    }
    .ts-pc-split__inner-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ts-pc-split__img-col {
        position: static;
    }
    .ts-pc-split--reversed .ts-pc-split__inner-grid {
        grid-template-columns: 1fr;
    }
    .ts-pc-split-h2 {
        font-size: 1.7rem !important;
    }
}

/* =========================================================
PROFESSIONAL COMMUNITY PAGE – FINAL CTA SECTION (CONTAINED)
========================================================= */

.ts-pc-cta {
    background: #f5f5f5;
    padding: 60px 40px;
}

.ts-pc-cta__inner {
    max-width: 1100px;
    margin: 0 auto;
    background: #000000;
    padding: 80px 60px;
    text-align: center;
}

.ts-pc-cta__eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.45) !important;
    font-weight: 600 !important;
    margin-bottom: 24px !important;
}

.ts-pc-cta__h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 3.2rem !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    line-height: 1.2 !important;
    margin-bottom: 28px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-pc-cta__body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 17px !important;
    color: rgba(255, 255, 255, 0.68) !important;
    line-height: 1.75 !important;
    max-width: 580px !important;
    margin: 0 auto 44px !important;
}

.ts-pc-cta__btn,
.ts-pc-cta__btn:link,
.ts-pc-cta__btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    padding: 18px 52px;
    background: transparent;
    color: #000000 !important;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: 2px solid #ffffff;
    transition: color 300ms ease !important;
}

.ts-pc-cta__btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #ffffff;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-pc-cta__btn span {
    position: relative;
    z-index: 1;
}

.ts-pc-cta__btn:hover::before {
    transform: scale(0);
}

.ts-pc-cta__btn:hover,
.ts-pc-cta__btn:hover:link,
.ts-pc-cta__btn:hover:visited {
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .ts-pc-cta {
        padding: 40px 20px;
    }
    .ts-pc-cta__inner {
        padding: 56px 28px;
    }
    .ts-pc-cta__h2 {
        font-size: 2rem !important;
        letter-spacing: 2px !important;
    }
    .ts-pc-cta__body {
        font-size: 15px !important;
    }
}

/* =========================================================
BUSINESS SUPPORT PAGE — HERO SECTION
========================================================= */

.ts-bs-hero {
    position: relative;
    background-image: url('https://theshops.pro/wp-content/uploads/2026/04/business-support-hero.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #000000;
    padding: 120px 20px;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.ts-bs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 0;
}

.ts-bs-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 860px;
    margin: 0 auto;
}

.ts-bs-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-bottom: 1.1em !important;
}

.ts-bs-h1 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 58px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    text-align: center !important;
}

.ts-bs-hero-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    max-width: 750px !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
}

.ts-bs-hero-btn,
.ts-bs-hero-btn:link,
.ts-bs-hero-btn:visited {
    display: inline-block;
    padding: 14px 32px;
    border: 2px solid #ffffff;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: transparent;
    box-shadow: inset 0 0 0 0 #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.ts-bs-hero-btn:hover,
.ts-bs-hero-btn:hover:link,
.ts-bs-hero-btn:hover:visited {
    box-shadow: inset 0 0 0 100px #ffffff;
    color: #000000 !important;
}

@media (max-width: 768px) {
    .ts-bs-h1 {
        font-size: 36px !important;
        letter-spacing: 2px !important;
    }
    .ts-bs-hero {
        padding: 80px 20px;
        min-height: 420px;
    }
}

/* =========================================================
BUSINESS SUPPORT PAGE — SPLIT SECTIONS
========================================================= */

.ts-bs-split {
    padding: 80px 20px;
    background: #ffffff;
}

.ts-bs-split__inner-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 80px;
    align-items: start;
}

.ts-bs-split__img-col {
    position: sticky;
    top: 40px;
}

.ts-bs-split__img-col img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 2px;
}

.ts-bs-split-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    margin-bottom: 12px !important;
}

.ts-bs-split-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-bs-split-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

.ts-bs-split-body + .ts-bs-split-body {
    margin-top: 20px !important;
}

/* Intro split — text left, image right, white background */
.ts-bs-split--intro .ts-bs-split__inner-grid {
    grid-template-columns: 3fr 2fr;
}

/* Reversed split — text left, image right, gray background */
.ts-bs-split--reversed {
    background: #f5f5f5;
}

.ts-bs-split--reversed .ts-bs-split__inner-grid {
    grid-template-columns: 3fr 2fr;
}

/* Standard split on gray background */
.ts-bs-split--gray {
    background: #f5f5f5;
}

/* Standard Solid Marketing CTA Button (2.2) — scale(0) reveal */
.ts-bs-solid-btn,
.ts-bs-solid-btn:link,
.ts-bs-solid-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 14px 32px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    margin-top: 30px;
    box-shadow: none !important;
    transition: color 300ms ease !important;
}

.ts-bs-solid-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-bs-solid-btn span {
    position: relative;
    z-index: 1;
}

.ts-bs-solid-btn:hover::before {
    transform: scale(0);
}

.ts-bs-solid-btn:hover,
.ts-bs-solid-btn:hover:link,
.ts-bs-solid-btn:hover:visited {
    color: #000000 !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .ts-bs-split {
        padding: 60px 20px;
    }
    .ts-bs-split__inner-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ts-bs-split__img-col {
        position: static;
    }
    .ts-bs-split--intro .ts-bs-split__inner-grid,
    .ts-bs-split--reversed .ts-bs-split__inner-grid {
        grid-template-columns: 1fr;
    }
    .ts-bs-split-h2 {
        font-size: 1.7rem !important;
    }
}

/* =========================================================
BUSINESS SUPPORT PAGE — VALUE GRID SECTION (4 COLUMNS)
========================================================= */

.ts-bs-value {
    background: #ffffff;
    padding: 80px 20px;
}

.ts-bs-value__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-bs-section-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    color: #000000;
    font-weight: 600;
    margin-bottom: 12px;
}

.ts-bs-section-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.4rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-bs-section-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    color: #333333 !important;
    line-height: 1.75 !important;
    max-width: 720px !important;
    margin: 0 auto !important;
}

.ts-bs-value .ts-bs-section-body {
    margin-bottom: 48px !important;
}

.ts-bs-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    text-align: left;
}

.ts-bs-card {
    padding: 32px;
    background: #ffffff;
    border: 1px solid #e8e8e8;
    border-top: 3px solid #000000;
}

.ts-bs-card-title {
    font-family: Poppins, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    text-align: left !important;
}

.ts-bs-card-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

.ts-bs-founding-note {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #333333 !important;
    line-height: 1.65 !important;
    margin-top: 40px !important;
    font-weight: 600 !important;
}

@media (max-width: 1024px) {
    .ts-bs-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .ts-bs-value {
        padding: 60px 20px;
    }
    .ts-bs-cards {
        grid-template-columns: 1fr;
    }
    .ts-bs-section-h2 {
        font-size: 1.8rem !important;
    }
}

/* =========================================================
BUSINESS SUPPORT PAGE — FINAL CTA SECTION (CONTAINED)
========================================================= */

.ts-bs-cta {
    background: #f5f5f5;
    padding: 60px 40px;
}

.ts-bs-cta__inner {
    max-width: 1100px;
    margin: 0 auto;
    background: #000000;
    padding: 80px 60px;
    text-align: center;
}

.ts-bs-cta__eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.45) !important;
    font-weight: 600 !important;
    margin-bottom: 24px !important;
}

.ts-bs-cta__h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 3.2rem !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    line-height: 1.2 !important;
    margin-bottom: 28px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-bs-cta__body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 17px !important;
    color: rgba(255, 255, 255, 0.68) !important;
    line-height: 1.75 !important;
    max-width: 580px !important;
    margin: 0 auto 44px !important;
}

.ts-bs-cta__btn,
.ts-bs-cta__btn:link,
.ts-bs-cta__btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    padding: 18px 52px;
    background: transparent;
    color: #000000 !important;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: 2px solid #ffffff;
    transition: color 300ms ease !important;
}

.ts-bs-cta__btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #ffffff;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-bs-cta__btn span {
    position: relative;
    z-index: 1;
}

.ts-bs-cta__btn:hover::before {
    transform: scale(0);
}

.ts-bs-cta__btn:hover,
.ts-bs-cta__btn:hover:link,
.ts-bs-cta__btn:hover:visited {
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .ts-bs-cta {
        padding: 40px 20px;
    }
    .ts-bs-cta__inner {
        padding: 56px 28px;
    }
    .ts-bs-cta__h2 {
        font-size: 2rem !important;
        letter-spacing: 2px !important;
    }
    .ts-bs-cta__body {
        font-size: 15px !important;
    }
}

/* =========================================================
FOUNDING MEMBER PERKS PAGE
========================================================= */

/* HERO */
.ts-fmp-hero {
    position: relative;
    background-image: url('https://theshops.pro/wp-content/uploads/2026/04/founding-member-hero.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #000000;
    padding: 120px 20px;
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.ts-fmp-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 0;
}

.ts-fmp-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 860px;
    margin: 0 auto;
}

.ts-fmp-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin-bottom: 1.1em !important;
}

.ts-fmp-h1 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 58px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    text-align: center !important;
}

.ts-fmp-hero-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    max-width: 750px !important;
    margin: 0 auto 30px !important;
    text-align: center !important;
}

/* Hero CTA Button (2.1) — transparent, inset fill on hover */
.ts-fmp-hero-btn,
.ts-fmp-hero-btn:link,
.ts-fmp-hero-btn:visited {
    display: inline-block;
    padding: 14px 32px;
    border: 2px solid #ffffff;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: transparent;
    box-shadow: inset 0 0 0 0 #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.ts-fmp-hero-btn:hover,
.ts-fmp-hero-btn:hover:link,
.ts-fmp-hero-btn:hover:visited {
    box-shadow: inset 0 0 0 100px #ffffff;
    color: #000000 !important;
}

.ts-fmp-hero-note {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 20px;
    letter-spacing: 0.02em;
}

@media (max-width: 768px) {
    .ts-fmp-h1 {
        font-size: 36px !important;
        letter-spacing: 2px !important;
    }
    .ts-fmp-hero {
        padding: 80px 20px;
        min-height: 420px;
    }
}

/* INTRO SECTION */
.ts-fmp-intro {
    background: #ffffff;
    padding: 80px 20px;
}

.ts-fmp-intro__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-fmp-section-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    color: #000000;
    font-weight: 600;
    margin-bottom: 12px;
}

.ts-fmp-section-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.4rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-fmp-section-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    color: #333333 !important;
    line-height: 1.75 !important;
    max-width: 720px !important;
    margin: 0 auto !important;
}

.ts-fmp-section-body + .ts-fmp-section-body {
    margin-top: 20px !important;
}

@media (max-width: 768px) {
    .ts-fmp-intro {
        padding: 60px 20px;
    }
    .ts-fmp-section-h2 {
        font-size: 1.8rem !important;
    }
}

/* VALUE GRID SECTION */
.ts-fmp-value {
    background: #f5f5f5;
    padding: 80px 20px;
}

.ts-fmp-value__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-fmp-value .ts-fmp-section-body {
    margin-bottom: 48px !important;
}

.ts-fmp-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    text-align: left;
}

.ts-fmp-benefit-group {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 36px 32px;
}

.ts-fmp-benefit-title {
    font-family: Poppins, sans-serif !important;
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #000000 !important;
}

.ts-fmp-benefit-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ts-fmp-benefit-list li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #333333;
    line-height: 1.6;
    padding: 8px 0 8px 26px;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.ts-fmp-benefit-list li::before {
    content: '';
    position: absolute;
    left: 3px;
    top: 13px;
    width: 5px;
    height: 9px;
    border-right: 2px solid #000000;
    border-bottom: 2px solid #000000;
    transform: rotate(45deg);
}

.ts-fmp-benefit-list li:last-child {
    border-bottom: none;
}

@media (max-width: 768px) {
    .ts-fmp-value {
        padding: 60px 20px;
    }
    .ts-fmp-benefit-grid {
        grid-template-columns: 1fr;
    }
}

/* SPLIT SECTIONS */
.ts-fmp-split {
    padding: 80px 20px;
    background: #ffffff;
}

.ts-fmp-split__inner-grid {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 80px;
    align-items: start;
}

.ts-fmp-split__img-col {
    position: sticky;
    top: 40px;
}

.ts-fmp-split__img-col img {
    width: 100%;
    max-width: 600px;
    height: auto;
    aspect-ratio: 600 / 700;
    display: block;
    object-fit: cover;
    border-radius: 2px;
}

.ts-fmp-split-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #888888 !important;
    margin-bottom: 12px !important;
}

.ts-fmp-split-h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 2.2rem !important;
    font-weight: 400 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-fmp-split-body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

.ts-fmp-split-body + .ts-fmp-split-body {
    margin-top: 20px !important;
}

/* Reversed split — image left, text right, gray background */
.ts-fmp-split--reversed {
    background: #f5f5f5;
}

.ts-fmp-split--reversed .ts-fmp-split__inner-grid {
    grid-template-columns: 2fr 3fr;
}

/* Standard Solid Marketing CTA Button (2.2) — scale(0) reveal */
.ts-fmp-solid-btn,
.ts-fmp-solid-btn:link,
.ts-fmp-solid-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 14px 32px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    margin-top: 30px;
    box-shadow: none !important;
    transition: color 300ms ease !important;
}

.ts-fmp-solid-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-fmp-solid-btn span {
    position: relative;
    z-index: 1;
}

.ts-fmp-solid-btn:hover::before {
    transform: scale(0);
}

.ts-fmp-solid-btn:hover,
.ts-fmp-solid-btn:hover:link,
.ts-fmp-solid-btn:hover:visited {
    color: #000000 !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .ts-fmp-split {
        padding: 60px 20px;
    }
    .ts-fmp-split__inner-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ts-fmp-split__img-col {
        position: static;
    }
    .ts-fmp-split--reversed .ts-fmp-split__inner-grid {
        grid-template-columns: 1fr;
    }
    .ts-fmp-split-h2 {
        font-size: 1.7rem !important;
    }
}

/* SCARCITY SECTION */
.ts-fmp-scarcity {
    background: #000000;
    padding: 80px 20px;
}

.ts-fmp-scarcity__inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-fmp-eyebrow--light {
    color: #aaaaaa !important;
}

.ts-fmp-h2--white {
    color: #ffffff !important;
}

.ts-fmp-urgency-grid {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-top: 48px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

.ts-fmp-urgency-card {
    flex: 1;
    text-align: center;
    padding: 32px 24px;
    border: 1px solid #333333;
}

.ts-fmp-urgency-num {
    font-family: Poppins, sans-serif;
    font-size: 3rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 16px;
}

.ts-fmp-urgency-title {
    font-family: Poppins, sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin-bottom: 12px !important;
}

.ts-fmp-urgency-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #eeeeee;
    line-height: 1.7;
    margin: 0;
}

@media (max-width: 768px) {
    .ts-fmp-scarcity {
        padding: 60px 20px;
    }
    .ts-fmp-urgency-grid {
        flex-direction: column;
        align-items: center;
    }
    .ts-fmp-urgency-card {
        width: 100%;
        max-width: 400px;
    }
}

/* FAQ SECTION */
.ts-fmp-faq {
    background: #ffffff;
    padding: 80px 20px;
}

.ts-fmp-faq__inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.ts-fmp-faq .ts-fmp-section-h2 {
    margin-bottom: 48px !important;
}

.ts-fmp-faq-list {
    text-align: left;
}

.ts-fmp-faq-item {
    padding: 24px 0;
    border-bottom: 1px solid #e8e8e8;
}

.ts-fmp-faq-item:first-child {
    border-top: 1px solid #e8e8e8;
}

.ts-fmp-faq-q {
    font-family: Poppins, sans-serif !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
}

.ts-fmp-faq-a {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .ts-fmp-faq {
        padding: 60px 20px;
    }
    .ts-fmp-faq-q {
        font-size: 17px !important;
    }
}

/* FINAL CTA (CONTAINED) */
.ts-fmp-cta {
    background: #f5f5f5;
    padding: 60px 40px;
}

.ts-fmp-cta__inner {
    max-width: 1100px;
    margin: 0 auto;
    background: #000000;
    padding: 80px 60px;
    text-align: center;
}

.ts-fmp-cta__eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.45) !important;
    font-weight: 600 !important;
    margin-bottom: 24px !important;
}

.ts-fmp-cta__h2 {
    font-family: Poppins, sans-serif !important;
    font-size: 3.2rem !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    line-height: 1.2 !important;
    margin-bottom: 28px !important;
    padding: 0 !important;
    clear: none !important;
}

.ts-fmp-cta__body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 17px !important;
    color: rgba(255, 255, 255, 0.68) !important;
    line-height: 1.75 !important;
    max-width: 580px !important;
    margin: 0 auto 44px !important;
}

/* CTA button — white fill, scale(0) reveal on black bg */
.ts-fmp-cta__btn,
.ts-fmp-cta__btn:link,
.ts-fmp-cta__btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    padding: 18px 52px;
    background: transparent;
    color: #000000 !important;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: 2px solid #ffffff;
    transition: color 300ms ease !important;
}

.ts-fmp-cta__btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #ffffff;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-fmp-cta__btn span {
    position: relative;
    z-index: 1;
}

.ts-fmp-cta__btn:hover::before {
    transform: scale(0);
}

.ts-fmp-cta__btn:hover,
.ts-fmp-cta__btn:hover:link,
.ts-fmp-cta__btn:hover:visited {
    color: #ffffff !important;
}

.ts-fmp-cta__note {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.45);
    margin-top: 20px;
    letter-spacing: 0.02em;
}

@media (max-width: 768px) {
    .ts-fmp-cta {
        padding: 40px 20px;
    }
    .ts-fmp-cta__inner {
        padding: 56px 28px;
    }
    .ts-fmp-cta__h2 {
        font-size: 2rem !important;
        letter-spacing: 2px !important;
    }
    .ts-fmp-cta__body {
        font-size: 15px !important;
    }
}

/* =========================================================
   REDMOND LOCATION HUB PAGE
========================================================= */

/* HERO — strip BoldThemes wrapper padding */
.bt_bb_section:has(.ts-rdm-hero) .bt_bb_port,
.bt_bb_section:has(.ts-rdm-hero) .bt_bb_row_holder,
.bt_bb_section:has(.ts-rdm-hero) .bt_bb_row,
.bt_bb_section:has(.ts-rdm-hero) .bt_bb_column,
.bt_bb_section:has(.ts-rdm-hero) .bt_bb_column_content,
.bt_bb_section:has(.ts-rdm-hero) .bt_bb_column_content_inner {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

.ts-rdm-hero {
    background-color: #111111;
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('https://theshops.pro/wp-content/uploads/2026/04/redmond-washington-hero.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 580px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 100px 80px 80px;
    text-align: center;
}

.ts-rdm-hero-inner {
    max-width: 800px;
    margin: 0 auto;
    width: 100%;
}

/* EYEBROW — shared */
.ts-rdm-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #181818;
    opacity: 0.8;
    text-align: center;
    margin-top: 0;
    margin-bottom: 20px;
}

.ts-rdm-eyebrow--white {
    color: #ffffff;
}

.ts-rdm-eyebrow--light {
    color: #F5F5F5;
    opacity: 0.6;
}

/* H1 */
.ts-rdm-h1 {
    font-family: Poppins, sans-serif;
    font-size: 52px;
    line-height: 1.15;
    font-weight: 400;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 24px;
    text-align: center;
}

/* H2 — shared */
.ts-rdm-h2 {
    font-family: Poppins, sans-serif;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 400;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 16px;
    text-align: center;
}

.ts-rdm-h2--white {
    color: #ffffff;
}

/* HERO BODY */
.ts-rdm-hero-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.65;
    font-weight: 500;
    letter-spacing: 0.1em;
    max-width: 650px;
    margin: 0 auto 30px;
    text-align: center;
}

/* HERO BUTTONS */
.ts-rdm-hero-ctas {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.ts-rdm-hero-btn,
.ts-rdm-hero-btn:link,
.ts-rdm-hero-btn:visited {
    display: inline-block;
    padding: 16px 36px;
    border: 2px solid #ffffff;
    color: #ffffff !important;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: transparent;
    box-shadow: inset 0 0 0 0 #ffffff;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.ts-rdm-hero-btn:hover {
    box-shadow: inset 0 0 0 100px #ffffff;
    color: #000000 !important;
}

.ts-rdm-hero-btn--solid,
.ts-rdm-hero-btn--solid:link,
.ts-rdm-hero-btn--solid:visited {
    background: #ffffff;
    color: #000000 !important;
    border-color: #ffffff;
    box-shadow: none;
    transition: background 300ms ease, color 300ms ease;
}

.ts-rdm-hero-btn--solid:hover {
    background: transparent;
    color: #ffffff !important;
    box-shadow: none;
}

.ts-rdm-hero-note {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #ffffff;
    margin-top: 20px;
    letter-spacing: 0.02em;
}

/* SECTION WRAPPERS */
.ts-rdm-section {
    padding: 80px 24px;
}

.ts-rdm-section--white {
    background: #ffffff;
}

.ts-rdm-section--gray {
    background: #F5F5F5;
}

.ts-rdm-section--black {
    background: #111111;
}

.ts-rdm-section-inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.ts-rdm-section-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    color: #555555;
    line-height: 1.7;
    max-width: 900px;
    margin: 0 auto 20px;
}

/* CATEGORY PILLS */
.ts-rdm-cat-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    max-width: 900px;
    margin: 50px auto 0;
}

.ts-rdm-cat-card,
.ts-rdm-cat-card:link,
.ts-rdm-cat-card:visited {
    background: #F5F5F5;
    color: #000000 !important;
    border: 1px solid #333333;
    padding: 10px 22px;
    border-radius: 50px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 300ms ease, color 300ms ease;
}

.ts-rdm-cat-card:hover {
    background: #000000;
    color: #ffffff !important;
}

.ts-rdm-cat-arrow {
    display: none;
}

/* SECTION BODY — below variant (after stats grid etc.) */
.ts-rdm-section-body--below {
    margin-top: 48px;
    margin-bottom: 0;
    text-align: left;
    max-width: 900px;
}

/* MARKET STATS */
.ts-rdm-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1000px;
    margin: 48px auto 0;
}

.ts-rdm-stat-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 32px 20px;
    text-align: center;
}

.ts-rdm-stat-num {
    font-family: Poppins, sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    color: #000000;
    line-height: 1;
    margin-bottom: 8px;
}

.ts-rdm-stat-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.ts-rdm-stat-detail {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #777777;
    line-height: 1.5;
}

/* WHAT'S INCLUDED */
.ts-rdm-included-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 48px auto 0;
    text-align: left;
}

.ts-rdm-included-group {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 28px 24px;
}

.ts-rdm-included-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #000000;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #000000;
}

.ts-rdm-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ts-rdm-checklist li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #333333;
    line-height: 1.6;
    padding: 6px 0 6px 24px;
    position: relative;
}

.ts-rdm-checklist li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    color: #000000;
    font-weight: 700;
}

.ts-rdm-included-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #777777;
    line-height: 1.6;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #eeeeee;
}

/* SUITE GRID */
.ts-rdm-suite-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1100px;
    margin: 48px auto 0;
}

.ts-rdm-suite-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 28px 20px;
    text-align: center;
}

.ts-rdm-suite-badge {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #ffffff;
    background: #000000;
    padding: 4px 12px;
    border-radius: 50px;
    display: inline-block;
    margin-bottom: 16px;
}

.ts-rdm-suite-badge--empty {
    background: transparent;
    color: transparent;
}

.ts-rdm-suite-name {
    font-family: Poppins, sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: #000000;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 4px;
}

.ts-rdm-suite-size {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #777777;
    margin-bottom: 16px;
}

.ts-rdm-suite-rule {
    width: 40px;
    height: 2px;
    background: #000000;
    margin: 0 auto 16px;
}

.ts-rdm-suite-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ts-rdm-suite-list li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    color: #555555;
    line-height: 2;
}

.ts-rdm-suite-note {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: #555555;
    text-align: center;
}

.ts-rdm-suite-note a,
.ts-rdm-suite-note a:link,
.ts-rdm-suite-note a:visited {
    color: #5391CD !important;
    text-decoration: underline;
}

/* STEPS */
.ts-rdm-steps-grid {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    max-width: 900px;
    margin: 40px auto 0;
}

.ts-rdm-step {
    flex: 1;
    text-align: center;
}

.ts-rdm-step-num {
    font-family: Poppins, sans-serif;
    font-size: 2rem;
    font-weight: 600;
    color: #ffffff;
    opacity: 0.3;
    margin-bottom: 12px;
}

.ts-rdm-step-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

.ts-rdm-step-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
}

.ts-rdm-step-arrow {
    font-size: 1.5rem;
    color: rgba(255, 255, 255, 0.2);
    margin-top: 24px;
}

/* FOUNDING CTA */
.ts-rdm-cta {
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
    padding: 40px 0;
}

.ts-rdm-cta-btns {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 36px;
}

/* FAQ */
.ts-rdm-faq {
    max-width: 800px;
    margin: 0 auto;
    text-align: left;
}

.ts-rdm-faq-item {
    border-bottom: 1px solid #e0e0e0;
    padding: 24px 0;
}

.ts-rdm-faq-item:last-child {
    border-bottom: none;
}

.ts-rdm-faq-q {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #000000;
    margin-bottom: 8px;
}

.ts-rdm-faq-a {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    color: #555555;
    line-height: 1.7;
    margin: 0;
}

.ts-rdm-faq-a a,
.ts-rdm-faq-a a:link,
.ts-rdm-faq-a a:visited {
    color: #5391CD !important;
    text-decoration: underline;
}

/* SOLID BUTTON (black → scale(0)) */
.ts-rdm-solid-btn,
.ts-rdm-solid-btn:link,
.ts-rdm-solid-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding: 16px 40px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    box-shadow: none !important;
    transition: color 300ms ease !important;
}

.ts-rdm-solid-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}

.ts-rdm-solid-btn span {
    position: relative;
    z-index: 1;
}

.ts-rdm-solid-btn:hover::before {
    transform: scale(0);
}

.ts-rdm-solid-btn:hover,
.ts-rdm-solid-btn:hover:link,
.ts-rdm-solid-btn:hover:visited {
    color: #000000 !important;
    box-shadow: none !important;
}

/* OUTLINE BUTTON */
.ts-rdm-outline-btn,
.ts-rdm-outline-btn:link,
.ts-rdm-outline-btn:visited {
    display: inline-block;
    padding: 16px 40px;
    border: 2px solid #000000;
    color: #000000 !important;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: transparent;
    box-shadow: inset 0 0 0 0 #000000;
    transition: box-shadow 300ms ease, color 300ms ease;
}

.ts-rdm-outline-btn:hover {
    box-shadow: inset 0 0 0 100px #000000;
    color: #ffffff !important;
}

/* SEO INTRO — LEFT-ALIGNED */
.ts-rdm-seo-intro .ts-rdm-section-inner {
    text-align: left;
}

/* CATEGORY GRID — SPACING BELOW PILLS */
.ts-rdm-cat-grid + .ts-rdm-section-body {
    margin-top: 50px;
}

/* SECTION BODY LINKS — BLUE + UNDERLINE */
.ts-rdm-section-body a,
.ts-rdm-section-body a:link,
.ts-rdm-section-body a:visited {
    color: #5391CD !important;
    text-decoration: underline;
}

/* MOBILE */
@media (max-width: 768px) {
    .ts-rdm-hero {
        padding: 80px 24px 60px;
        min-height: auto;
    }
    .ts-rdm-h1 {
        font-size: 32px !important;
        letter-spacing: 2px !important;
    }
    .ts-rdm-h2 {
        font-size: 26px !important;
        letter-spacing: 1px !important;
    }
    .ts-rdm-hero-body {
        font-size: 14px !important;
    }
    .ts-rdm-section {
        padding: 48px 20px;
    }
    .ts-rdm-cat-grid {
        gap: 10px;
    }
    .ts-rdm-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .ts-rdm-included-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .ts-rdm-suite-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    .ts-rdm-steps-grid {
        flex-direction: column;
        gap: 32px;
    }
    .ts-rdm-step-arrow {
        display: none;
    }
}

@media (max-width: 480px) {
    .ts-rdm-suite-grid {
        grid-template-columns: 1fr;
    }
    .ts-rdm-stats-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
BACKEND PAGES – PORTAL CONSISTENCY OVERRIDES
All auth, account, profile, listing, and member pages
standardized to match the portal design system.
========================================================= */

/* ---------- SHARED FONT FAMILIES ---------- */
.ts-auth,
.ts-auth--login,
.ts-auth-card,
.uwp-account-class,
.uwp-profile-class,
.ts-avatar-upload--wrapper,
.geodir-add-listing,
.geodir-add-listing.bsui {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}

/* Heading fonts handled by CANONICAL BACKEND HEADING STYLE block above */

/* ---------- SHARED CARD STYLE ---------- */
.ts-auth-card,
.ts-auth--login .ts-auth-card,
.ts-avatar-upload--wrapper {
    border-radius: 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
    border: 1px solid #e0e0e0;
}

/* ---------- INPUTS: SQUARE, CONSISTENT ---------- */
.ts-auth .uwp_form input[type="text"],
.ts-auth .uwp_form input[type="email"],
.ts-auth .uwp_form input[type="password"],
.ts-auth .uwp_form input[type="search"],
.ts-auth .uwp_form input[type="tel"],
.ts-auth .uwp_form select,
.ts-auth .uwp_form textarea,
.ts-auth--login .uwp_form input[type="text"],
.ts-auth--login .uwp_form input[type="email"],
.ts-auth--login .uwp_form input[type="password"],
.uwp-account-class input[type="text"],
.uwp-account-class input[type="email"],
.uwp-account-class input[type="password"],
.uwp-account-class select,
.uwp-account-class textarea,
.uwp-account-class .bsui input[type="text"],
.uwp-account-class .bsui input[type="email"],
.uwp-account-class .bsui input[type="password"],
.uwp-account-class .bsui select,
.uwp-account-class .bsui textarea,
.uwp-account-class .bsui .form-control,
.uwp-account-class .bsui .form-select,
.ts-avatar-upload--wrapper input[type="file"],
.geodir-add-listing .form-control,
.geodir-add-listing .form-select,
.geodir-add-listing.bsui .form-control,
.geodir-add-listing.bsui .form-select,
.geodir-add-listing.bsui select.aui-select2 {
    border-radius: 0 !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    border: 1px solid #e0e0e0 !important;
    background-color: #fafafa !important;
    padding: 10px 12px !important;
}

.ts-auth .uwp_form input:focus,
.ts-auth .uwp_form select:focus,
.ts-auth .uwp_form textarea:focus,
.ts-auth--login .uwp_form input:focus,
.uwp-account-class input:focus,
.uwp-account-class select:focus,
.uwp-account-class textarea:focus,
.uwp-account-class .bsui .form-control:focus,
.uwp-account-class .bsui .form-select:focus,
.geodir-add-listing .form-control:focus,
.geodir-add-listing .form-select:focus,
.geodir-add-listing.bsui .form-control:focus {
    border-color: #3993d5 !important;
    box-shadow: 0 0 0 1px rgba(57, 147, 213, 0.25) !important;
    outline: none !important;
}

/* Password toggle: square right side */
.ts-auth .uwp_form .input-group > .input-group-text {
    border-radius: 0 !important;
    border-color: #e0e0e0 !important;
}

/* ---------- ALL BUTTONS: MATCH PORTAL UTILITY PATTERN ---------- */

/* Auth page buttons */
.ts-auth .uwp_form input[type="submit"],
.ts-auth .uwp_form button[type="submit"],
.ts-auth--login .uwp_form input[type="submit"],
.ts-auth--login .uwp_form button[type="submit"],
.ts-auth a.ts-auth-signin-btn {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    background-color: #3993d5 !important;
    color: #ffffff !important;
    border: 1px solid #3993d5 !important;
    border-radius: 0 !important;
    padding: 12px 32px !important;
    transition: background 200ms ease !important;
    box-shadow: none !important;
    transform: none !important;
}

.ts-auth .uwp_form input[type="submit"]:hover,
.ts-auth .uwp_form button[type="submit"]:hover,
.ts-auth--login .uwp_form input[type="submit"]:hover,
.ts-auth--login .uwp_form button[type="submit"]:hover,
.ts-auth a.ts-auth-signin-btn:hover,
.ts-auth a.ts-auth-signin-btn:focus {
    background-color: #2a7ab8 !important;
    border-color: #2a7ab8 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Account page buttons (BSUI high specificity) */
.uwp-account-class .bsui .btn-primary,
.uwp-account-class .bsui .btn.btn-primary,
.uwp-account-class .bsui input[type="submit"],
.uwp-account-class .bsui button[type="submit"],
.uwp-account-class .btn-primary,
.uwp-account-class input[type="submit"],
.uwp-account-class button[type="submit"] {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    background-color: #3993d5 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #3993d5 !important;
    border-radius: 0 !important;
    padding: 12px 32px !important;
    transition: background 200ms ease !important;
    box-shadow: none !important;
    transform: none !important;
}

.uwp-account-class .bsui .btn-primary:hover,
.uwp-account-class .bsui .btn.btn-primary:hover,
.uwp-account-class .bsui input[type="submit"]:hover,
.uwp-account-class .bsui button[type="submit"]:hover,
.uwp-account-class .btn-primary:hover,
.uwp-account-class input[type="submit"]:hover,
.uwp-account-class button[type="submit"]:hover {
    background-color: #2a7ab8 !important;
    border-color: #2a7ab8 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

/* GeoDirectory listing form buttons */
.geodir-add-listing .btn-primary,
.geodir-add-listing.bsui .btn-primary,
.geodir-add-listing.bsui .btn.btn-primary,
.geodir-add-listing .geodir-dropbox-title + p + input[type="button"],
.geodir-add-listing #profile_image_logoplupload-browse-button,
.geodir-add-listing input[type="button"].btn-primary,
.geodir-add-listing input[type="button"].btn {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    background-color: #3993d5 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #3993d5 !important;
    border-radius: 0 !important;
    padding: 12px 32px !important;
    width: auto !important;
    transition: background 200ms ease !important;
    box-shadow: none !important;
}

.geodir-add-listing .btn-primary:hover,
.geodir-add-listing.bsui .btn-primary:hover,
.geodir-add-listing.bsui .btn.btn-primary:hover,
.geodir-add-listing input[type="button"].btn-primary:hover,
.geodir-add-listing input[type="button"].btn:hover {
    background-color: #2a7ab8 !important;
    border-color: #2a7ab8 !important;
    color: #ffffff !important;
}

/* GD "Set Address On Map" button */
.geodir-add-listing #address_set_address_button {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    background-color: #3993d5 !important;
    color: #ffffff !important;
    border: 1px solid #3993d5 !important;
    border-radius: 0 !important;
    padding: 12px 32px !important;
}

.geodir-add-listing #address_set_address_button:hover {
    background-color: #2a7ab8 !important;
    border-color: #2a7ab8 !important;
}

/* GD form submit button */
.geodir-add-listing input[type="submit"],
.geodir-add-listing button[type="submit"],
.geodir-add-listing.bsui input[type="submit"],
.geodir-add-listing.bsui button[type="submit"] {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    background-color: #3993d5 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #3993d5 !important;
    border-radius: 0 !important;
    padding: 12px 32px !important;
    transition: background 200ms ease !important;
    box-shadow: none !important;
}

.geodir-add-listing input[type="submit"]:hover,
.geodir-add-listing button[type="submit"]:hover,
.geodir-add-listing.bsui input[type="submit"]:hover,
.geodir-add-listing.bsui button[type="submit"]:hover {
    background-color: #2a7ab8 !important;
    border-color: #2a7ab8 !important;
}

/* Upload & Save button (avatar page) — outline style */
.ts-avatar-upload-button {
    border-radius: 0 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding: 12px 32px !important;
}

/* Add listing button (account sidebar) */
.bsui .adv-dashboard-new-ad-button,
.adv-dashboard-new-ad-button {
    border-radius: 0 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
}

/* ---------- LINK COLORS: KILL BOOTSTRAP BLUES ---------- */
.ts-auth--login .uwp_form .uwp-login-links a,
.ts-auth--login .uwp_form .uwp-login-footer a,
.ts-auth--login .uwp_form .uwp_extra_links a,
.ts-auth .uwp_form .uwp-login-links a,
.ts-auth .uwp_form .uwp-footer-links a,
.ts-auth .uwp-footer-links a,
.ts-auth a[href*="forgot"],
.ts-auth a[href*="register"],
.ts-edit-profile-link,
#ts-gd-block-notice a:hover,
#ts-gd-block-notice a:focus,
.alert.alert-warning a.btn:hover,
.alert.alert-warning a.btn:focus {
    color: #3993d5 !important;
}

.ts-edit-profile-link:hover {
    color: #2a7ab8 !important;
}

/* Account sidebar nav links — match portal card title style, one size smaller */
.uwp-account-class .bsui .nav-link,
.uwp-account-class .bsui .nav a,
.uwp-account-class .nav-link,
.uwp-account-class .nav a {
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #111111 !important;
}

.uwp-account-class .bsui .nav-link:hover,
.uwp-account-class .bsui .nav a:hover,
.uwp-account-class .nav-link:hover,
.uwp-account-class .nav a:hover {
    color: #3993d5 !important;
}

/* Account sidebar username link */
.uwp-account-class .bsui a.text-decoration-none,
.uwp-account-class a.text-decoration-none {
    color: #111111 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
}

/* Profile page links */
.uwp-profile-class a,
.uwp-profile-class .bsui a {
    color: #3993d5;
}

.uwp-profile-class a:hover,
.uwp-profile-class .bsui a:hover {
    color: #2a7ab8;
}

/* Profile page buttons */
.uwp-profile-class a.btn-outline-primary,
.uwp-profile-class .bsui a.btn-outline-primary,
.uwp-profile-class .ts-edit-listing-btn,
.uwp-profile-class .bsui .btn-outline-primary {
    border-radius: 0 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    letter-spacing: 0.05em !important;
    border-color: #3993d5 !important;
    color: #3993d5 !important;
}

.uwp-profile-class a.btn-outline-primary:hover,
.uwp-profile-class .bsui a.btn-outline-primary:hover,
.uwp-profile-class .ts-edit-listing-btn:hover,
.uwp-profile-class .bsui .btn-outline-primary:hover {
    background-color: #3993d5 !important;
    color: #ffffff !important;
}

/* Profile page tab links */
.uwp-profile-class .nav-tabs .nav-link,
.uwp-profile-class .bsui .nav-tabs .nav-link {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: #3993d5 !important;
}

.uwp-profile-class .nav-tabs .nav-link.active,
.uwp-profile-class .bsui .nav-tabs .nav-link.active {
    color: #111111 !important;
    border-bottom-color: #3993d5 !important;
}

/* ---------- AVATAR PAGE: CONSISTENT CARD ---------- */
.ts-avatar-upload--wrapper {
    border-radius: 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
    border: 1px solid #e0e0e0;
}

#ts_avatar_file {
    border-radius: 0 !important;
}

/* ---------- MESSAGE BOXES: CONSISTENT ---------- */
.ts-avatar-upload-message {
    border-radius: 0 !important;
}

/* ---------- ACCOUNT PAGE: SPACING + FONTS ---------- */
.uwp-account-class .bg-light {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Account h3 handled by canonical block */

/* Account sidebar logout: fix spacing */
.uwp-account-class .uwp-account-nav li:last-child {
    padding-bottom: 30px !important;
}

/* ---------- GD LISTING FORM: LABELS + HELP TEXT ---------- */
.geodir-add-listing .form-label,
.geodir-add-listing.bsui .form-label,
.geodir-add-listing .col-form-label,
.geodir-add-listing.bsui .col-form-label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.geodir-add-listing .form-text,
.geodir-add-listing.bsui .form-text {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
}

/* GD Select2 dropdowns: square */
.geodir-add-listing .select2-container--default .select2-selection--single,
.geodir-add-listing .select2-container--default .select2-selection--multiple,
.geodir-add-listing.bsui .select2-container--default .select2-selection--single,
.geodir-add-listing.bsui .select2-container--default .select2-selection--multiple {
    border-radius: 0 !important;
    border-color: #e0e0e0 !important;
}

/* GD listing form fieldset: consistent spacing */
.geodir-add-listing #geodir_fieldset_details {
    padding-top: 30px !important;
}

/* GD file upload dropbox: consistent border */
.geodir-add-listing .geodir-add-files {
    border-color: #e0e0e0 !important;
    border-radius: 0 !important;
}

/* ---------- CANONICAL BACKEND HEADING STYLE ---------- */
/* All backend page titles must share the exact same visual treatment.
   Standard: Poppins, 400 weight, 28px, 3px letter-spacing, #111111.
   This matches the original portal heading look. */

/* Page-level titles (all backend pages) */
.ts-portal-welcome__title,
.ts-portal-hub h1,
.ts-checklist__title,
.ts-marketing-hub__title,
.ts-services-dir__title,
.ts-education-hub__title,
.ts-auth-title,
.ts-auth .ts-auth-title,
.ts-auth--login h1,
.ts-auth--login h2,
.uwp-account-class h3,
.uwp-account-class .col-lg-9 h3,
.uwp-account-class .bsui h3,
.uwp-account-class .bsui .col-lg-9 h3,
.uwp-account-class .bsui h3.mb-lg-5,
.geodir-add-listing h3,
.geodir-add-listing h3.h3,
.geodir-add-listing.bsui h3,
.geodir-add-listing.bsui h3.h3,
.geodir-add-listing fieldset h3,
.geodir-add-listing.bsui fieldset h3,
.geodir-add-listing #geodir_fieldset_details h3,
.ts-avatar-upload--wrapper h2 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 28px !important;
    color: #111111 !important;
    letter-spacing: 3px !important;
    line-height: 1.2 !important;
    padding-bottom: 0 !important;
}

/* Section titles within pages (slightly smaller, same weight) */
.ts-marketing-hub__section-title,
.ts-services-dir__rec-title,
.ts-community__section-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    color: #111111 !important;
    letter-spacing: 3px !important;
    line-height: 1.2 !important;
    padding-bottom: 0 !important;
    margin-bottom: 20px !important;
}

/* Sub-headings within sections (event titles, announcement titles, form titles) */
.ts-community__event-title,
.ts-community__announcement-title,
.ts-community__form-title,
.ts-community__coming-soon-title,
.ts-services-dir__card-heading {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    color: #111111 !important;
    letter-spacing: 2px !important;
    line-height: 1.3 !important;
    padding-bottom: 0 !important;
}

/* ---------- FONT COLOR: UNIFIED #111111 ---------- */
.geodir-add-listing,
.geodir-add-listing.bsui,
.geodir-add-listing .form-control,
.geodir-add-listing .col-form-label,
.geodir-add-listing label,
.uwp-account-class,
.uwp-account-class .bsui,
.uwp-account-class .form-control,
.uwp-account-class label,
.uwp-profile-class,
.ts-avatar-upload--wrapper {
    color: #111111 !important;
}

/* GD heading fonts handled by CANONICAL BACKEND HEADING STYLE block above */

/* ---------- GD "PREVIEW LISTING" OUTLINE BUTTON ---------- */
.geodir-add-listing .btn-outline-primary,
.geodir-add-listing.bsui .btn-outline-primary,
.geodir-add-listing .btn.btn-outline-primary {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    background-color: #ffffff !important;
    color: #3993d5 !important;
    border: 1px solid #3993d5 !important;
    border-radius: 0 !important;
    padding: 12px 32px !important;
    transition: background 200ms ease, color 200ms ease !important;
    box-shadow: none !important;
}

.geodir-add-listing .btn-outline-primary:hover,
.geodir-add-listing.bsui .btn-outline-primary:hover,
.geodir-add-listing .btn.btn-outline-primary:hover {
    background-color: #3993d5 !important;
    color: #ffffff !important;
    border-color: #3993d5 !important;
    box-shadow: none !important;
}

/* ---------- GD REQUIRED ASTERISK: CONSISTENT COLOR ---------- */
.geodir-add-listing .text-danger,
.geodir-add-listing.bsui .text-danger {
    color: #dc3545 !important;
}

/* ---------- GD HELP TEXT COLOR ---------- */
.geodir-add-listing .form-text.text-muted,
.geodir-add-listing.bsui .form-text.text-muted {
    color: #999999 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
}

/* Account heading fonts handled by CANONICAL BACKEND HEADING STYLE block above */

/* ---------- ACCOUNT PAGE: FORM LABEL FONTS ---------- */
.uwp-account-class .bsui label,
.uwp-account-class .bsui .form-label,
.uwp-account-class label {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111111 !important;
}

/* ---------- MOBILE ---------- */
@media (max-width: 600px) {
    .ts-auth-card,
    .ts-auth--login .ts-auth-card,
    .ts-avatar-upload--wrapper {
        border-radius: 0 !important;
    }
}


/* =========================================================
TENANT PORTAL – HUB / DASHBOARD
========================================================= */

.ts-portal-hub {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.ts-portal-topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 30px;
}

.ts-portal-welcome {
    flex: 1;
}

.ts-portal-profile-link {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
    color: #111111 !important;
    padding: 8px 15px;
    border: 1px solid #e0e0e0;
    transition: border-color 200ms ease, box-shadow 200ms ease;
    flex-shrink: 0;
    margin-top: 5px;
}

.ts-portal-profile-link:hover {
    border-color: #3993d5;
    box-shadow: 0 2px 8px rgba(57, 147, 213, 0.12);
    color: #3993d5 !important;
}

.ts-portal-profile-link__avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.ts-portal-profile-link__text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

@media (max-width: 480px) {
    .ts-portal-topbar {
        flex-direction: column-reverse;
        gap: 15px;
    }
    .ts-portal-profile-link {
        align-self: flex-end;
        margin-top: 0;
    }
}

.ts-portal-welcome__title {
    /* Sized via canonical heading block — these are fallbacks */
    margin: 0 0 8px;
}

.ts-portal-welcome__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    line-height: 1.5;
    margin: 0;
}

.ts-portal-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.ts-portal-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 0;
    text-decoration: none;
    color: #111111;
    transition: border-color 200ms ease, box-shadow 200ms ease;
    position: relative;
}

.ts-portal-card:hover {
    border-color: #3993d5;
    box-shadow: 0 4px 12px rgba(57, 147, 213, 0.12);
}

.ts-portal-card__icon {
    font-size: 32px;
    color: #3993d5;
    margin-bottom: 15px;
    line-height: 1;
}

.ts-portal-card__title {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px;
    color: #111111;
}

.ts-portal-card__desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #555555;
    line-height: 1.5;
    margin: 0;
}

.ts-portal-card__badge {
    display: inline-block;
    margin-top: 15px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid rgba(37, 99, 235, 0.25);
    border-radius: 3px;
}

.ts-portal-card__badge--tier {
    background: #f0fdf4;
    color: #166534;
    border-color: rgba(22, 101, 52, 0.25);
}

@media (max-width: 768px) {
    .ts-portal-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .ts-portal-card {
        padding: 20px;
    }
    .ts-portal-welcome__title {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .ts-portal-cards {
        grid-template-columns: 1fr;
    }
}

/* Logged-out state */
.ts-portal-logged-out {
    max-width: 480px;
    margin: 40px auto;
    padding: 0 20px;
}

.ts-portal-register-link {
    text-align: center;
    margin-top: 20px;
    font-size: 14px;
    color: #555555;
}

.ts-portal-register-link a {
    color: #5391CD;
}

/* Login prompt (shown on portal pages when logged out) */
.ts-portal-login-prompt {
    max-width: 480px;
    margin: 60px auto;
    text-align: center;
    padding: 40px 20px;
}

.ts-portal-login-prompt p {
    font-size: 16px;
    color: #333333;
    margin-bottom: 20px;
}

.ts-portal-login-btn {
    display: inline-block;
    padding: 12px 32px;
    background: #3993d5;
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border: 1px solid #3993d5;
    transition: background 200ms ease;
}

.ts-portal-login-btn:hover {
    background: #2a7ab8;
}

/* ---- Startup Checklist "Start Here" featured treatment (while checklist < 100%) ----
 * Reuses the elevated card pattern from §157. */
.ts-portal-card--featured {
    border: 2px solid #3993d5;
    box-shadow: 0 10px 30px rgba(57, 147, 213, 0.12);
    transform: translateY(-6px);
    background: linear-gradient(180deg, #ffffff 0%, #fdfeff 60%, #f6fafd 100%);
}

.ts-portal-card__badge--start-here {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 6px 14px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    white-space: nowrap;
    background: #3993d5;
    color: #ffffff;
    border: 1px solid #3993d5;
    border-radius: 0;
}

/* Tier badge now anchored to top-of-card (moved above the icon in the render) */
.ts-portal-card__badge--tier {
    margin-top: 0;
    margin-bottom: 15px;
}

/* Orienting microcopy shown below the welcome subtitle while checklist < 100% */
.ts-portal-welcome__orientation {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #555555;
    line-height: 1.55;
    margin: 10px 0 0;
    font-style: italic;
}

@media (max-width: 480px) {
    .ts-portal-card--featured {
        transform: none;
    }
}


/* =========================================================
TENANT PORTAL – PROGRESS BAR
========================================================= */

.ts-portal-progress {
    background: #f7f8f8;
    padding: 20px;
    margin-bottom: 20px;
}

.ts-portal-progress--inline {
    margin-bottom: 0;
}

.ts-portal-progress__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.ts-portal-progress__label {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #111111;
}

.ts-portal-progress__percent {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: #555555;
}

.ts-portal-progress__bar {
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
}

.ts-portal-progress__fill {
    height: 100%;
    background: #3993d5;
    border-radius: 4px;
    transition: width 400ms ease;
}


/* =========================================================
TENANT PORTAL – ONBOARDING CHECKLIST
========================================================= */

.ts-checklist {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.ts-checklist__header {
    margin-bottom: 30px;
}

.ts-checklist__title {
    margin: 0 0 8px;
}

.ts-checklist__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    line-height: 1.5;
    margin: 0 0 20px;
}

/* Category accordion */
.ts-checklist__category {
    border: 1px solid #e0e0e0;
    margin-bottom: 15px;
    background: #ffffff;
}

.ts-checklist__category-toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111111;
    text-align: left;
}

.ts-checklist__category-toggle:hover {
    background: #f7f8f8;
}

.ts-checklist__category-title {
    flex: 1;
}

.ts-checklist__category-count {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #555555;
    margin-right: 10px;
}

.ts-checklist__chevron {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #555555;
    transition: transform 200ms ease;
}

.ts-checklist__category-toggle[aria-expanded="false"] .ts-checklist__chevron {
    transform: rotate(-90deg);
}

/* Checklist items */
.ts-checklist__items {
    border-top: 1px solid #e0e0e0;
}

.ts-checklist__item {
    padding: 15px 20px;
    border-bottom: 1px solid #f0f0f0;
}

.ts-checklist__item:last-child {
    border-bottom: none;
}

.ts-checklist__item--done {
    background: #f7faf7;
}

.ts-checklist__item-main {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ts-checklist__checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    cursor: pointer;
}

.ts-checklist__checkbox {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: #3993d5;
}

.ts-checklist__item-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    color: #111111;
    line-height: 1.4;
}

.ts-checklist__item-text--done {
    text-decoration: line-through;
    color: #999999;
}

.ts-checklist__skip-btn {
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 500;
    color: #3993d5;
    background: none;
    border: 1px solid #3993d5;
    cursor: pointer;
    white-space: nowrap;
    transition: background 150ms ease, color 150ms ease;
}

.ts-checklist__skip-btn:hover {
    background: #3993d5;
    color: #ffffff;
}

.ts-checklist__item-details {
    padding: 10px 0 0 28px;
}

.ts-checklist__help {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: #666666;
    line-height: 1.55;
    margin: 0 0 8px;
}

.ts-checklist__resource-link {
    font-size: 13px;
    font-weight: 600;
    color: #3993d5 !important;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 200ms ease;
}

.ts-checklist__resource-link:hover {
    border-bottom-color: #3993d5;
}

.ts-checklist__item-undo {
    padding: 6px 0 0 28px;
}

.ts-checklist__undo-btn {
    font-size: 12px;
    color: #999999;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
}

.ts-checklist__undo-btn:hover {
    color: #333333;
}

.ts-checklist__footer {
    margin-top: 30px;
}

@media (max-width: 480px) {
    .ts-checklist__item-main {
        flex-wrap: wrap;
    }
    .ts-checklist__skip-btn {
        margin-left: 28px;
        margin-top: 6px;
    }
}


/* =========================================================
UNCLAIMED LISTING BANNER + LITE TEMPLATE STYLES
For scraped (unclaimed) gd_beauty_pros listings.
Body class `ts-listing-unclaimed` is added by the body_class
filter in inc/geodirectory.php.
========================================================= */

.ts-unclaimed-banner {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 22px;
    background: linear-gradient(180deg, #fff8e1 0%, #fff3c4 100%);
    border: 1px solid #f0c14b;
    border-left: 5px solid #f59e0b;
    margin: 0 0 24px;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.ts-unclaimed-banner__icon {
    flex: 0 0 auto;
    font-size: 22px;
    line-height: 1;
    margin-top: 2px;
}

.ts-unclaimed-banner__body {
    flex: 1 1 auto;
    min-width: 0;
}

.ts-unclaimed-banner__title {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #92400e;
    margin: 0 0 4px;
}

.ts-unclaimed-banner__text {
    font-size: 13px;
    line-height: 1.5;
    color: #574013;
    margin: 0;
}

.ts-unclaimed-banner__cta {
    flex: 0 0 auto;
    align-self: center;
}

.ts-unclaimed-banner__btn,
.ts-unclaimed-banner__btn:link,
.ts-unclaimed-banner__btn:visited {
    display: inline-block;
    background: #111111;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 18px;
    border: 2px solid #111111;
    transition: background 200ms ease, color 200ms ease;
    white-space: nowrap;
}

.ts-unclaimed-banner__btn:hover {
    background: #ffffff;
    color: #111111 !important;
}

@media (max-width: 640px) {
    .ts-unclaimed-banner {
        flex-direction: column;
        gap: 12px;
    }
    .ts-unclaimed-banner__cta {
        align-self: flex-start;
    }
}

/* Cleaned website link (replaces gd_post_meta key="website" raw URL display) */
.ts-website-link,
.ts-website-link:link,
.ts-website-link:visited {
    color: #5391CD !important;
    text-decoration: none;
    word-break: break-word;
}

.ts-website-link:hover {
    text-decoration: underline;
}

/* Body-class scoped overrides for unclaimed listings.
   Hide premium-only sections and apply lite styling to the services box. */

/* Scraped listings have premium blocks stripped server-side via the
   ts_rewrite_scraped_listing_content() filter in inc/geodirectory.php,
   so the rendered HTML never contains them in the first place. These
   safety-net selectors stay as belt-and-suspenders in case the filter
   fails for any reason.
   NOTE: .ts-owner-name and .ts-owner-divider are INTENTIONALLY kept
   visible — the filter re-purposes them to show the category label. */
body.ts-listing-unclaimed .ts-banner-tagline,
body.ts-listing-unclaimed .ts-banner-rating,
body.ts-listing-unclaimed .ts-social-icons,
body.ts-listing-unclaimed .ts-trust-statement,
body.ts-listing-unclaimed .ts-lifestyle-section,
body.ts-listing-unclaimed .ts-gallery-live-card,
body.ts-listing-unclaimed .ts-bh-title-wrapper,
body.ts-listing-unclaimed .ts-bottom-card-body-hours,
body.ts-listing-unclaimed .ts-book-btn {
    display: none !important;
}

/* ts-testimonials-form-card is kept visible on scraped listings — it now
   hosts the injected lite claim+links cards. Strip its original inner
   headings/forms so only our lite body renders. */
body.ts-listing-unclaimed .ts-testimonials-form-card .ts-testimonials-title,
body.ts-listing-unclaimed .ts-testimonials-form-card .ts-testimonials-heading,
body.ts-listing-unclaimed .ts-testimonials-form-card form,
body.ts-listing-unclaimed .ts-testimonials-form-card .comment-respond,
body.ts-listing-unclaimed .ts-testimonials-form-card #respond {
    display: none !important;
}

/* Scraped listings keep the normal 2-column bottom row: map on the left,
   lite claim+links cards on the right. (Earlier versions stretched the
   map full-width because the testimonials card was stripped entirely;
   now we re-purpose that card as the lite-cards container.) */

/* Scraped listings: the profile image slot now holds the stock hero
   photo instead of the business logo. Keep the slot sized to match
   the original logo slot so the two-column top layout doesn't break. */
body.ts-listing-unclaimed .ts-profile-image-wrap {
    max-width: 100%;
}

body.ts-listing-unclaimed .ts-profile-image-wrap .ts-scraped-hero-img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* =========================================================
SCRAPED LISTING — BUSINESS PROS COLOR PALETTE OVERRIDE
Scraped beauty listings use the same slate-blue + gray palette as
the Business Pros single template, so they read visually as
"informational / directory" rather than "premium beauty brand."
Mirrors the .ts-business-pros override block at ~line 4128.
========================================================= */

/* All other card surfaces → neutral gray (Business Pros palette). */
body.ts-listing-unclaimed .ts-card,
body.ts-listing-unclaimed .ts-card-left-middle,
body.ts-listing-unclaimed .ts-card-left-bottom,
body.ts-listing-unclaimed .ts-services-section,
body.ts-listing-unclaimed .ts-bottom-card-body {
    background-color: #ededef !important;
    background: #ededef !important;
}

/* Top-left card only → soft blue tint (Summit Shield hero color). */
body.ts-listing-unclaimed .ts-card-left-top {
    background-color: #deecfd !important;
    background: #deecfd !important;
}

/* 10px breathing room above the business name in the hero banner.
   Also added margin-top directly on the title as a safety net in case
   a more specific parent rule overrides the banner inner padding. */
body.ts-listing-unclaimed .ts-simple-banner,
body.ts-listing-unclaimed .ts-simple-banner-inner {
    padding-top: 10px !important;
}

body.ts-listing-unclaimed .ts-simple-banner-inner .ts-banner-title {
    margin-top: 10px !important;
}

/* Phone tel: link — keep the same text color as the rest of the row. */
body.ts-listing-unclaimed .ts-contact-row a.ts-contact-phone-link {
    color: inherit;
    text-decoration: none;
}

body.ts-listing-unclaimed .ts-contact-row a.ts-contact-phone-link:hover {
    text-decoration: underline;
}

/* Category label that replaces the owner name for scraped listings.
   No background (the upstream theme rule occasionally applies a bar);
   text is plain black so it reads as a simple eyebrow label. */
body.ts-listing-unclaimed .ts-owner-name {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: none;
    color: #111111 !important;
    background: transparent !important;
    background-color: transparent !important;
    margin: 0 0 8px;
}

/* Extra breathing room on the contact column (the content to the right
   of the stock image) — narrows the inner content without changing the
   card's outer dimensions. */
body.ts-listing-unclaimed .ts-card-left-col-contact {
    padding-left: 10px;
    padding-right: 10px;
}

/* =========================================================
SCRAPED LISTING — CLAIM CTA + UNVERIFIED NOTICE
========================================================= */

/* "Is this your business? Claim it" button that sits below the stock
   hero image in the logo column, replacing the old Book Now slot. */
body.ts-listing-unclaimed .ts-claim-btn,
body.ts-listing-unclaimed .ts-claim-btn:link,
body.ts-listing-unclaimed .ts-claim-btn:visited {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 100%;
    padding: 14px 18px;
    margin-top: 14px;
    margin-bottom: 14px;
    background: #000000;
    color: #ffffff !important;
    text-decoration: none;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    border: 2px solid #000000;
    border-radius: 0;
    transition: background 200ms ease, color 200ms ease;
    text-align: center;
}

body.ts-listing-unclaimed .ts-claim-btn:hover,
body.ts-listing-unclaimed .ts-claim-btn:focus {
    background: #ffffff;
    color: #000000 !important;
    text-decoration: none;
}

body.ts-listing-unclaimed .ts-claim-btn__text {
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.2;
}

body.ts-listing-unclaimed .ts-claim-btn__sub {
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.3;
    margin-top: 2px;
}

/* "Unverified listing." notice below the contact list. */
body.ts-listing-unclaimed .ts-unverified-notice {
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #4a5668;
    margin: 18px 0 0;
    padding: 0;
    font-style: italic;
}

body.ts-listing-unclaimed .ts-unverified-notice strong {
    font-style: normal;
    font-weight: 700;
    color: #2e3b4c;
}

/* =========================================================
EASTSIDE BEAUTY LANDING (/beauty-pros/ + /beauty-pros-{city}/)
Scoped under body.ts-eastside-beauty-landing to match the
existing .ts-beauty-pros-archive 2-column layout and override
the theme's default page hero / search form styling.
========================================================= */

/* Neutralize the theme's default page hero image/gradient so the
   hero we render inside the shortcode is the only header. */
body.ts-eastside-beauty-landing .btPageHeadline,
body.ts-eastside-beauty-landing .btPageHeadline:before,
body.ts-eastside-beauty-landing .btTitleBar,
body.ts-eastside-beauty-landing .bt-title-bar-wrapper {
    display: none !important;
}

/* Page background: clean light surface so buttons/cards pop. */
body.ts-eastside-beauty-landing .bt-content-holder,
body.ts-eastside-beauty-landing .bt-content {
    background: #f7f8f8 !important;
}

/* Hero — solid slate panel when no per-city image is set. */
body.ts-eastside-beauty-landing .ts-archive-hero:not(.ts-eastside-hero--bg) {
    background: #2e3b4c !important;
    padding: 56px 24px !important;
    text-align: center !important;
    color: #ffffff !important;
    margin: 0 !important;
}

/* Per-city hero image variant: no !important on background so the inline style wins. */
body.ts-eastside-beauty-landing .ts-archive-hero.ts-eastside-hero--bg {
    background-color: #1a1f26 !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
    padding: 56px 24px !important;
    text-align: center !important;
    color: #ffffff !important;
    margin: 0 !important;
}

body.ts-eastside-beauty-landing .ts-archive-hero-title {
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    margin: 0 0 10px !important;
}

body.ts-eastside-beauty-landing .ts-archive-hero-text {
    color: rgba(255, 255, 255, 0.88) !important;
    max-width: 680px !important;
    margin: 0 auto 22px !important;
}

/* Search bar — white inputs with dark text, contrasting icons. */
body.ts-eastside-beauty-landing .ts-archive-search {
    max-width: 880px;
    margin: 0 auto 20px;
}

body.ts-eastside-beauty-landing .ts-archive-search-inner {
    background: #ffffff;
    padding: 10px;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

body.ts-eastside-beauty-landing .ts-archive-search input[type="text"],
body.ts-eastside-beauty-landing .ts-archive-search input[type="search"],
body.ts-eastside-beauty-landing .ts-archive-search select,
body.ts-eastside-beauty-landing .ts-archive-search .geodir-search-input-wrapper input,
body.ts-eastside-beauty-landing .ts-archive-search .geodir-search-input-wrapper select {
    background: #ffffff !important;
    color: #2e3b4c !important;
    border: 1px solid #cfd7df !important;
    border-radius: 3px !important;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
    height: auto !important;
}

body.ts-eastside-beauty-landing .ts-archive-search input::placeholder,
body.ts-eastside-beauty-landing .ts-archive-search .geodir-search-input-wrapper input::placeholder {
    color: #8a94a3 !important;
    opacity: 1;
}

body.ts-eastside-beauty-landing .ts-archive-search input:focus,
body.ts-eastside-beauty-landing .ts-archive-search select:focus {
    outline: none !important;
    border-color: #2e3b4c !important;
    box-shadow: 0 0 0 3px rgba(46, 59, 76, 0.12) !important;
}

/* Search icons (location pin, magnifying glass prefixes) */
body.ts-eastside-beauty-landing .ts-archive-search .fa,
body.ts-eastside-beauty-landing .ts-archive-search [class^="fa-"],
body.ts-eastside-beauty-landing .ts-archive-search [class*=" fa-"] {
    color: #2e3b4c !important;
}

/* Submit button */
body.ts-eastside-beauty-landing .ts-archive-search button[type="submit"],
body.ts-eastside-beauty-landing .ts-archive-search input[type="submit"] {
    background: #2e3b4c !important;
    color: #ffffff !important;
    border: 1px solid #2e3b4c !important;
    padding: 10px 18px !important;
    border-radius: 3px !important;
    font-weight: 600 !important;
}

body.ts-eastside-beauty-landing .ts-archive-search button[type="submit"]:hover {
    background: #1f2834 !important;
}

/* =========================================================
FILTER BAR (category dropdown + city buttons)
Sits on a light Cloud Blue panel inside the dark hero so
buttons always have guaranteed contrast.
========================================================= */
body.ts-eastside-beauty-landing .ts-eastside-filters {
    max-width: 880px;
    margin: 0 auto;
    padding: 18px 22px;
    background: #deecfd;
    border-radius: 6px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
    text-align: left;
}

body.ts-eastside-beauty-landing .ts-eastside-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}

body.ts-eastside-beauty-landing .ts-eastside-filter-row:last-child {
    margin-bottom: 0;
}

body.ts-eastside-beauty-landing .ts-eastside-filter-label {
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #2e3b4c;
    margin-right: 10px;
    min-width: 78px;
}

/* Category dropdown */
body.ts-eastside-beauty-landing .ts-eastside-select {
    flex: 1 1 auto;
    min-width: 220px;
    max-width: 520px;
    background: #ffffff;
    color: #2e3b4c;
    border: 1px solid #cfd7df;
    border-radius: 3px;
    padding: 10px 12px;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%232e3b4c' d='M6 8L0 0h12z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
}

body.ts-eastside-beauty-landing .ts-eastside-select:focus {
    outline: none;
    border-color: #2e3b4c;
    box-shadow: 0 0 0 3px rgba(46, 59, 76, 0.15);
}

/* City buttons row */
body.ts-eastside-beauty-landing .ts-eastside-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    background: #ffffff;
    border: 1px solid #cfd7df;
    color: #2e3b4c;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 999px;
    line-height: 1.3;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

body.ts-eastside-beauty-landing .ts-eastside-btn:hover,
body.ts-eastside-beauty-landing .ts-eastside-btn:focus {
    background: #f0f6fc;
    border-color: #2e3b4c;
    color: #2e3b4c;
    text-decoration: none;
}

body.ts-eastside-beauty-landing .ts-eastside-btn.is-active {
    background: #2e3b4c;
    border-color: #2e3b4c;
    color: #ffffff;
}

body.ts-eastside-beauty-landing .ts-eastside-btn.is-active:hover {
    background: #1f2834;
    border-color: #1f2834;
    color: #ffffff;
}

/* =========================================================
RESULTS TITLE — smaller than hero title, with overflow safety
========================================================= */
body.ts-eastside-beauty-landing .ts-results-wrap {
    max-width: 1320px;
    margin: 30px auto 0 !important;
    padding: 0 24px;
}

body.ts-eastside-beauty-landing .ts-results-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: clamp(1.4rem, 2.4vw, 1.9rem) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #2e3b4c !important;
    margin: 30px 0 22px !important;
    padding: 0 !important;
    overflow-wrap: anywhere;
}

/* =========================================================
2-COLUMN LAYOUT — listings left, map right
========================================================= */
body.ts-eastside-beauty-landing .ts-results-map-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

body.ts-eastside-beauty-landing .ts-results-column {
    min-width: 0;
}

body.ts-eastside-beauty-landing .ts-map-column {
    min-width: 0;
    position: sticky;
    top: 20px;
}

@media (max-width: 991px) {
    body.ts-eastside-beauty-landing .ts-results-map-row {
        grid-template-columns: 1fr;
    }
    body.ts-eastside-beauty-landing .ts-map-column {
        position: static;
    }
}

@media (max-width: 767px) {
    body.ts-eastside-beauty-landing .ts-archive-hero {
        padding: 40px 18px 22px !important;
    }
    body.ts-eastside-beauty-landing .ts-eastside-filter-label {
        width: 100%;
        margin-bottom: 4px;
        min-width: 0;
    }
    body.ts-eastside-beauty-landing .ts-eastside-select {
        min-width: 0;
        max-width: 100%;
        width: 100%;
    }
    body.ts-eastside-beauty-landing .ts-eastside-btn {
        font-size: 12px;
        padding: 6px 11px;
    }
}

/* =========================================================
HIDE GD INTERNAL RATINGS ON BEAUTY PROS (site-wide)
User switched to Google ratings only — hide the internal
GeoDirectory review system displays on every gd_beauty_pros
card and every gd_beauty_pros detail page, regardless of
which page is rendering them (archive, search, showcase,
sidebar widget, etc.).

Scoping: every GD card / post wrapper carries the post type
class .gd_beauty_pros (or type-gd_beauty_pros), so targeting
descendant rating classes under that scope reaches them on
any page without needing a body class.
========================================================= */

/* Detail page hero rating banner + rating breakdown card at top
   of the testimonials section ("Excellent / 5 / ★★★★★ / 2 reviews").
   GD uses native Bootstrap .card markup with no distinct class
   for the summary card, so we target any .card / .card-body that
   contains a .gd-rating-output-wrap descendant via :has(). */
body.single-gd_beauty_pros .ts-banner-rating,
body.single-gd_beauty_pros .ts-rating-breakdown-card,
body.single-gd_beauty_pros .ts-rating-breakdown,
body.single-gd_beauty_pros .gd-rating-breakdown,
body.single-gd_beauty_pros .gd-rating-summary,
body.single-gd_beauty_pros .gd-rating-overview,
body.single-gd_beauty_pros .card:has(.gd-rating-output-wrap),
body.single-gd_beauty_pros .card-body:has(.gd-rating-output-wrap) {
    display: none !important;
}

/* "Testimonials" heading injected by the content filter in place of
   the removed rating summary card. Matches the section title scale
   used elsewhere on detail pages. */
body.single-gd_beauty_pros .ts-testimonials-heading {
    font-family: 'Poppins', sans-serif;
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #111111;
    text-align: center;
    margin: 0 0 12px;
    padding: 0;
}

/* Tighten space between the Testimonials heading and the sort
   dropdown that follows it. GD uses aui Bootstrap utility classes
   and applies .mb-5 (margin-bottom: 3rem) to elements in the
   reviews container — we override to 1rem on beauty listings. */
body.single-gd_beauty_pros .bsui .mb-5 {
    margin-bottom: 1rem !important;
}

/* Any GD internal rating UI inside a beauty-pros post wrapper —
   covers list cards, archive cards, sidebar widgets, etc. */
.gd_beauty_pros .geodir-post-rating,
.gd_beauty_pros .gd-rating-container,
.gd_beauty_pros .gd-list-rating-stars,
.gd_beauty_pros .gd-rating-output-wrap,
.gd_beauty_pros .gd-rating-wrap,
.type-gd_beauty_pros .geodir-post-rating,
.type-gd_beauty_pros .gd-rating-container,
.type-gd_beauty_pros .gd-list-rating-stars,
.type-gd_beauty_pros .gd-rating-output-wrap,
.type-gd_beauty_pros .gd-rating-wrap {
    display: none !important;
}

/* Detail page testimonial submission form — hide the star-picker,
   the "Overall" label, the "Select a rating" control, and the GD
   review sort dropdown. Covers multiple GD form markup variations. */
body.single-gd_beauty_pros .comment-form-rating,
body.single-gd_beauty_pros #commentrating,
body.single-gd_beauty_pros .stars,
body.single-gd_beauty_pros label[for="rating"],
body.single-gd_beauty_pros .comment-form-ratingrow,
body.single-gd_beauty_pros .gd-rating-input,
body.single-gd_beauty_pros .gd-ratingoptionsrow,
body.single-gd_beauty_pros .gd-rating-options,
body.single-gd_beauty_pros .gd-review-rating,
body.single-gd_beauty_pros .geodir-reviewrating,
body.single-gd_beauty_pros .geodir-review-rating,
body.single-gd_beauty_pros .gd-rating-select-text,
body.single-gd_beauty_pros .gd-rating-form-wrap,
body.single-gd_beauty_pros .gd-ratingbox,
body.single-gd_beauty_pros .gd-rating-field,
body.single-gd_beauty_pros .gd-rating-label,
body.single-gd_beauty_pros .gd-reviewrating-label,
body.single-gd_beauty_pros .gd-list-rating,
body.single-gd_beauty_pros .geodir-sort-reviews,
body.single-gd_beauty_pros .gd-reviews-sort,
body.single-gd_beauty_pros .gd-sort-wrap,
body.single-gd_beauty_pros select[name="gd_sort_reviews"] {
    display: none !important;
}

/* Detail page rendered testimonials — hide star display on
   individual submitted reviews. */
body.single-gd_beauty_pros .comment-list .star-rating,
body.single-gd_beauty_pros .comment-list .gd-rating,
body.single-gd_beauty_pros .comment-list .gd-rating-container,
body.single-gd_beauty_pros .comment-list .gd-rating-wrap,
body.single-gd_beauty_pros .comment .gd-rating,
body.single-gd_beauty_pros .comment .gd-rating-wrap {
    display: none !important;
}

/* =========================================================
PREMIUM LISTING SAMPLES PAGE (/premium-listing-samples/)
Showcase page marketing the Premium tier with the 4 sample
listings flagged via _ts_sample_premium meta.
========================================================= */
#tps-app {
    --tps-slate: #2e3b4c;
    --tps-slate-dark: #1f2834;
    --tps-cloud: #deecfd;
    --tps-gray-bg: #f7f8f8;
    background: var(--tps-gray-bg);
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    padding-bottom: 80px;
}

#tps-app * { box-sizing: border-box; }

#tps-app .tps-hero {
    background: #000000;
    color: #ffffff;
    padding: 70px 40px 80px;
    text-align: center;
}

#tps-app .tps-hero-eyebrow {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--tps-cloud);
    margin-bottom: 14px;
}

#tps-app .tps-hero h1 {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.9rem, 4vw, 3rem);
    font-weight: 600;
    line-height: 1.1;
    color: #ffffff;
    margin: 0 0 14px;
}

#tps-app .tps-hero p {
    font-size: 17px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.88);
    max-width: 720px;
    margin: 0 auto;
}

#tps-app .tps-container {
    max-width: 1320px;
    margin: -40px auto 0;
    padding: 0 24px;
    position: relative;
}

#tps-app .tps-grid {
    background: #ffffff;
    border: 1px solid #e2e2e2;
    box-shadow: 0 6px 22px rgba(46, 59, 76, 0.08);
    padding: 32px;
    margin-bottom: 36px;
}

/* CTA */
#tps-app .tps-cta {
    background: #deecfd;
    padding: 48px 32px;
    text-align: center;
    border: 1px solid #cfd7df;
}

#tps-app .tps-cta h2 {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.4rem, 2.4vw, 1.9rem);
    font-weight: 600;
    color: var(--tps-slate);
    margin: 0 0 12px;
}

#tps-app .tps-cta p {
    font-size: 16px;
    line-height: 1.6;
    color: #4a5668;
    max-width: 620px;
    margin: 0 auto 22px;
}

#tps-app .tps-cta-btn,
#tps-app .tps-cta-btn:link,
#tps-app .tps-cta-btn:visited {
    display: inline-block;
    padding: 14px 28px;
    background: var(--tps-slate) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 2px solid var(--tps-slate);
    border-radius: 0;
    transition: background 200ms ease, color 200ms ease;
}

#tps-app .tps-cta-btn:hover,
#tps-app .tps-cta-btn:focus {
    background: #ffffff !important;
    color: var(--tps-slate) !important;
    text-decoration: none !important;
}

@media (max-width: 767px) {
    #tps-app .tps-hero { padding: 50px 20px 60px; }
    #tps-app .tps-container { padding: 0 16px; margin-top: -30px; }
    #tps-app .tps-grid { padding: 22px; }
    #tps-app .tps-cta { padding: 36px 22px; }
}

/* =========================================================
CLAIM YOUR LISTING PAGE (/claim-your-listing/)
Scoped under #tcl-app. Mirrors the /business-pricing-calculator/
pattern with the Business Pros palette for visual consistency
with the scraped listing template.
========================================================= */
#tcl-app {
    --tcl-slate: #2e3b4c;
    --tcl-slate-dark: #1f2834;
    --tcl-cloud: #deecfd;
    --tcl-cloud-soft: #f0f6fc;
    --tcl-gray-bg: #f7f8f8;
    --tcl-card: #ffffff;
    --tcl-border: #e2e2e2;
    --tcl-text: #1a1a1a;
    --tcl-text-muted: #5a5f6a;
    background: var(--tcl-gray-bg);
    color: var(--tcl-text);
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    padding-bottom: 80px;
}

#tcl-app * {
    box-sizing: border-box;
}

/* HERO */
#tcl-app .tcl-hero {
    background: #000000;
    color: #ffffff;
    padding: 70px 40px 80px;
    text-align: center;
}

#tcl-app .tcl-hero-eyebrow {
    display: inline-block;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--tcl-cloud);
    margin-bottom: 14px;
}

#tcl-app .tcl-hero h1 {
    font-family: 'Poppins', sans-serif;
    font-size: 48px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.01em;
    color: #ffffff;
    margin: 0 0 14px;
}

#tcl-app .tcl-hero p {
    font-size: 17px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    max-width: 640px;
    margin: 0 auto;
}

/* CONTAINER */
#tcl-app .tcl-container {
    max-width: 1040px;
    margin: -40px auto 0;
    padding: 0 24px;
    position: relative;
}

/* NUMBERED SECTIONS */
#tcl-app .tcl-section {
    background: var(--tcl-card);
    border: 1px solid var(--tcl-border);
    box-shadow: 0 6px 22px rgba(46, 59, 76, 0.08);
    padding: 36px 40px;
    margin-bottom: 26px;
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

#tcl-app .tcl-section-num {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--tcl-cloud);
    color: var(--tcl-slate);
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    justify-content: center;
}

#tcl-app .tcl-section-body {
    flex: 1 1 auto;
    min-width: 0;
}

#tcl-app .tcl-section-body h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--tcl-slate);
    margin: 0 0 10px;
}

#tcl-app .tcl-section-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--tcl-text-muted);
    margin: 0 0 22px;
}

/* FEATURE GRID (Section 01) */
#tcl-app .tcl-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 24px;
}

#tcl-app .tcl-feature {
    font-size: 15px;
    line-height: 1.5;
    color: var(--tcl-text);
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

#tcl-app .tcl-feature-check {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--tcl-cloud);
    color: var(--tcl-slate);
    font-size: 13px;
    font-weight: 700;
    margin-top: 1px;
}

/* COMPARE GRID (Section 02) */
#tcl-app .tcl-section--premium {
    background: linear-gradient(180deg, #ffffff 0%, var(--tcl-cloud-soft) 100%);
}

#tcl-app .tcl-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 10px;
}

#tcl-app .tcl-compare-col {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--tcl-border);
    padding: 28px 26px 30px;
    display: flex;
    flex-direction: column;
    text-align: left;
    font-family: inherit;
    color: inherit;
    cursor: pointer;
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

/* Make <button> version of the card visually identical to the old div. */
button.tcl-compare-col {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
}

#tcl-app .tcl-compare-col:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(46, 59, 76, 0.14);
}

#tcl-app .tcl-compare-col.is-selected {
    border-color: var(--tcl-slate) !important;
    border-width: 3px !important;
    box-shadow: 0 14px 34px rgba(46, 59, 76, 0.18);
}

#tcl-app .tcl-compare-col--premium {
    border-color: var(--tcl-slate);
    border-width: 2px;
    box-shadow: 0 12px 30px rgba(46, 59, 76, 0.12);
}

#tcl-app .tcl-tier-badge {
    position: absolute;
    top: -12px;
    left: 26px;
    background: var(--tcl-slate);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 999px;
}

#tcl-app .tcl-tier-label {
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 600;
    color: var(--tcl-slate);
    margin-bottom: 16px;
}

#tcl-app .tcl-compare-list {
    list-style: none;
    padding: 0;
    margin: 0 0 22px;
    flex: 1 1 auto;
}

#tcl-app .tcl-compare-list li {
    font-size: 14px;
    line-height: 1.5;
    padding: 9px 0 9px 26px;
    border-bottom: 1px dashed rgba(46, 59, 76, 0.1);
    position: relative;
}

#tcl-app .tcl-compare-list li:last-child {
    border-bottom: none;
}

#tcl-app .tcl-compare-yes::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--tcl-slate);
    font-weight: 700;
}

#tcl-app .tcl-compare-no {
    color: #a0a5ad;
}

#tcl-app .tcl-compare-no::before {
    content: '—';
    position: absolute;
    left: 0;
    color: #a0a5ad;
    font-weight: 700;
}

#tcl-app .tcl-tier-price {
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--tcl-slate);
    padding-top: 14px;
    border-top: 2px solid var(--tcl-cloud);
    margin-top: auto;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
}

#tcl-app .tcl-tier-price-num {
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
    color: var(--tcl-slate);
}

#tcl-app .tcl-tier-price-unit {
    font-size: 16px;
    font-weight: 500;
    color: var(--tcl-text-muted);
}

#tcl-app .tcl-tier-price-alt {
    font-size: 13px;
    font-weight: 500;
    color: var(--tcl-text-muted);
    letter-spacing: 0.02em;
}

#tcl-app .tcl-tier-note {
    font-size: 12px;
    line-height: 1.45;
    color: var(--tcl-text-muted);
    font-style: italic;
    margin: 8px 0 0;
}

#tcl-app .tcl-tier-cta {
    margin-top: 18px;
    padding: 12px 16px;
    background: var(--tcl-slate);
    color: #ffffff;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;
    border: 2px solid var(--tcl-slate);
    transition: background 200ms ease, color 200ms ease;
}

#tcl-app .tcl-compare-col:hover .tcl-tier-cta,
#tcl-app .tcl-compare-col.is-selected .tcl-tier-cta {
    background: #ffffff;
    color: var(--tcl-slate);
}

/* Link to the Premium samples showcase — lives below the compare grid. */
#tcl-app .tcl-samples-link-row {
    margin: 22px 0 0;
    text-align: center;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 14px;
    color: #4a5668;
}

#tcl-app .tcl-samples-link {
    display: inline-block;
    margin-left: 8px;
    color: #2e3b4c;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
    transition: color 180ms ease;
}

#tcl-app .tcl-samples-link:hover,
#tcl-app .tcl-samples-link:focus {
    color: #1f2834;
}

/* Selected-tier pill above the form */
#tcl-app .tcl-selected-tier-pill {
    display: inline-block;
    padding: 8px 16px;
    margin: 0 0 22px;
    background: var(--tcl-cloud);
    color: var(--tcl-slate);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    border-radius: 999px;
}

#tcl-app .tcl-selected-tier-pill strong {
    font-weight: 700;
}

/* FORM (Section 03) */
#tcl-app .tcl-form-wrap {
    margin-top: 8px;
}

/* Ninja Forms overrides inside the claim page only */
#tcl-app .nf-form-cont .nf-form-content {
    max-width: 100%;
    padding: 0;
}

#tcl-app .nf-form-cont input[type="text"],
#tcl-app .nf-form-cont input[type="email"],
#tcl-app .nf-form-cont input[type="tel"],
#tcl-app .nf-form-cont textarea,
#tcl-app .nf-form-cont select {
    border: 1px solid var(--tcl-border) !important;
    border-radius: 0 !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
}

#tcl-app .nf-form-cont input[type="text"]:focus,
#tcl-app .nf-form-cont input[type="email"]:focus,
#tcl-app .nf-form-cont input[type="tel"]:focus,
#tcl-app .nf-form-cont textarea:focus,
#tcl-app .nf-form-cont select:focus {
    border-color: var(--tcl-slate) !important;
    outline: none !important;
}

#tcl-app .nf-form-cont .submit-wrap input[type="button"],
#tcl-app .nf-form-cont .submit-wrap button {
    background: var(--tcl-slate) !important;
    color: #ffffff !important;
    border: 2px solid var(--tcl-slate) !important;
    border-radius: 0 !important;
    font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease !important;
}

#tcl-app .nf-form-cont .submit-wrap input[type="button"]:hover,
#tcl-app .nf-form-cont .submit-wrap button:hover {
    background: #ffffff !important;
    color: var(--tcl-slate) !important;
}

/* MOBILE — stack everything */
@media (max-width: 767px) {
    #tcl-app .tcl-hero {
        padding: 50px 20px 60px;
    }
    #tcl-app .tcl-hero h1 {
        font-size: 34px;
    }
    #tcl-app .tcl-hero p {
        font-size: 15px;
    }
    #tcl-app .tcl-container {
        padding: 0 16px;
        margin-top: -30px;
    }
    #tcl-app .tcl-section {
        flex-direction: column;
        padding: 28px 22px;
        gap: 16px;
    }
    #tcl-app .tcl-section-num {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        font-size: 16px;
    }
    #tcl-app .tcl-section-body h2 {
        font-size: 22px;
    }
    #tcl-app .tcl-feature-grid,
    #tcl-app .tcl-compare-grid {
        grid-template-columns: 1fr;
    }
}

/* Dark coral section title bars → Dark Slate Blue */
body.ts-listing-unclaimed .ts-about-title-bar,
body.ts-listing-unclaimed .ts-right-title-bar,
body.ts-listing-unclaimed .ts-bh-title-bar {
    background-color: #2d3a4c !important;
}

/* Outer two-card section background → neutral light gray */
body.ts-listing-unclaimed .ts-two-card-section,
body.ts-listing-unclaimed .ts-two-card-inner {
    background: #f8f8f8 !important;
}

/* Google rating banner: peach → slate-blue palette to match */
body.ts-listing-unclaimed .ts-google-rating-banner {
    background: #dbecf9 !important;
    border-color: #2e3b4c !important;
    color: #2e3b4c !important;
}

body.ts-listing-unclaimed .ts-google-rating-banner:hover,
body.ts-listing-unclaimed .ts-google-rating-banner:focus {
    background: #2e3b4c !important;
    border-color: #2e3b4c !important;
    color: #ffffff !important;
}

body.ts-listing-unclaimed .ts-google-rating-banner .ts-google-rating__star {
    color: #2e3b4c !important;
}

body.ts-listing-unclaimed .ts-google-rating-banner:hover .ts-google-rating__star,
body.ts-listing-unclaimed .ts-google-rating-banner:focus .ts-google-rating__star,
body.ts-listing-unclaimed .ts-google-rating-banner:hover .ts-google-rating__score,
body.ts-listing-unclaimed .ts-google-rating-banner:focus .ts-google-rating__score,
body.ts-listing-unclaimed .ts-google-rating-banner:hover .ts-google-rating__count,
body.ts-listing-unclaimed .ts-google-rating-banner:focus .ts-google-rating__count {
    color: #ffffff !important;
}

body.ts-listing-unclaimed .ts-google-rating-banner .ts-google-rating__score {
    color: #2e3b4c !important;
}

body.ts-listing-unclaimed .ts-google-rating-banner .ts-google-rating__count {
    color: #4a5668 !important;
}

/* Claimed listings hide the scraped-only stock hero image so the real
   profile logo renders in its place. The Google rating banner is kept
   visible on claimed listings — Google ratings are now the primary
   rating source site-wide, not a scraped-only feature. */
body.ts-listing-claimed .ts-scraped-hero {
    display: none !important;
}

/* =========================================================
SCRAPED LISTING HERO IMAGE
The hero image is injected into the existing .ts-profile-image-wrap
slot in the left card. Base styling for .ts-scraped-hero-img is in
the scraped-listing selector above (scoped to body.ts-listing-unclaimed
so it doesn't leak onto claimed listings).
========================================================= */

/* =========================================================
GOOGLE RATING BANNER (scraped listings)
========================================================= */
.ts-google-rating-banner {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #333333;
    text-decoration: none;
    margin: 0 0 18px;
    padding: 6px 12px;
    background: #FFF4EF;
    border: 1px solid #FABBA4;
    border-radius: 999px;
    transition: background 200ms ease, border-color 200ms ease;
}

.ts-google-rating-banner:hover,
.ts-google-rating-banner:focus {
    background: #FABBA4;
    border-color: #F26F63;
    color: #333333;
    text-decoration: none;
}

.ts-google-rating-banner .ts-google-rating__star {
    color: #F26F63;
    font-size: 17px;
    line-height: 1;
}

.ts-google-rating-banner .ts-google-rating__score {
    font-weight: 700;
    color: #111111;
}

.ts-google-rating-banner .ts-google-rating__count {
    color: #555555;
    font-size: 14px;
}

body.ts-listing-unclaimed .ts-services-box {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    padding: 24px;
}

body.ts-listing-unclaimed .ts-services-intro {
    font-size: 14px;
    color: #555555;
    line-height: 1.6;
    margin-bottom: 16px;
}

body.ts-listing-unclaimed .ts-service-row {
    padding: 8px 0;
    border-bottom: 1px solid #ececec;
}

body.ts-listing-unclaimed .ts-service-row:last-child {
    border-bottom: none;
}

body.ts-listing-unclaimed .ts-service-row--no-price .ts-service-name strong {
    font-weight: 500;
    color: #333333;
}


/* =========================================================
TENANT PORTAL – MARKETING HUB
========================================================= */

.ts-marketing-hub {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.ts-marketing-hub__header {
    margin-bottom: 30px;
}

.ts-marketing-hub__title {
    margin: 0 0 8px;
}

.ts-marketing-hub__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    margin: 0;
}

.ts-marketing-hub__section-title {
    margin: 0 0 15px;
}

.ts-marketing-hub__current-card {
    background: linear-gradient(180deg, #ffffff 0%, #fdfeff 50%, #f6fafd 100%);
    padding: 30px;
    margin-bottom: 30px;
    border: 1px solid #e3edf5;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 2px 8px rgba(57, 147, 213, 0.05);
}

.ts-marketing-hub__tier-badge {
    display: inline-block;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid rgba(37, 99, 235, 0.25);
    margin-bottom: 15px;
}

.ts-marketing-hub__features {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ts-marketing-hub__features li {
    padding: 6px 0;
    font-size: 14px;
    color: #333333;
    border-bottom: 1px solid #e8e8e8;
}

.ts-marketing-hub__features li:last-child {
    border-bottom: none;
}

.ts-marketing-hub__upgrade {
    margin-bottom: 30px;
}

.ts-marketing-hub__upgrade-intro {
    font-size: 15px;
    color: #555555;
    margin-bottom: 20px;
}

.ts-marketing-hub__tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.ts-marketing-hub__tier-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 30px;
}

.ts-marketing-hub__tier-name {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 6px;
}

.ts-marketing-hub__tier-price {
    font-size: 22px;
    font-weight: 700;
    color: #3993d5;
    margin-bottom: 15px;
}

.ts-marketing-hub__tier-features {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1 1 auto;
}

.ts-marketing-hub__tier-features li {
    padding: 5px 0;
    font-size: 13px;
    color: #333333;
    border-bottom: 1px solid #f0f0f0;
}

.ts-marketing-hub__tier-features li:last-child {
    border-bottom: none;
}

.ts-marketing-hub__lead-report {
    margin: 30px 0;
}

.ts-marketing-hub__placeholder {
    background: #f7f8f8;
    padding: 40px;
    text-align: center;
    color: #999999;
    font-size: 14px;
}

.ts-marketing-hub__consult {
    text-align: center;
    padding: 30px 0;
}

.ts-marketing-hub__consult p {
    font-size: 15px;
    color: #333333;
    margin-bottom: 15px;
}

.ts-marketing-hub__footer {
    margin-top: 20px;
}

/* =========================================================
MARKETING HUB — CATEGORIZED RESOURCES & TOOLS GRID
========================================================= */

.ts-marketing-hub__resources {
    margin-bottom: 50px;
}

.ts-marketing-hub__resources-intro {
    font-size: 15px;
    color: #555555;
    margin: 0 0 30px;
    line-height: 1.55;
}

/* Category wrapper */
.ts-hub-category {
    margin-bottom: 40px;
}

.ts-hub-category:last-child {
    margin-bottom: 0;
}

/* Category header row */
.ts-hub-category__header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 18px 22px;
    background: #f7f8f8;
    border-left: 4px solid #3993d5;
    margin-bottom: 18px;
}

.ts-hub-category__icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #3993d5;
}

.ts-hub-category__heading {
    flex: 1 1 auto;
}

.ts-hub-category__title {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 4px;
    line-height: 1.3;
}

.ts-hub-category__desc {
    font-size: 13px;
    color: #555555;
    line-height: 1.5;
    margin: 0;
}

/* Items grid */
.ts-hub-category__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

/* Individual item card — base */
.ts-hub-item {
    position: relative;
    display: block;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 22px;
    text-decoration: none;
    transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.ts-hub-item__title {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 8px;
    line-height: 1.35;
}

.ts-hub-item__desc {
    font-size: 13px;
    color: #555555;
    line-height: 1.55;
    margin: 0 0 14px;
}

/* Live item */
.ts-hub-item--live:hover {
    border-color: #3993d5;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(57, 147, 213, 0.08);
}

.ts-hub-item__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #3993d5;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ts-hub-item--live:hover .ts-hub-item__cta {
    color: #2a7ab8;
}

/* Coming-soon item */
.ts-hub-item--soon {
    background: #fafafa;
    cursor: default;
}

.ts-hub-item--soon .ts-hub-item__title,
.ts-hub-item--soon .ts-hub-item__desc {
    opacity: 0.7;
}

.ts-hub-item__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #888888;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 4px 10px;
    margin-bottom: 12px;
}

.ts-hub-item__badge .fa-lock {
    font-size: 10px;
}

@media (max-width: 960px) {
    .ts-hub-category__items {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .ts-marketing-hub__tiers {
        grid-template-columns: 1fr;
    }
    .ts-hub-category__items {
        grid-template-columns: 1fr;
    }
    .ts-hub-category__header {
        flex-direction: column;
        gap: 12px;
    }
}

/* ---- Collapsible Resources & Tools Categories (Marketing Hub) ---- */

/* [hidden] must win over the class-level display: grid */
.ts-hub-category__items[hidden] {
    display: none;
}

/* Button-reset so <button class="__header __toggle"> keeps the visuals of the original div */
.ts-hub-category__toggle {
    width: 100%;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    transition: background 200ms ease;
}

.ts-hub-category__toggle:hover {
    background: #eef3f6;
}

.ts-hub-category__toggle:focus-visible {
    outline: 2px solid #3993d5;
    outline-offset: 2px;
}

/* Collapsed state: no items below, so the header doesn't need bottom margin */
.ts-hub-category__toggle[aria-expanded="false"] {
    margin-bottom: 0;
}

/* Count indicator sits on the right side of the header */
.ts-hub-category__count {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    color: #555555;
    letter-spacing: 0.04em;
    margin-left: auto;
    flex-shrink: 0;
    padding-top: 6px;
    white-space: nowrap;
}

/* CSS-arrow chevron — points down-right when closed, rotates to up-left when open */
.ts-hub-category__chevron {
    width: 10px;
    height: 10px;
    margin-left: 12px;
    margin-top: 10px;
    border-right: 2px solid #3993d5;
    border-bottom: 2px solid #3993d5;
    transform: rotate(45deg);
    transition: transform 200ms ease;
    flex-shrink: 0;
}

.ts-hub-category__toggle[aria-expanded="true"] .ts-hub-category__chevron {
    transform: rotate(-135deg);
    margin-top: 14px;
}


/* =========================================================
TENANT PORTAL – BUSINESS SERVICES DIRECTORY
========================================================= */

.ts-services-dir {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.ts-services-dir__header {
    margin-bottom: 20px;
}

.ts-services-dir__title {
    margin: 0 0 8px;
}

.ts-services-dir__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    margin: 0;
}

.ts-services-dir__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.ts-services-dir__filter {
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 500;
    background: #f7f8f8;
    color: #333333;
    border: 1px solid #e0e0e0;
    cursor: pointer;
    transition: background 150ms ease, border-color 150ms ease;
}

.ts-services-dir__filter:hover {
    border-color: #3993d5;
}

.ts-services-dir__filter--active {
    background: #3993d5;
    color: #ffffff;
    border-color: #3993d5;
}

.ts-services-dir__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.ts-services-dir__card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 30px;
    display: flex;
    flex-direction: column;
}

.ts-services-dir__card-cat {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #999999;
    margin-bottom: 8px;
}

.ts-services-dir__card-title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 8px;
}

.ts-services-dir__card-section {
    margin-bottom: 15px;
}

.ts-services-dir__card-heading {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #111111;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 6px;
}

.ts-services-dir__card-text {
    font-size: 13px;
    color: #555555;
    line-height: 1.55;
    margin: 0;
}

.ts-services-dir__card-actions {
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

.ts-services-dir__already-have {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    color: #999999;
    font-style: italic;
}

/* Recommendation panel */
.ts-services-dir__rec-panel {
    background: #f7f8f8;
    border: 1px solid #e0e0e0;
    padding: 40px;
    margin-top: 30px;
    position: relative;
}

.ts-services-dir__rec-inner {
    max-width: 600px;
    margin: 0 auto;
}

.ts-services-dir__rec-header {
    margin-bottom: 20px;
    position: relative;
}

.ts-services-dir__rec-title {
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 8px;
}

.ts-services-dir__rec-subtitle {
    font-size: 14px;
    color: #555555;
    line-height: 1.5;
    margin: 0;
}

.ts-services-dir__rec-close {
    position: absolute;
    top: 0;
    right: 0;
    background: none;
    border: none;
    font-size: 28px;
    color: #999999;
    cursor: pointer;
    line-height: 1;
    padding: 0;
}

.ts-services-dir__rec-close:hover {
    color: #333333;
}

/* Ninja Forms styling inside the portal rec panel */
.ts-services-dir__rec-panel .nf-form-cont {
    margin: 0;
    padding: 0;
}

.ts-services-dir__rec-panel .nf-field-label label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #111111;
}

.ts-services-dir__rec-panel .nf-field-element input[type="text"],
.ts-services-dir__rec-panel .nf-field-element input[type="email"],
.ts-services-dir__rec-panel .nf-field-element select,
.ts-services-dir__rec-panel .nf-field-element textarea {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    border: 1px solid #e0e0e0;
    padding: 10px 12px;
    width: 100%;
    border-radius: 0;
    background-color: #ffffff !important;
}

.ts-services-dir__rec-panel .nf-field-element textarea {
    min-height: 100px;
    resize: vertical;
}

.ts-services-dir__rec-panel .nf-field-element input:focus,
.ts-services-dir__rec-panel .nf-field-element select:focus,
.ts-services-dir__rec-panel .nf-field-element textarea:focus {
    border-color: #3993d5;
    outline: none;
}

.ts-services-dir__rec-panel input[type="submit"],
.ts-services-dir__rec-panel .nf-element[type="submit"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #3993d5 !important;
    color: #ffffff !important;
    border: 1px solid #3993d5 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding: 12px 32px !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 200ms ease !important;
}

.ts-services-dir__rec-panel input[type="submit"]:hover,
.ts-services-dir__rec-panel .nf-element[type="submit"]:hover {
    background: #2a7ab8 !important;
}

@media (max-width: 768px) {
    .ts-services-dir__rec-panel {
        padding: 30px 20px;
    }
}

/* Rec button as button element — match portal action btn */
button.ts-portal-action-btn {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.ts-services-dir__footer {
    margin-top: 30px;
}

@media (max-width: 768px) {
    .ts-services-dir__grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
TENANT PORTAL – EDUCATION HUB
========================================================= */

.ts-education-hub {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.ts-education-hub__header {
    margin-bottom: 30px;
}

.ts-education-hub__title {
    margin: 0 0 8px;
}

.ts-education-hub__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    margin: 0;
}

/* CHAPTER-STYLE LIBRARY */

.ts-education-hub__chapters {
    display: flex;
    flex-direction: column;
    gap: 50px;
    margin-top: 40px;
}

.ts-edu-chapter {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    padding: 36px 40px 28px;
}

.ts-edu-chapter__header {
    border-bottom: 1px solid #e6e8eb;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.ts-edu-chapter__label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 400;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #3993d5;
    margin-bottom: 8px;
}

.ts-edu-chapter__title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 28px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase;
    color: #111111 !important;
    margin: 0 0 10px !important;
    padding-bottom: 0 !important;
}

.ts-edu-chapter__intro {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    color: #555555;
    line-height: 1.6;
    margin: 0;
    max-width: 720px;
}

.ts-edu-chapter__list {
    list-style: none;
    counter-reset: edu-chapter;
    margin: 0;
    padding: 0;
}

.ts-edu-chapter__item {
    counter-increment: edu-chapter;
    position: relative;
    padding: 18px 20px 18px 60px;
    border-bottom: 1px solid #eef0f2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.ts-edu-chapter__item:last-child {
    border-bottom: none;
}

.ts-edu-chapter__item::before {
    content: counter(edu-chapter, decimal-leading-zero);
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    color: #3993d5;
    width: 32px;
}

.ts-edu-chapter__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    text-decoration: none;
    color: #111111;
    transition: color 200ms ease;
}

.ts-edu-chapter__link:hover,
.ts-edu-chapter__link:link,
.ts-edu-chapter__link:visited {
    text-decoration: none;
}

.ts-edu-chapter__link:hover .ts-edu-chapter__item-title {
    color: #3993d5;
}

.ts-edu-chapter__link:hover .ts-edu-chapter__item-meta i {
    transform: translateX(4px);
}

.ts-edu-chapter__item-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111111;
    line-height: 1.4;
    transition: color 200ms ease;
    flex: 1;
}

.ts-edu-chapter__item-meta {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #3993d5;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ts-edu-chapter__item-meta i {
    font-size: 11px;
    transition: transform 200ms ease;
}

.ts-edu-chapter__item--soon {
    background: #fafbfc;
}

.ts-edu-chapter__item--soon .ts-edu-chapter__item-title {
    color: #8a8f96;
    font-weight: 500;
}

.ts-edu-chapter__item--soon::before {
    color: #b8bdc4;
}

.ts-edu-chapter__item--soon .ts-edu-chapter__item-meta {
    color: #8a8f96;
}

@media (max-width: 768px) {
    .ts-edu-chapter {
        padding: 28px 22px 20px;
    }
    .ts-edu-chapter__title {
        font-size: 22px !important;
    }
    .ts-edu-chapter__item {
        padding: 16px 0 16px 48px;
        flex-wrap: wrap;
    }
    .ts-edu-chapter__item::before {
        left: 6px;
    }
    .ts-edu-chapter__link {
        flex-wrap: wrap;
        gap: 6px;
    }
    .ts-edu-chapter__item-title {
        font-size: 15px;
        flex: 1 1 100%;
    }
    .ts-edu-chapter__item-meta {
        font-size: 12px;
    }
}


/* =========================================================
TENANT PORTAL – PROFILE PAGE (CUSTOM — BYPASSES USERSWP)
========================================================= */

.ts-member-profile {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px 60px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #111111;
}

/* Back to Portal */
.ts-member-profile .ts-portal-back-wrap {
    margin: 0 0 30px 0;
    text-align: left;
}

/* Profile Header */
.ts-member-profile__header {
    text-align: center;
    margin-bottom: 30px;
}

.ts-member-profile__avatar-wrap {
    position: relative;
    display: inline-block;
    margin-bottom: 15px;
}

.ts-member-profile__avatar {
    display: block;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    object-fit: cover;
}

.ts-member-profile__avatar-edit {
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #3993d5;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: background 200ms ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.ts-member-profile__avatar-edit:hover {
    background: #2a7ab8;
    color: #ffffff !important;
}

.ts-member-profile__avatar-edit i {
    font-size: 13px;
    line-height: 1;
}

.ts-member-profile__name {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 28px !important;
    letter-spacing: 3px !important;
    color: #111111 !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
}

.ts-member-profile__username {
    font-size: 14px;
    color: #555555;
    margin: 6px 0 0;
}

.ts-member-profile__actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

/* ----- TABS (Listings / Invoices) ----- */
.ts-member-profile__tabs {
    display: flex;
    gap: 0;
    margin-bottom: 0;
}

.ts-member-profile__tab {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #555555;
    background: #dddde0;
    border: 1px solid #d0d0d0;
    border-bottom: none;
    border-radius: 0;
    padding: 12px 24px;
    cursor: pointer;
    position: relative;
    transition: background 200ms ease, color 200ms ease;
}

.ts-member-profile__tab:hover {
    color: #3993d5;
    background: #eaeaec;
}

.ts-member-profile__tab--active {
    color: #111111;
    background: #f7f8f8;
    border-color: #d0d0d0;
    border-bottom: 1px solid #f7f8f8;
    z-index: 1;
}

.ts-member-profile__tab-count {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 7px;
    font-size: 11px;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 0;
}

.ts-member-profile__tab--active .ts-member-profile__tab-count {
    background: rgba(0, 0, 0, 0.06);
}

/* ----- TAB CONTENT AREA ----- */
.ts-member-profile__content {
    background: #f7f8f8;
    border: 1px solid #d0d0d0;
    margin-top: -1px;
    padding: 30px;
}

/* ----- LISTING CARDS ----- */
.ts-member-profile__listing-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    margin-bottom: 15px;
}

.ts-member-profile__listing-info {
    padding: 20px;
}

.ts-member-profile__listing-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.ts-member-profile__listing-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    color: #111111 !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
}

.ts-member-profile__listing-type {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #3993d5;
    background: #eff6ff;
    padding: 3px 8px;
    border: 1px solid rgba(57, 147, 213, 0.2);
}

.ts-member-profile__listing-excerpt {
    font-size: 13px;
    color: #555555;
    line-height: 1.5;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ts-member-profile__listing-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.ts-member-profile__view-link {
    font-size: 13px;
    color: #3993d5 !important;
    text-decoration: none !important;
    font-weight: 500;
}

.ts-member-profile__view-link:hover {
    color: #2a7ab8 !important;
}

/* ----- INVOICE TABLE ----- */
.ts-member-profile__invoice-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border: 1px solid #e0e0e0;
}

.ts-member-profile__invoice-table th {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #555555;
    background: #ffffff;
    padding: 12px 15px;
    border-bottom: 2px solid #e0e0e0;
    text-align: left;
}

.ts-member-profile__invoice-table td {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #111111;
    padding: 12px 15px;
    border-bottom: 1px solid #f0f0f0;
}

.ts-member-profile__invoice-table tr:last-child td {
    border-bottom: none;
}

/* ----- EMPTY STATE ----- */
.ts-member-profile__empty {
    text-align: center;
    padding: 40px 20px;
    color: #555555;
    font-size: 14px;
}

.ts-member-profile__empty .ts-portal-action-btn {
    margin-top: 15px;
}

/* ----- MOBILE ----- */
@media (max-width: 480px) {
    .ts-member-profile__listing-card {
        /* Stacks naturally without flex */
    }
    .ts-member-profile__actions {
        flex-direction: column;
        align-items: center;
    }
    .ts-member-profile__name {
        font-size: 22px !important;
    }
    .ts-member-profile__tabs {
        flex-wrap: wrap;
    }
    .ts-member-profile__tab {
        flex: 1;
        text-align: center;
    }
}

/* Old UsersWP profile overrides removed — replaced by [ts_member_profile] shortcode */


/* =========================================================
TENANT PORTAL – COMMUNITY HUB
========================================================= */

.ts-community {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px 60px;
}

.ts-community__header {
    margin-bottom: 30px;
}

.ts-community__title {
    font-size: 2em !important;
}

.ts-community__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    line-height: 1.5;
    margin: 0;
}

/* Section spacing */
.ts-community__section {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #e0e0e0;
}

.ts-community__section:last-of-type {
    border-bottom: none;
    margin-bottom: 20px;
    padding-bottom: 0;
}

.ts-community__empty {
    color: #999999;
    font-size: 14px;
    font-style: italic;
}

/* ----- EVENTS ----- */
.ts-community__events-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ts-community__event-card {
    display: flex;
    gap: 20px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 20px;
}

.ts-community__event-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    padding: 10px;
    background: #3993d5;
    color: #ffffff;
    text-align: center;
}

.ts-community__event-month {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.ts-community__event-day {
    font-family: 'Poppins', sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    margin: 4px 0;
}

.ts-community__event-dayname {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.05em;
    opacity: 0.8;
}

.ts-community__event-details {
    flex: 1;
}

.ts-community__event-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #111111 !important;
    margin: 0 0 6px !important;
    padding-bottom: 0 !important;
}

.ts-community__event-meta {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: #555555;
    margin: 0 0 8px;
}

.ts-community__event-meta i {
    color: #3993d5;
    margin-right: 4px;
    font-size: 12px;
}

.ts-community__event-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #555555;
    line-height: 1.55;
    margin: 0;
}

/* ----- REFERRAL PROGRAM ----- */
.ts-community__referral-intro {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    color: #333333;
    line-height: 1.6;
    margin: 0 0 20px;
}

.ts-community__referral-steps {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

.ts-community__referral-step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.ts-community__step-number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    background: #3993d5;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    flex-shrink: 0;
}

.ts-community__referral-step strong {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 15px;
    color: #111111;
}

.ts-community__referral-step p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: #555555;
    margin: 4px 0 0;
    line-height: 1.5;
}

.ts-community__referral-form {
    background: #f7f8f8;
    border: 1px solid #e0e0e0;
    padding: 30px;
}

.ts-community__form-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #111111 !important;
    margin: 0 0 15px !important;
    padding-bottom: 0 !important;
}

/* Ninja Forms styling inside referral form */
.ts-community__referral-form .nf-field-label label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #111111;
}

.ts-community__referral-form .nf-field-element input[type="text"],
.ts-community__referral-form .nf-field-element input[type="email"],
.ts-community__referral-form .nf-field-element input[type="tel"],
.ts-community__referral-form .nf-field-element select,
.ts-community__referral-form .nf-field-element textarea {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    border: 1px solid #e0e0e0;
    padding: 10px 12px;
    width: 100%;
    border-radius: 0;
    background-color: #ffffff !important;
}

.ts-community__referral-form .nf-field-element textarea {
    min-height: 80px;
    resize: vertical;
}

.ts-community__referral-form .nf-field-element input:focus,
.ts-community__referral-form .nf-field-element select:focus,
.ts-community__referral-form .nf-field-element textarea:focus {
    border-color: #3993d5;
    outline: none;
}

.ts-community__referral-form input[type="submit"],
.ts-community__referral-form .nf-element[type="submit"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #3993d5 !important;
    color: #ffffff !important;
    border: 1px solid #3993d5 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding: 12px 32px !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background 200ms ease !important;
}

.ts-community__referral-form input[type="submit"]:hover,
.ts-community__referral-form .nf-element[type="submit"]:hover {
    background: #2a7ab8 !important;
}

/* ----- ANNOUNCEMENTS ----- */
.ts-community__announcements {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ts-community__announcement {
    padding: 20px 0;
    border-bottom: 1px solid #f0f0f0;
}

.ts-community__announcement:first-child {
    padding-top: 0;
}

.ts-community__announcement:last-child {
    border-bottom: none;
}

.ts-community__announcement-date {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #3993d5;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ts-community__announcement-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #111111 !important;
    margin: 6px 0 8px !important;
    padding-bottom: 0 !important;
}

.ts-community__announcement-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #555555;
    line-height: 1.6;
    margin: 0;
}

/* ----- COMMUNITY CHAT COMING SOON ----- */
.ts-community__coming-soon {
    background: #f7f8f8;
    border: 1px solid #e0e0e0;
    padding: 40px;
    text-align: center;
}

.ts-community__coming-soon-icon {
    font-size: 36px;
    color: #3993d5;
    margin-bottom: 15px;
}

.ts-community__coming-soon-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #111111 !important;
    margin: 0 0 10px !important;
    padding-bottom: 0 !important;
}

.ts-community__coming-soon-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #555555;
    line-height: 1.6;
    max-width: 500px;
    margin: 0 auto;
}

/* ----- COMMUNITY GUIDELINES ----- */
.ts-community__guidelines {
    background: #f7f8f8;
    padding: 30px;
    border: 1px solid #e0e0e0;
}

.ts-community__guidelines-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ts-community__guidelines-list li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #333333;
    line-height: 1.6;
    padding: 10px 0;
    border-bottom: 1px solid #e8e8e8;
}

.ts-community__guidelines-list li:last-child {
    border-bottom: none;
}

.ts-community__guidelines-list li strong {
    color: #111111;
}

/* ----- MOBILE ----- */
@media (max-width: 600px) {
    .ts-community__event-card {
        flex-direction: column;
        gap: 15px;
    }
    .ts-community__event-date {
        flex-direction: row;
        gap: 8px;
        min-width: auto;
        padding: 8px 15px;
    }
    .ts-community__referral-form {
        padding: 20px;
    }
}


/* =========================================================
TENANT PORTAL – SHARED / UTILITY
========================================================= */

.ts-portal-back-wrap {
    margin: 30px 0 30px 30px;
}

.ts-portal-back-link {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #3993d5 !important;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 200ms ease;
}

.ts-portal-back-link:hover {
    border-bottom-color: #3993d5;
}

.ts-portal-action-btn {
    display: inline-block;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: 600;
    background: #ffffff;
    color: #3993d5 !important;
    border: 1px solid #3993d5;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease;
}

.ts-portal-action-btn:hover {
    background: #3993d5;
    color: #ffffff !important;
}

/* =========================================================
BUSINESS PRICING CALCULATOR PAGE
========================================================= */
#bpc-app,
#bpc-app *,
#bpc-app *::before,
#bpc-app *::after { box-sizing: border-box !important; }
#bpc-app {
    --bpc-black: #000000;
    --bpc-blue: #5391CD;
    --bpc-bg: #f7f8f8;
    --bpc-card: #ffffff;
    --bpc-border: #e2e2e2;
    --bpc-text: #333333;
    --bpc-text-light: #666666;
    --bpc-num-gray: #e0e0e0;
    --bpc-success: #2a9d5c;
    --bpc-success-light: #eafaf0;
    --bpc-warning: #e8a735;
    --bpc-warning-light: #fef8eb;
    --bpc-danger: #d94444;
    --bpc-danger-light: #fdf0f0;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: var(--bpc-bg);
    color: var(--bpc-text);
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
}

/* HERO ---------------------------------------------------- */
#bpc-app .bpc-hero {
    background: #000000 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 80px 24px 72px !important;
    margin: 0 !important;
}
#bpc-app .bpc-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important;
    margin: 0 0 1.1em 0 !important;
    display: block !important;
}
#bpc-app .bpc-hero h1 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 58px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    margin: 0 auto 24px auto !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 900px !important;
}
@media (max-width: 768px) {
    #bpc-app .bpc-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; }
    #bpc-app .bpc-hero { padding: 56px 20px 48px !important; }
}
#bpc-app .bpc-hero p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.8) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* CONTAINER ----------------------------------------------- */
#bpc-app .bpc-container {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 56px 24px 80px !important;
    background: var(--bpc-bg);
}

/* SECTION CARDS — SQUARE CORNERS, BIG LIGHT-GRAY NUMBERS -- */
#bpc-app .calc-section {
    background: var(--bpc-card) !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    padding: 40px 36px !important;
    margin: 0 0 32px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 28px !important;
}
#bpc-app .calc-section-num {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    color: var(--bpc-num-gray) !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    min-width: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    display: block !important;
}
#bpc-app .calc-section-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
@media (max-width: 700px) {
    #bpc-app .calc-section { flex-direction: column !important; gap: 12px !important; padding: 28px 20px !important; }
    #bpc-app .calc-section-num { font-size: 2.5rem !important; min-width: 0 !important; }
}
#bpc-app .calc-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bpc-app .calc-section h3 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 24px 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bpc-app .calc-section .section-desc {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    color: var(--bpc-text-light) !important;
    font-size: 15px !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* FORM FIELDS --------------------------------------------- */
#bpc-app .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 0 0 20px 0 !important;
}
#bpc-app .form-row.single { grid-template-columns: 1fr; }
@media (max-width: 600px) {
    #bpc-app .form-row { grid-template-columns: 1fr; }
}
#bpc-app .field { display: flex !important; flex-direction: column !important; }
#bpc-app .field label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bpc-text) !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    line-height: 1.4 !important;
}
#bpc-app .field .hint {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    color: var(--bpc-text-light) !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}
#bpc-app .field input,
#bpc-app .field input[type="number"],
#bpc-app .field input[type="text"],
#bpc-app .field select {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
    border: 1.5px solid var(--bpc-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--bpc-text) !important;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    appearance: none !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
#bpc-app .field input::-webkit-outer-spin-button,
#bpc-app .field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#bpc-app .field input:focus,
#bpc-app .field select:focus {
    outline: none !important;
    border-color: var(--bpc-blue) !important;
    box-shadow: 0 0 0 3px rgba(83,145,205,0.15) !important;
}
#bpc-app .field input::placeholder { color: #bbb !important; opacity: 1 !important; }

#bpc-app .input-prefix { position: relative; display: block; }
#bpc-app .input-prefix::before {
    content: '$';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    color: var(--bpc-text-light);
    pointer-events: none;
    z-index: 2;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bpc-app .input-prefix input,
#bpc-app .input-prefix input[type="number"],
#bpc-app .input-prefix input[type="text"] { padding-left: 33px !important; }
#bpc-app .input-suffix { position: relative; display: block; }
#bpc-app .input-suffix::after {
    content: attr(data-suffix);
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--bpc-text-light);
    pointer-events: none;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bpc-app .input-suffix input,
#bpc-app .input-suffix input[type="number"],
#bpc-app .input-suffix input[type="text"] { padding-right: 56px !important; }

/* PRESET PILLS — KEPT ROUNDED (PILL SHAPE) ---------------- */
#bpc-app .presets {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#bpc-app .preset-btn {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border: 1.5px solid var(--bpc-border) !important;
    border-radius: 100px !important;
    background: #ffffff !important;
    color: var(--bpc-text) !important;
    cursor: pointer !important;
    transition: border-color 200ms ease, color 200ms ease !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
}
#bpc-app .preset-btn span { position: relative; z-index: 1; }
#bpc-app .preset-btn:hover { border-color: var(--bpc-blue) !important; color: var(--bpc-blue) !important; background: #ffffff !important; }
#bpc-app .preset-btn.active { background: #000000 !important; color: #ffffff !important; border-color: #000000 !important; }

/* RESULT CARDS — SQUARE ----------------------------------- */
#bpc-app .results-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px;
    margin: 0 0 24px 0 !important;
}
@media (max-width: 700px) {
    #bpc-app .results-grid { grid-template-columns: 1fr !important; }
}
#bpc-app .result-card {
    background: var(--bpc-bg) !important;
    border-radius: 0 !important;
    padding: 24px 20px !important;
    text-align: center !important;
    margin: 0 !important;
}
#bpc-app .result-card .result-label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--bpc-text-light) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}
#bpc-app .result-card .result-value {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    display: block !important;
}
#bpc-app .result-card .result-note {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    color: var(--bpc-text-light) !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}
#bpc-app .result-card.highlight { background: #000000 !important; }
#bpc-app .result-card.highlight .result-label { color: #999 !important; }
#bpc-app .result-card.highlight .result-value { color: #ffffff !important; }
#bpc-app .result-card.highlight .result-note { color: #999 !important; }

/* VERDICT BAR (KEPT TINTED) ------------------------------- */
#bpc-app .verdict {
    border-radius: 0 !important;
    padding: 20px 24px !important;
    display: flex !important;
    align-items: center;
    gap: 16px;
    margin-top: 8px !important;
}
#bpc-app .verdict.good { background: var(--bpc-success-light) !important; border: 1px solid #c1e8d0 !important; }
#bpc-app .verdict.warning { background: var(--bpc-warning-light) !important; border: 1px solid #f5dfa0 !important; }
#bpc-app .verdict.danger { background: var(--bpc-danger-light) !important; border: 1px solid #f5c4c4 !important; }
#bpc-app .verdict-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 20px;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bpc-app .verdict.good .verdict-icon { background: var(--bpc-success) !important; color: #fff !important; }
#bpc-app .verdict.warning .verdict-icon { background: var(--bpc-warning) !important; color: #fff !important; }
#bpc-app .verdict.danger .verdict-icon { background: var(--bpc-danger) !important; color: #fff !important; }
#bpc-app .verdict-text {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--bpc-text) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ADD SERVICE BUTTON — STANDARD BLACK FILL-SHRINK PATTERN - */
#bpc-app .add-service-btn {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 14px 28px !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: color 300ms ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    line-height: 1 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
    text-decoration: none !important;
}
#bpc-app .add-service-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bpc-app .add-service-btn span { position: relative; z-index: 1; }
#bpc-app .add-service-btn:hover::before { transform: scale(0); }
#bpc-app .add-service-btn:hover { color: #000000 !important; box-shadow: none !important; }

/* SERVICE ROWS — SQUARE ----------------------------------- */
#bpc-app .service-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr auto;
    gap: 12px;
    align-items: end;
    margin: 0 0 12px 0 !important;
    padding: 16px !important;
    background: var(--bpc-bg) !important;
    border-radius: 0 !important;
}
@media (max-width: 700px) {
    #bpc-app .service-row { grid-template-columns: 1fr 1fr !important; gap: 10px; }
    #bpc-app .service-row .field:first-child { grid-column: 1 / -1; }
}
#bpc-app .service-row .field label { font-size: 13px !important; }
#bpc-app .service-row .field input { padding: 10px 12px !important; font-size: 14px !important; min-height: 42px !important; }
#bpc-app .service-row .input-prefix input { padding-left: 26px !important; }
#bpc-app .service-row .input-prefix::before { font-size: 14px; left: 12px; }
#bpc-app .service-row .input-suffix input { padding-right: 44px !important; }
#bpc-app .service-row .input-suffix::after { font-size: 12px; right: 10px; }

#bpc-app .remove-btn {
    width: 36px !important;
    height: 36px !important;
    border: none !important;
    background: transparent !important;
    color: #cc4444 !important;
    font-size: 20px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    transition: background 200ms ease !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 1 !important;
}
#bpc-app .remove-btn:hover { background: var(--bpc-danger-light) !important; }

#bpc-app .rph-results { margin-top: 20px !important; }
#bpc-app .rph-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
    gap: 12px;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--bpc-border) !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    color: var(--bpc-text) !important;
    margin: 0 !important;
}
#bpc-app .rph-row.header {
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--bpc-text-light) !important;
    border-bottom: 2px solid var(--bpc-text) !important;
}
#bpc-app .rph-row .rph-value { font-weight: 600 !important; }
#bpc-app .rph-row .rph-best { color: var(--bpc-success) !important; font-weight: 700 !important; }
#bpc-app .rph-row .rph-worst { color: var(--bpc-danger) !important; font-weight: 600 !important; }
@media (max-width: 600px) {
    #bpc-app .rph-row { grid-template-columns: 1fr 1fr !important; gap: 4px 12px; }
}

/* CTA SECTION — SQUARE, FILL-SHRINK BUTTON ---------------- */
#bpc-app .cta-section {
    background: #000000 !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important;
    padding: 64px 40px !important;
    text-align: center !important;
    margin: 12px 0 0 0 !important;
    display: block !important;
}
#bpc-app .cta-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bpc-app .cta-section p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.8) !important;
    max-width: 520px !important;
    margin: 0 auto 32px auto !important;
    padding: 0 !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
}
#bpc-app .cta-btn,
#bpc-app .cta-btn:link,
#bpc-app .cta-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 16px 40px !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color 300ms ease !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}
#bpc-app .cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bpc-app .cta-btn span { position: relative; z-index: 1; }
#bpc-app .cta-btn:hover::before { transform: scale(0); }
#bpc-app .cta-btn:hover { color: #ffffff !important; box-shadow: none !important; }

#bpc-app .hidden { display: none !important; }


/* =========================================================
EASTSIDE BEAUTY LANDING – UNIFIED SEARCH BAR
Single-row search: category | keyword | city | submit.
Replaces the old [gd_search] output + separate filter row on
/beauty-pros/ and /beauty-pros-[city]/ landing pages.
========================================================= */
.ts-eastside-hero {
  position: relative;
}

.ts-eastside-hero--bg {
  background-color: #1a1f26;
}

.ts-eastside-search {
  width: 100%;
  max-width: 1100px;
  margin: 10px auto 0;
  display: flex;
  align-items: stretch;
  gap: 10px;
  padding: 14px 14px 14px 18px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.22);
}

.ts-eastside-search__field {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 46px;
}

.ts-eastside-search__field--cat {
  flex: 0 0 210px;
  border-right: 1px solid #e4e7ec;
  padding-right: 10px;
}

.ts-eastside-search__field--kw {
  flex: 1 1 auto;
  min-width: 0;
}

.ts-eastside-search__field--city {
  flex: 0 0 220px;
  border-left: 1px solid #e4e7ec;
  padding-left: 10px;
}

.ts-eastside-search__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  flex-shrink: 0;
}

.ts-eastside-search__icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

.ts-eastside-search__input,
.ts-eastside-search__select {
  width: 100%;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  color: #1a1f26 !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 46px;
  line-height: 46px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.ts-eastside-search__input::placeholder {
  color: #8892a0;
  opacity: 1;
}

.ts-eastside-search__select {
  padding-right: 22px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7684'><path d='M7 10l5 5 5-5z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  background-size: 16px !important;
  cursor: pointer;
}

.ts-eastside-search__field--cat .ts-eastside-search__select,
.ts-eastside-search__field--city .ts-eastside-search__select {
  font-weight: 500 !important;
}

.ts-eastside-search__btn {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 10px;
  background: #3993d5;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  margin: -6px 0;
  transition: background-color 200ms ease, transform 200ms ease;
  -webkit-appearance: none;
  appearance: none;
}

.ts-eastside-search__btn:hover,
.ts-eastside-search__btn:focus {
  background: #2a7ab8;
  outline: none;
}

.ts-eastside-search__btn svg {
  width: 22px;
  height: 22px;
  stroke: #ffffff;
  display: block;
}

@media (max-width: 880px) {
  .ts-eastside-search {
    flex-wrap: wrap;
    padding: 12px;
    gap: 8px;
  }
  .ts-eastside-search__field--cat,
  .ts-eastside-search__field--kw,
  .ts-eastside-search__field--city {
    flex: 1 1 100%;
    border: 0 !important;
    padding: 10px 12px;
    background: #f5f7fa;
    border-radius: 10px;
  }
  .ts-eastside-search__btn {
    flex: 1 1 100%;
    margin: 0;
    width: 100%;
    height: 52px;
    border-radius: 10px;
  }
}


/* =========================================================
CUSTOM LISTING CARDS — DIRECTORY ARCHIVE
Rendered by ts_eastside_beauty_landing's direct DB query,
replacing GD's [gd_listings] widget output.
========================================================= */
.ts-custom-listings-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.ts-listing-card {
  display: flex;
  gap: 18px;
  background: #ffffff;
  border: 1px solid #e4e7ec;
  padding: 16px;
  transition: box-shadow 200ms ease;
}

.ts-listing-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.ts-listing-card__img-link {
  flex: 0 0 140px;
  display: block;
}

.ts-listing-card__img {
  display: block;
  width: 140px;
  height: 140px;
  object-fit: cover;
}

.ts-listing-card__img-placeholder {
  width: 140px;
  height: 140px;
  background: #f0f0f0;
}

.ts-listing-card__body {
  flex: 1;
  min-width: 0;
}

.ts-listing-card__title {
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 6px;
  line-height: 1.3;
}

.ts-listing-card__title a {
  color: #111111;
  text-decoration: none;
}

.ts-listing-card__title a:hover {
  color: #2E3B4C;
}

.ts-listing-card__meta {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  color: #6b7684;
  margin: 0 0 8px;
}

.ts-listing-card__excerpt {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #444;
  margin: 0 0 10px;
}

.ts-listing-card__link {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #2E3B4C;
  text-decoration: none;
}

.ts-listing-card__link:hover {
  text-decoration: underline;
}

.ts-results-count {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  color: #6b7684;
  margin: 0 0 16px;
}

.ts-listings-pagination {
  margin: 24px 0;
  display: flex;
  justify-content: center;
  gap: 4px;
}

.ts-listings-pagination a,
.ts-listings-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2E3B4C;
  background: #ffffff;
  border: 1px solid #e4e7ec;
  text-decoration: none;
}

.ts-listings-pagination span.current {
  background: #2E3B4C;
  color: #ffffff;
  border-color: #2E3B4C;
}

.ts-listings-pagination a:hover {
  background: #f5f7fa;
}

.ts-no-results {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  color: #6b7684;
  padding: 40px 0;
  text-align: center;
}

@media (max-width: 600px) {
  .ts-listing-card {
    flex-direction: column;
    gap: 12px;
  }
  .ts-listing-card__img-link {
    flex: none;
  }
  .ts-listing-card__img,
  .ts-listing-card__img-placeholder {
    width: 100%;
    height: 200px;
  }
}


/* =========================================================
DIRECTORY ARCHIVE CARD — GOOGLE RATING BADGE + STOCK THUMB
Injected after the listing title on [gd_listings] loops.
========================================================= */
.ts-archive-rating-badge {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  margin-left: 8px;
  padding: 2px 8px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #2e3b4c;
  background: #f5f7fa;
  border: 1px solid #dbecf9;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.4;
}

.ts-archive-rating-badge__star {
  color: #f4b400;
  font-size: 14px;
  line-height: 1;
}

.ts-archive-rating-badge__score {
  font-weight: 700;
  color: #111;
}

.ts-archive-rating-badge__count {
  font-size: 12px;
  color: #6b7684;
}

.ts-archive-stock-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}


/* =========================================================
LITE CARDS — CLAIM CTA + INTERNAL LINKS
Injected into the empty bottom-right card on scraped listings
by ts_rewrite_scraped_listing_content(). Two stacked cards
that replace the stripped business-hours / gallery body.
========================================================= */
body.ts-listing-unclaimed .ts-bottom-card-body-lite {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px;
  background: transparent !important;
}

/* The testimonials-form-card container we're injecting into already
   has its own title bar / padding on claimed listings. Reset the slot
   for lite cards so it reads as a clean shell. */
body.ts-listing-unclaimed .ts-testimonials-form-card {
  padding: 0 !important;
  background-color: #ededef !important;
}

body.ts-listing-unclaimed .ts-lite-card {
  background-color: #ffffff;
  border: 1px solid #DBECF9;
  border-radius: 0;
  padding: 22px 24px;
}

body.ts-listing-unclaimed .ts-lite-card--claim {
  background-color: #DBECF9;
  border-color: #2E3B4C;
}

body.ts-listing-unclaimed .ts-lite-card__eyebrow {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 19px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #2E3B4C;
  margin: 0 0 8px;
  line-height: 1.2;
}

body.ts-listing-unclaimed .ts-lite-card__title {
  font-family: "Poppins", sans-serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 1px;
  color: #111111;
  margin: 0 0 10px;
  line-height: 1.25;
}

body.ts-listing-unclaimed .ts-lite-card__body {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: #2E3B4C;
  margin: 0 0 16px;
}

/* Claim CTA button — solid slate fill with shrink-reveal hover
   (same pattern as the standard ts-[section]-btn style). */
body.ts-listing-unclaimed .ts-lite-card__btn,
body.ts-listing-unclaimed .ts-lite-card__btn:link,
body.ts-listing-unclaimed .ts-lite-card__btn:visited {
  position: relative;
  display: inline-block;
  padding: 12px 22px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: #ffffff !important;
  background-color: #2E3B4C;
  border: 2px solid #2E3B4C;
  overflow: hidden;
  transition: color 300ms ease;
  z-index: 0;
}

body.ts-listing-unclaimed .ts-lite-card__btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #2E3B4C;
  transform: scale(1);
  transform-origin: center;
  transition: transform 300ms ease;
  z-index: -1;
}

body.ts-listing-unclaimed .ts-lite-card__btn:hover::before {
  transform: scale(0);
}

body.ts-listing-unclaimed .ts-lite-card__btn:hover {
  color: #2E3B4C !important;
}

/* Internal link list — clean, scannable. */
body.ts-listing-unclaimed .ts-lite-card__links {
  list-style: none;
  padding: 0;
  margin: 0;
}

body.ts-listing-unclaimed .ts-lite-card__links li {
  border-bottom: 1px solid #DBECF9;
  padding: 0;
  margin: 0;
}

body.ts-listing-unclaimed .ts-lite-card__links li:last-child {
  border-bottom: none;
}

body.ts-listing-unclaimed .ts-lite-card__links a,
body.ts-listing-unclaimed .ts-lite-card__links a:link,
body.ts-listing-unclaimed .ts-lite-card__links a:visited {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #2E3B4C !important;
  text-decoration: none;
  transition: color 200ms ease, padding-left 200ms ease;
}

body.ts-listing-unclaimed .ts-lite-card__links a::after {
  content: '→';
  color: #5a6b80;
  transition: transform 200ms ease;
}

body.ts-listing-unclaimed .ts-lite-card__links a:hover {
  color: #5a6b80 !important;
  padding-left: 6px;
}

body.ts-listing-unclaimed .ts-lite-card__links a:hover::after {
  transform: translateX(4px);
}

/* Mobile: keep the cards stacked, tighten padding. */
@media (max-width: 880px) {
  body.ts-listing-unclaimed .ts-bottom-card-body-lite {
    padding: 16px;
    gap: 14px;
  }
  body.ts-listing-unclaimed .ts-lite-card {
    padding: 18px 20px;
  }
  body.ts-listing-unclaimed .ts-lite-card__title {
    font-size: 20px;
  }
}


/* =========================================================
TENANT PORTAL – BUSINESS ASSISTANT (AI CHATBOT)
========================================================= */

.ts-portal-assistant {
    margin-top: 40px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
}

.ts-portal-assistant__header {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 30px 30px 0;
}

.ts-portal-assistant__icon {
    font-size: 28px;
    color: #3993d5;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 2px;
}

.ts-portal-assistant__title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    color: #111111 !important;
    letter-spacing: 3px !important;
    line-height: 1.2 !important;
    margin: 0 0 6px !important;
    padding-bottom: 0 !important;
}

.ts-portal-assistant__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #555555;
    line-height: 1.5;
    margin: 0;
}

/* ---------- SUGGESTED PROMPT PILLS ---------- */

.ts-portal-assistant__prompts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px 30px;
}

.ts-portal-assistant__pill {
    display: inline-block;
    padding: 8px 16px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #3993d5;
    background: #eff6ff;
    border: 1px solid rgba(57, 147, 213, 0.25);
    border-radius: 999px;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
    -webkit-appearance: none;
    appearance: none;
}

.ts-portal-assistant__pill:hover {
    background: #3993d5;
    color: #ffffff;
    border-color: #3993d5;
}

/* ---------- CHAT WIDGET AREA ---------- */

.ts-portal-assistant__chat {
    padding: 0 30px 30px;
}

/* AI Engine 3.x chatbot — LIGHT theme overrides
   AI Engine uses CSS custom properties for theming.
   Override the --mwai-* variables to recolor the chat,
   then add direct rule fallbacks for any unthemed elements. */

.ts-portal-assistant .mwai-chat,
.ts-portal-assistant .mwai-chatbot,
.ts-portal-assistant .mwai-window,
.ts-portal-assistant .mwai-content {
    --mwai-backgroundPrimaryColor: #ffffff;
    --mwai-backgroundSecondaryColor: #f5f5f5;
    --mwai-backgroundHeaderColor: #ffffff;
    --mwai-backgroundUserColor: #3993d5;
    --mwai-backgroundAiColor: #f5f5f5;
    --mwai-fontColor: #111111;
    --mwai-userFontColor: #ffffff;
    --mwai-aiFontColor: #111111;
    --mwai-headerFontColor: #111111;
    --mwai-borderColor: #e0e0e0;
    --mwai-borderRadius: 0;
    --mwai-fontFamily: 'Plus Jakarta Sans', sans-serif;
    --mwai-fontSize: 14px;
}

.ts-portal-assistant .mwai-chat,
.ts-portal-assistant .mwai-chatbot,
.ts-portal-assistant .mwai-window {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

.ts-portal-assistant .mwai-conversation,
.ts-portal-assistant .mwai-content,
.ts-portal-assistant .mwai-body,
.ts-portal-assistant .mwai-messages {
    background: #ffffff !important;
    color: #111111 !important;
    min-height: 280px;
    max-height: 420px;
}

/* Header (if visible) */
.ts-portal-assistant .mwai-header {
    background: #ffffff !important;
    color: #111111 !important;
    border-bottom: 1px solid #e0e0e0 !important;
}

/* AI message bubbles — light gray background, dark text */
.ts-portal-assistant .mwai-reply.mwai-ai,
.ts-portal-assistant .mwai-reply[class*="ai"],
.ts-portal-assistant .mwai-message.mwai-ai,
.ts-portal-assistant .mwai-ai .mwai-text {
    background: #f5f5f5 !important;
    color: #111111 !important;
    border-radius: 0 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* User message bubbles — blue background, white text */
.ts-portal-assistant .mwai-reply.mwai-user,
.ts-portal-assistant .mwai-reply[class*="user"],
.ts-portal-assistant .mwai-message.mwai-user,
.ts-portal-assistant .mwai-user .mwai-text {
    background: #3993d5 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Sender name labels */
.ts-portal-assistant .mwai-name {
    color: #555555 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Input area: outer pill stays as the wide rounded container.
   Inner textarea wrapper (.mwai-input-text) + button are INSET
   with margin so they sit visibly inside the outer pill.
   Use AI Engine's actual theme selector for specificity. */
.ts-portal-assistant .mwai-chatgpt-theme .mwai-input,
.ts-portal-assistant .mwai-input,
.ts-portal-assistant .mwai-footer {
    /* Chrome / brushed-metal gradient pill */
    background: linear-gradient(
        180deg,
        #f8f9fa 0%,
        #ffffff 25%,
        #f4f5f7 55%,
        #ebedf0 100%
    ) !important;
    border: 1px solid #c8ccd1 !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        inset 0 -1px 0 rgba(0, 0, 0, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.04) !important;
    padding: 14px 28px 14px 28px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Inner textarea wrapper — this is the actual element AI Engine renders */
.ts-portal-assistant .mwai-input-text {
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    box-shadow: none !important;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.ts-portal-assistant .mwai-input-text:focus-within {
    border-color: #3993d5 !important;
    box-shadow: 0 0 0 2px rgba(57, 147, 213, 0.15) !important;
}

/* The textarea itself — fills the wrapper, no border of its own */
.ts-portal-assistant .mwai-input-text textarea,
.ts-portal-assistant .mwai-input-text input[type="text"] {
    background: transparent !important;
    color: #111111 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    border: none !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    width: 100% !important;
    display: block !important;
    resize: none !important;
}

.ts-portal-assistant .mwai-input-text textarea::placeholder,
.ts-portal-assistant .mwai-input-text input[type="text"]::placeholder {
    color: #999999 !important;
}

/* Send / submit button — inset, fixed size, sits inside the pill */
.ts-portal-assistant .mwai-input-submit,
.ts-portal-assistant .mwai-submit,
.ts-portal-assistant .mwai-send,
.ts-portal-assistant .mwai-input button[type="submit"],
.ts-portal-assistant .mwai-footer button[type="submit"] {
    background: #3993d5 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    transition: background 200ms ease !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    cursor: pointer !important;
}

.ts-portal-assistant .mwai-input-submit:hover,
.ts-portal-assistant .mwai-submit:hover,
.ts-portal-assistant .mwai-send:hover,
.ts-portal-assistant .mwai-input button[type="submit"]:hover,
.ts-portal-assistant .mwai-footer button[type="submit"]:hover {
    background: #2a7ab8 !important;
}

/* Clear button (lighter, secondary action) */
.ts-portal-assistant .mwai-clear {
    background: #ffffff !important;
    color: #555555 !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
}

.ts-portal-assistant .mwai-clear:hover {
    background: #f5f5f5 !important;
    color: #111111 !important;
}

/* ---------- MOBILE ---------- */

@media (max-width: 768px) {
    .ts-portal-assistant__header {
        padding: 20px 20px 0;
    }
    .ts-portal-assistant__prompts {
        padding: 15px 20px;
    }
    .ts-portal-assistant__chat {
        padding: 0 20px 20px;
    }
    .ts-portal-assistant__title {
        font-size: 19px !important;
    }
}

@media (max-width: 480px) {
    .ts-portal-assistant__header {
        flex-direction: column;
        gap: 10px;
    }
    .ts-portal-assistant__prompts {
        gap: 8px;
    }
    .ts-portal-assistant__pill {
        font-size: 12px;
        padding: 6px 12px;
    }
}


/* =========================================================
TENANT PORTAL – CLIENT FORMS LIBRARY
========================================================= */

.ts-client-forms__header {
    margin-bottom: 28px;
}

.ts-client-forms__title {
    /* Sized via canonical heading block */
    margin: 0 0 10px;
}

.ts-client-forms__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    line-height: 1.55;
    margin: 0;
    max-width: 760px;
}

/* ---------- LEGAL DISCLAIMER BANNER ---------- */

.ts-client-forms__disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    background: #FFF4EE;
    border-left: 4px solid #F26F63;
    padding: 20px 24px;
    margin-bottom: 36px;
}

.ts-client-forms__disclaimer-icon {
    font-size: 22px;
    color: #F26F63;
    flex-shrink: 0;
    margin-top: 2px;
}

.ts-client-forms__disclaimer-body {
    flex: 1 1 auto;
}

.ts-client-forms__disclaimer-title {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #8a3f37;
    margin: 0 0 6px;
}

.ts-client-forms__disclaimer-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #4a2520;
    margin: 0;
}

.ts-client-forms__disclaimer-text strong {
    font-weight: 700;
    color: #8a3f37;
}

/* ---------- CHAPTERS ---------- */

.ts-client-forms__chapters {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.ts-client-forms__chapter {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    padding: 32px 36px;
}

.ts-client-forms__chapter-header {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e6e8eb;
}

.ts-client-forms__chapter-label {
    display: inline-block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #3993d5;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    margin-bottom: 8px;
}

.ts-client-forms__chapter-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    color: #111111 !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
    padding-bottom: 0 !important;
}

.ts-client-forms__chapter-intro {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #555555;
    margin: 0;
    max-width: 720px;
}

/* ---------- FORM CARDS GRID ---------- */

.ts-client-forms__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.ts-client-forms__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 22px;
    transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
    position: relative;
    min-height: 240px;
}

.ts-client-forms__card--live:hover {
    border-color: #3993d5;
    box-shadow: 0 4px 14px rgba(57, 147, 213, 0.10);
    transform: translateY(-2px);
}

.ts-client-forms__card--soon {
    background: #fafafa;
    border-color: #ececec;
    opacity: 0.78;
}

.ts-client-forms__card-icon-wrap {
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    flex-shrink: 0;
}

.ts-client-forms__card--soon .ts-client-forms__card-icon-wrap {
    background: #f0f0f0;
    border-color: #d8d8d8;
}

.ts-client-forms__card-icon {
    font-size: 18px;
    color: #3993d5;
    line-height: 1;
}

.ts-client-forms__card--soon .ts-client-forms__card-icon {
    color: #999999;
}

.ts-client-forms__card-title {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 8px;
    line-height: 1.3;
}

.ts-client-forms__card--soon .ts-client-forms__card-title {
    color: #555555;
}

.ts-client-forms__card-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #555555;
    margin: 0 0 16px;
    flex: 1 1 auto;
}

.ts-client-forms__card--soon .ts-client-forms__card-desc {
    color: #888888;
}

/* ---------- DOWNLOAD BUTTON ---------- */

.ts-client-forms__card-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    background: #3993d5;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #3993d5;
    border-radius: 0;
    transition: background 200ms ease, color 200ms ease;
    margin-top: auto;
}

.ts-client-forms__card-btn:hover,
.ts-client-forms__card-btn:focus,
.ts-client-forms__card-btn:link,
.ts-client-forms__card-btn:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

.ts-client-forms__card-btn:hover {
    background: #2a7ab8;
    border-color: #2a7ab8;
}

.ts-client-forms__card-btn i {
    font-size: 12px;
}

/* ---------- COMING SOON BADGE ---------- */

.ts-client-forms__card-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #ffffff;
    color: #888888;
    border: 1px solid #d8d8d8;
    border-radius: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-top: auto;
}

.ts-client-forms__card-badge i {
    font-size: 11px;
}

/* ---------- MOBILE ---------- */

@media (max-width: 960px) {
    .ts-client-forms__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ts-client-forms__chapter {
        padding: 26px 24px;
    }
}

@media (max-width: 600px) {
    .ts-client-forms__grid {
        grid-template-columns: 1fr;
    }
    .ts-client-forms__chapter {
        padding: 22px 20px;
    }
    .ts-client-forms__chapter-title {
        font-size: 20px !important;
    }
    .ts-client-forms__disclaimer {
        flex-direction: column;
        gap: 12px;
        padding: 18px 20px;
    }
}


/* =========================================================
TENANT PORTAL – CLIENT FORMS LIBRARY: HIGH-LIABILITY GATE
========================================================= */

/* ---------- HIGH-LIABILITY CHAPTER FLAG + CARD ACCENT ---------- */

.ts-client-forms__chapter--high-liability {
    border-color: #f0c8c2;
    background: linear-gradient(180deg, #fffbf9 0%, #ffffff 60%);
}

.ts-client-forms__chapter-flag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 12px;
    padding: 4px 10px;
    background: #fff4ee;
    color: #c0432f;
    border: 1px solid #f0c8c2;
    border-radius: 0;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    vertical-align: middle;
}

.ts-client-forms__chapter-flag i {
    font-size: 10px;
}

.ts-client-forms__card--high-liability {
    border-color: #f0c8c2;
}

.ts-client-forms__card--high-liability .ts-client-forms__card-icon-wrap {
    background: #fff4ee;
    border-color: #f0c8c2;
}

.ts-client-forms__card--high-liability .ts-client-forms__card-icon {
    color: #c0432f;
}

/* High-liability download button uses coral palette to set apart */
.ts-client-forms__card-btn--gated,
.ts-client-forms__card-btn--gated:link,
.ts-client-forms__card-btn--gated:visited {
    background: #c0432f !important;
    border-color: #c0432f !important;
    color: #ffffff !important;
}

.ts-client-forms__card-btn--gated:hover {
    background: #a8371f !important;
    border-color: #a8371f !important;
}

/* ---------- MODAL ---------- */

.ts-cf-modal[hidden] { display: none !important; }

html.ts-cf-modal-open,
body.ts-cf-modal-open {
    overflow: hidden;
}

.ts-cf-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    -webkit-font-smoothing: antialiased;
}

.ts-cf-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 22, 32, 0.65);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    cursor: pointer;
}

.ts-cf-modal__panel {
    position: relative;
    background: #ffffff;
    max-width: 560px;
    width: 100%;
    padding: 32px 36px 28px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 24px 60px rgba(15, 22, 32, 0.30);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.ts-cf-modal__close {
    position: absolute;
    top: 14px;
    right: 18px;
    background: transparent;
    border: 0;
    font-size: 26px;
    line-height: 1;
    color: #999999;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 0;
    transition: color 200ms ease;
    -webkit-appearance: none;
    appearance: none;
}

.ts-cf-modal__close:hover {
    color: #111111;
}

.ts-cf-modal__icon {
    width: 56px;
    height: 56px;
    background: #fff4ee;
    border: 1px solid #f0c8c2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.ts-cf-modal__icon i {
    font-size: 24px;
    color: #c0432f;
}

.ts-cf-modal__title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 22px !important;
    color: #111111 !important;
    letter-spacing: 1.5px !important;
    line-height: 1.25 !important;
    margin: 0 0 6px !important;
    padding-bottom: 0 !important;
}

.ts-cf-modal__subtitle {
    font-size: 14px;
    color: #555555;
    margin: 0 0 20px;
    line-height: 1.4;
}

.ts-cf-modal__subtitle strong {
    color: #111111;
    font-weight: 700;
}

.ts-cf-modal__body {
    background: #f7f8fa;
    border-left: 4px solid #c0432f;
    padding: 16px 20px;
    margin-bottom: 20px;
}

.ts-cf-modal__body p {
    font-size: 14px;
    line-height: 1.55;
    color: #333333;
    margin: 0 0 12px;
}

.ts-cf-modal__body p:last-child {
    margin-bottom: 0;
}

.ts-cf-modal__body ul {
    margin: 0 0 12px;
    padding-left: 20px;
}

.ts-cf-modal__body li {
    font-size: 14px;
    line-height: 1.5;
    color: #333333;
    margin-bottom: 6px;
}

.ts-cf-modal__body strong {
    color: #111111;
    font-weight: 700;
}

.ts-cf-modal__check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    margin-bottom: 20px;
    cursor: pointer;
    transition: border-color 200ms ease, background 200ms ease;
}

.ts-cf-modal__check:hover {
    border-color: #c0432f;
    background: #fffbf9;
}

.ts-cf-modal__check input[type="checkbox"] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin: 2px 0 0 0;
    cursor: pointer;
    accent-color: #c0432f;
}

.ts-cf-modal__check span {
    font-size: 13px;
    line-height: 1.5;
    color: #333333;
}

.ts-cf-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.ts-cf-modal__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    border: 1px solid transparent;
    border-radius: 0;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
    -webkit-appearance: none;
    appearance: none;
}

.ts-cf-modal__btn--cancel {
    background: #ffffff;
    color: #555555;
    border-color: #d8d8d8;
}

.ts-cf-modal__btn--cancel:hover {
    background: #f5f5f5;
    color: #111111;
    border-color: #999999;
}

.ts-cf-modal__btn--accept {
    background: #c0432f;
    color: #ffffff;
    border-color: #c0432f;
}

.ts-cf-modal__btn--accept:hover:not(:disabled) {
    background: #a8371f;
    border-color: #a8371f;
}

.ts-cf-modal__btn--accept:disabled {
    background: #e0e0e0;
    border-color: #e0e0e0;
    color: #999999;
    cursor: not-allowed;
}

.ts-cf-modal__btn i {
    font-size: 12px;
}

/* ---------- MOBILE ---------- */

@media (max-width: 600px) {
    .ts-cf-modal {
        padding: 16px;
    }
    .ts-cf-modal__panel {
        padding: 24px 22px 20px;
        max-height: calc(100vh - 32px);
    }
    .ts-cf-modal__title {
        font-size: 18px !important;
        letter-spacing: 1px !important;
    }
    .ts-cf-modal__actions {
        flex-direction: column-reverse;
    }
    .ts-cf-modal__btn {
        width: 100%;
        justify-content: center;
    }
    .ts-client-forms__chapter-flag {
        margin-left: 0;
        margin-top: 8px;
        display: inline-flex;
    }
}


/* =========================================================
TENANT PORTAL – EMAIL & TEXT TEMPLATES LIBRARY
========================================================= */

.ts-tpl-library__header {
    margin-bottom: 28px;
}

.ts-tpl-library__title {
    /* Sized via canonical heading block */
    margin: 0 0 10px;
}

.ts-tpl-library__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    line-height: 1.55;
    margin: 0;
    max-width: 760px;
}

.ts-tpl-library__subtitle strong {
    color: #111111;
    font-weight: 600;
}

/* ---------- INFO NOTICE ---------- */

.ts-tpl-library__notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #eff6ff;
    border-left: 4px solid #3993d5;
    padding: 16px 22px;
    margin-bottom: 36px;
}

.ts-tpl-library__notice-icon {
    font-size: 18px;
    color: #3993d5;
    flex-shrink: 0;
    margin-top: 2px;
}

.ts-tpl-library__notice-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #1d3a52;
    margin: 0;
}

.ts-tpl-library__notice-text strong {
    color: #111111;
    font-weight: 700;
}

/* ---------- SECTIONS ---------- */

.ts-tpl-library__sections {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.ts-tpl-library__section {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    padding: 32px 36px;
}

.ts-tpl-library__section-header {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e6e8eb;
}

.ts-tpl-library__section-label {
    display: inline-block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #3993d5;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    margin-bottom: 8px;
}

.ts-tpl-library__section-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    color: #111111 !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
    padding-bottom: 0 !important;
}

.ts-tpl-library__section-intro {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #555555;
    margin: 0;
    max-width: 720px;
}

/* ---------- TEMPLATE CARDS ---------- */

.ts-tpl-library__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.ts-tpl-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 22px;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.ts-tpl-card:hover {
    border-color: #c8d4dc;
    box-shadow: 0 2px 10px rgba(57, 147, 213, 0.06);
}

.ts-tpl-card__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.ts-tpl-card__badge {
    display: inline-block;
    flex-shrink: 0;
    padding: 4px 10px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 0;
    border: 1px solid transparent;
    line-height: 1.2;
    margin-top: 3px;
}

.ts-tpl-card__badge--email {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, 0.25);
}

.ts-tpl-card__badge--sms {
    background: #ecfdf5;
    color: #047857;
    border-color: rgba(4, 120, 87, 0.25);
}

.ts-tpl-card__title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111111;
    margin: 0;
    line-height: 1.3;
    flex: 1 1 auto;
}

.ts-tpl-card__subject {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #333333;
    margin: 0 0 12px;
    padding: 8px 12px;
    background: #fafbfc;
    border: 1px solid #e6e8eb;
}

.ts-tpl-card__subject-label {
    font-weight: 700;
    color: #555555;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 11px;
}

.ts-tpl-card__body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    line-height: 1.65;
    color: #333333;
    white-space: normal;
    margin: 0 0 16px;
    flex: 1 1 auto;
}

/* ---------- TOKEN HIGHLIGHTING ---------- */

.ts-tpl-token {
    display: inline-block;
    padding: 1px 5px;
    background: #fff8db;
    color: #7c5b00;
    border: 1px solid #f0e2a8;
    border-radius: 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.95em;
    font-weight: 600;
    line-height: 1.3;
}

/* ---------- COPY BUTTON ---------- */

.ts-tpl-card__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
    padding-top: 4px;
}

.ts-tpl-card__copy {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: #3993d5;
    color: #ffffff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-decoration: none;
    border: 1px solid #3993d5;
    border-radius: 0;
    cursor: pointer;
    transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
    -webkit-appearance: none;
    appearance: none;
}

.ts-tpl-card__copy:hover {
    background: #2a7ab8;
    border-color: #2a7ab8;
}

.ts-tpl-card__copy:disabled {
    cursor: default;
}

.ts-tpl-card__copy--success {
    background: #047857 !important;
    border-color: #047857 !important;
    color: #ffffff !important;
}

.ts-tpl-card__copy--error {
    background: #c0432f !important;
    border-color: #c0432f !important;
    color: #ffffff !important;
}

.ts-tpl-card__copy i {
    font-size: 12px;
}

/* ---------- MOBILE ---------- */

@media (max-width: 960px) {
    .ts-tpl-library__grid {
        grid-template-columns: 1fr;
    }
    .ts-tpl-library__section {
        padding: 26px 24px;
    }
}

@media (max-width: 600px) {
    .ts-tpl-library__section {
        padding: 22px 20px;
    }
    .ts-tpl-library__section-title {
        font-size: 20px !important;
    }
    .ts-tpl-library__notice {
        flex-direction: column;
        gap: 10px;
        padding: 14px 18px;
    }
    .ts-tpl-card {
        padding: 18px;
    }
    .ts-tpl-card__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}


/* =========================================================
TENANT PORTAL – SECTION NAV (BROWSE BY CATEGORY)
Used at the top of /client-forms/ and /email-templates/.
Smooth-scrolls to the matching <section id="section-{key}">.
========================================================= */

html {
    scroll-behavior: smooth;
}

/* Offset anchored sections so titles aren't hidden behind sticky bars */
.ts-client-forms__chapter[id],
.ts-tpl-library__section[id] {
    scroll-margin-top: 24px;
}

.ts-section-nav {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    padding: 22px 26px 20px;
    margin-bottom: 28px;
}

.ts-section-nav__label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #3993d5;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    margin: 0 0 14px;
}

.ts-section-nav__links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ts-section-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 16px;
    background: #ffffff;
    color: #111111 !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    border: 1px solid #d8dde2;
    border-radius: 0;
    text-decoration: none !important;
    transition: background 200ms ease, border-color 200ms ease, color 200ms ease, transform 150ms ease;
}

.ts-section-nav__link:hover,
.ts-section-nav__link:focus,
.ts-section-nav__link:link,
.ts-section-nav__link:visited {
    color: #111111 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #d8dde2 !important;
}

.ts-section-nav__link:hover {
    background: #3993d5;
    border-color: #3993d5 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.ts-section-nav__link:hover .ts-section-nav__link-count {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
    border-color: transparent;
}

.ts-section-nav__link-title {
    white-space: nowrap;
}

.ts-section-nav__link-count {
    display: inline-block;
    min-width: 22px;
    padding: 2px 7px;
    background: #f0f3f6;
    color: #3993d5;
    border: 1px solid #e0e6ec;
    border-radius: 0;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}

/* High-liability variant (used on Med-Aesthetics in Client Forms) */
.ts-section-nav__link--high-liability {
    border-color: #f0c8c2;
    background: #fffbf9;
}

.ts-section-nav__link--high-liability .ts-section-nav__link-icon {
    color: #c0432f;
    font-size: 11px;
}

.ts-section-nav__link--high-liability .ts-section-nav__link-count {
    background: #fff4ee;
    color: #c0432f;
    border-color: #f0c8c2;
}

.ts-section-nav__link--high-liability:hover {
    background: #c0432f;
    border-color: #c0432f !important;
    color: #ffffff !important;
}

.ts-section-nav__link--high-liability:hover .ts-section-nav__link-icon {
    color: #ffffff;
}

/* ---------- MOBILE ---------- */

@media (max-width: 600px) {
    .ts-section-nav {
        padding: 18px 20px 16px;
    }
    .ts-section-nav__links {
        gap: 8px;
    }
    .ts-section-nav__link {
        padding: 8px 12px;
        font-size: 12px;
    }
}


/* =========================================================
TENANT PORTAL – CANCELLATION POLICY TEMPLATES LIBRARY
1-column stack (different from Email Templates 2-col grid)
because policies are dense decision-task content that needs
room to read.
========================================================= */

.ts-cp-library__header {
    margin-bottom: 28px;
}

.ts-cp-library__title {
    /* Sized via canonical heading block */
    margin: 0 0 10px;
}

.ts-cp-library__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    line-height: 1.55;
    margin: 0;
    max-width: 760px;
}

/* ---------- INFO NOTICE (matches Email Templates pattern) ---------- */

.ts-cp-library__notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #eff6ff;
    border-left: 4px solid #3993d5;
    padding: 16px 22px;
    margin-bottom: 36px;
}

.ts-cp-library__notice-icon {
    font-size: 18px;
    color: #3993d5;
    flex-shrink: 0;
    margin-top: 2px;
}

.ts-cp-library__notice-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #1d3a52;
    margin: 0;
}

.ts-cp-library__notice-text strong {
    color: #111111;
    font-weight: 700;
}

/* ---------- SECTIONS ---------- */

.ts-cp-library__sections {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.ts-cp-library__section {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    padding: 32px 36px;
}

.ts-cp-library__section-header {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e6e8eb;
}

.ts-cp-library__section-label {
    display: inline-block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #3993d5;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    margin-bottom: 8px;
}

.ts-cp-library__section-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    color: #111111 !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
    padding-bottom: 0 !important;
}

.ts-cp-library__section-intro {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #555555;
    margin: 0;
    max-width: 720px;
}

/* ---------- POLICY CARD STACK (1-column for readability) ---------- */

.ts-cp-library__stack {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.ts-cp-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 28px 32px;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.ts-cp-card:hover {
    border-color: #c8d4dc;
    box-shadow: 0 2px 10px rgba(57, 147, 213, 0.06);
}

.ts-cp-card__eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    color: #3993d5;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    margin: 0 0 10px;
}

.ts-cp-card__title {
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 8px;
    line-height: 1.3;
}

.ts-cp-card__best-for {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-style: italic;
    color: #555555;
    line-height: 1.5;
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f3f6;
}

.ts-cp-card__best-for strong {
    color: #111111;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 11px;
}

.ts-cp-card__body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #333333;
    white-space: normal;
    margin: 0 0 22px;
    flex: 1 1 auto;
}

.ts-cp-card__body strong {
    color: #111111;
    font-weight: 700;
}

.ts-cp-card__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
    padding-top: 4px;
    border-top: 1px solid #f0f3f6;
    padding-top: 18px;
}

/* ---------- MOBILE ---------- */

@media (max-width: 960px) {
    .ts-cp-library__section {
        padding: 26px 24px;
    }
    .ts-cp-card {
        padding: 22px 22px;
    }
}

@media (max-width: 600px) {
    .ts-cp-library__section {
        padding: 22px 20px;
    }
    .ts-cp-library__section-title {
        font-size: 20px !important;
    }
    .ts-cp-library__notice {
        flex-direction: column;
        gap: 10px;
        padding: 14px 18px;
    }
    .ts-cp-card {
        padding: 20px 18px;
    }
    .ts-cp-card__title {
        font-size: 17px;
    }
    .ts-cp-card__actions {
        justify-content: stretch;
    }
    .ts-cp-card__actions .ts-tpl-card__copy {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
TENANT PORTAL – CONTENT CALENDAR LIBRARY
12 months × 10 post ideas. 2-col grid (similar to Email
Templates) with type + theme badges and a downloadable
.xlsx companion at the top.
========================================================= */

.ts-cc-library__header {
    margin-bottom: 24px;
}

.ts-cc-library__title {
    /* Sized via canonical heading block */
    margin: 0 0 10px;
}

.ts-cc-library__subtitle {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #555555;
    line-height: 1.55;
    margin: 0;
    max-width: 760px;
}

/* ---------- DOWNLOAD STRIP ---------- */

.ts-cc-library__download {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #ecfdf5;
    border: 1px solid #b9e8d4;
    padding: 18px 24px;
    margin-bottom: 24px;
}

.ts-cc-library__download-body {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1 1 auto;
    min-width: 0;
}

.ts-cc-library__download-icon {
    font-size: 24px;
    color: #047857;
    flex-shrink: 0;
    margin-top: 2px;
}

.ts-cc-library__download-title {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #064e3b;
    margin: 0 0 4px;
}

.ts-cc-library__download-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #1f5c47;
    margin: 0;
}

.ts-cc-library__download-btn,
.ts-cc-library__download-btn:link,
.ts-cc-library__download-btn:visited {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #047857;
    color: #ffffff !important;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    border: 1px solid #047857;
    border-radius: 0;
    transition: background 200ms ease, border-color 200ms ease;
    flex-shrink: 0;
}

.ts-cc-library__download-btn:hover {
    background: #036148;
    border-color: #036148;
    color: #ffffff !important;
}

.ts-cc-library__download-btn i {
    font-size: 12px;
}

/* ---------- INFO NOTICE ---------- */

.ts-cc-library__notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #eff6ff;
    border-left: 4px solid #3993d5;
    padding: 14px 22px;
    margin-bottom: 36px;
}

.ts-cc-library__notice-icon {
    font-size: 18px;
    color: #3993d5;
    flex-shrink: 0;
    margin-top: 2px;
}

.ts-cc-library__notice-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #1d3a52;
    margin: 0;
}

/* ---------- COMPACT NAV (12 small chips) ---------- */

.ts-section-nav--compact .ts-section-nav__link {
    padding: 8px 14px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* ---------- SECTIONS ---------- */

.ts-cc-library__sections {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.ts-cc-library__section {
    background: #ffffff;
    border: 1px solid #e6e8eb;
    padding: 32px 36px;
}

.ts-cc-library__section-header {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e6e8eb;
}

.ts-cc-library__section-label {
    display: inline-block;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #3993d5;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    margin-bottom: 8px;
}

.ts-cc-library__section-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    color: #111111 !important;
    letter-spacing: 2px !important;
    line-height: 1.2 !important;
    margin: 0 0 8px !important;
    padding-bottom: 0 !important;
}

.ts-cc-library__section-theme {
    color: #555555;
    font-weight: 400;
    letter-spacing: 1px;
    font-size: 18px;
    text-transform: none;
}

.ts-cc-library__section-intro {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    color: #555555;
    margin: 0;
    max-width: 720px;
}

/* ---------- CARDS ---------- */

.ts-cc-library__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.ts-cc-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    padding: 22px;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.ts-cc-card:hover {
    border-color: #c8d4dc;
    box-shadow: 0 2px 10px rgba(57, 147, 213, 0.06);
}

.ts-cc-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.ts-cc-card__badge {
    display: inline-block;
    padding: 4px 10px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 0;
    border: 1px solid transparent;
    line-height: 1.2;
}

/* TYPE badges — color-coded */
.ts-cc-card__badge--type-reel {
    background: #fff1eb;
    color: #c0432f;
    border-color: rgba(192, 67, 47, 0.25);
}

.ts-cc-card__badge--type-photo {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: rgba(37, 99, 235, 0.25);
}

.ts-cc-card__badge--type-carousel {
    background: #f3e8ff;
    color: #6b21a8;
    border-color: rgba(107, 33, 168, 0.25);
}

.ts-cc-card__badge--type-story {
    background: #fef9c3;
    color: #854d0e;
    border-color: rgba(133, 77, 14, 0.3);
}

/* THEME badge — neutral */
.ts-cc-card__badge--theme {
    background: #f5f5f5;
    color: #555555;
    border-color: #e0e0e0;
}

.ts-cc-card__title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 12px;
    line-height: 1.35;
}

.ts-cc-card__visual {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    line-height: 1.5;
    color: #555555;
    background: #fafbfc;
    border: 1px solid #e6e8eb;
    padding: 8px 12px;
    margin: 0 0 12px;
    font-style: italic;
}

.ts-cc-card__visual-label {
    font-style: normal;
    font-weight: 700;
    color: #333333;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 10px;
    margin-right: 4px;
}

.ts-cc-card__body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    line-height: 1.65;
    color: #333333;
    white-space: normal;
    margin: 0 0 12px;
    flex: 1 1 auto;
}

.ts-cc-card__hashtags {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    line-height: 1.5;
    color: #3993d5;
    word-break: break-word;
    margin: 0 0 16px;
    padding: 8px 12px;
    background: #f5f9fc;
    border: 1px solid #e0eaf2;
}

.ts-cc-card__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
    padding-top: 4px;
}

/* ---------- MOBILE ---------- */

@media (max-width: 960px) {
    .ts-cc-library__grid {
        grid-template-columns: 1fr;
    }
    .ts-cc-library__section {
        padding: 26px 24px;
    }
    .ts-cc-library__download {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .ts-cc-library__download-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 600px) {
    .ts-cc-library__section {
        padding: 22px 20px;
    }
    .ts-cc-library__section-title {
        font-size: 20px !important;
    }
    .ts-cc-library__section-theme {
        font-size: 15px;
        display: block;
        margin-top: 4px;
    }
    .ts-cc-library__notice,
    .ts-cc-library__download {
        padding: 14px 18px;
    }
    .ts-cc-library__download-body {
        flex-direction: column;
    }
    .ts-cc-card {
        padding: 18px;
    }
}
/* =========================================================
BREAK-EVEN CALCULATOR PAGE
========================================================= */
#bbe-app,
#bbe-app *,
#bbe-app *::before,
#bbe-app *::after { box-sizing: border-box !important; }
#bbe-app {
    --bbe-black: #000000;
    --bbe-blue: #5391CD;
    --bbe-bg: #f7f8f8;
    --bbe-card: #ffffff;
    --bbe-border: #e2e2e2;
    --bbe-text: #333333;
    --bbe-text-light: #666666;
    --bbe-num-gray: #e0e0e0;
    --bbe-success: #2a9d5c;
    --bbe-success-light: #eafaf0;
    --bbe-warning: #e8a735;
    --bbe-warning-light: #fef8eb;
    --bbe-danger: #d94444;
    --bbe-danger-light: #fdf0f0;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: var(--bbe-bg);
    color: var(--bbe-text);
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
}

/* HERO ---------------------------------------------------- */
#bbe-app .bbe-hero {
    background: #000000 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 80px 24px 72px !important;
    margin: 0 !important;
}
#bbe-app .bbe-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important;
    margin: 0 0 1.1em 0 !important;
    display: block !important;
}
#bbe-app .bbe-hero h1 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 58px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    margin: 0 auto 24px auto !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 900px !important;
}
@media (max-width: 768px) {
    #bbe-app .bbe-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; }
    #bbe-app .bbe-hero { padding: 56px 20px 48px !important; }
}
#bbe-app .bbe-hero p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.8) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* CONTAINER ----------------------------------------------- */
#bbe-app .bbe-container {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 56px 24px 80px !important;
    background: var(--bbe-bg);
}

/* SECTION CARDS — SQUARE CORNERS, BIG LIGHT-GRAY NUMBERS -- */
#bbe-app .calc-section {
    background: var(--bbe-card) !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    padding: 40px 36px !important;
    margin: 0 0 32px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 28px !important;
}
#bbe-app .calc-section-num {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    color: var(--bbe-num-gray) !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    min-width: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    display: block !important;
}
#bbe-app .calc-section-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
@media (max-width: 700px) {
    #bbe-app .calc-section { flex-direction: column !important; gap: 12px !important; padding: 28px 20px !important; }
    #bbe-app .calc-section-num { font-size: 2.5rem !important; min-width: 0 !important; }
}
#bbe-app .calc-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bbe-app .calc-section h3 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 24px 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bbe-app .calc-section .section-desc {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    color: var(--bbe-text-light) !important;
    font-size: 15px !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* FORM FIELDS --------------------------------------------- */
#bbe-app .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 0 0 20px 0 !important;
}
#bbe-app .form-row.single { grid-template-columns: 1fr; }
@media (max-width: 600px) {
    #bbe-app .form-row { grid-template-columns: 1fr; }
}
#bbe-app .field { display: flex !important; flex-direction: column !important; }
#bbe-app .field label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bbe-text) !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    line-height: 1.4 !important;
}
#bbe-app .field .hint {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    color: var(--bbe-text-light) !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}
#bbe-app .field input,
#bbe-app .field input[type="number"],
#bbe-app .field input[type="text"],
#bbe-app .field select {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
    border: 1.5px solid var(--bbe-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--bbe-text) !important;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    appearance: none !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
#bbe-app .field input::-webkit-outer-spin-button,
#bbe-app .field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#bbe-app .field input:focus,
#bbe-app .field select:focus {
    outline: none !important;
    border-color: var(--bbe-blue) !important;
    box-shadow: 0 0 0 3px rgba(83,145,205,0.15) !important;
}
#bbe-app .field input::placeholder { color: #bbb !important; opacity: 1 !important; }

#bbe-app .input-prefix { position: relative; display: block; }
#bbe-app .input-prefix::before {
    content: '$';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    color: var(--bbe-text-light);
    pointer-events: none;
    z-index: 2;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bbe-app .input-prefix input,
#bbe-app .input-prefix input[type="number"],
#bbe-app .input-prefix input[type="text"] { padding-left: 33px !important; }
#bbe-app .input-suffix { position: relative; display: block; }
#bbe-app .input-suffix::after {
    content: attr(data-suffix);
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--bbe-text-light);
    pointer-events: none;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bbe-app .input-suffix input,
#bbe-app .input-suffix input[type="number"],
#bbe-app .input-suffix input[type="text"] { padding-right: 56px !important; }

/* PRESET PILLS — KEPT ROUNDED (PILL SHAPE) ---------------- */
#bbe-app .presets {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#bbe-app .preset-btn {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border: 1.5px solid var(--bbe-border) !important;
    border-radius: 100px !important;
    background: #ffffff !important;
    color: var(--bbe-text) !important;
    cursor: pointer !important;
    transition: border-color 200ms ease, color 200ms ease !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
}
#bbe-app .preset-btn span { position: relative; z-index: 1; }
#bbe-app .preset-btn:hover { border-color: var(--bbe-blue) !important; color: var(--bbe-blue) !important; background: #ffffff !important; }
#bbe-app .preset-btn.active { background: #000000 !important; color: #ffffff !important; border-color: #000000 !important; }

/* RESULT CARDS — SQUARE ----------------------------------- */
#bbe-app .results-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px;
    margin: 0 0 24px 0 !important;
}
@media (max-width: 700px) {
    #bbe-app .results-grid { grid-template-columns: 1fr !important; }
}
#bbe-app .result-card {
    background: var(--bbe-bg) !important;
    border-radius: 0 !important;
    padding: 24px 20px !important;
    text-align: center !important;
    margin: 0 !important;
}
#bbe-app .result-card .result-label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--bbe-text-light) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}
#bbe-app .result-card .result-value {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    display: block !important;
}
#bbe-app .result-card .result-note {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    color: var(--bbe-text-light) !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}
#bbe-app .result-card.highlight { background: #000000 !important; }
#bbe-app .result-card.highlight .result-label { color: #999 !important; }
#bbe-app .result-card.highlight .result-value { color: #ffffff !important; }
#bbe-app .result-card.highlight .result-note { color: #999 !important; }

/* VERDICT BAR (KEPT TINTED) ------------------------------- */
#bbe-app .verdict {
    border-radius: 0 !important;
    padding: 20px 24px !important;
    display: flex !important;
    align-items: center;
    gap: 16px;
    margin-top: 8px !important;
}
#bbe-app .verdict.good { background: var(--bbe-success-light) !important; border: 1px solid #c1e8d0 !important; }
#bbe-app .verdict.warning { background: var(--bbe-warning-light) !important; border: 1px solid #f5dfa0 !important; }
#bbe-app .verdict.danger { background: var(--bbe-danger-light) !important; border: 1px solid #f5c4c4 !important; }
#bbe-app .verdict-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 20px;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bbe-app .verdict.good .verdict-icon { background: var(--bbe-success) !important; color: #fff !important; }
#bbe-app .verdict.warning .verdict-icon { background: var(--bbe-warning) !important; color: #fff !important; }
#bbe-app .verdict.danger .verdict-icon { background: var(--bbe-danger) !important; color: #fff !important; }
#bbe-app .verdict-text {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--bbe-text) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ADD SERVICE BUTTON — STANDARD BLACK FILL-SHRINK PATTERN - */
#bbe-app .add-service-btn {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 14px 28px !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: color 300ms ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    line-height: 1 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
    text-decoration: none !important;
}
#bbe-app .add-service-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bbe-app .add-service-btn span { position: relative; z-index: 1; }
#bbe-app .add-service-btn:hover::before { transform: scale(0); }
#bbe-app .add-service-btn:hover { color: #000000 !important; box-shadow: none !important; }

/* SERVICE ROWS — SQUARE ----------------------------------- */
#bbe-app .service-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr auto;
    gap: 12px;
    align-items: end;
    margin: 0 0 12px 0 !important;
    padding: 16px !important;
    background: var(--bbe-bg) !important;
    border-radius: 0 !important;
}
@media (max-width: 700px) {
    #bbe-app .service-row { grid-template-columns: 1fr 1fr !important; gap: 10px; }
    #bbe-app .service-row .field:first-child { grid-column: 1 / -1; }
}
#bbe-app .service-row .field label { font-size: 13px !important; }
#bbe-app .service-row .field input { padding: 10px 12px !important; font-size: 14px !important; min-height: 42px !important; }
#bbe-app .service-row .input-prefix input { padding-left: 26px !important; }
#bbe-app .service-row .input-prefix::before { font-size: 14px; left: 12px; }
#bbe-app .service-row .input-suffix input { padding-right: 44px !important; }
#bbe-app .service-row .input-suffix::after { font-size: 12px; right: 10px; }

#bbe-app .remove-btn {
    width: 36px !important;
    height: 36px !important;
    border: none !important;
    background: transparent !important;
    color: #cc4444 !important;
    font-size: 20px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    transition: background 200ms ease !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 1 !important;
}
#bbe-app .remove-btn:hover { background: var(--bbe-danger-light) !important; }

#bbe-app .rph-results { margin-top: 20px !important; }
#bbe-app .rph-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
    gap: 12px;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--bbe-border) !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    color: var(--bbe-text) !important;
    margin: 0 !important;
}
#bbe-app .rph-row.header {
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--bbe-text-light) !important;
    border-bottom: 2px solid var(--bbe-text) !important;
}
#bbe-app .rph-row .rph-value { font-weight: 600 !important; }
#bbe-app .rph-row .rph-best { color: var(--bbe-success) !important; font-weight: 700 !important; }
#bbe-app .rph-row .rph-worst { color: var(--bbe-danger) !important; font-weight: 600 !important; }
@media (max-width: 600px) {
    #bbe-app .rph-row { grid-template-columns: 1fr 1fr !important; gap: 4px 12px; }
}

/* CTA SECTION — SQUARE, FILL-SHRINK BUTTON ---------------- */
#bbe-app .cta-section {
    background: #000000 !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important;
    padding: 64px 40px !important;
    text-align: center !important;
    margin: 12px 0 0 0 !important;
    display: block !important;
}
#bbe-app .cta-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bbe-app .cta-section p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.8) !important;
    max-width: 520px !important;
    margin: 0 auto 32px auto !important;
    padding: 0 !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
}
#bbe-app .cta-btn,
#bbe-app .cta-btn:link,
#bbe-app .cta-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 16px 40px !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color 300ms ease !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}
#bbe-app .cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bbe-app .cta-btn span { position: relative; z-index: 1; }
#bbe-app .cta-btn:hover::before { transform: scale(0); }
#bbe-app .cta-btn:hover { color: #ffffff !important; box-shadow: none !important; }

#bbe-app .hidden { display: none !important; }


/* =========================================================

/* ---------- BREAK-EVEN: PROJECTION TABLE (capacity profit projection) ---------- */
#bbe-app .bbe-projection-table {
    margin-top: 20px;
    border: 1px solid var(--bbe-border) !important;
    background: var(--bbe-card) !important;
}
#bbe-app .bbe-projection-row {
    display: grid !important;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    align-items: center;
    padding: 14px 18px !important;
    border-bottom: 1px solid var(--bbe-border) !important;
    font-size: 0.95rem !important;
}
#bbe-app .bbe-projection-row:last-child { border-bottom: 0 !important; }
#bbe-app .bbe-projection-row.header {
    background: #f7f8f8 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.78rem !important;
    color: var(--bbe-text-light) !important;
}
#bbe-app .bbe-projection-fill {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
#bbe-app .bbe-projection-pct {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--bbe-black) !important;
    line-height: 1.1;
}
#bbe-app .bbe-projection-label {
    font-size: 0.78rem !important;
    color: var(--bbe-text-light) !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
#bbe-app .bbe-projection-row [data-cell] {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-weight: 600 !important;
    color: var(--bbe-text) !important;
}
#bbe-app .bbe-projection-row [data-cell="profit"].bbe-profit-positive {
    color: var(--bbe-success) !important;
}
#bbe-app .bbe-projection-row [data-cell="profit"].bbe-profit-negative {
    color: var(--bbe-danger) !important;
}

@media (max-width: 600px) {
    #bbe-app .bbe-projection-row {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    #bbe-app .bbe-projection-row.header { display: none !important; }
    #bbe-app .bbe-projection-row [data-cell]::before {
        display: block;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--bbe-text-light);
        font-weight: 600;
        margin-bottom: 2px;
    }
    #bbe-app .bbe-projection-row [data-cell="clients"]::before { content: 'Clients/Mo'; }
    #bbe-app .bbe-projection-row [data-cell="revenue"]::before { content: 'Revenue'; }
    #bbe-app .bbe-projection-row [data-cell="profit"]::before  { content: 'Profit'; }
    #bbe-app .bbe-projection-fill { grid-column: 1 / span 2; }
}

/* =========================================================
CLIENT LIFETIME VALUE CALCULATOR PAGE
========================================================= */
#bclv-app,
#bclv-app *,
#bclv-app *::before,
#bclv-app *::after { box-sizing: border-box !important; }
#bclv-app {
    --bclv-black: #000000;
    --bclv-blue: #5391CD;
    --bclv-bg: #f7f8f8;
    --bclv-card: #ffffff;
    --bclv-border: #e2e2e2;
    --bclv-text: #333333;
    --bclv-text-light: #666666;
    --bclv-num-gray: #e0e0e0;
    --bclv-success: #2a9d5c;
    --bclv-success-light: #eafaf0;
    --bclv-warning: #e8a735;
    --bclv-warning-light: #fef8eb;
    --bclv-danger: #d94444;
    --bclv-danger-light: #fdf0f0;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: var(--bclv-bg);
    color: var(--bclv-text);
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
}

/* HERO ---------------------------------------------------- */
#bclv-app .bclv-hero {
    background: #000000 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 80px 24px 72px !important;
    margin: 0 !important;
}
#bclv-app .bclv-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important;
    margin: 0 0 1.1em 0 !important;
    display: block !important;
}
#bclv-app .bclv-hero h1 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 58px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    margin: 0 auto 24px auto !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 900px !important;
}
@media (max-width: 768px) {
    #bclv-app .bclv-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; }
    #bclv-app .bclv-hero { padding: 56px 20px 48px !important; }
}
#bclv-app .bclv-hero p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.8) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* CONTAINER ----------------------------------------------- */
#bclv-app .bclv-container {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 56px 24px 80px !important;
    background: var(--bclv-bg);
}

/* SECTION CARDS — SQUARE CORNERS, BIG LIGHT-GRAY NUMBERS -- */
#bclv-app .calc-section {
    background: var(--bclv-card) !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    padding: 40px 36px !important;
    margin: 0 0 32px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 28px !important;
}
#bclv-app .calc-section-num {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    color: var(--bclv-num-gray) !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    min-width: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    display: block !important;
}
#bclv-app .calc-section-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
@media (max-width: 700px) {
    #bclv-app .calc-section { flex-direction: column !important; gap: 12px !important; padding: 28px 20px !important; }
    #bclv-app .calc-section-num { font-size: 2.5rem !important; min-width: 0 !important; }
}
#bclv-app .calc-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bclv-app .calc-section h3 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 24px 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bclv-app .calc-section .section-desc {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    color: var(--bclv-text-light) !important;
    font-size: 15px !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* FORM FIELDS --------------------------------------------- */
#bclv-app .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 0 0 20px 0 !important;
}
#bclv-app .form-row.single { grid-template-columns: 1fr; }
@media (max-width: 600px) {
    #bclv-app .form-row { grid-template-columns: 1fr; }
}
#bclv-app .field { display: flex !important; flex-direction: column !important; }
#bclv-app .field label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bclv-text) !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    line-height: 1.4 !important;
}
#bclv-app .field .hint {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    color: var(--bclv-text-light) !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}
#bclv-app .field input,
#bclv-app .field input[type="number"],
#bclv-app .field input[type="text"],
#bclv-app .field select {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
    border: 1.5px solid var(--bclv-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--bclv-text) !important;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    appearance: none !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
#bclv-app .field input::-webkit-outer-spin-button,
#bclv-app .field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#bclv-app .field input:focus,
#bclv-app .field select:focus {
    outline: none !important;
    border-color: var(--bclv-blue) !important;
    box-shadow: 0 0 0 3px rgba(83,145,205,0.15) !important;
}
#bclv-app .field input::placeholder { color: #bbb !important; opacity: 1 !important; }

#bclv-app .input-prefix { position: relative; display: block; }
#bclv-app .input-prefix::before {
    content: '$';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    color: var(--bclv-text-light);
    pointer-events: none;
    z-index: 2;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bclv-app .input-prefix input,
#bclv-app .input-prefix input[type="number"],
#bclv-app .input-prefix input[type="text"] { padding-left: 33px !important; }
#bclv-app .input-suffix { position: relative; display: block; }
#bclv-app .input-suffix::after {
    content: attr(data-suffix);
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--bclv-text-light);
    pointer-events: none;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bclv-app .input-suffix input,
#bclv-app .input-suffix input[type="number"],
#bclv-app .input-suffix input[type="text"] { padding-right: 56px !important; }

/* PRESET PILLS — KEPT ROUNDED (PILL SHAPE) ---------------- */
#bclv-app .presets {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#bclv-app .preset-btn {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border: 1.5px solid var(--bclv-border) !important;
    border-radius: 100px !important;
    background: #ffffff !important;
    color: var(--bclv-text) !important;
    cursor: pointer !important;
    transition: border-color 200ms ease, color 200ms ease !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
}
#bclv-app .preset-btn span { position: relative; z-index: 1; }
#bclv-app .preset-btn:hover { border-color: var(--bclv-blue) !important; color: var(--bclv-blue) !important; background: #ffffff !important; }
#bclv-app .preset-btn.active { background: #000000 !important; color: #ffffff !important; border-color: #000000 !important; }

/* RESULT CARDS — SQUARE ----------------------------------- */
#bclv-app .results-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px;
    margin: 0 0 24px 0 !important;
}
@media (max-width: 700px) {
    #bclv-app .results-grid { grid-template-columns: 1fr !important; }
}
#bclv-app .result-card {
    background: var(--bclv-bg) !important;
    border-radius: 0 !important;
    padding: 24px 20px !important;
    text-align: center !important;
    margin: 0 !important;
}
#bclv-app .result-card .result-label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--bclv-text-light) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}
#bclv-app .result-card .result-value {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    display: block !important;
}
#bclv-app .result-card .result-note {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    color: var(--bclv-text-light) !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}
#bclv-app .result-card.highlight { background: #000000 !important; }
#bclv-app .result-card.highlight .result-label { color: #999 !important; }
#bclv-app .result-card.highlight .result-value { color: #ffffff !important; }
#bclv-app .result-card.highlight .result-note { color: #999 !important; }

/* VERDICT BAR (KEPT TINTED) ------------------------------- */
#bclv-app .verdict {
    border-radius: 0 !important;
    padding: 20px 24px !important;
    display: flex !important;
    align-items: center;
    gap: 16px;
    margin-top: 8px !important;
}
#bclv-app .verdict.good { background: var(--bclv-success-light) !important; border: 1px solid #c1e8d0 !important; }
#bclv-app .verdict.warning { background: var(--bclv-warning-light) !important; border: 1px solid #f5dfa0 !important; }
#bclv-app .verdict.danger { background: var(--bclv-danger-light) !important; border: 1px solid #f5c4c4 !important; }
#bclv-app .verdict-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 20px;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bclv-app .verdict.good .verdict-icon { background: var(--bclv-success) !important; color: #fff !important; }
#bclv-app .verdict.warning .verdict-icon { background: var(--bclv-warning) !important; color: #fff !important; }
#bclv-app .verdict.danger .verdict-icon { background: var(--bclv-danger) !important; color: #fff !important; }
#bclv-app .verdict-text {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--bclv-text) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ADD SERVICE BUTTON — STANDARD BLACK FILL-SHRINK PATTERN - */
#bclv-app .add-service-btn {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 14px 28px !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: color 300ms ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    line-height: 1 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
    text-decoration: none !important;
}
#bclv-app .add-service-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bclv-app .add-service-btn span { position: relative; z-index: 1; }
#bclv-app .add-service-btn:hover::before { transform: scale(0); }
#bclv-app .add-service-btn:hover { color: #000000 !important; box-shadow: none !important; }

/* SERVICE ROWS — SQUARE ----------------------------------- */
#bclv-app .service-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr auto;
    gap: 12px;
    align-items: end;
    margin: 0 0 12px 0 !important;
    padding: 16px !important;
    background: var(--bclv-bg) !important;
    border-radius: 0 !important;
}
@media (max-width: 700px) {
    #bclv-app .service-row { grid-template-columns: 1fr 1fr !important; gap: 10px; }
    #bclv-app .service-row .field:first-child { grid-column: 1 / -1; }
}
#bclv-app .service-row .field label { font-size: 13px !important; }
#bclv-app .service-row .field input { padding: 10px 12px !important; font-size: 14px !important; min-height: 42px !important; }
#bclv-app .service-row .input-prefix input { padding-left: 26px !important; }
#bclv-app .service-row .input-prefix::before { font-size: 14px; left: 12px; }
#bclv-app .service-row .input-suffix input { padding-right: 44px !important; }
#bclv-app .service-row .input-suffix::after { font-size: 12px; right: 10px; }

#bclv-app .remove-btn {
    width: 36px !important;
    height: 36px !important;
    border: none !important;
    background: transparent !important;
    color: #cc4444 !important;
    font-size: 20px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    transition: background 200ms ease !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 1 !important;
}
#bclv-app .remove-btn:hover { background: var(--bclv-danger-light) !important; }

#bclv-app .rph-results { margin-top: 20px !important; }
#bclv-app .rph-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
    gap: 12px;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--bclv-border) !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    color: var(--bclv-text) !important;
    margin: 0 !important;
}
#bclv-app .rph-row.header {
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--bclv-text-light) !important;
    border-bottom: 2px solid var(--bclv-text) !important;
}
#bclv-app .rph-row .rph-value { font-weight: 600 !important; }
#bclv-app .rph-row .rph-best { color: var(--bclv-success) !important; font-weight: 700 !important; }
#bclv-app .rph-row .rph-worst { color: var(--bclv-danger) !important; font-weight: 600 !important; }
@media (max-width: 600px) {
    #bclv-app .rph-row { grid-template-columns: 1fr 1fr !important; gap: 4px 12px; }
}

/* CTA SECTION — SQUARE, FILL-SHRINK BUTTON ---------------- */
#bclv-app .cta-section {
    background: #000000 !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important;
    padding: 64px 40px !important;
    text-align: center !important;
    margin: 12px 0 0 0 !important;
    display: block !important;
}
#bclv-app .cta-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bclv-app .cta-section p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.8) !important;
    max-width: 520px !important;
    margin: 0 auto 32px auto !important;
    padding: 0 !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
}
#bclv-app .cta-btn,
#bclv-app .cta-btn:link,
#bclv-app .cta-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 16px 40px !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color 300ms ease !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}
#bclv-app .cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bclv-app .cta-btn span { position: relative; z-index: 1; }
#bclv-app .cta-btn:hover::before { transform: scale(0); }
#bclv-app .cta-btn:hover { color: #ffffff !important; box-shadow: none !important; }

#bclv-app .hidden { display: none !important; }



/* ---------- CLV: PROJECTION TABLE (lifetime value at different retention lengths) ---------- */
#bclv-app .bclv-projection-table {
    margin-top: 20px;
    border: 1px solid var(--bclv-border) !important;
    background: var(--bclv-card) !important;
}
#bclv-app .bclv-projection-row {
    display: grid !important;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    align-items: center;
    padding: 14px 18px !important;
    border-bottom: 1px solid var(--bclv-border) !important;
    font-size: 0.95rem !important;
}
#bclv-app .bclv-projection-row:last-child { border-bottom: 0 !important; }
#bclv-app .bclv-projection-row.header {
    background: #f7f8f8 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 0.78rem !important;
    color: var(--bclv-text-light) !important;
}
#bclv-app .bclv-projection-fill {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
#bclv-app .bclv-projection-pct {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--bclv-black) !important;
    line-height: 1.1;
}
#bclv-app .bclv-projection-label {
    font-size: 0.78rem !important;
    color: var(--bclv-text-light) !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
#bclv-app .bclv-projection-row [data-cell] {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-weight: 600 !important;
    color: var(--bclv-text) !important;
}

/* "Optional" pill next to section title */
#bclv-app .bclv-optional {
    display: inline-block;
    margin-left: 8px;
    padding: 3px 10px;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid rgba(37, 99, 235, 0.25);
    border-radius: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    vertical-align: middle;
}

@media (max-width: 600px) {
    #bclv-app .bclv-projection-row {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    #bclv-app .bclv-projection-row.header { display: none !important; }
    #bclv-app .bclv-projection-row [data-cell]::before {
        display: block;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--bclv-text-light);
        font-weight: 600;
        margin-bottom: 2px;
    }
    #bclv-app .bclv-projection-row [data-cell="visits"]::before  { content: 'Visits'; }
    #bclv-app .bclv-projection-row [data-cell="revenue"]::before { content: 'Revenue'; }
    #bclv-app .bclv-projection-row [data-cell="monthly"]::before { content: 'Per Month'; }
    #bclv-app .bclv-projection-fill { grid-column: 1 / span 2; }
}
}

/* =========================================================
SCHEDULE TEMPLATE GENERATOR PAGE
========================================================= */
#bsg-app,
#bsg-app *,
#bsg-app *::before,
#bsg-app *::after { box-sizing: border-box !important; }
#bsg-app {
    --bsg-black: #000000;
    --bsg-blue: #5391CD;
    --bsg-bg: #f7f8f8;
    --bsg-card: #ffffff;
    --bsg-border: #e2e2e2;
    --bsg-text: #333333;
    --bsg-text-light: #666666;
    --bsg-num-gray: #e0e0e0;
    --bsg-success: #2a9d5c;
    --bsg-success-light: #eafaf0;
    --bsg-warning: #e8a735;
    --bsg-warning-light: #fef8eb;
    --bsg-danger: #d94444;
    --bsg-danger-light: #fdf0f0;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: var(--bsg-bg);
    color: var(--bsg-text);
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
}

/* HERO ---------------------------------------------------- */
#bsg-app .bsg-hero {
    background: #000000 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 80px 24px 72px !important;
    margin: 0 !important;
}
#bsg-app .bsg-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important;
    margin: 0 0 1.1em 0 !important;
    display: block !important;
}
#bsg-app .bsg-hero h1 {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 58px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    margin: 0 auto 24px auto !important;
    padding: 0 !important;
    text-align: center !important;
    max-width: 900px !important;
}
@media (max-width: 768px) {
    #bsg-app .bsg-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; }
    #bsg-app .bsg-hero { padding: 56px 20px 48px !important; }
}
#bsg-app .bsg-hero p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.8) !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* CONTAINER ----------------------------------------------- */
#bsg-app .bsg-container {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 56px 24px 80px !important;
    background: var(--bsg-bg);
}

/* SECTION CARDS — SQUARE CORNERS, BIG LIGHT-GRAY NUMBERS -- */
#bsg-app .calc-section {
    background: var(--bsg-card) !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    padding: 40px 36px !important;
    margin: 0 0 32px 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 28px !important;
}
#bsg-app .calc-section-num {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 700 !important;
    color: var(--bsg-num-gray) !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    min-width: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    display: block !important;
}
#bsg-app .calc-section-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
@media (max-width: 700px) {
    #bsg-app .calc-section { flex-direction: column !important; gap: 12px !important; padding: 28px 20px !important; }
    #bsg-app .calc-section-num { font-size: 2.5rem !important; min-width: 0 !important; }
}
#bsg-app .calc-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bsg-app .calc-section h3 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin: 24px 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bsg-app .calc-section .section-desc {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    color: var(--bsg-text-light) !important;
    font-size: 15px !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* FORM FIELDS --------------------------------------------- */
#bsg-app .form-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 0 0 20px 0 !important;
}
#bsg-app .form-row.single { grid-template-columns: 1fr; }
@media (max-width: 600px) {
    #bsg-app .form-row { grid-template-columns: 1fr; }
}
#bsg-app .field { display: flex !important; flex-direction: column !important; }
#bsg-app .field label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--bsg-text) !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    line-height: 1.4 !important;
}
#bsg-app .field .hint {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    color: var(--bsg-text-light) !important;
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}
#bsg-app .field input,
#bsg-app .field input[type="number"],
#bsg-app .field input[type="text"],
#bsg-app .field select {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
    border: 1.5px solid var(--bsg-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--bsg-text) !important;
    transition: border-color 200ms ease, box-shadow 200ms ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    appearance: none !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}
#bsg-app .field input::-webkit-outer-spin-button,
#bsg-app .field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#bsg-app .field input:focus,
#bsg-app .field select:focus {
    outline: none !important;
    border-color: var(--bsg-blue) !important;
    box-shadow: 0 0 0 3px rgba(83,145,205,0.15) !important;
}
#bsg-app .field input::placeholder { color: #bbb !important; opacity: 1 !important; }

#bsg-app .input-prefix { position: relative; display: block; }
#bsg-app .input-prefix::before {
    content: '$';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    color: var(--bsg-text-light);
    pointer-events: none;
    z-index: 2;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bsg-app .input-prefix input,
#bsg-app .input-prefix input[type="number"],
#bsg-app .input-prefix input[type="text"] { padding-left: 33px !important; }
#bsg-app .input-suffix { position: relative; display: block; }
#bsg-app .input-suffix::after {
    content: attr(data-suffix);
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: var(--bsg-text-light);
    pointer-events: none;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bsg-app .input-suffix input,
#bsg-app .input-suffix input[type="number"],
#bsg-app .input-suffix input[type="text"] { padding-right: 56px !important; }

/* PRESET PILLS — KEPT ROUNDED (PILL SHAPE) ---------------- */
#bsg-app .presets {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#bsg-app .preset-btn {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border: 1.5px solid var(--bsg-border) !important;
    border-radius: 100px !important;
    background: #ffffff !important;
    color: var(--bsg-text) !important;
    cursor: pointer !important;
    transition: border-color 200ms ease, color 200ms ease !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
}
#bsg-app .preset-btn span { position: relative; z-index: 1; }
#bsg-app .preset-btn:hover { border-color: var(--bsg-blue) !important; color: var(--bsg-blue) !important; background: #ffffff !important; }
#bsg-app .preset-btn.active { background: #000000 !important; color: #ffffff !important; border-color: #000000 !important; }

/* RESULT CARDS — SQUARE ----------------------------------- */
#bsg-app .results-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px;
    margin: 0 0 24px 0 !important;
}
@media (max-width: 700px) {
    #bsg-app .results-grid { grid-template-columns: 1fr !important; }
}
#bsg-app .result-card {
    background: var(--bsg-bg) !important;
    border-radius: 0 !important;
    padding: 24px 20px !important;
    text-align: center !important;
    margin: 0 !important;
}
#bsg-app .result-card .result-label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--bsg-text-light) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}
#bsg-app .result-card .result-value {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    display: block !important;
}
#bsg-app .result-card .result-note {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    color: var(--bsg-text-light) !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
}
#bsg-app .result-card.highlight { background: #000000 !important; }
#bsg-app .result-card.highlight .result-label { color: #999 !important; }
#bsg-app .result-card.highlight .result-value { color: #ffffff !important; }
#bsg-app .result-card.highlight .result-note { color: #999 !important; }

/* VERDICT BAR (KEPT TINTED) ------------------------------- */
#bsg-app .verdict {
    border-radius: 0 !important;
    padding: 20px 24px !important;
    display: flex !important;
    align-items: center;
    gap: 16px;
    margin-top: 8px !important;
}
#bsg-app .verdict.good { background: var(--bsg-success-light) !important; border: 1px solid #c1e8d0 !important; }
#bsg-app .verdict.warning { background: var(--bsg-warning-light) !important; border: 1px solid #f5dfa0 !important; }
#bsg-app .verdict.danger { background: var(--bsg-danger-light) !important; border: 1px solid #f5c4c4 !important; }
#bsg-app .verdict-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 20px;
    font-weight: 700;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}
#bsg-app .verdict.good .verdict-icon { background: var(--bsg-success) !important; color: #fff !important; }
#bsg-app .verdict.warning .verdict-icon { background: var(--bsg-warning) !important; color: #fff !important; }
#bsg-app .verdict.danger .verdict-icon { background: var(--bsg-danger) !important; color: #fff !important; }
#bsg-app .verdict-text {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--bsg-text) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ADD SERVICE BUTTON — STANDARD BLACK FILL-SHRINK PATTERN - */
#bsg-app .add-service-btn {
    position: relative !important;
    overflow: hidden !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 14px 28px !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: color 300ms ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    line-height: 1 !important;
    margin: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    height: auto !important;
    text-decoration: none !important;
}
#bsg-app .add-service-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bsg-app .add-service-btn span { position: relative; z-index: 1; }
#bsg-app .add-service-btn:hover::before { transform: scale(0); }
#bsg-app .add-service-btn:hover { color: #000000 !important; box-shadow: none !important; }

/* SERVICE ROWS — SQUARE ----------------------------------- */
#bsg-app .service-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr auto;
    gap: 12px;
    align-items: end;
    margin: 0 0 12px 0 !important;
    padding: 16px !important;
    background: var(--bsg-bg) !important;
    border-radius: 0 !important;
}
@media (max-width: 700px) {
    #bsg-app .service-row { grid-template-columns: 1fr 1fr !important; gap: 10px; }
    #bsg-app .service-row .field:first-child { grid-column: 1 / -1; }
}
#bsg-app .service-row .field label { font-size: 13px !important; }
#bsg-app .service-row .field input { padding: 10px 12px !important; font-size: 14px !important; min-height: 42px !important; }
#bsg-app .service-row .input-prefix input { padding-left: 26px !important; }
#bsg-app .service-row .input-prefix::before { font-size: 14px; left: 12px; }
#bsg-app .service-row .input-suffix input { padding-right: 44px !important; }
#bsg-app .service-row .input-suffix::after { font-size: 12px; right: 10px; }

#bsg-app .remove-btn {
    width: 36px !important;
    height: 36px !important;
    border: none !important;
    background: transparent !important;
    color: #cc4444 !important;
    font-size: 20px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    transition: background 200ms ease !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    line-height: 1 !important;
}
#bsg-app .remove-btn:hover { background: var(--bsg-danger-light) !important; }

#bsg-app .rph-results { margin-top: 20px !important; }
#bsg-app .rph-row {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
    gap: 12px;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--bsg-border) !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    color: var(--bsg-text) !important;
    margin: 0 !important;
}
#bsg-app .rph-row.header {
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--bsg-text-light) !important;
    border-bottom: 2px solid var(--bsg-text) !important;
}
#bsg-app .rph-row .rph-value { font-weight: 600 !important; }
#bsg-app .rph-row .rph-best { color: var(--bsg-success) !important; font-weight: 700 !important; }
#bsg-app .rph-row .rph-worst { color: var(--bsg-danger) !important; font-weight: 600 !important; }
@media (max-width: 600px) {
    #bsg-app .rph-row { grid-template-columns: 1fr 1fr !important; gap: 4px 12px; }
}

/* CTA SECTION — SQUARE, FILL-SHRINK BUTTON ---------------- */
#bsg-app .cta-section {
    background: #000000 !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.10) !important;
    padding: 64px 40px !important;
    text-align: center !important;
    margin: 12px 0 0 0 !important;
    display: block !important;
}
#bsg-app .cta-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
}
#bsg-app .cta-section p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    color: rgba(255,255,255,0.8) !important;
    max-width: 520px !important;
    margin: 0 auto 32px auto !important;
    padding: 0 !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
}
#bsg-app .cta-btn,
#bsg-app .cta-btn:link,
#bsg-app .cta-btn:visited {
    position: relative !important;
    overflow: hidden !important;
    display: inline-block !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 16px 40px !important;
    background-color: #ffffff !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: color 300ms ease !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}
#bsg-app .cta-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bsg-app .cta-btn span { position: relative; z-index: 1; }
#bsg-app .cta-btn:hover::before { transform: scale(0); }
#bsg-app .cta-btn:hover { color: #ffffff !important; box-shadow: none !important; }

#bsg-app .hidden { display: none !important; }


/* ---------- SCHEDULE GENERATOR: SERVICE TIER ROWS ---------- */
#bsg-app .bsg-tier {
    background: #ffffff !important;
    border: 1px solid var(--bsg-border) !important;
    padding: 18px 20px !important;
    margin-bottom: 14px !important;
    border-left: 4px solid #c8d4dc !important;
}
#bsg-app .bsg-tier--premium { border-left-color: #c0432f !important; background: linear-gradient(180deg, #fffbf9 0%, #ffffff 30%) !important; }
#bsg-app .bsg-tier--standard { border-left-color: #3993d5 !important; background: linear-gradient(180deg, #f5f9fc 0%, #ffffff 30%) !important; }
#bsg-app .bsg-tier--quick { border-left-color: #047857 !important; background: linear-gradient(180deg, #f5fbf8 0%, #ffffff 30%) !important; }
#bsg-app .bsg-tier-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--bsg-text-light) !important;
    margin-bottom: 12px !important;
}
#bsg-app .bsg-swatch {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 1px solid rgba(0,0,0,0.1);
}
#bsg-app .bsg-swatch--premium  { background: #c0432f; }
#bsg-app .bsg-swatch--standard { background: #3993d5; }
#bsg-app .bsg-swatch--quick    { background: #047857; }
#bsg-app .bsg-swatch--buffer   { background: #d8d8d8; }
#bsg-app .bsg-swatch--admin    { background: #f4d46a; }
#bsg-app .bsg-swatch--break    { background: #e6d5b8; }
#bsg-app .bsg-swatch--off      { background: #ffffff; border: 1px dashed #c8d4dc !important; }

/* ---------- DAY TOGGLE CHECKBOXES ---------- */
#bsg-app .bsg-day-toggle {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}
#bsg-app .bsg-day-toggle label {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 8px 14px !important;
    background: #ffffff;
    border: 1px solid var(--bsg-border) !important;
    cursor: pointer;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: var(--bsg-text) !important;
    transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
    margin: 0 !important;
}
#bsg-app .bsg-day-toggle label:has(input:checked) {
    background: var(--bsg-blue);
    border-color: var(--bsg-blue) !important;
    color: #ffffff !important;
}
#bsg-app .bsg-day-toggle input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
    border: 1px solid currentColor;
    background: transparent;
    cursor: pointer;
    margin: 0;
    border-radius: 0;
    position: relative;
}
#bsg-app .bsg-day-toggle input[type="checkbox"]:checked::after {
    content: '\2713';
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

/* ---------- SCHEDULE GRID ---------- */
#bsg-app .bsg-schedule-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 20px;
    padding: 14px 18px;
    background: #f7f8f8;
    border: 1px solid var(--bsg-border);
    margin-bottom: 18px;
}
#bsg-app .bsg-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: var(--bsg-text-light) !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

#bsg-app .bsg-schedule-grid {
    margin-bottom: 22px;
    overflow-x: auto;
    border: 1px solid var(--bsg-border);
    background: var(--bsg-card);
}
#bsg-app .bsg-grid-inner {
    display: grid;
    grid-template-columns: 56px repeat(7, 1fr);
    min-width: 720px;
}
#bsg-app .bsg-grid-cell--corner {
    background: #f7f8f8;
    border-bottom: 1px solid var(--bsg-border);
    border-right: 1px solid var(--bsg-border);
}
#bsg-app .bsg-grid-day-header {
    background: #f7f8f8;
    padding: 10px 6px;
    text-align: center;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    color: var(--bsg-text) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-bottom: 1px solid var(--bsg-border);
    border-right: 1px solid var(--bsg-border);
}
#bsg-app .bsg-grid-day-header--off {
    color: #b8bdc4 !important;
    background: #ffffff;
}
#bsg-app .bsg-grid-day-header:last-child { border-right: 0 !important; }

#bsg-app .bsg-grid-hour {
    padding: 6px 4px 0 6px;
    text-align: right;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    color: var(--bsg-text-light) !important;
    border-right: 1px solid var(--bsg-border);
    border-bottom: 1px dashed #ececec;
    background: #fafbfc;
}
#bsg-app .bsg-grid-cell {
    border-right: 1px solid var(--bsg-border);
    border-bottom: 1px dashed #ececec;
    display: flex;
    flex-direction: column;
    min-height: 48px;
}
#bsg-app .bsg-grid-cell:nth-child(8n) { border-right: 0 !important; }
#bsg-app .bsg-grid-cell--off {
    background: repeating-linear-gradient(45deg, #ffffff, #ffffff 6px, #f7f8f8 6px, #f7f8f8 12px);
}

#bsg-app .bsg-slot {
    flex: 1;
    min-height: 22px;
    padding: 2px 4px;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    line-height: 1.1;
    color: #ffffff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-bottom: 1px solid rgba(255,255,255,0.25);
}
#bsg-app .bsg-slot--open      { background: #ffffff; color: transparent; border-bottom-color: #f0f0f0; }
#bsg-app .bsg-slot--premium   { background: #c0432f; }
#bsg-app .bsg-slot--standard  { background: #3993d5; }
#bsg-app .bsg-slot--quick     { background: #047857; }
#bsg-app .bsg-slot--buffer    { background: #d8d8d8; color: #555555; }
#bsg-app .bsg-slot--admin     { background: #f4d46a; color: #5b3f00; }
#bsg-app .bsg-slot--break     { background: #e6d5b8; color: #5b3a1a; }

#bsg-app .bsg-empty {
    padding: 24px;
    text-align: center;
    color: var(--bsg-text-light);
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
}

/* ---------- MOBILE ---------- */
@media (max-width: 700px) {
    #bsg-app .bsg-grid-inner {
        grid-template-columns: 44px repeat(7, minmax(80px, 1fr));
    }
    #bsg-app .bsg-slot {
        font-size: 0.55rem !important;
        padding: 2px;
    }
    #bsg-app .bsg-grid-day-header {
        font-size: 0.7rem !important;
        padding: 8px 2px;
    }
}

/* =========================================================
AI CAPTION WRITER PAGE
========================================================= */
#bcw-app,
#bcw-app *,
#bcw-app *::before,
#bcw-app *::after { box-sizing: border-box !important; }
#bcw-app {
    --bcw-black: #000000;
    --bcw-blue: #5391CD;
    --bcw-blue-dark: #2a7ab8;
    --bcw-bg: #f7f8f8;
    --bcw-card: #ffffff;
    --bcw-border: #e2e2e2;
    --bcw-text: #333333;
    --bcw-text-light: #666666;
    --bcw-num-gray: #e0e0e0;
    --bcw-success: #2a9d5c;
    --bcw-success-light: #eafaf0;
    --bcw-warning: #e8a735;
    --bcw-warning-light: #fef8eb;
    --bcw-danger: #d94444;
    --bcw-danger-light: #fdf0f0;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: var(--bcw-bg);
    color: var(--bcw-text);
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
}

/* HERO ---------------------------------------------------- */
#bcw-app .bcw-hero {
    background: #000000 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 80px 24px 72px !important;
    margin: 0 !important;
}
#bcw-app .bcw-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important;
    margin: 0 0 1.1em 0 !important;
    display: block !important;
}
#bcw-app .bcw-hero h1 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 52px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #ffffff !important;
    margin: 0 0 0.5em 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}
@media (max-width: 700px) {
    #bcw-app .bcw-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; }
    #bcw-app .bcw-hero { padding: 56px 20px 48px !important; }
}
#bcw-app .bcw-hero p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.15rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* CONTAINER ----------------------------------------------- */
#bcw-app .bcw-container {
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 56px 24px 80px !important;
}

/* NUMBERED SECTIONS (mirror BPC pattern) ------------------ */
#bcw-app .calc-section {
    background: var(--bcw-card) !important;
    border: 1px solid var(--bcw-border) !important;
    padding: 36px 32px !important;
    margin-bottom: 28px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 28px !important;
}
#bcw-app .calc-section-num {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 600 !important;
    color: var(--bcw-num-gray) !important;
    line-height: 1 !important;
    min-width: 80px !important;
    flex-shrink: 0 !important;
}
#bcw-app .calc-section-body { flex: 1 !important; }
@media (max-width: 700px) {
    #bcw-app .calc-section { flex-direction: column !important; gap: 12px !important; padding: 28px 20px !important; }
    #bcw-app .calc-section-num { font-size: 2.5rem !important; min-width: 0 !important; }
}
#bcw-app .calc-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    color: var(--bcw-black) !important;
    text-transform: uppercase !important;
    margin: 0 0 0.4em 0 !important;
    line-height: 1.25 !important;
}
#bcw-app .calc-section .section-desc {
    color: var(--bcw-text-light) !important;
    margin: 0 0 1.4em 0 !important;
    font-size: 0.96rem !important;
    line-height: 1.55 !important;
}

/* FIELD STYLES (specialty + service desc) ----------------- */
#bcw-app .form-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 12px !important;
}
#bcw-app .field { display: flex !important; flex-direction: column !important; }
#bcw-app .field label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--bcw-text) !important;
    margin: 0 0 6px 0 !important;
}
#bcw-app .field .hint {
    font-size: 0.82rem !important;
    color: var(--bcw-text-light) !important;
    margin: 0 0 8px 0 !important;
    font-style: italic !important;
    line-height: 1.45 !important;
}
#bcw-app .field textarea {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    color: var(--bcw-text) !important;
    background: #ffffff !important;
    border: 1px solid var(--bcw-border) !important;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    resize: vertical !important;
    min-height: 90px !important;
}
#bcw-app .field textarea:focus {
    border-color: var(--bcw-black) !important;
    box-shadow: none !important;
    outline: none !important;
}
#bcw-app .field textarea::placeholder { color: #bbb !important; opacity: 1 !important; }

/* PRESET BUTTONS (specialty pills) ------------------------ */
#bcw-app .presets {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
}
#bcw-app .preset-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    color: var(--bcw-text) !important;
    background: #ffffff !important;
    border: 1px solid var(--bcw-border) !important;
    padding: 10px 18px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    line-height: 1.2 !important;
    position: relative !important;
}
#bcw-app .preset-btn span { position: relative; z-index: 1; }
#bcw-app .preset-btn:hover { border-color: var(--bcw-blue) !important; color: var(--bcw-blue) !important; background: #ffffff !important; }
#bcw-app .preset-btn.active { background: #000000 !important; color: #ffffff !important; border-color: #000000 !important; }

/* TONE GRID ---------------------------------------------- */
#bcw-app .bcw-tone-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    margin: 0 !important;
}
@media (max-width: 760px) {
    #bcw-app .bcw-tone-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
    #bcw-app .bcw-tone-grid { grid-template-columns: 1fr !important; }
}
#bcw-app .bcw-tone-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: #ffffff !important;
    border: 1px solid var(--bcw-border) !important;
    padding: 16px 18px !important;
    cursor: pointer !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    color: var(--bcw-text) !important;
}
#bcw-app .bcw-tone-btn:hover {
    border-color: var(--bcw-blue) !important;
    background: #ffffff !important;
}
#bcw-app .bcw-tone-btn.active {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}
#bcw-app .bcw-tone-name {
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.2 !important;
    color: inherit !important;
}
#bcw-app .bcw-tone-desc {
    font-size: 0.82rem !important;
    color: var(--bcw-text-light) !important;
    line-height: 1.4 !important;
}
#bcw-app .bcw-tone-btn.active .bcw-tone-desc { color: rgba(255,255,255,0.75) !important; }

/* GENERATE BUTTON + STATUS -------------------------------- */
#bcw-app .bcw-generate-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 4px 0 8px 0 !important;
}
#bcw-app .bcw-generate-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    color: #ffffff !important;
    background: #000000 !important;
    border: 2px solid #000000 !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    position: relative !important;
    overflow: hidden !important;
    transition: color 300ms ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}
#bcw-app .bcw-generate-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bcw-app .bcw-generate-btn i,
#bcw-app .bcw-generate-btn span { position: relative; z-index: 1; }
#bcw-app .bcw-generate-btn:hover:not(:disabled)::before { transform: scale(0); }
#bcw-app .bcw-generate-btn:hover:not(:disabled) { color: #000000 !important; }
#bcw-app .bcw-generate-btn:disabled {
    background: #cfcfcf !important;
    border-color: #cfcfcf !important;
    color: #ffffff !important;
    cursor: not-allowed !important;
}
#bcw-app .bcw-generate-btn:disabled::before { background: #cfcfcf !important; transform: scale(1) !important; }
#bcw-app .bcw-generate-status {
    font-size: 0.85rem !important;
    color: var(--bcw-text-light) !important;
    margin: 0 !important;
    font-style: italic !important;
}

/* RESULTS ------------------------------------------------- */
#bcw-app .bcw-results {
    margin-top: 32px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--bcw-border) !important;
}
#bcw-app .bcw-results-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
}
#bcw-app .bcw-results-header-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}
#bcw-app .bcw-results-title {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: var(--bcw-black) !important;
    margin: 0 !important;
}
#bcw-app .bcw-results-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
#bcw-app .bcw-meta-badge {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    line-height: 1.3 !important;
    background: #f0f3f7 !important;
    color: var(--bcw-text) !important;
    border: 1px solid var(--bcw-border) !important;
}
#bcw-app .bcw-meta-badge--tone {
    background: var(--bcw-blue) !important;
    color: #ffffff !important;
    border-color: var(--bcw-blue) !important;
}
#bcw-app .bcw-results-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}
#bcw-app .bcw-regen-btn,
#bcw-app .bcw-startover-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    background: transparent !important;
    padding: 8px 16px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
#bcw-app .bcw-regen-btn {
    color: var(--bcw-blue) !important;
    border: 1px solid var(--bcw-blue) !important;
}
#bcw-app .bcw-regen-btn:hover {
    background: var(--bcw-blue) !important;
    color: #ffffff !important;
}
#bcw-app .bcw-startover-btn {
    color: var(--bcw-text-light) !important;
    border: 1px solid var(--bcw-border) !important;
}
#bcw-app .bcw-startover-btn:hover {
    background: var(--bcw-text) !important;
    color: #ffffff !important;
    border-color: var(--bcw-text) !important;
}
#bcw-app .bcw-results-howto {
    background: #f7f8f8 !important;
    border-left: 3px solid var(--bcw-blue) !important;
    padding: 18px 22px !important;
    margin: 0 0 22px 0 !important;
}
#bcw-app .bcw-howto-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    margin-bottom: 12px !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    color: var(--bcw-text) !important;
}
#bcw-app .bcw-howto-row:last-child { margin-bottom: 0 !important; }
#bcw-app .bcw-howto-label {
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: var(--bcw-blue) !important;
    padding: 4px 10px !important;
    line-height: 1.3 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    margin-top: 1px !important;
}
#bcw-app .bcw-howto-text {
    flex: 1 1 auto !important;
}
#bcw-app .bcw-howto-text strong {
    color: var(--bcw-black) !important;
    font-weight: 700 !important;
}
#bcw-app .bcw-howto-examples {
    list-style: none !important;
    padding: 12px 0 0 0 !important;
    margin: 8px 0 0 0 !important;
    border-top: 1px dashed #d8dde3 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 24px !important;
}
@media (max-width: 720px) {
    #bcw-app .bcw-howto-examples { grid-template-columns: 1fr !important; }
}
#bcw-app .bcw-howto-examples li {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    color: var(--bcw-text) !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#bcw-app .bcw-howto-examples em {
    font-style: italic !important;
    color: var(--bcw-text-light) !important;
}

#bcw-app .bcw-results-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}
#bcw-app .bcw-results-tip {
    margin: 18px 0 0 0 !important;
    font-size: 0.85rem !important;
    color: var(--bcw-text-light) !important;
    font-style: italic !important;
    line-height: 1.55 !important;
}

/* CAPTION CARDS ------------------------------------------ */
#bcw-app .bcw-caption-card {
    background: #ffffff !important;
    border: 1px solid var(--bcw-border) !important;
    padding: 22px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    position: relative !important;
}
#bcw-app .bcw-caption-head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
#bcw-app .bcw-caption-num {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: #000000 !important;
    padding: 4px 10px !important;
    line-height: 1.2 !important;
}
#bcw-app .bcw-caption-angle {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    color: var(--bcw-blue) !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
#bcw-app .bcw-caption-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
    color: var(--bcw-text) !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
}
#bcw-app .bcw-caption-hashtags {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.88rem !important;
    color: var(--bcw-blue-dark) !important;
    margin: 0 !important;
    line-height: 1.55 !important;
    word-break: break-word !important;
}
#bcw-app .bcw-caption-actions {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 4px !important;
}
#bcw-app .bcw-error {
    background: var(--bcw-danger-light) !important;
    border: 1px solid #f5c4c4 !important;
    color: #8a2828 !important;
    padding: 14px 18px !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}

/* HIDDEN CHATBOT HOST ------------------------------------
   Important: do NOT use visibility:hidden or display:none —
   AI Engine 3.x is React and will skip rendering / message
   send/receive when its container isn't visible. We keep the
   widget rendered but pushed off-screen with measurable size. */
#bcw-app .bcw-bot-host {
    position: fixed !important;
    left: -10000px !important;
    top: 0 !important;
    width: 420px !important;
    height: 600px !important;
    overflow: hidden !important;
    z-index: -1 !important;
    pointer-events: none !important;
    opacity: 0.01 !important;
}

/* CTA BLOCK ---------------------------------------------- */
#bcw-app .bcw-cta {
    background: #000000 !important;
    color: #ffffff !important;
    padding: 40px 32px !important;
    text-align: center !important;
    margin-top: 36px !important;
}
#bcw-app .bcw-cta h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin: 0 0 0.5em 0 !important;
}
#bcw-app .bcw-cta p {
    font-size: 1rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 540px !important;
    margin: 0 auto 1.4em auto !important;
    line-height: 1.6 !important;
}
#bcw-app .bcw-cta-btn,
#bcw-app .bcw-cta-btn:link,
#bcw-app .bcw-cta-btn:visited {
    display: inline-block !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    background: #ffffff !important;
    border: 2px solid #ffffff !important;
    padding: 14px 32px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    overflow: hidden !important;
}
#bcw-app .bcw-cta-btn span { position: relative; z-index: 1; }
#bcw-app .bcw-cta-btn:hover {
    background: transparent !important;
    color: #ffffff !important;
}

/* =========================================================
AI CONTENT IDEAS GENERATOR PAGE
========================================================= */
#bcig-app,
#bcig-app *,
#bcig-app *::before,
#bcig-app *::after { box-sizing: border-box !important; }
#bcig-app {
    --bcig-black: #000000;
    --bcig-blue: #5391CD;
    --bcig-blue-dark: #2a7ab8;
    --bcig-bg: #f7f8f8;
    --bcig-card: #ffffff;
    --bcig-border: #e2e2e2;
    --bcig-text: #333333;
    --bcig-text-light: #666666;
    --bcig-num-gray: #e0e0e0;
    --bcig-success: #2a9d5c;
    --bcig-warning: #e8a735;
    --bcig-danger: #d94444;
    --bcig-danger-light: #fdf0f0;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: var(--bcig-bg);
    color: var(--bcig-text);
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
}

/* HERO ---------------------------------------------------- */
#bcig-app .bcig-hero {
    background: #000000 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 80px 24px 72px !important;
    margin: 0 !important;
}
#bcig-app .bcig-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important;
    margin: 0 0 1.1em 0 !important;
    display: block !important;
}
#bcig-app .bcig-hero h1 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 52px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #ffffff !important;
    margin: 0 0 0.5em 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}
@media (max-width: 700px) {
    #bcig-app .bcig-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; }
    #bcig-app .bcig-hero { padding: 56px 20px 48px !important; }
}
#bcig-app .bcig-hero p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.15rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 700px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* CONTAINER ----------------------------------------------- */
#bcig-app .bcig-container {
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 56px 24px 80px !important;
}

/* NUMBERED SECTIONS --------------------------------------- */
#bcig-app .calc-section {
    background: var(--bcig-card) !important;
    border: 1px solid var(--bcig-border) !important;
    padding: 36px 32px !important;
    margin-bottom: 28px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 28px !important;
}
#bcig-app .calc-section-num {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 600 !important;
    color: var(--bcig-num-gray) !important;
    line-height: 1 !important;
    min-width: 80px !important;
    flex-shrink: 0 !important;
}
#bcig-app .calc-section-body { flex: 1 !important; min-width: 0 !important; }
@media (max-width: 700px) {
    #bcig-app .calc-section { flex-direction: column !important; gap: 12px !important; padding: 28px 20px !important; }
    #bcig-app .calc-section-num { font-size: 2.5rem !important; min-width: 0 !important; }
}
#bcig-app .calc-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    color: var(--bcig-black) !important;
    text-transform: uppercase !important;
    margin: 0 0 0.4em 0 !important;
    line-height: 1.25 !important;
}
#bcig-app .calc-section .section-desc {
    color: var(--bcig-text-light) !important;
    margin: 0 0 1.4em 0 !important;
    font-size: 0.96rem !important;
    line-height: 1.55 !important;
}

/* SHARED PRESET BUTTONS (specialty / month / qty) -------- */
#bcig-app .presets,
#bcig-app .bcig-month-grid,
#bcig-app .bcig-qty-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
}
#bcig-app .preset-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.92rem !important;
    font-weight: 500 !important;
    color: var(--bcig-text) !important;
    background: #ffffff !important;
    border: 1px solid var(--bcig-border) !important;
    padding: 10px 18px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    line-height: 1.2 !important;
    position: relative !important;
}
#bcig-app .preset-btn span { position: relative; z-index: 1; }
#bcig-app .preset-btn small {
    font-size: 0.75rem !important;
    color: inherit !important;
    opacity: 0.7 !important;
    margin-left: 4px !important;
}
#bcig-app .preset-btn:hover { border-color: var(--bcig-blue) !important; color: var(--bcig-blue) !important; background: #ffffff !important; }
#bcig-app .preset-btn.active { background: #000000 !important; color: #ffffff !important; border-color: #000000 !important; }
#bcig-app .preset-btn.active small { opacity: 0.7 !important; color: #ffffff !important; }

/* MONTH GRID — narrow uniform-width buttons */
#bcig-app .bcig-month-grid .bcig-month-btn {
    flex: 0 0 calc(25% - 8px) !important;
    text-align: center !important;
    padding: 10px 6px !important;
}
@media (max-width: 600px) {
    #bcig-app .bcig-month-grid .bcig-month-btn { flex: 0 0 calc(50% - 6px) !important; }
}

/* QUANTITY GRID — wider buttons */
#bcig-app .bcig-qty-grid .bcig-qty-btn {
    flex: 1 1 0 !important;
    min-width: 160px !important;
    text-align: center !important;
}

/* FOCUS GRID --------------------------------------------- */
#bcig-app .bcig-focus-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    margin: 0 !important;
}
@media (max-width: 600px) {
    #bcig-app .bcig-focus-grid { grid-template-columns: 1fr !important; }
}
#bcig-app .bcig-focus-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: #ffffff !important;
    border: 1px solid var(--bcig-border) !important;
    padding: 16px 18px !important;
    cursor: pointer !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    color: var(--bcig-text) !important;
}
#bcig-app .bcig-focus-btn:hover {
    border-color: var(--bcig-blue) !important;
    background: #ffffff !important;
}
#bcig-app .bcig-focus-btn.active {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}
#bcig-app .bcig-focus-name {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: inherit !important;
}
#bcig-app .bcig-focus-desc {
    font-size: 0.82rem !important;
    color: var(--bcig-text-light) !important;
    line-height: 1.4 !important;
}
#bcig-app .bcig-focus-btn.active .bcig-focus-desc { color: rgba(255,255,255,0.75) !important; }

/* GENERATE BUTTON ---------------------------------------- */
#bcig-app .bcig-generate-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 4px 0 8px 0 !important;
}
#bcig-app .bcig-generate-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    color: #ffffff !important;
    background: #000000 !important;
    border: 2px solid #000000 !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    position: relative !important;
    overflow: hidden !important;
    transition: color 300ms ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}
#bcig-app .bcig-generate-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bcig-app .bcig-generate-btn i,
#bcig-app .bcig-generate-btn span { position: relative; z-index: 1; }
#bcig-app .bcig-generate-btn:hover:not(:disabled)::before { transform: scale(0); }
#bcig-app .bcig-generate-btn:hover:not(:disabled) { color: #000000 !important; }
#bcig-app .bcig-generate-btn:disabled {
    background: #cfcfcf !important;
    border-color: #cfcfcf !important;
    color: #ffffff !important;
    cursor: not-allowed !important;
}
#bcig-app .bcig-generate-btn:disabled::before { background: #cfcfcf !important; transform: scale(1) !important; }
#bcig-app .bcig-generate-status {
    font-size: 0.85rem !important;
    color: var(--bcig-text-light) !important;
    margin: 0 !important;
    font-style: italic !important;
}

/* RESULTS HEADER + META ---------------------------------- */
#bcig-app .bcig-results {
    margin-top: 32px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--bcig-border) !important;
}
#bcig-app .bcig-results-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
}
#bcig-app .bcig-results-header-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
#bcig-app .bcig-results-title {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: var(--bcig-black) !important;
    margin: 0 !important;
}
#bcig-app .bcig-results-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
#bcig-app .bcig-meta-badge {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    line-height: 1.3 !important;
    background: #f0f3f7 !important;
    color: var(--bcig-text) !important;
    border: 1px solid var(--bcig-border) !important;
}
#bcig-app .bcig-meta-badge--month {
    background: #fff4ef !important;
    color: #b54b39 !important;
    border-color: #f5d4c5 !important;
}
#bcig-app .bcig-meta-badge--focus {
    background: var(--bcig-blue) !important;
    color: #ffffff !important;
    border-color: var(--bcig-blue) !important;
}
#bcig-app .bcig-results-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}
#bcig-app .bcig-regen-btn,
#bcig-app .bcig-startover-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    background: transparent !important;
    padding: 8px 16px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
#bcig-app .bcig-regen-btn { color: var(--bcig-blue) !important; border: 1px solid var(--bcig-blue) !important; }
#bcig-app .bcig-regen-btn:hover { background: var(--bcig-blue) !important; color: #ffffff !important; }
#bcig-app .bcig-startover-btn { color: var(--bcig-text-light) !important; border: 1px solid var(--bcig-border) !important; }
#bcig-app .bcig-startover-btn:hover { background: var(--bcig-text) !important; color: #ffffff !important; border-color: var(--bcig-text) !important; }

/* HOW-TO INFO BLOCK -------------------------------------- */
#bcig-app .bcig-results-howto {
    background: #f7f8f8 !important;
    border-left: 3px solid var(--bcig-blue) !important;
    padding: 18px 22px !important;
    margin: 0 0 22px 0 !important;
}
#bcig-app .bcig-howto-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    color: var(--bcig-text) !important;
}
#bcig-app .bcig-howto-label {
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: var(--bcig-blue) !important;
    padding: 4px 10px !important;
    line-height: 1.3 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    margin-top: 1px !important;
}
#bcig-app .bcig-howto-text { flex: 1 1 auto !important; }
#bcig-app .bcig-howto-text strong { color: var(--bcig-black) !important; font-weight: 700 !important; }
#bcig-app .bcig-howto-text a { color: var(--bcig-blue) !important; text-decoration: underline !important; }
#bcig-app .bcig-howto-text a:hover { color: var(--bcig-blue-dark) !important; }

/* IDEA CARDS --------------------------------------------- */
#bcig-app .bcig-results-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
}
@media (max-width: 760px) {
    #bcig-app .bcig-results-grid { grid-template-columns: 1fr !important; }
}
#bcig-app .bcig-idea-card {
    background: #ffffff !important;
    border: 1px solid var(--bcig-border) !important;
    padding: 20px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
#bcig-app .bcig-idea-head {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
#bcig-app .bcig-idea-num {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: #000000 !important;
    padding: 4px 10px !important;
    line-height: 1.2 !important;
}
#bcig-app .bcig-badge {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    line-height: 1.2 !important;
    border: 1px solid transparent !important;
}
/* Post type colors */
#bcig-app .bcig-type-reel     { background: #2a7ab8 !important; color: #ffffff !important; border-color: #2a7ab8 !important; }
#bcig-app .bcig-type-photo    { background: #047857 !important; color: #ffffff !important; border-color: #047857 !important; }
#bcig-app .bcig-type-carousel { background: #b54b39 !important; color: #ffffff !important; border-color: #b54b39 !important; }
#bcig-app .bcig-type-story    { background: #7c3aed !important; color: #ffffff !important; border-color: #7c3aed !important; }
#bcig-app .bcig-type-other    { background: #555555 !important; color: #ffffff !important; border-color: #555555 !important; }
/* Theme colors (lighter, with colored text) */
#bcig-app .bcig-theme-educational { background: #e6f0fa !important; color: #2a5180 !important; border-color: #c4daee !important; }
#bcig-app .bcig-theme-promo       { background: #fff4ef !important; color: #b54b39 !important; border-color: #f5d4c5 !important; }
#bcig-app .bcig-theme-bts         { background: #f3f0fa !important; color: #5e3aa6 !important; border-color: #d8cfeb !important; }
#bcig-app .bcig-theme-seasonal    { background: #fef8eb !important; color: #92681c !important; border-color: #f0dca8 !important; }
#bcig-app .bcig-theme-engagement  { background: #eafaf0 !important; color: #1f6f43 !important; border-color: #c1e8d0 !important; }
#bcig-app .bcig-theme-trending    { background: #fff0f5 !important; color: #a3245d !important; border-color: #f5c4d8 !important; }
#bcig-app .bcig-theme-other       { background: #f0f3f7 !important; color: #555555 !important; border-color: #d8dde3 !important; }

#bcig-app .bcig-idea-title {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: var(--bcig-black) !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}
#bcig-app .bcig-idea-desc {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.93rem !important;
    line-height: 1.55 !important;
    color: var(--bcig-text) !important;
    margin: 0 !important;
}
#bcig-app .bcig-idea-actions {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 4px !important;
}
#bcig-app .bcig-error {
    grid-column: 1 / -1 !important;
    background: var(--bcig-danger-light) !important;
    border: 1px solid #f5c4c4 !important;
    color: #8a2828 !important;
    padding: 14px 18px !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}

/* HIDDEN CHATBOT HOST — same offscreen pattern as caption writer */
#bcig-app .bcig-bot-host {
    position: fixed !important;
    left: -10000px !important;
    top: 0 !important;
    width: 420px !important;
    height: 600px !important;
    overflow: hidden !important;
    z-index: -1 !important;
    pointer-events: none !important;
    opacity: 0.01 !important;
}

/* CTA ----------------------------------------------------- */
#bcig-app .bcig-cta {
    background: #000000 !important;
    color: #ffffff !important;
    padding: 40px 32px !important;
    text-align: center !important;
    margin-top: 36px !important;
}
#bcig-app .bcig-cta h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin: 0 0 0.5em 0 !important;
}
#bcig-app .bcig-cta p {
    font-size: 1rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 540px !important;
    margin: 0 auto 1.4em auto !important;
    line-height: 1.6 !important;
}
#bcig-app .bcig-cta-btn,
#bcig-app .bcig-cta-btn:link,
#bcig-app .bcig-cta-btn:visited {
    display: inline-block !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    background: #ffffff !important;
    border: 2px solid #ffffff !important;
    padding: 14px 32px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    overflow: hidden !important;
}
#bcig-app .bcig-cta-btn span { position: relative; z-index: 1; }
#bcig-app .bcig-cta-btn:hover {
    background: transparent !important;
    color: #ffffff !important;
}

/* =========================================================
AI CLIENT RESPONSE HELPER PAGE
========================================================= */
#bcrh-app,
#bcrh-app *,
#bcrh-app *::before,
#bcrh-app *::after { box-sizing: border-box !important; }
#bcrh-app {
    --bcrh-black: #000000;
    --bcrh-blue: #5391CD;
    --bcrh-blue-dark: #2a7ab8;
    --bcrh-bg: #f7f8f8;
    --bcrh-card: #ffffff;
    --bcrh-border: #e2e2e2;
    --bcrh-text: #333333;
    --bcrh-text-light: #666666;
    --bcrh-num-gray: #e0e0e0;
    --bcrh-danger: #d94444;
    --bcrh-danger-light: #fdf0f0;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: var(--bcrh-bg);
    color: var(--bcrh-text);
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
}

/* HERO ---------------------------------------------------- */
#bcrh-app .bcrh-hero {
    background: #000000 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 80px 24px 72px !important;
    margin: 0 !important;
}
#bcrh-app .bcrh-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important;
    margin: 0 0 1.1em 0 !important;
    display: block !important;
}
#bcrh-app .bcrh-hero h1 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 52px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #ffffff !important;
    margin: 0 0 0.5em 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}
@media (max-width: 700px) {
    #bcrh-app .bcrh-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; }
    #bcrh-app .bcrh-hero { padding: 56px 20px 48px !important; }
}
#bcrh-app .bcrh-hero p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.15rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 700px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* CONTAINER ----------------------------------------------- */
#bcrh-app .bcrh-container {
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 56px 24px 80px !important;
}

/* NUMBERED SECTIONS -------------------------------------- */
#bcrh-app .calc-section {
    background: var(--bcrh-card) !important;
    border: 1px solid var(--bcrh-border) !important;
    padding: 36px 32px !important;
    margin-bottom: 28px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 28px !important;
}
#bcrh-app .calc-section-num {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 600 !important;
    color: var(--bcrh-num-gray) !important;
    line-height: 1 !important;
    min-width: 80px !important;
    flex-shrink: 0 !important;
}
#bcrh-app .calc-section-body { flex: 1 !important; min-width: 0 !important; }
@media (max-width: 700px) {
    #bcrh-app .calc-section { flex-direction: column !important; gap: 12px !important; padding: 28px 20px !important; }
    #bcrh-app .calc-section-num { font-size: 2.5rem !important; min-width: 0 !important; }
}
#bcrh-app .calc-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    color: var(--bcrh-black) !important;
    text-transform: uppercase !important;
    margin: 0 0 0.4em 0 !important;
    line-height: 1.25 !important;
}
#bcrh-app .calc-section .section-desc {
    color: var(--bcrh-text-light) !important;
    margin: 0 0 1.4em 0 !important;
    font-size: 0.96rem !important;
    line-height: 1.55 !important;
}
#bcrh-app .bcrh-optional {
    font-size: 0.78rem !important;
    color: var(--bcrh-text-light) !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-style: italic !important;
    margin-left: 6px !important;
}

/* TEXTAREA FIELDS --------------------------------------- */
#bcrh-app .form-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 12px !important;
}
#bcrh-app .field { display: flex !important; flex-direction: column !important; }
#bcrh-app .field label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--bcrh-text) !important;
    margin: 0 0 6px 0 !important;
}
#bcrh-app .field .hint {
    font-size: 0.82rem !important;
    color: var(--bcrh-text-light) !important;
    margin: 0 0 8px 0 !important;
    font-style: italic !important;
    line-height: 1.45 !important;
}
#bcrh-app .field textarea {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    color: var(--bcrh-text) !important;
    background: #ffffff !important;
    border: 1px solid var(--bcrh-border) !important;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    resize: vertical !important;
    min-height: 90px !important;
}
#bcrh-app .field textarea:focus { border-color: var(--bcrh-black) !important; }
#bcrh-app .field textarea::placeholder { color: #bbb !important; opacity: 1 !important; }

/* SCENARIO GRID — 7 buttons in a flexible grid ----------- */
#bcrh-app .bcrh-scenario-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    margin: 0 !important;
}
@media (max-width: 760px) {
    #bcrh-app .bcrh-scenario-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
    #bcrh-app .bcrh-scenario-grid { grid-template-columns: 1fr !important; }
}
#bcrh-app .bcrh-scenario-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: #ffffff !important;
    border: 1px solid var(--bcrh-border) !important;
    padding: 14px 16px !important;
    cursor: pointer !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    color: var(--bcrh-text) !important;
}
#bcrh-app .bcrh-scenario-btn:hover {
    border-color: var(--bcrh-blue) !important;
    background: #ffffff !important;
}
#bcrh-app .bcrh-scenario-btn.active {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}
#bcrh-app .bcrh-scenario-name {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    color: inherit !important;
}
#bcrh-app .bcrh-scenario-desc {
    font-size: 0.78rem !important;
    color: var(--bcrh-text-light) !important;
    line-height: 1.4 !important;
}
#bcrh-app .bcrh-scenario-btn.active .bcrh-scenario-desc { color: rgba(255,255,255,0.75) !important; }

/* TONE GRID — 3 wider buttons --------------------------- */
#bcrh-app .bcrh-tone-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    margin: 0 !important;
}
@media (max-width: 760px) {
    #bcrh-app .bcrh-tone-grid { grid-template-columns: 1fr !important; }
}
#bcrh-app .bcrh-tone-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: #ffffff !important;
    border: 1px solid var(--bcrh-border) !important;
    padding: 16px 18px !important;
    cursor: pointer !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    color: var(--bcrh-text) !important;
}
#bcrh-app .bcrh-tone-btn:hover { border-color: var(--bcrh-blue) !important; }
#bcrh-app .bcrh-tone-btn.active {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}
#bcrh-app .bcrh-tone-name {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: inherit !important;
}
#bcrh-app .bcrh-tone-desc {
    font-size: 0.82rem !important;
    color: var(--bcrh-text-light) !important;
    line-height: 1.4 !important;
}
#bcrh-app .bcrh-tone-btn.active .bcrh-tone-desc { color: rgba(255,255,255,0.75) !important; }

/* GENERATE BUTTON ---------------------------------------- */
#bcrh-app .bcrh-generate-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 4px 0 8px 0 !important;
}
#bcrh-app .bcrh-generate-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    color: #ffffff !important;
    background: #000000 !important;
    border: 2px solid #000000 !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    position: relative !important;
    overflow: hidden !important;
    transition: color 300ms ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}
#bcrh-app .bcrh-generate-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#bcrh-app .bcrh-generate-btn i,
#bcrh-app .bcrh-generate-btn span { position: relative; z-index: 1; }
#bcrh-app .bcrh-generate-btn:hover:not(:disabled)::before { transform: scale(0); }
#bcrh-app .bcrh-generate-btn:hover:not(:disabled) { color: #000000 !important; }
#bcrh-app .bcrh-generate-btn:disabled {
    background: #cfcfcf !important;
    border-color: #cfcfcf !important;
    color: #ffffff !important;
    cursor: not-allowed !important;
}
#bcrh-app .bcrh-generate-btn:disabled::before { background: #cfcfcf !important; transform: scale(1) !important; }
#bcrh-app .bcrh-generate-status {
    font-size: 0.85rem !important;
    color: var(--bcrh-text-light) !important;
    margin: 0 !important;
    font-style: italic !important;
}

/* RESULTS HEADER + META --------------------------------- */
#bcrh-app .bcrh-results {
    margin-top: 32px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--bcrh-border) !important;
}
#bcrh-app .bcrh-results-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
}
#bcrh-app .bcrh-results-header-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
#bcrh-app .bcrh-results-title {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: var(--bcrh-black) !important;
    margin: 0 !important;
}
#bcrh-app .bcrh-results-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
#bcrh-app .bcrh-meta-badge {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    line-height: 1.3 !important;
    background: #f0f3f7 !important;
    color: var(--bcrh-text) !important;
    border: 1px solid var(--bcrh-border) !important;
}
#bcrh-app .bcrh-meta-badge--tone {
    background: var(--bcrh-blue) !important;
    color: #ffffff !important;
    border-color: var(--bcrh-blue) !important;
}
#bcrh-app .bcrh-results-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}
#bcrh-app .bcrh-regen-btn,
#bcrh-app .bcrh-startover-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    background: transparent !important;
    padding: 8px 16px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
#bcrh-app .bcrh-regen-btn { color: var(--bcrh-blue) !important; border: 1px solid var(--bcrh-blue) !important; }
#bcrh-app .bcrh-regen-btn:hover { background: var(--bcrh-blue) !important; color: #ffffff !important; }
#bcrh-app .bcrh-startover-btn { color: var(--bcrh-text-light) !important; border: 1px solid var(--bcrh-border) !important; }
#bcrh-app .bcrh-startover-btn:hover { background: var(--bcrh-text) !important; color: #ffffff !important; border-color: var(--bcrh-text) !important; }

/* HOW-TO BLOCK ------------------------------------------ */
#bcrh-app .bcrh-results-howto {
    background: #f7f8f8 !important;
    border-left: 3px solid var(--bcrh-blue) !important;
    padding: 18px 22px !important;
    margin: 0 0 22px 0 !important;
}
#bcrh-app .bcrh-howto-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    color: var(--bcrh-text) !important;
}
#bcrh-app .bcrh-howto-label {
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: var(--bcrh-blue) !important;
    padding: 4px 10px !important;
    line-height: 1.3 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    margin-top: 1px !important;
}
#bcrh-app .bcrh-howto-text { flex: 1 1 auto !important; }
#bcrh-app .bcrh-howto-text strong { color: var(--bcrh-black) !important; font-weight: 700 !important; }

/* RESPONSE CARDS — 1 column for readability ------------ */
#bcrh-app .bcrh-results-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}
#bcrh-app .bcrh-response-card {
    background: #ffffff !important;
    border: 1px solid var(--bcrh-border) !important;
    padding: 22px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
#bcrh-app .bcrh-response-head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
#bcrh-app .bcrh-response-num {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: #000000 !important;
    padding: 4px 10px !important;
    line-height: 1.2 !important;
}
#bcrh-app .bcrh-response-variant {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    line-height: 1.2 !important;
    border: 1px solid transparent !important;
}
/* Variant color tints */
#bcrh-app .bcrh-variant-warm     { background: #eafaf0 !important; color: #1f6f43 !important; border-color: #c1e8d0 !important; }
#bcrh-app .bcrh-variant-direct   { background: #e6f0fa !important; color: #2a5180 !important; border-color: #c4daee !important; }
#bcrh-app .bcrh-variant-boundary { background: #fff4ef !important; color: #b54b39 !important; border-color: #f5d4c5 !important; }
#bcrh-app .bcrh-variant-offline  { background: #f3f0fa !important; color: #5e3aa6 !important; border-color: #d8cfeb !important; }
#bcrh-app .bcrh-variant-rebook   { background: #fef8eb !important; color: #92681c !important; border-color: #f0dca8 !important; }
#bcrh-app .bcrh-variant-default  { background: #f0f3f7 !important; color: #555555 !important; border-color: #d8dde3 !important; }

#bcrh-app .bcrh-response-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
    color: var(--bcrh-text) !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
}
#bcrh-app .bcrh-response-actions {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 4px !important;
}
#bcrh-app .bcrh-error {
    background: var(--bcrh-danger-light) !important;
    border: 1px solid #f5c4c4 !important;
    color: #8a2828 !important;
    padding: 14px 18px !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}

/* HIDDEN CHATBOT HOST ----------------------------------- */
#bcrh-app .bcrh-bot-host {
    position: fixed !important;
    left: -10000px !important;
    top: 0 !important;
    width: 420px !important;
    height: 600px !important;
    overflow: hidden !important;
    z-index: -1 !important;
    pointer-events: none !important;
    opacity: 0.01 !important;
}

/* CTA --------------------------------------------------- */
#bcrh-app .bcrh-cta {
    background: #000000 !important;
    color: #ffffff !important;
    padding: 40px 32px !important;
    text-align: center !important;
    margin-top: 36px !important;
}
#bcrh-app .bcrh-cta h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin: 0 0 0.5em 0 !important;
}
#bcrh-app .bcrh-cta p {
    font-size: 1rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 540px !important;
    margin: 0 auto 1.4em auto !important;
    line-height: 1.6 !important;
}
#bcrh-app .bcrh-cta-btn,
#bcrh-app .bcrh-cta-btn:link,
#bcrh-app .bcrh-cta-btn:visited {
    display: inline-block !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    background: #ffffff !important;
    border: 2px solid #ffffff !important;
    padding: 14px 32px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    overflow: hidden !important;
}
#bcrh-app .bcrh-cta-btn span { position: relative; z-index: 1; }
#bcrh-app .bcrh-cta-btn:hover {
    background: transparent !important;
    color: #ffffff !important;
}

/* =========================================================
AI REVIEW REQUEST GENERATOR PAGE
========================================================= */
#brrg-app,
#brrg-app *,
#brrg-app *::before,
#brrg-app *::after { box-sizing: border-box !important; }
#brrg-app {
    --brrg-black: #000000;
    --brrg-blue: #5391CD;
    --brrg-blue-dark: #2a7ab8;
    --brrg-bg: #f7f8f8;
    --brrg-card: #ffffff;
    --brrg-border: #e2e2e2;
    --brrg-text: #333333;
    --brrg-text-light: #666666;
    --brrg-num-gray: #e0e0e0;
    --brrg-danger: #d94444;
    --brrg-danger-light: #fdf0f0;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: var(--brrg-bg);
    color: var(--brrg-text);
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    display: block;
    width: 100%;
}

/* HERO ---------------------------------------------------- */
#brrg-app .brrg-hero {
    background: #000000 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 80px 24px 72px !important;
    margin: 0 !important;
}
#brrg-app .brrg-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.8) !important;
    margin: 0 0 1.1em 0 !important;
    display: block !important;
}
#brrg-app .brrg-hero h1 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 52px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: #ffffff !important;
    margin: 0 0 0.5em 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}
@media (max-width: 700px) {
    #brrg-app .brrg-hero h1 { font-size: 36px !important; letter-spacing: 2px !important; }
    #brrg-app .brrg-hero { padding: 56px 20px 48px !important; }
}
#brrg-app .brrg-hero p {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1.15rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    line-height: 1.6 !important;
}

/* CONTAINER ----------------------------------------------- */
#brrg-app .brrg-container {
    max-width: 980px !important;
    margin: 0 auto !important;
    padding: 56px 24px 80px !important;
}

/* NUMBERED SECTIONS -------------------------------------- */
#brrg-app .calc-section {
    background: var(--brrg-card) !important;
    border: 1px solid var(--brrg-border) !important;
    padding: 36px 32px !important;
    margin-bottom: 28px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 28px !important;
}
#brrg-app .calc-section-num {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 3.5rem !important;
    font-weight: 600 !important;
    color: var(--brrg-num-gray) !important;
    line-height: 1 !important;
    min-width: 80px !important;
    flex-shrink: 0 !important;
}
#brrg-app .calc-section-body { flex: 1 !important; min-width: 0 !important; }
@media (max-width: 700px) {
    #brrg-app .calc-section { flex-direction: column !important; gap: 12px !important; padding: 28px 20px !important; }
    #brrg-app .calc-section-num { font-size: 2.5rem !important; min-width: 0 !important; }
}
#brrg-app .calc-section h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    color: var(--brrg-black) !important;
    text-transform: uppercase !important;
    margin: 0 0 0.4em 0 !important;
    line-height: 1.25 !important;
}
#brrg-app .calc-section .section-desc {
    color: var(--brrg-text-light) !important;
    margin: 0 0 1.4em 0 !important;
    font-size: 0.96rem !important;
    line-height: 1.55 !important;
}

/* TEXT INPUTS -------------------------------------------- */
#brrg-app .form-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 12px !important;
}
#brrg-app .brrg-row-2col {
    grid-template-columns: 1fr 1fr !important;
}
@media (max-width: 600px) {
    #brrg-app .brrg-row-2col { grid-template-columns: 1fr !important; }
}
#brrg-app .field { display: flex !important; flex-direction: column !important; }
#brrg-app .field label {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--brrg-text) !important;
    margin: 0 0 6px 0 !important;
}
#brrg-app .field .hint {
    font-size: 0.82rem !important;
    color: var(--brrg-text-light) !important;
    margin: 0 0 8px 0 !important;
    font-style: italic !important;
    line-height: 1.45 !important;
}
#brrg-app .field input[type="text"] {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    color: var(--brrg-text) !important;
    background: #ffffff !important;
    border: 1px solid var(--brrg-border) !important;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
#brrg-app .field input[type="text"]:focus { border-color: var(--brrg-black) !important; }
#brrg-app .field input[type="text"]::placeholder { color: #bbb !important; opacity: 1 !important; }

/* RELATIONSHIP / TONE GRIDS — 3 wide buttons each ------- */
#brrg-app .brrg-relationship-grid,
#brrg-app .brrg-tone-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
    margin: 0 !important;
}
@media (max-width: 760px) {
    #brrg-app .brrg-relationship-grid,
    #brrg-app .brrg-tone-grid { grid-template-columns: 1fr !important; }
}
#brrg-app .brrg-relationship-btn,
#brrg-app .brrg-tone-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: #ffffff !important;
    border: 1px solid var(--brrg-border) !important;
    padding: 16px 18px !important;
    cursor: pointer !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    color: var(--brrg-text) !important;
}
#brrg-app .brrg-relationship-btn:hover,
#brrg-app .brrg-tone-btn:hover { border-color: var(--brrg-blue) !important; }
#brrg-app .brrg-relationship-btn.active,
#brrg-app .brrg-tone-btn.active {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}
#brrg-app .brrg-rel-name,
#brrg-app .brrg-tone-name {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: inherit !important;
}
#brrg-app .brrg-rel-desc,
#brrg-app .brrg-tone-desc {
    font-size: 0.82rem !important;
    color: var(--brrg-text-light) !important;
    line-height: 1.4 !important;
}
#brrg-app .brrg-relationship-btn.active .brrg-rel-desc,
#brrg-app .brrg-tone-btn.active .brrg-tone-desc { color: rgba(255,255,255,0.75) !important; }

/* PLATFORM GRID — 4 icon buttons in a row --------------- */
#brrg-app .brrg-platform-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
    margin: 0 !important;
}
@media (max-width: 600px) {
    #brrg-app .brrg-platform-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
#brrg-app .brrg-platform-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: #ffffff !important;
    border: 1px solid var(--brrg-border) !important;
    padding: 18px 12px !important;
    cursor: pointer !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    color: var(--brrg-text) !important;
}
#brrg-app .brrg-platform-btn i {
    font-size: 1.7rem !important;
    line-height: 1 !important;
}
#brrg-app .brrg-platform-btn span {
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}
#brrg-app .brrg-platform-btn:hover { border-color: var(--brrg-blue) !important; }
#brrg-app .brrg-platform-btn.active {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

/* CHANNEL GRID — 2 wide buttons ------------------------- */
#brrg-app .brrg-channel-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin: 0 !important;
}
@media (max-width: 600px) {
    #brrg-app .brrg-channel-grid { grid-template-columns: 1fr !important; }
}
#brrg-app .brrg-channel-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    background: #ffffff !important;
    border: 1px solid var(--brrg-border) !important;
    padding: 16px 18px !important;
    cursor: pointer !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    color: var(--brrg-text) !important;
}
#brrg-app .brrg-channel-btn i {
    font-size: 1.4rem !important;
    color: var(--brrg-blue) !important;
}
#brrg-app .brrg-channel-btn:hover { border-color: var(--brrg-blue) !important; }
#brrg-app .brrg-channel-btn.active {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}
#brrg-app .brrg-channel-btn.active i { color: #ffffff !important; }
#brrg-app .brrg-channel-name {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: inherit !important;
}
#brrg-app .brrg-channel-desc {
    font-size: 0.82rem !important;
    color: var(--brrg-text-light) !important;
    line-height: 1.4 !important;
}
#brrg-app .brrg-channel-btn.active .brrg-channel-desc { color: rgba(255,255,255,0.75) !important; }

/* GENERATE BUTTON --------------------------------------- */
#brrg-app .brrg-generate-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 4px 0 8px 0 !important;
}
#brrg-app .brrg-generate-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    color: #ffffff !important;
    background: #000000 !important;
    border: 2px solid #000000 !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    position: relative !important;
    overflow: hidden !important;
    transition: color 300ms ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}
#brrg-app .brrg-generate-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #000000;
    transform: scale(1);
    transform-origin: center;
    transition: transform 300ms ease;
    z-index: 0;
}
#brrg-app .brrg-generate-btn i,
#brrg-app .brrg-generate-btn span { position: relative; z-index: 1; }
#brrg-app .brrg-generate-btn:hover:not(:disabled)::before { transform: scale(0); }
#brrg-app .brrg-generate-btn:hover:not(:disabled) { color: #000000 !important; }
#brrg-app .brrg-generate-btn:disabled {
    background: #cfcfcf !important;
    border-color: #cfcfcf !important;
    color: #ffffff !important;
    cursor: not-allowed !important;
}
#brrg-app .brrg-generate-btn:disabled::before { background: #cfcfcf !important; transform: scale(1) !important; }
#brrg-app .brrg-generate-status {
    font-size: 0.85rem !important;
    color: var(--brrg-text-light) !important;
    margin: 0 !important;
    font-style: italic !important;
}

/* RESULTS HEADER + META --------------------------------- */
#brrg-app .brrg-results {
    margin-top: 32px !important;
    padding-top: 28px !important;
    border-top: 1px solid var(--brrg-border) !important;
}
#brrg-app .brrg-results-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
}
#brrg-app .brrg-results-header-left {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}
#brrg-app .brrg-results-title {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: var(--brrg-black) !important;
    margin: 0 !important;
}
#brrg-app .brrg-results-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}
#brrg-app .brrg-meta-badge {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    line-height: 1.3 !important;
    background: #f0f3f7 !important;
    color: var(--brrg-text) !important;
    border: 1px solid var(--brrg-border) !important;
}
#brrg-app .brrg-meta-platform-google    { background: #4285F4 !important; color: #ffffff !important; border-color: #4285F4 !important; }
#brrg-app .brrg-meta-platform-yelp      { background: #d32323 !important; color: #ffffff !important; border-color: #d32323 !important; }
#brrg-app .brrg-meta-platform-instagram { background: #C13584 !important; color: #ffffff !important; border-color: #C13584 !important; }
#brrg-app .brrg-meta-platform-facebook  { background: #1877F2 !important; color: #ffffff !important; border-color: #1877F2 !important; }
#brrg-app .brrg-meta-badge--tone        { background: var(--brrg-blue) !important; color: #ffffff !important; border-color: var(--brrg-blue) !important; }
#brrg-app .brrg-meta-badge--channel     { background: #000000 !important; color: #ffffff !important; border-color: #000000 !important; }

#brrg-app .brrg-results-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}
#brrg-app .brrg-regen-btn,
#brrg-app .brrg-startover-btn {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    background: transparent !important;
    padding: 8px 16px !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
#brrg-app .brrg-regen-btn { color: var(--brrg-blue) !important; border: 1px solid var(--brrg-blue) !important; }
#brrg-app .brrg-regen-btn:hover { background: var(--brrg-blue) !important; color: #ffffff !important; }
#brrg-app .brrg-startover-btn { color: var(--brrg-text-light) !important; border: 1px solid var(--brrg-border) !important; }
#brrg-app .brrg-startover-btn:hover { background: var(--brrg-text) !important; color: #ffffff !important; border-color: var(--brrg-text) !important; }

/* HOW-TO BLOCK ------------------------------------------ */
#brrg-app .brrg-results-howto {
    background: #f7f8f8 !important;
    border-left: 3px solid var(--brrg-blue) !important;
    padding: 18px 22px !important;
    margin: 0 0 22px 0 !important;
}
#brrg-app .brrg-howto-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    color: var(--brrg-text) !important;
}
#brrg-app .brrg-howto-label {
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: var(--brrg-blue) !important;
    padding: 4px 10px !important;
    line-height: 1.3 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    margin-top: 1px !important;
}
#brrg-app .brrg-howto-text { flex: 1 1 auto !important; }
#brrg-app .brrg-howto-text strong { color: var(--brrg-black) !important; font-weight: 700 !important; }

/* MESSAGE CARDS — 1 column for readability ------------- */
#brrg-app .brrg-results-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}
#brrg-app .brrg-message-card {
    background: #ffffff !important;
    border: 1px solid var(--brrg-border) !important;
    padding: 22px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}
#brrg-app .brrg-message-head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
#brrg-app .brrg-message-num {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    background: #000000 !important;
    padding: 4px 10px !important;
    line-height: 1.2 !important;
}
#brrg-app .brrg-message-variant {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    line-height: 1.2 !important;
    border: 1px solid transparent !important;
}
/* Variant color tints — 3 fixed variants from this tool */
#brrg-app .brrg-variant-direct  { background: #eafaf0 !important; color: #1f6f43 !important; border-color: #c1e8d0 !important; }
#brrg-app .brrg-variant-story   { background: #fff4ef !important; color: #b54b39 !important; border-color: #f5d4c5 !important; }
#brrg-app .brrg-variant-easy    { background: #e6f0fa !important; color: #2a5180 !important; border-color: #c4daee !important; }
#brrg-app .brrg-variant-default { background: #f0f3f7 !important; color: #555555 !important; border-color: #d8dde3 !important; }

#brrg-app .brrg-message-body {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
    color: var(--brrg-text) !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
}
#brrg-app .brrg-message-actions {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 4px !important;
}
#brrg-app .brrg-error {
    background: var(--brrg-danger-light) !important;
    border: 1px solid #f5c4c4 !important;
    color: #8a2828 !important;
    padding: 14px 18px !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
}

/* HIDDEN CHATBOT HOST ----------------------------------- */
#brrg-app .brrg-bot-host {
    position: fixed !important;
    left: -10000px !important;
    top: 0 !important;
    width: 420px !important;
    height: 600px !important;
    overflow: hidden !important;
    z-index: -1 !important;
    pointer-events: none !important;
    opacity: 0.01 !important;
}

/* CTA --------------------------------------------------- */
#brrg-app .brrg-cta {
    background: #000000 !important;
    color: #ffffff !important;
    padding: 40px 32px !important;
    text-align: center !important;
    margin-top: 36px !important;
}
#brrg-app .brrg-cta h2 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    margin: 0 0 0.5em 0 !important;
}
#brrg-app .brrg-cta p {
    font-size: 1rem !important;
    color: rgba(255,255,255,0.85) !important;
    max-width: 580px !important;
    margin: 0 auto 1.4em auto !important;
    line-height: 1.6 !important;
}
#brrg-app .brrg-cta-btn,
#brrg-app .brrg-cta-btn:link,
#brrg-app .brrg-cta-btn:visited {
    display: inline-block !important;
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    background: #ffffff !important;
    border: 2px solid #ffffff !important;
    padding: 14px 32px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    overflow: hidden !important;
}
#brrg-app .brrg-cta-btn span { position: relative; z-index: 1; }
#brrg-app .brrg-cta-btn:hover {
    background: transparent !important;
    color: #ffffff !important;
}

/* =========================================================
156. SHOPS DIGITAL AGENCY (MANAGEMENT TEMP PAGE)
========================================================= */
.sda-wrap {
    font-family: 'Plus Jakarta Sans', Arial, Helvetica, sans-serif;
    color: #222;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 30px 80px;
    background: #ffffff;
}
.sda-wrap *, .sda-wrap *::before, .sda-wrap *::after { box-sizing: border-box; }
.sda-wrap h1, .sda-wrap h2, .sda-wrap h3 {
    font-family: 'Poppins', Arial, Helvetica, sans-serif;
    font-weight: 400;
    color: #111;
    text-transform: uppercase;
    margin: 0 0 12px;
}
.sda-wrap h1 { font-size: 32px; letter-spacing: 3px; line-height: 1.2; }
.sda-wrap h2 {
    font-size: 22px;
    letter-spacing: 2.5px;
    line-height: 1.25;
    margin-top: 48px;
    padding-bottom: 12px;
    border-bottom: 2px solid #111;
}
.sda-wrap h3 {
    font-size: 15px;
    letter-spacing: 2px;
    line-height: 1.3;
    margin-top: 28px;
    color: #3993d5;
}
.sda-wrap p { font-size: 16px; line-height: 1.65; margin: 0 0 16px; }
.sda-wrap ul, .sda-wrap ol { font-size: 16px; line-height: 1.7; padding-left: 22px; margin: 0 0 16px; }
.sda-wrap li { margin-bottom: 6px; }
.sda-wrap strong { color: #111; font-weight: 700; }
.sda-wrap a {
    color: #3993d5;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 200ms ease;
}
.sda-wrap a:hover { border-bottom: 1px solid #3993d5; }
.sda-wrap code { background: #eee; padding: 2px 6px; font-family: monospace; font-size: 13px; }
.sda-header {
    border: 2px solid #111;
    padding: 30px 30px 24px;
    margin-bottom: 40px;
    background: #f7f8f8;
}
.sda-header .sda-eyebrow {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #3993d5;
    margin: 0 0 10px;
}
.sda-header .sda-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 16px;
    font-size: 13px;
    color: #555;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
}
.sda-header .sda-meta span strong { color: #111; margin-right: 4px; }
.sda-notice {
    background: #fff8e5;
    border-left: 4px solid #d4a72c;
    padding: 14px 18px;
    margin: 0 0 36px;
    font-size: 14px;
    color: #5a4800;
}
.sda-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 28px 0 12px;
}
.sda-summary-card {
    background: #111;
    color: #fff;
    padding: 28px 24px;
    text-align: center;
}
.sda-summary-card .sda-card-label {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #9cc8e8;
    margin-bottom: 10px;
}
.sda-summary-card .sda-card-number {
    font-family: 'Poppins', sans-serif;
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 2px;
    color: #fff;
    line-height: 1.1;
}
.sda-summary-card .sda-card-sub {
    font-size: 12px;
    color: rgba(255,255,255,0.7);
    margin-top: 8px;
    letter-spacing: 1px;
}
.sda-table-wrap { overflow-x: auto; margin: 18px 0 24px; }
.sda-wrap table { width: 100%; border-collapse: collapse; font-size: 14px; }
.sda-wrap th, .sda-wrap td {
    text-align: left;
    padding: 12px 14px;
    border-bottom: 1px solid #e4e4e4;
    vertical-align: top;
}
.sda-wrap th {
    background: #111;
    color: #fff;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 14px;
}
.sda-wrap tbody tr:nth-child(even) { background: #f7f8f8; }
.sda-wrap tfoot td {
    background: #3993d5;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    border-bottom: none;
}
.sda-wrap tfoot td:first-child { letter-spacing: 2px; text-transform: uppercase; }
.sda-wrap td.sda-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sda-wrap th.sda-num { text-align: right; }
.sda-callout {
    background: #f7f8f8;
    border-left: 4px solid #3993d5;
    padding: 20px 24px;
    margin: 24px 0;
}
.sda-callout h3 { margin-top: 0; color: #111; }
.sda-rule-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 20px 0;
}
.sda-rule-box {
    border: 1px solid #ddd;
    padding: 22px 24px;
    background: #fff;
}
.sda-rule-box h3 { margin-top: 0; }
.sda-rule-box ul { margin-bottom: 0; }
.sda-rank-list {
    counter-reset: sda-rank;
    list-style: none;
    padding: 0;
    margin: 18px 0;
}
.sda-rank-list li {
    counter-increment: sda-rank;
    position: relative;
    padding: 16px 20px 16px 70px;
    border-bottom: 1px solid #e4e4e4;
    font-size: 15px;
    line-height: 1.55;
}
.sda-rank-list li::before {
    content: counter(sda-rank);
    position: absolute;
    left: 20px;
    top: 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 26px;
    font-weight: 400;
    color: #3993d5;
    letter-spacing: 2px;
}
.sda-rank-list li strong { display: block; font-size: 16px; color: #111; margin-bottom: 4px; }
.sda-rank-list li .sda-rank-amount { color: #3993d5; font-weight: 700; }
.sda-punchline {
    background: #111;
    color: #fff;
    padding: 40px 36px;
    margin-top: 40px;
}
.sda-punchline h2 { color: #fff; border-color: #3993d5; }
.sda-punchline p { color: rgba(255,255,255,0.88); font-size: 17px; }
.sda-punchline strong { color: #fff; }
.sda-footer {
    margin-top: 60px;
    padding-top: 20px;
    border-top: 1px solid #ddd;
    font-size: 12px;
    color: #888;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: center;
}
@media (max-width: 768px) {
    .sda-summary-grid { grid-template-columns: 1fr; }
    .sda-rule-grid { grid-template-columns: 1fr; }
    .sda-wrap h1 { font-size: 24px; letter-spacing: 2px; }
    .sda-wrap h2 { font-size: 18px; letter-spacing: 2px; }
    .sda-header { padding: 22px; }
}

/* =========================================================
157. SOCIAL MEDIA PACKAGES (MARKETING HUB ADD-ON)
========================================================= *
 * Lives inside the existing "Upgrade Your Marketing" section
 * alongside the ads/lead-gen tiers. Reuses the existing
 * .ts-marketing-hub__tier-card / __tier-name / __tier-price /
 * __tier-features classes for typography and chrome — this
 * section only adds the sub-section wrappers, the featured
 * card accent, the floating badges, the CTA button, and the
 * request panel.
 * ========================================================= */

/* Sub-section wrapper + heading (peer sub-heads inside the umbrella) */
.ts-marketing-hub__subsection {
    margin-top: 10px;
}

.ts-marketing-hub__subsection-title {
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 6px;
    line-height: 1.25;
}

.ts-marketing-hub__subsection-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #555555;
    margin: 0 0 22px;
    line-height: 1.55;
}

.ts-marketing-hub__tier-divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 40px 0 30px;
}

/* Featured card accent (Most Popular) */
.ts-marketing-hub__tier-card--featured {
    border: 2px solid #3993d5;
    box-shadow: 0 10px 30px rgba(57, 147, 213, 0.12);
    transform: translateY(-6px);
    background: linear-gradient(180deg, #ffffff 0%, #fdfeff 60%, #f6fafd 100%);
}

/* Floating pill badge above card */
.ts-marketing-hub__tier-badge {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    padding: 6px 14px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    white-space: nowrap;
    background: #ffffff;
}

.ts-marketing-hub__tier-badge--popular {
    background: #3993d5;
    color: #ffffff;
    border: 1px solid #3993d5;
}

.ts-marketing-hub__tier-badge--limited {
    background: #ffffff;
    color: #3993d5;
    border: 1px solid #3993d5;
}

/* Request CTA button (solid blue, pinned to bottom of card via flex base rule) */
.ts-marketing-hub__tier-cta {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    width: 100%;
    margin-top: 20px;
    padding: 14px 20px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ffffff;
    background: #3993d5;
    border: 1px solid #3993d5;
    border-radius: 0;
    cursor: pointer;
    transition: background 200ms ease, border-color 200ms ease;
}

.ts-marketing-hub__tier-cta:hover {
    background: #2a7ab8;
    border-color: #2a7ab8;
    color: #ffffff;
}

/* Footnote row: onboarding fee + minimum term */
.ts-marketing-hub__tier-footnote {
    text-align: center;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: #555555;
    margin: 18px 0 0;
    letter-spacing: 0.02em;
}

.ts-marketing-hub__tier-footnote-item {
    display: inline-block;
}

.ts-marketing-hub__tier-footnote-sep {
    display: inline-block;
    margin: 0 12px;
    color: #bbbbbb;
}

/* Request panel (toggled open by any CTA button) */
.ts-marketing-hub__request-panel {
    margin-top: 34px;
    background: linear-gradient(180deg, #ffffff 0%, #fdfeff 50%, #f6fafd 100%);
    border: 1px solid #e3edf5;
    padding: 32px;
    box-shadow: 0 2px 8px rgba(57, 147, 213, 0.05);
}

.ts-marketing-hub__request-panel[hidden] {
    display: none;
}

.ts-marketing-hub__request-panel-inner {
    position: relative;
}

.ts-marketing-hub__request-panel-header {
    margin: 0 0 20px;
    padding-right: 44px;
}

.ts-marketing-hub__request-panel-title {
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 600;
    color: #111111;
    margin: 0 0 8px;
    line-height: 1.25;
}

.ts-marketing-hub__request-panel-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #555555;
    margin: 0;
    line-height: 1.55;
}

.ts-marketing-hub__request-panel-close {
    position: absolute;
    top: -4px;
    right: 0;
    width: 34px;
    height: 34px;
    background: transparent;
    border: 1px solid #e0e0e0;
    color: #555555;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 200ms ease, border-color 200ms ease;
}

.ts-marketing-hub__request-panel-close:hover {
    color: #111111;
    border-color: #111111;
}

.ts-marketing-hub__request-selected {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 13px;
    color: #333333;
    padding: 10px 14px;
    background: #eff6ff;
    border: 1px solid rgba(57, 147, 213, 0.25);
    margin: 0 0 16px;
}

.ts-marketing-hub__request-selected[hidden] {
    display: none;
}

.ts-marketing-hub__request-selected strong {
    color: #3993d5;
    font-weight: 700;
}

@media (max-width: 600px) {
    .ts-marketing-hub__tier-card--featured {
        transform: none;
    }
    .ts-marketing-hub__tier-footnote-sep {
        display: block;
        margin: 4px 0;
    }
}

/* =========================================================
158. GD MAP POPUP (MARKER INFO WINDOW)
Spacing + icon/label handling for the custom map bubble
(template: geodirectory/bootstrap/map/map-popup.php)
========================================================= */
.gd-bubble .geodir-bubble_desc {
    line-height: 1.45;
}
.gd-bubble .geodir-bubble_desc h4 {
    margin-bottom: 4px;
}
.gd-bubble .geodir-bubble-meta-category {
    margin-bottom: 4px;
}
/* Breathing room below the star rating */
.gd-bubble .geodir-bubble-meta-rating {
    margin-bottom: 12px;
}
/* Each meta row: icon FLOATED left of the value (not flex — flex split the
   address into separate items per component). Float keeps multi-line address
   values in normal text flow, with the icon beside the first line. */
.gd-bubble .geodir-bubble-meta-side .geodir_post_meta {
    margin-bottom: 6px;
    overflow: hidden;
}
.gd-bubble .geodir-bubble-meta-side .geodir_post_meta:last-child {
    margin-bottom: 0;
}
.gd-bubble .geodir-bubble-meta-side .geodir_post_meta_icon {
    float: left;
    margin-right: 6px;
    margin-top: 2px;
    line-height: 1.2;
}
/* Keep the phone/address ICONS, hide only the text label so each line
   reads "icon + value" (e.g. the phone icon then the number). */
.gd-bubble .geodir-bubble-meta-side .geodir_post_meta_title {
    display: none;
}
