/* Get a Quote Page */

.quote-page .container{
  width:100vw; max-width:100vw; margin-left:calc(-50vw + 50%);
  padding-left:max(env(safe-area-inset-left),clamp(32px,6vw,72px));
  padding-right:max(env(safe-area-inset-right),clamp(32px,6vw,72px));
}

.quote-hero{ position:relative; display:flex; align-items:center; justify-content:center; text-align:center; padding:clamp(8px,2vh,24px) 0; min-height:100vh; background:url('../../../assets/newfoundland-photography.jpg') center/cover no-repeat; }
.quote-hero::before{ content:''; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,1) 0%, rgba(0,0,0,.45) 10%, rgba(0,0,0,.15) 30%, rgba(0,0,0,.15) 70%, rgba(0,0,0,.45) 90%, rgba(0,0,0,1) 100%); }
.quote-hero .container{ position:relative; z-index:1; max-width:900px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; min-height:calc(100vh - clamp(16px,4vh,48px)); }
.page-title{
  font-family:var(--font-family-display, 'Universal Sans Display', -apple-system, Arial, sans-serif);
  font-size:48px; line-height:56px; font-weight:var(--font-weight-medium);
  color:var(--color-white); margin:0 0 var(--space-2) 0;
}

.page-subtitle{ font-size:1.05rem; color:rgba(255,255,255,.92); margin:0 0 18px; }

.quote-content-section{ padding:clamp(24px,6vw,56px) 0 96px; }
.quote-layout{ display:grid; grid-template-columns: 1fr 1.2fr; gap:clamp(24px,4vw,40px); align-items:start; }
.quote-quick{ margin: clamp(16px, 5vw, 40px) 0; }
.quick-input{
  width: 100%; height: 56px; padding: 0 20px;
  font-size: 1.05rem; color: var(--color-text);
  background: rgba(255,255,255,0.9); border: 1px solid var(--color-gray-200);
  border-radius: 9999px; outline: none; transition: box-shadow .2s ease, transform .2s ease, background .2s ease;
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.quick-input::placeholder{ color: var(--color-gray-500); }
.quick-input:focus{ box-shadow: 0 10px 30px rgba(0,0,0,0.12); border-color: var(--color-gray-300); background: rgba(255,255,255,0.98); }


/* Info cards (left) */
.info-cards{ display:grid; grid-template-columns:1fr; gap:var(--space-4); }
.info-card{ display:block; padding:var(--space-6); background:var(--color-gray-50); border:1px solid var(--color-gray-200); color:inherit; text-decoration:none; transition:all var(--transition-base); }
.info-card:hover{ background:var(--color-white); box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.info-title{ font-size:.875rem; color:var(--color-gray-600); margin-bottom:var(--space-1); }
.info-value{ font-size:1.125rem; font-weight:var(--font-weight-medium); color:var(--color-black); }

/* Form (right) */
.quote-form{ background:rgba(0,0,0,0.35); border:1px solid rgba(255,255,255,0.16); color:#fff; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,0.25); padding:clamp(20px,4vw,36px); }

.quote-form-wrap{ max-width:820px; margin:0 auto; }
/* Dark form elements (Tesla-style) */
.quote-form .form-label{ color:rgba(255,255,255,0.85); }
.quote-form .form-input,
.quote-form .form-select,
.quote-form .form-textarea{
  background:transparent; color:#fff; border:none; border-bottom:1px solid rgba(255,255,255,0.35);
  padding:12px 0; border-radius:0;
}
.quote-form .form-input::placeholder,
.quote-form .form-textarea::placeholder{ color:rgba(255,255,255,0.55); }
.quote-form .form-input:focus,
.quote-form .form-select:focus,
.quote-form .form-textarea:focus{ outline:none; box-shadow:none; border-bottom-color:#fff; }
.quote-form .form-textarea{ min-height:96px; }

/* Dark chips */
.quote-form .chip{ background:transparent; color:#fff; border-color:rgba(255,255,255,0.35); }
.quote-form .chip:hover{ border-color:#fff; }
.quote-form .chip-group input[type="radio"]:checked + label.chip{ background:#fff; color:#000; border-color:#fff; }

/* Button */
.quote-form .form-submit{ width:100%; height:52px; font-size:1rem; border-radius:9999px; }
/* Fieldset and chip spacing fixes */
.quote-form fieldset{ border:0; padding:0; margin:0 0 var(--space-4); }
.quote-form legend.form-label{ margin:0 0 8px 0; padding:0; }
.chip-group{ gap:12px; padding:6px 0; }
.service-select .chip-group, .timeline-select .chip-group{ margin-bottom:18px; }

/* Ensure controls span the full form width */
.quote-form .form-input, .quote-form .form-select, .quote-form .form-textarea{ width:100%; box-sizing:border-box; }

/* Details block alignment */
details.form-group{ margin:0 0 var(--space-4); width:100%; }
details.form-group > summary.form-label{ display:flex; align-items:center; justify-content:space-between; padding:12px 0; margin:0; list-style:none; width:100%; border-bottom:1px solid rgba(255,255,255,0.35); cursor:pointer; }
details.form-group[open] > summary.form-label{ border-bottom-color:#fff; }
details.form-group > summary::-webkit-details-marker{ display:none; }
details.form-group textarea.form-textarea{ margin-top:12px; }


.quote-meta{ display:flex; gap:24px; justify-content:center; margin:12px auto 32px; font-size:.95rem; color:var(--color-gray-700); }
.quote-meta a{ color:inherit; text-decoration:none; border-bottom:1px solid rgba(0,0,0,0.15); }

.form-row{ display:grid; grid-template-columns:1fr; gap:var(--space-4); margin-bottom:var(--space-4); }
.form-group{ display:flex; flex-direction:column; }
.form-label{ font-size:.9rem; color:var(--color-text); margin-bottom:var(--space-2); }
.form-input, .form-select, .form-textarea{ padding:var(--space-3); border:1px solid var(--color-gray-300); background:var(--color-white); font-size:.95rem; }
.form-input:focus, .form-select:focus, .form-textarea:focus{ outline:none; border-color:var(--color-primary); box-shadow:0 0 0 2px rgba(108,171,221,0.12); }
.form-textarea{ min-height:96px; resize:vertical; }

/* Service chips */
.service-select{ margin-bottom:var(--space-4); }
.chip-group{ display:flex; flex-wrap:wrap; gap:10px; }
.chip-group input[type="radio"]{ position:absolute; opacity:0; pointer-events:none; }
.chip{ display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border:1px solid var(--color-gray-300); border-radius:9999px; background:#fff; color:#111; font-size:.95rem; cursor:pointer; transition:all .2s ease; }
.chip:hover{ border-color:var(--color-gray-500); box-shadow:0 4px 14px rgba(0,0,0,.06); transform:translateY(-1px); }
.chip-group input[type="radio"]:checked + label.chip{ background:#111; color:#fff; border-color:#111; }

/* Two-up rows on desktop */
.form-row{ grid-template-columns:repeat(2, 1fr); }
@media (max-width: 680px){
  .form-row{ grid-template-columns:1fr; }
}

.form-submit{ margin-top:var(--space-4); padding:var(--space-3) var(--space-6); }

/* Disclosure + tiny text */
.consent-note{ margin-top:10px; font-size:.85rem; color:var(--color-gray-600); }

/* Utilities */
.hidden{ display:none !important; }

@media (max-width: 1024px){
  .quote-layout{ grid-template-columns:1fr; }
}


