/* =====================================================
   ENQUIRY FORMS ("Get in Touch" design) + SLIDE-OUT DRAWER
   Loaded on every page after the page's main stylesheet.
   ===================================================== */
.tpf{--tpf-navy:#264673;--tpf-navy-2:#1d3a62;--tpf-line:#d5dde8;--tpf-ink:#1b2f4e;--tpf-muted:#6b7c93;
  background:#fff;border-radius:14px;box-shadow:0 18px 44px rgba(11,37,69,.13);overflow:hidden;color:#1d2b3a;text-align:left;width:100%}
.tpf-head{background:linear-gradient(135deg,#2c4a78 0%,#1f3a63 100%);color:#fff;text-align:center;padding:28px 26px 24px}
.tpf-head h3{color:#fff;font-family:'Poppins',system-ui,sans-serif;font-size:26px;font-weight:700;line-height:1.2;margin:0}
.tpf-head p{color:rgba(255,255,255,.88);font-size:14.5px;line-height:1.55;margin:10px auto 0;max-width:440px}
.tpf-body{padding:24px 26px 26px}
.tpf-field{margin-bottom:18px}
.tpf-lbl{display:block;font-weight:600;color:var(--tpf-ink);font-size:14.5px;margin-bottom:8px}
.tpf-lbl .req{color:#e0344b;margin-left:5px}
.tpf-ctl{position:relative}
.tpf-ctl > svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--tpf-muted);pointer-events:none}
.tpf-ctl.ta > svg{top:14px;transform:none}
.tpf input,.tpf select,.tpf textarea{display:block;width:100%;height:52px;margin:0;border:1px solid var(--tpf-line);border-radius:8px;padding:0 14px 0 46px;
  font:15px 'Inter',system-ui,sans-serif;color:#1d2b3a;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;box-shadow:none}
.tpf input::placeholder,.tpf textarea::placeholder{color:#8a97a8}
.tpf textarea{height:auto;min-height:120px;padding:13px 14px 13px 46px;resize:vertical;line-height:1.5}
.tpf select{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231b2f4e' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.tpf input:focus,.tpf select:focus,.tpf textarea:focus{border-color:var(--tpf-navy);box-shadow:0 0 0 3px rgba(38,70,115,.14)}
.tpf input:user-invalid,.tpf textarea:user-invalid{border-color:#e0344b}
.tpf-phone{display:grid;grid-template-columns:minmax(158px,34%) 1fr;gap:10px}
.tpf-phone select{padding-left:40px;padding-right:26px;background-position:right 9px center}
.tpf-phone input{padding-left:42px;padding-right:10px}
.tpf-phone .tpf-ctl > svg{left:13px}
.tpf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.tpf-btn{display:block;width:100%;height:54px;border:0;border-radius:8px;background:var(--tpf-navy);color:#fff;font:600 17px 'Inter',system-ui,sans-serif;cursor:pointer;transition:background .15s;margin-top:4px}
.tpf-btn:hover{background:var(--tpf-navy-2)}
.tpf-btn:focus-visible{outline:3px solid rgba(38,70,115,.35);outline-offset:2px}
.tpf-note{font-size:12px;color:var(--tpf-muted);text-align:center;margin:12px 0 0;line-height:1.5}
.tpf-note a{color:var(--tpf-navy);text-decoration:underline}

/* hero column on inner pages gets a little wider for the new form */
@media (min-width:1101px){ .page-hero .container{grid-template-columns:1fr 460px} }
.page-hero .tpf,.enq .tpf{max-width:560px}
.sticky-side .tpf{max-width:none}

/* ---------------- drawer ---------------- */
.enq-drawer{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}
.enq-drawer.open{visibility:visible;pointer-events:auto}
.enq-overlay{position:absolute;inset:0;background:rgba(10,22,40,.55);opacity:0;transition:opacity .28s}
.enq-panel{position:absolute;top:0;right:0;height:100%;width:min(500px,100%);background:#eef2f7;transform:translateX(100%);
  transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow-y:auto;overscroll-behavior:contain;box-shadow:-12px 0 40px rgba(0,0,0,.2)}
.enq-drawer.open .enq-overlay{opacity:1}
.enq-drawer.open .enq-panel{transform:none}
.enq-panel .tpf{border-radius:0;box-shadow:none;min-height:100%}
.enq-panel .tpf-head{padding:40px 56px 26px}
.enq-close{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.enq-close:hover{background:rgba(255,255,255,.3)}
.enq-close svg{width:18px;height:18px}
body.enq-lock{overflow:hidden}

/* field grid: one column by default, two columns in the centred pop-up */
.tpf-grid{display:grid;grid-template-columns:1fr;column-gap:16px}

/* ---------------- centred pop-up (Get Price List, Download Brochure, ...) ---------------- */
.enq-modal{position:fixed;inset:0;z-index:210;visibility:hidden;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:20px}
.enq-modal.open{visibility:visible;pointer-events:auto}
.enq-modal.open .enq-overlay{opacity:1}
.enq-dialog{position:relative;width:min(760px,100%);max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain;border-radius:14px;
  opacity:0;transform:translateY(16px) scale(.98);transition:opacity .25s,transform .25s}
.enq-modal.open .enq-dialog{opacity:1;transform:none}
.enq-dialog .tpf{box-shadow:0 24px 60px rgba(0,0,0,.3)}
.enq-dialog .tpf-head{padding:30px 56px 24px}
@media (min-width:700px){
  .tpf-popup .tpf-grid{grid-template-columns:1fr 1fr}
  .tpf-popup .tpf-full{grid-column:1/-1}
}

/* vertical "Enquire Now" tab on the right edge */
.enq-tab{position:fixed;right:0;top:50%;z-index:55;transform:translateY(-50%);writing-mode:vertical-rl;rotate:180deg;
  background:#264673;color:#fff;border:0;border-radius:0 8px 8px 0;padding:18px 11px;font:600 14px 'Inter',system-ui,sans-serif;letter-spacing:.03em;cursor:pointer;box-shadow:0 6px 18px rgba(11,37,69,.25);transition:background .15s}
.enq-tab:hover{background:#1d3a62}

@media (max-width:600px){
  .tpf-head{padding:24px 18px 20px}
  .tpf-head h3{font-size:22px}
  .tpf-body{padding:20px 18px 22px}
  .tpf-phone{grid-template-columns:1fr}
  .tpf-row{grid-template-columns:1fr}
  .enq-panel .tpf-head{padding:34px 48px 22px}
  body.has-mcta .enq-tab{display:none}
  .enq-tab{padding:14px 9px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){ .enq-panel,.enq-overlay,.enq-dialog{transition:none} }
