/* =====================================================================
   Enquiry modal (includes/enquiry-modal.php). Cream, brown and gold.
   ===================================================================== */
html.eq-lock{overflow:hidden}

/* ---------- inline version of the same form (any page) ---------- */
.eqi{container-type:inline-size;font-family:'Poppins',sans-serif;color:#3A2414;text-align:left}
.eqi *{box-sizing:border-box}
.eqi .eq-form{margin-top:0}
/* page stylesheets style bare p / a / label tags: pin the form's own typography */
.eqi .eq-f label,.eqi .eq-check{font-family:'Poppins',sans-serif !important;font-weight:500 !important;color:#3A2414 !important}
.eqi .eq-check,.eqi .eq-check span{font-size:13px !important;font-weight:400 !important;line-height:1.5 !important;color:#3A2414 !important;text-align:left !important}
.eqi .eq-check a{font-size:inherit !important;font-weight:600 !important;color:#3A2414 !important}
.eqi p.eq-note{font-size:12px !important;line-height:1.5 !important;color:#3A2414 !important;text-align:left !important;margin:10px 0 0 !important}
.eqi .eq-err{font-size:12.5px !important;line-height:1.4 !important;color:var(--brand-brown) !important;text-align:left !important}
.eqi p.eq-form-err{font-size:13.5px !important;line-height:1.55 !important;text-align:left !important}
.eqi .eq-f input,.eqi .eq-f select,.eqi .eq-f textarea{font-family:'Poppins',sans-serif !important;color:#3A2414}
.eqi .eq-done p.eq-sub{font-size:14.5px !important;line-height:1.7 !important;text-align:center !important;color:#3A2414 !important}
.eqi h3.eq-title{margin:16px 0 0;font-family:'Playfair Display',serif;font-weight:600;color:#3A2414}
html body .eqi h3.eq-title:not(#hd){font-size:24px !important}
.eqi .eq-done{padding:28px 6px 10px}
/* the form adapts to the width of whatever box it sits in, not to the screen */
@container (max-width:470px){
  .eqi .eq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 10px}
  .eqi .eq-grid .eq-f,.eqi .eq-grid .eq-f--people{grid-column:span 1}
  .eqi .eq-grid .eq-f--wide,.eqi .eq-grid .eq-f--msg{grid-column:1 / -1}
  .eqi .eq-f label{font-size:13px}
  .eqi .eq-f input[type=text],.eqi .eq-f input[type=tel],.eqi .eq-f input[type=email],.eqi .eq-f input[type=date],.eqi .eq-f select,.eqi .eq-f textarea{padding:9px 10px;font-size:14px}
  .eqi .eq-cap-row{gap:8px}
  .eqi .eq-cap-row canvas{width:112px;height:auto;aspect-ratio:176 / 56}
  .eqi .eq-refresh{width:38px;height:38px}
  .eqi .eq-cap-row input{letter-spacing:3px}
}
@container (max-width:250px){
  .eqi .eq-grid{grid-template-columns:minmax(0,1fr)}
  .eqi .eq-grid .eq-f,.eqi .eq-grid .eq-f--people,.eqi .eq-grid .eq-f--wide,.eqi .eq-grid .eq-f--msg{grid-column:1 / -1}
  .eqi .eq-cap-row canvas{width:96px}
}
.eq{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:min(540px,calc(100% - 24px));margin:auto;overflow:visible;color:#3A2414;font-family:'Poppins',sans-serif}
.eq::backdrop{background:rgba(58,36,20,0.62);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.eq[open]{animation:eqIn .28s cubic-bezier(.2,.8,.2,1)}
.eq[open]::backdrop{animation:eqFade .28s ease}
@keyframes eqIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes eqFade{from{opacity:0}to{opacity:1}}
.eq *{box-sizing:border-box}
.eq-box{position:relative;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:26px 32px 22px;border-radius:26px;background:#F7ECD8;box-shadow:0 30px 80px rgba(58,36,20,0.4)}
.eq-box::-webkit-scrollbar{display:none}
.eq-close{position:absolute;right:14px;top:12px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#3A2414;font-size:18px;cursor:pointer;transition:background .2s}
.eq-close:hover{background:#F7ECD8}
.eq-script{margin:0;font-family:'Dancing Script',cursive;font-size:21px;line-height:1.1;color:var(--brand-brown)}
.eq-box h2.eq-title{margin:2px 0 0;font-family:'Playfair Display',serif;color:#3A2414}
html body .eq h2.eq-title:not(#hd):not(.sr-only):not(footer *){font-size:clamp(24px,3.4vw,30px) !important;line-height:1.2 !important}
.eq-sub{margin:6px 0 0;font-size:14px;line-height:1.6;color:#3A2414}
.eq-sub a{color:var(--brand-brown);font-weight:600}
.eq-for{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;padding:7px 14px;border-radius:999px;background:#F7ECD8;border:1px solid #F7ECD8;font-size:13px;font-weight:500;color:#3A2414}
.eq-for[hidden]{display:none}
.eq-for i{color:var(--brand-brown)}

.eq-form{margin-top:14px}
.eq-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px 14px}
.eq-f{display:flex;flex-direction:column;gap:4px;min-width:0;grid-column:span 3}
.eq-grid .eq-f--people{grid-column:span 2}
.eq-grid .eq-f--msg{grid-column:span 4}
.eq-f label{font-size:13px;font-weight:500;color:#3A2414}
.eq-f label small{font-weight:400;color:#3A2414}
.eq-f input[type=text],.eq-f input[type=tel],.eq-f input[type=email],.eq-f input[type=date],.eq-f select,.eq-f textarea{width:100%;min-height:44px;padding:9px 14px;border:1.5px solid #F7ECD8;border-radius:12px;background:#FFFFFF;font:400 14.5px/1.4 'Poppins',sans-serif;color:#3A2414;transition:border-color .2s,box-shadow .2s}
.eq-f textarea{resize:none;min-height:44px;height:44px}
.eq-f input::placeholder,.eq-f textarea::placeholder{color:#3A2414}
.eq-f input:focus,.eq-f select:focus,.eq-f textarea:focus{outline:0;border-color:#E8BF5C;box-shadow:0 0 0 4px rgba(232,191,92,0.16)}
.eq-f [aria-invalid=true]{border-color:#E8BF5C;box-shadow:0 0 0 3px rgba(232,191,92,0.12)}
.eq-err{min-height:0;font-size:12.5px;line-height:1.4;color:var(--brand-brown)}
.eq-err:empty{display:none}
.eq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* date field: shows "Select date" until a date is chosen (browsers don't let a date input have its own placeholder) */
.eq-date{position:relative}
.eq-date input{cursor:pointer}
.eq-date.is-empty input{color:transparent}
.eq-date.is-empty input::-webkit-datetime-edit,.eq-date.is-empty input::-webkit-datetime-edit-fields-wrapper{color:transparent}
.eq-date.is-empty::before{content:"Select date";position:absolute;left:16px;top:50%;transform:translateY(-50%);font:400 15px/1 'Poppins',sans-serif;color:#3A2414;pointer-events:none}
.eq-date input:focus{color:#3A2414}
.eq-date.is-empty input:focus::-webkit-datetime-edit,.eq-date.is-empty input:focus::-webkit-datetime-edit-fields-wrapper{color:#3A2414}
.eq-date.is-empty:focus-within::before{opacity:0}
.eq-captcha{margin-top:12px}
.eq-cap-row{display:flex;align-items:center;gap:12px}
.eq-cap-row canvas{flex:none;width:150px;height:48px;border:1.5px solid #F7ECD8;border-radius:12px;background:#F7ECD8}
.eq-refresh{flex:none;width:40px;height:40px;border:1.5px solid #F7ECD8;border-radius:50%;background:#FFFFFF;color:#3A2414;font-size:15px;cursor:pointer;transition:background .2s,color .2s,transform .3s}
.eq-refresh:hover{background:#3A2414;color:#FFFFFF;transform:rotate(180deg)}
.eq-cap-row input{flex:1;min-width:0;letter-spacing:4px;text-transform:uppercase;font-weight:500}
.eq-cap-row input::placeholder{letter-spacing:3px}

.eq-consent{margin-top:12px}
.eq-check{display:flex;align-items:flex-start;gap:10px;font-size:13px !important;font-weight:400 !important;line-height:1.5;color:#3A2414;cursor:pointer}
.eq-check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#E8BF5C;cursor:pointer}
.eq-check a{color:#3A2414;font-weight:600;text-decoration:underline;text-underline-offset:3px}

.eq-send{display:flex;align-items:center;justify-content:center;gap:14px;position:relative;width:100%;margin-top:14px;padding:11px 50px 11px 20px;border:0;border-radius:999px;background:#E8BF5C;color:#FFFFFF;font:600 14.5px/1 'Poppins',sans-serif;cursor:pointer;box-shadow:none;transition:transform .2s,box-shadow .2s}
.eq-send span{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#3A2414;color:#FFFFFF;font-size:14px}
.eq-send:hover{transform:translateY(-2px);background:#E8BF5C}
.eq-send:focus-visible,.eq-close:focus-visible,.eq-refresh:focus-visible{outline:3px solid #3A2414;outline-offset:3px}
.eq-send--alt{padding:12px 22px;background:#3A2414;box-shadow:none}
.eq-form-err{margin:16px 0 0;padding:12px 16px;border-radius:12px;background:#F7ECD8;border:1px solid #E8BF5C;font-size:13.5px;line-height:1.55;color:var(--brand-brown)}
.eq-form-err[hidden]{display:none}
.eq-form-err a{color:inherit;font-weight:600}
.eq-send[disabled]{opacity:.7;cursor:progress;transform:none}
.eq-note{margin:10px 0 0;font-size:12px;line-height:1.5;color:#3A2414}

.eq-done{text-align:center;padding:14px 4px 4px}
.eq-done[hidden]{display:none}
.eq-done-ic{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:#E8BF5C;color:#FFFFFF;font-size:28px;box-shadow:0 0 0 8px rgba(232,191,92,0.14)}
.eq-done .eq-title{margin-top:18px}
.eq-done .eq-sub{max-width:460px;margin-left:auto;margin-right:auto}
.eq-done .eq-send{max-width:240px;margin-left:auto;margin-right:auto}

@media(max-width:620px){
  .eq{width:calc(100% - 16px)}
  .eq-box{padding:22px 16px 18px;border-radius:20px}
  .eq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 10px}
  .eq-grid .eq-f,.eq-grid .eq-f--people{grid-column:span 1}
  .eq-grid .eq-f--wide,.eq-grid .eq-f--msg{grid-column:1 / -1}
  .eq-f label{font-size:13px}
  .eq-f input[type=text],.eq-f input[type=tel],.eq-f input[type=email],.eq-f input[type=date],.eq-f select,.eq-f textarea{padding:9px 10px;font-size:14px;min-height:44px}
  .eq-f input[type=date]{min-width:0;-webkit-appearance:none;appearance:none}
  .eq-date.is-empty::before{left:11px;font-size:14px}
  /* captcha: image + refresh + code stay on ONE row */
  .eq-cap-row{flex-wrap:nowrap;gap:8px}
  .eq-cap-row canvas{width:128px;height:auto;aspect-ratio:176 / 56}
  .eq-refresh{width:40px;height:40px;font-size:14px}
  .eq-cap-row input{flex:1 1 0;min-width:0;letter-spacing:3px}
  .eq-cap-row input::placeholder{letter-spacing:2px}
  .eq-send{font-size:14px}
  .eq-note{display:none}
}
@media(max-height:720px){
  .eq-sub{display:none}
  .eq-script{display:none}
  .eq-box{padding-top:20px}
}
@media(max-width:370px){
  .eq-cap-row{gap:6px}
  .eq-cap-row canvas{width:104px}
  .eq-refresh{width:36px;height:36px}
  .eq-cap-row input{letter-spacing:2px;font-size:13px;padding-left:9px;padding-right:9px}
}
@media(prefers-reduced-motion:reduce){.eq[open],.eq[open]::backdrop{animation:none}.eq-refresh,.eq-send{transition:none}}
