/* GIEC Leads – forms, popups, sticky bar. Matches the GIEC Global UK theme (red #c60f0f, 14px radius, pill buttons). */
.glf{--glf-accent:#c60f0f;--glf-ink:#1d1d1f;--glf-mute:#5b5b62;--glf-err:#b42318;--glf-r:14px;--glf-ir:10px;box-sizing:border-box;margin:28px 0;color:var(--glf-ink);text-align:left;font:inherit;line-height:1.5}
.glf *,.glf *::before,.glf *::after{box-sizing:border-box}
.glf [hidden],.glf__form[hidden]{display:none!important}
.glf--card{background:#fff;border:1px solid #ebe3e3;border-radius:var(--glf-r);padding:clamp(18px,4vw,28px);box-shadow:0 2px 6px rgba(29,29,31,.06),0 8px 24px rgba(29,29,31,.06)}
.glf--dark{--glf-ink:#fff;--glf-mute:#d6cfcf;--glf-err:#fff;background:#1d1d1f;border-radius:var(--glf-r);padding:clamp(18px,4vw,28px)}
.glf--brand{--glf-ink:#fff;--glf-mute:#fde6e6;--glf-err:#fff;background:var(--glf-accent);border-radius:var(--glf-r);padding:clamp(18px,4vw,28px)}
.glf--minimal{--glf-ink:currentColor;--glf-mute:currentColor;margin:0}
.glf--minimal .glf__sub,.glf--minimal .glf__privacy{opacity:.8}

.glf__title{margin:0 0 6px;font-size:clamp(1.2rem,2.4vw,1.45rem);line-height:1.25;font-weight:700;color:var(--glf-ink)}
.glf__sub{margin:0 0 18px;color:var(--glf-mute);font-size:15px}
.glf__title+.glf__form{margin-top:16px}
.glf__form{margin:0}
.glf__fields{display:grid;grid-template-columns:minmax(0,1fr);gap:14px 16px}
.glf__field{margin:0;padding:0;border:0;min-width:0}
.glf__field>label,.glf__field>legend{display:block;margin:0 0 6px;padding:0;font-size:14px;font-weight:600;line-height:1.35;color:var(--glf-ink)}
.glf__req{color:var(--glf-accent);font-weight:700}
.glf--brand .glf__req,.glf--dark .glf__req{color:inherit}

.glf input[type=text],.glf input[type=email],.glf input[type=tel],.glf input[type=number],.glf input[type=date],.glf select,.glf textarea{display:block;width:100%;min-height:48px;margin:0;padding:12px 14px;font:inherit;font-size:16px;line-height:1.4;color:#1d1d1f;background:#fff;border:1.5px solid #d9d0d0;border-radius:var(--glf-ir);box-shadow:none;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.glf textarea{min-height:112px;resize:vertical}
.glf select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235b5b62' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.glf input::placeholder,.glf textarea::placeholder{color:#8a8489;opacity:1}
.glf input:hover,.glf select:hover,.glf textarea:hover{border-color:#bfb4b4}
.glf input:focus,.glf select:focus,.glf textarea:focus{outline:none;border-color:var(--glf-accent);box-shadow:0 0 0 3px rgba(198,15,15,.16);box-shadow:0 0 0 3px color-mix(in srgb,var(--glf-accent) 18%,transparent)}
.glf--brand input:focus,.glf--brand select:focus,.glf--brand textarea:focus{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.45)}
.glf .is-invalid input,.glf .is-invalid select,.glf .is-invalid textarea{border-color:var(--glf-err);border-color:#b42318}
.glf__err{margin:6px 0 0;font-size:13.5px;line-height:1.35;font-weight:600;color:#b42318}
.glf--dark .glf__err,.glf--brand .glf__err{display:inline-block;padding:2px 8px;border-radius:6px;background:#b42318;color:#fff}
.glf__err[hidden]{display:none}

.glf__choices{display:flex;flex-wrap:wrap;gap:8px 20px}
.glf__choice{display:inline-flex;align-items:flex-start;gap:9px;margin:0;font-size:15px;font-weight:400;line-height:1.45;color:var(--glf-ink);cursor:pointer}
.glf__choice input{flex:none;width:19px;height:19px;margin:2px 0 0;accent-color:var(--glf-accent)}
.glf--brand .glf__choice input{accent-color:#1d1d1f}
.glf__consent span{font-size:14px}

.glf__actions{margin-top:18px}
.glf__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin:0;padding:13px 30px;border:2px solid var(--glf-accent);border-radius:999px;background:var(--glf-accent);color:#fff;font:inherit;font-size:16.5px;font-weight:700;line-height:1.2;letter-spacing:.01em;cursor:pointer;text-transform:none;box-shadow:0 6px 18px rgba(198,15,15,.22);transition:filter .15s,transform .15s,box-shadow .15s}
.glf__btn:hover{filter:brightness(.9);transform:translateY(-1px)}
.glf__btn:active{transform:none}
.glf__btn:focus-visible{outline:3px solid #1d1d1f;outline-offset:3px}
.glf--brand .glf__btn{background:#fff;border-color:#fff;color:var(--glf-accent);box-shadow:none}
.glf--brand .glf__btn:focus-visible,.glf--dark .glf__btn:focus-visible{outline-color:#fff}
.glf__btn[disabled]{cursor:progress;opacity:.85;transform:none}
.glf__spin{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:glf-spin .7s linear infinite}
.glf--brand .glf__spin{border-color:rgba(198,15,15,.3);border-top-color:var(--glf-accent)}
.glf.is-busy .glf__spin{display:inline-block}
@keyframes glf-spin{to{transform:rotate(360deg)}}

.glf__privacy{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--glf-mute)}
.glf__privacy a{color:inherit;text-decoration:underline}
.glf__status{margin:0;font-size:14px}
.glf__status:empty{display:none}
.glf__status:not(:empty){margin-top:12px}
.glf__status.is-error{font-weight:600;color:#b42318}
.glf--dark .glf__status.is-error,.glf--brand .glf__status.is-error{padding:8px 12px;border-radius:8px;background:#b42318;color:#fff}
.glf__notice--error{margin:0 0 14px;padding:10px 14px;border-radius:8px;background:#fdecea;color:#8a1c12;font-weight:600}

.glf__success{padding:14px 6px;text-align:center;outline:none}
.glf__success[hidden]{display:none}
.glf__tick{position:relative;display:block;width:60px;height:60px;margin:0 auto 14px;border-radius:50%;background:#e7f5ec;animation:glf-pop .35s ease-out}
.glf__tick::after{content:"";position:absolute;left:22px;top:14px;width:13px;height:25px;border:solid #1a7f37;border-width:0 3.5px 3.5px 0;transform:rotate(45deg)}
.glf__success-text{margin:0;font-size:17px;font-weight:600;line-height:1.5;color:var(--glf-ink)}
@keyframes glf-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}

.glf__hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.glf .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.glf__ts{margin-top:14px}
.glf__ts:empty{display:none}
.glf-admin-note{padding:10px 14px;border:1px dashed #c60f0f;border-radius:8px;background:#fdf3f3;color:#8a1c12;font-size:14px}

/* Two columns from 640px: half-width fields sit side by side. */
@media (min-width:640px){
	.glf--two .glf__fields{grid-template-columns:repeat(2,minmax(0,1fr))}
	.glf--two .glf__field{grid-column:1/-1}
	.glf--two .glf__field--half{grid-column:auto}
	.glf--type-contact .glf__btn,.glf--type-inline .glf__btn,.glf--type-blog .glf__btn{width:auto;min-width:240px}
}

/* Banner: every field in one row on desktop, two columns on tablets. */
@media (min-width:640px) and (max-width:1024.98px){
	.glf--row .glf__fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1025px){
	.glf--row .glf__form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
	.glf--row .glf__fields{display:flex;flex:1 1 0;gap:12px;align-items:flex-start}
	.glf--row .glf__field{flex:1 1 0;min-width:0}
	.glf--row textarea{min-height:48px;height:48px;resize:none}
	.glf--row .glf__actions{margin:0}
	.glf--row .glf__btn{width:auto;white-space:nowrap}
	.glf--row .glf__privacy,.glf--row .glf__status,.glf--row .glf__ts,.glf--row .glf__notice--error{flex-basis:100%}
	.glf--row .glf__field>label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Inside GIEC theme / plugin boxes */
.consult__form .glf--minimal,.giec-form-box .glf--minimal{color:#1d1d1f}
.gtr-form--red .glf--minimal .glf__btn{background:#fff;border-color:#fff;color:#b3001b;box-shadow:none}
.gtr-form--red .glf--minimal .glf__req{color:inherit}
.gtr-form--dark .glf--minimal .glf__btn:focus-visible,.gtr-form--red .glf--minimal .glf__btn:focus-visible{outline-color:#fff}

/* ---------------------------------------------------------------- modal / popup */
html.glf-lock{overflow:hidden}
.glf-modal{--glf-accent:#c60f0f;position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.glf-modal[hidden]{display:none}
.glf-modal__backdrop{position:absolute;inset:0;background:rgba(17,17,19,.62);opacity:0;transition:opacity .22s ease}
.glf-modal__dialog{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:30px 26px 24px;border-radius:18px;background:#fff;color:#1d1d1f;box-shadow:0 24px 70px rgba(0,0,0,.35);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .22s ease,transform .22s ease}
.glf-modal__dialog::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--glf-accent);border-radius:18px 18px 0 0}
.glf-modal__dialog:focus{outline:none}
.glf-modal--sm .glf-modal__dialog{max-width:420px}
.glf-modal--lg .glf-modal__dialog{max-width:720px}
.glf-modal.is-open .glf-modal__backdrop{opacity:1}
.glf-modal.is-open .glf-modal__dialog{opacity:1;transform:none}
.glf-modal__close{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#444;font-size:30px;line-height:1;cursor:pointer}
.glf-modal__close:hover{background:#f3eeee;color:#1d1d1f}
.glf-modal__close:focus-visible{outline:3px solid var(--glf-accent);outline-offset:1px}
.glf-modal .glf{margin:0}
.glf-modal .glf__title{padding-right:40px;font-size:1.45rem}
.glf-modal .glf__btn{width:100%;min-width:0}
.glf-modal--corner{inset:auto 20px 20px auto;display:block;width:min(390px,calc(100vw - 40px));padding:0}
.glf-modal--corner .glf-modal__dialog{max-width:none;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);box-shadow:0 18px 50px rgba(0,0,0,.28)}
@media (max-width:600px){
	.glf-modal{align-items:flex-end;padding:0}
	.glf-modal__dialog,.glf-modal--sm .glf-modal__dialog,.glf-modal--lg .glf-modal__dialog{max-width:none;max-height:92vh;max-height:92dvh;padding:28px 18px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;transform:translateY(40px)}
	.glf-modal__dialog::before{border-radius:20px 20px 0 0}
	.glf-modal--corner{inset:auto 0 0 0;width:auto}
}

/* ---------------------------------------------------------------- buttons that open a popup */
.glf-open-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border:2px solid var(--glf-accent,#c60f0f);border-radius:999px;background:var(--glf-accent,#c60f0f);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:filter .15s,transform .15s}
.glf-open-btn:hover{filter:brightness(.9);transform:translateY(-1px)}
.glf-open-btn:focus-visible{outline:3px solid #1d1d1f;outline-offset:3px}

/* ---------------------------------------------------------------- sticky consultant bar */
.glf-sticky{--glf-accent:#c60f0f;position:fixed;left:0;right:0;bottom:0;z-index:9990;display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 60px 12px 20px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#1d1d1f;color:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.18);font-size:15px;animation:glf-up .3s ease-out}
.glf-sticky[hidden]{display:none}
.glf-sticky__text{margin:0;font-weight:600;line-height:1.35}
.glf-sticky__btn{flex:none;min-height:44px;margin:0;padding:10px 24px;border:0;border-radius:999px;background:var(--glf-accent);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:filter .15s}
.glf-sticky__btn:hover{filter:brightness(.9)}
.glf-sticky__btn:focus-visible,.glf-sticky__x:focus-visible{outline:3px solid #fff;outline-offset:2px}
.glf-sticky__x{position:absolute;top:50%;right:8px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:transparent;color:#cfc8c8;font-size:26px;line-height:1;cursor:pointer;transform:translateY(-50%)}
.glf-sticky__x:hover{background:rgba(255,255,255,.1);color:#fff}
body.glf-sticky-on{padding-bottom:72px}
body.glf-has-sticky .sticky-cta{display:none!important}
@keyframes glf-up{from{transform:translateY(100%)}to{transform:none}}
@media (max-width:600px){
	.glf-sticky{justify-content:space-between;gap:10px;padding:10px 50px 10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
	.glf-sticky__text{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
	.glf-sticky__btn{padding:10px 16px;font-size:14.5px}
}
@media (max-width:360px){
	.glf-sticky__text{display:none}
	.glf-sticky{justify-content:center}
}

@media (prefers-reduced-motion:reduce){
	.glf-modal__backdrop,.glf-modal__dialog,.glf__btn,.glf-sticky,.glf__tick{transition:none;animation:none}
}
