/* ===== migration additions (AEO/SEO sections, breadcrumb, form, video) – set --msm-red to the brand colour ===== */
:root{--msm-red:#da251c;--msm-dark:#333;--msm-grey:#666;--msm-bg:#f5f5f5}
.msm-aeo{background:#fff;padding:60px 0}
.msm-aeo-row{width:80%;max-width:1080px;margin:auto}
.msm-aeo-head{text-align:center;margin-bottom:22px}
.msm-aeo-kicker{display:block;color:var(--msm-red);font-family:'Roboto',Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.msm-aeo-title{font-family:'ZCOOL XiaoWei',Georgia,"Times New Roman",serif;font-size:30px;line-height:1.3;color:#000;padding:0}
.msm-aeo-answer{max-width:860px;margin:0 auto 22px;text-align:center;font-size:16px;line-height:1.8;color:var(--msm-grey)}
.msm-aeo-answer strong{color:var(--msm-dark);font-weight:600}
.msm-aeo-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:50px}
.msm-aeo-links a{background:var(--msm-red);color:#fff;padding:10px 20px;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border-radius:2px;transition:background .2s}
.msm-aeo-links a:hover,.msm-aeo-links a:focus{background:#b01d15}
.msm-faq{max-width:900px;margin:auto}
.msm-faq-item{border:1px solid #e5e5e5;border-left:4px solid var(--msm-red);background:#fff;margin-bottom:12px;border-radius:2px}
.msm-faq-item summary{cursor:pointer;list-style:none;padding:16px 48px 16px 20px;position:relative}
.msm-faq-item summary::-webkit-details-marker{display:none}
.msm-faq-item summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--msm-red);font-weight:700}
.msm-faq-item[open] summary::after{content:'–'}
.msm-faq-item summary h3{font-size:17px;font-weight:600;color:var(--msm-dark);padding:0;margin:0;display:inline}
.msm-faq-item p{padding:0 20px 18px;margin:0;color:var(--msm-grey);font-size:15px;line-height:1.7}
.msm-nap{background:var(--msm-bg)}
.msm-nap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.msm-nap-grid>div{background:#fff;padding:24px;border-top:3px solid var(--msm-red)}
.msm-nap-grid h3{font-size:18px;color:var(--msm-red);padding-bottom:8px}
.msm-nap-grid p{font-size:15px;line-height:1.8;color:var(--msm-grey)}
.msm-nap-grid a{color:var(--msm-dark)}
.msm-breadcrumb{background:#f7f7f7;border-bottom:1px solid #eee}
.msm-bc-inner{width:80%;max-width:1080px;margin:auto;padding:10px 0}
.msm-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;font-size:13px}
.msm-breadcrumb li+li::before{content:'›';margin:0 8px;color:#999}
.msm-breadcrumb a{color:var(--msm-red)}
.msm-breadcrumb li[aria-current]{color:#555}
/* lite YouTube (videos load only on click – faster page) */
.msm-yt{position:relative;display:block;aspect-ratio:16/9;background:#000 center/cover no-repeat;cursor:pointer;overflow:hidden}
.msm-yt img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}
.msm-yt::after{content:'';position:absolute;left:50%;top:50%;width:68px;height:48px;transform:translate(-50%,-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68 48'%3E%3Cpath d='M66.5 7.7a8.5 8.5 0 0 0-6-6C55.3.3 34 .3 34 .3s-21.3 0-26.5 1.4a8.5 8.5 0 0 0-6 6C.1 12.9.1 24 .1 24s0 11.1 1.4 16.3a8.5 8.5 0 0 0 6 6C12.7 47.7 34 47.7 34 47.7s21.3 0 26.5-1.4a8.5 8.5 0 0 0 6-6C67.9 35.1 67.9 24 67.9 24s0-11.1-1.4-16.3z' fill='%23da251c'/%3E%3Cpath d='M45 24 27 14v20' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat}
.msm-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* form */
.msm-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.msm-form-msg{padding:14px 18px;margin:10px 0 18px;border-radius:2px;font-size:15px}
.msm-ok{background:#e8f6ec;border-left:4px solid #2e9e4f;color:#1d5e30}
.msm-err{background:#fdecea;border-left:4px solid var(--msm-red);color:#8a1d15}
.msm-form-wrapper{max-width:900px;margin:0 auto}
.msm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.msm-field{display:flex;flex-direction:column}
.msm-field-full{grid-column:1/-1}
.msm-field input,.msm-field textarea,.msm-field select{width:100%;box-sizing:border-box;padding:14px 16px;font-size:15px;font-family:inherit;color:var(--msm-dark);background:#fff;border:1px solid #d7d7d7;border-radius:8px;transition:border-color .2s,box-shadow .2s}
.msm-field input:focus,.msm-field textarea:focus,.msm-field select:focus{outline:0;border-color:var(--msm-red);box-shadow:0 0 0 3px rgba(218,37,28,.12)}
.msm-field textarea{resize:vertical;min-height:140px}
.msm-field-error input,.msm-field-error textarea{border-color:var(--msm-red)!important;background:#fdecea}
.msm-form-footer{margin-top:4px}
.msm-submit{display:inline-block;background:var(--msm-red);color:#fff;border:0;border-radius:30px;padding:14px 42px;font-size:15px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:background .2s}
.msm-submit:hover,.msm-submit:focus{background:#b01d15}
@media(max-width:640px){.msm-form-grid{grid-template-columns:1fr}}
@media(max-width:980px){.msm-nap-grid{grid-template-columns:1fr}.msm-aeo-row,.msm-bc-inner{width:90%}.msm-aeo-title{font-size:24px}.msm-aeo{padding:40px 0}}
/* safety: force-show any scroll-reveal/animated builder elements that might stay hidden */
.et_pb_section,.et_pb_row,.et_pb_column,.et_pb_module,.et_animated{opacity:1!important;visibility:visible!important;transform:none!important}
.msm-captcha-field{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.msm-captcha-field .h-captcha{max-width:100%;transform-origin:0 0}
.msm-captcha-err{color:var(--msm-red);font-size:13px;font-weight:600}
@media(max-width:400px){.msm-captcha-field .h-captcha{transform:scale(.9)}}
/* header top info bar (hours/social/enquiry) breaks at narrow widths - hide below tablet, nav+footer already have this info */
@media(max-width:980px){.et_pb_section_0_tb_header{display:none!important}}
/* social-follow icon list breaks Divi's inline-block flow in some contexts, stacking/overlapping - force clean horizontal row */
.et_pb_social_media_follow{display:flex!important;flex-wrap:nowrap!important;flex-direction:row!important;gap:10px;position:static!important;margin:14px 0!important;width:auto!important;max-width:none!important;height:auto!important}
.et_pb_social_media_follow li{display:inline-flex!important;margin:0!important;position:static!important}
.et_pb_social_media_follow li a{margin:0!important;position:static!important}
div.et_pb_column ul.et_pb_social_media_follow{margin-bottom:14px!important}
