/* Bachmara — theme neutralisation + preloader v3 (robot). Loaded after bachmara.css. */

/* 1. Take the page away from the theme chrome.
   NOTE: never target bare `article` here — the service tiles are <article>. */
body.bachmara-page #masthead,
body.bachmara-page .site-header,
body.bachmara-page .ast-above-header,
body.bachmara-page .ast-below-header,
body.bachmara-page .ast-mobile-header-wrap,
body.bachmara-page #colophon,
body.bachmara-page .site-footer,
body.bachmara-page .ast-scroll-top,
body.bachmara-page .entry-header,
body.bachmara-page .page-title,
body.bachmara-page .ast-breadcrumbs-wrapper{display:none!important}

body.bachmara-page{background:var(--ox)!important;padding:0!important;margin:0!important}
body.bachmara-page #page,
body.bachmara-page #content,
body.bachmara-page .site-content,
body.bachmara-page .ast-container,
body.bachmara-page .ast-row,
body.bachmara-page .site-main,
body.bachmara-page #primary,
body.bachmara-page .ast-article-single,
body.bachmara-page .ast-article-post,
body.bachmara-page .entry-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;display:block!important}
body.bachmara-page .entry-content>*{margin-block:0!important}

/* 2. Stop theme typography and link colours leaking in */
#bach a,#bach a:hover,#bach a:focus,#bach a:visited{color:inherit;text-decoration:none;box-shadow:none}
#bach h1,#bach h2,#bach h3,#bach h4{color:inherit;font-family:var(--disp)!important;margin:0}
#bach p,#bach small,#bach li{font-family:var(--body)}
#bach .ar,#bach .glyph,#bach .kar{font-family:var(--ar)!important}
#bach .rail .mark b{color:var(--bone)}
#bach .rail .mark>span>span{color:var(--gold)}
#bach input,#bach select,#bach textarea,#bach button{font-family:var(--body);box-shadow:none}
#bach button{border-radius:999px}

/* 3. Re-assert the service tiles (theme resets had flattened them) */
#bach .mosaic{display:grid!important;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch}
#bach .mosaic .tile{position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;
  background:var(--deep)!important;border:1px solid rgba(217,174,82,.22)!important;
  padding:56px 22px 26px!important;margin:0!important;min-height:280px!important;max-width:none!important;
  overflow:hidden!important;border-radius:0!important}
#bach .mosaic .tile.big{grid-column:span 2;min-height:330px!important}
#bach .mosaic .tile .frame{top:18px;height:46%;max-height:150px}
#bach .mosaic .tile:hover .frame{height:52%}
#bach .mosaic .tile h3{max-width:18ch}
@media(max-width:980px){#bach .mosaic{grid-template-columns:repeat(2,1fr)}#bach .mosaic .tile.big{grid-column:span 2}}
@media(max-width:600px){#bach .mosaic{grid-template-columns:1fr}#bach .mosaic .tile.big{grid-column:span 1}#bach .mosaic .tile{min-height:230px!important}}

/* 4. Logo lockup */
#bach .rail .mark img,#bach footer.site img{filter:none}
#bach .rail .mark img{height:44px;width:auto}
#bach footer.site img{height:96px;width:auto;opacity:.95}

/* 5. PRELOADER v3 — a cleaning robot sweeping the floor */
#bach-pre{position:fixed;inset:0;z-index:200;background:var(--teal-d);overflow:hidden;display:block;transition:opacity .55s ease,visibility .55s}
#bach-pre.done{opacity:0;visibility:hidden}
#bach-pre .floor{position:absolute;inset:0;background:
  repeating-linear-gradient(90deg,rgba(242,234,224,.045) 0 1px,transparent 1px 64px),
  repeating-linear-gradient(0deg,rgba(242,234,224,.045) 0 1px,transparent 1px 64px),
  linear-gradient(160deg,#06322E,#062F2C)}
#bach-pre .dirt{position:absolute;inset:0;clip-path:inset(0 0 0 0);background:
  radial-gradient(circle at 18% 22%,rgba(176,152,116,.42),transparent 12%),
  radial-gradient(circle at 63% 15%,rgba(176,152,116,.34),transparent 10%),
  radial-gradient(circle at 84% 34%,rgba(176,152,116,.40),transparent 13%),
  radial-gradient(circle at 32% 47%,rgba(176,152,116,.36),transparent 11%),
  radial-gradient(circle at 72% 58%,rgba(176,152,116,.42),transparent 12%),
  radial-gradient(circle at 12% 68%,rgba(176,152,116,.32),transparent 10%),
  radial-gradient(circle at 48% 78%,rgba(176,152,116,.40),transparent 12%),
  radial-gradient(circle at 88% 84%,rgba(176,152,116,.34),transparent 11%),
  repeating-linear-gradient(112deg,rgba(160,138,104,.16) 0 2px,transparent 2px 9px),
  rgba(150,128,96,.30)}
#bach-pre .trail{position:absolute;left:0;right:0;top:0;height:0;background:linear-gradient(180deg,transparent,rgba(18,114,106,.35));pointer-events:none}
#bach-pre .bot{position:absolute;left:0;top:0;width:92px;height:92px;margin:-46px 0 0 -46px;will-change:transform}
#bach-pre .bot .body{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 30%,#A8121D,#78050C 62%,#4A0207);border:2px solid var(--gold);box-shadow:0 14px 30px rgba(0,0,0,.45),inset 0 -8px 18px rgba(0,0,0,.35)}
#bach-pre .bot .ring{position:absolute;inset:14px;border-radius:50%;border:1px dashed rgba(217,174,82,.55);animation:bachspin 3.4s linear infinite}
#bach-pre .bot .eye{position:absolute;top:32%;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(217,174,82,.9)}
#bach-pre .bot .eye.l{left:26%}
#bach-pre .bot .eye.r{right:26%}
#bach-pre .bot .mouth{position:absolute;left:50%;top:56%;width:34px;height:6px;margin-left:-17px;border-radius:4px;background:rgba(242,234,224,.75)}
#bach-pre .bot .brush{position:absolute;left:50%;bottom:-13px;width:74px;height:22px;margin-left:-37px;border-radius:0 0 40px 40px;background:conic-gradient(from 0deg,rgba(217,174,82,.9),rgba(242,234,224,.35),rgba(217,174,82,.9),rgba(242,234,224,.35),rgba(217,174,82,.9));animation:bachspin .55s linear infinite;opacity:.9}
#bach-pre .bot .sensor{position:absolute;left:50%;top:-16px;width:2px;height:16px;margin-left:-1px;background:var(--gold)}
#bach-pre .bot .sensor::after{content:"";position:absolute;top:-7px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--gold);animation:bachblink 1.4s ease-in-out infinite}
@keyframes bachspin{to{transform:rotate(360deg)}}
@keyframes bachblink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(217,174,82,.6)}50%{opacity:.5;box-shadow:0 0 0 10px rgba(217,174,82,0)}}
#bach-pre .box{position:absolute;left:0;right:0;bottom:clamp(26px,7vh,60px);text-align:center;padding:0 24px}
#bach-pre .n{font-family:var(--disp);font-weight:900;font-size:clamp(54px,12vw,112px);line-height:.86;color:var(--gold);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
#bach-pre .t{font-family:var(--body);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:rgba(242,234,224,.62);margin-top:14px}
#bach-pre .t b{display:block;font-family:var(--ar);font-size:15px;letter-spacing:0;color:var(--gold);margin-top:8px;direction:rtl;font-weight:400}
#bach-pre .rule{position:absolute;left:0;bottom:0;height:3px;background:var(--gold);width:0%}
@media(max-width:600px){#bach-pre .bot{width:68px;height:68px;margin:-34px 0 0 -34px}#bach-pre .bot .brush{width:54px;margin-left:-27px}}
@media(prefers-reduced-motion:reduce){#bach-pre{display:none!important}}

/* 6. Centre the header nav; logo stays left, WhatsApp button right */
#bach .rail nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0!important;gap:30px;white-space:nowrap}
#bach .rail .mark{margin-right:auto}
#bach .rail>.btn{margin-left:auto}
@media(max-width:1080px){#bach .rail nav{gap:20px;font-size:13px}}
@media(max-width:900px){#bach .rail nav{display:none}}

/* 7. Preloader counter + label centred in the viewport */
#bach-pre .box{top:50%;bottom:auto;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;z-index:3}
#bach-pre .n{text-shadow:0 6px 26px rgba(6,47,44,.75)}
#bach-pre .t{text-shadow:0 3px 14px rgba(6,47,44,.8)}

/* 8. Footer in deep green instead of oxblood */
#bach footer.site{background:var(--teal-d)!important;border-top:1px solid rgba(217,174,82,.28)}
#bach footer.site a:hover{color:var(--gold)}
#bach .legal{border-top-color:rgba(255,255,255,.18)}
