/**
 * Shanganagh Estate Theme Bridge v1.0.7
 * Visual bridge only: no content, directory, concierge or API logic is changed.
 */

:root {
  --sc-green: #2C5F2D;
  --sc-green-dark: #1f4521;
  --sc-green-deep: #112114;
  --sc-gold: #C9A961;
  --sc-gold-soft: rgba(201,169,97,0.22);
  --sc-cream: #F7F3EA;
  --sc-cream-light: #FFFAF0;
  --sc-ink: #1D241F;
  --sc-muted: #69706A;
  --sc-card: rgba(255,255,255,0.90);
  --sc-border: rgba(44,95,45,0.14);
  --sc-shadow: 0 22px 60px rgba(0,0,0,0.12);
  --sc-shadow-soft: 0 12px 32px rgba(0,0,0,0.08);
  --sc-radius: 28px;
  --sc-radius-sm: 18px;
  --sc-max: 1180px;
}

body.sc-estate-theme-bridge {
  color: var(--sc-ink);
  background:
    radial-gradient(circle at 18% 8%, rgba(201,169,97,0.16), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(44,95,45,0.13), transparent 30%),
    linear-gradient(180deg, #fffaf0 0%, #f6f0e5 46%, #fff 100%);
  font-family: Georgia, "Times New Roman", serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.sc-estate-theme-bridge a {
  color: var(--sc-green-dark);
  text-underline-offset: 3px;
}

body.sc-estate-theme-bridge a:hover,
body.sc-estate-theme-bridge a:focus {
  color: var(--sc-green);
}

/* Header / Astra navigation */
body.sc-estate-theme-bridge #masthead,
body.sc-estate-theme-bridge .site-header,
body.sc-estate-theme-bridge .main-header-bar,
body.sc-estate-theme-bridge .ast-primary-header-bar,
body.sc-estate-theme-bridge .ast-above-header-bar,
body.sc-estate-theme-bridge .ast-below-header-bar {
  background: linear-gradient(135deg, rgba(31,69,33,0.98), rgba(35,79,41,0.94)) !important;
  border: 0 !important;
}

body.sc-estate-theme-bridge .main-header-bar,
body.sc-estate-theme-bridge .ast-primary-header-bar {
  border-bottom: 1px solid rgba(201,169,97,0.34) !important;
  box-shadow: 0 14px 38px rgba(17,33,20,0.18);
}

body.sc-estate-theme-bridge .site-branding,
body.sc-estate-theme-bridge .ast-site-identity {
  padding-top: 10px;
  padding-bottom: 10px;
}

body.sc-estate-theme-bridge .custom-logo,
body.sc-estate-theme-bridge .site-logo-img img,
body.sc-estate-theme-bridge .ast-site-identity img {
  max-height: 66px;
  width: auto;
  border-radius: 18px;
  background: #fff;
  padding: 3px;
  border: 1px solid rgba(201,169,97,0.58);
  box-shadow: 0 10px 26px rgba(0,0,0,0.18);
}

body.sc-estate-theme-bridge .site-title,
body.sc-estate-theme-bridge .site-title a,
body.sc-estate-theme-bridge .ast-site-title-wrap .site-title a {
  color: #ffffff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: .01em;
  text-shadow: 0 2px 16px rgba(0,0,0,0.28);
}

body.sc-estate-theme-bridge .site-description {
  color: rgba(255,255,255,0.74) !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
}

body.sc-estate-theme-bridge .main-header-menu > .menu-item > .menu-link,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul > li > a,
body.sc-estate-theme-bridge .main-navigation a,
body.sc-estate-theme-bridge .ast-header-break-point .main-navigation a {
  color: rgba(255,255,255,0.88) !important;
  border-radius: 999px;
  transition: background .18s ease, color .18s ease, transform .18s ease;
  font-family: Georgia, "Times New Roman", serif;
}

body.sc-estate-theme-bridge .main-header-menu > .menu-item:hover > .menu-link,
body.sc-estate-theme-bridge .main-header-menu > .current-menu-item > .menu-link,
body.sc-estate-theme-bridge .main-header-menu > .current-menu-ancestor > .menu-link,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul > li:hover > a {
  background: rgba(255,255,255,0.14);
  color: #fff !important;
  transform: translateY(-1px);
}

body.sc-estate-theme-bridge .sub-menu,
body.sc-estate-theme-bridge .main-header-menu .sub-menu {
  border: 1px solid rgba(201,169,97,0.22) !important;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--sc-shadow-soft);
}

body.sc-estate-theme-bridge .sub-menu .menu-link {
  color: var(--sc-ink) !important;
  background: rgba(255,255,255,0.96);
}

body.sc-estate-theme-bridge .sub-menu .menu-link:hover {
  color: var(--sc-green-dark) !important;
  background: #f9f3e7;
}

body.sc-estate-theme-bridge .ast-mobile-popup-drawer .ast-mobile-popup-inner,
body.sc-estate-theme-bridge .ast-mobile-header-wrap .ast-mobile-header-content {
  background: var(--sc-green-dark) !important;
  color: #fff;
}

body.sc-estate-theme-bridge .menu-toggle,
body.sc-estate-theme-bridge .ast-button-wrap .menu-toggle {
  color: #fff !important;
  border-color: rgba(201,169,97,0.54) !important;
  border-radius: 999px !important;
}

/* Estate intro on the community hub home/news contexts */
.sc-estate-intro {
  position: relative;
  padding: clamp(34px, 5vw, 62px) 20px clamp(28px, 4vw, 46px);
  background:
    radial-gradient(circle at 22% 18%, rgba(201,169,97,0.22), transparent 34%),
    linear-gradient(135deg, rgba(31,69,33,0.96), rgba(44,95,45,0.88));
  color: #fff;
  overflow: hidden;
  border-bottom: 1px solid rgba(201,169,97,0.34);
}

.sc-estate-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(12,25,15,0.56), rgba(12,25,15,0.08)),
    radial-gradient(circle at 88% 40%, rgba(255,255,255,0.12), transparent 24%);
  pointer-events: none;
}

.sc-estate-intro__inner {
  position: relative;
  z-index: 1;
  width: min(var(--sc-max), 100%);
  margin: 0 auto;
  display: flex;
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
}

.sc-estate-intro__mark {
  width: clamp(82px, 12vw, 128px);
  height: clamp(82px, 12vw, 128px);
  flex: 0 0 auto;
  border-radius: 30px;
  padding: 7px;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(201,169,97,0.68);
  box-shadow: 0 20px 48px rgba(0,0,0,0.22);
}

.sc-estate-intro__mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 23px;
}

.sc-estate-intro__copy {
  max-width: 820px;
}

.sc-estate-intro__eyebrow {
  margin: 0 0 8px;
  color: rgba(255,255,255,0.78);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}

.sc-estate-intro h1 {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 5vw, 62px);
  line-height: .98;
  letter-spacing: -0.035em;
  text-shadow: 0 3px 24px rgba(0,0,0,0.24);
}

.sc-estate-intro p:not(.sc-estate-intro__eyebrow) {
  margin: 16px 0 0;
  max-width: 720px;
  color: rgba(255,255,255,0.86);
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.55;
}

.sc-estate-intro__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.sc-estate-intro__links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  color: #fff !important;
  text-decoration: none;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(201,169,97,0.54);
  box-shadow: 0 8px 18px rgba(0,0,0,0.12);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.sc-estate-intro__links a:hover,
.sc-estate-intro__links a:focus {
  transform: translateY(-2px);
  background: rgba(255,255,255,0.18);
  border-color: rgba(201,169,97,0.9);
  outline: none;
}

/* Main layout and page content */
body.sc-estate-theme-bridge .site-content,
body.sc-estate-theme-bridge #content {
  background: transparent;
}

body.sc-estate-theme-bridge .ast-container,
body.sc-estate-theme-bridge .site-content .ast-container {
  max-width: 1240px;
}

body.sc-estate-theme-bridge #primary,
body.sc-estate-theme-bridge .content-area {
  margin-top: clamp(24px, 4vw, 44px);
  margin-bottom: clamp(36px, 5vw, 70px);
}

body.sc-estate-theme-bridge .entry-title,
body.sc-estate-theme-bridge .entry-title a,
body.sc-estate-theme-bridge h1,
body.sc-estate-theme-bridge h2,
body.sc-estate-theme-bridge h3,
body.sc-estate-theme-bridge h4 {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--sc-ink);
}

body.sc-estate-theme-bridge .page .entry-header,
body.sc-estate-theme-bridge.single .entry-header,
body.sc-estate-theme-bridge .ast-single-post .entry-header {
  margin-bottom: 24px;
}

body.sc-estate-theme-bridge.page article.page,
body.sc-estate-theme-bridge.single article.post,
body.sc-estate-theme-bridge .ast-single-post .ast-article-single {
  background: var(--sc-card);
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow-soft);
  padding: clamp(24px, 4vw, 48px);
  overflow: hidden;
}

body.sc-estate-theme-bridge .entry-content {
  color: #354038;
  font-size: 17px;
  line-height: 1.76;
}

body.sc-estate-theme-bridge .entry-content img,
body.sc-estate-theme-bridge .wp-block-image img {
  border-radius: var(--sc-radius-sm);
  box-shadow: 0 12px 30px rgba(0,0,0,0.10);
}

body.sc-estate-theme-bridge .entry-content .wp-block-button__link,
body.sc-estate-theme-bridge .button,
body.sc-estate-theme-bridge button,
body.sc-estate-theme-bridge input[type="submit"] {
  border-radius: 999px;
  background: var(--sc-green) !important;
  color: #fff !important;
  border: 1px solid rgba(201,169,97,0.48) !important;
  box-shadow: 0 10px 22px rgba(44,95,45,0.18);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

body.sc-estate-theme-bridge .entry-content .wp-block-button__link:hover,
body.sc-estate-theme-bridge .button:hover,
body.sc-estate-theme-bridge button:hover,
body.sc-estate-theme-bridge input[type="submit"]:hover {
  background: var(--sc-green-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(44,95,45,0.22);
}

/* Blog / archive cards
   v1.0.1 fix: Astra places posts inside .ast-row.
   v1.0.0 put CSS grid on .site-main, which made .ast-row a single grid item
   and squeezed the native Astra columns into very thin strips. The grid now
   belongs on .ast-row and all Astra floats/column widths are reset. */
body.sc-estate-theme-bridge.sc-estate-news-context .site-main,
body.sc-estate-theme-bridge.blog .site-main,
body.sc-estate-theme-bridge.archive .site-main,
body.sc-estate-theme-bridge.search .site-main {
  display: block !important;
  width: 100% !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .ast-row,
body.sc-estate-theme-bridge.blog .site-main > .ast-row,
body.sc-estate-theme-bridge.archive .site-main > .ast-row,
body.sc-estate-theme-bridge.search .site-main > .ast-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.6vw, 28px);
  align-items: stretch;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .page-header,
body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .navigation,
body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .posts-navigation,
body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .pagination,
body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .ast-pagination,
body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .nav-links {
  width: 100% !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post,
body.sc-estate-theme-bridge.blog article.post,
body.sc-estate-theme-bridge.archive article.post,
body.sc-estate-theme-bridge.search article.post {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post,
body.sc-estate-theme-bridge.blog article.post,
body.sc-estate-theme-bridge.archive article.post,
body.sc-estate-theme-bridge.search article.post,
body.sc-estate-theme-bridge .ast-archive-description {
  background: var(--sc-card);
  border: 1px solid var(--sc-border);
  border-radius: 24px;
  box-shadow: var(--sc-shadow-soft);
  overflow: hidden;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post,
body.sc-estate-theme-bridge.blog article.post,
body.sc-estate-theme-bridge.archive article.post,
body.sc-estate-theme-bridge.search article.post {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 0 !important;
  margin: 0 !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post:hover,
body.sc-estate-theme-bridge.blog article.post:hover,
body.sc-estate-theme-bridge.archive article.post:hover,
body.sc-estate-theme-bridge.search article.post:hover {
  transform: translateY(-4px);
  border-color: rgba(201,169,97,0.60);
  box-shadow: 0 24px 52px rgba(0,0,0,0.12);
}

body.sc-estate-theme-bridge.sc-estate-news-context .post-thumb-img-content,
body.sc-estate-theme-bridge.sc-estate-news-context .post-thumb,
body.sc-estate-theme-bridge.sc-estate-news-context .ast-blog-featured-section,
body.sc-estate-theme-bridge.blog .post-thumb-img-content,
body.sc-estate-theme-bridge.archive .post-thumb-img-content,
body.sc-estate-theme-bridge.search .post-thumb-img-content {
  margin: 0 !important;
  overflow: hidden;
  border-radius: 24px 24px 0 0;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post img,
body.sc-estate-theme-bridge.blog article.post img,
body.sc-estate-theme-bridge.archive article.post img,
body.sc-estate-theme-bridge.search article.post img {
  width: 100%;
  height: clamp(210px, 25vw, 315px);
  object-fit: cover;
  display: block;
  border-radius: 24px 24px 0 0;
  transition: transform .35s ease, filter .35s ease;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post:hover img,
body.sc-estate-theme-bridge.blog article.post:hover img,
body.sc-estate-theme-bridge.archive article.post:hover img,
body.sc-estate-theme-bridge.search article.post:hover img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.02);
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-header,
body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-content,
body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-summary,
body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-footer,
body.sc-estate-theme-bridge.blog article.post .entry-header,
body.sc-estate-theme-bridge.blog article.post .entry-content,
body.sc-estate-theme-bridge.blog article.post .entry-summary,
body.sc-estate-theme-bridge.blog article.post .entry-footer,
body.sc-estate-theme-bridge.archive article.post .entry-header,
body.sc-estate-theme-bridge.archive article.post .entry-content,
body.sc-estate-theme-bridge.archive article.post .entry-summary,
body.sc-estate-theme-bridge.archive article.post .entry-footer,
body.sc-estate-theme-bridge.search article.post .entry-header,
body.sc-estate-theme-bridge.search article.post .entry-content,
body.sc-estate-theme-bridge.search article.post .entry-summary,
body.sc-estate-theme-bridge.search article.post .entry-footer {
  padding-left: clamp(18px, 2vw, 24px) !important;
  padding-right: clamp(18px, 2vw, 24px) !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-header,
body.sc-estate-theme-bridge.blog article.post .entry-header,
body.sc-estate-theme-bridge.archive article.post .entry-header,
body.sc-estate-theme-bridge.search article.post .entry-header {
  padding-top: 18px !important;
  margin-bottom: 8px !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-title,
body.sc-estate-theme-bridge.blog article.post .entry-title,
body.sc-estate-theme-bridge.archive article.post .entry-title,
body.sc-estate-theme-bridge.search article.post .entry-title {
  margin: 0 0 8px !important;
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-title a,
body.sc-estate-theme-bridge.blog article.post .entry-title a,
body.sc-estate-theme-bridge.archive article.post .entry-title a,
body.sc-estate-theme-bridge.search article.post .entry-title a {
  color: var(--sc-ink) !important;
  text-decoration: none;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-title a:hover,
body.sc-estate-theme-bridge.blog article.post .entry-title a:hover,
body.sc-estate-theme-bridge.archive article.post .entry-title a:hover,
body.sc-estate-theme-bridge.search article.post .entry-title a:hover {
  color: var(--sc-green-dark) !important;
}

body.sc-estate-theme-bridge .entry-meta,
body.sc-estate-theme-bridge .entry-meta a,
body.sc-estate-theme-bridge .cat-links,
body.sc-estate-theme-bridge .tags-links {
  color: var(--sc-muted) !important;
  font-size: 12px;
  line-height: 1.5;
}

body.sc-estate-theme-bridge.sc-estate-news-context .entry-meta,
body.sc-estate-theme-bridge.blog .entry-meta,
body.sc-estate-theme-bridge.archive .entry-meta,
body.sc-estate-theme-bridge.search .entry-meta {
  margin-bottom: 10px !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context .comments-link,
body.sc-estate-theme-bridge.blog .comments-link,
body.sc-estate-theme-bridge.archive .comments-link,
body.sc-estate-theme-bridge.search .comments-link,
body.sc-estate-theme-bridge .entry-meta .comments-link,
body.sc-estate-theme-bridge .entry-comments-link,
body.sc-estate-theme-bridge .posted-by,
body.sc-estate-theme-bridge .ast-comments-link {
  display: none !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-content,
body.sc-estate-theme-bridge.sc-estate-news-context article.post .entry-summary,
body.sc-estate-theme-bridge.blog article.post .entry-content,
body.sc-estate-theme-bridge.blog article.post .entry-summary,
body.sc-estate-theme-bridge.archive article.post .entry-content,
body.sc-estate-theme-bridge.archive article.post .entry-summary,
body.sc-estate-theme-bridge.search article.post .entry-content,
body.sc-estate-theme-bridge.search article.post .entry-summary {
  margin-top: 0 !important;
  color: #566158;
  font-size: 15px;
  line-height: 1.62;
  padding-bottom: 22px !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context article.post .read-more,
body.sc-estate-theme-bridge.blog article.post .read-more,
body.sc-estate-theme-bridge.archive article.post .read-more,
body.sc-estate-theme-bridge.search article.post .read-more {
  margin-top: auto;
}

body.sc-estate-theme-bridge .ast-pagination,
body.sc-estate-theme-bridge .nav-links,
body.sc-estate-theme-bridge .navigation.pagination {
  grid-column: 1 / -1;
  text-align: center;
  margin-top: 20px;
}

body.sc-estate-theme-bridge .page-numbers,
body.sc-estate-theme-bridge .nav-links a,
body.sc-estate-theme-bridge .nav-links span {
  border-radius: 999px !important;
}

/* Forms / directory / contact pages */
body.sc-estate-theme-bridge input[type="text"],
body.sc-estate-theme-bridge input[type="email"],
body.sc-estate-theme-bridge input[type="url"],
body.sc-estate-theme-bridge input[type="tel"],
body.sc-estate-theme-bridge input[type="password"],
body.sc-estate-theme-bridge input[type="search"],
body.sc-estate-theme-bridge textarea,
body.sc-estate-theme-bridge select {
  border: 1px solid rgba(44,95,45,0.22) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.96) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

body.sc-estate-theme-bridge input:focus,
body.sc-estate-theme-bridge textarea:focus,
body.sc-estate-theme-bridge select:focus {
  border-color: rgba(201,169,97,0.82) !important;
  box-shadow: 0 0 0 4px rgba(201,169,97,0.18) !important;
  outline: none !important;
}

/* Footer */
body.sc-estate-theme-bridge .site-footer,
body.sc-estate-theme-bridge footer,
body.sc-estate-theme-bridge .ast-footer-overlay,
body.sc-estate-theme-bridge .ast-builder-footer-grid-columns,
body.sc-estate-theme-bridge .site-below-footer-wrap,
body.sc-estate-theme-bridge .site-primary-footer-wrap,
body.sc-estate-theme-bridge .site-above-footer-wrap {
  background: linear-gradient(180deg, #fffaf0 0%, #f2eadb 100%) !important;
  color: #5d665f !important;
  border-color: rgba(44,95,45,0.12) !important;
}

body.sc-estate-theme-bridge .site-footer a,
body.sc-estate-theme-bridge footer a {
  color: var(--sc-green-dark) !important;
}

body.sc-estate-theme-bridge .site-below-footer-wrap {
  border-top: 1px solid rgba(201,169,97,0.28) !important;
}

/* Keep the language dropdown tidy if GTranslate or similar is active */
body.sc-estate-theme-bridge .gtranslate_wrapper,
body.sc-estate-theme-bridge .gt_float_switcher,
body.sc-estate-theme-bridge .gt_switcher_wrapper {
  border-radius: 999px !important;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(0,0,0,0.12) !important;
}

/* Mobile */
@media (max-width: 1100px) {
  body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .ast-row,
  body.sc-estate-theme-bridge.blog .site-main > .ast-row,
  body.sc-estate-theme-bridge.archive .site-main > .ast-row,
  body.sc-estate-theme-bridge.search .site-main > .ast-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.sc-estate-theme-bridge .custom-logo,
  body.sc-estate-theme-bridge .site-logo-img img,
  body.sc-estate-theme-bridge .ast-site-identity img {
    max-height: 54px;
    border-radius: 14px;
  }

  .sc-estate-intro {
    padding: 26px 16px 28px;
  }

  .sc-estate-intro__inner {
    align-items: flex-start;
    gap: 14px;
  }

  .sc-estate-intro__mark {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    padding: 5px;
  }

  .sc-estate-intro__mark img {
    border-radius: 15px;
  }

  .sc-estate-intro h1 {
    font-size: clamp(28px, 8vw, 40px);
  }

  .sc-estate-intro p:not(.sc-estate-intro__eyebrow) {
    font-size: 15px;
  }

  .sc-estate-intro__links a {
    min-height: 36px;
    padding: 8px 11px;
    font-size: 13px;
  }

  body.sc-estate-theme-bridge.sc-estate-news-context .site-main > .ast-row,
  body.sc-estate-theme-bridge.blog .site-main > .ast-row,
  body.sc-estate-theme-bridge.archive .site-main > .ast-row,
  body.sc-estate-theme-bridge.search .site-main > .ast-row {
    grid-template-columns: 1fr;
  }

  body.sc-estate-theme-bridge.sc-estate-news-context article.post img,
  body.sc-estate-theme-bridge.blog article.post img,
  body.sc-estate-theme-bridge.archive article.post img,
  body.sc-estate-theme-bridge.search article.post img {
    height: 235px;
  }

  body.sc-estate-theme-bridge.page article.page,
  body.sc-estate-theme-bridge.single article.post,
  body.sc-estate-theme-bridge .ast-single-post .ast-article-single {
    border-radius: 22px;
    padding: 22px 18px;
  }
}

@media (max-width: 520px) {
  .sc-estate-intro__inner {
    flex-direction: column;
  }

  .sc-estate-intro__links {
    gap: 8px;
  }

  body.sc-estate-theme-bridge.sc-estate-news-context article.post img,
  body.sc-estate-theme-bridge.blog article.post img,
  body.sc-estate-theme-bridge.archive article.post img,
  body.sc-estate-theme-bridge.search article.post img {
    height: 210px;
  }
}


/* v1.0.1 hardening: keep blog cards in a proper 3/2/1 grid on Astra. */
body.sc-estate-theme-bridge.sc-estate-news-context .ast-row::before,
body.sc-estate-theme-bridge.sc-estate-news-context .ast-row::after,
body.sc-estate-theme-bridge.blog .ast-row::before,
body.sc-estate-theme-bridge.blog .ast-row::after,
body.sc-estate-theme-bridge.archive .ast-row::before,
body.sc-estate-theme-bridge.archive .ast-row::after,
body.sc-estate-theme-bridge.search .ast-row::before,
body.sc-estate-theme-bridge.search .ast-row::after {
  display: none !important;
  content: none !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context .ast-article-post,
body.sc-estate-theme-bridge.blog .ast-article-post,
body.sc-estate-theme-bridge.archive .ast-article-post,
body.sc-estate-theme-bridge.search .ast-article-post {
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}


/* v1.0.2 refinement: remove pill/grey navigation treatment and fix hero contrast. */
body.sc-estate-theme-bridge #masthead,
body.sc-estate-theme-bridge .site-header,
body.sc-estate-theme-bridge .main-header-bar,
body.sc-estate-theme-bridge .ast-primary-header-bar,
body.sc-estate-theme-bridge .ast-above-header-bar,
body.sc-estate-theme-bridge .ast-below-header-bar {
  background: linear-gradient(135deg, #17361c 0%, #25582c 58%, #306836 100%) !important;
}

body.sc-estate-theme-bridge .main-header-menu > .menu-item > .menu-link,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul > li > a,
body.sc-estate-theme-bridge .main-navigation > ul > li > a {
  background: transparent !important;
  color: rgba(255,255,255,0.92) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  text-shadow: 0 1px 10px rgba(0,0,0,0.22);
  border-bottom: 2px solid transparent;
}

body.sc-estate-theme-bridge .main-header-menu > .menu-item:hover > .menu-link,
body.sc-estate-theme-bridge .main-header-menu > .current-menu-item > .menu-link,
body.sc-estate-theme-bridge .main-header-menu > .current-menu-ancestor > .menu-link,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul > li:hover > a,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul > li.current-menu-item > a,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul > li.current-menu-ancestor > a {
  background: transparent !important;
  color: #fff !important;
  transform: none !important;
  border-bottom-color: rgba(201,169,97,0.88);
}

body.sc-estate-theme-bridge .main-header-menu > .menu-item > .menu-link::after,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul > li > a::after {
  color: rgba(255,255,255,0.82) !important;
}

body.sc-estate-theme-bridge .sub-menu,
body.sc-estate-theme-bridge .main-header-menu .sub-menu,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation .sub-menu {
  background: rgba(255,250,240,0.98) !important;
  border: 1px solid rgba(201,169,97,0.34) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 44px rgba(0,0,0,0.18) !important;
  padding: 6px 0 !important;
}

body.sc-estate-theme-bridge .sub-menu .menu-link,
body.sc-estate-theme-bridge .main-header-menu .sub-menu .menu-link,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation .sub-menu a {
  background: transparent !important;
  color: #1D241F !important;
  border-radius: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  padding: 10px 18px !important;
  text-shadow: none !important;
  line-height: 1.35 !important;
}

body.sc-estate-theme-bridge .sub-menu .menu-link:hover,
body.sc-estate-theme-bridge .sub-menu .menu-link:focus,
body.sc-estate-theme-bridge .main-header-menu .sub-menu .menu-link:hover,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation .sub-menu a:hover {
  background: rgba(44,95,45,0.08) !important;
  color: #17361c !important;
}

body.sc-estate-theme-bridge .sc-estate-intro h1,
body.sc-estate-theme-bridge .sc-estate-intro h2,
body.sc-estate-theme-bridge .sc-estate-intro h3,
body.sc-estate-theme-bridge .sc-estate-intro p,
body.sc-estate-theme-bridge .sc-estate-intro .sc-estate-intro__eyebrow {
  color: #fff !important;
}

body.sc-estate-theme-bridge .sc-estate-intro h1 {
  text-shadow: 0 3px 24px rgba(0,0,0,0.30) !important;
}

body.sc-estate-theme-bridge .sc-estate-intro p:not(.sc-estate-intro__eyebrow) {
  color: rgba(255,255,255,0.92) !important;
}

body.sc-estate-theme-bridge .sc-estate-intro__links a {
  border-radius: 8px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(201,169,97,0.64) !important;
  box-shadow: none !important;
}

body.sc-estate-theme-bridge .sc-estate-intro__links a:hover,
body.sc-estate-theme-bridge .sc-estate-intro__links a:focus {
  background: rgba(255,255,255,0.15) !important;
  transform: none !important;
}


/* v1.0.2 public wording and grid hardening */
body.sc-estate-theme-bridge .site-main > .ast-row,
body.sc-estate-theme-bridge .ast-row {
  box-sizing: border-box;
}

body.sc-estate-theme-bridge.sc-estate-news-context .ast-row > article.post,
body.sc-estate-theme-bridge.blog .ast-row > article.post,
body.sc-estate-theme-bridge.archive .ast-row > article.post,
body.sc-estate-theme-bridge.search .ast-row > article.post,
body.sc-estate-theme-bridge.sc-estate-news-context .ast-row > .ast-article-post,
body.sc-estate-theme-bridge.blog .ast-row > .ast-article-post,
body.sc-estate-theme-bridge.archive .ast-row > .ast-article-post,
body.sc-estate-theme-bridge.search .ast-row > .ast-article-post {
  grid-column: auto !important;
  float: none !important;
  display: flex !important;
  width: auto !important;
  max-width: 100% !important;
}

body.sc-estate-theme-bridge.sc-estate-news-context .ast-row > article.post .ast-post-format-,
body.sc-estate-theme-bridge.blog .ast-row > article.post .ast-post-format-,
body.sc-estate-theme-bridge.archive .ast-row > article.post .ast-post-format-,
body.sc-estate-theme-bridge.search .ast-row > article.post .ast-post-format- {
  width: 100% !important;
}

/* Make the bridge less intrusive on ordinary content pages. */
body.sc-estate-theme-bridge:not(.sc-estate-news-context).page article.page,
body.sc-estate-theme-bridge.single article.post,
body.sc-estate-theme-bridge .ast-single-post .ast-article-single {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* v1.0.3: remove the grey/boxed navigation container; keep white menu text directly on green. */
body.sc-estate-theme-bridge .ast-main-header-bar-alignment,
body.sc-estate-theme-bridge .main-header-bar-navigation,
body.sc-estate-theme-bridge .main-navigation,
body.sc-estate-theme-bridge .main-navigation ul,
body.sc-estate-theme-bridge .main-header-menu,
body.sc-estate-theme-bridge .ast-builder-menu,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul,
body.sc-estate-theme-bridge .site-header-primary-section-right,
body.sc-estate-theme-bridge .ast-header-social-wrap,
body.sc-estate-theme-bridge .ast-builder-layout-element,
body.sc-estate-theme-bridge #primary-site-navigation,
body.sc-estate-theme-bridge #ast-desktop-header .ast-builder-grid-row,
body.sc-estate-theme-bridge #ast-mobile-header .ast-builder-grid-row {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

body.sc-estate-theme-bridge .main-navigation > ul,
body.sc-estate-theme-bridge .main-header-menu,
body.sc-estate-theme-bridge .ast-builder-menu .main-navigation > ul {
  border: 0 !important;
  outline: 0 !important;
}


/* v1.0.5: safe sidebar search repair only.
   This release deliberately rolls back the v1.0.4 concierge-panel overrides by building
   from v1.0.3 again. The concierge plugin should own its own internal layout. */
body.sc-estate-theme-bridge #secondary .widget_search,
body.sc-estate-theme-bridge aside .widget_search {
  overflow: visible !important;
}

body.sc-estate-theme-bridge #secondary .widget_search form.search-form,
body.sc-estate-theme-bridge aside .widget_search form.search-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body.sc-estate-theme-bridge #secondary .widget_search label,
body.sc-estate-theme-bridge aside .widget_search label {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.sc-estate-theme-bridge #secondary .widget_search input.search-field,
body.sc-estate-theme-bridge aside .widget_search input.search-field,
body.sc-estate-theme-bridge #secondary .widget_search input[type="search"],
body.sc-estate-theme-bridge aside .widget_search input[type="search"] {
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  border-radius: 18px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(44,95,45,0.22) !important;
}

body.sc-estate-theme-bridge #secondary .widget_search input.search-submit,
body.sc-estate-theme-bridge aside .widget_search input.search-submit,
body.sc-estate-theme-bridge #secondary .widget_search button.search-submit,
body.sc-estate-theme-bridge aside .widget_search button.search-submit {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: auto !important;
  min-width: 92px !important;
  max-width: none !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* If Astra adds a decorative icon inside the search button, keep it from creating a second visual button. */
body.sc-estate-theme-bridge #secondary .widget_search .search-submit .ast-icon,
body.sc-estate-theme-bridge aside .widget_search .search-submit .ast-icon,
body.sc-estate-theme-bridge #secondary .widget_search .search-submit svg,
body.sc-estate-theme-bridge aside .widget_search .search-submit svg {
  display: none !important;
}

@media (max-width: 768px) {
  body.sc-estate-theme-bridge #secondary .widget_search form.search-form,
  body.sc-estate-theme-bridge aside .widget_search form.search-form {
    grid-template-columns: 1fr !important;
  }

  body.sc-estate-theme-bridge #secondary .widget_search input.search-submit,
  body.sc-estate-theme-bridge aside .widget_search input.search-submit,
  body.sc-estate-theme-bridge #secondary .widget_search button.search-submit,
  body.sc-estate-theme-bridge aside .widget_search button.search-submit {
    width: 100% !important;
  }
}

/* v1.0.6: Astra sidebar search de-duplication and layout stabilisation.
   Astra can render an icon submit button plus a visible Search submit. The broad
   bridge button styling made the icon-only submit visible as a blank green pill.
   Keep the visible Search button and suppress only the duplicate icon button. */
body.sc-estate-theme-bridge #secondary .widget_search form.search-form,
body.sc-estate-theme-bridge aside .widget_search form.search-form {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}

body.sc-estate-theme-bridge #secondary .widget_search form.search-form label,
body.sc-estate-theme-bridge aside .widget_search form.search-form label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.sc-estate-theme-bridge #secondary .widget_search form.search-form input[type="search"],
body.sc-estate-theme-bridge aside .widget_search form.search-form input[type="search"],
body.sc-estate-theme-bridge #secondary .widget_search form.search-form .search-field,
body.sc-estate-theme-bridge aside .widget_search form.search-form .search-field {
  width: 100% !important;
  height: 46px !important;
  border-radius: 18px !important;
  padding: 0 16px !important;
}

body.sc-estate-theme-bridge #secondary .widget_search form.search-form input.search-submit,
body.sc-estate-theme-bridge aside .widget_search form.search-form input.search-submit,
body.sc-estate-theme-bridge #secondary .widget_search form.search-form input[type="submit"],
body.sc-estate-theme-bridge aside .widget_search form.search-form input[type="submit"] {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 92px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  text-indent: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.sc-estate-theme-bridge #secondary .widget_search form.search-form button.search-submit,
body.sc-estate-theme-bridge aside .widget_search form.search-form button.search-submit,
body.sc-estate-theme-bridge #secondary .widget_search form.search-form button.ast-search-submit,
body.sc-estate-theme-bridge aside .widget_search form.search-form button.ast-search-submit,
body.sc-estate-theme-bridge #secondary .widget_search form.search-form .sc-search-submit-hidden,
body.sc-estate-theme-bridge aside .widget_search form.search-form .sc-search-submit-hidden {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

@media (max-width: 768px) {
  body.sc-estate-theme-bridge #secondary .widget_search form.search-form,
  body.sc-estate-theme-bridge aside .widget_search form.search-form {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.sc-estate-theme-bridge #secondary .widget_search form.search-form input.search-submit,
  body.sc-estate-theme-bridge aside .widget_search form.search-form input.search-submit,
  body.sc-estate-theme-bridge #secondary .widget_search form.search-form input[type="submit"],
  body.sc-estate-theme-bridge aside .widget_search form.search-form input[type="submit"] {
    width: 100% !important;
  }
}


/* v1.0.7: Castle Concierge embedded panel header polish.
   Narrow scope: only recolours the embedded Jack header strip once the JS marks it.
   No dimensions, positioning, message area, input area or concierge logic are changed. */
body.sc-estate-theme-bridge [data-sc-jack-header-polished="1"] {
  background: linear-gradient(135deg, #1f4521 0%, #2C5F2D 100%) !important;
  background-color: #2C5F2D !important;
  border-bottom: 1px solid rgba(201,169,97,0.42) !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,0.06) !important;
}

body.sc-estate-theme-bridge [data-sc-jack-header-polished="1"],
body.sc-estate-theme-bridge [data-sc-jack-header-polished="1"] * {
  color: #ffffff !important;
}

body.sc-estate-theme-bridge [data-sc-jack-header-polished="1"] .status,
body.sc-estate-theme-bridge [data-sc-jack-header-polished="1"] [class*="status"],
body.sc-estate-theme-bridge [data-sc-jack-header-polished="1"] small {
  color: rgba(255,255,255,0.82) !important;
}
