/* CFS slide-up enquiry form (mu-plugins/cfs-enquiry-sheet.php). Phones: slides up from the bottom. 768px+: side panel. */
/* Form rules are anchored on #cfs-es so they beat the site's Additional CSS (.wpcf7 .cfs-sb ... !important). z-index sits above the fixed header (999999). */
.cfs-es[hidden]{display:none!important}
.cfs-es{position:fixed;inset:0;z-index:1000001;font-size:16px;line-height:1.5;color:#333}
.cfs-es__overlay{position:absolute;inset:0;background:rgba(13,44,77,.5);opacity:0;transition:opacity .25s ease}
.cfs-es.is-open .cfs-es__overlay{opacity:1}
.cfs-es__panel{position:absolute;left:0;right:0;bottom:0;max-height:92vh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -8px 40px rgba(13,44,77,.18);padding:10px 20px calc(24px + env(safe-area-inset-bottom));box-sizing:border-box;transform:translateY(105%);transition:transform .34s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;gap:14px;outline:0}
.cfs-es.is-open .cfs-es__panel{transform:none}
@media (min-width:768px){
	.cfs-es__panel{left:auto;top:0;width:460px;max-height:none;border-radius:0;padding:36px 36px 32px;transform:translateX(105%);box-shadow:-8px 0 40px rgba(13,44,77,.18)}
	.cfs-es__handle{display:none}
}
@media (prefers-reduced-motion:reduce){.cfs-es__panel,.cfs-es__overlay{transition:none}}
html.cfs-es-lock,html.cfs-es-lock body{overflow:hidden}

.cfs-es__handle{width:40px;height:4px;border-radius:4px;background:#C7D0DA;align-self:center;margin-top:2px;flex:none}
.cfs-es__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
#cfs-es .cfs-es__title{margin:6px 0 0;padding:0;font-family:"Crimson Text",Georgia,serif;font-weight:400;font-size:28px;line-height:1.1;letter-spacing:0;color:#0D2C4D;text-transform:none}
.cfs-es__close{flex:none;width:44px;height:44px;border-radius:22px;border:1px solid #D9DEE5;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin:0}
.cfs-es__close:focus-visible,.cfs-es__change:focus-visible{outline:2px solid #0D2C4D;outline-offset:2px}

.cfs-es__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cfs-es__chip{display:inline-flex;align-items:center;gap:8px;background:#E8EDF3;border-radius:999px;padding:8px 14px;font-size:14px;line-height:1.3;color:#0D2C4D}
.cfs-es__chip>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#4A5560}
.cfs-es__chip strong{font-weight:600}
.cfs-es__change{background:none;border:0;padding:8px 4px;font:inherit;font-size:14px;color:#0D2C4D;text-decoration:underline;cursor:pointer;min-height:36px}

.cfs-es__ask,.cfs-es-ask{display:flex;flex-direction:column;gap:6px}
.cfs-es__ask[hidden]{display:none}
.cfs-es-ask{margin:0 0 14px}
.cfs-es__ask label,.cfs-es-ask label{font-size:14px;font-weight:600;color:#0D2C4D;margin:0}
.cfs-es__ask select,.cfs-es-ask select{width:100%;height:48px;border:1px solid #C7D0DA;border-radius:8px;padding:0 12px;font:inherit;font-size:16px;background:#fff;color:#333;box-sizing:border-box}
#cfs-es .cfs-es__sub{margin:0;font-size:15px;line-height:1.5;color:#4A5560}

/* The Contact Form 7 short form inside the panel */
#cfs-es .cfs-sb{background:none;border:0;box-shadow:none;padding:0;margin:0;position:static;max-width:none}
#cfs-es .cfs-sb__title,#cfs-es .cfs-sb__intro,#cfs-es .cfs-sb__photo,#cfs-es .cfs-sb__call{display:none!important}
#cfs-es .cfs-field-full{margin:0 0 14px}
#cfs-es .cfs-label{display:block;font-size:14px;font-weight:600;color:#0D2C4D;margin:0 0 6px}
#cfs-es input[type=text],#cfs-es input[type=tel],#cfs-es input[type=email]{width:100%;height:48px;box-sizing:border-box;border:1px solid #C7D0DA;border-radius:8px;padding:0 14px;font:inherit;font-size:16px;color:#333;background:#fff;margin:0}
#cfs-es input[type=text]:focus,#cfs-es input[type=tel]:focus,#cfs-es input[type=email]:focus,#cfs-es select:focus{outline:2px solid #0D2C4D;outline-offset:1px;border-color:#0D2C4D}
#cfs-es .wpcf7-not-valid{border-color:#B42318!important}
#cfs-es .wpcf7-not-valid-tip{display:block;font-size:13px;color:#B42318;margin-top:4px}
#cfs-es .cfs-sb__consent{margin:0 0 4px}
#cfs-es .cfs-sb__consent label{display:block;font-size:13px;line-height:1.45;color:#4A5560;margin:0 0 10px;font-weight:400}
#cfs-es .cfs-sb__consent input[type=checkbox]{width:18px;height:18px;margin:0 8px 0 0;vertical-align:-3px;accent-color:#0D2C4D}
#cfs-es .cfs-sb__consent a{color:#0D2C4D}
#cfs-es .cfs-sb__actions{margin:6px 0 0}
#cfs-es .cfs-sb__submit,#cfs-es .wpcf7-submit{display:block;width:100%;height:54px;border:0;border-radius:999px;background:#0D2C4D;color:#fff;font:inherit;font-size:17px;font-weight:500;cursor:pointer;margin:0}
#cfs-es .wpcf7-spinner{margin:8px auto 0;display:block}
#cfs-es .wpcf7-response-output{margin:12px 0 0;font-size:15px}
#cfs-es .cfs-es__alt{margin:0;text-align:center;font-size:14px;color:#4A5560}
#cfs-es .cfs-es__alt a{color:#0D2C4D;font-weight:600}
.cfs-es__trust{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;border-top:1px solid #E8EDF3;padding-top:12px;font-size:13px;color:#4A5560}
.cfs-es__good{display:inline-block;background:#4E7E1B;color:#fff;border-radius:5px;padding:0 7px;font-size:12px;margin-left:4px}
.cfs-es__star{color:#B07A1C;letter-spacing:1px}

/* Contact page: the short form sits on the page (.cfs-ct__formwrap). Same look as the panel. */
.cfs-ct .cfs-ct__formwrap .cfs-sb__photo{margin:0 0 18px}
.cfs-ct .cfs-ct__formwrap .cfs-sb__photo img{display:block;width:100%;height:auto;border-radius:8px}
.cfs-ct .cfs-ct__formwrap .cfs-sb__title{margin:0 0 4px;font-family:"Crimson Text",Georgia,serif;font-weight:400;font-size:30px;line-height:1.1;color:#0D2C4D}
.cfs-ct .cfs-ct__formwrap .cfs-sb__intro{margin:0 0 18px;font-size:16px;line-height:1.5;color:#4A5560}
.cfs-ct .cfs-ct__formwrap .cfs-es-ask label,.cfs-ct .cfs-ct__formwrap .cfs-label{display:block;font-size:15px;font-weight:600;color:#0D2C4D;margin:0 0 6px}
.cfs-ct .cfs-ct__formwrap .cfs-field-full{margin:0 0 16px}
.cfs-ct .cfs-ct__formwrap .cfs-es-ask{margin:0 0 16px}
.cfs-ct .cfs-ct__formwrap input[type=text],.cfs-ct .cfs-ct__formwrap input[type=tel],.cfs-ct .cfs-ct__formwrap input[type=email],.cfs-ct .cfs-ct__formwrap select{width:100%;height:50px;box-sizing:border-box;border:1px solid #C7D0DA;border-radius:8px;padding:0 14px;font:inherit;font-size:16px;color:#333;background:#fff;margin:0}
.cfs-ct .cfs-ct__formwrap input:focus,.cfs-ct .cfs-ct__formwrap select:focus{outline:2px solid #0D2C4D;outline-offset:1px;border-color:#0D2C4D}
.cfs-ct .cfs-ct__formwrap .cfs-sb__consent{margin:4px 0 6px}
.cfs-ct .cfs-ct__formwrap .cfs-sb__consent p{margin:0;padding:0}
.cfs-ct .cfs-ct__formwrap .cfs-sb__consent .wpcf7-list-item{display:block;margin:0 0 12px}
.cfs-ct .cfs-ct__formwrap .cfs-sb__consent .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:#4A5560;font-weight:400;margin:0}
.cfs-ct .cfs-ct__formwrap .cfs-sb__consent input[type=checkbox]{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#0D2C4D}
.cfs-ct .cfs-ct__formwrap .cfs-sb__consent a{color:#0D2C4D}
.cfs-ct .cfs-ct__formwrap .cfs-sb__actions{margin:8px 0 0}
.cfs-ct .cfs-ct__formwrap .cfs-sb .wpcf7-submit{display:block;width:100%;height:56px;border:0;border-radius:999px;background:#0D2C4D;color:#fff;font:inherit;font-size:17px;font-weight:500;cursor:pointer;margin:0;padding:0 20px}
.cfs-ct .cfs-ct__formwrap .cfs-sb .wpcf7-submit:hover{background:#1d4a7a}
.cfs-ct .cfs-ct__formwrap .cfs-sb__call{margin:16px 0 0;text-align:center}
.cfs-ct .cfs-ct__formwrap .cfs-sb__call p{margin:0;font-size:15px;line-height:1.5;color:#4A5560}
.cfs-ct .cfs-ct__formwrap .cfs-sb__call span{display:block}
.cfs-ct .cfs-ct__formwrap .cfs-sb__call span+span{font-size:13px;margin-top:2px}
.cfs-ct .cfs-ct__formwrap .cfs-sb__call a{color:#0D2C4D;font-weight:600}
.cfs-ct .cfs-ct__formwrap .wpcf7-not-valid{border-color:#B42318!important}
.cfs-ct .cfs-ct__formwrap .wpcf7-not-valid-tip{display:block;font-size:13px;color:#B42318;margin-top:4px}

/* Optional "Tell us more" box (short form, class cfs-sb__more): contact page only. Hidden in the panel and sidebar. */
.wpcf7 .cfs-sb .cfs-sb__more{display:none!important}
.cfs-ct .cfs-ct__formwrap .cfs-sb .cfs-sb__more{display:block!important}
.cfs-ct .cfs-ct__formwrap .cfs-optional{font-weight:400;color:#4A5560}
.cfs-ct .cfs-ct__formwrap .cfs-hint{display:block;margin:0 0 8px;font-size:13px;line-height:1.45;color:#4A5560}
.cfs-ct .cfs-ct__formwrap textarea{display:block;width:100%;min-height:96px;box-sizing:border-box;border:1px solid #C7D0DA;border-radius:8px;padding:12px 14px;font:inherit;font-size:16px;line-height:1.5;color:#333;background:#fff;margin:0;resize:vertical}
.cfs-ct .cfs-ct__formwrap textarea:focus{outline:2px solid #0D2C4D;outline-offset:1px;border-color:#0D2C4D}

/* Before & after galleries: "Like these results?" cards (added by sheet.js). */
#cfs-bt-c .cfs-gcta{margin:28px 0 36px;padding:24px 22px;border-radius:14px;background:#E8EDF3;border-left:4px solid #0D2C4D;box-sizing:border-box}
#cfs-bt-c .cfs-gg > .cfs-gcta{grid-column:1/-1;margin:6px 0!important;width:auto!important}
#cfs-bt-c .cfs-gcta .cfs-gcta__title{margin:0 0 10px;font-family:"Crimson Text",Georgia,serif;font-weight:400;font-size:27px;line-height:1.15;color:#0D2C4D}
#cfs-bt-c .cfs-gcta .cfs-gcta__chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:7px 14px;border-radius:999px;background:#fff;font-size:14px;line-height:1.3;color:#0D2C4D}
#cfs-bt-c .cfs-gcta .cfs-gcta__chip span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#4A5560}
#cfs-bt-c .cfs-gcta .cfs-gcta__chip strong{font-weight:600}
#cfs-bt-c .cfs-gcta .cfs-gcta__text{margin:0 0 16px;font-size:15px;line-height:1.55;color:#33404D;max-width:62ch}
#cfs-bt-c .cfs-gcta .cfs-gcta__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#cfs-bt-c .cfs-gcta a.cfs-gcta__btn,#cfs-bt-c .cfs-gcta a.cfs-gcta__tel{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border-radius:999px;font-size:15px;line-height:1;text-decoration:none!important;box-sizing:border-box}
#cfs-bt-c .cfs-gcta a.cfs-gcta__btn{background:#0D2C4D;color:#fff!important;font-weight:500}
#cfs-bt-c .cfs-gcta a.cfs-gcta__btn:hover{background:#1A3D63}
#cfs-bt-c .cfs-gcta a.cfs-gcta__tel{border:1.5px solid #0D2C4D;color:#0D2C4D!important;font-weight:600;background:#fff}
@media (max-width:480px){#cfs-bt-c .cfs-gcta{padding:20px 18px}#cfs-bt-c .cfs-gcta .cfs-gcta__title{font-size:24px}#cfs-bt-c .cfs-gcta a.cfs-gcta__btn,#cfs-bt-c .cfs-gcta a.cfs-gcta__tel{flex:1 1 100%}}
