/* ═══════════════════════════════════════════════════════════════════
   CORE CSS — popups, lead form, mobile bottom bar ka BASE style.
   Sab projects ke liye SAME. Har selector :where() mein hai (specificity 0),
   isliye project ka style.css jo bhi likhega wahi jeetega.

   Naye project mein sirf colors badalne hain? style.css mein yeh 2 vars do:
     :root{ --lp-primary:#3D1A24; --lp-accent:#b26a29; }
═══════════════════════════════════════════════════════════════════ */
:where(:root){
  --lp-primary: var(--c-brand-green, #1a1a1a);
  --lp-accent:  var(--c-gold, #b26a29);
  --lp-font:    var(--ff-sans, system-ui, -apple-system, "Segoe UI", sans-serif);
  --lp-serif:   var(--ff-serif, Georgia, serif);
}

/* ── Popup shell (open/close mechanics) ── */
:where(.enquiry-popup){
  position:fixed; inset:0; z-index:10000;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition:opacity .3s, visibility .3s;
}
:where(.enquiry-popup.open){ opacity:1; visibility:visible; }
:where(.enquiry-popup-backdrop){ position:absolute; inset:0; background:rgba(10,10,10,.85); }

:where(.lux-popup-panel){
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr;
  width:92%; max-width:480px; max-height:92vh;
  box-shadow:0 32px 80px rgba(0,0,0,.5);
  overflow:hidden;
  transform:translateY(28px) scale(.96);
  transition:transform .45s cubic-bezier(.34,1.4,.64,1);
}
:where(.enquiry-popup.open .lux-popup-panel){ transform:translateY(0) scale(1); }

:where(.lux-popup-right){ background:#fff; padding:44px 40px 36px; overflow-y:auto; position:relative; }
:where(.lux-popup-close){
  position:absolute; top:16px; right:16px; width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  background:#f5f2ed; border:none; color:#5c5c5c; cursor:pointer;
  transition:background .25s, color .25s;
}
:where(.lux-popup-close:hover){ background:#1a1a1a; color:#fff; }
:where(.lux-popup-close svg){ pointer-events:none; }
:where(.lux-form-title){
  font-family:var(--lp-serif); font-size:clamp(22px,2.2vw,30px);
  font-weight:700; color:#1a1a1a; line-height:1.15; margin:0 0 10px;
}
:where(.lux-form-title em){ color:var(--lp-accent); font-style:normal; }

/* ── Lead form fields ── */
:where(.php-form-wrap form){ font-family:var(--lp-font); }
:where(.php-form-wrap .form-group){ margin-bottom:10px; }
:where(.php-form-wrap .form-group input, .php-form-wrap .form-group select){
  width:100%; padding:13px 16px; box-sizing:border-box;
  background:#f5f2ed; border:1.5px solid #c8c0b4; color:#1a1a1a;
  font-family:inherit; font-size:14px; border-radius:0; outline:none;
  -webkit-appearance:none; appearance:none;
  transition:border-color .25s, background .25s;
}
:where(.php-form-wrap .form-group input:focus, .php-form-wrap .form-group select:focus){
  border-color:var(--lp-accent); background:#fff;
}
:where(.php-form-wrap .form-group input::placeholder){ color:#8a8078; opacity:1; }
:where(.php-form-wrap .php-phone-wrap){ display:flex; gap:8px; align-items:center; }
:where(.php-form-wrap .php-country-select){ width:110px; flex-shrink:0; font-size:13px; }

:where(.form-consent-label){ display:flex; gap:8px; align-items:flex-start; font-size:11px; line-height:1.5; color:#5c5c5c; cursor:pointer; }
:where(.form-consent-checkbox){ width:auto !important; margin-top:2px; flex-shrink:0; -webkit-appearance:auto !important; appearance:auto !important; padding:0 !important; }
:where(.form-consent-label a){ text-decoration:underline; }

:where(.enquiry-popup-submit){
  width:100%; padding:15px 24px; margin-top:6px;
  display:flex; align-items:center; justify-content:center; gap:10px;
  background:var(--lp-primary); color:#fff;
  border:1.5px solid var(--lp-primary);
  font-family:inherit; font-size:13px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  cursor:pointer; transition:background .3s, border-color .3s;
}
:where(.enquiry-popup-submit:hover){ background:var(--lp-accent); border-color:var(--lp-accent); }
:where(.enquiry-popup-submit:disabled){ opacity:.7; cursor:wait; }
:where(.enquiry-popup-submit svg){ stroke:currentColor; }

/* ── Mobile bottom bar ── */
:where(.php-mob-bar){ position:fixed; bottom:0; left:0; right:0; z-index:1000; display:none; height:54px; }
:where(.php-mob-call, .php-mob-enquire){
  width:50%; height:100%;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  color:#fff; border:none; font-family:inherit; font-weight:700; font-size:.85rem;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none; cursor:pointer;
}
:where(.php-mob-call){ background:var(--lp-primary); border-right:1px solid rgba(255,255,255,.2); }
:where(.php-mob-enquire){ background:var(--lp-accent); }

@media (max-width:768px){
  :where(.php-mob-bar){
    display:flex;
    transform:translateY(100%); opacity:0; pointer-events:none;
    transition:transform .45s cubic-bezier(.25,.46,.45,.94), opacity .35s ease;
  }
  :where(.php-mob-bar.is-visible){ transform:translateY(0); opacity:1; pointer-events:auto; }
  :where(body){ padding-bottom:54px; }
}
@media (max-width:680px){
  :where(.lux-popup-panel){ max-height:95vh; overflow-y:auto; }
  :where(.lux-popup-right){ padding:32px 24px 28px; }
}
