/* ================================================================
   DOR DE MARE — Homepage v3.0
   Premium coastal booking platform — Index page
   ================================================================ */

/* ── HERO ──────────────────────────────────────────────────── */
.hero {
  position: relative;
  height: clamp(480px, 75vh, 760px);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  animation: heroPan 6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  will-change: transform;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 10, 24, 0.32) 0%, rgba(5, 10, 24, 0.74) 100%),
    linear-gradient(90deg, rgba(0, 78, 108, 0.58) 0%, rgba(0, 78, 108, 0.18) 52%, rgba(5, 10, 24, 0.42) 100%);
}
.hero-content {
  position: relative;
  z-index: 2;
  width: min(920px, calc(100% - 40px));
  max-width: 920px;
  padding: clamp(72px, 12vh, 114px) 0 clamp(96px, 13.5vh, 132px);
  text-align: center;
  transform: translateY(52px);
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0;
  margin-bottom: var(--sp-8);
  color: #FFFFFF;
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.28);
}
.hero-badge svg {
  flex-shrink: 0;
  color: #FFFFFF;
}
.hero h1 {
  font-size: clamp(3rem, 6.2vw, 5.2rem);
  font-weight: 600;
  color: #FFFFFF;
  line-height: 1.08;
  margin-bottom: var(--sp-6);
  letter-spacing: -0.03em;
  text-shadow: 0 4px 28px rgba(0, 0, 0, 0.34);
}
.hero h1 em {
  font-family: var(--font-accent);
  font-weight: 700;
  font-style: normal;
  color: var(--c-sand);
  position: relative;
  display: inline;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

.hero p {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  margin-inline: auto;
  max-width: 620px;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.26);
}
/* ── HERO CTA ───────────────────────────────────────────────── */
.hero-cta-group {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  margin-top: var(--sp-8);
}
.hero-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  height: 48px;
  padding: 0 26px;
  background: transparent;
  border: 1.5px solid #FFFFFF;
  border-radius: var(--r-md);
  color: #FFFFFF;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s var(--ease), background 0.2s var(--ease);
}
.hero-cta-btn:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.12);
  color: #FFFFFF;
}
.hero-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.95rem;
  font-weight: 500;
  text-decoration: none;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.22);
}
.hero-cta-link span {
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s var(--ease);
}
.hero-cta-link svg {
  transition: transform 0.2s var(--ease);
}
.hero-cta-link:hover span {
  border-color: rgba(255, 255, 255, 0.6);
}
.hero-cta-link:hover svg {
  transform: translateX(3px);
}
@media (max-width: 768px) {
  .hero-cta-btn { display: none; }
}

/* ── SEARCH BAR ────────────────────────────────────────────── */
.search-wrapper {
  position: relative;
  z-index: 10;
  max-width: 1060px;
  margin: -42px auto 0;
  padding: 0 clamp(16px, 4vw, 40px);
}
.search-card {
  background: var(--c-surface);
  border-radius: 18px;
  padding: 28px 34px;
  box-shadow: 0 20px 54px rgba(8, 14, 30, 0.18);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr auto;
  gap: var(--sp-4);
  align-items: end;
  border: 1px solid rgba(0, 130, 181, 0.18);
}
[data-theme="dark"] .search-card {
  border-color: var(--c-border);
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-group label {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--c-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.form-input {
  height: 44px;
  border: 1.5px solid var(--c-border-strong);
  border-radius: var(--r);
  padding: 0 var(--sp-4) 0 40px;
  font-family: var(--font);
  font-size: 0.875rem;
  color: var(--c-text);
  background: var(--c-surface);
  transition: all 0.2s var(--ease);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
}
.form-input:focus {
  border-color: var(--c-primary);
  box-shadow: var(--s-focus);
  background: var(--c-surface);
}
.input-wrap { position: relative; }
.input-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 15px;
  pointer-events: none;
  z-index: 1;
  color: var(--c-primary);
}
.btn-search {
  background: var(--c-primary);
  color: #FFFFFF;
  border: none;
  border-radius: var(--r);
  height: 48px;
  padding: 0 28px;
  font-family: var(--font);
  font-weight: 700;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.2s var(--ease);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  box-shadow: 0 10px 24px rgba(0, 130, 181, 0.13);
}
.btn-search:hover {
  background: var(--c-primary-hover);
  box-shadow: 0 4px 16px rgba(26, 75, 132, 0.16);
  transform: translateY(-1px);
}

/* ── CATEGORY FILTER BAR ───────────────────────────────────── */
/* Compatibilitate animatie JS */

/* ── LEGACY QUICK ICON CIRCLE (păstrat pentru compatibilitate) ─ */
.quick-icon-circle {
  width: 56px;
  height: 56px;
  border: 2px solid var(--c-border-strong);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: all 0.25s var(--ease);
  background: var(--c-surface);
  color: var(--c-text-secondary);
}
.quick-icon:hover .quick-icon-circle {
  background: var(--c-gradient);
  border-color: transparent;
  color: #FFFFFF;
  box-shadow: 0 4px 16px rgba(26, 75, 132, 0.14);
}
.quick-icon span {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--c-text-secondary);
}

/* ── SECTION GENERIC ───────────────────────────────────────── */
section {
  padding: clamp(48px, 7vw, 80px) clamp(16px, 4vw, 64px);
  max-width: 100%;
  margin: 0;
}
.section-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-accent);
  font-size: 1.15rem;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0;
  text-transform: none;
  color: var(--c-sand-dark);
  margin-bottom: var(--sp-2);
}
.section-title {
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 600;
  color: var(--c-text);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: var(--sp-2);
}
.section-title em {
  font-style: italic;
  font-weight: 600;
  color: var(--c-sand-dark);
}
.section-sub {
  color: var(--c-text-secondary);
  font-size: 0.875rem;
  margin-bottom: var(--sp-8);
  max-width: 480px;
  line-height: 1.6;
}
.section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--sp-6);
  flex-wrap: wrap;
  gap: var(--sp-4);
}
.btn-outline {
  border: 1.5px solid var(--c-border-strong);
  color: var(--c-text-secondary);
  background: transparent;
  border-radius: var(--r-pill);
  padding: 10px 24px;
  font-family: var(--font);
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.2s var(--ease);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.btn-outline:hover {
  border-color: var(--c-primary);
  color: var(--c-primary);
  background: var(--c-primary-ghost);
}

/* ── BOOKING CARDS (Property) ──────────────────────────────── */
.carousel-btn {
  width: 40px; height: 40px; border-radius: 50%;
  border: 1.5px solid var(--c-border-strong);
  background: var(--c-surface); color: var(--c-text-secondary);
  cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.carousel-btn:hover { background: var(--c-primary-ghost); border-color: var(--c-primary); color: var(--c-primary); }
.carousel-btn:active { transform: scale(0.95); }
@media (max-width: 768px) { .carousel-btn { display: none; } }

.carousel-wrapper {
  width: 100%;
  overflow: hidden;
  padding: 16px 0 24px;
  margin: -16px 0 -24px;
}

/* Grid uniform 3 coloane */
.booking-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
}

/* ── PROP GRID — carousel orizontal ── */
.prop-grid {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  width: 100%;
}
.prop-grid::-webkit-scrollbar { display: none; }
.prop-grid .property-card,
.prop-grid .prop-skeleton {
  flex: 0 0 calc((100% - 60px) / 4);
  min-width: 0;
  scroll-snap-align: start;
}

/* Dots */
.prop-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  min-height: 18px;
}
.prop-dot {
  width: 8px;
  height: 8px;
  min-width: 8px;
  min-height: 8px;
  border-radius: 50%;
  background: var(--c-border-strong);
  border: 1px solid transparent;
  appearance: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  flex-shrink: 0;
  opacity: 0.75;
  transition: background 0.18s var(--ease), border-color 0.18s var(--ease), opacity 0.18s var(--ease), transform 0.18s var(--ease);
}
.prop-dot:hover {
  opacity: 1;
  transform: scale(1.18);
}
.prop-dot.active {
  background: var(--c-primary);
  border-color: var(--c-primary);
  opacity: 1;
  transform: scale(1.12);
}
#popular .prop-dot {
  background: rgba(255,255,255,0.36);
  border-color: transparent;
}
#popular .prop-dot.active {
  background: #FFFFFF;
  border-color: #FFFFFF;
}
#popular .carousel-btn {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.3);
  color: rgba(255,255,255,0.9);
}
#popular .carousel-btn:hover {
  background: rgba(255,255,255,0.22);
  border-color: rgba(255,255,255,0.6);
  color: #FFFFFF;
}
/* Secțiunile de proprietăți — padding compact */
.prop-section {
  background: var(--c-bg);
  padding: clamp(32px, 5vw, 56px) clamp(16px, 4vw, 64px);
}
/* Section sub compact în prop sections */
.prop-section .section-sub { margin-bottom: 0; }

/* Secțiunea din mijloc — fundal brand blue */
#popular {
  background: linear-gradient(155deg, #0082B5 0%, #004E6C 100%);
  padding: 72px 0;
  position: relative;
  overflow: visible;
  margin-top: -2px;
}
[data-theme="dark"] #popular {
  background: linear-gradient(155deg, #3570B5 0%, #244C84 100%);
}
#popular .section-header {
  padding: var(--sp-4) clamp(16px, 4vw, 64px) var(--sp-6);
}
#popular .carousel-wrapper {
  padding: 0 clamp(16px, 4vw, 64px);
}
#popular .prop-dots {
  padding: var(--sp-4) clamp(16px, 4vw, 64px) clamp(var(--sp-5), 3vw, var(--sp-8));
}
#popular .section-title { color: #FFFFFF; }
#popular .section-sub   { color: rgba(255, 255, 255, 0.75); }
#popular .btn-outline {
  border-color: rgba(255, 255, 255, 0.45);
  color: rgba(255, 255, 255, 0.9);
  background: transparent;
}
#popular .btn-outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.7);
  color: #FFFFFF;
}
#popular .section-tag { color: var(--c-sand-light); font-size: 1.4rem; font-style: normal; }

/* ── WAVE TRANSITIONS ─────────────────────────────────────── */
#popular::before,
#popular::after {
  content: '';
  position: absolute;
  left: -1px; right: -1px;
  height: 74px;
  pointer-events: none;
  z-index: 2;
  display: block;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

/* Top waves — mobile */
#popular::before {
  top: -1px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C500,72 1100,0 1440,50 L1440,0 Z' fill='%23FAFAFA'/%3E%3C/svg%3E") no-repeat top / 100% 100%;
  transform: translateY(-1px);
}

/* Bottom waves — mobile: alb (about-mission iese în testimonials alb) */
#popular::after {
  bottom: -1px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath d='M0,72 C500,0 1100,72 1440,22 L1440,72 Z' fill='%23FAFAFA'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
  transform: translateY(1px);
}

/* cta-list bottom wave: dark — intră în footer #111827 */

/* Dark mode waves — mobile */
[data-theme="dark"] #popular::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C500,72 1100,0 1440,50 L1440,0 Z' fill='%230D1117'/%3E%3C/svg%3E");
}
[data-theme="dark"] #popular::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath d='M0,72 C500,0 1100,72 1440,22 L1440,72 Z' fill='%230D1117'/%3E%3C/svg%3E");
}

/* Desktop waves */
@media (min-width: 768px) {
  #popular::before {
    display: block;
    height: 110px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C360,110 880,0 1440,68 L1440,0 L0,0 Z' fill='%23FAFAFA'/%3E%3C/svg%3E") no-repeat top / 100% 100%;
    transform: translateY(-1px);
  }
  #popular::after {
    display: block;
    height: 110px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M0,110 C360,0 880,110 1440,42 L1440,110 L0,110 Z' fill='%23FAFAFA'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
    transform: translateY(1px);
  }
  [data-theme="dark"] #popular::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M0,0 C360,110 880,0 1440,68 L1440,0 L0,0 Z' fill='%230D1117'/%3E%3C/svg%3E");
  }
  [data-theme="dark"] #popular::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 110' preserveAspectRatio='none'%3E%3Cpath d='M0,110 C360,0 880,110 1440,42 L1440,110 L0,110 Z' fill='%230D1117'/%3E%3C/svg%3E");
  }
}

/* Content sits above waves */
#popular .section-header,
#popular .carousel-wrapper,
#popular .prop-dots {
  position: relative;
  z-index: 3;
}

/* Italic em in blue section titles */
#popular .section-title em {
  font-style: italic;
  color: var(--c-sand-light);
  font-weight: inherit;
}

/* ── PROPERTY CARD — Redesign ──────────────────────────────── */
.property-card {
  background: #FFFFFF;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 6px 20px rgba(0,0,0,0.07);
  transition: transform 0.28s cubic-bezier(0.22,1,0.36,1),
              box-shadow 0.28s cubic-bezier(0.22,1,0.36,1);
  text-decoration: none;
  color: inherit;
  display: block;
  cursor: pointer;
}
.property-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.04), 0 16px 40px rgba(0,0,0,0.11);
}

/* ── IMAGE ── */
.card-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
  background: #E5E7EB;
}
.card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.22,1,0.36,1);
}
.property-card:hover .card-img img { transform: scale(1.05); }

/* ── BADGE ── */

/* ── RANK ── */

/* ── FAV BUTTON ── */

/* ── RATING IMAGE BADGE (top-rated section) ── */
.rating-img-badge {
  position: absolute;
  top: 10px; left: 10px;
  display: flex;
  align-items: center;
  gap: 3px;
  background: var(--c-primary);
  border-radius: 20px;
  padding: 4px 9px 4px 7px;
  font-size: 12px;
  font-weight: 600;
  color: #FFFFFF;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  z-index: 1;
  pointer-events: none;
}
.rating-img-badge svg { flex-shrink: 0; }

/* ── SKELETON ── */
.prop-skeleton {
  position: relative;
  overflow: hidden;
  background: #EBEBEB;
  border-radius: 18px;
}
.prop-skeleton::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.7) 50%, transparent 100%);
  animation: shimmer 1.4s infinite linear;
  will-change: transform;
}
.prop-skeleton  { height: 280px; min-width: 180px; }

/* ── CARD BODY ── */
.card-body {
  padding: 14px 16px 16px;
  background: #FFFFFF;
}
.card-name {
  font-weight: 600;
  font-size: 0.9375rem;
  margin-bottom: 4px;
  line-height: 1.3;
  color: #111827;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-loc {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 0.75rem;
  color: #9CA3AF;
  font-weight: 400;
  margin-bottom: 12px;
}
.card-loc svg { opacity: 0.6; flex-shrink: 0; }

.prop-chips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 10px 0 12px;
}

.prop-chip {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  gap: 6px;
  border: 1px solid var(--c-border-subtle);
  border-radius: 10px;
  background: var(--c-bg);
  color: var(--c-text-secondary);
  padding: 6px 8px;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.15;
}

.prop-chip svg {
  flex: 0 0 auto;
  color: var(--c-primary);
}

.prop-chip-location {
  grid-column: 1 / -1;
}

/* ── FOOTER ── */
.card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid rgba(212, 175, 55, 0.18);
  margin-bottom: 12px;
}
.card-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #374151;
}
.stars { color: var(--c-sand); font-size: 0.6875rem; }
.card-price { text-align: right; }
.price-val {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--c-primary);
  letter-spacing: -0.01em;
}
.price-per {
  font-size: 0.625rem;
  color: #9CA3AF;
  display: block;
  text-align: right;
  margin-top: 1px;
}

/* ── ACTION BAR ── */
.card-body::after {
  content: 'Vezi Detalii';
  display: block;
  padding: 9px 0;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-primary);
  background: #EEF4FF;
  border-radius: 10px;
  pointer-events: none;
  transition: background 0.22s ease, color 0.22s ease;
}
.property-card:hover .card-body::after {
  background: var(--c-primary);
  color: #FFFFFF;
}

/* ── FOOD SECTION ──────────────────────────────────────────── */
.food-section {
  background: #2057DE;
  position: relative;
  max-width: 100%;
  margin: 0;
  padding: clamp(48px, 7vw, 80px) clamp(16px, 4vw, 64px);
}
[data-theme="dark"] .food-section {
  background: #1E4A8C;
}
.food-section .section-tag { color: var(--c-sand-light); }
.food-section .section-title { color: #FFFFFF; }
.food-section .section-sub { color: #BFDBFE; }
.food-section .btn-outline {
  border-color: rgba(255, 255, 255, 0.4);
  color: rgba(255, 255, 255, 0.95);
  background: transparent;
}
.food-section .btn-outline:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.6);
  color: #FFFFFF;
}
.food-section .carousel-btn {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.5);
  color: #FFFFFF;
}
.food-section .carousel-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.8);
  color: #FFFFFF;
}
/* Food carousel orizontal */
.food-grid {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 20px;
  padding-top: 16px;
  margin-top: -16px;
  padding-bottom: 8px;
  scrollbar-width: none;
}
.food-grid::-webkit-scrollbar { display: none; }


/* ── STORE SECTION ─────────────────────────────────────────── */
.store-section {
  background: var(--c-bg);
}
[data-theme="dark"] .store-section {
  background: var(--c-bg);
}

/* Featured card stânga + 3 compacte dreapta */
.store-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 20px;
  width: 100%;
}
/* Carduri compacte orizontale */

/* Product badge */

/* ── COASTAL CURVE BETWEEN SECTIONS ────────────────────────── */

/* ── FOOTER (inherits from design-system.css) ──────────────── */
footer {
  background: #111827;
  color: rgba(255, 255, 255, 0.7);
  padding: var(--sp-12) clamp(16px, 4vw, 64px) var(--sp-6);
}
[data-theme="dark"] footer {
  background: #0A0E14;
  border-top: 1px solid var(--c-border);
}
.footer-grid {
  max-width: var(--max-w);
  margin: 0 auto var(--sp-10);
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--sp-10);
}
.footer-logo {
  font-weight: 600;
  font-size: 1.25rem;
  letter-spacing: -0.03em;
  color: #FFFFFF;
  margin-bottom: var(--sp-3);
  background: transparent;
}
.footer-logo-img {
  background: transparent !important;
}
.footer-logo span { color: var(--c-accent); }
.footer-desc {
  font-size: 0.85rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: var(--sp-5);
}
.social-row { display: flex; gap: var(--sp-2); }
.social-btn {
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.45);
  transition: all 0.15s var(--ease);
  text-decoration: none;
}
.social-btn:hover {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #FFFFFF;
}
.footer-col h3 {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: var(--sp-4);
}
.footer-col a {
  display: block;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.45);
  padding: var(--sp-1) 0;
  transition: color 0.15s;
  text-decoration: none;
}
.footer-col a:hover { color: #FFFFFF; }
.footer-bottom {
  max-width: var(--max-w);
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: var(--sp-5);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.25);
  flex-wrap: wrap;
  gap: var(--sp-2);
}

/* ── ANIMATIONS ────────────────────────────────────────────── */
/* Quick icons — pop-up cu spring la scroll */
@keyframes iconPopUp {
  0%   { opacity: 0; transform: translateY(36px) scale(0.75); }
  60%  { opacity: 1; transform: translateY(-8px) scale(1.08); }
  80%  { transform: translateY(3px) scale(0.97); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
.quick-icon.icon-visible {
  animation: iconPopUp 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

/* Hero Ken Burns — zoom out lent la load */
@keyframes heroPan {
  from { transform: scale(1.1) translate(1%, 0.5%); }
  to   { transform: scale(1.0) translate(0, 0); }
}
/* Food section gradient animat */

/* Scroll progress bar */
#scrollProgress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 100%;
  background: var(--c-primary);
  z-index: 9;
  transform: scaleX(0);
  transform-origin: left;
  will-change: transform;
  pointer-events: none;
}
.quick-icon-circle { transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1); }
.quick-icon:hover .quick-icon-circle { transform: translateY(-2px) scale(1.05); }
.quick-icon span { transition: color 0.2s var(--ease); }
.quick-icon:hover span { color: var(--c-primary); }
.carousel-btn { transition: all 0.2s var(--ease); }
.carousel-btn:hover { transform: scale(1.08); }
.btn-search:hover { transform: translateY(-2px); }
@media (hover: none) {
  .property-card:hover .card-img img { transform: none; }
  .carousel-btn:hover { transform: none; }
}

/* ── RESPONSIVE ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .search-card { grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .booking-grid { grid-template-columns: repeat(2, 1fr); }
  .prop-grid .property-card,
  .prop-grid .prop-skeleton { flex: 0 0 calc((100% - 40px) / 3); }
  .store-grid { grid-template-columns: 1.3fr 1fr; }
}
@media (max-width: 768px) {
  /* Dezactiveaza animatia hero pe mobile — GPU e limitat */
  .hero-bg img { animation: none; transform: none; will-change: auto; }

  .hero { height: clamp(420px, 62vh, 520px); }
  .hero-content {
    width: min(100% - 32px, 560px);
    padding: 68px 0 72px;
    transform: translateY(18px);
  }
  .hero h1 {
    font-size: clamp(1.98rem, 8.8vw, 2.32rem);
    line-height: 1.12;
  }
  .hero h1 em { background: none; -webkit-text-fill-color: var(--c-sand); color: var(--c-sand); }
  .hero p { font-size: 0.86rem; }

  .search-wrapper { padding: 0 20px; margin-top: -34px; }
  .search-card {
    grid-template-columns: 1fr;
    gap: var(--sp-3);
    padding: 22px;
    border-radius: var(--r-md);
  }
  /* Font weight mai lejer in search pe mobile */
  .form-group label { font-weight: 400; letter-spacing: 0.04em; }
  .form-input { font-size: 0.9375rem; }
  .btn-search { width: 100%; justify-content: center; }

  section { padding: clamp(28px,6vw,40px) 20px; }
  .section-header { flex-direction: column; align-items: flex-start; gap: var(--sp-3); }
  .section-title { font-size: 1.0625rem; font-weight: 600; }

  /* Food/store carousel → grid 2×2 pe mobile (fără scroll orizontal) */
  .food-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow-x: unset;
    gap: 12px;
    padding-bottom: 0;
    scroll-snap-type: unset;
  }
  /* Ascunde cardurile 3+ pe mobile — 2 e suficient */

  /* Cazări → 1 coloana pe mobile */
  .booking-grid { grid-template-columns: 1fr; }

  /* Prop grid mobile — peek vizibil la cardul următor */
  .prop-grid { gap: 14px; touch-action: pan-x pan-y; overflow-y: hidden; }
  .prop-grid .property-card,
  .prop-grid .prop-skeleton { flex: 0 0 80%; max-width: none; }

  /* Store → single column pe mobile */
  .store-grid {
    grid-template-columns: 1fr;
  }

  footer { padding: var(--sp-10) var(--sp-4) var(--sp-5); }
  .footer-grid { grid-template-columns: 1fr; gap: var(--sp-6); }
  .footer-bottom { flex-direction: column; gap: var(--sp-2); text-align: center; }
}
@media (max-width: 480px) {
  .booking-grid,
  .food-grid {
    grid-template-columns: 1fr;
  }
}


/* ── SCROLL REVEAL ─────────────────────────────────────────── */
/* transition e pe combinatia .reveal.reveal-visible, NU pe .reveal singur:
   daca ar fi pe .reveal, adaugarea acelei clase ar schimba opacity 1→0 in
   aceeasi bataie de stil in care se ataseaza si transition-ul, ceea ce
   porneste o tranzitie nedorita 1→0 chiar la load — dublul rAF din JS o
   inverseaza 0→1 la doar cateva ms distanta, iar rezultatul vizual e ca
   elementul apare instant, fara nicio tranzitie vizibila. */
.reveal {
  opacity: 0;
  transform: translateY(16px);
}
.reveal.reveal-visible {
  opacity: 1;
  transform: none;
  transition: opacity 0.4s var(--ease), transform 0.4s var(--ease);
}
/* Pentru elemente cu transform propriu semnificativ (ex. polaroid-urile
   rotite din hero) — reveal doar pe opacity, fara sa strice rotatia/scale. */
.reveal-fade {
  opacity: 0;
}
.reveal-fade.reveal-visible {
  opacity: 1;
  transition: opacity 0.4s var(--ease);
}

/* ── MOBILE PERFORMANCE ────────────────────────────────────── */
@media (max-width: 768px) {
  /* Elimina backdrop-filter costisitor pe telefoane */
  .hero-badge {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}

/* ── TESTIMONIALE — fundal alb ──────────────────────────────── */
.testimonials-section {
  background: #FFFFFF;
  padding: clamp(70px, 8vw, 100px) clamp(16px, 4vw, 64px);
  position: relative;
  overflow: visible;
}
[data-theme="dark"] .testimonials-section {
  background: var(--c-surface);
}
.testi-inner {
  max-width: var(--max-w);
  margin: 0 auto;
}
.testi-header {
  text-align: center;
  margin-bottom: var(--sp-10);
}
.testimonials-section .section-tag {
  background: var(--c-sand-pale);
  color: var(--c-sand-dark);
  border-color: rgba(212, 168, 67, 0.25);
}
.testimonials-section .section-title {
  color: var(--c-text);
}
.testimonials-section .section-sub {
  color: var(--c-text-secondary);
  margin-left: auto;
  margin-right: auto;
}
.testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
}
.testi-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-md);
  padding: var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  transition: box-shadow 0.2s var(--ease), border-color 0.2s var(--ease), background 0.2s var(--ease);
  backdrop-filter: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}
.testi-card:hover {
  border-color: var(--c-border);
  background: var(--c-surface);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
}
.testi-stars {
  color: var(--c-sand);
  font-size: 0.875rem;
  letter-spacing: 2px;
}
.testi-quote {
  color: var(--c-text-secondary);
  font-size: 0.9375rem;
  font-style: italic;
  line-height: 1.65;
  flex: 1;
}
.testi-author {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-top: var(--sp-3);
  border-top: 1px solid var(--c-border-subtle);
  margin-top: auto;
}
.testi-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--c-primary);
  color: #FFFFFF;
  font-weight: 600;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.testi-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--c-text);
  margin: 0;
}
.testi-detail {
  font-size: 0.75rem;
  color: var(--c-text-tertiary);
  margin: 0;
}
[data-theme="dark"] .testi-card {
  background: var(--c-surface);
  border-color: var(--c-border);
}
@media (max-width: 900px) {
  .testi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .testimonials-section {
    padding-top: calc(clamp(40px, 5vw, 60px) + 64px);
    padding-bottom: calc(clamp(40px, 5vw, 60px) + 64px);
  }
}
@media (max-width: 560px) {
  .testi-grid { grid-template-columns: 1fr; }
}

/* ══ DESPRE NOI ══════════════════════════════════════════════ */

/* Blob decorativ în fundal */


/* Dark mode — secțiunea are deja fundal albastru, nu e nevoie de override */

/* ══ DESPRE NOI & MISIUNEA NOASTRĂ — secțiune unificată ══════ */

/* Titlul stânga (about) și dreapta (mission) — aceeași mărime */

/* ── ROADMAP ORIZONTAL ──────────────────────────────────────── */
/* Linia orizontală care leagă dots-urile */

/* ── CTA SECTION — Listare Proprietate — fundal albastru ───── */

/* ── DARK MODE — Property Cards ────────────────────────────── */
[data-theme="dark"] .property-card {
  background: var(--c-surface);
}
[data-theme="dark"] .card-body {
  background: var(--c-surface);
}
[data-theme="dark"] .card-name {
  color: var(--c-text);
}
[data-theme="dark"] .card-loc {
  color: var(--c-text-tertiary);
}
[data-theme="dark"] .card-rating {
  color: var(--c-text-secondary);
}
[data-theme="dark"] .card-footer {
  border-top-color: var(--c-border);
}
[data-theme="dark"] .prop-skeleton {
  background: var(--c-surface);
}
[data-theme="dark"] .card-body::after {
  background: var(--c-primary-ghost);
  color: var(--c-primary);
}
[data-theme="dark"] .property-card:hover .card-body::after {
  background: var(--c-primary);
  color: #FFFFFF;
}

/* ══ MISIUNEA NOASTRĂ ════════════════════════════════════════ */

/* Timeline */

/* Right side */

.food-section[style*="display:none"],
.food-section[style*="display: none"],
.store-section[style*="display:none"],
.store-section[style*="display: none"] {
  display: none !important;
}

.testi-card {
  border-color: var(--c-border);
}

.testi-quote {
  font-size: 0.92rem;
  line-height: 1.62;
}

@media (max-width: 768px) {
  .hero {
    height: clamp(500px, 76vh, 620px);
  }

  .hero-content {
    padding-bottom: 92px;
  }
}

/* ── FIGMA-INSPIRED INDEX REFRESH ──────────────────────────── */
body {
  background: #FFFFFF;
}

.home-index-refresh #header.header-on-hero,
.home-index-refresh #header.header-after-hero {
  background: #FFFFFF;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 0 !important;
  border-bottom-color: transparent;
  border-bottom-width: 0;
}

[data-theme="dark"] .home-index-refresh #header.header-on-hero,
[data-theme="dark"] .home-index-refresh #header.header-after-hero {
  background: var(--c-bg);
  box-shadow: none !important;
  border-bottom-color: transparent;
}

.home-index-refresh #header.header-on-hero .logo,
.home-index-refresh #header.header-on-hero nav a,
.home-index-refresh #header.header-after-hero .logo,
.home-index-refresh #header.header-after-hero nav a {
  color: var(--c-text-secondary);
}

.home-index-refresh #header.header-on-hero nav a.active,
.home-index-refresh #header.header-on-hero nav a:hover,
.home-index-refresh #header.header-after-hero nav a.active,
.home-index-refresh #header.header-after-hero nav a:hover {
  color: var(--c-primary);
}

.home-index-refresh #header.header-on-hero nav a::after,
.home-index-refresh #header.header-after-hero nav a::after {
  background: var(--c-primary);
}

.home-index-refresh #header.header-on-hero .logo-img,
.home-index-refresh #header.header-after-hero .logo-img {
  filter: none !important;
}

.home-index-refresh #header.header-on-hero .logo-script,
.home-index-refresh #header.header-after-hero .logo-script {
  color: #0B5FA5;
}

.home-index-refresh #header.header-on-hero .logo-bold,
.home-index-refresh #header.header-after-hero .logo-bold {
  color: #F5820B;
}

.home-index-refresh #header.header-on-hero .theme-toggle,
.home-index-refresh #header.header-on-hero .btn-header-outline,
.home-index-refresh #header.header-on-hero .btn-header-cart,
.home-index-refresh #header.header-after-hero .theme-toggle,
.home-index-refresh #header.header-after-hero .btn-header-outline,
.home-index-refresh #header.header-after-hero .btn-header-cart {
  color: var(--c-primary);
  border-color: rgba(0, 123, 167, 0.18);
  background: rgba(255, 255, 255, 0.72);
}

[data-theme="dark"] .home-index-refresh #header.header-on-hero .theme-toggle,
[data-theme="dark"] .home-index-refresh #header.header-on-hero .btn-header-outline,
[data-theme="dark"] .home-index-refresh #header.header-on-hero .btn-header-cart,
[data-theme="dark"] .home-index-refresh #header.header-after-hero .theme-toggle,
[data-theme="dark"] .home-index-refresh #header.header-after-hero .btn-header-outline,
[data-theme="dark"] .home-index-refresh #header.header-after-hero .btn-header-cart {
  color: var(--c-primary);
  border-color: var(--c-border);
  background: var(--c-bg);
}

.home-index-refresh #header .btn-header-cart,
.home-index-refresh #header .btn-header-outline {
  position: relative;
  width: 42px;
  height: 42px;
  padding: 0 !important;
  justify-content: center;
  border-radius: 999px;
}

.home-index-refresh #header .btn-header-cart .cart-label,
.home-index-refresh #header .btn-header-outline span {
  display: none !important;
}

.home-index-refresh #header .btn-header-cart .btn-badge {
  position: absolute;
  top: 4px;
  right: 3px;
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  font-size: 0.62rem;
}

.home-index-refresh #header.header-on-hero .btn-header-cart .btn-badge,
.home-index-refresh #header.header-after-hero .btn-header-cart .btn-badge {
  background: var(--c-primary);
  color: #FFFFFF;
}

.hero {
  height: auto;
  min-height: 0;
  padding: 72px clamp(12px, 3.5vw, 54px) 0;
  display: block;
  overflow: visible;
}

.hero-shell {
  position: relative;
  min-height: clamp(560px, 58vw, 765px);
  max-width: 1360px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 45px;
  box-shadow: 0 18px 42px rgba(5, 16, 32, 0.18);
  isolation: isolate;
  background: #0C3348;
  /* fix glitch colturi patrate la scroll: .hero-bg (copil) e pe propriul
     layer GPU (will-change:transform, mutat de JS la parallax) — fara
     contain:paint, Chrome/Safari nu re-aplica mereu clipul rotunjit peste
     acel layer compus in timpul transform-ului. */
  contain: paint;
}

.hero-bg {
  position: absolute;
  inset: 0;
  /* top/bottom cu putina rezerva fata de .hero-shell — parallax-ul pe scroll
     (JS, translateY pana la ±22px) nu trebuie sa dezveleasca marginea. */
  top: -24px;
  bottom: -24px;
  will-change: transform;
}

.hero-bg img {
  animation: none;
  transform: none;
  object-position: center;
}

.hero-overlay {
  background:
    linear-gradient(90deg, rgba(3, 28, 46, 0.76) 0%, rgba(3, 28, 46, 0.42) 48%, rgba(3, 28, 46, 0.08) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.26) 100%);
}

.hero-content {
  position: absolute;
  left: clamp(28px, 5vw, 72px);
  top: 50%;
  width: min(880px, calc(100% - 56px));
  padding: 0;
  transform: translateY(-36%);
  text-align: left;
  z-index: 3;
}

.hero h1 {
  font-size: clamp(3.25rem, 6.9vw, 6rem);
  line-height: 1.02;
  margin-bottom: 16px;
  letter-spacing: 0;
}

.hero h1 em {
  color: #FFFFFF;
  font-size: 1em;
}

.hero-word-accent {
  color: #FFFFFF;
  -webkit-text-fill-color: #FFFFFF;
}

.hero p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(0.95rem, 1.3vw, 1.06rem);
  white-space: nowrap;
}

.hero-polaroid-stack {
  position: absolute;
  right: clamp(24px, 4vw, 88px);
  top: 50%;
  z-index: 3;
  width: clamp(220px, 20vw, 292px);
  height: clamp(300px, 27vw, 378px);
  --parallax-y: 0px;
  transform: translateY(-50%) translateY(var(--parallax-y));
  will-change: transform;
}

.hero-polaroid {
  position: absolute;
  inset: 0;
  padding: 14px 14px 46px;
  background: #FFFFFF;
  border-radius: 6px;
  box-shadow:
    0 24px 46px rgba(3, 28, 46, 0.32),
    0 4px 10px rgba(3, 28, 46, 0.18);
  transition: transform 0.25s var(--ease);
}

.hero-polaroid--main {
  z-index: 3;
  transform: rotate(-3deg);
}

.hero-polaroid--back-left {
  z-index: 1;
  filter: brightness(0.92);
  transform: rotate(-11deg) translate(-30px, 26px) scale(0.9);
}

.hero-polaroid--back-right {
  z-index: 2;
  filter: brightness(0.92);
  transform: rotate(9deg) translate(26px, -22px) scale(0.9);
}

.hero-polaroid img {
  display: block;
  width: 100%;
  height: clamp(240px, 22vw, 318px);
  object-fit: cover;
  border-radius: 2px;
  background: #E6EDF2;
}

.hero-polaroid-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  text-align: center;
  font-family: var(--font-accent);
  font-size: 1.3rem;
  color: #1F2A33;
  transform: rotate(1.5deg);
}

.search-wrapper {
  max-width: 1040px;
  margin: -66px auto 0;
  padding: 0 clamp(18px, 4vw, 40px);
}

.search-card {
  min-height: 142px;
  border-radius: 32px;
  border-color: rgba(17, 24, 39, 0.35);
  box-shadow: 0 18px 30px rgba(17, 24, 39, 0.14);
}

/* ── SEARCH BAR — SEGMENTED PILL (home-index-refresh only) ─── */
.home-index-refresh .search-wrapper {
  max-width: 1180px;
}
.home-index-refresh .search-card {
  display: flex;
  align-items: stretch;
  min-height: 0;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  box-shadow: var(--s-card);
  padding: 16px 16px 16px 12px;
  transition: transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);
}
.home-index-refresh .search-card:hover,
.home-index-refresh .search-card:focus-within {
  box-shadow: var(--s-lg);
  transform: translateY(-2px);
}
@media (hover: none) {
  .home-index-refresh .search-card:hover { transform: none; }
}

.home-index-refresh .search-card .search-field {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  padding: 8px 20px;
  min-width: 0;
  border-right: 1px solid var(--c-border);
}
.home-index-refresh .search-card .search-field:last-of-type {
  border-right: none;
}

.home-index-refresh .search-card .search-field label {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--c-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.home-index-refresh .search-card .input-wrap {
  display: flex;
  align-items: center;
}
/* iconitele per-camp nu se mai afiseaza in pill-ul compact — labelul
   (ex. DESTINAȚIE) transmite deja sensul, fara zgomot vizual suplimentar. */
.home-index-refresh .search-card .input-icon {
  display: none;
}

.home-index-refresh .search-card .form-input {
  border: none;
  background: transparent;
  padding: 0 !important;
  height: 22px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--c-text);
  box-shadow: none;
}
.home-index-refresh .search-card .form-input:focus {
  border: none;
  box-shadow: none;
}
.home-index-refresh .search-card select.form-input option {
  background: #ffffff;
  color: #111827;
}

.home-index-refresh .search-card input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  display: none;
  -webkit-appearance: none;
}

.home-index-refresh .search-card .btn-search {
  flex: 0 0 auto;
  align-self: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--c-primary);
  color: #FFFFFF;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin-left: 8px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 130, 181, 0.16);
  transition: background var(--duration) var(--ease), transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration) var(--ease);
}
.home-index-refresh .search-card .btn-search span {
  display: none;
}
.home-index-refresh .search-card .btn-search:hover {
  background: var(--c-primary-hover);
  transform: translateY(-1px) scale(1.04);
  box-shadow: 0 3px 8px rgba(0, 130, 181, 0.20);
}
.home-index-refresh .search-card .btn-search:active {
  transform: scale(0.96);
}

@media (prefers-reduced-motion: reduce) {
  .home-index-refresh .search-card,
  .home-index-refresh .search-card .btn-search { transition: none; }
  .home-index-refresh .search-card:hover,
  .home-index-refresh .search-card:focus-within,
  .home-index-refresh .search-card .btn-search:hover { transform: none; }
}

@media (max-width: 1024px) and (min-width: 769px) {
  /* grid, nu flex-wrap: matematica de %-basis in flex e fragila cand
     continutul (ex. select-ul de destinatie) are un min-content larg —
     grid-ul da 2 coloane egale garantat, indiferent de continut. */
  .home-index-refresh .search-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: var(--r-lg);
    padding: 14px;
  }
  .home-index-refresh .search-card .search-field {
    width: auto;
    border-right: 1px solid var(--c-border);
  }
  .home-index-refresh .search-card .search-field:first-of-type,
  .home-index-refresh .search-card .search-field:last-of-type {
    margin-left: 0;
    margin-right: 0;
  }
  .home-index-refresh .search-card .search-field:nth-child(2n) {
    border-right: none;
  }
  .home-index-refresh .search-card .search-field:nth-child(-n+2) {
    border-bottom: 1px solid var(--c-border);
    padding-bottom: 12px;
  }
  .home-index-refresh .search-card .search-field:nth-child(n+3) {
    padding-top: 12px;
  }
  .home-index-refresh .search-card .btn-search {
    grid-column: 1 / -1;
    width: 100%;
    height: 48px;
    border-radius: var(--r-pill);
    margin: 8px 0 0;
  }
  .home-index-refresh .search-card .btn-search span {
    display: inline;
    font-weight: 700;
    margin-left: 8px;
  }
}

section {
  padding-left: clamp(18px, 3.7vw, 54px);
  padding-right: clamp(18px, 3.7vw, 54px);
}

.prop-section {
  background: #FFFFFF;
}

#popular {
  background: #FFFFFF;
  color: var(--c-text);
}

[data-theme="dark"] #popular,
[data-theme="dark"] .prop-section,
[data-theme="dark"] body {
  background: var(--c-bg);
}

#popular .section-title,
#popular .section-sub {
  color: var(--c-text);
}

#popular .section-sub {
  color: var(--c-text-secondary);
}

#popular .section-tag {
  color: var(--c-sand-dark);
  font-size: 1.15rem;
}

#popular .btn-outline {
  border-color: var(--c-border);
  color: var(--c-text-secondary);
  background: transparent;
}

#popular .btn-outline:hover {
  background: var(--c-bg);
  border-color: var(--c-border-strong);
  color: var(--c-text);
}

#popular .section-title em {
  color: var(--c-sand-dark);
}

#popular::before,
#popular::after {
  display: none !important;
  content: none !important;
}

.property-card {
  border-radius: 22px;
  border: 0;
  box-shadow: none;
}

.home-index-refresh .prop-section {
  padding-top: clamp(22px, 3.2vw, 38px);
  padding-bottom: clamp(16px, 2.4vw, 28px);
}

.home-index-refresh .prop-section + .prop-section {
  padding-top: clamp(6px, 1.5vw, 18px);
}

.home-index-refresh .section-header {
  margin-bottom: 18px;
}

.home-index-refresh .carousel-wrapper {
  overflow: visible;
  padding-top: 8px;
  padding-bottom: 10px;
  margin-top: -8px;
  margin-bottom: -6px;
}

.home-index-refresh .prop-grid {
  padding: 8px 18px 32px;
  margin: -8px -18px -20px;
  width: calc(100% + 36px);
}

.home-index-refresh .prop-dots {
  display: none;
}

.home-index-refresh .property-card {
  background: #FFFFFF;
  border: 0;
}

.home-index-refresh .card-body {
  border: 0;
}

.card-img {
  aspect-ratio: 433 / 287;
  border-radius: 22px 22px 0 0;
}

.card-body {
  min-height: 150px;
}

.card-name {
  font-size: clamp(0.98rem, 1.5vw, 1.15rem);
}

.testimonials-section {
  padding-top: clamp(56px, 7vw, 84px);
}

@media (min-width: 1025px) {
  .prop-grid .property-card,
  .prop-grid .prop-skeleton {
    flex: 0 0 calc((100% - 60px) / 4);
  }
}

@media (min-width: 769px) and (max-width: 1120px) {
  .prop-grid .property-card,
  .prop-grid .prop-skeleton {
    flex: 0 0 calc((100% - 40px) / 3);
  }
}

@media (max-width: 1180px) {
  .hero-polaroid-stack {
    opacity: 0.9;
    right: 24px;
  }

  .hero-content {
    width: min(780px, calc(100% - 56px));
  }
}

@media (min-width: 901px) {
  .home-index-refresh .hero h1 {
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .hero {
    padding-top: 76px;
  }

  .hero-shell {
    min-height: 560px;
    border-radius: 34px;
  }

  .hero-content {
    top: auto;
    bottom: 56px;
    transform: none;
  }

  .hero-polaroid-stack {
    top: 38%;
    right: 16px;
    transform: translateY(-50%) translateY(var(--parallax-y)) scale(0.78);
    transform-origin: right center;
  }

  .search-card {
    grid-template-columns: 1fr 1fr;
    min-height: 0;
  }
}

@media (max-width: 768px) {
  .hero {
    height: auto;
    padding: 72px 12px 0;
  }

  .hero-shell {
    min-height: clamp(520px, 78vh, 620px);
    border-radius: 28px;
  }

  .hero-content {
    left: 22px;
    right: 22px;
    bottom: 42px;
    width: auto;
    padding: 0;
  }

  .hero h1 {
    font-size: clamp(2.25rem, 10vw, 3.4rem);
  }

  .hero p {
    font-size: 0.9rem;
  }

  .hero-polaroid-stack {
    display: none;
  }

  .search-wrapper {
    margin-top: -44px;
  }

  .search-card {
    grid-template-columns: 1fr;
    border-radius: 24px;
    padding: 22px;
  }

  .testimonials-section {
    padding-top: clamp(42px, 7vw, 60px);
    padding-bottom: clamp(42px, 7vw, 60px);
  }
}

/* ── REDUCED MOTION ────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .hero-bg img { animation: none; transform: scale(1); }
  .quick-icon.icon-visible { animation: none; opacity: 1; transform: none; }
  .home-index-refresh .search-card { transition: none; }
  .home-index-refresh .search-card:hover,
  .home-index-refresh .search-card:focus-within { transform: none; }
  .reveal, .reveal.reveal-visible { transition: none; opacity: 1; transform: none; }
  .reveal-fade, .reveal-fade.reveal-visible { transition: none; opacity: 1; }
  .home-about-images img:hover,
  .home-what-images img:hover,
  .testi-card:hover,
  .social-btn:hover { transform: none; }
}

/* ── INDEX FINAL DESKTOP LAYOUT ─────────────────────────────── */
.home-index-refresh .prop-section,
.home-index-refresh .home-about-section,
.home-index-refresh .home-what-section,
.home-index-refresh .testimonials-section,
.home-index-refresh .home-contact-section {
  padding-left: clamp(28px, 3.4vw, 54px);
  padding-right: clamp(28px, 3.4vw, 54px);
}

.home-index-refresh .prop-section {
  max-width: 1440px;
  margin: 0 auto;
  padding-top: clamp(34px, 4.2vw, 54px);
  padding-bottom: clamp(18px, 2.8vw, 34px);
}

.home-index-refresh .prop-section + .prop-section {
  padding-top: clamp(22px, 3.2vw, 38px);
}

.home-index-refresh .section-header {
  align-items: end;
  margin-bottom: 18px;
}

.home-index-refresh .section-tag,
.home-index-refresh .testimonials-section .section-tag {
  display: block;
  width: fit-content;
  background: transparent;
  border: 0;
  padding: 0;
  color: #e06b0c;
  font-family: var(--font-accent);
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

.home-index-refresh .section-title {
  font-size: clamp(1.75rem, 2.5vw, 2.2rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  margin-top: 2px;
}

.home-index-refresh .section-title em {
  color: #e06b0c;
  font-style: italic;
  font-weight: 500;
}

.home-index-refresh .section-sub {
  color: var(--c-text);
  font-size: clamp(0.95rem, 1.35vw, 1.3rem);
  font-weight: 300;
  line-height: 1.35;
  max-width: 720px;
  margin-top: 8px;
}

.home-index-refresh #promoted .section-tag,
.home-index-refresh #popular .section-tag {
  color: #e06b0c;
  font-family: var(--font-accent);
  font-size: clamp(1.2rem, 1.6vw, 1.5rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.18;
}

.home-index-refresh #promoted .section-title,
.home-index-refresh #popular .section-title {
  color: var(--c-text);
  font-size: clamp(1.45rem, 1.9vw, 1.8rem);
  font-weight: 500;
  line-height: 1.18;
  margin-top: 1px;
}

.home-index-refresh #promoted .section-title em,
.home-index-refresh #popular .section-title em {
  color: #e06b0c;
  font-style: italic;
  font-weight: 500;
}

.home-index-refresh #promoted .section-sub,
.home-index-refresh #popular .section-sub {
  color: var(--c-text);
  font-size: clamp(0.84rem, 1.05vw, 0.96rem);
  font-weight: 300;
  line-height: 1.35;
  margin-top: 6px;
}

.home-index-refresh .carousel-wrapper {
  margin-top: 0;
}

.home-index-refresh .property-card {
  border-radius: 30px;
}

@media (min-width: 1025px) {
  .home-index-refresh .prop-grid .property-card,
  .home-index-refresh .prop-grid .prop-skeleton {
    flex: 0 0 calc((100% - 48px) / 3);
  }
}

.home-about-section {
  background: #FFFFFF;
  padding-top: clamp(50px, 6.8vw, 86px);
  padding-bottom: clamp(48px, 6.5vw, 82px);
  overflow: hidden;
}

.home-about-inner {
  max-width: 1358px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 500px minmax(0, 1fr);
  gap: clamp(28px, 2.5vw, 36px);
  align-items: center;
}

.home-about-copy .section-sub {
  max-width: 800px;
}

.home-about-points {
  display: grid;
  gap: clamp(26px, 3.8vw, 42px);
  margin-top: clamp(42px, 5vw, 58px);
}

.home-about-point {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 0;
  align-items: start;
}

.home-about-point > .about-bullet {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-text);
  margin-top: 0.56em;
  flex-shrink: 0;
}

.home-about-point p {
  color: var(--c-text);
  font-size: clamp(0.98rem, 1.4vw, 1.25rem);
  font-weight: 300;
  line-height: 1.45;
  margin: 0;
  max-width: 410px;
}

.home-about-media {
  display: grid;
  gap: clamp(28px, 4vw, 54px);
  justify-items: end;
}

.home-about-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 128px;
  min-height: 53px;
  padding: 0 30px;
  border: 1px solid #ef7911;
  border-radius: 999px;
  color: var(--c-text);
  font-size: 1rem;
  font-weight: 300;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
  transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.home-about-contact:hover {
  color: var(--c-text);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.14);
}

.home-about-images {
  position: relative;
  width: min(100%, 798px);
  height: 432px;
}

.home-about-images img {
  position: absolute;
  top: 0;
  width: min(43.6%, 348px);
  height: 432px;
  object-fit: cover;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.18);
}

.home-about-images picture:first-child img {
  left: 0;
  z-index: 3;
  border-radius: 30px;
}

.home-about-images picture:nth-child(2) img {
  left: 27.6%;
  z-index: 2;
  border-radius: 30px;
}

.home-about-images picture:last-child img {
  left: 55.2%;
  z-index: 1;
  border-radius: 30px;
}

.home-index-refresh .testimonials-section {
  background: var(--c-bg);
  padding-top: clamp(44px, 5.4vw, 68px);
  padding-bottom: clamp(40px, 5vw, 64px);
  overflow: hidden;
}

.home-index-refresh .testi-inner {
  max-width: 1358px;
}

.home-index-refresh .testi-header {
  text-align: left;
  margin-bottom: clamp(28px, 4.5vw, 48px);
}

.home-index-refresh .testimonials-section .section-sub {
  margin-left: 0;
  margin-right: 0;
}

.home-index-refresh .testi-grid {
  display: flex;
  gap: 50px;
  margin-left: clamp(-120px, -5vw, -42px);
  padding: 8px 0 18px;
  width: max-content;
  will-change: transform;
  animation: ddmTestiMarquee 42s linear infinite;
}

.home-index-refresh .testi-grid:hover {
  animation-play-state: paused;
}

@keyframes ddmTestiMarquee {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

@keyframes ddmTestiMarqueeReverse {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.home-index-refresh .testi-track {
  display: flex;
  flex-direction: column;
  gap: 18px;
  overflow: hidden;
}

.home-index-refresh .testi-row-b {
  animation-name: ddmTestiMarqueeReverse;
}

.home-index-refresh .testi-card {
  flex: 0 0 513px;
  min-height: 176px;
  border: 0;
  border-radius: 33px;
  background: #FFFFFF;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
  padding: 26px 36px 28px;
}

.home-index-refresh .testi-stars {
  order: 2;
  align-self: flex-end;
  color: #F0A800;
  font-size: 0.82rem;
  letter-spacing: 1px;
  margin-top: -36px;
}

.home-index-refresh .testi-author {
  order: 1;
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

.home-index-refresh .testi-avatar {
  width: 66px;
  height: 66px;
  background: #FFFFFF;
  color: var(--c-primary);
  font-size: 2.75rem;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
}

.home-index-refresh .testi-name {
  font-size: 1.1rem;
}

.home-index-refresh .testi-detail {
  color: var(--c-text);
  font-size: 0.9rem;
  opacity: 0.72;
}

.home-index-refresh .testi-quote {
  order: 3;
  color: var(--c-text);
  font-size: 1rem;
  line-height: 1.45;
  margin-top: 12px;
}

.home-contact-section {
  background: #FFFFFF;
  padding-top: clamp(52px, 6.5vw, 82px);
  padding-bottom: clamp(64px, 8vw, 104px);
  overflow: hidden;
}

.home-contact-inner {
  max-width: 1358px;
  margin: 0 auto;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 400px;
  gap: clamp(40px, 6vw, 90px);
  align-items: start;
}

.home-contact-copy {
  position: relative;
  z-index: 2;
  max-width: 660px;
}

.home-contact-copy .section-sub {
  max-width: 620px;
}

.home-contact-form {
  display: grid;
  gap: 28px;
  max-width: 590px;
  margin-top: 34px;
}

.home-contact-field-trap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.home-contact-form label {
  display: grid;
  gap: 8px;
}

.home-contact-form span {
  color: var(--c-text-secondary);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
}

.home-contact-form input,
.home-contact-form textarea {
  width: 100%;
  border: 1.5px solid var(--c-border-strong);
  border-radius: var(--r);
  background: var(--c-surface);
  color: var(--c-text);
  font: inherit;
  font-size: 0.975rem;
  padding: 13px 16px;
  outline: none;
  resize: vertical;
  transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}

.home-contact-form input:focus,
.home-contact-form textarea:focus {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px var(--c-primary-ghost);
}

.home-contact-form button {
  width: 100%;
  height: 52px;
  margin-top: 6px;
  border: 0;
  border-radius: var(--r);
  background: #C45803;
  color: #FFFFFF;
  font-size: 0.975rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s var(--ease), transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
  box-shadow: 0 2px 8px rgba(180, 82, 0, 0.14);
}

.home-contact-form button:hover {
  background: #A84D02;
  box-shadow: 0 2px 6px rgba(180, 82, 0, 0.18);
  transform: translateY(-1px);
}

.home-contact-form button:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
}

.home-contact-status {
  min-height: 20px;
  color: var(--c-text-secondary);
  font-size: 0.95rem;
  line-height: 1.45;
  margin: -8px 0 0;
}

.home-contact-status.is-success {
  color: #0F766E;
}

.home-contact-status.is-error {
  color: #B42318;
}

.home-contact-info {
  margin-top: clamp(20px, 3vw, 36px);
  border: 1.5px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: clamp(28px, 3.5vw, 40px);
}

.home-contact-info > .section-tag {
  display: block;
  margin-bottom: 28px;
}

.home-contact-info-list {
  list-style: none;
  margin: 0 0 36px;
  padding: 0;
  display: grid;
  gap: 22px;
}

.home-contact-info-list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  color: var(--c-text);
  font-size: clamp(0.95rem, 1.2vw, 1.1rem);
  font-weight: 300;
  line-height: 1.5;
}

.home-contact-info-list li svg {
  flex-shrink: 0;
  margin-top: 3px;
  color: var(--c-primary);
}

.home-contact-info-list a {
  color: var(--c-text);
  font-weight: 300;
  text-decoration: none;
}

.home-contact-info-list a:hover {
  color: var(--c-primary);
}

.home-contact-info-social {
  display: flex;
  gap: 10px;
}

.home-contact-info-social .social-btn {
  background: transparent;
  border-color: var(--c-border-strong);
  color: var(--c-primary);
}

.home-contact-info-social .social-btn:hover {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #FFFFFF;
}

/* Buton "Contacteaza-ne" mutat langa titlul sectiunii — mai mic, aliniat
   pe acelasi rand, in loc sa stea izolat dupa paragraful lung de mai jos. */
.home-what-heading {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(12px, 2.4vw, 28px);
  margin-bottom: var(--sp-2);
}
.home-what-heading .section-title {
  margin-bottom: 0;
  min-width: 0;
  white-space: nowrap;
}
.home-what-heading .home-about-contact {
  flex-shrink: 0;
}

.home-what-section {
  padding-top: clamp(58px, 7.5vw, 96px);
  padding-bottom: clamp(56px, 7.2vw, 92px);
}

.home-what-section .home-about-contact {
  margin-top: 0;
  margin-right: 0;
  min-height: 38px;
  padding: 0 20px;
  font-size: 0.85rem;
}

@media (max-width: 768px) {
  .home-what-heading {
    position: relative;
    gap: 10px;
  }
  /* titlul ramane pe un rand langa buton — .home-about-copy .section-title
     (2.25rem, gandit pentru titlul fara buton alaturi) l-ar fi impins
     pe doua randuri aici; selectorul mai specific de mai jos ii ia locul. */
  .home-what-section .home-what-heading .section-title {
    font-size: 1.3rem;
    white-space: nowrap;
  }
  /* pozitionat absolut, ridicat langa randul tag-ului "Ce facem?" — cerut
     explicit mai sus si mai in stanga decat aliniat pe randul titlului. */
  .home-what-section .home-about-contact {
    position: absolute;
    top: -34px;
    right: 14px;
    margin: 0;
    background: transparent;
    box-shadow: none !important;
    min-height: 34px;
    padding: 0 14px;
    font-size: 0.76rem;
    white-space: nowrap;
  }
}

.home-what-body {
  color: var(--c-text);
  font-size: clamp(0.98rem, 1.4vw, 1.25rem);
  font-weight: 300;
  line-height: 1.6;
  margin: clamp(20px, 3vw, 32px) 0 clamp(28px, 4vw, 42px);
  max-width: 460px;
}

/* ── CUM TE PUTEM AJUTA — image cluster ──────────────────────── */
.home-what-images {
  position: relative;
  width: min(100%, 700px);
  height: 540px;
}

.home-what-images img {
  position: absolute;
  object-fit: cover;
  border-radius: 30px;
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.18);
}

/* Left image — starts 72px below top, medium height */
.home-what-images picture:first-child img {
  left: 0;
  top: 72px;
  width: 48.9%;
  height: 369px;
  z-index: 2;
}

/* Center-bottom image — lowest, overlaps both sides */
.home-what-images picture:nth-child(2) img {
  left: 31.1%;
  top: 226px;
  width: 41.6%;
  height: 310px;
  z-index: 3;
}

/* Right tall image — starts at top, tallest */
.home-what-images picture:last-child img {
  left: 51.1%;
  top: 0;
  width: 48.9%;
  height: 432px;
  z-index: 1;
}

@media (max-width: 1120px) {
  .home-what-images {
    height: clamp(310px, 44vw, 480px);
  }
  .home-what-images picture:first-child img { height: clamp(200px, 30vw, 330px); top: clamp(40px, 6vw, 65px); }
  .home-what-images picture:nth-child(2) img { height: clamp(180px, 26vw, 278px); top: clamp(120px, 18vw, 204px); }
  .home-what-images picture:last-child img   { height: clamp(240px, 36vw, 388px); }
}

@media (max-width: 768px) {
  .home-what-images {
    height: 310px;
  }
  .home-what-images picture:first-child img { top: 40px; height: 200px; }
  .home-what-images picture:nth-child(2) img { top: 120px; height: 180px; }
  .home-what-images picture:last-child img   { height: 240px; }
}

[data-theme="dark"] .home-about-section,
[data-theme="dark"] .home-what-section,
[data-theme="dark"] .home-index-refresh .testimonials-section,
[data-theme="dark"] .home-contact-section {
  background: var(--c-bg);
}

[data-theme="dark"] .home-index-refresh .testi-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
}

[data-theme="dark"] .home-contact-info {
  border-color: var(--c-border);
}

[data-theme="dark"] .home-contact-form input,
[data-theme="dark"] .home-contact-form textarea {
  background: var(--c-surface);
  border-color: rgba(255, 255, 255, 0.15);
}

@media (max-width: 1120px) {
  .home-about-inner {
    grid-template-columns: 1fr;
  }

  .home-about-media {
    justify-items: start;
  }

  .home-about-contact {
    margin-right: 0;
  }

  .home-about-images {
    width: min(100%, 820px);
  }

  .home-contact-inner {
    grid-template-columns: minmax(0, 1fr) 340px;
  }
}

@media (max-width: 768px) {
  .home-index-refresh .prop-section,
  .home-index-refresh .home-about-section,
  .home-index-refresh .home-what-section,
  .home-index-refresh .testimonials-section,
  .home-index-refresh .home-contact-section {
    padding-left: 20px;
    padding-right: 20px;
  }

  .home-about-images {
    min-height: 280px;
  }

  .home-about-images img {
    height: 280px;
  }

  .home-about-images picture:nth-child(2) img,
  .home-about-images picture:last-child img {
    transform: none;
  }

  .home-index-refresh .testi-grid {
    overflow-x: auto;
    margin-left: 0;
    scroll-snap-type: x mandatory;
  }

  .home-index-refresh .testi-card {
    flex-basis: min(86vw, 420px);
    scroll-snap-align: start;
  }

  .home-contact-inner {
    grid-template-columns: 1fr;
  }
}

/* Final homepage carousel polish */
.home-index-refresh .prop-section {
  padding-bottom: clamp(12px, 2vw, 24px);
}

.home-index-refresh .prop-section + .prop-section {
  padding-top: clamp(14px, 2.1vw, 28px);
}

.home-index-refresh .property-card {
  box-shadow: 0 26px 58px rgba(15, 23, 42, 0.075);
}

.home-index-refresh .property-card:hover {
  box-shadow: 0 32px 72px rgba(15, 23, 42, 0.105);
}

/* Mobile layout from Figma */
@media (max-width: 768px) {
  .home-index-refresh #header {
    height: 72px;
    padding: 0 14px;
  }

  .home-index-refresh #header .btn-header-outline,
  .home-index-refresh #header [data-ddm-lang-switcher] {
    display: none !important;
  }

  /* Night-mode toggle show on mobile, compact */
  .home-index-refresh #header .theme-toggle {
    display: flex !important;
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    padding: 0 !important;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
  }
  .home-index-refresh #header .btn-header-cart {
    display: none !important;
  }

  /* Hamburger lines – blue */
  .home-index-refresh #header .hamburger span {
    background: var(--c-primary, #0082B5);
  }

  .home-index-refresh .hero {
    padding: 76px 14px 0;
  }

  .home-index-refresh .hero-shell {
    min-height: 676px;
    border-radius: 45px;
    overflow: hidden;
  }

  .home-index-refresh .hero-bg img {
    object-position: center top;
  }

  .home-index-refresh .hero-overlay {
    background: linear-gradient(180deg, rgba(4, 18, 34, 0.22) 0%, rgba(4, 18, 34, 0.18) 38%, rgba(4, 18, 34, 0.52) 100%);
  }

  .home-index-refresh .hero-content {
    top: 58px;
    left: 22px;
    right: 22px;
    bottom: auto;
    width: auto;
    transform: none;
    text-align: center;
  }

  .home-index-refresh .hero h1 {
    font-size: clamp(2.55rem, 10.2vw, 2.85rem);
    line-height: 0.98;
    white-space: nowrap;
  }

  .home-index-refresh .hero h1 em {
    display: block;
    color: #FFFFFF;
    -webkit-text-fill-color: #FFFFFF;
    font-size: 1.05em;
    margin-top: 2px;
  }

  .home-index-refresh .hero-word-accent {
    color: #FFFFFF;
    -webkit-text-fill-color: #FFFFFF;
  }

  .home-index-refresh .hero p {
    width: min(328px, 100%);
    max-width: none;
    margin: 10px auto 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.82rem;
    line-height: 1.25;
    white-space: normal;
  }

  .home-index-refresh .hero-polaroid-stack {
    display: none;
  }

  .home-index-refresh .search-wrapper {
    position: absolute;
    bottom: 56px;
    left: 32px;
    right: 32px;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    z-index: 5;
  }

  /* Mobil: revenim la layout-ul dinaintea redesign-ului pill (pill-ul
     nu functiona vizual pe ecrane inguste) — grid clasic 2 coloane cu
     buton circular, icons vizibile, campuri boxate cu border. */
  .home-index-refresh .search-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
    align-items: end;
    min-height: 0;
    padding: 18px;
    border-radius: 34px;
    border-color: transparent;
    /* visual styles (background, border, shadow) handled by glass block at end */
  }

  .home-index-refresh .hero-cta-group {
    justify-content: center;
    margin-top: 16px;
  }
  .home-index-refresh .hero-cta-btn {
    display: inline-flex;
    margin-top: 0;
    height: 40px;
    padding: 0 22px;
    font-size: 0.88rem;
    /* visual styles (background, color, border) handled by glass block at end */
  }

  .home-index-refresh .search-card .search-field {
    width: auto;
    min-width: 0;
    padding: 0;
    border-right: none;
    border-bottom: none;
  }
  .home-index-refresh .search-card .search-field:first-of-type,
  .home-index-refresh .search-card .search-field:last-of-type {
    margin-left: 0;
    margin-right: 0;
  }
  .home-index-refresh .search-card .search-field:nth-child(1),
  .home-index-refresh .search-card .search-field:nth-child(2),
  .home-index-refresh .search-card .search-field:nth-child(3) {
    grid-column: 1 / -1;
  }
  .home-index-refresh .search-card .search-field:nth-child(4) {
    grid-column: 1;
  }

  .home-index-refresh .search-card label {
    font-size: 0.5rem;
    margin-bottom: 4px;
  }

  .home-index-refresh .search-card .input-icon {
    display: inline-flex;
    left: 10px;
    width: 13px;
    height: 13px;
  }

  .home-index-refresh .search-card .form-input {
    border: 1px solid var(--c-border-strong);
    background: #FFFFFF;
    border-radius: 10px;
    padding: 0 8px 0 32px !important;
    font-size: 0.67rem;
    font-weight: 400;
    height: 36px;
    min-height: 36px;
  }

  .home-index-refresh .search-card .btn-search {
    grid-column: 2;
    width: 42px;
    height: 42px;
    min-width: 42px;
    max-width: 42px;
    min-height: 42px;
    max-height: 42px;
    padding: 0;
    margin: 0;
    justify-content: center;
    align-self: end;
    border-radius: 50%;
    border: 1px solid rgba(0, 130, 181, 0.35);
  }
  .home-index-refresh .search-card .btn-search svg {
    width: 15px;
    height: 15px;
  }
  .home-index-refresh .search-card .btn-search span {
    display: none;
  }

  .home-index-refresh .prop-section,
  .home-index-refresh .home-about-section,
  .home-index-refresh .home-what-section,
  .home-index-refresh .testimonials-section,
  .home-index-refresh .home-contact-section {
    padding-left: 15px;
    padding-right: 15px;
  }

  .home-index-refresh .prop-section {
    padding-top: 28px;
    padding-bottom: 20px;
  }

  .home-index-refresh .prop-section + .prop-section {
    padding-top: 22px;
  }

  .home-index-refresh .section-header {
    align-items: start;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-bottom: 10px;
  }

  .home-index-refresh #promoted .section-tag,
  .home-index-refresh #popular .section-tag {
    font-size: 1.25rem;
  }

  .home-index-refresh #promoted .section-title,
  .home-index-refresh #popular .section-title {
    font-size: 1.5rem;
  }

  .home-index-refresh #promoted .section-sub,
  .home-index-refresh #popular .section-sub {
    max-width: calc(100vw - 92px);
    font-size: 0.88rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .home-index-refresh .carousel-wrapper {
    overflow: visible;
  }

  .home-index-refresh .prop-grid {
    gap: 20px;
    padding: 4px 15px 24px;
    margin: 0 -15px;
    width: calc(100% + 30px);
    scroll-padding-left: 15px;
  }

  .home-index-refresh .prop-grid .property-card,
  .home-index-refresh .prop-grid .prop-skeleton {
    flex: 0 0 227px;
    width: 227px;
    max-width: 227px;
    border-radius: 28px;
  }

  .home-index-refresh .property-card {
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
  }

  .home-index-refresh .card-img {
    aspect-ratio: 227 / 150;
  }

  .home-index-refresh .card-body {
    padding: 9px 10px 10px;
  }

  .home-index-refresh .card-name {
    font-size: 0.78rem;
  }

  .home-index-refresh .prop-chip {
    min-height: 14px;
    padding: 4px 6px;
    border-radius: 999px;
    font-size: 0.58rem;
  }

  .home-index-refresh .card-body::after,
  .home-index-refresh .card-footer {
    display: none;
  }

  .home-index-refresh .prop-grid > p {
    padding: 18px 16px !important;
    text-align: left !important;
    font-size: 0.82rem;
  }

  .home-about-section {
    padding-top: 40px;
    padding-bottom: 34px;
  }

  .home-about-inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
  }

  .home-about-copy {
    width: 100%;
  }

  .home-about-copy .section-tag {
    display: block;
  }

  .home-about-copy .section-title {
    font-size: 2.25rem;
  }

  .home-about-copy .section-sub {
    font-size: 0.92rem;
    line-height: 1.35;
  }

  .home-about-points {
    gap: 20px;
    margin-top: 28px;
  }

  .home-about-point {
    grid-template-columns: 18px 1fr;
    padding-right: 10px;
  }

  .home-about-point > .about-bullet {
    width: 4px;
    height: 4px;
    margin-top: 0.5em;
  }

  .home-about-point p {
    max-width: 100%;
    font-size: 0.88rem;
    line-height: 1.35;
  }

  .home-about-media {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 22px;
  }

  .home-about-contact {
    align-self: flex-start;
    min-height: 34px;
    margin: -6px 0 0;
    padding: 0 20px;
    font-size: 0.82rem;
  }

  .home-about-images {
    width: 100%;
    height: 240px;
    margin-top: 0;
  }

  .home-about-images img {
    width: min(43.6%, 160px);
    height: 240px;
    border-radius: 20px;
  }

  .home-about-images picture:first-child img {
    left: 0;
    top: 0;
    z-index: 3;
  }

  .home-about-images picture:nth-child(2) img {
    left: 27.6%;
    top: 0;
    z-index: 2;
  }

  .home-about-images picture:last-child img {
    left: 55.2%;
    top: 0;
    z-index: 1;
  }

  .home-index-refresh .testimonials-section {
    padding-top: 28px;
    padding-bottom: 30px;
  }

  .home-index-refresh .testi-header {
    margin-bottom: 18px;
  }

  .home-index-refresh .testimonials-section .section-tag,
  .home-index-refresh .home-contact-section .section-tag {
    font-size: 1.5rem;
  }

  .home-index-refresh .testimonials-section .section-title,
  .home-index-refresh .home-contact-section .section-title {
    font-size: 2rem;
  }

  .home-index-refresh .testimonials-section .section-sub,
  .home-index-refresh .home-contact-section .section-sub {
    font-size: 0.86rem;
    line-height: 1.3;
  }

  .home-index-refresh .testi-grid {
    gap: 18px;
    margin-left: -5px;
    padding-bottom: 12px;
    animation-duration: 34s;
  }

  .home-index-refresh .testi-card {
    flex: 0 0 260px;
    min-height: 108px;
    border-radius: 26px;
    padding: 13px 14px 14px;
  }

  .home-index-refresh .testi-avatar {
    width: 33px;
    height: 33px;
    font-size: 1.15rem;
  }

  .home-index-refresh .testi-name {
    font-size: 0.78rem;
  }

  .home-index-refresh .testi-detail {
    font-size: 0.66rem;
  }

  .home-index-refresh .testi-stars {
    font-size: 0.55rem;
    margin-top: -24px;
  }

  .home-index-refresh .testi-quote {
    font-size: 0.72rem;
    line-height: 1.35;
    margin-top: 8px;
  }

  .home-contact-section {
    padding-top: 28px;
    padding-bottom: 48px;
  }

  .home-contact-inner {
    grid-template-columns: 1fr;
  }

  .home-contact-copy {
    max-width: 100%;
  }

  .home-contact-info {
    margin-top: 20px;
  }

  .home-contact-form {
    gap: 18px;
    margin-top: 24px;
    max-width: 100%;
  }

  .home-contact-form input,
  .home-contact-form textarea {
    padding: 11px 14px;
  }

  .home-contact-form textarea {
    min-height: 62px;
  }

  .home-contact-form button {
    height: 48px;
    margin-top: 0;
    font-size: 0.9rem;
  }
}

/* Cards & decorative shadows */
.home-index-refresh .property-card,
.home-about-images img,
.home-about-contact {
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.085);
}
.home-index-refresh .prop-grid .property-card {
  box-shadow:
    0 12px 30px rgba(15, 23, 42, 0.07),
    0 2px 10px rgba(15, 23, 42, 0.035);
}
.home-index-refresh .prop-grid .property-card:hover {
  box-shadow:
    0 16px 38px rgba(15, 23, 42, 0.085),
    0 3px 12px rgba(15, 23, 42, 0.04);
}
.home-index-refresh .testi-card {
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}

/* Testi-card hover — retint shadow-ul (era negru generic) cu familia navy a paginii */
.testi-card:hover {
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

/* About / What-we-do image stack — hover lift, consistent cu restul cardurilor.
   Opacity e inclus aici (nu doar in .reveal): selectorul are specificitate mai
   mare, altfel ar suprascrie complet tranzitia de fade-in la scroll. */
.home-about-images img,
.home-what-images img {
  transition: opacity 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.3s var(--ease);
}
.home-about-images img:hover,
.home-what-images img:hover {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.24);
}

/* Contact submit — press feedback (lipsea) */
.home-contact-form button:active:not(:disabled) {
  transform: translateY(0) scale(0.98);
}

/* Social buttons — tactile hover, consistent cu carousel-btn */
.social-btn:hover {
  transform: scale(1.08);
}

@media (hover: none) {
  .home-about-images img:hover,
  .home-what-images img:hover { transform: none; }
  .social-btn:hover { transform: none; }
}

/* Mobile corrections */
@media (max-width: 768px) {
  /* Backgrounds */
  .home-index-refresh,
  .home-index-refresh main,
  .home-index-refresh .prop-section,
  .home-about-section,
  .home-index-refresh .testimonials-section,
  .home-contact-section {
    background: #FFFFFF !important;
  }

  /* Header */
  .home-index-refresh #header .logo-img { width: 78px !important; }

  /* Section layout */
  .home-index-refresh .section-header { margin-bottom: 4px !important; }
  .home-index-refresh .prop-section {
    padding-top: 14px !important;
    padding-bottom: 10px !important;
  }
  .home-index-refresh .prop-section + .prop-section { padding-top: 10px !important; }
  .home-index-refresh #promoted { padding-top: 30px !important; }
  .home-about-section { padding-top: 56px !important; padding-bottom: 54px !important; }
  .home-index-refresh .testimonials-section { padding-top: 54px !important; padding-bottom: 54px !important; }
  .home-contact-section { padding-top: 56px !important; padding-bottom: 56px !important; }

  /* Carousel */
  .home-index-refresh .carousel-wrapper {
    padding-top: 6px; padding-bottom: 14px; margin-bottom: -2px;
  }
  .home-index-refresh .prop-grid {
    padding-top: 8px !important;
    padding-bottom: 22px !important;
  }

  /* About */
  .home-about-media { position: static; }
  .home-about-contact { align-self: flex-start; position: static; }

  /* Property cards */
  .home-index-refresh .prop-grid .property-card,
  .home-index-refresh .prop-grid .prop-skeleton {
    flex-basis: 238px; width: 238px; max-width: 238px;
  }
  .home-index-refresh .prop-grid .property-card {
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.058), 0 2px 10px rgba(15, 23, 42, 0.03) !important;
  }
  .home-index-refresh .prop-grid .property-card:hover {
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.068), 0 3px 12px rgba(15, 23, 42, 0.035) !important;
  }

  /* Card internals */
  .home-index-refresh .card-img { aspect-ratio: 238 / 154; }
  .home-index-refresh .card-body {
    display: flex; flex-direction: column; min-height: 116px; padding: 11px 12px 12px;
  }
  .home-index-refresh .card-name { font-size: 0.82rem; line-height: 1.2; }
  .home-index-refresh .prop-chips { gap: 5px; margin-top: 7px; }
  .home-index-refresh .prop-chip { background: rgba(0, 130, 181, 0.08); color: #256072; }
  .home-index-refresh .card-footer { display: flex; align-items: end; margin-top: auto; padding-top: 8px; }
  .home-index-refresh .price-val { font-size: 0.9rem; }
  .home-index-refresh .testi-card { background: #FFFFFF; }
}

/* ═══════════════════════════════════════════════════════════
   DARK MODE HOMEPAGE FIXES
   [data-theme="dark"] adds specificity, beating !important
   light-mode rules above.
   ═══════════════════════════════════════════════════════════ */

/* 1. Section backgrounds – fix mobile !important override */
[data-theme="dark"] .home-index-refresh,
[data-theme="dark"] .home-index-refresh main,
[data-theme="dark"] .home-index-refresh .prop-section,
[data-theme="dark"] .home-about-section,
[data-theme="dark"] .home-index-refresh .testimonials-section,
[data-theme="dark"] .home-contact-section {
  background: var(--c-bg) !important;
}

/* 2. Search card */
[data-theme="dark"] .home-index-refresh .search-card {
  background: var(--c-surface) !important;
  border-color: var(--c-border) !important;
}
[data-theme="dark"] .home-index-refresh .search-card .search-field {
  border-right-color: var(--c-border) !important;
}

/* 3. Search form inputs — transparent/borderless by design, doar culoarea textului conteaza */
[data-theme="dark"] .home-index-refresh .search-card .form-input {
  color: var(--c-text) !important;
}

/* 5. Property cards */
[data-theme="dark"] .home-index-refresh .property-card {
  background: var(--c-surface) !important;
}

/* 6. Testimonial cards */
[data-theme="dark"] .home-index-refresh .testi-card {
  background: var(--c-surface) !important;
  border-color: var(--c-border) !important;
}

/* 7. About contact info card */
[data-theme="dark"] .home-about-contact {
  background: var(--c-surface) !important;
}

/* ═══════════════════════════════════════════════════════════
   APPLE LIQUID GLASS — MOBILE HERO SEARCH CARD
   Must come LAST to win over all prior !important overrides.
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .home-index-refresh .search-card {
    background: rgba(20, 100, 160, 0.14) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
    border: 1px solid rgba(120, 200, 255, 0.28) !important;
    box-shadow:
      0 8px 32px rgba(0, 0, 0, 0.18),
      inset 0 1px 0 rgba(180, 230, 255, 0.55),
      inset 0 -1px 0 rgba(0, 0, 0, 0.06) !important;
  }

  .home-index-refresh .search-card label {
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45) !important;
  }

  .home-index-refresh .search-card .input-icon svg {
    color: rgba(255, 255, 255, 0.85) !important;
  }

  .home-index-refresh .search-card .form-input {
    background: rgba(255, 255, 255, 0.13) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    color: #FFFFFF !important;
  }
  .home-index-refresh .search-card .form-input::placeholder {
    color: rgba(255, 255, 255, 0.65) !important;
  }

  .home-index-refresh .search-card .form-input:focus {
    border-color: rgba(255, 255, 255, 0.55) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14) !important;
  }

  .home-index-refresh .search-card .btn-search {
    background: rgba(20, 100, 160, 0.18) !important;
    border: 1px solid rgba(120, 200, 255, 0.32) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
  }

  .home-index-refresh .search-card .btn-search svg {
    color: #FFFFFF !important;
    fill: none !important;
    stroke: #FFFFFF !important;
  }

  .home-index-refresh .search-card .btn-search:hover {
    background: rgba(20, 100, 160, 0.28) !important;
  }

  .home-index-refresh .hero-cta-btn {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.22) 0%, rgba(200, 230, 255, 0.08) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.40) !important;
    color: #FFFFFF !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
    font-weight: 500 !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.55),
      0 4px 16px rgba(0, 0, 0, 0.14) !important;
  }

  .home-index-refresh .hero-cta-btn:hover {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.32) 0%, rgba(200, 230, 255, 0.14) 100%) !important;
  }

  .home-index-refresh .hero-cta-link {
    color: rgba(255, 255, 255, 0.92) !important;
  }

  /* Section tags — glass pill (about, what, testimonials, contact) */
  .home-about-section .section-tag,
  .home-what-section .section-tag,
  .home-index-refresh .testimonials-section .section-tag,
  .home-contact-section .section-tag {
    background: rgba(224, 107, 12, 0.07) !important;
    border: 1px solid rgba(224, 107, 12, 0.20) !important;
    border-radius: 999px !important;
    padding: 5px 18px !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.80),
      0 2px 8px rgba(224, 107, 12, 0.07) !important;
  }

  /* Contactează-ne button — glass pill */
  .home-index-refresh .home-about-contact {
    background: rgba(224, 107, 12, 0.07) !important;
    border-color: rgba(224, 107, 12, 0.25) !important;
    color: #e06b0c !important;
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.80),
      0 4px 14px rgba(224, 107, 12, 0.10) !important;
  }
}

/* Dark mode: restore solid surface on mobile (glass doesn't suit dark hero) */
@media (max-width: 768px) {
  [data-theme="dark"] .home-index-refresh .search-card {
    background: rgba(15, 20, 30, 0.72) !important;
    backdrop-filter: blur(24px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    box-shadow:
      0 8px 32px rgba(0, 0, 0, 0.4),
      inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  }

  [data-theme="dark"] .home-index-refresh .search-card label {
    color: rgba(255, 255, 255, 0.90) !important;
  }

  [data-theme="dark"] .home-index-refresh .search-card .form-input {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: var(--c-text) !important;
    -webkit-text-fill-color: unset !important;
  }

  /* Dark mode section tags & contact btn — brighter tint */
  [data-theme="dark"] .home-about-section .section-tag,
  [data-theme="dark"] .home-what-section .section-tag,
  [data-theme="dark"] .home-index-refresh .testimonials-section .section-tag,
  [data-theme="dark"] .home-contact-section .section-tag {
    background: rgba(224, 107, 12, 0.12) !important;
    border-color: rgba(224, 107, 12, 0.28) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.10),
      0 2px 8px rgba(0, 0, 0, 0.18) !important;
  }

  [data-theme="dark"] .home-index-refresh .home-about-contact {
    background: rgba(224, 107, 12, 0.12) !important;
    border-color: rgba(224, 107, 12, 0.30) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.10),
      0 4px 14px rgba(0, 0, 0, 0.22) !important;
  }
}
