/*
Theme Name: F-Mart SPA
Theme URI: https://f-mart.kz
Author: F-Mart
Description: React SPA на WordPress как оболочка
Version: 1.0
*/

:root{
    --bg:#ffffff;
    --text:#0f172a;
    --muted:#6b7280;
    --line:#eaecef;
    --shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);
    --orange:#ff8a00; /* основной как в макете */
    --orange-dark:#e17a00;
}
*{box-sizing:border-box}
html,body,#root{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.4 'Inter', system-ui, Segoe UI, Roboto, Helvetica}


.container{max-width:1180px;margin:0 auto;padding:0 16px}
.page{min-height:100%;display:flex;flex-direction:column}
.section{margin-top:28px}
.section--banner{margin-top:18px}
.section__title{margin:0 0 14px;font-size:18px;font-weight:700}
.footer{margin-top:40px;border-top:1px solid var(--line);background:#fff;padding:16px;color:var(--muted)}


/* Header */
.header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px)}
.header__row{height:64px;display:grid;grid-template-columns:220px 1fr 320px;gap:16px;align-items:center}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.logo__img{height:28px}
.logo__fallback{font-weight:800;color:#f39a1e}


.search{display:grid;grid-template-columns:1fr 44px;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.search__input{border:0;padding:10px 14px;font:inherit;outline:none}
.search__btn{border:0;background:transparent;cursor:pointer}


.nav{display:flex;justify-content:flex-end;gap:18px}
.nav__link{border:0;background:none;color:#3f3f46;text-decoration:none;cursor:pointer}
.nav__link:hover{color:#111}



/* Slider */
.slider{position:relative;display:inline-block;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);overflow:hidden;margin:0 auto}
.slider__viewport{position:relative;width:auto;height:auto}
/* скрываем неактивные, высота берётся от активной картинки */
.slide{display:none}
.slide.is-active{display:block}
.slide__img{display:block;max-width:100%;height:auto}


/* Стрелки и точки поверх */
.slider__arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid var(--line);background:#fff;padding:6px 10px;border-radius:999px;box-shadow:var(--shadow);cursor:pointer}
.slider__arrow--left{left:10px}
.slider__arrow--right{right:10px}
.slider__dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px}
.dot{width:8px;height:8px;border-radius:999px;background:#ffd7ae;border:none}
.dot.is-active{background:var(--orange)}

/* Grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.grid{grid-template-columns:repeat(2,1fr)}}


/* Product card */
.card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column; height:100%;}
.card__imgwrap{padding:24px;display:grid;place-items:center;background:#fff}
.card__img{width:120px;height:120px;object-fit:contain;filter:grayscale(20%)}
.card__body{padding:10px 14px 14px;display:flex;flex-direction:column;gap:10px;flex:1;}
.title{font-weight:600;color:#3f3f46;text-align:center}
.price{display:flex;justify-content:center;gap:10px;align-items:baseline}
.price__current{font-size:16px;font-weight:800}
.price__old{color:#9ca3af;font-size:12px}
.card__actions{display:flex;justify-content:center;gap:8px;margin-top:auto;}
.btn{border-radius:6px;border:1px solid var(--line);background:#fff;padding:8px 12px;cursor:pointer;font-weight:700}
.btn--orange{background:var(--orange);border-color:var(--orange);color:#fff}
.btn--orange:hover{background:var(--orange-dark);border-color:var(--orange-dark)}
.btn--ghost{background:#fff;color:#ff4d4f}


/* Skeleton */
.card--skeleton{animation:pulse 1.2s infinite ease-in-out}
@keyframes pulse{0%{opacity:.7}50%{opacity:1}100%{opacity:.7}}
.ph{height:12px;background:#eef1f4;border-radius:6px}
.ph--img{height:150px}
.ph--sm{width:50%}
.ph--btn{height:34px;border-radius:8px}
.note{margin-top:12px;text-align:center;color:#6b7280}
.note--warn{border:1px solid #facc15;background:#fef9c3;color:#713f12;padding:10px;border-radius:8px}
.sentinel{height:10px}

/* Modal */
.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.modal__dialog{position:relative;z-index:1;width:100%;max-width:680px;border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:22px}
.modal__close{position:absolute;right:10px;top:10px;border:1px solid var(--line);background:#fff;border-radius:8px;width:32px;height:32px;cursor:pointer}
.modal__title{margin:0 0 6px;font-size:18px;font-weight:800;text-align:center}
.modal__text{margin:0 auto 12px;max-width:520px;color:var(--muted);text-align:center}
.modal__qrgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.modal__actions{display:flex;gap:8px;margin-top:10px}
.qr{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--line);background:#fafafa;border-radius:12px;padding:10px}
.qr__img{width:200px;height:200px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.qr__title{font-size:12px;color:var(--muted)}
