html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{touch-action:pan-y pinch-zoom}

.item[data-qhtap]{cursor:pointer;position:relative;transition:background .15s}
.item[data-qhtap]:active{background:#f2f7f4}
.qhAdded{position:absolute;top:8px;right:10px;background:#0b563f;color:#fff;font-weight:900;font-size:12px;border-radius:999px;padding:4px 10px;animation:qhFadeOut 1.1s forwards;pointer-events:none}
@keyframes qhFadeOut{0%{opacity:1}70%{opacity:1}100%{opacity:0}}
.qhSum{display:none;margin:14px 0;border:1.5px solid #eadfd2;border-radius:16px;background:#fff;padding:6px 14px}
.qhSum.show{display:block}
.qhSum.flash{animation:qhGlow 1.5s ease-out}
@keyframes qhGlow{0%{box-shadow:0 0 0 3px rgba(240,109,79,.45)}100%{box-shadow:0 0 0 3px rgba(240,109,79,0)}}
.qhSumRow{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px dashed #eee}
.qhSumRow:last-child{border-bottom:0}
.qhSumRow button{flex:0 0 34px;width:34px;height:34px;border:1.5px solid #d9c8b2;background:#fbf6ee;border-radius:50%;color:#6b5d4d;font-weight:900;font-size:15px}
.qhSumName{flex:1;font-weight:900;font-size:15px;color:#10212b}
.qhSumPrice{font-weight:950;color:#0b563f;white-space:nowrap;font-size:17px}

/* v172: карточка как заказ */
.item[data-qhtap]{display:grid !important;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.item[data-qhtap] .itRight{display:flex;flex-direction:column;align-items:flex-end;gap:6px;white-space:nowrap}
.item[data-qhtap] .itRight .price{font-size:19px;font-weight:950;color:#0b563f;white-space:nowrap}
.addPill{background:#f06d4f;color:#fff;font-weight:900;font-size:13.5px;border-radius:999px;padding:7px 14px;border:0;cursor:pointer}
.item.picked{border-color:#0b563f !important;background:#f4faf7}
.item.picked .addPill{background:#0b563f}
.bookStrip{background:#fff;border:1.5px solid #d8e6dd;color:#0b563f;border-radius:14px;padding:9px 12px;margin:0 0 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bookStrip b{font-size:14.5px;white-space:nowrap}
.bookStrip .steps{display:flex;gap:6px;font-size:12px;flex-wrap:wrap;margin:0}
.bookStrip .steps span{background:#eef5f1;color:#0b563f;border-radius:999px;padding:3px 9px;font-weight:800}
.qhSticky{position:fixed;left:0;right:0;bottom:0;background:#0b563f;color:#fff;padding:12px 16px;display:none;align-items:center;gap:12px;box-shadow:0 -6px 20px rgba(0,0,0,.12);z-index:60}
.qhSticky.show{display:flex}
.qhSticky .sTot{flex:1;font-weight:900;font-size:15px}
.qhSticky a{background:#f06d4f;color:#fff;font-weight:950;border-radius:12px;padding:11px 18px;text-decoration:none;white-space:nowrap}
body.qhHasSticky{padding-bottom:78px}
.fineprint{color:#62727b;font-size:13px;line-height:1.4;margin-top:14px}

.chip.qhDisabled{opacity:.38;pointer-events:none;text-decoration:line-through}
.chips[data-group="day"] .chip.qhDisabled{text-decoration:none}

/* v181: глобальный поиск */
.qhSearch{position:fixed;left:0;right:0;bottom:0;background:transparent;pointer-events:none;padding:0 12px calc(10px + env(safe-area-inset-bottom));display:none;z-index:59}
.qhSearch.show{display:block}
.qhSearchInner{max-width:720px;margin:0 auto;position:relative;pointer-events:auto}
.qhSearchRow{display:flex;align-items:center;gap:0;margin:0;background:#fff;border-radius:999px;box-shadow:0 4px 18px rgba(16,33,43,.14);padding:5px 5px 5px 18px}
.qhSearchRow input{flex:1;min-width:0;border:0;padding:10px 8px 10px 0;font-size:16px;background:transparent}
.qhSearchRow input:focus{outline:none}
.qhSearchRow button{flex:0 0 40px;height:40px;border:2px solid #d9d2c7;border-radius:50%;background:#fff;font-size:17px;cursor:default;transition:border-color .15s,color .15s}
.qhSearchRow button.active{border-color:#f06d4f;cursor:pointer}
.qhSearchRow button:disabled{pointer-events:none}
.qhSearchClose{position:absolute;top:-9px;right:2px;width:22px;height:22px;line-height:20px;border:0;border-radius:50%;background:rgba(16,33,43,.28);color:#fff;font-size:11px;font-weight:900;padding:0;cursor:pointer}
.qhSearchMini{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:48px;height:48px;border-radius:50%;border:0;background:#0b563f;color:#fff;font-size:19px;display:none;z-index:59;box-shadow:0 4px 14px rgba(0,0,0,.18);cursor:pointer}
.qhSearchMini.show{display:block}
body.qhHasSearch{padding-bottom:84px}
.qhSticky .qhStickySearch{flex:0 0 40px;width:40px;height:40px;border-radius:10px;border:0;background:rgba(255,255,255,.14);font-size:16px;cursor:pointer}
.qhSticky{padding-bottom:calc(12px + env(safe-area-inset-bottom))}

.qhSearchGo{color:#c9c1b4;font-weight:900;font-size:20px;line-height:1}
.qhSearchGo.active{color:#f06d4f}

/* v193: поиск из шапки */
.qhHeadSearch{margin-left:auto;margin-right:6px;display:inline-flex;align-items:center;justify-content:center;color:#0b563f;background:none !important;border:0 !important;width:44px;height:44px;border-radius:0;padding:0}
.qhHeadSearch svg{display:block}
.qhSearch.overCart{bottom:72px;padding-bottom:8px}

.qhSticky .sTot{cursor:pointer}

/* v200: корзина в шапке */
.qhHeadCart{margin-left:auto;margin-right:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;color:#0b563f;background:none;border:0;width:44px;height:44px;padding:0;cursor:pointer}
.qhCartBadge{position:absolute;top:2px;right:0;min-width:18px;height:18px;line-height:18px;border-radius:999px;background:#f06d4f;color:#fff;font-size:11px;font-weight:900;text-align:center;padding:0 4px}

.qhSumTitle{font-weight:950;font-size:16px;color:#0b563f;padding:10px 0 4px}

/* ===== v207: чистый стиль (Home Depot-inspired) — переопределения поверх страничных CSS ===== */
/* карточки: без рамок, тень-волосок, крупнее */
.item{border:0 !important;border-radius:11px !important;background:#fff;box-shadow:0 1px 2px rgba(22,31,38,.07), 0 0 0 0.5px rgba(22,31,38,.05);padding:16px !important;display:grid !important;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.item[data-qhtap]{gap:12px}
.item h3{font-size:18.5px !important;margin:0 0 5px}
.item .itemText p, .item .itLeft p{font-size:15px !important;line-height:1.42}
.item[data-qhtap] .itRight .price, .item .price{font-size:20px !important}
.item.picked{background:#f2f8f5;box-shadow:0 0 0 1.5px #0b563f}
.addPill{font-size:15.5px;border-radius:9px;padding:10px 17px}
/* чипы: заливка вместо рамок */
.chips .chip{border:0 !important;background:rgba(22,31,38,.06) !important;border-radius:10px !important;padding:14px 18px !important;font-size:16px !important;color:#161f26}
.chips .chip.selected{background:#0b563f !important;color:#fff !important}
.chip.qhDisabled{opacity:.35}
/* шаги и заголовки */
.stepTitle{font-size:17.5px !important}
.bookStrip{background:transparent !important;border:0 !important;border-bottom:1px solid rgba(22,31,38,.08) !important;border-radius:0 !important;padding:0 0 12px !important;margin:0 0 8px !important}
.bookStrip .steps span{background:rgba(11,86,63,.07);color:#0b563f;border-radius:8px;padding:5px 10px;font-size:13px}
/* корзина Your Services */
.qhSumTitle{font-size:16.5px}
.qhSum{border:0 !important;border-radius:11px;box-shadow:0 1px 2px rgba(22,31,38,.07), 0 0 0 0.5px rgba(22,31,38,.05);padding:2px 14px}
.qhSumRow{border-bottom:1px solid rgba(22,31,38,.07)}
.qhSumRow:last-child{border-bottom:0}
.qhSumRow button{border:0 !important;background:rgba(22,31,38,.06) !important;border-radius:9px !important;width:34px;height:34px;color:#6b7680}
.qhSumName{font-size:16px}
.qhSumPrice{font-size:17.5px}
/* кнопка бронирования */
.bookBtn{border-radius:10px !important;font-size:18px !important;box-shadow:0 2px 6px rgba(240,109,79,.3)}
.bookBtn.disabled{box-shadow:none}
/* шапка: кнопки без коробок */
.menuBtn{background:none !important;border:0 !important}
/* главная: чипы и корзина в том же стиле */
.dayChip,.timeChip{border:0 !important;background:rgba(22,31,38,.06) !important;border-radius:10px !important;font-size:15px !important;color:#161f26}
.dayChip.selected,.timeChip.selected{background:#0b563f !important;color:#fff !important}
.timeChip:disabled{opacity:.35}
.dayChip:disabled{opacity:.35}
.cartRow{border:0 !important;border-radius:10px !important;box-shadow:0 1px 2px rgba(22,31,38,.06), 0 0 0 0.5px rgba(22,31,38,.05)}
.cartRow .rmLine,.cartRow .rmAsk{border:0 !important;background:rgba(22,31,38,.06) !important;border-radius:9px !important;color:#6b7680 !important}
.resultBox{border:0 !important;box-shadow:0 2px 8px rgba(22,31,38,.08), 0 0 0 0.5px rgba(22,31,38,.05) !important;border-radius:14px !important}
.yourServices{font-size:16.5px}
.clarifyBtn{border:0 !important;background:rgba(22,31,38,.05) !important;border-radius:10px !important}
.clarifyBtn.askAlex{background:rgba(11,86,63,.08) !important}

/* v212: точные попадания в clarify */
.clarifyBtn.exactHit{background:#fff !important;box-shadow:0 1px 3px rgba(22,31,38,.08), 0 0 0 1.5px #0b563f}
.clarifyBtn.exactHit .choiceName{font-size:18px}
.clarifyBtn.exactHit em{font-size:19px}
.clarifyBtn.exactHit .choiceName b{color:#0b563f}
.clarifyBtn.dimHit .choiceName{font-size:15px}
.clarifyBtn.dimHit em{font-size:16px}
.clarifyBtn.dimHit{opacity:.9}
.alsoRelated{font-size:12.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#8b968f;margin:10px 2px 2px}

/* v213: align the booking guide with page content and preserve service details in Your Services */
.bookStrip{margin-left:18px !important;margin-right:18px !important}
.qhSumInfo{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.qhSumInfo .qhSumName{flex:none}
.qhSumAction{display:block;color:#62727b;font-size:13.5px;line-height:1.2;font-weight:800}
.qhSumDesc{display:block;color:#62727b;font-size:13.5px;line-height:1.32;font-weight:650;white-space:normal;overflow-wrap:anywhere}
@media(max-width:390px){.bookStrip{margin-left:17px !important;margin-right:17px !important}.qhSumDesc{font-size:13px}}


/* v218: SMS opened confirmation */
.qhSmsOpened{
  position:fixed;
  left:14px;
  right:14px;
  bottom:calc(env(safe-area-inset-bottom,0px) + 88px);
  z-index:9998;
  max-width:520px;
  margin:0 auto;
  background:#fffdf8;
  border:1px solid #eadfd2;
  border-radius:18px;
  box-shadow:0 14px 38px rgba(15,31,42,.18);
  padding:14px;
  color:#10252f;
  font-family:inherit;
}
.qhSmsOpenedTitle{font-weight:900;color:#14563f;font-size:16px;margin-bottom:3px}
.qhSmsOpenedText{font-size:14px;color:#62727b;line-height:1.35;margin-bottom:10px}
.qhSmsOpenedBtns{display:flex;gap:8px}
.qhSmsOpenedBtns button{flex:1;border:0;border-radius:13px;padding:12px 10px;font-weight:900;font-size:14px;cursor:pointer}
#qhSmsKeep{background:#f3ede4;color:#14563f}
#qhSmsNew{background:#f06d4f;color:#fff}
@media (max-width:480px){
  .qhSmsOpened{bottom:calc(env(safe-area-inset-bottom,0px) + 84px);left:10px;right:10px}
}

/* v221: keep mobile menu above search and inside viewport */
@media(max-width:759px){
  .nav.open{max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:70}
  .nav{min-width:250px}
  .nav a,.nav summary{padding:14px!important;font-size:17px!important;line-height:1.25}
  .servicesMenu a{padding:11px 14px!important;font-size:16px!important}
  body:has(.nav.open) .qhSearch,
  body:has(.nav.open) .qhSearchMini{display:none!important}
}

/* v222: compact Alex trust footer */
.qhAlexFooter{padding:18px 14px!important}
.qhAlexFooter>div:first-child{gap:10px!important;margin:0 auto 12px!important;max-width:520px!important}
.qhAlexFooter>div:first-child>img{width:56px!important;height:56px!important;flex:0 0 56px!important}
.qhAlexFooter>div:first-child>div>div:first-child{font-size:15px!important}
.qhAlexFooter>div:first-child>div>div:nth-child(2){margin-top:3px!important;font-size:12.5px!important}
.qhAlexFooter>div:last-child{gap:10px!important}
.qhAlexFooter>div:last-child>a{padding:10px 20px!important;font-size:15px!important}
.searchServiceAction{display:block;margin-top:4px;color:#62727b;font-size:14px;font-weight:750;line-height:1.2}

/* v223: compact service-page hero and give Call/Text equal visual weight */
.hero.qhCompactHero .sub{display:none!important}
.hero.qhCompactHero{padding-bottom:8px!important}
.firstScreenActions{display:flex!important;justify-content:center!important;gap:10px!important}
.firstScreenActions .callAction,
.firstScreenActions .textAction{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:1 1 0!important;
  width:auto!important;
  max-width:180px!important;
  min-height:46px!important;
  box-sizing:border-box!important;
  border:1.5px solid #0b563f!important;
  background:#fff!important;
  color:#0b563f!important;
  border-radius:12px!important;
  padding:11px 16px!important;
  font-size:15px!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:none!important;
}

/* v224: service cards get the soft Apple-like lift, not the inner buttons */
.item{
  position:relative!important;
  border:1px solid rgba(16,45,38,.08)!important;
  background:linear-gradient(180deg,#fff 0%,#fffdf9 100%)!important;
  box-shadow:0 5px 16px rgba(16,45,38,.055),0 1px 0 rgba(255,255,255,.86) inset!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
  will-change:transform;
}
@media (hover:hover) and (pointer:fine){
  .item:hover{
    transform:translateY(-3px) scale(1.012);
    border-color:rgba(11,86,63,.18)!important;
    box-shadow:0 14px 30px rgba(16,45,38,.105),0 1px 0 rgba(255,255,255,.9) inset!important;
  }
}
.item:active{
  transform:translateY(1px) scale(.997);
  box-shadow:0 3px 10px rgba(16,45,38,.07),0 1px 0 rgba(255,255,255,.82) inset!important;
}
@media (hover:none){
  .item:hover{
    transform:none;
  }
}
