/* ==========================================================================
   CMS additions — loaded after style.css. Nothing here changes the approved
   design by default; these only power options the owner can switch on.
   ========================================================================== */

/* H1–H6 selector: zero-specificity stand-ins so a changed tag keeps the designed look */
:where(.hx-h1){font-size:2em;font-weight:700}
:where(.hx-h2){font-size:1.5em;font-weight:700}
:where(.hx-h3){font-size:1.17em;font-weight:700}
:where(.hx-h4){font-size:1em;font-weight:700}
:where(.hx-h5){font-size:.83em;font-weight:700}
:where(.hx-h6){font-size:.67em;font-weight:700}
:where(div.hx){display:block}

/* Section "Advanced" options */
.sx-bg-marble{background:var(--marble)}
.sx-bg-white{background:#fff}
.sx-pad-tight{padding-block:calc(var(--section) * .5) !important}
.sx-pad-loose{padding-block:calc(var(--section) * 1.35) !important}
.sx-pad-notop{padding-top:0 !important}
.sx-pad-nobottom{padding-bottom:0 !important}
.sx-pad-none{padding-block:0 !important}
.sx-w-narrow > .wrap, .sx-w-narrow.wrap{max-width:860px}
.sx-w-wide > .wrap, .sx-w-wide.wrap{max-width:1500px}
.sx-w-full > .wrap, .sx-w-full.wrap{max-width:none}
@media (max-width:640px){.sx-hide-mobile{display:none !important}}

/* Dropdown with plain links (no Automation / Contracting groups) */
.menu.menu--simple{width:280px;display:block}
.menu.menu--simple a{white-space:normal}

/* Uploaded logo */
.brand-logo{display:block;height:44px;width:auto;max-width:220px;object-fit:contain}
.site-footer .brand-logo{height:48px}
.foot-about{margin-top:14px;max-width:24em}

/* Enquiry form */
.hp-field{position:absolute !important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-done{background:#e9f3ee;border:1px solid #b8d8c6;border-radius:8px;padding:16px 18px;margin-bottom:1.75rem;color:#14532d}
.form-done p + p{margin-top:12px}
.form-status--err{color:#9b1c1c;margin-bottom:1.25rem;font-weight:600}

/* Content block (prose) */
.cms-prose-body{max-width:46em;margin-inline:auto}
.cms-prose--plain .cms-prose-body{max-width:none;margin-inline:0}
.cms-prose-body > * + *{margin-top:1em}
.cms-prose-body h2,.cms-prose-body h3,.cms-prose-body h4{font-family:var(--serif);font-weight:500;line-height:1.2;margin-top:1.6em}
.cms-prose-body h2{font-size:var(--step-3)}
.cms-prose-body h3{font-size:var(--step-2)}
.cms-prose-body h4{font-size:var(--step-1)}
.cms-prose:not(.cms-prose--plain) .cms-prose-body > h2:first-child{text-align:center}
.cms-prose:not(.cms-prose--plain) .cms-prose-body > h2:first-child::after{content:"";display:block;width:48px;height:2px;background:var(--bronze);margin:18px auto 0}
.cms-prose-body ul,.cms-prose-body ol{padding-left:1.3em}
.cms-prose-body li + li{margin-top:.35em}
.cms-prose-body a{color:var(--bronze-text);text-decoration:underline;text-underline-offset:3px}
.cms-prose-body blockquote{border-left:2px solid var(--bronze);padding-left:1.2em;font-family:var(--serif);font-size:var(--step-1)}
.cms-prose-body img{max-width:100%;height:auto;border-radius:4px}
.cms-prose-body .img-left{float:left;max-width:45%;margin:.3em 1.4em 1em 0}
.cms-prose-body .img-right{float:right;max-width:45%;margin:.3em 0 1em 1.4em}
.cms-prose-body .img-center{display:block;margin-inline:auto}
.cms-prose-body table{border-collapse:collapse;width:100%}
.cms-prose-body th,.cms-prose-body td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.cms-prose-body hr{border:0;border-top:1px solid var(--line);margin-block:2em}
.cms-prose-body iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:4px}
.cms-prose-body::after{content:"";display:table;clear:both}
@media (max-width:640px){.cms-prose-body .img-left,.cms-prose-body .img-right{float:none;max-width:100%;margin:1em 0}}

/* FAQ */
.faq-list{border-top:1px solid var(--line);max-width:58em}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item > summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;cursor:pointer}
.faq-item > summary::-webkit-details-marker{display:none}
.faq-q{font-family:var(--serif);font-weight:500;font-size:var(--step-1);line-height:1.3;margin:0;transition:color .2s}
.faq-item > summary:hover .faq-q,.faq-item[open] .faq-q{color:var(--bronze-text)}
.faq-ic{flex:none;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;position:relative;transition:background-color .2s,border-color .2s}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.faq-ic::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.faq-item[open] .faq-ic{background:var(--bronze);border-color:var(--bronze);color:#fff}
.faq-item[open] .faq-ic::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{padding:0 0 24px;color:var(--stone);max-width:46em}
.section--dark .faq-list,.section--dark .faq-item{border-color:rgba(255,255,255,.16)}
.section--dark .faq-a{color:var(--pichola-ink)}

/* Floating WhatsApp button (optional, Footer settings) */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:54px;height:54px;border-radius:50%;background:#1f8f4e;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px -10px rgba(0,0,0,.45)}
.wa-float .ico{width:26px;height:26px}

/* Page loader (optional, Theme settings) */
.cms-loader{position:fixed;inset:0;z-index:999;background:var(--marble);transition:opacity .35s,visibility 0s .35s}
.cms-loader::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;border:2px solid var(--line);border-top-color:var(--bronze);border-radius:50%;animation:cmsspin .8s linear infinite}
.is-loaded .cms-loader{opacity:0;visibility:hidden}
@keyframes cmsspin{to{transform:rotate(360deg)}}
