@import "tailwindcss";@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
        --Primary-color: #461506;
        --Secondary-color: #651f0a;
        --button-color: #421102;
        --button-hover-color: #330d02;
        --button-text-color: #fff;
        --button-text-hover-color: #fff;
        --brand-light: #f5ede9;
}

      *,
      *::before,
      *::after {
        box-sizing: border-box;
        margin: 0;
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        font-family: "DM Sans", sans-serif;
        background: #f3f4f6;
        color: #1a1a1a;
      }

      /* ─── section heading underline ─── */
      .sec-title {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: 1.1rem;
        color: var(--Primary-color);
      }
      .sec-title::after {
        content: "";
        display: block;
        margin-top: 6px;
        width: 36px;
        height: 3px;
        background: var(--Primary-color);
        border-radius: 2px;
      }

      /* ─── buttons ─── */
      .btn-primary {
        background: var(--button-color);
        color: var(--button-text-color);
        transition: background 0.2s;
      }
      .btn-primary:hover {
        background: var(--button-hover-color);
      }

      .btn-outline {
        border: 2px solid var(--Primary-color);
        color: var(--Primary-color);
        background: transparent;
        transition:
          background 0.2s,
          color 0.2s;
      }
      .btn-outline:hover {
        background: var(--button-hover-color);
        color: #fff;
        border-color: var(--button-hover-color);
      }

      /* ─── image placeholder ─── */
      .img-ph {
        background: linear-gradient(135deg, #d1d5db, #9ca3af 60%, #6b7280);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        color: #4b5563;
        font-size: 12px;
        font-weight: 500;
        position: relative;
        overflow: hidden;
      }
      .img-ph::before {
        content: "";
        position: absolute;
        inset: 0;
        background: repeating-linear-gradient(
          45deg,
          transparent,
          transparent 10px,
          rgba(0, 0, 0, 0.04) 10px,
          rgba(0, 0, 0, 0.04) 20px
        );
      }
      .img-ph > * {
        position: relative;
        z-index: 1;
      }
      .img-ph svg {
        opacity: 0.4;
      }

      /* ─── card ─── */
      .card {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        overflow: hidden;
        box-shadow:
          0 2px 12px rgba(0, 0, 0, 0.08),
          0 1px 3px rgba(0, 0, 0, 0.05);
      }

      /* ─── navbar ─── */
      #navbar {
        transition: box-shadow 0.3s;
      }
      #navbar.scrolled {
        box-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
      }
      #mobile-menu {
        display: none;
      }
      #mobile-menu.open {
        display: block;
      }

      /* ─── nav link active state ─── */
      .nav-link.active {
        color: var(--Primary-color) !important;
        border-color: var(--Primary-color) !important;
      }

      /* ─── floor plan tab ─── */
      .tab-btn {
        border: 2px solid #e5e7eb;
        color: #6b7280;
        border-radius: 6px;
        padding: 5px 18px;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        background: #fff;
      }
      .tab-btn.active {
        background: var(--Primary-color);
        color: #fff;
        border-color: var(--Primary-color);
      }

      /* ─── form inputs ─── */
      .fi {
        width: 100%;
        border: 1.5px solid #d1d5db;
        border-radius: 8px;
        padding: 10px 14px;
        font-size: 13px;
        font-family: "DM Sans", sans-serif;
        outline: none;
        transition: border-color 0.2s;
        background: #fff;
        color: #1a1a1a;
      }
      .fi:focus {
        border-color: var(--Primary-color);
        box-shadow: 0 0 0 3px rgba(70, 21, 6, 0.08);
      }
      .fi::placeholder {
        color: #9ca3af;
      }

      /* ─── amenity column dividers ─── */
      .amen-col {
        padding-top: 20px;
        padding-bottom: 20px;
      }
      .amen-col + .amen-col {
        border-left: 1px solid #e5e7eb;
      }
      @media (max-width: 767px) {
        .amen-col + .amen-col {
          border-left: none;
          border-top: 1px solid #e5e7eb;
        }
      }

      /* ─── stat dividers ─── */
      .stat-item {
        padding-top: 18px;
        padding-bottom: 18px;
      }
      .stat-item + .stat-item {
        border-left: 1px solid #e5e7eb;
      }
      @media (max-width: 639px) {
        .stat-item + .stat-item {
          border-left: none;
          border-top: 1px solid #e5e7eb;
        }
      }

      /* ─── section spacing ─── */
      .section-wrap {
        padding-top: 24px;
        padding-bottom: 24px;
      }

      /* ─── popup ─── */
      #popup-overlay {
        position: fixed;
        inset: 0;
        z-index: 9999;
        background: rgba(0, 0, 0, 0.55);
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 16px;
        animation: fadeIn 0.3s ease;
      }
      #popup-overlay.hidden {
        display: none;
      }

      @keyframes fadeIn {
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
      }

      #popup-box {
        background: #fff;
        border-radius: 16px;
        width: 100%;
        max-width: 440px;
        overflow: hidden;
        box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
        animation: slideUp 0.35s ease;
      }
      @keyframes slideUp {
        from {
          transform: translateY(40px);
          opacity: 0;
        }
        to {
          transform: translateY(0);
          opacity: 1;
        }
      }

      /* ── Scroll offset for sticky navbar ── */
[id] {
  scroll-margin-top: 72px;
}