/*
Theme Name: FD Store
Description: Тема англоязычного магазина store.fotodepartament.ru. Один в один
             с темой fd-shop: те же блоки, каталог и карточка товара — отличается
             только язык интерфейса. Правки вёрстки держать в обеих темах.
Version: 0.1
*/

:root{
  --fds-ink:#0a0a0a;      /* значения взяты с gallery, чтобы сайты сочетались */
  --fds-muted:#6e6e6e;
  --fds-hint:#c0c0c0;
  --fds-line:#e8e8e8;
  --fds-accent:rgb(26,10,247);
  --fds-lilac:rgb(153,147,255);   /* цвет кнопок «поделиться» — им же набраны заголовки колонок подвала */
  --fds-font:'Onest','Helvetica Neue',Arial,sans-serif;
  --fds-price:'Unbounded','Onest',Arial,sans-serif;
  --fds-wrap:100%;     /* магазин идёт во всю ширину: товаров много, их надо разложить широко */
}

*{box-sizing:border-box}
body{margin:0;font-family:var(--fds-font);font-size:15px;line-height:1.6;color:var(--fds-ink);background:#fff;
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--fds-accent)}
img{max-width:100%;height:auto}

.fds-wrap{max-width:var(--fds-wrap);margin:0 auto;padding:0 20px}  /* поля как на нынешнем сайте */

/* ── шапка: одна строка 60px, как на нынешнем сайте ───────────────────── */
.fds-head{background:#fff;position:relative;z-index:100}
.fds-head-in{display:flex;align-items:center;justify-content:space-between;gap:30px;height:60px}
.fds-logo img{height:21px;width:auto;display:block}   /* высота из настроек темы */

.fds-head-right{display:flex;align-items:center;gap:22px}
.fds-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:0;
  font-family:var(--fds-font);font-size:16.5px;font-weight:500;letter-spacing:.01em;line-height:1}
.fds-menu li{position:relative}
.fds-menu>li>a{display:block;padding:20px 17px}   /* поле клика вокруг пункта, а не голый текст */
.fds-menu .sub-menu{display:none;position:absolute;left:2px;top:100%;z-index:60;background:#fff;
  border:1px solid var(--fds-line);min-width:250px;padding:10px 0;list-style:none;margin:0;
  box-shadow:0 8px 24px rgba(0,0,0,.07)}
.fds-menu li:hover>.sub-menu{display:block}
.fds-menu .sub-menu a{display:block;padding:8px 18px;font-size:14px;font-weight:400;white-space:nowrap}
/* текущий раздел — фирменным синим: видно, где находишься */
.fds-menu li.current-menu-item>a,
.fds-menu li.current-menu-parent>a,
.fds-menu li.current-menu-ancestor>a,
.fds-menu li.current_page_item>a,
.fds-menu li.current-product_cat-ancestor>a,
.fds-menu li.fds-current>a{color:var(--fds-accent)}


/* ── поиск: наш вид вместо стандартного вордпрессовского ──────────────── */
.fds-searchform{display:flex;max-width:620px;margin:0 0 22px}   /* поле шире: короткое поле обрезало запрос на середине */
.fds-searchform input[type=search]{flex:1;min-width:0;border:1px solid var(--fds-line);border-right:0;
  padding:11px 15px;font:inherit;font-size:14px;outline:none;background:#fff}
.fds-searchform input[type=search]:focus{border-color:var(--fds-ink)}
.fds-searchform button{display:flex;align-items:center;gap:8px;border:0;background:var(--fds-ink);
  color:#fff;padding:0 20px;font:inherit;font-size:13px;letter-spacing:.03em;cursor:pointer}
.fds-searchform button:hover{background:var(--fds-accent)}

/* колонка виджетов: убираем вид «голого» вордпресса */
.fds-side{font-size:13.5px;color:var(--fds-muted)}
.fds-side .widget{margin:0 0 26px}
.fds-side .widget-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fds-ink);margin:0 0 10px}
.fds-side ul{list-style:none;margin:0;padding:0}
.fds-side li{padding:4px 0}
.screen-reader-text{position:absolute;left:-9999px}

/* ── значки шапки: как на gallery ─────────────────────────────────────── */
.fds-icons{display:flex;align-items:center;gap:4px;margin-left:14px}
.fds-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;color:var(--fds-muted);text-decoration:none;transition:color .15s}
.fds-icon:hover{color:var(--fds-ink)}
.fds-icon svg{width:20px;height:20px;display:block}
.fds-icon-n{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;
  display:flex;align-items:center;justify-content:center;background:var(--fds-ink);color:#fff;
  border-radius:999px;font-size:10px;font-weight:500;line-height:1}

.fds-main{padding:28px 0 60px}

/* ── подвал: тот же состав виджетов, что на нынешнем сайте ─────────────── */
.fds-foot{border-top:1px solid var(--fds-line);margin-top:40px;padding:38px 0 30px;
  font-size:13px;line-height:1.6;color:var(--fds-muted)}
.fds-foot-top{display:grid;gap:34px 40px;align-items:start}
.fds-foot-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fds-foot-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fds-foot-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fds-foot-bottom{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px 40px;margin-top:30px;padding-top:22px;border-top:1px solid var(--fds-line)}

.fds-foot .widget{margin:0 0 22px}
.fds-foot .widget:last-child{margin-bottom:0}
.fds-foot .widget-title,.fds-foot .qodef-widget-title{font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--fds-ink);margin:0 0 12px;font-weight:600}
.fds-foot ul{list-style:none;margin:0;padding:0}
.fds-foot li{padding:3px 0}
.fds-foot a{color:var(--fds-muted)}
.fds-foot a:hover{color:var(--fds-ink)}
.fds-foot p{margin:0 0 10px}
.fds-foot img{max-width:100%;height:auto}
/* блок «Мы на связи» читается чуть крупнее — к нему обращаются чаще прочего */
.fds-foot-bottom .widget{font-size:13.5px}

@media (max-width:860px){
  .fds-head-in{height:auto;flex-wrap:wrap;gap:12px;padding:12px 0}
  .fds-head-right{width:100%;justify-content:space-between}
  .fds-menu{gap:0;font-size:15.4px;overflow-x:auto;flex-wrap:nowrap}
  .fds-menu>li>a{padding:8px 11px}
}

/* ── каталог ──────────────────────────────────────────────────────────── */
.fds-crumbs{font-size:12.5px;color:var(--fds-muted);margin:0 0 14px}
.fds-page-title{font-size:30px;font-weight:600;margin:0 0 18px}
.fds-term-descr{max-width:760px;color:var(--fds-muted);margin:0 0 22px}

.fds-catalog{display:flex;gap:36px;align-items:flex-start}
.fds-filters{flex:0 0 220px;position:sticky;top:14px}
.fds-catalog-main{flex:1;min-width:0}
.fds-catalog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:0 0 20px;font-size:13.5px;color:var(--fds-muted)}
.fds-catalog-top .woocommerce-result-count{margin:0}
.fds-catalog-top select{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--fds-line);background:#fff}

.fds-f-block{margin:0 0 24px}
.fds-f-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fds-ink);margin:0 0 10px}
.fds-f-list{list-style:none;margin:0;padding:0;font-size:13.5px}
.fds-f-list li{padding:3px 0}
.fds-f-list a{color:var(--fds-muted);display:flex;justify-content:space-between;gap:10px}
.fds-f-list a:hover,.fds-f-list a.is-on{color:var(--fds-ink)}
.fds-f-list a.is-on{font-weight:600}
.fds-f-n{color:#b5b5b5;font-size:11.5px}
.fds-f-price{display:flex;gap:6px}
.fds-f-price input{width:70px;border:1px solid var(--fds-line);padding:7px 9px;font:inherit;font-size:13px;min-width:0}
.fds-f-price button{border:0;background:var(--fds-ink);color:#fff;padding:0 12px;font:inherit;font-size:12px;cursor:pointer}
.fds-f-reset{font-size:13px;color:var(--fds-accent)}

.fds-nostock{display:inline-block;font-size:11px;color:var(--fds-muted);border:1px solid var(--fds-line);
  padding:2px 7px;margin:2px 0 6px}
.fds-empty{color:var(--fds-muted);padding:30px 0}

@media (max-width:860px){
  .fds-catalog{flex-direction:column;gap:22px}
  .fds-filters{position:static;flex:1 1 auto;width:100%}
}

/* ── карточка товара: подача перенесена с gallery, шрифт магазинный ─────── */
.woocommerce ul.products,.fds-catalog-main ul.products{display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:0 50px;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important}
.woocommerce ul.products li.product::before{display:none}
/* Woo рисует служебные ::before/::after для «плавающей» раскладки — в сетке
   они превращаются в пустые ячейки, отсюда была дыра слева. */
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none!important;display:none!important}

.fdp-wrap{position:relative;margin-bottom:52px}
.fdp-card{display:block;text-decoration:none;color:var(--fds-ink)}
.fdp-photo{display:block;position:relative;overflow:hidden;background:none}
.fdp-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center center;display:block;transition:opacity .3s ease}
.fdp-img-alt{opacity:0;pointer-events:none}
.fdp-card.has-alt:hover .fdp-img-alt{opacity:1}
.fdp-card:not(.has-alt):hover .fdp-img{opacity:.85}
@media(hover:none){.fdp-img-alt{display:none}}

/* Одна плашка на карточку — «Продано» или процент скидки. Тот же вид, что на
   gallery: синий прямоугольник в углу, без жёлтых овалов. */
.fdp-badge{position:absolute;left:0;top:0;z-index:3;background:var(--fds-accent);color:#fff;
  font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px}
.fdp-card.is-sold .fdp-img,.fdp-card.is-sold:hover .fdp-img{opacity:.72}

.fdp-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-family:var(--fds-font);font-weight:400;font-size:16px;line-height:1.5;
  margin:18px 0 0;min-height:calc(3em - 6px)}
/* цена — Unbounded, как на gallery: справа, серым, воздух над ней */
.fdp-price{display:block;margin-top:6px;font-family:var(--fds-price);font-size:14px;font-weight:300;
  color:#828282;text-align:right;letter-spacing:-.01em}
.fdp-price del{color:#b5b5b5;margin-right:8px}
.fdp-price ins{text-decoration:none}

/* «в избранное» — поверх фото, проявляется при наведении */
.fdp-wish{position:absolute;top:10px;right:10px;z-index:4;line-height:0;opacity:0;transition:opacity .18s}
.fdp-wrap:hover .fdp-wish{opacity:1}
.fdp-wish .yith-wcwl-add-to-wishlist{margin:0}
.fdp-wish a{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;
  color:#fff;text-decoration:none;font-size:0;opacity:.72;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.45));transition:opacity .15s}
.fdp-wish a:hover{opacity:1}
.fdp-wish a i,.fdp-wish a svg,.fdp-wish a img{font-size:17px;width:20px!important;height:20px!important;display:block}
.fdp-wish .yith-wcwl-add-button span,.fdp-wish .feedback,
.fdp-wish .yith-wcwl-wishlistaddedbrowse span,.fdp-wish .yith-wcwl-wishlistexistsbrowse span{display:none!important}
@media(hover:none){.fdp-wish{opacity:1}}

/* строка фильтров над каталогом — подача с gallery, поиск прижат вправо */
.fds-fbar-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;
  flex-wrap:wrap;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--fds-line)}
.fds-fbar-row .fds-searchform{margin:0;flex:0 1 380px;min-width:240px}
.fds-fbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 22px;margin:0;padding:0;
  border:0;flex:1 1 auto}
.fds-f{display:flex;flex-direction:column;gap:5px}
.fds-f>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fds-muted)}
.fds-f select{font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--fds-line);
  background:#fff;min-width:150px}
.fds-price-inputs{display:flex;gap:6px}
.fds-price-inputs input{width:78px;border:1px solid var(--fds-line);padding:7px 9px;font:inherit;font-size:13px}
.fds-f-apply{border:0;background:var(--fds-ink);color:#fff;padding:9px 20px;font:inherit;font-size:13px;cursor:pointer}
.fds-f-apply:hover{background:var(--fds-accent)}
.fds-f-reset{font-size:13px;color:var(--fds-muted);align-self:center}
.fds-f-reset:hover{color:var(--fds-accent)}
.fds-count{font-size:13px;color:var(--fds-muted);margin:0 0 18px}
.fds-count .woocommerce-result-count{margin:0}

@media(max-width:1100px){.woocommerce ul.products,.fds-catalog-main ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.woocommerce ul.products,.fds-catalog-main ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .fdp-wrap{margin-bottom:30px}.fdp-title{margin-top:12px;font-size:15px}}

/* подразделы буллетами — как на gallery */
.fds-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.fds-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--fds-line);
  padding:7px 14px;font-size:13px;color:var(--fds-muted);border-radius:999px}
.fds-chip:hover{border-color:var(--fds-ink);color:var(--fds-ink)}
.fds-chip span{color:#b5b5b5;font-size:11.5px}
.fds-catalog.is-wide{display:block}
.fds-catalog.is-wide .fds-catalog-main{width:100%}

/* ── кнопка «В корзину» поверх фото ────────────────────────────────────────
   Поведение взято с нынешнего магазина (плашка всплывает по наведению на фото),
   а вид — с gallery: синяя заливка, белый текст. Сиреневой пары из старой темы
   здесь нет, у двух сайтов должен быть один цвет действия. */
.fdp-addcart{position:absolute;left:0;right:0;bottom:var(--fdp-cart-bottom,0px);z-index:3;
  text-align:center;padding:0 0 14px;opacity:0;transform:translateY(6px);
  transition:opacity .18s,transform .18s;pointer-events:none}
.fdp-wrap:hover .fdp-addcart{opacity:1;transform:translateY(0);pointer-events:auto}
@media(hover:none){.fdp-addcart{opacity:1;transform:none;pointer-events:auto}}
/* ВАЖНО: плагин ws247 (эффекты картинки в каталоге) вытаскивает кнопку из
   нашего span наверх, в .fdp-wrap, и красит её сиреневым. Поэтому правила
   вешаем на саму кнопку по классу, а не на её место в разметке, и положение
   над фото задаём ей же. */
body .fdp-wrap a.fdp-addcart-btn{position:absolute!important;left:50%!important;right:auto!important;
  top:auto!important;z-index:3;bottom:var(--fdp-cart-bottom, 0px)!important;  /* по нижнему краю снимка */
  transform:translateX(-50%) translateY(6px)!important;opacity:0;pointer-events:none;
  transition:opacity .18s,transform .18s;margin:0!important;width:auto!important}
body .fdp-wrap:hover a.fdp-addcart-btn{opacity:1;transform:translateX(-50%) translateY(0)!important;pointer-events:auto}
/* На телефоне наведения нет, и плашка висела бы поверх каждой обложки, закрывая
   её. Там кнопки не показываем: тап по карточке открывает товар. */

body .fdp-addcart .button,
body .woocommerce .fdp-addcart .button,
body .woocommerce ul.products .fdp-addcart a.button,
body .fdp-wrap a.fdp-addcart-btn,
body .woocommerce ul.products .fdp-wrap a.fdp-addcart-btn{display:inline-block!important;
  background:var(--fds-accent)!important;color:#fff!important;border:0!important;border-radius:0!important;
  padding:11px 30px!important;font-family:var(--fds-font)!important;font-size:12px!important;
  font-weight:600!important;line-height:1.2!important;letter-spacing:.08em!important;
  text-transform:uppercase!important;text-align:center;cursor:pointer;text-decoration:none;
  transition:opacity .15s}
body .fdp-addcart .button:hover,
body .woocommerce .fdp-addcart .button:hover,
body .fdp-wrap a.fdp-addcart-btn:hover{background:var(--fds-accent)!important;color:#fff!important;opacity:.85}
.fdp-addcart .added_to_cart{display:none}
.fdp-addcart .button.loading{opacity:.6}
.fdp-addcart .button.added::after{content:" ✓"}

/* ── всплывающая корзина в шапке ───────────────────────────────────────── */
.fds-cart-wrap{position:relative}
.fds-mini-cart{position:absolute;top:100%;right:0;width:360px;max-width:92vw;background:#fff;
  border:1px solid var(--fds-line);box-shadow:0 12px 34px rgba(0,0,0,.10);padding:20px 22px;z-index:120;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s}
.fds-mini-cart::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.fds-cart-wrap:hover .fds-mini-cart,.fds-mini-cart:hover{opacity:1;visibility:visible;transform:translateY(0)}
@media(hover:none){.fds-mini-cart{display:none}}
.fds-mini-cart ul.cart_list,.fds-mini-cart ul.product_list_widget{list-style:none;margin:0;padding:0;
  max-height:340px;overflow-y:auto}
.fds-mini-cart li{position:relative;display:block;padding:16px 28px 16px 0;border-bottom:1px solid var(--fds-line)}
.fds-mini-cart li:first-child{padding-top:0}
.fds-mini-cart li>a:not(.remove):not(.remove_from_cart_button){display:flex;gap:14px;align-items:flex-start;
  color:var(--fds-ink);font-size:14px;line-height:1.45}
.fds-mini-cart li img{width:58px!important;height:auto!important;margin:0!important;flex-shrink:0;
  border:1px solid var(--fds-line)}
.fds-mini-cart li .quantity{display:block;font-size:12px;color:var(--fds-muted);margin:8px 0 0 72px}
.fds-mini-cart a.remove,.fds-mini-cart a.remove_from_cart_button{position:absolute;top:14px;right:0;
  width:20px;height:20px;text-align:center;color:var(--fds-muted)!important}
.fds-mini-cart li:first-child a.remove{top:0}
.fds-mini-cart .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:baseline;
  padding:14px 0;margin:0;border-bottom:1px solid var(--fds-line);font-size:13px;color:var(--fds-muted)}
.fds-mini-cart .woocommerce-mini-cart__total .amount{font-size:16px;color:var(--fds-ink)}
.fds-mini-cart .woocommerce-mini-cart__buttons{display:flex;gap:10px;margin:16px 0 0}
.fds-mini-cart .woocommerce-mini-cart__buttons .button{flex:1;text-align:center;padding:11px 12px;
  font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:#fff;color:var(--fds-ink);
  border:1px solid var(--fds-line)}
.fds-mini-cart .woocommerce-mini-cart__buttons .checkout{background:var(--fds-accent);color:#fff;border-color:var(--fds-accent)}
.fds-mini-cart .woocommerce-mini-cart__empty-message{margin:0;color:var(--fds-muted);font-size:13.5px}

/* ── страница товара: раскладка с gallery, галерея снимков — своя ───────── */
.fds-pr-crumbs{display:flex;align-items:center;justify-content:space-between;gap:20px;
  flex-wrap:wrap;padding:0 44px;font-size:13px}
/* таблетка возврата — та же, что на gallery */
.fds-crumb-back{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--fds-line);
  border-radius:999px;padding:9px 18px;color:var(--fds-ink);white-space:nowrap;
  transition:border-color .15s,background .15s,color .15s}
.fds-crumb-back:hover{border-color:var(--fds-ink);background:var(--fds-ink);color:#fff}
.fds-pr-crumbs .fds-crumb-path{flex:1;min-width:0}
.fds-crumb-nav a{margin-left:16px;color:var(--fds-muted)}
.fds-crumb-now{color:var(--fds-muted)}

.fds-product{display:grid;grid-template-columns:minmax(0,1fr) 475px;gap:0 56px;align-items:start;
  padding:40px 44px 0;margin:0}   /* поля 44px по бокам — как на gallery */
.fds-pr-info{position:relative}
.fds-pr-sticky{position:sticky;top:20px}
.fds-pr-title{font-family:var(--fds-font);font-size:26px;font-weight:500;line-height:1.3;
  letter-spacing:-.01em;margin:0 0 20px}
/* Цена на странице товара — ровно как на gallery: Onest, 24, обычное начертание.
   Unbounded остаётся только в карточках каталога, где цена мелкая и служебная. */
.fds-pr-price{font-family:var(--fds-font);font-size:24px;font-weight:400;color:var(--fds-ink);margin:0 0 14px}
.fds-pr-price del{color:var(--fds-hint);margin-right:10px;font-size:19px}
.fds-pr-price ins{text-decoration:none}
/* наличие — той же таблеткой, что на gallery */
.fds-pr-status{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:#1a7f37;border:1px solid #cfe6d5;border-radius:999px;padding:5px 14px;margin:0 0 26px}
.fds-pr-status.is-out{color:var(--fds-muted);border-color:var(--fds-line)}

/* Кнопка покупки — правило перенесено с gallery целиком, вместе с перечнем
   селекторов: сиреневый цвет приходит из старой темы магазина с высоким весом,
   и без этой цепочки он перебивает нашу заливку. */
.fds-pr-buy{margin:26px 0 18px}
/* Поле количества со стрелками. Родные стрелки браузера мелкие и в разных
   браузерах разные — прячем их и ставим свои кнопки по краям. */
.fds-pr-buy .quantity{display:inline-flex;align-items:stretch;margin-right:10px;vertical-align:middle;
  border:1px solid var(--fds-line)}
.fds-pr-buy .quantity input{width:52px;padding:13px 4px;border:0;
  font-family:var(--fds-font);font-size:15px;text-align:center;-moz-appearance:textfield}
.fds-pr-buy .quantity input::-webkit-outer-spin-button,
.fds-pr-buy .quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fds-pr-buy .fds-qty-b{border:0;background:none;color:var(--fds-muted);font-family:var(--fds-font);
  font-size:16px;line-height:1;width:34px;cursor:pointer;transition:color .15s}
.fds-pr-buy .fds-qty-b:hover{color:var(--fds-ink)}
/* Стрелки попадают под общее правило кнопок покупки с полями 42px и от этого
   разъезжаются в широкие плашки. Поля вдвое уже — знак остаётся читаемым, а
   поле количества не перевешивает саму кнопку покупки. */
body .fds-pr-buy button.fds-qty-b{padding:15px 21px!important;width:auto}
.fds-pr-buy .quantity.is-locked input{width:64px;color:var(--fds-muted)}
.fds-pr-buy button,.fds-pr-buy .button,.fds-pr-buy button[type=submit],
body .fds-pr-buy button.button.alt,
body .woocommerce .fds-pr-buy button.button.alt,
body .woocommerce .fds-pr-buy .button{background:var(--fds-accent)!important;color:#fff!important;
  border:0!important;border-radius:0!important;font-family:var(--fds-font)!important;font-size:13px!important;
  font-weight:600!important;padding:15px 42px!important;cursor:pointer;transition:opacity .15s;
  vertical-align:middle;text-transform:uppercase!important;letter-spacing:.08em!important}
.fds-pr-buy button:hover,.fds-pr-buy .button:hover,
body .fds-pr-buy button.button.alt:hover{opacity:.85;background:var(--fds-accent)!important}
.fds-pr-buy .stock.out-of-stock{font-size:14px;color:var(--fds-muted)}
.fds-pr-buy form.cart{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0}

/* строки «Раздел / Издательство / Артикул» — метрика с gallery */
.fds-pr-row{display:flex;gap:16px;padding:12px 0;border-top:1px solid var(--fds-line);
  font-size:14px;line-height:1.5}
.fds-pr-row:last-of-type{border-bottom:1px solid var(--fds-line)}
.fds-pr-k{flex:0 0 120px;color:var(--fds-muted)}
.fds-pr-v{flex:1;min-width:0}
.fds-pr-v a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fds-pr-note{margin:18px 0 0;font-size:13px;line-height:1.6;color:var(--fds-muted)}
.fds-pr-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fds-pr-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 0;
  padding-top:16px;border-top:1px solid var(--fds-line)}
.fds-pr-share-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fds-hint)}
.fds-pr-share .a2a_kit{display:flex!important;gap:6px;align-items:center}
.fds-pr-share .a2a_kit a{padding:0!important;line-height:0}
.fds-pr-share .a2a_svg{border-radius:4px!important}
.fds-pr-plugins{margin:0 0 18px}
.fds-pr-plugins:empty{display:none}
.fds-pr-plugins .robokassa-widget-wrapper{margin:0 0 12px;max-width:100%}
.fds-pr-plugins iframe{max-width:100%;border:0}
.fds-pr-plugins .stock,.fds-pr-plugins p.stock,.fds-pr-buy p.stock{display:none}  /* наличие — одной своей строкой */

/* ── галерея товара ───────────────────────────────────────────────────────
   Слайдер WooCommerce требует, чтобы кадр занимал всю ширину окна просмотра,
   поэтому не сжимаем картинку, а ограничиваем само поле — так обложки не
   растягиваются сверх своего размера и остаются чёткими. Ни серых подложек,
   ни рамок, ни лупы: клик открывает лайтбокс со стрелками. */
.fds-pr-media{max-width:620px;margin:0 auto}
.fds-pr-media .woocommerce-product-gallery,
.fds-pr-media .woocommerce-product-gallery__wrapper,
.fds-pr-media .flex-viewport,
.fds-pr-media .woocommerce-product-gallery__image{background:none;border:0;margin:0}
.fds-pr-media .woocommerce-product-gallery__image{display:block}
.fds-pr-media .woocommerce-product-gallery__image a{display:block}
.fds-pr-media .woocommerce-product-gallery__image img{display:block;width:100%;height:auto;
  background:none;border:0;box-shadow:none}
.fds-pr-media .woocommerce-product-gallery__trigger{display:none}   /* значок лупы не нужен */

.fds-pr-media .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:10px;list-style:none;
  margin:16px 0 0;padding:0}
.fds-pr-media .flex-control-thumbs li{width:calc((100% - 40px) / 5);margin:0}
.fds-pr-media .flex-control-thumbs img{width:100%;height:auto;display:block;border:0;background:none;
  cursor:pointer;opacity:.55;transition:opacity .15s}
.fds-pr-media .flex-control-thumbs img:hover,
.fds-pr-media .flex-control-thumbs img.flex-active{opacity:1}

.fds-pr-desc{padding:64px 44px 0;margin:0 0 10px}
.fds-pr-desc-inner{max-width:680px;font-size:17px;line-height:1.75}
.fds-pr-desc-inner p{margin:0 0 20px}
.fds-pr-desc-inner a{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* заголовок раздела — ровно тот же, что на gallery */
.fds-h2{font-family:var(--fds-font);font-size:38px;font-weight:500;line-height:1.24;
  letter-spacing:-.01em;color:var(--fds-ink);margin:0 0 40px}
.fds-pr-more{padding:80px 44px 0}
.fds-pr-more-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 50px}
.fds-pr-more-grid .fdp-wrap{margin-bottom:0}

@media(max-width:1000px){
  .fds-product{grid-template-columns:1fr;gap:28px;padding:24px 20px 0}
  .fds-pr-desc,.fds-pr-details,.fds-pr-more,.fds-pr-crumbs{padding-left:20px;padding-right:20px}
  .fds-pr-sticky{position:static}
  .fds-pr-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .fds-pr-title{font-size:22px}
  .fds-h2{font-size:26px;margin-bottom:26px}
  .fds-pr-desc,.fds-pr-more{padding:48px 20px 0}
}

/* ── главная ──────────────────────────────────────────────────────────────
   Подача перенесена с главной gallery: бегущая строка, ряды по 48px воздуха,
   заголовок ряда со ссылкой на раздел справа. Поля по бокам оставлены общими
   с каталогом (20px), чтобы край сайта был один на всех страницах. */
.fds-marquee{overflow:hidden;white-space:nowrap;margin:40px -20px 0}
.fds-marquee-track{display:inline-block;animation:fdsmarq 28s linear infinite}
.fds-marquee-track span{font-family:var(--fds-font);font-size:60px;font-weight:600;
  letter-spacing:.01em;color:#e0e0e0;padding-right:40px}
@keyframes fdsmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.fds-marquee-track{animation:none}}

.fds-products{margin:48px 0}
.fds-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;
  flex-wrap:wrap;margin:0 0 40px}
.fds-sec-head .fds-h2{margin:0}
.fds-sec-link{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--fds-muted);
  white-space:nowrap}
.fds-sec-link:hover{color:var(--fds-accent)}

/* Раскладка рядами, а не колонками: на витрине важен порядок (новинки идут
   сверху вниз слева направо), а газетные колонки его перемешивают. Воздух
   между карточками — галерейный. */
/* Зазоры сняты с нынешней главной магазина: у товара там поля по 40px с каждой
   стороны (то есть 80px между обложками) и 80px до следующего ряда. Книгам это
   нужнее, чем снимкам: обложка мелкая, ей нужен воздух, чтобы читаться. */
/* Поля между товарами взяты с нынешней главной store (Sekko: 25+25 по бокам
   и 50 снизу) — там сетка плотнее, снимки читаются крупнее. Это основа для
   любого числа колонок; ряду можно задать своё поле классами fds-gap-*. */
.fds-products__grid{display:grid;column-gap:50px}
.fds-products__grid--1{grid-template-columns:minmax(0,1fr)}
.fds-products__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fds-products__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fds-products__grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fds-products__grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
/* Мозаичная раскладка: обложки разной высоты подтягиваются друг под друга, а не
   стоят ровными полосами. Сделано на сетке с мелким шагом строки — каждой
   карточке скрипт считает, сколько шагов она занимает. Порядок при этом
   остаётся слева направо (в раскладке колонками он читался бы сверху вниз, и
   новинки перестали бы идти по свежести). */
/* align-items:start обязателен: иначе карточка растягивается на всю отведённую
   ей высоту, и следующий же пересчёт получает раздутую высоту — размер уходит
   в разнос. */
/* До того как посчитана мозаика, сетка обычная — ровными рядами. Раньше
   мелкий шаг строки (8px) действовал сразу, и пока картинки не загрузились,
   все карточки ложились друг на друга: посетитель видел кашу. Теперь шаг
   включается только вместе с классом is-masonry, то есть уже с готовыми
   размерами. */
.fds-products__grid{align-items:start}
.fds-products__grid.is-masonry{grid-auto-rows:8px;row-gap:0}
.fds-products__grid .fdp-wrap{margin-bottom:50px}
.fds-products__grid.is-masonry .fdp-wrap{margin-bottom:0}

.fds-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fds-about-grid img{width:100%;height:auto;display:block}

@media(max-width:1200px){.fds-products__grid--5{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.fds-products__grid--4,.fds-products__grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1300px){.fds-products__grid{column-gap:36px}
  .fds-products__grid .fdp-wrap{margin-bottom:36px}}
@media(max-width:900px){
  .fds-products__grid--2,.fds-products__grid--3,.fds-products__grid--4,
  .fds-products__grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fds-products__grid{column-gap:24px}
  .fds-products__grid .fdp-wrap{margin-bottom:36px}
  .fds-products__grid .fdp-wrap{margin-bottom:22px}
  .fds-marquee{margin:28px -20px 0}
  .fds-marquee-track span{font-size:36px}
  .fds-about-grid{grid-template-columns:1fr}
}

/* соцсети в подвале */
.fds-social-row{display:flex;gap:10px;margin-top:4px}
.fds-social-i{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border:1px solid var(--fds-line);color:var(--fds-muted);border-radius:999px}
.fds-social-i:hover{color:var(--fds-ink);border-color:var(--fds-ink)}
.fds-social-i svg{width:17px;height:17px}

/* «Детали» (вес и габариты) на страницу не выводятся: это данные МойСклада для
   расчёта доставки, покупателю они ничего не говорят. Разметка блока осталась
   в шаблоне под условием — если понадобится, включается одной строкой. */

/* ── телефон: плашки «в корзину» в каталоге не показываем ──────────────────
   Наведения на тач-экране нет, поэтому кнопка висела бы поверх каждой
   обложки и закрывала её. Тап по карточке открывает товар.
   Правило стоит в самом конце файла намеренно: выше есть правила с
   display:inline-block!important и такой же силой селектора, и только более
   позднее положение в файле даёт этому скрытию победить. */
@media(hover:none){
  body .woocommerce ul.products .fdp-wrap a.fdp-addcart-btn,
  body .woocommerce ul.products .fdp-addcart a.button,
  body .fds-products__grid .fdp-wrap a.fdp-addcart-btn,
  body .fdp-wrap a.fdp-addcart-btn,
  body .fdp-addcart{display:none!important}
}

/* ── вид витрины раздела ───────────────────────────────────────────────────
   Два способа показа, настраиваются у раздела (Товары → Категории):
   • «плотный» — снимок крупный, поля узкие: так показываем фотографии;
   • «просторный» — как на главной: обложка мельче, воздуха больше, иначе у
     книг не читаются ни название, ни цена.
   Число колонок задаётся там же и приходит классом fds-cols-N. */
.fds-catalog.fds-cols-3 ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
.fds-catalog.fds-cols-4 ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}
.fds-catalog.fds-cols-5 ul.products{grid-template-columns:repeat(5,minmax(0,1fr))}
.fds-catalog.fds-cols-6 ul.products{grid-template-columns:repeat(6,minmax(0,1fr))}

/* Поля в каталоге те же, что на главной, — 50 пикселей: одна мера на весь
   сайт, независимо от вида витрины и числа колонок. */
.fds-catalog.fds-view--goods ul.products{column-gap:50px}
.fds-catalog.fds-view--goods .fdp-wrap{margin-bottom:50px}
.fds-catalog.fds-view--photos ul.products{column-gap:50px}
.fds-catalog.fds-view--photos .fdp-wrap{margin-bottom:50px}

@media(max-width:1300px){
  .fds-catalog ul.products{column-gap:36px}
  .fds-catalog .fdp-wrap{margin-bottom:36px}
  .fds-catalog.fds-cols-5 ul.products,.fds-catalog.fds-cols-6 ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1000px){
  .fds-catalog.fds-cols-4 ul.products,.fds-catalog.fds-cols-5 ul.products,
  .fds-catalog.fds-cols-6 ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .fds-catalog.fds-cols-3 ul.products,.fds-catalog.fds-cols-4 ul.products,
  .fds-catalog.fds-cols-5 ul.products,.fds-catalog.fds-cols-6 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fds-catalog ul.products{column-gap:24px}
  .fds-catalog .fdp-wrap{margin-bottom:36px}
}

/* «Похожие» — та же подача, что на главной: пять товаров помельче и с воздухом */
@media(max-width:1300px){.fds-pr-more-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 36px}}
@media(max-width:1000px){.fds-pr-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ── строка наличия: остаток слева, сердечко справа ────────────────────────
   Своя строка «Добавить в список желаний» от плагина спрятана, а её высота
   оставлена пустой: этот воздух отделяет блок покупки от строк с разделом,
   издательством и артикулом. */
.fds-pr-statusrow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 26px}
.fds-pr-statusrow .fds-pr-status{margin:0}
.fds-pr-wish{line-height:0}
.fds-pr-wish .yith-wcwl-add-to-wishlist{margin:0}
.fds-pr-wish a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  color:var(--fds-muted);font-size:0;transition:color .15s}
.fds-pr-wish a:hover{color:var(--fds-accent)}
.fds-pr-wish a i,.fds-pr-wish a svg,.fds-pr-wish a img{font-size:20px;width:22px!important;height:22px!important;display:block}
.fds-pr-wish .yith-wcwl-add-button span,.fds-pr-wish .feedback,
.fds-pr-wish .yith-wcwl-wishlistaddedbrowse span,
.fds-pr-wish .yith-wcwl-wishlistexistsbrowse span{display:none!important}
/* строка плагина под кнопкой — скрыта, но её место сохраняем как воздух */
.fds-pr-plugins .yith-wcwl-add-to-wishlist,
.fds-pr-plugins .yith-add-to-wishlist-button-block{display:none!important}
.fds-pr-plugins{margin-bottom:44px}

/* ── обычная страница ──────────────────────────────────────────────────────
   Текст — читаемой колонкой, ряды товаров из блоков — во всю ширину, с тем же
   воздухом, что на главной. */
.fds-page{padding:0 0 20px}
.fds-page-h1{margin:8px 0 40px}
.fds-page-body{font-size:17px;line-height:1.75}
.fds-page-body > p,.fds-page-body > ul,.fds-page-body > ol,
.fds-page-body > h2:not(.fds-h2),.fds-page-body > h3{max-width:680px}
.fds-page-body > p{margin:0 0 20px}
.fds-page-body a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fds-page-body .fds-products{margin:64px 0}
.fds-imgrow{display:grid;gap:20px;margin:32px 0}
.fds-imgrow--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fds-imgrow--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fds-imgrow--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fds-imgrow img{width:100%;height:auto;display:block}
@media(max-width:900px){
  .fds-page-body{font-size:16px}
  .fds-imgrow{gap:12px}
  .fds-imgrow--3,.fds-imgrow--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ══ Сервисные страницы Woo — перенесено с gallery ═════════════════════════
   Корзина, оформление заказа, личный кабинет и избранное рисуются самим
   WooCommerce; своей вёрстки им не пишем, приводим к нашей подаче стилями —
   ровно тем же набором правил, что работает на gallery. Значения цветов и
   шрифтов подставлены магазинные. */
/* ─── Сервисные страницы Woo: корзина, оформление, кабинет, избранное ───────
   Шрифт задаём явно: у .fds-page-h1/.fds-page-body его не было, и h1/таблицы
   перехватывали гарнитуру из CSS плагинов (отсюда «чужая» подача). */
.fds-page-h1,.fds-page-body,.fds-page-body h1,.fds-page-body h2,.fds-page-body h3,
.fds-page-body p,.fds-page-body li,.fds-page-body td,.fds-page-body th,
.fds-page-body label,.fds-page-body input,.fds-page-body select,.fds-page-body textarea,
.fds-page-body button,.fds-page-body a{font-family:var(--fds-font)!important;}
.fds-page-body input,.fds-page-body select,.fds-page-body textarea{font-size:15px;}

/* Ширина сервисных страниц — как у контентных, без огромного левого поля */
body.woocommerce-cart .fds-page,body.woocommerce-checkout .fds-page,
body.woocommerce-account .fds-page,body.woocommerce-page .fds-page{
  padding:64px 44px 110px;max-width:1240px;margin:0 auto;}
@media(max-width:900px){body.woocommerce-page .fds-page{padding:40px 20px 72px;}}

/* Уведомления: тонкая рамка вместо цветной полосы и серой заливки */
.woocommerce-message,.woocommerce-info,.woocommerce-error,
.woocommerce-notice,.wc-block-components-notice-banner{
  background:#fff!important;border:1px solid var(--fds-line)!important;border-top-width:1px!important;
  border-radius:0!important;color:var(--fds-ink)!important;
  font-family:var(--fds-font)!important;font-size:15px!important;line-height:1.6;
  padding:18px 22px!important;margin:0 0 28px!important;list-style:none;}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important;}
.woocommerce-error{border-color:#d33!important;}

/* Кнопки: основное действие — фирменный синий, второстепенное — контурное */
body .woocommerce a.button,body .woocommerce button.button,
body .woocommerce input.button,body .woocommerce a.button.alt,
body .woocommerce button.button.alt,body .woocommerce input.button.alt{
  background:#fff!important;color:var(--fds-ink)!important;border:1px solid var(--fds-ink)!important;
  border-radius:0!important;font-family:var(--fds-font)!important;font-size:14px!important;
  font-weight:500!important;letter-spacing:.02em!important;text-transform:none!important;
  padding:13px 32px!important;transition:opacity .15s,background .15s,color .15s;}
body .woocommerce a.button:hover,body .woocommerce button.button:hover,
body .woocommerce input.button:hover{background:var(--fds-ink)!important;color:#fff!important;}
body .woocommerce a.button.alt,body .woocommerce button.button.alt,
body .woocommerce input.button.alt,body .woocommerce .checkout-button,
body .woocommerce #place_order{
  background:var(--fds-accent)!important;color:#fff!important;border-color:var(--fds-accent)!important;
  font-size:13px!important;font-weight:600!important;letter-spacing:.08em!important;
  text-transform:uppercase!important;padding:15px 42px!important;}
body .woocommerce a.button.alt:hover,body .woocommerce button.button.alt:hover,
body .woocommerce .checkout-button:hover,body .woocommerce #place_order:hover{opacity:.82;}

/* Таблицы корзины и заказа — линиями, без заливки и скруглений */
body .woocommerce table.shop_table,body .woocommerce table.shop_table td,
body .woocommerce table.shop_table th{
  border:0!important;border-radius:0!important;background:transparent!important;
  font-family:var(--fds-font)!important;}
body .woocommerce table.shop_table{border-collapse:collapse!important;width:100%;margin-bottom:32px;}
body .woocommerce table.shop_table th{
  font-size:11px!important;font-weight:500!important;letter-spacing:.1em;text-transform:uppercase;
  color:var(--fds-muted)!important;text-align:left;padding:0 12px 12px 0!important;
  border-bottom:1px solid var(--fds-ink)!important;}
body .woocommerce table.shop_table td{
  font-size:16px!important;padding:20px 12px 20px 0!important;
  border-bottom:1px solid var(--fds-line)!important;vertical-align:middle;}
body .woocommerce table.shop_table td.product-thumbnail img{width:88px;height:auto;display:block;}
body .woocommerce table.shop_table td.product-name a{color:var(--fds-ink)!important;text-decoration:none;}
body .woocommerce table.shop_table td.product-name a:hover{border-bottom:1px solid var(--fds-ink);}
body .woocommerce a.remove{color:var(--fds-muted)!important;font-weight:400!important;font-size:20px!important;}
body .woocommerce a.remove:hover{background:transparent!important;color:var(--fds-ink)!important;}
body .woocommerce .quantity input.qty{
  width:70px;padding:11px 8px;border:1px solid var(--fds-line)!important;border-radius:0!important;
  font-family:var(--fds-font)!important;font-size:15px;text-align:center;}

/* Итоги корзины и заказа */
body .woocommerce .cart_totals,body .woocommerce .cart-collaterals .cart_totals{width:100%;}
body .woocommerce .cart_totals h2,body .woocommerce-checkout h3,
body .woocommerce-account h2,body .woocommerce-account h3{
  font-family:var(--fds-font)!important;font-size:22px!important;font-weight:500!important;
  letter-spacing:-.01em;margin:0 0 20px!important;text-transform:none!important;}
body .woocommerce .cart_totals .order-total .amount{font-size:22px;font-weight:500;}
body .woocommerce .coupon input[type=text]{
  width:220px!important;padding:12px 14px;border:1px solid var(--fds-line)!important;border-radius:0!important;
  font-family:var(--fds-font)!important;font-size:15px;margin-right:10px;}
body .woocommerce .cart-collaterals h2{font-size:22px!important;font-weight:500!important;}

/* Поля форм: оформление заказа, вход, регистрация */
body .woocommerce form .form-row label,body .woocommerce-account label{
  font-size:13px!important;color:var(--fds-muted)!important;margin-bottom:6px;display:block;}
body .woocommerce form .form-row input.input-text,
body .woocommerce form .form-row textarea,
body .woocommerce form .form-row select,
body .woocommerce .select2-container .select2-selection--single{
  border:1px solid var(--fds-line)!important;border-radius:0!important;background:#fff!important;
  padding:12px 14px!important;height:auto!important;font-family:var(--fds-font)!important;
  font-size:15px!important;color:var(--fds-ink)!important;box-shadow:none!important;}
body .woocommerce form .form-row input.input-text:focus,
body .woocommerce form .form-row textarea:focus{border-color:var(--fds-ink)!important;outline:none;}
body .woocommerce form.login,body .woocommerce form.register,
body .woocommerce-checkout #order_review,body .woocommerce .woocommerce-checkout-review-order{
  border:1px solid var(--fds-line)!important;border-radius:0!important;padding:28px!important;}

/* Служебные плашки кассы (вход, купон, подарочная карта) — тоньше и спокойнее */
body .woocommerce-form-login-toggle .woocommerce-info,
body .woocommerce-form-coupon-toggle .woocommerce-info{padding:14px 18px!important;margin:0 0 12px!important;}
body .woocommerce form.checkout_coupon,
body .woocommerce form.login{border:1px solid var(--fds-line)!important;border-radius:0!important;padding:22px 24px!important;}

/* Классическая касса: блок оплаты по умолчанию залит серо-розовым #ebe9eb —
   возвращаем белый фон и тонкую рамку, как в остальном оформлении. */
body .woocommerce-checkout #payment,
body .woocommerce-checkout #payment ul.payment_methods,
body .woocommerce-checkout #payment div.form-row,
body .woocommerce-checkout #payment .payment_box{
  background:#fff!important;border-radius:0!important;}
body .woocommerce-checkout #payment{border:1px solid var(--fds-line)!important;padding:22px 24px!important;}
body .woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--fds-line)!important;padding:0 0 18px!important;margin:0 0 18px!important;}
body .woocommerce-checkout #payment ul.payment_methods li{list-style:none;margin:0 0 12px;}
body .woocommerce-checkout #payment .payment_box{
  border:0!important;padding:10px 0 0 26px!important;margin:8px 0 0!important;
  font-size:14px;color:var(--fds-muted);}
body .woocommerce-checkout #payment .payment_box::before{display:none!important;}
body .woocommerce-checkout #payment div.form-row{padding:0!important;}
body .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin-bottom:16px;}
/* таблица «Ваш заказ» — без заливки, на линиях */
body .woocommerce-checkout-review-order-table tfoot th,
body .woocommerce-checkout-review-order-table tfoot td{background:transparent!important;}

/* Личный кабинет: навигация слева — списком, без кнопок */
body .woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;}
body .woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--fds-line);}
body .woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:13px 0;font-size:15px;color:var(--fds-muted)!important;text-decoration:none;}
body .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--fds-ink)!important;}

/* Избранное (YITH) — тем же набором правил, что корзина */
body .woocommerce .wishlist_table td,body .woocommerce .wishlist_table th{
  font-family:var(--fds-font)!important;border-bottom:1px solid var(--fds-line)!important;}
body .yith-wcwl-share{display:none;}


/* ── страницы каталога: только цифры ───────────────────────────────────────
   Рамки вокруг номеров WooCommerce рисует сам; они спорят с остальной
   вёрсткой, где рамок нет вообще. Оставляем цифры, текущую отмечаем цветом и
   короткой чертой под ней — этого достаточно, чтобы понять, где ты. */
/* Селектор без «.woocommerce» в предках: класс woocommerce висит на самом
   body, и правило вида «body .woocommerce …» его не ловит — из-за этого рамки
   вокруг номеров оставались. */
nav.woocommerce-pagination{margin:26px 0 0}
nav.woocommerce-pagination ul,
nav.woocommerce-pagination ul li{border:0!important;margin:0;padding:0;
  background:none!important;overflow:visible;list-style:none}
nav.woocommerce-pagination ul{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
nav.woocommerce-pagination ul li a.page-numbers,
nav.woocommerce-pagination ul li span.page-numbers{
  border:0!important;background:none!important;border-radius:0!important;
  font-family:var(--fds-font);font-size:14px;line-height:1;color:var(--fds-muted)!important;
  padding:9px 11px;min-width:0!important;display:inline-block;position:relative;
  text-decoration:none;transition:color .15s}
nav.woocommerce-pagination ul li a.page-numbers:hover{color:var(--fds-ink)!important}
nav.woocommerce-pagination ul li span.current,
nav.woocommerce-pagination ul li a.page-numbers.current{color:var(--fds-ink)!important;font-weight:500}
nav.woocommerce-pagination ul li span.current::after,
nav.woocommerce-pagination ul li a.page-numbers.current::after{
  content:"";position:absolute;left:11px;right:11px;bottom:2px;height:1px;background:var(--fds-accent)}
nav.woocommerce-pagination ul li a.next,nav.woocommerce-pagination ul li a.prev{letter-spacing:0}
.fdg-auth-tabs{display:flex;gap:0;margin:0 0 28px;border-bottom:1px solid #e2e2e2;}
.fdg-auth-tab{appearance:none;background:none !important;border:0 !important;border-bottom:2px solid transparent !important;
  padding:0 0 14px !important;margin:0 32px 0 0;cursor:pointer;color:var(--fds-muted) !important;
  font-family:var(--onest);font-size:15px;font-weight:400 !important;letter-spacing:.02em;text-transform:none !important;}
.fdg-auth-tab:hover{color:var(--fds-ink) !important;}
.fdg-auth-tab.is-on{color:var(--fds-ink) !important;border-bottom-color:var(--fds-ink) !important;}
.fdg-auth-pane{display:none;}
.fdg-auth-pane.is-on{display:block;}
.fdg-auth .woocommerce-form{border:0;padding:0;margin:0;}
.fdg-auth label{display:block;margin:0 0 6px;font-size:13px;color:var(--fds-muted);}
.fdg-auth input[type=text],.fdg-auth input[type=email],.fdg-auth input[type=password]{width:100%;}
.fdg-auth .woocommerce-LostPassword{margin-top:14px;font-size:14px;}
@media(max-width:560px){ .fdg-auth{max-width:100%;} }

/* ── подвал: заголовки и раскладка как на gallery ──────────────────────────
   Заголовок колонки — светло-серый капс 12px, ссылки 14px с широким шагом
   строки. На телефоне четыре колонки не читаются: раскладываем в две, а
   первую (адрес) растягиваем на всю ширину. */
.fds-foot .widget-title,.fds-foot .qodef-widget-title{
  font-size:12px!important;letter-spacing:.04em;text-transform:uppercase;
  color:var(--fds-lilac)!important;font-weight:400!important;margin:0 0 14px}
.fds-foot .widget a{font-size:14px;line-height:1.9;color:var(--fds-ink)}
.fds-foot .widget a:hover{color:var(--fds-muted)}
.fds-foot .widget li{padding:0}
.fds-foot .widget p{font-size:13px;line-height:1.7;color:var(--fds-muted)}
.fds-foot{padding:80px 0 24px}

@media(max-width:900px){
  .fds-foot{padding:60px 0 20px}
  .fds-foot-top{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 24px}
  .fds-foot-top > *:first-child{grid-column:1/-1}
  .fds-foot-bottom{grid-template-columns:1fr;gap:18px;margin-top:24px}
}
@media(max-width:520px){
  .fds-foot-top{grid-template-columns:1fr!important}
}

/* ── шапка на телефоне: логотип, значки и гамбургер одной строкой ──────────
   Раньше меню уезжало в горизонтальную прокрутку и шапка ломалась на два
   этажа. Теперь как на gallery: одна строка, меню раскрывается панелью.
   Полоски гамбургера — фирменным синим. */
.fds-burger{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:34px;height:34px;padding:0;border:0;background:none;cursor:pointer;flex-shrink:0}
.fds-burger span{display:block;width:22px;height:2px;background:var(--fds-accent);
  transition:transform .25s,opacity .2s}
body.fds-nav-open .fds-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.fds-nav-open .fds-burger span:nth-child(2){opacity:0}
body.fds-nav-open .fds-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:860px){
  /* поля шапки как на gallery: 14px по бокам, логотип не липнет к краю */
  .fds-head-in{height:56px;flex-wrap:nowrap;gap:0;padding:0 14px}
  .fds-logo{flex:1 1 auto;min-width:0;margin-right:16px}
  /* Логотип не тянем: общее правило img{max-width:100%} вместе с заданной
     высотой сплющивало надпись по горизонтали. Пропорции держит object-fit,
     а если места мало — картинка уменьшается целиком, а не сжимается. */
  .fds-logo img{width:100%;max-width:200px;height:auto;object-fit:fill}
  .fds-head-right{width:auto;flex:0 0 auto;gap:0}
  .fds-icons{margin-left:0;gap:2px}
  .fds-icon{width:32px;height:32px}
  .fds-icon svg{width:19px;height:19px}
  .fds-burger{display:flex;margin-left:6px}
  .fds-nav{position:fixed;left:0;right:0;top:56px;z-index:89;background:#fff;
    border-bottom:1px solid var(--fds-line);padding:4px 20px 18px;
    transform:translateY(-12px);opacity:0;pointer-events:none;
    transition:opacity .22s ease,transform .22s ease;
    max-height:calc(100vh - 56px);overflow-y:auto}
  body.fds-nav-open .fds-nav{transform:translateY(0);opacity:1;pointer-events:auto}
  .fds-menu{flex-direction:column;align-items:stretch;overflow:visible;font-size:15px}
  .fds-menu>li>a{padding:14px 0;border-bottom:1px solid var(--fds-line)}
  .fds-menu>li:last-child>a{border-bottom:0}
  .fds-menu .sub-menu{position:static;display:block;border:0;box-shadow:none;
    min-width:0;padding:0 0 6px 14px}
  /* длинные названия подразделов переносим: в узкой панели они уезжали за край */
  .fds-menu .sub-menu a{padding:8px 0;font-size:14px;color:var(--fds-muted);white-space:normal}
  body.admin-bar .fds-nav{top:102px}
}

/* ── «не найдено» ──────────────────────────────────────────────────────────
   Как было на старой теме — просто: число, строка, путь дальше. */
.fds-404{padding:90px 0 120px;max-width:640px}
.fds-404-num{font-family:var(--fds-price);font-size:74px;font-weight:300;line-height:1;
  color:var(--fds-hint);margin:0 0 18px}
.fds-404-title{font-family:var(--fds-font);font-size:26px;font-weight:500;letter-spacing:-.01em;margin:0 0 10px}
.fds-404-text{font-size:16px;color:var(--fds-muted);margin:0 0 28px}
.fds-404-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:0 0 34px}
.fds-btn-blue{display:inline-block;background:var(--fds-accent);color:#fff;font-family:var(--fds-font);
  font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:14px 40px}
.fds-btn-blue:hover{opacity:.85;color:#fff}
.fds-404-alt{font-size:14px;color:var(--fds-muted)}
.fds-404-alt:hover{color:var(--fds-ink)}
@media(max-width:900px){.fds-404{padding:50px 0 70px}.fds-404-num{font-size:54px}}

/* ── поиск ────────────────────────────────────────────────────────────────
   Сначала товары нашей сеткой, под ними — страницы отдельным списком, чтобы
   «Доставка» или «О магазине» не терялись среди обложек. */
.fds-search{padding:8px 0 40px}
.fds-search .fds-searchform{margin:0 0 30px}
.fds-search-pages{margin:44px 0 0;max-width:760px}
.fds-search-h2{font-family:var(--fds-font);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--fds-hint);font-weight:400;margin:0 0 12px}
.fds-search-item{display:block;padding:16px 0;border-top:1px solid var(--fds-line)}
.fds-search-item:last-child{border-bottom:1px solid var(--fds-line)}
.fds-search-t{display:block;font-size:16px;color:var(--fds-ink)}
.fds-search-x{display:block;font-size:13.5px;color:var(--fds-muted);margin-top:4px}
.fds-search-item:hover .fds-search-t{color:var(--fds-accent)}

/* дата записи */
.fds-post-date{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--fds-hint);margin:0 0 10px}

/* ── подвал: копирайт по низу колонки ─────────────────────────────────────
   Первая колонка короче средней, и копирайт висел сразу под меню, посередине
   пустоты. Прижимаем его к низу — он выравнивается с нижним краем самой
   длинной колонки и читается как подпись всего подвала. */
.fds-foot-top{align-items:stretch}
.fds-foot-col{display:flex;flex-direction:column}
.fds-foot-col > .widget:last-child{margin-bottom:0}
.fds-foot-copy{margin-top:auto;padding-top:28px}
.fds-foot-copy .widget{margin:0}
@media(max-width:900px){
  /* в одну колонку прижимать некуда — возвращаем обычный поток */
  .fds-foot-copy{margin-top:0;padding-top:0}
}

/* поиск на главной — отдельной строкой под бегущей строкой */
.fds-findrow{margin:34px 0 0}
.fds-findrow .fds-searchform{margin:0;max-width:620px}
@media(max-width:820px){
  .fds-fbar-row{flex-direction:column;align-items:stretch}
  .fds-fbar-row .fds-searchform{flex:1 1 auto;max-width:none}
  .fds-findrow{margin:24px 0 0}
}

/* ── липкая шапка ─────────────────────────────────────────────────────────
   sticky, а не fixed: элемент остаётся в потоке, и под него не нужно
   подкладывать отступ у body — меньше шансов что-нибудь сдвинуть. */
body.fds-sticky-head .fds-head{position:sticky;top:0;z-index:100}
body.fds-sticky-head.admin-bar .fds-head{top:32px}
@media(max-width:782px){body.fds-sticky-head.admin-bar .fds-head{top:46px}}
/* линии под закреплённой шапкой нет намеренно: она резала страницу пополам */

/* Ряды ниже экрана браузер может не размечать, пока до них не дошли: на главной
   их десять и почти двести карточек. Высоту подсказываем заранее, чтобы полоса
   прокрутки не прыгала. */
.fds-page-body .fds-products,.fds-home .fds-products{content-visibility:auto;contain-intrinsic-size:auto 900px}

/* ── касса: значки способов оплаты ─────────────────────────────────────────
   Модульбанк отдаёт логотип крупной картинкой, и на кассе он перевешивал сам
   список. Приводим все значки к одному росту — примерно 5 мм. */
body .woocommerce-checkout #payment ul.payment_methods li img,
body .woocommerce-checkout #payment ul.payment_methods li label img{
  width:auto!important;max-width:none!important;height:19px!important;
  max-height:19px!important;margin:0 10px 0 0!important;vertical-align:middle;
  display:inline-block;float:none!important;border:0!important;box-shadow:none!important}
body .woocommerce-checkout #payment ul.payment_methods li label{
  display:inline-flex;align-items:center;gap:0;line-height:1.4}
/* рисованные значки способов оплаты — тем же ростом, что картинки банков */
.fds-pay-ico{width:19px;height:19px;display:inline-block;vertical-align:middle;
  margin:0 10px 0 0;color:var(--fds-muted);flex-shrink:0}
.fds-pay-ico--rk{border-radius:999px}

/* подсказка про профиль под строкой о подарочном сертификате */
.fds-gc-hint{margin:-18px 0 26px;font-size:13.5px;line-height:1.6;color:var(--fds-muted)}

/* ── сертификат: выбор суммы ───────────────────────────────────────────────
   Кнопки сумм попадали под общее правило кнопок покупки и все были синими —
   выбранную было не отличить. Делаем их контурными, а выбранную заливаем. */
body button.ywgc-predefined-amount-button,
body .fds-pr-buy button.ywgc-predefined-amount-button{
  background:#fff!important;color:var(--fds-ink)!important;
  border:1px solid var(--fds-line)!important;border-radius:0!important;
  font-family:var(--fds-font)!important;font-size:14px!important;font-weight:400!important;
  letter-spacing:0!important;text-transform:none!important;padding:11px 18px!important;
  transition:border-color .15s,background .15s,color .15s}
body button.ywgc-predefined-amount-button:hover,
body .fds-pr-buy button.ywgc-predefined-amount-button:hover{
  border-color:var(--fds-ink)!important;opacity:1}
body button.ywgc-predefined-amount-button.selected_button,
body .fds-pr-buy button.ywgc-predefined-amount-button.selected_button{
  background:var(--fds-accent)!important;color:#fff!important;
  border-color:var(--fds-accent)!important;font-weight:500!important}

/* ── «Похожие» на телефоне ─────────────────────────────────────────────────
   Три колонки на узком экране давали обложку в палец шириной и обрезанное
   название — по такой карточке книгу не узнать. Ставим две колонки, название
   показываем целиком (без обрезки в две строки) и оставляем четыре товара
   вместо пяти: пятый в двух колонках висел бы одиноким хвостом. */
@media(max-width:820px){
  .fds-pr-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .fds-pr-more-grid .fdp-wrap:nth-child(n+5){display:none}
  .fds-pr-more-grid .fdp-title{-webkit-line-clamp:unset;display:block;overflow:visible;
    min-height:0;font-size:15px;line-height:1.45;margin-top:12px}
  .fds-pr-more-grid .fdp-price{font-size:14px;margin-top:4px}
  .fds-pr-more-grid .fdp-wrap{margin-bottom:32px}
}

/* ── шапка подбирается при прокрутке (как на gallery) ──────────────────────
   Высота 60 → 52, логотип 21 → 17. Переход плавный, чтобы не «дёргало». */
.fds-head-in,.fds-logo img{transition:height .18s ease}
.fds-head.is-compact .fds-head-in{height:52px}
.fds-head.is-compact .fds-logo img{height:17px}
@media(max-width:860px){
  .fds-head.is-compact .fds-head-in{height:50px}
  .fds-head.is-compact .fds-logo img{max-width:176px}
}

/* ── поля между товарами в блоках ─────────────────────────────────────────
   Книге воздух нужен: обложка мелкая, ей надо «дышать». Снимку — наоборот:
   чем меньше поля, тем больше сама работа. Поэтому вариант выбирается у
   каждого ряда (Товары → Главная, колонка «Поля»), а не задан раз и навсегда. */
.fds-products__grid.fds-gap-mid{column-gap:40px}
.fds-products__grid.fds-gap-mid .fdp-wrap{margin-bottom:40px}
.fds-products__grid.fds-gap-tight{column-gap:20px}
.fds-products__grid.fds-gap-tight .fdp-wrap{margin-bottom:20px}
.fds-products__grid.fds-gap-none{column-gap:2px}
.fds-products__grid.fds-gap-none .fdp-wrap{margin-bottom:2px}
@media(max-width:1300px){
  .fds-products__grid.fds-gap-mid{column-gap:28px}
  .fds-products__grid.fds-gap-mid .fdp-wrap{margin-bottom:28px}
  .fds-products__grid.fds-gap-tight{column-gap:16px}
  .fds-products__grid.fds-gap-tight .fdp-wrap{margin-bottom:16px}
}
@media(max-width:900px){
  .fds-products__grid.fds-gap-mid,.fds-products__grid.fds-gap-tight{column-gap:12px}
  .fds-products__grid.fds-gap-mid .fdp-wrap,
  .fds-products__grid.fds-gap-tight .fdp-wrap{margin-bottom:14px}
}

/* ── блоки конструктора: изображения ───────────────────────────────────────
   «Одинаковая высота» подрезает обе картинки по общей высоте — не нужно
   готовить одинаковые файлы заранее. */
.fds-img{margin:0 0 32px}
.fds-img img{width:100%;height:auto;display:block}
.fds-img--col{max-width:680px}
.fds-img figcaption{font-size:13px;color:var(--fds-muted);margin-top:8px}
.fds-cols2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 32px}
.fds-cols2 img{width:100%;height:auto;display:block}
.fds-cols2.is-even .fds-cols2-c{aspect-ratio:4/3;overflow:hidden}
.fds-cols2.is-even .fds-cols2-c img{width:100%;height:100%;object-fit:cover}
.fds-block-text{font-size:17px;line-height:1.75;max-width:680px;margin:0 0 28px}
@media(max-width:820px){.fds-cols2{grid-template-columns:1fr;gap:12px}}


/* ── блоки контентных страниц ──────────────────────────────────────────────
   Лид — вводный абзац крупнее обычного текста: им начинается страница или
   раздел. Бегущая строка внутри страницы — та же, что на главной, только с
   отступами сверху и снизу и со своим цветом. */
.fds-lede p{font-family:var(--fds-font);font-size:26px;line-height:1.45;font-weight:300;
  margin:0 0 22px;max-width:960px}
.fds-marquee--block{margin:50px -20px}
.fds-block-btn{margin:0 0 10px}
@media(max-width:900px){
  .fds-lede p{font-size:20px;line-height:1.5;margin-bottom:18px}
  .fds-marquee--block{margin:32px -20px}
}


/* ── карточки-ссылки: подача та же, что у коллекций на gallery ────────────
   Обложка во всю ширину карточки, под ней название. Пропорцию не навязываем:
   у подборок обложки бывают и горизонтальные, и вертикальными. */
.fds-cards{display:grid;gap:50px;margin:0 0 50px}
.fds-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fds-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fds-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fds-card{display:block;text-decoration:none;color:var(--fds-ink)}
.fds-card-photo{display:block;overflow:hidden}
.fds-card-photo img{display:block;width:100%;height:auto;transition:transform .5s ease}
.fds-card:hover .fds-card-photo img{transform:scale(1.02)}
.fds-card-title{display:block;font-family:var(--fds-font);font-size:22px;font-weight:400;
  line-height:1.3;margin-top:16px}
.fds-card:hover .fds-card-title{color:var(--fds-accent)}
@media(max-width:900px){
  .fds-cards{gap:28px}
  .fds-cards--2,.fds-cards--3,.fds-cards--4{grid-template-columns:minmax(0,1fr)}
  .fds-card-title{font-size:18px;margin-top:12px}
}
