/* Siebert Brand - siebert-realty.com look on top of Divi.
   Only loaded when body has .sb-brand (admins / preview / live switch). */

:root {
	--sb-dusty: #7698b3;   /* utility bar, primary buttons */
	--sb-steel: #5c87a3;   /* headings, links */
	--sb-navy: #1e3246;    /* dark bands, mobile menu */
	--sb-mist: #a9c4d7;    /* accents on dark */
	--sb-ink: #2f3b45;     /* body text */
	--sb-muted: #6c7a86;   /* nav links, secondary text */
	--sb-line: #dfe7ee;
	--sb-tint: #f3f6f9;    /* light section background */
	--sb-head: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
	--sb-body: 'Lato', 'Helvetica Neue', Arial, sans-serif;
	--sb-script: 'Authentic', 'Brush Script MT', cursive;
}

/* ---------- Replace Divi's built-in header ---------- */
body.sb-brand #top-header,
body.sb-brand #main-header { display: none !important; }
body.sb-brand #page-container { padding-top: 0 !important; margin-top: 0 !important; }
body.sb-brand.admin-bar #sb-header { top: 32px; }

#sb-header { position: sticky; top: 0; z-index: 9990; font-family: var(--sb-head); }
#sb-header .sb-wrap { width: 92%; max-width: 1180px; margin: 0 auto; display: flex; align-items: center; }
#sb-header a { text-decoration: none; }
#sb-header svg { flex: none; }

/* Utility bar */
#sb-topbar { background: var(--sb-dusty); color: #fff; font-size: 13px; font-weight: 600; padding: 7px 0; }
#sb-topbar .sb-wrap { justify-content: space-between; gap: 16px; }
#sb-topbar .sb-quick { display: flex; flex-wrap: wrap; gap: 6px 22px; }
#sb-topbar a { color: #fff; display: inline-flex; align-items: center; gap: 6px; transition: color .2s; }
#sb-topbar a:hover { color: #ffe7a3; }
#sb-topbar .sb-topbar-phone { font-weight: 700; letter-spacing: .02em; }

/* Main bar: menu | centered logo | menu */
#sb-navbar { background: #fff; border-bottom: 1px solid var(--sb-line); box-shadow: 0 2px 10px rgba(30, 50, 70, .05); }
#sb-navbar .sb-wrap { justify-content: center; min-height: 76px; gap: 26px; }
.sb-menu { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; flex: 1; }
.sb-menu-left { justify-content: flex-end; }
.sb-menu-right { justify-content: flex-start; }
.sb-menu > li { position: relative; padding: 0; list-style: none; }
.sb-menu > li > a { color: var(--sb-muted); font-size: 13.5px; font-weight: 500; text-transform: uppercase; letter-spacing: .02em; display: inline-flex; align-items: center; gap: 5px; padding: 26px 0; transition: color .2s; }
.sb-menu > li > a:hover, .sb-menu > li:focus-within > a { color: var(--sb-steel); }
.sb-caret { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid currentColor; }
.sb-dropdown { position: absolute; top: 100%; left: -16px; min-width: 220px; background: #fff; border: 1px solid var(--sb-line); border-radius: 6px; box-shadow: 0 14px 30px rgba(30, 50, 70, .12); padding: 8px 0; margin: 0; list-style: none; opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .18s; }
.sb-has-kids:hover .sb-dropdown, .sb-has-kids:focus-within .sb-dropdown { opacity: 1; visibility: visible; transform: none; }
.sb-dropdown li { list-style: none; padding: 0; }
.sb-dropdown a { display: block; padding: 8px 18px; color: var(--sb-ink); font-size: 14px; font-weight: 500; }
.sb-dropdown a:hover { background: var(--sb-tint); color: var(--sb-steel); }
.sb-brand-logo { flex: none; display: block; line-height: 0; }
.sb-brand-logo img { max-height: 54px; width: auto; height: auto; }
.sb-btn-outline { border: 1px solid #adb5bd; border-radius: 4px; color: var(--sb-muted) !important; font-size: 13px !important; padding: 7px 12px !important; text-transform: uppercase; }
.sb-btn-outline:hover { border-color: var(--sb-steel); color: var(--sb-steel) !important; }
.sb-burger, .sb-call { display: none; }

/* Mobile menu (navy, full screen - as on siebert-realty.com) */
#sb-mobile { position: fixed; inset: 0; background: var(--sb-navy); color: #fff; z-index: 99999; overflow-y: auto; padding: 70px 24px 40px; transform: translateX(-100%); transition: transform .3s ease; font-family: var(--sb-head); text-align: center; }
#sb-mobile.is-open { transform: none; }
body.sb-menu-open { overflow: hidden; }
#sb-mobile .sb-close { position: absolute; top: 14px; right: 22px; background: none; border: 0; color: #fff; font-size: 36px; line-height: 1; cursor: pointer; }
.sb-m-links, .sb-m-links ul { list-style: none; margin: 0 auto; padding: 0; max-width: 420px; }
.sb-m-links li { list-style: none; padding: 0; }
.sb-m-links a, .sb-m-toggle { display: block; width: 100%; color: #fff; font-size: 20px; font-weight: 700; padding: 12px; border-radius: 5px; text-decoration: none; background: none; border: 0; cursor: pointer; font-family: inherit; }
.sb-m-links a:hover, .sb-m-toggle:hover { background: rgba(92, 135, 163, .3); }
.sb-m-links ul { display: none; background: rgba(255, 255, 255, .08); border-radius: 5px; padding: 6px; }
.sb-m-links .is-open > ul { display: block; }
.sb-m-links ul a { font-size: 17px; font-weight: 500; }
.sb-chev { display: inline-block; width: 8px; height: 8px; margin-left: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.is-open > .sb-m-toggle .sb-chev { transform: rotate(-135deg); }
.sb-m-divider { color: var(--sb-mist); font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 18px 0 8px; border-bottom: 1px solid rgba(255, 255, 255, .2); margin-bottom: 6px; }

@media (max-width: 1100px) {
	.sb-menu { gap: 18px; }
	.sb-menu > li > a { font-size: 12.5px; }
}
@media (max-width: 980px) {
	#sb-topbar { display: none; }
	#sb-navbar { background: var(--sb-dusty); border: 0; }
	#sb-navbar .sb-wrap { justify-content: space-between; min-height: 64px; }
	.sb-menu { display: none; }
	.sb-brand-logo img { max-height: 44px; }
	.sb-burger, .sb-call { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 36px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 4px; background: none; color: #fff; cursor: pointer; }
	.sb-burger { flex-direction: column; gap: 4px; }
	.sb-burger span { display: block; width: 18px; height: 2px; background: #fff; }
}
@media (max-width: 782px) { body.sb-brand.admin-bar #sb-header { top: 46px; } }
@media (max-width: 600px) { body.sb-brand.admin-bar #sb-header { top: 0; } }

/* ---------- Global type & color ---------- */
/* Raleway defaults to old-style figures ("3700" with descenders); prices and
   addresses read better with lining numerals, as on the main site. */
body.sb-brand, body.sb-brand * { font-variant-numeric: lining-nums; }
/* Font only - text color stays per-section so light-on-dark bands keep working. */
body.sb-brand { color: var(--sb-ink); }
body.sb-brand,
body.sb-brand #et-main-area,
body.sb-brand #et-main-area p { font-family: var(--sb-body); }
body.sb-brand #et-main-area :is(h1, h2, h3, h4, h5, h6),
body.sb-brand #et-main-area :is(h1, h2, h3, h4, h5, h6) span:not(.et-pb-icon) { font-family: var(--sb-head) !important; letter-spacing: 0; }
body.sb-brand #et-main-area :is(h2, h3) { color: var(--sb-steel); }
body.sb-brand #et-main-area a:not(.et_pb_button):not([class*="dsm"]) { color: var(--sb-steel); }
body.sb-brand #et-main-area a:not(.et_pb_button):hover { color: var(--sb-navy); }

/* Buttons: main site's outline style, filled on hover */
body.sb-brand #page-container #et-main-area .et_pb_section .et_pb_button,
body.sb-brand #et-main-area .dsm-readmore-btn,
body.sb-brand #et-main-area a[class*="view-listing"],
body.sb-brand #et-main-area input[type="submit"],
body.sb-brand #et-main-area button[type="submit"] {
	font-family: var(--sb-head) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	background: #fff !important;
	color: var(--sb-steel) !important;
	border: 1px solid var(--sb-steel) !important;
	border-radius: 999px !important;
	padding: 9px 24px !important;
	letter-spacing: .01em !important;
	box-shadow: none !important;
	transition: background .2s, color .2s !important;
}
body.sb-brand #page-container #et-main-area .et_pb_section .et_pb_button:hover,
body.sb-brand #et-main-area .dsm-readmore-btn:hover,
body.sb-brand #et-main-area input[type="submit"]:hover,
body.sb-brand #et-main-area button[type="submit"]:hover { background: var(--sb-steel) !important; color: #fff !important; }
body.sb-brand .et_pb_button:after { display: none !important; }

/* ---------- Homepage sections ---------- */
/* Hero */
body.sb-brand.home .et_pb_section_0 { position: relative; }
body.sb-brand.home .et_pb_section_0::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30, 50, 70, .25), rgba(30, 50, 70, .45)); pointer-events: none; }
body.sb-brand.home .et_pb_section_0 .et_pb_row { position: relative; z-index: 1; }
body.sb-brand.home .et_pb_section_0 h1.entry-title { color: #fff !important; font-weight: 700 !important; font-size: clamp(34px, 4.2vw, 54px) !important; text-shadow: 0 2px 18px rgba(0, 0, 0, .25); }
body.sb-brand.home .et_pb_section_0 h1.entry-title::after { content: "Sandbridge Beach"; display: block; font-family: var(--sb-script); font-weight: 400; font-size: .95em; margin-top: 4px; text-shadow: none; }
body.sb-brand.home .et_pb_section_0 :is(.et_pb_row_1, .et_pb_column_1) { background: transparent !important; box-shadow: none !important; }
body.sb-brand.home .et_pb_blurb_0 { background: rgba(255, 255, 255, .78) !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, .9); border-radius: 8px !important; box-shadow: 0 10px 30px rgba(30, 50, 70, .18); }
body.sb-brand.home .et_pb_blurb_0 h4, body.sb-brand.home .et_pb_blurb_0 h4 span { color: var(--sb-navy) !important; font-weight: 700 !important; }
body.sb-brand.home .et_pb_blurb_0 label { color: var(--sb-muted) !important; font-family: var(--sb-head); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
body.sb-brand.home .et_pb_blurb_0 :is(input[type="text"], select) { border: 1px solid #d6dee5 !important; border-radius: 5px !important; height: 42px; }
body.sb-brand.home #et-main-area .et_pb_blurb_0 :is(input[type="submit"], button) { background: var(--sb-dusty) !important; color: #fff !important; border-color: var(--sb-dusty) !important; border-radius: 5px !important; height: 42px; padding: 0 18px !important; font-size: 14px !important; }
body.sb-brand.home #et-main-area .et_pb_blurb_0 :is(input[type="submit"], button):hover { background: var(--sb-steel) !important; }

/* Featured Homes */
body.sb-brand.home .et_pb_section_1 { background-color: var(--sb-tint) !important; }
body.sb-brand #et-main-area .dsm-text-divider-wrapper h2.dsm-text-divider-header,
body.sb-brand #et-main-area .dsm-text-divider-wrapper h2.dsm-text-divider-header span { font-family: var(--sb-script) !important; color: var(--sb-steel) !important; font-weight: 400 !important; text-transform: none !important; font-size: clamp(44px, 6vw, 72px) !important; line-height: 1.2 !important; }
body.sb-brand .dsm-divider { border-color: var(--sb-dusty) !important; }

/* Generic: brand blue/orange -> palette inside main area */
body.sb-brand #et-main-area [style*="#1465a9"], body.sb-brand #et-main-area [style*="#2ea3f2"] { color: var(--sb-steel) !important; }
body.sb-brand #et-main-area [style*="#e09900"], body.sb-brand #et-main-area [style*="#f4901d"], body.sb-brand #et-main-area [style*="#ff6900"] { color: var(--sb-mist) !important; }

/* Service blurbs: uppercase light headings like the main site */
body.sb-brand.home .et_pb_section_2 h4, body.sb-brand.home .et_pb_section_2 h2, body.sb-brand.home .et_pb_section_2 h3,
body.sb-brand.home .et_pb_section_5 h4, body.sb-brand.home .et_pb_section_5 h2 { color: var(--sb-steel) !important; text-transform: uppercase; font-weight: 400 !important; letter-spacing: .02em !important; }

/* Dark bands (Thinking of Selling, etc.) */
body.sb-brand.home .et_pb_section_3 { background-color: var(--sb-navy) !important; }
body.sb-brand.home .et_pb_section_3 :is(h1, h2, h3, h4, h1 span, h2 span, h3 span, h4 span) { color: #fff !important; }
body.sb-brand.home .et_pb_section_3 .et_pb_text :is(p, span, div) { color: #e9eff4 !important; }
body.sb-brand.home .et_pb_section_3 .et_pb_text :is(strong, b, em) { color: var(--sb-mist) !important; }
body.sb-brand.home .et_pb_section_3 h2:first-of-type { font-weight: 300 !important; }

/* Gold "contact an agent" strip -> dusty-blue band like the main site's announcement bar */
body.sb-brand.home .et_pb_section_4 { background-color: var(--sb-dusty) !important; }
body.sb-brand.home .et_pb_section_4 :is(h1, h2, h3, h4, h5, p, span, a) { color: #fff !important; }
body.sb-brand.home .et_pb_section_4 :is(h1, h2, h3, h4, h5) { text-transform: uppercase; font-weight: 400 !important; letter-spacing: .04em !important; }

/* Feature icons */
body.sb-brand.home #et-main-area .et_pb_section_5 .et-pb-icon { color: var(--sb-steel) !important; }
body.sb-brand.home #et-main-area .et_pb_section_5 :is(h4, h4 span, h4 a) { color: var(--sb-navy) !important; }

/* Every other dark band: light text */
body.sb-brand.home .et_pb_section_6 { background-color: var(--sb-navy) !important; }
body.sb-brand.home #et-main-area .et_pb_section_6 :is(h1, h2, h3, h4, h1 span, h2 span, h3 span) { color: #fff !important; }
body.sb-brand.home #et-main-area .et_pb_section_6 .et_pb_text :is(p, li, span, div) { color: #e9eff4 !important; }
body.sb-brand.home #et-main-area .et_pb_section_6 .et_pb_text a { color: var(--sb-mist) !important; }

/* Leftovers found by the palette audit */
body.sb-brand.home #et-main-area .et_pb_section_1 p { color: var(--sb-steel) !important; }
body.sb-brand :is(.swiper-pagination-bullet-active, .slick-dots .slick-active button, .et-pb-active-control a) { background: var(--sb-steel) !important; }
body.sb-brand.home #et-main-area .et_pb_section_1 span[style*="background"], body.sb-brand.home #et-main-area .et_pb_section_1 .swiper-pagination-bullet-active { background-color: var(--sb-steel) !important; }
body.sb-brand #et-main-area .dsm_card_carousel_child_badge_text { color: var(--sb-steel) !important; }
body.sb-brand.home #et-main-area .et_pb_section_7 :is(h1, h2, h3) { text-shadow: none !important; color: var(--sb-steel) !important; }
body.sb-brand.home #et-main-area .et_pb_section_11 :is(h1, h2, h3, h1 span, h2 span) { color: var(--sb-steel) !important; text-shadow: none !important; }
body.sb-brand #page-container #et-main-area .et_pb_section .wpcf7-submit.et_pb_button { background: var(--sb-dusty) !important; border-color: var(--sb-dusty) !important; color: #fff !important; }
body.sb-brand #page-container #et-main-area .et_pb_section .wpcf7-submit.et_pb_button:hover { background: var(--sb-steel) !important; }

/* Any page: old gold/blue bands detected by brand.js */
body.sb-brand #page-container .et_pb_section.sb-band-dusty { background-color: var(--sb-dusty) !important; }
body.sb-brand #page-container .et_pb_section.sb-band-navy { background-color: var(--sb-navy) !important; }
body.sb-brand #page-container .et_pb_section:is(.sb-band-dusty, .sb-band-navy) :is(h1, h2, h3, h4, h5, p, li, span, a:not(.et_pb_button)) { color: #fff !important; }
body.sb-brand #page-container .et_pb_section.sb-band-dusty :is(h1, h2, h3, h4, h5) { text-transform: uppercase; font-weight: 400 !important; letter-spacing: .04em !important; }

body.sb-brand #page-container .et_pb_section.sb-band-tint { background-color: var(--sb-tint) !important; }
body.sb-brand #et-main-area h1 span[style*="10456d"], body.sb-brand #et-main-area .dsm-text-divider-header span { color: var(--sb-steel); }

/* Team cards: keep "View Listings" on one line */
body.sb-brand #page-container #et-main-area .et_pb_section .et_pb_more_button { padding: 7px 16px !important; font-size: 13.5px !important; white-space: nowrap; }

/* Footer */
body.sb-brand .et_pb_section_0_tb_footer { background-color: var(--sb-tint) !important; }
body.sb-brand .et_pb_row_0_tb_footer { background-color: var(--sb-steel) !important; }
body.sb-brand .et_pb_row_0_tb_footer :is(input[type="submit"], button, .et_pb_button, .et_pb_newsletter_button) { background: #fff !important; color: var(--sb-navy) !important; border-color: #fff !important; }
body.sb-brand .et_pb_row_0_tb_footer :is(input[type="submit"], button, .et_pb_button, .et_pb_newsletter_button):hover { background: var(--sb-navy) !important; color: #fff !important; }
body.sb-brand .et_pb_section_1_tb_footer { background-color: var(--sb-navy) !important; }
body.sb-brand .et_pb_section_1_tb_footer :is(h1, h2, h3, h4, p, span, li, a:not(.et_pb_button)) { color: #e9eff4 !important; }
