
.wedding-enquiry-page{background:var(--warm);color:var(--ink);}
.wedding-enquiry-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.88fr) minmax(520px,1.12fr);padding-top:0;}
.wedding-enquiry-visual{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--ink);}
.wedding-enquiry-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.wedding-enquiry-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,15,12,.58),rgba(15,15,12,.06) 62%);}
.wedding-enquiry-visual-copy{position:absolute;left:48px;right:48px;bottom:52px;z-index:2;color:#fff;}
.wedding-enquiry-visual-copy .eyebrow{color:var(--sand2);margin-bottom:14px;}
.wedding-enquiry-visual-copy h1{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,5vw,76px);font-weight:300;line-height:.95;max-width:520px;}
.wedding-enquiry-visual-copy h1 em{font-style:italic;color:var(--sand2);}
.wedding-enquiry-visual-copy p{margin-top:18px;max-width:470px;font-size:12px;line-height:1.8;color:rgba(255,255,255,.72);}
.wedding-enquiry-content{padding:118px clamp(34px,6vw,84px) 80px;background:var(--warm);}
.wedding-enquiry-content-inner{max-width:760px;margin:0 auto;}
.wedding-form-kicker{font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--sand);margin-bottom:10px;}
.wedding-form-title{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,4.5vw,62px);font-weight:300;line-height:1.02;}
.wedding-form-title em{font-style:italic;color:var(--olive);}
.wedding-form-intro{margin-top:16px;max-width:650px;font-size:13px;line-height:1.9;color:var(--ink2);}
.wedding-form-note{margin:18px 0 32px;padding:14px 16px;border-left:2px solid var(--sand2);background:rgba(255,255,255,.45);font-size:11px;line-height:1.7;color:var(--ink2);}
.wedding-form{display:grid;gap:26px;}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.form-label,.form-legend{font-size:9px;letter-spacing:2.8px;text-transform:uppercase;color:var(--ink);font-weight:400;}
.form-help{font-size:10px;line-height:1.55;color:var(--ink3);}
.wedding-form input[type='text'],
.wedding-form input[type='email'],
.wedding-form input[type='tel'],
.wedding-form input[type='date'],
.wedding-form select,
.wedding-form textarea{
  width:100%;border:1px solid var(--warm3);background:#fff;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:13px;font-weight:300;padding:14px 15px;outline:none;transition:border-color .25s,box-shadow .25s;
}
.wedding-form textarea{min-height:150px;resize:vertical;line-height:1.7;}
.wedding-form input:focus,.wedding-form select:focus,.wedding-form textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(107,113,66,.09);}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.choice-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr));}
.choice-option{position:relative;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--warm3);background:rgba(255,255,255,.58);padding:12px 13px;font-size:11px;line-height:1.45;color:var(--ink2);}
.choice-option input{margin-top:2px;accent-color:var(--olive);}
.choice-option:has(input:checked){border-color:rgba(107,113,66,.55);background:rgba(107,113,66,.07);color:var(--ink);}
.form-inline-check{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--ink2);margin-top:2px;}
.form-inline-check input{accent-color:var(--olive);}
.form-conditional[hidden]{display:none !important;}
.form-actions{display:flex;align-items:center;gap:18px;padding-top:4px;}
.form-actions .btn-primary{min-width:210px;cursor:pointer !important;}
.form-privacy{font-size:9.5px;line-height:1.55;color:var(--ink3);max-width:380px;}
.form-alert{padding:15px 17px;border:1px solid var(--warm3);font-size:11px;line-height:1.6;margin:0 0 26px;}
.form-alert--success{background:rgba(107,113,66,.09);border-color:rgba(107,113,66,.35);color:#3f4827;}
.form-alert--error{background:#fff4f1;border-color:#d7afa3;color:#744437;}
.form-alert ul{margin:7px 0 0 18px;}
.wedding-thanks h2{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,64px);font-weight:300;line-height:1;}
.wedding-thanks h2 em{font-style:italic;color:var(--olive);}
.wedding-thanks p{margin-top:18px;font-size:13px;line-height:1.9;color:var(--ink2);max-width:560px;}
.wedding-thanks .btn-primary{margin-top:28px;}
.wedding-enquiry-page footer{margin-top:0;}

@media(max-width:980px){
  .wedding-enquiry-shell{grid-template-columns:1fr;}
  .wedding-enquiry-visual{position:relative;height:58svh;min-height:480px;}
  .wedding-enquiry-content{padding:70px 28px 68px;}
}
@media(max-width:640px){
  .wedding-enquiry-visual{height:54svh;min-height:420px;}
  .wedding-enquiry-visual-copy{left:26px;right:26px;bottom:34px;}
  .wedding-enquiry-content{padding:60px 20px;}
  .form-grid-2,.choice-grid,.choice-grid--wide{grid-template-columns:1fr;}
  .form-actions{align-items:flex-start;flex-direction:column;}
  .form-actions .btn-primary{width:100%;}
}


/* === Wedding venue Google Places results === */
.place-search-wrap{
  position:relative;
}
.places-results{
  position:absolute;
  z-index:1000;
  left:0;
  right:0;
  top:calc(100% + 5px);
  margin:0;
  padding:5px 0;
  background:#fff;
  border:1px solid var(--warm3);
  box-shadow:0 14px 34px rgba(26,26,24,.14);
  max-height:300px;
  overflow-y:auto;
}
.places-results[hidden]{
  display:none;
}
.place-result-button{
  display:block;
  width:100%;
  border:0;
  background:#fff;
  color:var(--ink);
  text-align:left;
  padding:12px 14px;
  font:400 12px/1.5 'Montserrat',sans-serif;
  letter-spacing:0;
  text-transform:none;
  cursor:pointer !important;
}
.place-result-button:hover,
.place-result-button:focus{
  background:var(--warm);
  outline:none;
}
.place-result-button + .place-result-button{
  border-top:1px solid #eeeae2;
}
.place-loading{
  padding:12px 14px;
  font-size:10.5px;
  line-height:1.5;
  color:var(--ink3);
}
.place-selection{
  display:none;
  margin-top:8px;
  padding-left:18px;
  position:relative;
  font-size:10.5px;
  line-height:1.55;
  color:#5e6340;
}
.place-selection.visible{
  display:block;
}
.place-selection::before{
  content:'✓';
  position:absolute;
  left:0;
  top:0;
  color:var(--olive);
  font-weight:600;
}
