/* ==========================================================================
   Фірмовий стиль «Хамелеон».
   Ідея: колір, що підлаштовується. Логотип — гранений хамелеон на телефоні,
   тому мова сайту — грані (low-poly), палітра з логотипа і одна головна дія
   бірюзово-чорнильного кольору. Токени (--ms-*) задані в :root плагіна.
   ========================================================================== */

/* ---------- Типографіка ---------- */
body,button,input,select,textarea,
.ast-button,.button,.wp-block-button__link{font-family:var(--ms-font) !important;}
body{color:var(--ms-ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;}
h1,h2,h3,
.entry-title,.page-title,.product_title,.ms-hero__title,.ms-sec__title,
.wc-block-cart__totals-title,.cart_totals h2,.woocommerce-billing-fields h3,
.related.products > h2,.up-sells > h2,.cross-sells > h2{
    font-family:var(--ms-display) !important;font-weight:600;letter-spacing:-.03em;line-height:1.14;
    color:var(--ms-ink);}
h1,.entry-title,.page-title{font-size:clamp(26px,3vw,36px);}
h2{font-size:clamp(21px,2.2vw,26px);}
h3{font-size:clamp(17px,1.6vw,20px);}
a{transition:color .15s;}
::selection{background:var(--ms-action-light);color:var(--ms-ink);}
:focus-visible{outline:2px solid var(--ms-action);outline-offset:2px;border-radius:4px;}
.ms-topbar :focus-visible,.ms-footer :focus-visible,.ms-hero :focus-visible{outline-color:var(--ms-accent-soft);}

/* ---------- Верхня смуга + шапка ---------- */
.ms-topbar{background:var(--ms-deep);}
.ms-topbar__item{color:#9AA1AF;}
#masthead{background:rgba(255,255,255,.88) !important;
    -webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);}
.site-branding .site-title a{font-family:var(--ms-display) !important;font-size:14px !important;
    font-weight:600;letter-spacing:-.02em;line-height:1.25;}
.site-branding .ast-site-title-wrap{max-width:230px;}
.main-header-menu > li.menu-item > a.menu-link{font-weight:500;letter-spacing:-.005em;}
.main-header-menu > li.menu-item > a.menu-link:hover{color:var(--ms-action) !important;}
.main-header-menu > li.menu-item.current-menu-item > a.menu-link,
.main-header-menu > li.menu-item.current-menu-ancestor > a.menu-link{
    border-bottom:2px solid transparent !important;border-image:var(--ms-facets) 1 !important;
    color:var(--ms-ink) !important;}
.ms-header-cart__count{background:var(--ms-action) !important;}

/* ---------- Кнопки ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.wp-element-button,.wp-block-button__link,
.wc-block-components-button:not(.is-link),.single_add_to_cart_button,.checkout-button{
    background:var(--ms-action);color:#fff;border-radius:12px;font-weight:600;letter-spacing:-.005em;
    transition:background .15s,transform .15s,box-shadow .15s;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.wp-element-button:hover,.wp-block-button__link:hover,
.wc-block-components-button:not(.is-link):hover,.single_add_to_cart_button:hover,.checkout-button:hover{
    background:var(--ms-action-dark);color:#fff;}
.woocommerce a.button:active,.woocommerce button.button:active,.single_add_to_cart_button:active{transform:translateY(1px);}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{
    background:var(--ms-action);color:#fff;}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--ms-action-dark);}

/* ---------- Форми ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],
input[type=search],textarea,select,
.wc-block-components-text-input input,.wc-block-components-textarea textarea{
    border:1.5px solid var(--ms-line);border-radius:12px;background:var(--ms-surface);color:var(--ms-ink);
    transition:border-color .15s,box-shadow .15s;}
input:focus,textarea:focus,select:focus,
.wc-block-components-text-input input:focus{border-color:var(--ms-action) !important;
    box-shadow:0 0 0 3px rgba(108,71,255,.18) !important;outline:none;}

/* ---------- Hero ---------- */
.ms-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;
    background:
        url(facets.svg) center/cover no-repeat,
        radial-gradient(70% 95% at 88% 0%,rgba(108,71,255,.45) 0%,rgba(108,71,255,0) 62%),
        radial-gradient(60% 80% at 0% 100%,rgba(143,118,255,.16) 0%,rgba(143,118,255,0) 60%),
        var(--ms-deep);
    border-radius:28px;padding:56px 56px 40px;margin:0 0 40px;}
.ms-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;
    align-items:center;margin:0 0 36px;}
.ms-hero__title{color:#fff;font-size:clamp(27px,3vw,40px);line-height:1.12;letter-spacing:-.035em;
    margin:0 0 18px;text-wrap:balance;}
.ms-hero__sub{color:#A7ADBA;font-size:17.5px;line-height:1.55;margin:0;max-width:30em;text-wrap:balance;}
.ms-hero__art{position:relative;display:flex;justify-content:center;align-items:center;height:380px;}
.ms-hero__phone{height:380px;width:auto;max-width:100%;
    overflow:visible;}
.ms-finder,.ms-hero__badges{position:relative;z-index:1;}
/* інтро чекає, доки сторінка домалюється: інакше анімація йде ривками поруч із завантаженням фото */
.ms-hero__art *,.ms-hero__phone{animation-play-state:paused;}
.ms-hero.is-ready .ms-hero__art *,.ms-hero.is-ready .ms-hero__phone{animation-play-state:running;}

/* ---- Анімація чохла: форма → камера → хвиля граней → рант двома вогниками → блик ---- */
.ms-hero__art{perspective:1100px;will-change:transform;}
.ms-hero__phone{transform:rotate(9deg) rotateY(calc(var(--ry,0) * 1deg)) rotateX(calc(var(--rx,0) * 1deg));
    transition:transform .35s cubic-bezier(.2,.7,.2,1);backface-visibility:hidden;
    animation:ms-float 7s ease-in-out 3.2s infinite;}
.ms-hero__art .f,.ms-hero__art .ignite,.ms-hero__art .cam,.ms-hero__art .lens,.ms-hero__art .spark,.ms-hero__art .ring,
.ms-hero__art .blank,.ms-hero__art .aura,.ms-hero__art .ground,.ms-hero__art .meet{transform-box:fill-box;transform-origin:center;}

/* 1. форма: силует, опора під ним, аура позаду */

.ms-hero__art .ground{animation:ms-ground 1s cubic-bezier(.2,.7,.2,1) 1.1s backwards;}
@keyframes ms-ground{0%{opacity:0;transform:scaleX(.3);}55%{opacity:.75;transform:scaleX(.8);}100%{opacity:1;transform:none;}}
.ms-hero__art .aura{opacity:.18;animation:ms-aura 1.4s cubic-bezier(.4,0,.2,1) 2.95s backwards;}
@keyframes ms-aura{0%{opacity:.18;}35%{opacity:.62;}100%{opacity:.18;}}

/* 2. камера: модуль опускається, діафрагми розкриваються, блики спалахують */
.ms-hero__art .cam{animation:ms-cam .7s cubic-bezier(.2,1.1,.3,1) .12s backwards;}
@keyframes ms-cam{from{opacity:0;transform:translateY(-14px) rotate(-12deg) scale(.4);}to{opacity:1;transform:none;}}
.ms-hero__art .lens{animation:ms-lens .5s cubic-bezier(.2,1.1,.3,1) backwards;}
.ms-hero__art .l1{animation-delay:.45s;}.ms-hero__art .l2{animation-delay:.53s;}.ms-hero__art .l3{animation-delay:.61s;}
@keyframes ms-lens{from{transform:scale(0);}to{transform:none;}}
.ms-hero__art .spark{animation:ms-spark .45s cubic-bezier(.4,0,.2,1) backwards;}
.ms-hero__art .s1{animation-delay:.72s;}.ms-hero__art .s2{animation-delay:.78s;}.ms-hero__art .s3{animation-delay:.84s;}
@keyframes ms-spark{0%{opacity:0;transform:scale(0);}55%{opacity:1;transform:scale(1.7);}100%{transform:none;}}
.ms-hero__art .ring{opacity:0;animation:ms-ring .9s cubic-bezier(.4,0,.2,1) .62s forwards;}
.ms-hero__art .ring.r2{animation-delay:.78s;}
@keyframes ms-ring{from{opacity:.55;transform:scale(1);}to{opacity:0;transform:scale(3.2);}}

/* 3. хвиля граней від камери: кожна прилітає розжареною і холоне до свого кольору */
.ms-hero__art .f{animation:ms-facet .62s cubic-bezier(.16,.9,.3,1) var(--d,0ms) backwards;}
@keyframes ms-facet{
    0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(.3);}
    22%{opacity:1;}
    100%{opacity:1;transform:none;}}
/* світло від камери — одна фігура, що розходиться разом із хвилею */
.ms-hero__art .ignite{opacity:0;animation:ms-ignite 1.34s linear .36s forwards;}
@keyframes ms-ignite{0%{opacity:0;transform:scale(1);}6%{opacity:.9;}82%{opacity:.62;}100%{opacity:0;transform:scale(672);}}

/* 4. рант: контур проявляється, два вогники біжать від камери й зустрічаються в протилежному куті */
.ms-hero__art .ol{stroke-opacity:.5;animation:ms-ol-in .45s cubic-bezier(.4,0,.2,1) 2.15s backwards;}
@keyframes ms-ol-in{from{stroke-opacity:0;}to{stroke-opacity:.5;}}
.ms-hero__art .rim{opacity:0;stroke-dashoffset:0;animation:ms-rim-cw 1.05s cubic-bezier(.4,0,.2,1) 2.45s both;}
.ms-hero__art .rim.ccw{animation-name:ms-rim-ccw;}
@keyframes ms-rim-cw{from{stroke-dashoffset:0;opacity:0;}12%{opacity:1;}88%{opacity:1;}to{stroke-dashoffset:-.5;opacity:0;}}
@keyframes ms-rim-ccw{from{stroke-dashoffset:0;opacity:0;}12%{opacity:1;}88%{opacity:1;}to{stroke-dashoffset:.5;opacity:0;}}
.ms-hero__art .meet{opacity:0;animation:ms-meet .6s cubic-bezier(.4,0,.2,1) 3.4s forwards;}
@keyframes ms-meet{from{opacity:.95;transform:scale(.25);}to{opacity:0;transform:scale(1.9);}}

/* 5. блик — після ранту, і повторюється під курсором */
.ms-hero__art .glint{opacity:0;transform:skewX(-16deg) translateX(-200px);animation:ms-glint 1.2s cubic-bezier(.4,0,.2,1) 3.3s forwards;}
@keyframes ms-glint{0%{opacity:0;}5%{opacity:1;transform:skewX(-16deg) translateX(-160px);}100%{opacity:1;transform:skewX(-16deg) translateX(720px);}}
.ms-hero__art:hover .glint{animation:ms-glint 1.1s cubic-bezier(.4,0,.2,1);}

/* 6. спокій */
@keyframes ms-float{0%,100%{translate:0 0;rotate:0deg;}50%{translate:0 -12px;rotate:1.4deg;}}
.ms-hero__badges{display:flex;flex-wrap:wrap;gap:10px 32px;margin:28px 0 0;}
.ms-hero__badge{display:inline-flex;align-items:center;gap:10px;color:#C4C8D2;font-size:14px;font-weight:500;
    white-space:nowrap;}
.ms-hero__badge b{color:#fff;font-weight:700;}
.ms-hero__badge svg{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:var(--ms-accent-soft);
    stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}

/* панель вибору моделі всередині hero */
.ms-finder__label{color:#fff;font-family:var(--ms-display);font-weight:500;font-size:14px;
    letter-spacing:-.01em;margin:0 0 12px;}
.ms-finder__row{border-radius:18px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.28);}
.ms-finder__field:focus-within{background:var(--ms-action-light);}
.ms-finder .ms-finder__submit{border-radius:12px;}
.ms-finder .ms-finder__submit:disabled{background:var(--ms-bg);color:var(--ms-muted-2);}

/* ---------- Секції головної ---------- */
.ms-sec__title{font-size:clamp(22px,2.4vw,28px);}
.ms-sec__link{color:var(--ms-action) !important;font-weight:600;}
.ms-sec__link:hover{text-decoration:underline !important;}
.ms-tab{font-family:var(--ms-font);}
.ms-tab:hover{border-color:var(--ms-action);color:var(--ms-action);}
.ms-tab.is-on{background:var(--ms-ink);border-color:var(--ms-ink);}

/* ---------- Картки товарів ---------- */
.woocommerce ul.products li.product{border-radius:20px;padding:10px !important;border-color:var(--ms-line);
    transition:box-shadow .2s,border-color .2s,transform .2s;}
.woocommerce ul.products li.product:hover{border-color:transparent;box-shadow:var(--ms-shadow-lg);transform:translateY(-3px);}
/* фон фото підфарбовується під обраний колір (див. --ms-tint у скрипті швидкого додавання) */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{
    border-radius:14px;overflow:hidden;margin:0 0 12px;position:relative;
    background:color-mix(in srgb,var(--ms-tint,#E4EEEB) 20%,#fff);transition:background .35s ease;}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{
    mix-blend-mode:multiply;border-radius:0 !important;margin:0 !important;}
.woocommerce ul.products li.product .ast-woo-product-category{color:var(--ms-muted);font-size:12.5px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:15px !important;font-weight:500 !important;letter-spacing:-.01em;}
.woocommerce ul.products li.product .price{font-weight:700 !important;letter-spacing:-.02em;}
.woocommerce ul.products li.product .price del{opacity:.5;}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--ms-danger);}
.woocommerce ul.products li.product a.button,.ms-qa__btn{background:var(--ms-action) !important;
    border-radius:12px !important;}
.woocommerce ul.products li.product a.button:hover,.ms-qa__btn:hover{background:var(--ms-action-dark) !important;}
.ms-qa__color{width:26px;height:26px;}
.ms-qa__color.is-selected::after{border-color:var(--ms-action);}

/* бейджі: новинка — мʼята, знижка — коралова, хіт — фіолетова */

/* ---------- Каталог: хлібні крихти, лічильник, сортування ---------- */
.woocommerce-breadcrumb,.ast-breadcrumbs-wrapper,.ast-breadcrumbs-wrapper a{color:var(--ms-muted) !important;
    font-size:13.5px;}
.woocommerce-breadcrumb a:hover{color:var(--ms-action) !important;}
.woocommerce-result-count{color:var(--ms-muted);font-size:14px;}
.woocommerce-ordering select{border-radius:12px;padding:10px 40px 10px 14px;font-size:14px;font-weight:500;}
.woocommerce nav.woocommerce-pagination ul{border:0;}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 3px;}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
    border-radius:10px;min-width:40px;line-height:40px;padding:0 10px;font-weight:600;color:var(--ms-ink);}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ms-deep);color:#fff;}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--ms-action-light);color:var(--ms-action);}

/* ---------- Смуга довіри і категорії ---------- */
.ms-trust{border-radius:18px;}
.ms-trust__ic{background:var(--ms-action-light);color:var(--ms-action);}

/* ---------- Футер: зубчастий «гранений» верхній край ---------- */
.site-below-footer-wrap{display:none !important;} /* порожній білий рядок Astra під футером */
#colophon{position:relative;background:var(--ms-deep) url(facets.svg) center bottom/cover no-repeat;margin-top:16px;}
.ms-footer{background:transparent;}
#colophon::before{content:'';position:absolute;left:0;right:0;top:-13px;height:14px;pointer-events:none;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='14' viewBox='0 0 32 14'%3E%3Cpath d='M0 14 16 0l16 14z' fill='%2315171C'/%3E%3C/svg%3E") repeat-x left bottom/32px 14px;}
.ms-footer__brand{font-family:var(--ms-display);font-weight:600;letter-spacing:-.02em;}
.ms-footer__title{letter-spacing:.02em;}
.ms-footer a:hover{color:var(--ms-accent-soft) !important;}
.ms-footer__newsletter-btn{background:var(--ms-action) !important;color:#fff !important;}
.ms-footer__newsletter-btn:hover{background:var(--ms-action-dark) !important;}

/* ---------- Адаптив: hero ---------- */
@media(max-width:920px){
    .ms-hero{padding:44px 32px 32px;border-radius:24px;}
    .ms-hero__grid{grid-template-columns:minmax(0,1fr) 220px;gap:8px;margin-bottom:28px;}
    .ms-hero__art{height:260px;}
    .ms-hero__phone{height:260px;}
}
@media(max-width:680px){
    .ms-hero{padding:28px 18px 18px;border-radius:22px;margin-bottom:28px;}
    .ms-hero__grid{display:block;position:relative;margin-bottom:22px;}
    .ms-hero__copy{position:relative;z-index:1;}
    .ms-hero__title{font-size:24px;}
    .ms-hero__sub{font-size:15px;}
    .ms-hero__art{position:absolute;right:-56px;top:-30px;width:250px;height:340px;
        opacity:.5;pointer-events:none;}
    .ms-hero__phone{height:340px;}
    .ms-hero__badges{display:none;}
    /* анімація та сама, що й на ПК — чохол просто живе за текстом */
    .ms-hero__art .ground{display:none;}
}
@media(prefers-reduced-motion:reduce){
    .ms-hero__phone,.ms-hero__art *{animation:none !important;}
    .ms-hero__art .rim,.ms-hero__art .meet,.ms-hero__art .ring,.ms-hero__art .glint{display:none;}
    .ms-hero__art .aura{opacity:.3;}
    *{scroll-behavior:auto !important;}
}

@media(max-width:781px){
    .site-branding .ast-site-title-wrap{max-width:112px;}
    .site-branding .site-title a{font-size:10.5px !important;line-height:1.25;}
}

/* ==========================================================================
   Сторінка товару
   ========================================================================== */
.woocommerce div.product .ast-onsale-card,.woocommerce div.product > span.onsale{display:none !important;}
.woocommerce div.product::after{content:'';display:block;clear:both;}
.woocommerce div.product div.images{border-radius:24px;border-color:var(--ms-line);
    background:color-mix(in srgb,var(--ms-tint,#E4EEEB) 16%,#fff);}
.woocommerce-product-gallery__image{background:transparent;}
.woocommerce-product-gallery__image img{mix-blend-mode:multiply;object-fit:contain;}
.flex-control-nav.flex-control-thumbs{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;padding:0 14px 14px !important;}
.flex-control-nav.flex-control-thumbs li{width:auto !important;float:none !important;margin:0 !important;}
.flex-control-nav.flex-control-thumbs img{background:#fff;border-radius:12px;mix-blend-mode:multiply;}
.woocommerce div.product span.single-product-category{text-transform:none;letter-spacing:0;font-size:14px;}
.woocommerce div.product h1.product_title{font-family:var(--ms-display) !important;font-weight:600;
    font-size:clamp(24px,2.5vw,32px);letter-spacing:-.03em;line-height:1.15;}
.woocommerce div.product p.price{font-family:var(--ms-display);font-size:clamp(22px,2.2vw,28px) !important;
    font-weight:600;letter-spacing:-.03em;}
.woocommerce div.product p.price ins{color:var(--ms-danger) !important;}
.ms-pd-field__label{text-transform:none;letter-spacing:0;font-size:14px;color:var(--ms-ink-2);}
.ms-pd-color{width:44px;height:44px;}
.woocommerce div.product form.cart .single_add_to_cart_button{min-height:52px;font-size:16px;border-radius:14px;}
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled{background:var(--ms-muted-2) !important;opacity:.55;}
.woocommerce div.product .quantity input.qty{border-radius:12px;}
.woocommerce div.product .product_meta{color:var(--ms-muted);font-size:13.5px;}
.woocommerce div.product .woocommerce-tabs{clear:both;margin-top:56px;}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--ms-line);padding:0;margin:0 0 24px;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 28px 0 0;padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0;font-weight:600;font-size:15px;color:var(--ms-muted) !important;
    border-bottom:2px solid transparent;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ms-ink) !important;
    border-bottom:2px solid transparent;border-image:var(--ms-facets) 1;}

/* ==========================================================================
   Кошик і оформлення (блоки WooCommerce)
   ========================================================================== */
.wc-block-cart{gap:0 !important;column-gap:32px !important;row-gap:24px !important;}
.wc-block-components-sidebar-layout .wc-block-components-main{flex-basis:calc(65% - 16px) !important;}
.wc-block-components-sidebar-layout .wc-block-components-sidebar{flex-basis:calc(35% - 16px) !important;}
.wc-block-cart-items__header,.wc-block-cart-items__header span{text-transform:none !important;letter-spacing:0 !important;
    font-size:13.5px !important;color:var(--ms-muted) !important;}
.wc-block-cart__totals-title,.wp-block-woocommerce-cart-order-summary-heading-block{
    font-family:var(--ms-display) !important;text-transform:none !important;font-size:19px !important;
    letter-spacing:-.02em !important;}
.wc-block-components-totals-item__label{font-weight:500;}
.wc-block-components-product-name{font-weight:600 !important;letter-spacing:-.01em;color:var(--ms-ink) !important;
    text-decoration:none !important;}
.wc-block-components-product-name:hover{color:var(--ms-action) !important;}
.wc-block-components-sidebar{border-radius:24px !important;}
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wp-block-woocommerce-checkout-order-summary-block{border:0 !important;}
.wc-block-components-checkout-step__title,.wc-block-components-title{font-family:var(--ms-display) !important;
    font-weight:600 !important;letter-spacing:-.02em !important;text-transform:none !important;}
.wc-block-components-radio-control__option-checked,.wc-block-components-radio-control-accordion-option--checked-option{
    box-shadow:inset 0 0 0 2px var(--ms-action) !important;background:var(--ms-action-light) !important;}
.wc-block-components-radio-control__input:checked{border-color:var(--ms-action) !important;}
.wc-block-components-radio-control__input:checked:before{background:var(--ms-action) !important;}
.wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--ms-action) !important;border-color:var(--ms-action) !important;}
.wc-block-components-button:not(.is-link){min-height:52px;}
.wc-block-components-notice-banner.is-error{border-radius:14px;}

/* ==========================================================================
   Повідомлення, акаунт, список бажань, порожні стани
   ========================================================================== */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:0;border-radius:14px;
    background:var(--ms-action-light);color:var(--ms-ink);border-left:4px solid var(--ms-action);}
.woocommerce-error{background:var(--ms-danger-light);border-left-color:var(--ms-danger);}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ms-action);}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;border-radius:12px;font-weight:500;
    color:var(--ms-ink-2);text-decoration:none;}
.woocommerce-MyAccount-navigation li a:hover{background:var(--ms-action-light);color:var(--ms-action);}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ms-deep);color:#fff;}
.wc-block-cart__empty-cart__title,.wp-block-heading.has-text-align-center{font-family:var(--ms-display);}
.woocommerce-cart .cart-empty::before{color:var(--ms-action);}

/* галерея: Astra робить її relative, тож старий top:96px зсував блок і він наїжджав на вкладки */
.woocommerce div.product div.images,.woocommerce div.product div.woocommerce-product-gallery{
    position:relative !important;top:0 !important;}
.ms-pd-trust{background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:16px;
    display:grid;gap:12px;padding:16px 18px;margin:20px 0 0;}
.ms-pd-trust__i{font-size:14px;font-weight:500;color:var(--ms-ink-2);gap:12px;}
.ms-pd-trust__i svg{width:20px;height:20px;color:var(--ms-action);fill:none;stroke:currentColor;
    stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.ms-pd-trust__i b{font-weight:700;color:var(--ms-ink);}

/* липка панель покупки на мобільному */
.ms-pd-sticky{border-radius:18px 18px 0 0;}
.ms-pd-sticky__price{font-family:var(--ms-display);font-weight:600;font-size:16px;letter-spacing:-.03em;}
.ms-pd-sticky__btn{border-radius:12px;font-weight:600;}
@media(max-width:680px){
    .woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
    .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none;}
    .woocommerce div.product .woocommerce-tabs ul.tabs li{flex:0 0 auto;white-space:nowrap;margin-right:22px;}
}

/* кнопки-посилання без підкреслення */
a.button,.woocommerce a.button,.wp-block-button__link,.ms-qa__btn{text-decoration:none !important;}

/* порожні стани */
.ms-wishlist-empty{max-width:420px;margin:0 auto;padding:56px 20px 72px;}
.ms-wishlist-empty__ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;
    border-radius:20px;background:var(--ms-action-light);color:var(--ms-action);margin:0 0 18px;}
.ms-wishlist-empty p{font-size:16px;line-height:1.55;color:var(--ms-muted);}
.ms-wishlist-empty p b{display:block;font-family:var(--ms-display);font-weight:600;font-size:19px;
    letter-spacing:-.02em;color:var(--ms-ink);margin:0 0 6px;}

/* 404 і пошук без результатів: один заголовок, решта — звичайний текст */
.error404 .page-content h2,.search-no-results .page-content h2{font-family:var(--ms-font) !important;
    font-weight:400;font-size:17px;letter-spacing:0;color:var(--ms-muted);margin:0 0 24px;}
.error404 .ast-container .site-main,.search-no-results .site-main{padding-top:24px;}
.search-form .search-field{border-radius:12px 0 0 12px;}
.search-form .search-submit{border-radius:0 12px 12px 0;}

/* блоки кошика/оформлення на мобільному: не впритул до краю екрана */
@media(max-width:781px){
    .wp-block-woocommerce-checkout,.wp-block-woocommerce-cart{
        padding-left:16px !important;padding-right:16px !important;margin-left:0 !important;margin-right:0 !important;
        box-sizing:border-box;max-width:100%;}
    .wc-block-components-sidebar-layout{padding-left:0 !important;padding-right:0 !important;}
}

/* ---------- Порожній результат: модель є в каталозі пристроїв, товарів ще немає ---------- */
.ms-empty{max-width:520px;margin:32px auto 72px;padding:40px 28px;text-align:center;background:var(--ms-surface);
    border:1px solid var(--ms-line);border-radius:24px;}
.ms-empty__ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:20px;
    background:var(--ms-action-light);color:var(--ms-action);margin:0 0 18px;}
.ms-empty__title{font-size:20px;margin:0 0 10px;}
.ms-empty p{color:var(--ms-muted);margin:0 0 20px;line-height:1.55;}
.ms-empty__actions{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:center;align-items:center;margin:0 !important;}
.ms-empty__link{color:var(--ms-action) !important;font-weight:600;text-decoration:none;}
.ms-empty__link:hover{text-decoration:underline;}

/* ---------- Чохли за брендом ---------- */
.ms-brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;}
.ms-brand{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--ms-surface);
    border:1px solid var(--ms-line);border-radius:16px;text-decoration:none !important;
    transition:border-color .15s,box-shadow .2s,transform .2s;}
.ms-brand:hover{border-color:var(--ms-action);box-shadow:var(--ms-shadow);transform:translateY(-2px);}
.ms-brand__name{font-family:var(--ms-display);font-weight:600;font-size:15px;letter-spacing:-.02em;color:var(--ms-ink);}
.ms-brand__count{font-size:13px;color:var(--ms-muted);}
.ms-brand:hover .ms-brand__name{color:var(--ms-action);}
@media(max-width:680px){.ms-brands{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.ms-brand{padding:14px 16px;}}

/* ---------- Вибір пристрою на сторінці «Чохли»: бренд → серія → модель ---------- */
.ms-devbar{background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:20px;padding:18px 20px;
    margin:0 0 24px;display:grid;gap:14px;position:relative;}
.ms-devbar__row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:start;}
.ms-devbar__label{font-size:14px;font-weight:600;color:var(--ms-ink);padding-top:9px;line-height:1.25;}
.ms-devbar__label small{display:block;font-weight:400;color:var(--ms-muted);font-size:12px;margin-top:2px;}
.ms-devbar__chips{display:flex;flex-wrap:wrap;gap:8px;}
.ms-dchip{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border:1px solid var(--ms-line);
    border-radius:999px;background:var(--ms-surface);color:var(--ms-ink) !important;font-size:14px;font-weight:500;
    text-decoration:none !important;cursor:pointer;font-family:inherit;white-space:nowrap;
    transition:border-color .15s,background .15s,color .15s;}
.ms-dchip:hover{border-color:var(--ms-action);color:var(--ms-action) !important;}
.ms-dchip.is-on{background:var(--ms-ink);border-color:var(--ms-ink);color:#fff !important;}
.ms-dchip--more{color:var(--ms-action) !important;border-style:dashed;}
.ms-devbar__chips--models.is-collapsed .ms-dchip.is-extra{display:none;}
.ms-devbar__hint{margin:0;color:var(--ms-muted);font-size:14px;padding-left:108px;}
.ms-devbar__reset{position:absolute;top:16px;right:20px;font-size:13px;font-weight:600;color:var(--ms-muted) !important;
    text-decoration:none !important;}
.ms-devbar__reset:hover{color:var(--ms-action) !important;}
@media(max-width:781px){
    .ms-devbar{padding:14px 14px 16px;border-radius:16px;gap:12px;}
    .ms-devbar__row{grid-template-columns:1fr;gap:8px;}
    .ms-devbar__label{padding-top:0;}
    .ms-devbar__label small{display:inline;margin-left:6px;}
    .ms-devbar__chips--scroll{flex-wrap:nowrap;overflow-x:auto;margin:0 -14px;padding:0 14px 4px;scrollbar-width:none;}
    .ms-devbar__chips--scroll::-webkit-scrollbar{display:none;}
    .ms-devbar__hint{padding-left:0;}
    .ms-devbar__reset{position:static;justify-self:start;}
}

/* ==========================================================================
   Картка товару: ціна ліворуч, кнопка-іконка «в кошик» праворуч, завжди на одній лінії
   ========================================================================== */
.woocommerce ul.products li.product{display:flex;flex-direction:column;}
.woocommerce ul.products li.product .astra-shop-summary-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto 1fr auto;column-gap:10px;flex:1;align-content:stretch;}
.woocommerce ul.products li.product .astra-shop-summary-wrap > *{grid-column:1 / -1;}
.woocommerce ul.products li.product .ast-woo-product-category{grid-row:1;}
.woocommerce ul.products li.product .ms-qa__colors{grid-row:2;}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product a.ast-loop-product__link{grid-row:3;align-self:start;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;
    margin:0 0 10px !important;}
.woocommerce ul.products li.product .price{grid-column:1;grid-row:4;align-self:center;margin:0 !important;
    display:flex;flex-direction:column;justify-content:center;gap:1px;min-height:46px;}
.woocommerce ul.products li.product .price del{font-size:12.5px !important;line-height:1.1;margin:0;}
.woocommerce ul.products li.product .price ins{line-height:1.15;}
.woocommerce ul.products li.product .ms-qa__btn,
.woocommerce ul.products li.product a.button{grid-column:2;grid-row:4;align-self:center;margin:0 !important;}

/* сама кнопка — квадрат з іконкою */
.woocommerce ul.products li.product .ms-qa__btn,
.woocommerce ul.products li.product a.button.add_to_cart_button,
.woocommerce ul.products li.product a.button.product_type_variable,
.woocommerce ul.products li.product a.button.product_type_simple{
    position:relative;width:46px !important;height:46px;min-width:46px;padding:0 !important;
    font-size:0 !important;line-height:0;border:0;border-radius:14px !important;overflow:hidden;
    background:var(--ms-action) !important;color:transparent !important;cursor:pointer;
    transition:background .15s,transform .15s,box-shadow .2s;}
.woocommerce ul.products li.product .ms-qa__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.woocommerce ul.products li.product .ms-qa__btn::before,
.woocommerce ul.products li.product a.button.add_to_cart_button::before,
.woocommerce ul.products li.product a.button.product_type_variable::before,
.woocommerce ul.products li.product a.button.product_type_simple::before{
    content:'';position:absolute;inset:0;background:center / 22px 22px no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2.2l1.6 9.2a1.6 1.6 0 0 0 1.6 1.3h7.6a1.6 1.6 0 0 0 1.6-1.2L19 7.5H6'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3Cpath d='M12 9v3.5M10.25 10.75h3.5'/%3E%3C/svg%3E");
    transition:transform .2s;}
.woocommerce ul.products li.product .ms-qa__btn:hover,
.woocommerce ul.products li.product a.button.add_to_cart_button:hover{background:var(--ms-action-dark) !important;
    box-shadow:0 8px 20px rgba(108,71,255,.35);transform:translateY(-1px);}
.woocommerce ul.products li.product .ms-qa__btn:hover::before{transform:scale(1.08);}
.woocommerce ul.products li.product .ms-qa__btn:active{transform:translateY(0) scale(.96);}
.woocommerce ul.products li.product .ms-qa__btn:focus-visible{outline:2px solid var(--ms-action);outline-offset:3px;}
/* стани: завантаження — кільце, готово — галочка */
.woocommerce ul.products li.product .ms-qa__btn.is-loading::before{display:none;}
.woocommerce ul.products li.product .ms-qa__btn.is-loading::after{content:'';position:absolute;left:50%;top:50%;
    width:20px;height:20px;margin:-10px 0 0 -10px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;
    border-radius:50%;animation:ms-spin .7s linear infinite;}
.woocommerce ul.products li.product .ms-qa__btn.is-done{background:var(--ms-ok) !important;}
.woocommerce ul.products li.product .ms-qa__btn.is-done::before{
    background:center / 22px 22px no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");}
@keyframes ms-spin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.woocommerce ul.products li.product .ms-qa__btn.is-loading::after{animation-duration:1.6s;}}
@media(max-width:781px){
    .woocommerce ul.products li.product .ms-qa__btn,
    .woocommerce ul.products li.product a.button.add_to_cart_button,
    .woocommerce ul.products li.product a.button.product_type_variable{width:42px !important;height:42px;min-width:42px;border-radius:12px !important;}
    .woocommerce ul.products li.product .price{min-height:42px;}
}

/* ---------- Лічильник кількості (замість повернення кнопки «Додати в кошик») ---------- */
.woocommerce ul.products li.product .ms-qa__cell{grid-column:2;grid-row:4;align-self:center;display:flex;justify-content:flex-end;}
.woocommerce ul.products li.product .ms-qa__cell .ms-qa__btn{grid-column:auto;grid-row:auto;}
.ms-stepper{display:none;align-items:center;height:46px;border-radius:14px;background:var(--ms-action-light);
    border:1.5px solid rgba(108,71,255,.25);overflow:hidden;}
.ms-qa__cell.has-qty .ms-qa__btn{display:none !important;}
.ms-qa__cell.has-qty .ms-stepper{display:inline-flex;animation:ms-pop .18s ease-out;}
.ms-qa__cell.is-busy .ms-stepper{opacity:.7;pointer-events:none;}
.ms-stepper__btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:100%;border:0;background:transparent;
    color:var(--ms-action);cursor:pointer;padding:0;transition:background .12s;}
.ms-stepper__btn:hover{background:rgba(108,71,255,.14);}
.ms-stepper__btn:active{background:rgba(108,71,255,.24);}
.ms-stepper__btn:focus-visible{outline:2px solid var(--ms-action);outline-offset:-3px;}
.ms-stepper__qty{min-width:22px;text-align:center;font-weight:700;font-size:15px;color:var(--ms-ink);font-variant-numeric:tabular-nums;}
@keyframes ms-pop{from{transform:scale(.92);opacity:.5;}to{transform:none;opacity:1;}}
/* у вікні швидкого перегляду */
.ms-stepper--lg{height:52px;border-radius:14px;width:100%;justify-content:space-between;}
.ms-stepper--lg:not([hidden]){display:flex;}
.ms-stepper--lg .ms-stepper__btn{width:56px;}
.ms-stepper--lg .ms-stepper__qty{font-size:17px;}
.ms-stepper__note{display:none;}
@media(max-width:781px){
    .ms-stepper{height:42px;}
    .ms-stepper__btn{width:32px;}
    .ms-stepper__qty{min-width:18px;font-size:14px;}
}

/* ---------- Галерея товару (фото змінюються разом із кольором) ---------- */
.ms-gallery{border-radius:24px;overflow:hidden;background:var(--ms-surface);border:1px solid var(--ms-line);}
.ms-gallery__stage{position:relative;background:#F3F4F6;aspect-ratio:1 / 1;}
.ms-gallery__img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .25s ease;}
.ms-gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;
    background:rgba(255,255,255,.92);color:var(--ms-ink);font-size:24px;line-height:1;cursor:pointer;
    box-shadow:var(--ms-shadow);opacity:0;transition:opacity .2s;}
.ms-gallery__stage:hover .ms-gallery__nav,.ms-gallery__nav:focus-visible{opacity:1;}
.ms-gallery__nav--prev{left:14px;}
.ms-gallery__nav--next{right:14px;}
.ms-gallery__thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;}
.ms-gallery__thumb{padding:0;border:2px solid transparent;border-radius:12px;background:#F3F4F6;overflow:hidden;cursor:pointer;
    aspect-ratio:1 / 1;transition:border-color .15s;}
.ms-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.7;transition:opacity .15s;}
.ms-gallery__thumb:hover img,.ms-gallery__thumb.is-on img{opacity:1;}
.ms-gallery__thumb.is-on{border-color:var(--ms-action);}
@media(hover:none){.ms-gallery__nav{opacity:1;width:38px;height:38px;}}
.ms-pd-field__value{font-weight:600;color:var(--ms-ink);}

/* фото у картці: плавна зміна при виборі кольору; тло нейтральне (без підфарбовування) */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{background:#F3F4F6 !important;}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{transition:opacity .2s ease;}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img.is-swapping{opacity:.35;}
.ms-quickview [hidden]{display:none !important;}

/* завантаження сітки при зміні вибору пристрою */
.ast-woocommerce-container{transition:opacity .15s ease;}
.ast-woocommerce-container.is-loading ul.products,
.ast-woocommerce-container.is-loading .ms-empty{opacity:.45;pointer-events:none;transition:opacity .15s;}

/* форма пошуку на головній: серія показується лише коли вона є у бренду */
.ms-finder__field[hidden]{display:none !important;}
.ms-finder__row{display:flex;grid-template-columns:none;}
.ms-finder__field{flex:1 1 0;}
.ms-finder .ms-finder__submit{flex:0 0 auto;}
@media(max-width:920px){
    .ms-finder__row{flex-wrap:wrap;}
    .ms-finder__field{flex:1 1 28%;}
    .ms-finder .ms-finder__submit{flex:1 1 100%;width:100%;margin:8px 0 0;}
}
@media(max-width:781px){
    .ms-finder__row{flex-direction:column;flex-wrap:nowrap;}
    .ms-finder__field{flex:0 0 auto;}
}

/* ---------- Бейджі на картках: м'які «пігулки» ---------- */
/* Маркер на фото — один і завжди в тому самому куті: ліворуч угорі, навпроти сердечка */
.ms-card-badges{top:12px;left:12px;gap:0;pointer-events:none;}
.ms-card-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;
    font-size:11.5px;font-weight:700;letter-spacing:.01em;line-height:1;white-space:nowrap;
    box-shadow:0 2px 10px rgba(21,23,28,.16);}
.ms-card-badge::before{content:none;}
.ms-card-badge.is-sale{background:var(--ms-danger);color:#fff;}
.ms-card-badge.is-new{background:var(--ms-action);color:#fff;}
.ms-card-badge.is-hit{background:linear-gradient(135deg,#FF9A3C 0%,#F2670C 100%);color:#fff;
    box-shadow:0 2px 10px rgba(226,98,10,.35);padding-left:7px;gap:4px;}
.ms-card-badge.is-hit::before{content:'';display:block;width:12px;height:12px;background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M13.5 1.5c.4 3-1.2 4.6-2.6 6C9.3 9 8 10.4 8 13a4 4 0 0 0 1.4 3.1c-.2-.5-.3-1-.3-1.6 0-1.7 1.1-2.9 2.1-3.9.8-.8 1.5-1.6 1.7-2.7.9 1 1.6 2 2.1 3.1.6-.6 1-1.4 1.1-2.4 1.2 1.4 2 3.2 2 5.1a7 7 0 1 1-14 0c0-4 2.4-6.2 4.3-8C10.4 5.9 12 4.2 13.5 1.5Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M13.5 1.5c.4 3-1.2 4.6-2.6 6C9.3 9 8 10.4 8 13a4 4 0 0 0 1.4 3.1c-.2-.5-.3-1-.3-1.6 0-1.7 1.1-2.9 2.1-3.9.8-.8 1.5-1.6 1.7-2.7.9 1 1.6 2 2.1 3.1.6-.6 1-1.4 1.1-2.4 1.2 1.4 2 3.2 2 5.1a7 7 0 1 1-14 0c0-4 2.4-6.2 4.3-8C10.4 5.9 12 4.2 13.5 1.5Z'/%3E%3C/svg%3E") center/contain no-repeat;}

/* ---------- Стрілки галереї ---------- */
.ms-gallery__nav{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;
    background:rgba(255,255,255,.94);color:var(--ms-ink);font-size:0;box-shadow:0 4px 14px rgba(21,23,28,.14);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .15s,color .15s,transform .15s,opacity .2s;}
.ms-gallery__nav svg{display:block;}
.ms-gallery__nav:hover{background:var(--ms-action);color:#fff;transform:translateY(-50%) scale(1.06);}
.ms-gallery__nav:active{transform:translateY(-50%) scale(.96);}
.ms-gallery__nav:focus-visible{outline:2px solid var(--ms-action);outline-offset:2px;}

/* ---------- Кнопка «Додати в кошик» на сторінці товару: іконка + текст ---------- */
.woocommerce div.product form.cart .single_add_to_cart_button{position:relative;display:inline-flex;align-items:center;
    justify-content:center;gap:10px;padding:0 28px;min-height:54px;font-size:16px;font-weight:600;border-radius:16px;
    box-shadow:0 10px 24px rgba(108,71,255,.28);}
.woocommerce div.product form.cart .single_add_to_cart_button::before{content:'';width:22px;height:22px;flex:0 0 22px;
    background:center / 22px 22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2.2l1.6 9.2a1.6 1.6 0 0 0 1.6 1.3h7.6a1.6 1.6 0 0 0 1.6-1.2L19 7.5H6'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3Cpath d='M12 9v3.5M10.25 10.75h3.5'/%3E%3C/svg%3E");}
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,.woocommerce div.product form.cart .single_add_to_cart_button:disabled{box-shadow:none;}
.woocommerce div.product form.cart .single_add_to_cart_button.is-loading::before{width:20px;height:20px;background:none;border:2.5px solid rgba(255,255,255,.4);
    border-top-color:#fff;border-radius:50%;animation:ms-spin .7s linear infinite;}
.ms-pd-cartbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;}
.ms-pd-cartbar[hidden]{display:none;}
.ms-pd-cartbar .ms-stepper--lg{width:170px;height:54px;flex:0 0 auto;}
.ms-pd-cartbar__link{font-weight:600;color:var(--ms-action) !important;text-decoration:none !important;}
.ms-pd-cartbar__link:hover{text-decoration:underline !important;}

/* ==========================================================================
   КОШИК (легка серверна версія)
   ========================================================================== */
input[type=number]{-moz-appearance:textfield;appearance:textfield;}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}

.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:0 32px;align-items:start;}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,.woocommerce-cart .woocommerce > .woocommerce-message,
.woocommerce-cart .woocommerce > .woocommerce-info,.woocommerce-cart .woocommerce > .woocommerce-error{grid-column:1 / -1;}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;}
.woocommerce-cart .cart-collaterals{grid-column:2;position:sticky;top:112px;}
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%;}

/* рядки товарів — картки-сітка замість таблиці */
.woocommerce-cart table.shop_table.cart{border:0;background:transparent;display:block;margin:0;}
.woocommerce-cart table.shop_table.cart thead{display:none;}
.woocommerce-cart table.shop_table.cart tbody{display:grid;gap:12px;}
.woocommerce-cart table.shop_table.cart tr.cart_item{display:grid;grid-template-columns:96px minmax(0,1fr) 132px 112px 36px;
    grid-template-areas:"thumb name qty sub rm" "thumb price qty sub rm";column-gap:16px;row-gap:2px;align-items:center;
    padding:14px 16px;background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:20px;position:relative;}
.woocommerce-cart table.shop_table.cart td{display:block;padding:0;border:0;background:transparent;text-align:left;}
.woocommerce-cart table.shop_table.cart td::before{display:none !important;}
.woocommerce-cart td.product-thumbnail{grid-area:thumb;}
.woocommerce-cart td.product-thumbnail img{width:96px;height:96px;object-fit:cover;border-radius:14px;background:#F3F4F6;display:block;}
.woocommerce-cart td.product-name{grid-area:name;align-self:end;}
.woocommerce-cart td.product-name a{color:var(--ms-ink) !important;font-weight:600;font-size:16px;letter-spacing:-.01em;text-decoration:none;line-height:1.3;}
.woocommerce-cart td.product-name a:hover{color:var(--ms-action) !important;}
.woocommerce-cart td.product-name .variation{margin:4px 0 0;font-size:13px;color:var(--ms-muted);}
.woocommerce-cart td.product-price{grid-area:price;align-self:start;font-size:14px;color:var(--ms-muted);}
.woocommerce-cart td.product-quantity{grid-area:qty;justify-self:center;}
.woocommerce-cart td.product-subtotal{grid-area:sub;justify-self:end;font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--ms-ink);white-space:nowrap;}
.woocommerce-cart td.product-remove{grid-area:rm;justify-self:end;}
.woocommerce-cart td.product-remove a.remove{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
    background:var(--ms-bg);color:var(--ms-muted) !important;font-size:20px;line-height:1;font-weight:400;transition:background .15s,color .15s;}
.woocommerce-cart td.product-remove a.remove:hover{background:var(--ms-danger-light);color:var(--ms-danger) !important;}

/* лічильник кількості */
.woocommerce-cart .quantity.ms-q{display:inline-flex;align-items:center;height:44px;border:1.5px solid var(--ms-line);border-radius:14px;
    background:var(--ms-surface);overflow:hidden;}
.woocommerce-cart .quantity.ms-q input.qty{width:40px;height:100%;border:0 !important;border-radius:0;background:transparent;text-align:center;
    font-weight:700;font-size:15px;padding:0;box-shadow:none !important;}
.ms-q__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:100%;border:0;background:transparent;
    color:var(--ms-action);cursor:pointer;padding:0;transition:background .12s;}
.ms-q__btn:hover{background:var(--ms-action-light);}
.woocommerce-cart td.product-quantity .quantity:not(.ms-q) input.qty{width:64px;height:44px;text-align:center;}

/* купон і кнопка «Оновити» */
.woocommerce-cart td.actions{display:block;padding:0;border:0;background:transparent;}
.woocommerce-cart table.shop_table.cart tr:last-child{display:block;}
.woocommerce-cart td.actions .coupon{display:flex;gap:10px;align-items:stretch;padding:14px 16px;background:var(--ms-surface);
    border:1px dashed var(--ms-line);border-radius:18px;float:none;width:100%;margin-top:4px;}
.woocommerce-cart td.actions .coupon label{display:none;}
.woocommerce-cart td.actions .coupon input#coupon_code{flex:1 1 auto;width:auto;min-height:46px;padding:0 16px;}
.woocommerce-cart td.actions .coupon .button{min-height:46px;padding:0 20px;white-space:nowrap;background:var(--ms-ink) !important;}
.woocommerce-cart td.actions > button[name="update_cart"]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* підсумок */
.woocommerce-cart .cart_totals{background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:22px;padding:22px 22px 24px;}
.woocommerce-cart .cart_totals > h2{font-size:19px;margin:0 0 14px;text-transform:none;}
.woocommerce-cart .cart_totals table.shop_table{border:0;margin:0;background:transparent;}
.woocommerce-cart .cart_totals table.shop_table th,.woocommerce-cart .cart_totals table.shop_table td{padding:12px 0;border:0;border-top:1px solid var(--ms-line);
    background:transparent;font-size:15px;vertical-align:top;}
.woocommerce-cart .cart_totals table.shop_table tr:first-child th,.woocommerce-cart .cart_totals table.shop_table tr:first-child td{border-top:0;}
.woocommerce-cart .cart_totals th{font-weight:500;color:var(--ms-muted);width:38%;text-align:left;}
.woocommerce-cart .cart_totals td{text-align:right;color:var(--ms-ink);font-weight:600;}
.woocommerce-cart .cart_totals tr.order-total th{color:var(--ms-ink);font-weight:700;font-size:17px;}
.woocommerce-cart .cart_totals tr.order-total td{font-size:20px;font-weight:700;letter-spacing:-.02em;}
.woocommerce-cart .woocommerce-shipping-destination,.woocommerce-cart .shipping-calculator-button,.woocommerce-cart form.woocommerce-shipping-calculator{display:none !important;}
.woocommerce-cart ul#shipping_method{list-style:none;margin:0;padding:0;}
.woocommerce-cart ul#shipping_method li{margin:0;font-size:14px;font-weight:500;}
.woocommerce-cart .wc-proceed-to-checkout{padding:14px 0 0;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;margin:0;padding:0 20px;
    border-radius:16px;font-size:16px;font-weight:600;box-shadow:0 10px 24px rgba(108,71,255,.28);}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{content:'';width:18px;height:18px;
    background:center / 18px 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");}

/* порожній кошик */
.woocommerce-cart .cart-empty{grid-column:1 / -1;max-width:460px;margin:24px auto 0;padding:44px 28px 8px;text-align:center;background:transparent;border:0;
    font-family:var(--ms-display);font-weight:600;font-size:20px;letter-spacing:-.02em;color:var(--ms-ink);}
.woocommerce-cart .cart-empty::before{display:flex !important;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto 18px;
    border-radius:22px;background:var(--ms-action-light);color:var(--ms-action) !important;font-size:30px;position:static !important;}
.woocommerce-cart .return-to-shop{grid-column:1 / -1;text-align:center;padding:8px 0 64px;}
.woocommerce-cart .return-to-shop .button{min-height:52px;display:inline-flex;align-items:center;padding:0 28px;}

/* ==========================================================================
   ОФОРМЛЕННЯ ЗАМОВЛЕННЯ (легка серверна версія)
   ========================================================================== */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{
    margin:0 0 16px;font-size:14.5px;padding:14px 18px;}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before{display:none;}
.woocommerce-checkout .woocommerce-info a{color:var(--ms-action) !important;font-weight:600;}
.woocommerce-checkout form.woocommerce-form-coupon{border:1px solid var(--ms-line);border-radius:18px;padding:16px;margin:0 0 20px;background:var(--ms-surface);}
form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0 32px;align-items:start;}
form.checkout #customer_details{grid-column:1;grid-row:1 / span 2;float:none;width:100%;}
form.checkout #customer_details .col-1,form.checkout #customer_details .col-2{float:none;width:100%;max-width:none;padding:0;}
form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 12px;font-size:19px;}
form.checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:112px;float:none;width:100%;background:var(--ms-surface);
    border:1px solid var(--ms-line);border-radius:22px;padding:8px 22px 22px;}
form.checkout .woocommerce-billing-fields{background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:22px;padding:24px;margin:0 0 20px;}
form.checkout .woocommerce-billing-fields > h3,form.checkout .woocommerce-additional-fields > h3{font-size:19px;margin:0 0 18px;}
form.checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
form.checkout .form-row{margin:0 0 16px;padding:0;float:none;width:auto;}
form.checkout .form-row-wide,form.checkout .form-row.notes{grid-column:1 / -1;}
form.checkout .form-row label{display:block;margin:0 0 7px;font-size:13.5px;font-weight:600;color:var(--ms-ink-2);line-height:1.3;}
form.checkout .form-row label .required{color:var(--ms-action);text-decoration:none;}
form.checkout .form-row .optional{font-weight:400;color:var(--ms-muted);}
form.checkout .form-row input.input-text,form.checkout .form-row textarea,form.checkout .form-row select{width:100%;min-height:52px;padding:0 16px;
    font-size:16px;border-radius:14px;}
form.checkout .form-row textarea{min-height:96px;padding:14px 16px;}
form.checkout #billing_country_field,form.checkout .woocommerce-shipping-fields,form.checkout #ship-to-different-address{display:none !important;}
form.checkout .woocommerce-additional-fields{background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:22px;padding:24px 24px 8px;}
form.checkout .woocommerce-additional-fields h3{display:none;}
form.checkout .woocommerce-invalid input.input-text{border-color:var(--ms-danger) !important;}

/* підсумок замовлення */
form.checkout table.shop_table{border:0;margin:0;background:transparent;}
form.checkout table.shop_table thead{display:none;}
form.checkout table.shop_table td,form.checkout table.shop_table th{padding:12px 0;border:0;border-top:1px solid var(--ms-line);background:transparent;font-size:14.5px;vertical-align:top;}
form.checkout table.shop_table tbody tr:first-child td{border-top:0;}
form.checkout table.shop_table td.product-name{font-weight:500;color:var(--ms-ink);line-height:1.4;}
form.checkout table.shop_table td.product-name .product-quantity{color:var(--ms-muted);font-weight:600;}
form.checkout table.shop_table td.product-total,form.checkout table.shop_table tfoot td{text-align:right;font-weight:600;white-space:nowrap;}
form.checkout table.shop_table tfoot th{font-weight:500;color:var(--ms-muted);text-align:left;}
form.checkout table.shop_table tr.order-total th{color:var(--ms-ink);font-weight:700;font-size:17px;}
form.checkout table.shop_table tr.order-total td{font-size:21px;font-weight:700;letter-spacing:-.02em;}
form.checkout ul#shipping_method{list-style:none;margin:0;padding:0;text-align:right;}
form.checkout ul#shipping_method li{margin:0;font-size:14px;}

/* оплата */
form.checkout #payment{background:transparent;border-radius:0;margin-top:6px;}
form.checkout #payment ul.payment_methods{padding:0;margin:0 0 14px;border:0;display:grid;gap:10px;list-style:none;}
form.checkout #payment ul.payment_methods li{margin:0;padding:14px 16px;border:1.5px solid var(--ms-line);border-radius:16px;background:var(--ms-surface);
    transition:border-color .15s,background .15s;}
form.checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--ms-action);background:var(--ms-action-light);}
form.checkout #payment ul.payment_methods li label{display:inline;font-weight:600;font-size:15px;margin:0;}
form.checkout #payment div.payment_box{background:transparent;color:var(--ms-muted);padding:8px 0 0;margin:0;font-size:14px;}
form.checkout #payment div.payment_box::before{display:none;}
form.checkout #payment .woocommerce-info,form.checkout #payment li.woocommerce-notice{margin:0 0 14px;padding:16px 18px;font-size:14.5px;line-height:1.5;
    background:var(--ms-danger-light);border-left-color:var(--ms-danger);list-style:none;}
form.checkout #payment .woocommerce-info::before{display:none;}
form.checkout .woocommerce-privacy-policy-text{font-size:12.5px;color:var(--ms-muted);line-height:1.5;margin:0 0 14px;}
form.checkout .woocommerce-privacy-policy-text a{color:var(--ms-action) !important;}
form.checkout #place_order{width:100%;min-height:58px;font-size:16px;font-weight:600;border-radius:16px;box-shadow:0 10px 24px rgba(108,71,255,.28);float:none;}

/* сторінка «Дякуємо» */
.woocommerce-order .woocommerce-notice--success{font-family:var(--ms-display);font-size:20px;font-weight:600;letter-spacing:-.02em;background:var(--ms-ok-light);
    border-left-color:var(--ms-ok);padding:22px 24px;margin:0 0 20px;}
.woocommerce-order ul.order_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:0;margin:0 0 28px;list-style:none;}
.woocommerce-order ul.order_details li{float:none;border:1px solid var(--ms-line);border-radius:16px;background:var(--ms-surface);padding:14px 16px;margin:0;font-size:13px;color:var(--ms-muted);}
.woocommerce-order ul.order_details li strong{display:block;margin-top:4px;color:var(--ms-ink);font-size:16px;}

/* ---------- адаптив ---------- */
@media(max-width:980px){
    .woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr);}
    .woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals{grid-column:1;position:static;}
    .woocommerce-cart .cart-collaterals{margin-top:20px;}
    form.checkout{grid-template-columns:minmax(0,1fr);}
    form.checkout #customer_details,form.checkout #order_review_heading,form.checkout #order_review{grid-column:1;grid-row:auto;position:static;}
    form.checkout #order_review_heading{margin-top:8px;}
}
@media(max-width:640px){
    .woocommerce-cart table.shop_table.cart tr.cart_item{grid-template-columns:76px minmax(0,1fr) 34px;
        grid-template-areas:"thumb name rm" "thumb price price" "qty qty sub";column-gap:12px;row-gap:4px;padding:12px;border-radius:18px;}
    .woocommerce-cart td.product-thumbnail img{width:76px;height:76px;border-radius:12px;}
    .woocommerce-cart td.product-name a{font-size:15px;}
    .woocommerce-cart td.product-quantity{justify-self:start;margin-top:8px;}
    .woocommerce-cart td.product-subtotal{align-self:end;font-size:17px;}
    .woocommerce-cart td.actions .coupon{flex-direction:column;}
    .woocommerce-cart .cart_totals,form.checkout .woocommerce-billing-fields,form.checkout .woocommerce-additional-fields{padding:18px;border-radius:18px;}
    form.checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr;}
    form.checkout #order_review{padding:6px 18px 18px;border-radius:18px;}
}

/* ---------- Оформлення: розтягуємо колонки (WooCommerce задає жорсткі ширини) ---------- */
form.checkout #customer_details,form.checkout #order_review_heading,form.checkout #order_review{width:auto !important;float:none !important;margin-left:0 !important;margin-right:0 !important;max-width:none !important;}
form.checkout #customer_details{grid-column:1;}
form.checkout #order_review_heading,form.checkout #order_review{grid-column:2;}
@media(max-width:980px){form.checkout #customer_details,form.checkout #order_review_heading,form.checkout #order_review{grid-column:1;}}
@media(max-width:640px){
    .woocommerce-cart table.shop_table.cart td.product-name,.woocommerce-cart table.shop_table.cart td.product-price{text-align:left !important;}
    .woocommerce-cart table.shop_table.cart td.product-quantity{text-align:left !important;}
    .woocommerce-cart td.actions .coupon input#coupon_code{width:100%;}
    .woocommerce-cart td.actions .coupon .button{width:100%;}
}

/* ---------- Бренди: плитки з логотипами у три ряди ---------- */
.ms-sec--brands{margin:0 0 44px;}
.ms-sec--brands .ms-sec__title{font-size:clamp(19px,2vw,24px);}
.ms-brandgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
.ms-brandgrid .ms-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:118px;padding:16px 10px 14px;
    background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:18px;text-decoration:none !important;cursor:pointer;font-family:inherit;text-align:center;
    color:var(--ms-ink);transition:border-color .15s,box-shadow .2s,transform .2s,color .15s;}
.ms-brandgrid .ms-brand[hidden]{display:none !important;}
.ms-brandgrid .ms-brand:hover{border-color:var(--ms-action);box-shadow:var(--ms-shadow);transform:translateY(-2px);color:var(--ms-action);}
.ms-brand__logo{display:flex;align-items:center;justify-content:center;width:100%;height:36px;margin-bottom:6px;}
.ms-brand__svg{display:block;width:100%;max-width:96px;height:32px;color:inherit;}
.ms-brand__svg--dots{max-width:40px;height:12px;color:var(--ms-action);}
.ms-brand__wm{font-family:var(--ms-display);font-weight:700;font-size:19px;letter-spacing:-.03em;line-height:1;color:inherit;white-space:nowrap;}
.ms-brand__wm--realme{text-transform:lowercase;font-size:21px;}
.ms-brand__wm--nothing{text-transform:uppercase;font-size:15px;letter-spacing:.22em;font-weight:600;}
.ms-brand__wm--tecno{text-transform:uppercase;font-size:18px;letter-spacing:.08em;}
.ms-brand__wm--infinix{text-transform:uppercase;font-size:16px;letter-spacing:.12em;font-weight:600;}
.ms-brandgrid .ms-brand__name{font-weight:600;font-size:14px;letter-spacing:-.01em;color:var(--ms-ink);}
.ms-brandgrid .ms-brand__count{font-size:12px;color:var(--ms-muted);min-height:1em;}
.ms-brandgrid .ms-brand:hover .ms-brand__name{color:var(--ms-action);}
.ms-brandgrid .ms-brand--more{border-style:dashed;background:transparent;}
.ms-brandgrid .ms-brand--more .ms-brand__name{color:var(--ms-action);}
@media(max-width:1099px){.ms-brandgrid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:680px){
    .ms-brandgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
    .ms-brandgrid .ms-brand{min-height:104px;padding:14px 8px 12px;border-radius:16px;}
    .ms-brand__logo{height:32px;}
    .ms-brand__svg{height:28px;max-width:84px;}
}

/* ---------- Питання та відповіді ---------- */
.ms-sec--faq{margin:0 0 56px;}
.ms-faq{display:grid;gap:10px;max-width:860px;}
.ms-faq__item{background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:16px;padding:0 20px;transition:border-color .15s;}
.ms-faq__item[open]{border-color:rgba(108,71,255,.35);}
.ms-faq__item summary{cursor:pointer;list-style:none;padding:18px 32px 18px 0;font-weight:600;font-size:16px;letter-spacing:-.01em;color:var(--ms-ink);position:relative;}
.ms-faq__item summary::-webkit-details-marker{display:none;}
.ms-faq__item summary::after{content:'';position:absolute;right:4px;top:50%;width:9px;height:9px;margin-top:-6px;border-right:2px solid var(--ms-muted);
    border-bottom:2px solid var(--ms-muted);transform:rotate(45deg);transition:transform .2s;}
.ms-faq__item[open] summary::after{transform:rotate(-135deg);margin-top:-2px;border-color:var(--ms-action);}
.ms-faq__item p{margin:0;padding:0 0 18px;color:var(--ms-muted);line-height:1.6;font-size:15px;max-width:720px;}
.ms-faq__item summary:focus-visible{outline:2px solid var(--ms-action);outline-offset:2px;border-radius:8px;}

/* ---------- Шапка на мобільному: усі іконки на одній лінії ---------- */
@media(max-width:921px){
    .ms-header-search-wrap{height:60px;}
    .ms-header-cart svg,.ms-header-wish svg,.ms-header-search-toggle svg{width:22px;height:22px;}
}

/* ---------- Кількість на сторінці товару: як усі лічильники, без вертикальних стрілок ---------- */
.woocommerce div.product form.cart .quantity,.woocommerce div.product form.cart .ms-pd-qty{display:inline-flex;align-items:center;}
.ms-pd-qty{height:54px;border:1.5px solid var(--ms-line);border-radius:16px;background:var(--ms-surface);overflow:hidden;margin:0 12px 0 0;}
.ms-pd-qty button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:100%;border:0;background:transparent;color:var(--ms-action);
    font-size:22px;font-weight:500;line-height:1;cursor:pointer;padding:0;transition:background .12s;}
.ms-pd-qty button:hover{background:var(--ms-action-light);}
.ms-pd-qty input.qty,.woocommerce div.product form.cart .quantity input.qty{width:46px;height:100%;border:0 !important;border-radius:0;background:transparent;
    text-align:center;font-weight:700;font-size:16px;padding:0;box-shadow:none !important;-moz-appearance:textfield;appearance:textfield;}
/* одна рамка: обводимо або вкладений лічильник, або (без JS) сам блок */
.woocommerce div.product form.cart .quantity{border:0;background:transparent;box-shadow:none;padding:0;margin:0 12px 0 0;}
.woocommerce div.product form.cart .quantity:not(:has(.ms-pd-qty)){border:1.5px solid var(--ms-line);border-radius:16px;overflow:hidden;background:#fff;height:54px;}
.woocommerce div.product form.cart .quantity .ms-pd-qty{margin:0;}

/* ---------- Оформлення: єдина шапка картки замовлення ---------- */
form.checkout #order_review_heading{display:none !important;}
form.checkout #order_review::before{content:'Ваше замовлення';display:block;font-family:var(--ms-display);font-weight:600;font-size:19px;letter-spacing:-.03em;
    color:var(--ms-ink);padding:18px 0 8px;}
form.checkout #order_review{grid-row:1 / span 2;}

/* На телефоне/планшете: сначала контактні дані, потім підсумок замовлення */
@media(max-width:980px){
    form.checkout #customer_details{grid-column:1 !important;grid-row:auto !important;}
    form.checkout #order_review{grid-column:1 !important;grid-row:auto !important;margin-top:8px;}
}

/* порядок полів оформлення: імʼя/прізвище → телефон/email → місто → відділення */
form.checkout #billing_first_name_field{order:1;}
form.checkout #billing_last_name_field{order:2;}
form.checkout #billing_phone_field{order:3;}
form.checkout #billing_email_field{order:4;}
form.checkout #billing_city_field{order:5;}
form.checkout #billing_address_1_field{order:6;}
form.checkout #billing_phone_field,form.checkout #billing_email_field{grid-column:auto !important;}
@media(max-width:640px){form.checkout #billing_phone_field,form.checkout #billing_email_field{grid-column:1 / -1 !important;}}

/* ---------- Телефон на оформленні: прапор усередині поля, єдиний ритм відступів ---------- */
form.checkout #billing_phone_field{margin-bottom:16px !important;}
form.checkout .woocommerce-input-wrapper.ms-phone{position:relative;display:block;}
.ms-phone__flag{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;pointer-events:none;
    height:22px;padding-right:12px;border-right:1.5px solid var(--ms-line);}
.ms-phone__flag svg{display:block;width:24px;height:16px;border-radius:3px;box-shadow:0 0 0 1px rgba(21,23,28,.14);}
.ms-phone input#billing_phone{padding-left:60px !important;font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600;}
.ms-phone input#billing_phone::placeholder{font-weight:400;letter-spacing:0;}
.ms-phone.is-bad input#billing_phone{border-color:var(--ms-danger) !important;box-shadow:0 0 0 3px rgba(229,72,77,.14) !important;}

/* ---------- Телефон магазину (верхня смуга і футер): таблетка з акцентною іконкою ---------- */
.ms-topbar__tel,.ms-footer__tel{display:inline-flex;align-items:center;gap:10px;color:#fff !important;font-weight:600;
    text-decoration:none !important;white-space:nowrap;transition:background .18s,border-color .18s,transform .18s;}
.ms-topbar__tel{height:28px;padding:0 14px 0 3px;border-radius:999px;font-size:13.5px;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);}
.ms-topbar__tel:hover,.ms-footer__tel:hover{opacity:1 !important;background:rgba(108,71,255,.28);border-color:rgba(183,165,255,.5);}
.ms-topbar__tel svg,.ms-footer__tel svg{box-sizing:content-box;flex:0 0 auto;width:12px;height:12px;padding:5px;border-radius:50%;
    background:var(--ms-action);color:#fff;stroke-width:2.2;}
.ms-topbar__tel svg{width:12px;height:12px;padding:5px;}
.ms-tel__cc{color:var(--ms-accent-soft);font-weight:600;margin-right:-5px;}
.ms-tel__num{font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.ms-footer__tel{height:44px;padding:0 20px 0 6px;border-radius:999px;font-size:16px;margin:0 0 20px;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);}
.ms-footer__tel svg{width:16px;height:16px;padding:8px;}
@media(max-width:781px){.ms-topbar__tel{height:28px;font-size:14px;}}

/* ---------- Стабільна верстка каталогу: рядок «Показано / Сортування» займає своє місце ще до появи карток ---------- */
.woocommerce-result-count,.woocommerce-ordering{margin-top:0;margin-bottom:28px;}
.woocommerce-result-count{line-height:40px;}
.woocommerce ul.products,.woocommerce-page ul.products{clear:both;}

/* ==========================================================================
   Полірування: контраст, зони нажатия, плашки, порожні стани
   ========================================================================== */

/* ---- Контраст тексту: ≥ 4.5:1 (WCAG AA) ---- */
:root{--ms-muted-2:#6B7484;--ms-danger:#D6333B;}
input::placeholder,textarea::placeholder{color:#6E7788;opacity:1;}
.woocommerce ul.products li.product .ast-woo-product-category{opacity:1 !important;color:var(--ms-muted) !important;}

/* ---- Плашка «Хіт»: на вузьких екранах коротка форма, щоб не заходити під сердечко ---- */
.ms-card-badge{font-size:12px;}
.ms-cb-short{display:none;}
@media(max-width:520px){.ms-cb-full{display:none;}.ms-cb-short{display:inline;}}

/* ---- Зони нажатия ≥ 40–44 px без зміни вигляду: розширюємо невидимим шаром ---- */
/* position не трогаємо: сердечко й іконки шапки вже позиціоновані (absolute) — ::after спирається на них */
.ms-qa__color{position:relative;}
.ms-qa__color::after{content:'';position:absolute;inset:-7px;border-radius:50%;}
/* лише для іконки в куті картки (вона absolute); кнопка «До списку бажань» на сторінці товару — звичайна, їй розширення не потрібне */
.ms-wish-btn:not(.ms-wish-btn--pdp)::after{content:'';position:absolute;inset:-5px;border-radius:50%;}
.ms-header-cart::after,.ms-header-wish::after,.ms-header-search-toggle::after{content:'';position:absolute;inset:-11px;}
@media(max-width:781px){
    .ms-dchip,.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
    .ms-sec__link{display:inline-flex;align-items:center;min-height:44px;}
    /* назва магазину поруч з логотипом — не менше 12 px */
    .site-branding .site-title a{font-size:12px !important;line-height:1.2 !important;}
    .site-branding .ast-site-title-wrap{max-width:124px;}
}

/* ---- Картка товару на телефоні: спочатку назва, ціна й вибір, а «службове» — після ---- */
@media(max-width:921px){
    .woocommerce div.product .summary.entry-summary{display:flex;flex-direction:column;}
    .woocommerce div.product .summary .single-product-category{order:1;}
    .woocommerce div.product .summary .product_title{order:2;}
    .woocommerce div.product .summary .price{order:3;}
    .woocommerce div.product .summary .ms-pd-brand{order:4;}
    .woocommerce div.product .summary .woocommerce-product-details__short-description{order:5;}
    .woocommerce div.product .summary form.cart{order:6;}
    .woocommerce div.product .summary .ms-wish-btn--pdp{order:7;align-self:flex-start;}
    .woocommerce div.product .summary .ms-pd-trust{order:8;}
    .woocommerce div.product .summary .product_meta{order:9;}
    .woocommerce div.product .summary .woocommerce-breadcrumb{order:10;margin-top:18px;}
}

/* ---- Порожні стани: кошик, пошук, 404 ---- */
.ms-empty--page{max-width:640px;margin:24px auto 0;padding:48px 28px 36px;}
.ms-empty--page .ms-empty__ic{margin-bottom:18px;}
.ms-empty__big{display:block;font-family:var(--ms-display);font-weight:700;font-size:clamp(72px,14vw,120px);line-height:1;letter-spacing:-.05em;
    background:linear-gradient(135deg,var(--ms-accent-soft),var(--ms-action));-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;margin:0 0 14px;}
.ms-empty--page .ms-empty__title{font-size:clamp(20px,3vw,26px);}
.ms-empty--page p{max-width:30em;margin-left:auto;margin-right:auto;}
.ms-empty__chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:26px 0 0;}
.ms-empty__more{max-width:1200px;margin:56px auto 8px;}
.ms-empty__more .ms-sec__title{margin:0 0 20px;font-size:clamp(20px,2.4vw,26px);}
.ms-404__search{display:flex;gap:8px;max-width:460px;margin:6px auto 22px;}
.ms-404__search input[type=search]{flex:1 1 auto;min-width:0;height:48px;padding:0 16px;border:1.5px solid var(--ms-line);border-radius:12px;font-size:16px;background:#fff;}
.ms-404__search .button{height:48px;padding:0 22px;}
.woocommerce-cart .return-to-shop{display:none;}
.woocommerce-cart .cart-empty.woocommerce-info,.woocommerce-cart .woocommerce-notices-wrapper:empty{display:none;}
.ms-404 .site-main{padding-bottom:40px;}

/* ---- Вхід у кабінет: карточка по центру ---- */
.woocommerce-account:not(.logged-in) .entry-title,.woocommerce-account:not(.logged-in) .woocommerce > h2{display:none;}
.woocommerce-account:not(.logged-in) .woocommerce{max-width:460px;margin:8px auto 40px;}
.ms-login-intro{text-align:center;margin:0 0 20px;}
.ms-login-intro h2{display:block !important;font-size:clamp(24px,3.4vw,30px);margin:0 0 8px;}
.ms-login-intro p{color:var(--ms-muted);line-height:1.55;margin:0;}
.woocommerce-account:not(.logged-in) form.woocommerce-form-login{background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:20px;padding:26px 24px;margin:0;}
.woocommerce-account:not(.logged-in) form.woocommerce-form-login .button{width:100%;min-height:50px;}

/* Порожній кошик: блок на всю ширину (сітка кошика має дві колонки для товарів і підсумків) */
.woocommerce-cart .woocommerce:has(.ms-empty--page){display:block;}
.ms-empty .button,.ms-404__search .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;
    background:var(--ms-action);color:#fff !important;border:0;border-radius:12px;font-weight:700;text-decoration:none;}
.ms-empty .button:hover,.ms-404__search .button:hover{background:var(--ms-action-dark);}
/* шорткод [products] обгортає сітку в свій .woocommerce — у кошику його не можна брати за двоколонну сітку */
.woocommerce-cart .ms-empty__more .woocommerce{display:block;}
.ms-404 .ms-empty .button,.ms-404 .ms-404__search .button{background:var(--ms-action) !important;color:#fff !important;border-radius:12px !important;}
.ms-404 .ms-empty .button:hover,.ms-404 .ms-404__search .button:hover{background:var(--ms-action-dark) !important;}
/* іконки шапки: фокус і натискання без синьої заливки теми, з фірмовим кільцем для клавіатури */
.ms-header-search-toggle,.ms-header-search-toggle:hover,.ms-header-search-toggle:focus,.ms-header-search-toggle:active{background:transparent !important;box-shadow:none !important;}
.ms-header-search-toggle:focus-visible,.ms-header-cart:focus-visible,.ms-header-wish:focus-visible{outline:2px solid var(--ms-action);outline-offset:4px;border-radius:10px;}

/* ==========================================================================
   РЕМОНТ ТЕЛЕФОНІВ
   ========================================================================== */

/* ---- Вхід у ремонт: кнопка на ПК, окрема іконка та картка в меню на телефоні ---- */
.main-header-menu > li.ms-menu-repair > a.menu-link{
    display:inline-flex !important;align-items:center;gap:8px;height:40px;padding:0 18px 0 14px !important;
    border-radius:999px;background:var(--ms-action-light);color:var(--ms-action-dark) !important;
    font-weight:600 !important;transition:background .16s,color .16s;}
.main-header-menu > li.ms-menu-repair > a.menu-link:hover{background:var(--ms-action);color:#fff !important;}
.main-header-menu > li.ms-menu-repair.current-menu-item > a.menu-link{background:var(--ms-action);color:#fff !important;}
.main-header-menu > li.ms-menu-repair > a.menu-link::after{display:none !important;}
.ms-menu-repair .ms-repair-ic{flex:0 0 auto;}
.ms-menu-repair__name{white-space:nowrap;}
.ms-menu-repair__hint{display:none;}

/* верхня смуга */
.ms-topbar__repair{display:inline-flex;align-items:center;gap:7px;color:#fff !important;font-size:13px;font-weight:600;
    text-decoration:none !important;margin-left:22px;transition:color .15s;}
.ms-topbar__repair:hover{color:var(--ms-accent-soft) !important;}
.ms-topbar__in{justify-content:flex-start;}
.ms-topbar__tel{margin-left:auto;}

/* на телефоні вхід у ремонт — у верхній смузі (решта значків шапки лишається як була) */
@media(max-width:921px){
    .ms-topbar__repair{margin-left:0;}
    .ms-topbar__in{justify-content:center;gap:16px;}
    .ms-topbar__tel{margin-left:0;}
}

/* картка в бургер-меню */
@media(max-width:921px){
    #ast-mobile-header .main-header-menu > li.ms-menu-repair{padding:16px 20px 8px !important;border-bottom:0 !important;}
    /* Astra фарбує пункти мобільного меню власним правилом — перебиваємо його */
    #ast-mobile-header .main-header-menu > li.ms-menu-repair > a.menu-link,
    #ast-mobile-header .main-header-menu > li.ms-menu-repair > a.menu-link:hover{
        display:flex !important;align-items:center;gap:13px;height:auto;padding:16px 18px !important;
        border-radius:16px !important;background:var(--ms-action) !important;color:#fff !important;
        box-shadow:0 10px 24px rgba(108,71,255,.3);}
    #ast-mobile-header .ms-menu-repair__hint{max-width:15em;}
    #ast-mobile-header .ms-menu-repair .ms-repair-ic{width:26px;height:26px;}
    #ast-mobile-header .ms-menu-repair__text{display:flex;flex-direction:column;gap:3px;text-align:left;}
    #ast-mobile-header .ms-menu-repair__name{font-size:16px;font-weight:700;line-height:1.2;}
    #ast-mobile-header .ms-menu-repair__hint{display:block;font-size:12.5px;font-weight:500;line-height:1.3;opacity:.8;white-space:normal;}
}

/* ---- Блок на головній ---- */
.ms-repromo{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:40px;align-items:center;margin:0 0 56px;padding:44px 48px;border-radius:28px;color:#fff;
    background:url(facets.svg) center/cover no-repeat,
        radial-gradient(75% 110% at 92% 10%,rgba(108,71,255,.5) 0%,rgba(108,71,255,0) 62%),
        var(--ms-deep);}
.ms-repromo__eyebrow{color:var(--ms-accent-soft);font-size:13px;font-weight:600;letter-spacing:.02em;margin:0 0 10px;}
.ms-repromo__title{color:#fff;font-family:var(--ms-display);font-weight:600;font-size:clamp(23px,2.6vw,32px);
    line-height:1.14;letter-spacing:-.03em;margin:0 0 12px;text-wrap:balance;}
.ms-repromo__sub{color:#A7ADBA;font-size:16px;line-height:1.55;margin:0 0 24px;max-width:32em;}
.ms-repromo__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin:0;}
.ms-repromo__btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:14px;
    background:var(--ms-action);color:#fff !important;font-weight:700;font-size:16px;text-decoration:none !important;
    transition:background .16s,transform .16s;}
.ms-repromo__btn:hover{background:var(--ms-action-dark);transform:translateY(-1px);}
.ms-repromo__tel{color:#fff !important;font-weight:600;text-decoration:none !important;white-space:nowrap;}
.ms-repromo__tel:hover{color:var(--ms-accent-soft) !important;}
.ms-repromo__list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;}
.ms-repromo__list a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff !important;
    font-size:14.5px;font-weight:600;line-height:1.3;text-decoration:none !important;transition:background .16s,border-color .16s;}
.ms-repromo__list a:hover{background:rgba(108,71,255,.3);border-color:rgba(183,165,255,.5);}
.ms-repromo__ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;
    border-radius:11px;background:rgba(183,165,255,.18);color:var(--ms-accent-soft);}
.ms-repromo__ic svg{width:19px;height:19px;}
@media(max-width:920px){.ms-repromo{grid-template-columns:1fr;gap:28px;padding:34px 28px;}}
@media(max-width:680px){
    .ms-repromo{padding:28px 20px;border-radius:22px;margin-bottom:36px;}
    .ms-repromo__list{grid-template-columns:1fr;}
    .ms-repromo__btn{width:100%;}
    .ms-repromo__actions{gap:12px;}
    .ms-repromo__tel{width:100%;text-align:center;}
}

/* ---- Сторінка ремонту: шапка ---- */
.ms-rep{max-width:1000px;margin:0 auto;}
.ms-rep__hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 220px;
    gap:24px;align-items:center;padding:44px 48px;border-radius:28px;color:#fff;margin:0 0 -56px;
    background:url(facets.svg) center/cover no-repeat,
        radial-gradient(70% 100% at 88% 0%,rgba(108,71,255,.45) 0%,rgba(108,71,255,0) 62%),
        var(--ms-deep);}
.ms-rep__eyebrow{color:var(--ms-accent-soft);font-size:13px;font-weight:600;margin:0 0 10px;}
.ms-rep__title{color:#fff;font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.035em;margin:0 0 12px;}
.ms-rep__sub{color:#A7ADBA;font-size:16.5px;line-height:1.55;margin:0 0 22px;max-width:34em;}
.ms-rep__facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;margin:0;padding:0;}
.ms-rep__facts li{display:inline-flex;align-items:center;gap:9px;color:#C4C8D2;font-size:14px;font-weight:500;}
.ms-rep__facts svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--ms-accent-soft);stroke-width:1.9;
    stroke-linecap:round;stroke-linejoin:round;}
.ms-rep__hero-art svg{width:100%;height:auto;display:block;}

/* ---- Картка форми ---- */
.ms-rep__card{position:relative;z-index:1;background:var(--ms-surface);border:1px solid var(--ms-line);border-radius:24px;
    box-shadow:0 24px 60px rgba(21,23,28,.16);padding:32px 36px 34px;margin:0 16px 64px;}

/* Рейка кроків */
.ms-rep__rail{list-style:none;display:flex;gap:10px;margin:0 0 26px;padding:0;counter-reset:none;}
.ms-rep__rail li{flex:1 1 0;display:flex;align-items:center;gap:10px;min-width:0;padding:0 0 12px;
    border-bottom:2px solid var(--ms-line);color:var(--ms-muted-2);font-size:14px;font-weight:600;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s,border-color .2s;}
.ms-rep__rail li span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 auto;
    border-radius:50%;background:var(--ms-bg);color:var(--ms-muted-2);font-size:13px;transition:background .2s,color .2s;}
.ms-rep__rail li.is-on{color:var(--ms-ink);border-bottom-color:var(--ms-action);}
.ms-rep__rail li.is-on span{background:var(--ms-action);color:#fff;}
.ms-rep__rail li.is-done{color:var(--ms-action);border-bottom-color:var(--ms-accent-soft);}
.ms-rep__rail li.is-done span{background:var(--ms-action-light);color:var(--ms-action-dark);}

/* Обране на попередніх кроках */
.ms-rep__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;}
.ms-rep__chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border-radius:999px;
    background:var(--ms-action-light);color:var(--ms-action-dark);border:1px solid transparent;
    font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s;}
.ms-rep__chip::after{content:'змінити';font-weight:500;opacity:.7;font-size:12.5px;}
.ms-rep__chip:hover{border-color:var(--ms-action);}

/* Кроки */
.ms-rep__step{display:none;}
.ms-rep__step.is-on{display:block;animation:ms-rep-in .28s cubic-bezier(.2,.7,.2,1);}
@keyframes ms-rep-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.ms-rep__h{font-size:clamp(19px,2.2vw,24px);letter-spacing:-.02em;margin:0 0 20px;}

/* Крок 1: список проблем */
.ms-rep__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:12px;margin:0 0 6px;}
.ms-rep__opt{display:grid;grid-template-columns:44px 1fr;grid-template-areas:'ic name' 'ic desc';gap:2px 14px;
    padding:16px;border:1.5px solid var(--ms-line);border-radius:16px;background:var(--ms-surface);
    text-align:left;cursor:pointer;font-family:inherit;transition:border-color .16s,background .16s,transform .16s;}
.ms-rep__opt:hover{border-color:var(--ms-accent-soft);transform:translateY(-2px);}
.ms-rep__opt.is-on{border-color:var(--ms-action);background:var(--ms-action-light);}
.ms-rep__opt-ic{grid-area:ic;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
    border-radius:13px;background:var(--ms-bg);color:var(--ms-action);transition:background .16s;}
.ms-rep__opt.is-on .ms-rep__opt-ic{background:#fff;}
.ms-rep__opt-ic svg{width:23px;height:23px;}
.ms-rep__opt-name{grid-area:name;font-size:15px;font-weight:600;color:var(--ms-ink);letter-spacing:-.01em;}
.ms-rep__opt-desc{grid-area:desc;font-size:13px;line-height:1.4;color:var(--ms-muted);}
.ms-rep__opt:focus-visible{outline:2px solid var(--ms-action);outline-offset:2px;}
.ms-rep__other{margin:18px 0 0;}

/* Поля */
.ms-rep__field{display:block;margin:0 0 18px;}
.ms-rep__label{display:block;font-size:13.5px;font-weight:600;color:var(--ms-ink);margin:0 0 7px;}
.ms-rep__label i{font-style:normal;color:var(--ms-action);}
.ms-rep__label i.is-opt{color:var(--ms-muted);font-weight:500;}
.ms-rep__field input[type=text],.ms-rep__field input[type=tel],.ms-rep__field textarea,.ms-rep__select{
    width:100%;min-height:52px;padding:14px 16px;border:1.5px solid var(--ms-line);border-radius:14px;
    background:var(--ms-surface);color:var(--ms-ink);font-size:16px;font-family:inherit;line-height:1.4;}
.ms-rep__field textarea{min-height:92px;resize:vertical;}
.ms-rep__select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:44px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7484' stroke-width='1.7' fill='none'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 18px center;}
.ms-rep__select:disabled{background-color:var(--ms-bg);color:var(--ms-muted-2);cursor:not-allowed;}
.ms-rep__selects{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px;}
.ms-rep__two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.ms-rep__phone{position:relative;display:block;}
.ms-rep__phone input{padding-left:60px !important;font-weight:600;font-variant-numeric:tabular-nums;}

/* Прапор у полі телефону (спільний із оформленням) */
.ms-rep__phone .ms-phone__flag{left:16px;}

.ms-rep__check{display:flex;align-items:flex-start;gap:11px;margin:4px 0 0;cursor:pointer;
    font-size:14.5px;line-height:1.45;color:var(--ms-ink);}
.ms-rep__check input{width:20px;height:20px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--ms-action);cursor:pointer;}
.ms-rep__radios{border:0;padding:0;margin:0 0 18px;}
.ms-rep__radios legend{padding:0;}
.ms-rep__radio{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 18px 0 14px;margin:0 8px 8px 0;
    border:1.5px solid var(--ms-line);border-radius:999px;cursor:pointer;font-size:14.5px;font-weight:500;transition:border-color .15s,background .15s;}
.ms-rep__radio input{width:18px;height:18px;accent-color:var(--ms-action);cursor:pointer;}
.ms-rep__radio:has(input:checked){border-color:var(--ms-action);background:var(--ms-action-light);font-weight:600;}

/* Кнопки й помилки */
.ms-rep__nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 0;}
.ms-rep__next,.ms-rep__submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:54px;
    padding:0 30px;border:0;border-radius:14px;background:var(--ms-action);color:#fff !important;
    font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none !important;
    transition:background .16s,transform .16s;}
.ms-rep__next:hover,.ms-rep__submit:hover{background:var(--ms-action-dark);}
.ms-rep__next:active,.ms-rep__submit:active{transform:translateY(1px);}
.ms-rep__next svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.ms-rep__submit.is-busy{opacity:.65;pointer-events:none;}
.ms-rep__back{display:inline-flex;align-items:center;gap:8px;min-height:54px;padding:0 18px;border:0;border-radius:14px;
    background:transparent;color:var(--ms-muted);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;
    transition:color .15s;order:-1;}
.ms-rep__back:hover{color:var(--ms-ink);}
.ms-rep__back svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.ms-rep__err{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:12px 16px;border-radius:12px;
    background:#FDECEC;color:#B02831;font-size:14.5px;font-weight:500;}
.ms-rep__note{margin:16px 0 0;color:var(--ms-muted);font-size:13px;line-height:1.5;}
.ms-rep__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

/* Готово */
.ms-rep__done{text-align:center;padding:16px 0 8px;}
.ms-rep__done-ic{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 0 18px;
    border-radius:50%;background:var(--ms-action-light);color:var(--ms-action);}
.ms-rep__done-ic svg{width:34px;height:34px;}
.ms-rep__done .ms-rep__h{margin-bottom:10px;}
.ms-rep__done p{color:var(--ms-muted);line-height:1.6;margin:0 0 10px;}
.ms-rep__done-num b{color:var(--ms-ink);font-size:19px;}
.ms-rep__done a{color:var(--ms-action);font-weight:600;}
.ms-rep__done .ms-rep__nav{justify-content:center;}
.ms-rep__done .ms-rep__next{color:#fff !important;}

@media(max-width:920px){
    .ms-rep__hero{grid-template-columns:1fr;padding:34px 28px;margin-bottom:-48px;}
    .ms-rep__hero-art{display:none;}
    .ms-rep__card{padding:26px 22px 28px;margin:0 8px 48px;}
}
@media(max-width:680px){
    .ms-rep__hero{padding:28px 20px;border-radius:22px;}
    .ms-rep__card{margin:0 0 40px;border-radius:20px;padding:22px 16px 24px;}
    .ms-rep__grid{grid-template-columns:1fr;}
    .ms-rep__two{grid-template-columns:1fr;}
    .ms-rep__rail li{font-size:0;gap:0;padding-bottom:10px;}
    .ms-rep__rail li span{font-size:13px;margin:0 auto;}
    .ms-rep__nav{flex-direction:column-reverse;align-items:stretch;}
    .ms-rep__next,.ms-rep__submit,.ms-rep__back{width:100%;}
    .ms-rep__back{order:0;}
}
/* на сторінці ремонту заголовок друкує сам блок — тему просимо не дублювати */
.ms-repair-page .entry-header,.ms-repair-page .ast-single-post-title,.ms-repair-page .entry-title{display:none !important;}
.ms-repair-page .entry-content{margin-top:0;}
/* номер у блоці на головній: код країни і цифри не мають злипатися */
.ms-repromo__tel .ms-tel__cc{margin-right:6px;}

/* ==========================================================================
   MOBIJEX: фірмовий знак
   ========================================================================== */
.ms-logo{display:inline-flex;align-items:center;gap:11px;color:var(--ms-ink);}
.ms-logo__mark{height:38px;width:auto;flex:0 0 auto;color:inherit;}
.ms-logo__text{display:flex;flex-direction:column;gap:3px;line-height:1;}
.ms-logo__word{font-family:var(--ms-display);font-weight:700;font-size:21px;letter-spacing:-.035em;white-space:nowrap;color:var(--ms-ink);}
.ms-logo__word b{color:var(--ms-action);font-weight:700;}
.ms-logo__tag{font-size:7.4px;font-weight:600;letter-spacing:.23em;text-transform:uppercase;color:var(--ms-muted-2);white-space:nowrap;}
.ms-logo-link{display:inline-flex;text-decoration:none !important;}
.ms-logo-link:hover .ms-logo__word b{color:var(--ms-action-dark);}
/* назву магазину друкує сам знак — текстовий заголовок поруч не потрібен */
.site-branding .ast-site-title-wrap{display:none !important;}
.site-branding .custom-logo-link{max-width:none;}
.site-branding img.custom-logo{display:none;}
/* на темному тлі (футер) */
.ms-footer .ms-logo,.ms-footer .ms-logo__word{color:#fff;}
.ms-footer .ms-logo__word b{color:var(--ms-accent-soft);}
.ms-footer .ms-logo__tag{color:#9AA1AF;}
@media(max-width:921px){
    .ms-logo__mark{height:28px;}
    .ms-logo__word{font-size:17px;}
    .ms-logo__tag{display:none;}
    .ms-logo{gap:9px;}
}
/* зазор між знаком і тлом: у шапці біле, у футері — темне */
.ms-footer .ms-logo{--ms-logo-bg:#15171C;}

/* ==========================================================================
   Ремонт: підказки й помилки
   ========================================================================== */
/* атрибут hidden не має програвати класам із display — інакше приховане показується завжди */
.ms-rep [hidden]{display:none !important;}

/* Помилка: спокійна картка з іконкою, з'являється лише коли щось не так, і вказує, що виправити */
.ms-rep__err{display:flex;align-items:flex-start;gap:11px;margin:16px 0 0;padding:13px 16px;border-radius:14px;
    background:#FFF6F6;border:1px solid rgba(214,51,59,.28);color:#7E1C22;font-size:14.5px;font-weight:500;line-height:1.45;
    animation:ms-rep-shake .34s cubic-bezier(.36,.07,.19,.97);}
.ms-rep__err svg{flex:0 0 auto;width:20px;height:20px;margin-top:1px;color:var(--ms-danger);}
@keyframes ms-rep-shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-3px)}40%,60%{transform:translateX(3px)}}
.ms-rep__grid.is-invalid,.ms-rep__selects.is-invalid{outline:2px solid rgba(214,51,59,.35);outline-offset:6px;border-radius:16px;}

/* Поле «Інше»: блок, що виїжджає під сіткою, з підказкою та лічильником */
.ms-rep__other{margin:18px 0 0;padding:18px;border-radius:16px;background:var(--ms-action-light);
    border:1px solid rgba(108,71,255,.18);animation:ms-rep-in .28s cubic-bezier(.2,.7,.2,1);}
.ms-rep__other textarea{background:#fff;}
.ms-rep__hint{display:flex;justify-content:space-between;gap:14px;margin:9px 2px 0;color:var(--ms-muted);font-size:13px;line-height:1.45;}
.ms-rep__count{flex:0 0 auto;font-variant-numeric:tabular-nums;color:var(--ms-muted-2);}

/* «Не знаю модель»: картка-перемикач із підказкою, де знайти модель */
.ms-rep__unknown{position:relative;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:14px;margin:6px 0 0;
    padding:14px 16px;border:1.5px dashed var(--ms-line);border-radius:16px;cursor:pointer;
    transition:border-color .16s,background .16s;}
.ms-rep__unknown:hover{border-color:var(--ms-accent-soft);}
.ms-rep__unknown:has(input:checked){border-style:solid;border-color:var(--ms-action);background:var(--ms-action-light);}
.ms-rep__unknown input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;}
.ms-rep__unknown-ic{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;
    background:var(--ms-bg);color:var(--ms-action);}
.ms-rep__unknown-ic svg{width:21px;height:21px;}
.ms-rep__unknown:has(input:checked) .ms-rep__unknown-ic{background:#fff;}
.ms-rep__unknown-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.ms-rep__unknown-txt b{font-size:15px;font-weight:600;color:var(--ms-ink);}
.ms-rep__unknown-txt small{font-size:13px;line-height:1.45;color:var(--ms-muted);}
.ms-rep__switch{position:relative;width:44px;height:26px;border-radius:999px;background:var(--ms-line);transition:background .18s;}
.ms-rep__switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;
    box-shadow:0 1px 3px rgba(21,23,28,.25);transition:transform .18s;}
.ms-rep__unknown:has(input:checked) .ms-rep__switch{background:var(--ms-action);}
.ms-rep__unknown:has(input:checked) .ms-rep__switch::after{transform:translateX(18px);}
.ms-rep__unknown:has(input:focus-visible){outline:2px solid var(--ms-action);outline-offset:2px;}

/* Примітка під кнопкою */
.ms-rep__note{display:flex;align-items:flex-start;gap:10px;margin:18px 0 0;padding:12px 14px;border-radius:12px;background:var(--ms-bg);
    color:var(--ms-muted);font-size:13px;line-height:1.5;}
.ms-rep__note svg{flex:0 0 auto;width:18px;height:18px;margin-top:1px;color:var(--ms-action);}
@media(max-width:680px){.ms-rep__unknown{grid-template-columns:40px 1fr;}.ms-rep__switch{display:none;}}

/* «Ремонт телефонів» в меню: фон і колір задаємо разом у кожному стані — тема більше не може лишити білий текст на білому */
.main-header-menu > li.ms-menu-repair > a.menu-link,
.main-header-menu > li.ms-menu-repair > a.menu-link:visited{
    background:var(--ms-action-light) !important;color:var(--ms-action-dark) !important;}
.main-header-menu > li.ms-menu-repair > a.menu-link:hover,
.main-header-menu > li.ms-menu-repair > a.menu-link:focus,
.main-header-menu > li.ms-menu-repair > a.menu-link:focus-visible,
.main-header-menu > li.ms-menu-repair > a.menu-link:active,
.main-header-menu > li.ms-menu-repair:hover > a.menu-link{
    background:var(--ms-action) !important;color:#fff !important;}
.ms-menu-repair a .ms-menu-repair__name,.ms-menu-repair a .ms-repair-ic{color:inherit !important;}
.main-header-menu > li.ms-menu-repair > a.menu-link:focus-visible{outline:2px solid var(--ms-action);outline-offset:3px;}
/* та сама гарантія для вузького екрана: картка у бургері завжди фіолетова з білим текстом */
#ast-mobile-header .main-header-menu > li.ms-menu-repair > a.menu-link:focus,
#ast-mobile-header .main-header-menu > li.ms-menu-repair > a.menu-link:active{
    background:var(--ms-action-dark) !important;color:#fff !important;}
.ms-rep__back,.ms-rep__back:hover,.ms-rep__back:focus{background:transparent !important;box-shadow:none !important;}
.ms-rep__back:hover{color:var(--ms-ink) !important;}

/* Поточна сторінка «Ремонт»: та сама світла таблетка з тонким кільцем — без заливки й без підкреслення теми */
.main-header-menu > li.ms-menu-repair.current-menu-item > a.menu-link,
.main-header-menu > li.ms-menu-repair.current-menu-item > a.menu-link:visited{
    background:var(--ms-action-light) !important;color:var(--ms-action-dark) !important;
    border-bottom:0 !important;border-image:none !important;text-decoration:none !important;
    box-shadow:inset 0 0 0 1.5px var(--ms-action) !important;}
.main-header-menu > li.ms-menu-repair.current-menu-item > a.menu-link:hover{
    background:var(--ms-action) !important;color:#fff !important;}
.main-header-menu > li.ms-menu-repair > a.menu-link,
.main-header-menu > li.ms-menu-repair > a.menu-link:hover{border-bottom:0 !important;border-image:none !important;text-decoration:none !important;}
.main-header-menu > li.ms-menu-repair.current-menu-item::after,.main-header-menu > li.ms-menu-repair > a.menu-link::before{display:none !important;}
/* картка в бургері: без підкреслення на поточній сторінці */
#ast-mobile-header .main-header-menu > li.ms-menu-repair.current-menu-item > a.menu-link{
    border:0 !important;border-image:none !important;text-decoration:none !important;box-shadow:0 10px 24px rgba(108,71,255,.3) !important;}
/* бургер: картка ремонту завжди фіолетова з білим текстом, навіть на самій сторінці ремонту */
#ast-mobile-header .main-header-menu > li.ms-menu-repair.current-menu-item > a.menu-link,
#ast-mobile-header .main-header-menu > li.ms-menu-repair.current-menu-item > a.menu-link:visited,
#ast-mobile-header .main-header-menu > li.ms-menu-repair.current-menu-item > a.menu-link:hover{
    background:var(--ms-action) !important;color:#fff !important;}

/* знак: тінь граней на стрічці — світла на темній літері (шапка) і темна на білій (футер) */
.ms-logo{--ms-logo-shade:#fff;--ms-logo-shade-op:.36;}
.ms-footer .ms-logo{--ms-logo-shade:#0B0B0F;--ms-logo-shade-op:.42;}

/* ---- Смуга «до безкоштовної доставки» ---- */
.ms-fsbar{margin:0 0 20px;padding:14px 18px;border-radius:16px;background:var(--ms-action-light);border:1px solid rgba(108,71,255,.18);}
.ms-fsbar__txt{margin:0 0 10px;font-size:14.5px;line-height:1.4;color:var(--ms-ink);}
.ms-fsbar__txt b{color:var(--ms-action-dark);}
.ms-fsbar__track{display:block;height:8px;border-radius:999px;background:#fff;overflow:hidden;}
.ms-fsbar__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ms-accent-soft),var(--ms-action));transition:width .5s cubic-bezier(.2,.7,.2,1);}
.ms-fsbar.is-done{background:#E9F7EE;border-color:rgba(30,107,52,.22);}
.ms-fsbar.is-done .ms-fsbar__txt b{color:#1E6B34;}
.ms-fsbar.is-done .ms-fsbar__fill{background:#2F9E44;}

/* ==========================================================================
   Доставка Новою Поштою на оформленні
   ========================================================================== */
/* міські поля WooCommerce лишаються в формі, але заповнюються вибором нижче */
form.checkout #billing_city_field,form.checkout #billing_address_1_field,form.checkout .ms-np-hidden{display:none !important;}
.ms-np{grid-column:1 / -1;margin:8px 0 4px;padding:22px;border-radius:18px;background:var(--ms-bg);border:1px solid var(--ms-line);}
.ms-np__title{font-family:var(--ms-display);font-size:17px;font-weight:600;letter-spacing:-.02em;margin:0 0 16px;}
.ms-np__modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px;}
.ms-np__mode{display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:0 12px;border:1.5px solid var(--ms-line);
    border-radius:14px;background:#fff;color:var(--ms-ink);font:600 14.5px/1.2 var(--ms-font);cursor:pointer;transition:border-color .15s,background .15s;}
.ms-np__mode svg{width:20px;height:20px;flex:0 0 auto;color:var(--ms-action);}
.ms-np__mode:hover{border-color:var(--ms-accent-soft);}
.ms-np__mode.is-on{border-color:var(--ms-action);background:var(--ms-action-light);}
.ms-np__field{margin:0 0 14px;}
.ms-np__label{display:block;font-size:13.5px;font-weight:600;color:var(--ms-ink);margin:0 0 7px;}
.ms-np__label i{font-style:normal;color:var(--ms-action);}
.ms-np__input{width:100%;min-height:52px;padding:14px 16px;border:1.5px solid var(--ms-line);border-radius:14px;background:#fff;color:var(--ms-ink);font-size:16px;font-family:inherit;}
.ms-np__combo{position:relative;}
.ms-np__list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:320px;overflow:auto;margin:0;padding:6px;list-style:none;
    background:#fff;border:1px solid var(--ms-line);border-radius:14px;box-shadow:0 18px 44px rgba(21,23,28,.16);}
.ms-np__list[hidden]{display:none;}
.ms-np__list li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;cursor:pointer;line-height:1.35;}
.ms-np__list li b{font-size:14.5px;font-weight:600;color:var(--ms-ink);}
.ms-np__list li small{font-size:12.5px;color:var(--ms-muted);}
.ms-np__list li:hover,.ms-np__list li.is-on{background:var(--ms-action-light);}
.ms-np__list li.is-empty{cursor:default;color:var(--ms-muted);font-size:14px;}
.ms-np__list li.is-empty:hover{background:none;}
.ms-np__two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.ms-np__pick{display:flex;align-items:flex-start;gap:10px;margin:2px 0 12px;padding:12px 14px;border-radius:12px;background:#E9F7EE;color:#1E5A2E;font-size:14px;font-weight:500;line-height:1.45;}
.ms-np__pick svg{flex:0 0 auto;width:18px;height:18px;margin-top:1px;}
.ms-np__pick[hidden]{display:none;}
.ms-np__err{margin:0 0 12px;padding:11px 14px;border-radius:12px;background:#FFF6F6;border:1px solid rgba(214,51,59,.28);color:#7E1C22;font-size:14px;}
.ms-np__err[hidden],.ms-np [hidden]{display:none !important;}
.ms-np__note{margin:6px 0 0;color:var(--ms-muted);font-size:13px;line-height:1.5;}
@media(max-width:560px){.ms-np{padding:16px;}.ms-np__modes{grid-template-columns:1fr;}.ms-np__mode{justify-content:flex-start;padding:0 16px;}.ms-np__two{grid-template-columns:1fr;}}

/* ---- Юридичні сторінки та футер ---- */
.ms-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;}
.ms-footer__legal{display:flex;flex-wrap:wrap;gap:6px 22px;}
.ms-footer__legal a{color:#9AA1AF !important;font-size:13.5px;text-decoration:none !important;}
.ms-footer__legal a:hover{color:var(--ms-accent-soft) !important;}
.page .entry-content > h2{font-size:clamp(19px,2.2vw,24px);letter-spacing:-.02em;margin:34px 0 12px;}
.page .entry-content > p,.page .entry-content > ul,.page .entry-content > ol{max-width:46em;line-height:1.7;color:#2B2F38;}
.page .entry-content > ul li,.page .entry-content > ol li{margin:0 0 8px;}
.ms-seller{list-style:none;margin:22px 0 !important;padding:6px 20px !important;max-width:34em;border:1px solid var(--ms-line);border-radius:16px;background:var(--ms-surface);}
.ms-seller li{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--ms-line);font-size:15px;margin:0 !important;}
.ms-seller li:last-child{border-bottom:0;}
.ms-seller span{color:var(--ms-muted);}
.ms-seller b{font-weight:600;text-align:right;}
.ms-contact-tel a{font-family:var(--ms-display);font-size:clamp(24px,3.4vw,34px);font-weight:600;letter-spacing:-.03em;color:var(--ms-ink) !important;text-decoration:none !important;}
.ms-contact-tel a:hover{color:var(--ms-action) !important;}
.ms-ttn{margin:18px 0 0;padding:14px 18px;border-radius:14px;background:var(--ms-action-light);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;}
.ms-ttn__lbl{color:var(--ms-muted);}
.ms-ttn__st{padding:3px 10px;border-radius:999px;background:#fff;font-size:13px;font-weight:600;color:var(--ms-action-dark);}
.ms-ttn__go{margin-left:auto;font-weight:600;}
/* нижня смуга футера — у тій самій колонці, що й решта футера, і не під кнопкою «нагору» */
.ms-footer__bottom{max-width:1160px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0;}
@media(max-width:1240px){.ms-footer__bottom{padding-left:20px;padding-right:72px;}}
@media(max-width:640px){.ms-footer__bottom{flex-direction:column;align-items:flex-start;padding-right:20px;}}
/* офіційний віджет Nova Post: кнопка-картка, вікно з мапою відкриває сам віджет */
.ms-np__widget{margin:0 0 14px;min-height:64px;}
.ms-np__widget[hidden]{display:none;}
.ms-np__loading{margin:0;padding:18px;border-radius:14px;background:#fff;border:1px dashed var(--ms-line);color:var(--ms-muted);font-size:14px;}
.ms-np__busy{margin:8px 2px 0;color:var(--ms-muted);font-size:13px;}
.ms-np__warn{display:flex;gap:10px;margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#FFF4E5;border:1px solid rgba(217,119,6,.3);color:#7A4300;font-size:14px;line-height:1.45;}
.ms-np__warn[hidden]{display:none !important;}
@media(max-width:560px){.ms-np__modes{grid-template-columns:1fr;}}
.ms-np__widget > div{width:100%;}

/* Таблиці підсумків на вузьких екранах: довгі підписи (доставка Новою Поштою) переносяться, суми лишаються в межах екрана */
@media(max-width:640px){
    form.checkout table.shop_table,.woocommerce-cart .cart_totals table.shop_table{table-layout:fixed;width:100%;max-width:100%;}
    form.checkout table.shop_table th,form.checkout table.shop_table td,
    .woocommerce-cart .cart_totals table.shop_table th,.woocommerce-cart .cart_totals table.shop_table td{overflow-wrap:anywhere;word-break:break-word;white-space:normal;}
    form.checkout tr.woocommerce-shipping-totals th,form.checkout tr.woocommerce-shipping-totals td,
    .woocommerce-cart tr.woocommerce-shipping-totals th,.woocommerce-cart tr.woocommerce-shipping-totals td{display:block;width:100% !important;text-align:left !important;padding-left:0;padding-right:0;}
    form.checkout tr.woocommerce-shipping-totals td,.woocommerce-cart tr.woocommerce-shipping-totals td{padding-top:0;}
    form.checkout #order_review{padding-left:20px;padding-right:20px;}
}
