.casas-container { display: flex; flex-direction: column; }
.casas-top-tabs { display: flex; justify-content: flex-start; gap: 28px; margin-bottom: 20px; list-style: none; padding: 0; }
.casa-tab { cursor: pointer; background: transparent; color: #004871; text-align: center; padding: 0; border-radius: 0; width: auto; }
.casa-tab.active { color: #004871; }

.casa-content { display: none; grid-template-columns: 1fr 2fr 1fr; gap: 0; align-items: stretch; }
.casa-content.show { display: grid; }

.piso-tabs { list-style: none; padding: 0 16px 16px; background: transparent; border-radius: 0; align-self: stretch; }
/* ensure top padding is always zero regardless of specificity */
.piso-tabs { padding-top: 0 !important; }
.piso-tab { margin-bottom: 10px; cursor: pointer; padding: 12px 16px; border-radius: 4px; }
.piso-tab.active { font-weight: 600; color: #003366; background: #fff; box-shadow: none; border: none; margin-top: -1rem; border-radius: unset; }

.piso-image { background: #fff; padding: 2rem; }
.piso-image img { max-width: 100%; height: auto; display: block; }
.piso-meta { margin-top: 10px; }
.piso-title { margin: 6px 0; font-size: 1.1rem; color: #004871; }
.piso-desc { margin: 0; color: #4b5563; }
.casa-info { padding: 20px; }
.download-btn { display: inline-block; padding: 10px 20px; background: #003366; color: #fff; text-decoration: none !important; border-radius: 4px; }
.casas-top-tabs {
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
  justify-content: flex-start;
}



.casa-tab-thumb img {
  max-width: 64px;
  height: auto;
  display: block;
  margin: 0 auto 8px;
  border-radius: 4px;
}

.casa-tab-title { display: inline-block; font-size: 14px; font-weight: 700; padding: 8px 8px; border-bottom: none; border-radius: 4px; text-transform: uppercase; }
.casa-tab-title.active { background: #ff9800; color: #fff; border-radius: unset; }
/* Force icon to orange when active (works for blue mono icons) */
.casa-tab.active .casa-tab-thumb img,
.casas-top-tabs [role="tab"][aria-selected="true"] .casa-tab-thumb img {
  filter: invert(54%) sepia(90%) saturate(1248%) hue-rotate(359deg) brightness(102%) contrast(99%);
}
/* When per-casa icons are provided, never tint them */
.casas-top-tabs [data-has-icons="1"] .casa-tab-thumb img {
  filter: none !important;
}

.casas-content .casa-content {
  display: none;
  margin-top: 20px;
}

.casas-content .casa-content.active {
  display: block;
}

.casa-featured-image img {
  max-width: 250px;
  margin: 15px 0;
  border-radius: 6px;
}

.casa-download-btn {
  display: inline-block;
  padding: 10px 18px;
  background: #002b5c;
  color: #fff !important;
  text-decoration: none;
  border-radius: 6px;
  font-size: 14px;
  transition: 0.3s;
}

.casa-download-btn:hover {
  background: #ff9800;
}
.casa-featured-img img{
    margin-left: 20px;
}
.casas-top-tabs{
	border-bottom: 3px solid #ff9800;
}
.download-btn:hover{
	color: #fff !important;
}

/* Specs list */
.casa-info .casa-specs { list-style: none; padding: 0; margin: 8px 0 16px; }
.casa-info .casa-specs li { margin: 6px 0; }

/* Responsive behavior */
@media (max-width: 768px) {
  .casa-content.show { display: block; }
  .piso-tabs { display: flex; gap: 12px; margin: 12px 0; background: transparent; padding: 0; justify-content: flex-start; align-items: center; }
  .piso-tab { margin: 0; border: 1px solid #d9dde3; border-radius: 999px; padding: 10px 16px; background: #f8fafc; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; min-width: 110px; }
  .piso-tab.active { background: #fff; border: 2px solid #ff9800; color: #004871; margin-top: 0; }
  .piso-image img { width: 100%; }
  .casa-info { padding: 12px 0; }
}

/* HERO mobile stacking and centering */
@media (max-width: 768px) {
  .wp-block-columns.set-column-width.has-background .wp-block-group.is-nowrap { flex-direction: column !important; align-items: center !important; text-align: center; gap: 10px; }
  .two-side-column .wp-block-group.is-nowrap { flex-direction: column !important; align-items: center !important; }
  div.two-side-column:nth-child(2) > div:nth-child(1) { flex-direction: column !important; align-items: center !important; }
  .wp-container-core-group-is-layout-6c531013 { flex-direction: column !important; align-items: center !important; }
  .two-side-column p.has-text-align-center { margin-left: auto; margin-right: auto; }
  /* Mobile font sizing for non-titles */
  .entry-content p { font-size: 1.4rem; line-height: 1.4; }
  /* Third column paddings – use opt-in utility to avoid side-effects */
  .hero-cta-mobile { padding-top: 100px !important; padding-bottom: 100px !important; }
  /* Slick slider - no padding on mobile */
  .bsm-slider, .bsm-slider .slick-list, .bsm-slider .slick-track, .bsm-slider .bsm-slide { padding: 0 !important; }
  /* Masterplan heading */
  .masterplan-title { font-size: 3rem !important; line-height: 1.1; text-align: center; }
}

/* Ensure hero first item keeps size/line-height consistently */
.res_blue_box_text { font-size: 1.5rem !important; line-height: initial !important; }

/* Default: do not tint icons; only active gets tint unless custom icons provided */
.casas-top-tabs .casa-tab .casa-tab-thumb img { filter: none; }

/* --------------------------------------------------
   Header Navigation: active/hover underline (orange)
   Targets common WP/Astra menu classes; safe no-op elsewhere.
-------------------------------------------------- */
nav .main-header-menu .menu-item > .menu-link,
nav .main-header-menu .menu-item > a,
nav .menu > .menu-item > a {
  position: relative;
}
nav .main-header-menu .menu-item > .menu-link::after,
nav .main-header-menu .menu-item > a::after,
nav .menu > .menu-item > a::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -8px;
  height: 3px; background: #ff9800;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
/* Hover/active underline */
nav .main-header-menu .menu-item:hover > .menu-link::after,
nav .main-header-menu .menu-item.current-menu-item > .menu-link::after,
nav .main-header-menu .menu-item.current-menu-ancestor > .menu-link::after,
nav .menu > .menu-item:hover > a::after,
nav .menu > .current-menu-item > a::after,
nav .menu > .current-menu-ancestor > a::after {
  transform: scaleX(1);
}
/* Orange text when active/hover */
nav .main-header-menu .menu-item:hover > .menu-link,
nav .main-header-menu .menu-item.current-menu-item > .menu-link,
nav .main-header-menu .menu-item.current-menu-ancestor > .menu-link,
nav .menu > .menu-item:hover > a,
nav .menu > .current-menu-item > a,
nav .menu > .current-menu-ancestor > a {
  color: #ff9800 !important;
}

/* --------------------------------------------------
   Marketing band overrides (icons + text blocks)
   Always target hashed Gutenberg classes safely.
-------------------------------------------------- */
/* Specific class used on first column text */
.res_blue_box_text { font-size: 1.5rem !important; line-height: initial !important; }

/* Any Gutenberg auto-generated class starting with wp-elements- inside the blue band */
.wp-block-columns.set-column-width.has-background [class^="wp-elements-"] {
  font-size: 1.5rem !important;
  line-height: initial !important;
}

/* First centered paragraph in each two-side-column block */
.wp-block-columns.set-column-width.has-background .two-side-column p.has-text-align-center:first-child {
  font-size: 2rem !important;
  line-height: initial !important;
  padding-top: 0 !important;
}
div.two-side-column:nth-child(2) > div:nth-child(1) {
  font-size: 1.5rem !important;
  line-height: initial !important;
}
