/* ============================================================
   STEVE & CO. — MOBILE & RESPONSIVE FIXES (Phase 4)
   ============================================================ */

/* ── Navigation mobile fixes ─────────────────────────────────── */
@media (max-width: 960px) {
  /* Hamburger menu */
  #ocean-mobile-menu-icon .bars {
    background-color: var(--sc-white) !important;
  }
  #ocean-mobile-menu-icon .bars::before,
  #ocean-mobile-menu-icon .bars::after {
    background-color: var(--sc-white) !important;
  }

  /* Mobile nav panel */
  #ocean-mobile-menu {
    background-color: var(--sc-dark) !important;
  }
  #ocean-mobile-menu .nav-link {
    color: var(--sc-white) !important;
    font-family: var(--sc-font) !important;
    font-weight: 600 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 13px !important;
    border-bottom: 1px solid rgba(196,162,101,.1) !important;
    padding: 14px 20px !important;
  }
  #ocean-mobile-menu .nav-link:hover {
    color: var(--sc-gold) !important;
    background: transparent !important;
  }
  #ocean-mobile-menu .sub-menu {
    background: rgba(255,255,255,.03) !important;
  }

  /* Logo sizing on mobile */
  #site-logo img,
  .custom-logo {
    max-height: 48px !important;
    width: auto !important;
  }

  /* Hide hero scroll indicator on small screens */
  .sc-hero__scroll { display: none; }
}

/* ── Hero mobile ─────────────────────────────────────────────── */
@media (max-width: 640px) {
  .sc-hero { min-height: 100svh; }
  .sc-hero__title { font-size: clamp(28px, 8vw, 44px); }
  .sc-hero__subtitle { font-size: 14px; }
  .sc-hero__actions { flex-direction: column; align-items: center; }
  .sc-hero__btn-primary,
  .sc-hero__btn-outline { width: 100%; max-width: 280px; text-align: center; }
  .sc-hero__logo { max-width: 140px; }
}

/* ── Credentials on small screens ───────────────────────────────*/
@media (max-width: 480px) {
  .sc-credentials__inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 0;
  }
  .sc-cred-item {
    padding: 24px 12px;
    border-right: 1px solid rgba(196,162,101,.15);
    border-bottom: 1px solid rgba(196,162,101,.1);
  }
  .sc-cred-item:nth-child(2n) { border-right: none; }
  .sc-cred-number { font-size: 32px !important; }
  .sc-cred-label { font-size: 9px; }
}

/* ── Carousel mobile ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .sc-carousel-card { flex: 0 0 280px; }
  .sc-carousel-nav {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }
}

/* ── Private House section mobile ───────────────────────────────*/
@media (max-width: 768px) {
  .sc-private-house-section { padding: 60px 0; }
  .sc-private-house-section::before { display: none; }
  .sc-ph-inner { padding: 0 20px; }
  .sc-ph-content__body p { font-size: 14px; }
}

/* ── List Your Property form mobile ─────────────────────────────*/
@media (max-width: 768px) {
  .sc-list-inner { padding: 0 20px; }
  .sc-list-form-wrap { padding: 24px 20px; }
  .sc-list-form__row { grid-template-columns: 1fr !important; }
}

/* ── Partners mobile ─────────────────────────────────────────── */
@media (max-width: 480px) {
  .sc-partner-item {
    flex: 0 0 50%;
    padding: 16px 20px;
  }
  .sc-partner-name { font-size: 12px; }
}

/* ── Single property mobile ──────────────────────────────────── */
@media (max-width: 768px) {
  .sc-property-layout {
    grid-template-columns: 1fr !important;
    gap: 24px;
    padding: 20px 20px 60px;
  }
  .sc-property-sidebar { position: static !important; }
  .sc-sidebar-card { padding: 20px; }
  .sc-sidebar-title { font-size: 16px; }
  .sc-sidebar-price__amount { font-size: 24px; }
  .sc-gallery__thumbs { gap: 4px; }
  .sc-gallery__thumb { width: 64px; height: 48px; }
  .sc-facts-grid { grid-template-columns: 1fr 1fr; }
  .sc-agent-contact { flex-direction: column; }
}

/* ── Page header mobile ──────────────────────────────────────── */
@media (max-width: 768px) {
  .sc-page-header { padding: 48px 20px 36px; }
  .sc-page-header__title { font-size: clamp(24px, 7vw, 36px); }
}

/* ── Filter bar mobile ───────────────────────────────────────── */
@media (max-width: 768px) {
  .sc-filter-sticky { position: relative; top: auto; }
  .sc-filter-bar { padding: 16px 20px; }
}

/* ── Our Story / Services mobile ────────────────────────────── */
@media (max-width: 768px) {
  /* Mission/Vision grid */
  div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  /* Values grid */
  div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Contact info cards */
  div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 480px) {
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns:repeat(2, 1fr)"] {
    grid-template-columns: 1fr !important;
  }
}

/* ── Private House page cards mobile ────────────────────────── */
@media (max-width: 768px) {
  .sc-ph-card { grid-template-columns: 1fr !important; direction: ltr !important; }
  .sc-ph-card__body { padding: 24px 20px; }
  .sc-ph-hero { min-height: 480px; padding: 60px 20px; }
  .sc-ph-feature-bar { gap: 20px; padding: 20px; }
  .sc-ph-feature-bar__item:nth-child(n+3) { display: none; }
}

/* ── Breadcrumb mobile ───────────────────────────────────────── */
@media (max-width: 480px) {
  .sc-breadcrumb { font-size: 10px; }
}

/* ── Contact page map mobile ─────────────────────────────────── */
@media (max-width: 768px) {
  .sc-container > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  iframe[title*="Steve"] { height: 240px; }
}

/* ── Touch targets — minimum 44px ───────────────────────────── */
@media (max-width: 960px) {
  a, button, input[type="submit"], select {
    min-height: 44px;
  }
  .sc-property-card__cta,
  .sc-offplan-card__cta,
  .sc-ph-card__cta {
    padding: 12px 0;
  }
}

/* ── Smooth scrolling ────────────────────────────────────────── */
html {
  scroll-behavior: smooth;
}

/* ── Print styles ────────────────────────────────────────────── */
@media print {
  .sc-hero__video,
  .sc-hero__overlay,
  .sc-hero__scroll,
  .sc-filter-sticky,
  .sc-agent-contact,
  .sc-careers-cta,
  .sc-partners,
  #site-navigation { display: none !important; }
  .sc-property-layout { display: block; }
  .sc-sidebar-card { box-shadow: none; border: 1px solid #ddd; }
  body { font-size: 12pt; color: #000; }
  a { color: #000; text-decoration: none; }
  .sc-property-card { break-inside: avoid; }
}

/* ── Accessibility ───────────────────────────────────────────── */
:focus-visible {
  outline: 2px solid var(--sc-gold);
  outline-offset: 3px;
}

/* Skip link */
.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--sc-gold);
  color: var(--sc-white);
  padding: 10px 20px;
  font-weight: 700;
  z-index: 9999;
  transition: top .2s;
}
.skip-link:focus { top: 0; }

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .sc-hero__video { display: none; }
  .sc-hero { background: linear-gradient(135deg, #1a1a1a 0%, #2C2C2C 100%); }
}

/* ── High contrast mode ──────────────────────────────────────── */
@media (forced-colors: active) {
  .sc-property-card__badge,
  .sc-badge {
    border: 1px solid ButtonText;
  }
}

/* ── Private House warm amber — mobile fixes (Phase 5) ─────── */
@media (max-width: 768px) {
  .sc-private-house-section {
    padding: 72px 0 !important;
  }
  /* Keep the gradient but remove noise overlay on low-end devices */
  .sc-private-house-section::after { display: none; }
  .sc-ph-image-stack { display: none; } /* hide image stack on mobile, content-first */
  .sc-ph-stats { flex-wrap: wrap; gap: 28px; }
  .sc-ph-cta-btn { width: 100%; justify-content: center; }
}

@media (max-width: 480px) {
  .sc-ph-hero { min-height: 520px !important; padding: 80px 20px 60px !important; }
  .sc-ph-hero::after { display: none; } /* No noise texture on small phones */
}

/* Fix duplicate header on mobile */
@media (max-width: 768px) {
  #site-header #site-navigation-wrap { display: none !important; }
  #site-header .mobile-menu-icon { display: block !important; }
  .sc-hero__content { padding: 0 20px !important; }
}

/* Hide desktop nav on mobile — show only hamburger */
@media (max-width: 960px) {
  #site-navigation-wrap,
  #site-header .menu-main-menu-container,
  #site-header .main-menu,
  #site-header #site-navigation-wrap {
    display: none !important;
  }
  #oceanwp-mobile-menu-icon,
  .mobile-menu,
  .sidr-class-mobile-menu,
  #site-header .oceanwp-mobile-menu-icon {
    display: flex !important;
  }
  /* Clean up header on mobile */
  #site-header {
    padding: 10px 15px !important;
    min-height: 60px !important;
  }
  #site-logo img {
    max-width: 150px !important;
  }
}
