/* Модуль «Услуги» — витрина (карточки услуг/пакетов, цены, скидки, заявка).
   Тема настраивается переменной --ua (window.USLUGI_CONFIG.accent). */
:root{ --ua:#2563eb; --ua-d:#1d4ed8; --uink:#15192b; --umut:#71768c; --uline:#e7e9f0; --urad:16px; }
#uslugi-root{font-family:inherit;color:var(--uink);max-width:1180px;margin:0 auto;padding:6px 16px 26px}
#uslugi-root *{box-sizing:border-box}
.us-head{text-align:center;margin:0 0 22px}
.us-head h2{font-size:clamp(26px,4vw,38px);margin:0 0 8px;font-weight:700}
.us-head p{color:var(--umut);font-size:16px;margin:0}
.us-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 24px}
.us-tab{border:1px solid var(--uline);background:#fff;border-radius:50px;padding:9px 18px;cursor:pointer;font:inherit;font-size:14.5px;color:var(--uink);transition:.15s}
.us-tab:hover{border-color:var(--ua)}
.us-tab.is-active{background:var(--ua);color:#fff;border-color:var(--ua)}
.us-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:980px){.us-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.us-grid{grid-template-columns:1fr}}
.us-card{background:#fff;border:1px solid var(--uline);border-radius:var(--urad);padding:24px 22px;display:flex;flex-direction:column;position:relative;transition:box-shadow .2s,transform .2s,border-color .2s}
.us-card:hover{box-shadow:0 16px 40px rgba(20,25,43,.10);transform:translateY(-3px)}
.us-card.is-pkg{border-color:var(--ua);box-shadow:0 8px 30px rgba(37,99,235,.10)}
.us-card.is-feat{border-width:2px;border-color:var(--ua)}
.us-flag{position:absolute;top:-12px;left:22px;background:var(--ua);color:#fff;font-size:12px;font-weight:600;padding:4px 12px;border-radius:50px}
.us-sale{position:absolute;top:16px;right:16px;background:#e11d48;color:#fff;font-size:12px;font-weight:700;padding:4px 9px;border-radius:8px}
.us-card__img{width:100%;aspect-ratio:16/10;background:#f3f4f8 center/cover no-repeat;border-radius:12px;margin-bottom:14px}
.us-card__name{font-size:19px;font-weight:600;line-height:1.3;margin:0 0 8px;padding-right:40px}
.us-card__descr{color:var(--umut);font-size:14.5px;line-height:1.55;margin:0 0 14px}
.us-inc{list-style:none;padding:0;margin:0 0 16px}
.us-inc li{position:relative;padding:5px 0 5px 26px;font-size:14.5px;color:#3a3f52;border-bottom:1px dashed var(--uline)}
.us-inc li:last-child{border-bottom:0}
.us-inc li:before{content:'✓';position:absolute;left:0;top:5px;color:var(--ua);font-weight:700}
.us-price{margin-top:auto;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.us-price b{font-size:26px;font-weight:700}
.us-price s{color:var(--umut);font-size:16px;font-weight:400}
.us-price .u-unit{color:var(--umut);font-size:14px}
.us-price .u-req{font-size:18px;color:var(--umut);font-weight:600}
.us-btn{border:0;border-radius:11px;padding:13px;background:var(--ua);color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:.15s}
.us-btn:hover{background:var(--ua-d)}
.us-btn.ghost{background:#fff;color:var(--ua);border:1px solid var(--ua)}
.us-empty{padding:50px 0;text-align:center;color:var(--umut)}
.us-skel{height:280px;border-radius:var(--urad);background:linear-gradient(90deg,#f1f2f6,#e8e9ef,#f1f2f6);background-size:200% 100%;animation:usk 1.2s infinite}
@keyframes usk{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* модалка заявки */
.us-modal{position:fixed;inset:0;z-index:99994;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(10,12,22,.55)}
.us-modal.is-open{display:flex}
.us-mbox{background:#fff;border-radius:18px;max-width:440px;width:100%;padding:28px;position:relative}
.us-mbox h3{margin:0 0 4px;font-size:21px}
.us-mbox .sub{color:var(--umut);font-size:14px;margin:0 0 18px}
.us-mbox input,.us-mbox textarea{width:100%;padding:12px 14px;border:1px solid var(--uline);border-radius:11px;margin-bottom:11px;font:inherit;font-size:15px}
.us-x{position:absolute;top:14px;right:16px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#aaa}
.us-err{color:#e11d48;font-size:13px;min-height:16px}
.us-ok{text-align:center;padding:20px 0}.us-ok div{font-size:46px}
