/*
Theme Name: daria_english
Description: Кастомная тема магазина цифровых материалов по английскому. Чистый код, без конструкторов. Разработка — студия «По Плану».
Author: По Плану
Version: 1.0
Requires PHP: 8.0
Text Domain: daria
*/

:root{
    --bg:#F8F4EE; --ink:#2B2B2B; --muted:#5a544c; --soft:#7c7266;
    --accent:#D8C3B3; --accent-h:#c9b09c; --footer:#E4D5C3;
    --line:rgba(43,43,43,.08); --line-strong:rgba(43,43,43,.16);
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}
  a{color:var(--ink);text-decoration:none}
  a:hover{color:#6E6152}
  img,svg{display:block;max-width:100%}
  input,button,select{font-family:inherit}
  ::selection{background:#E7D3C7}
  @keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
  .wrap{max-width:1240px;margin:0 auto;padding:0 24px}

  /* HEADER */
  .hdr{position:sticky;top:0;z-index:50;background:rgba(248,244,238,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(43,43,43,.07)}
  .hdr-in{max-width:1240px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
  .logo{display:flex;align-items:center}
  .logo img{height:46px;width:auto}
  .logo-text{font-size:23px;font-weight:800;letter-spacing:-.02em}
  .logo-text i{color:var(--soft);font-style:normal}
  .nav{flex:1;display:flex;align-items:center;justify-content:center;gap:14px;color:#c9bcad}
  .nav a{font-size:15px;font-weight:500}
  .icons{display:flex;align-items:center;gap:6px;flex-shrink:0}
  .iconbtn{position:relative;width:40px;height:40px;border:none;background:transparent;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
  .iconbtn:hover{background:rgba(43,43,43,.05)}
  .badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#B79A82;color:#fff;font-size:11px;font-weight:700;display:none;align-items:center;justify-content:center}
  .badge.show{display:flex}
  .burger{display:none}
  .mnav{border-top:1px solid rgba(43,43,43,.07);padding:12px 24px 18px;flex-direction:column;gap:4px;animation:fadeUp .3s ease}
  /* Меню кладём поверх страницы, а не в поток: иначе открытие расталкивало контент вниз */
  .mnav[data-over]{position:absolute;top:100%;left:0;right:0;z-index:60;background:var(--bg);box-shadow:0 18px 40px -22px rgba(43,43,43,.5);max-height:calc(100vh - 72px);overflow-y:auto}
  .hdr{position:sticky}
  .mnav a{padding:10px 0;font-size:16px;font-weight:600}

  /* HERO */
  .hero{position:relative;max-width:1240px;margin:0 auto;padding:20px 24px 0}
  .hero-box{position:relative;height:440px;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(43,43,43,.28)}
  .track{display:flex;height:100%;width:100%;transition:transform .6s cubic-bezier(.4,0,.2,1)}
  .slide{position:relative;flex:0 0 100%;width:100%;height:100%}
  .slide-deco{position:absolute;top:22px;left:26px;font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(43,43,43,.32)}
  .float1{position:absolute;top:44px;right:36px;width:120px;height:70px;border-radius:16px;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.55) 0 8px,rgba(255,255,255,.18) 8px 16px);animation:floatY 6s ease-in-out infinite}
  .float2{position:absolute;bottom:60px;left:52px;width:84px;height:84px;border-radius:50%;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.5) 0 7px,rgba(255,255,255,.16) 7px 14px);animation:floatY 7s ease-in-out infinite}
  .offer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}
  .offer-card{width:min(440px,100%);background:rgba(248,244,238,.94);backdrop-filter:blur(6px);border-radius:20px;box-shadow:0 20px 50px -20px rgba(43,43,43,.4);overflow:hidden;animation:fadeUp .6s ease}
  .offer-bar{padding:12px 18px;border-bottom:1px solid rgba(43,43,43,.08);display:flex;align-items:center;justify-content:center;position:relative}
  .offer-bar .dots3{position:absolute;left:16px;display:flex;gap:6px}
  .offer-bar b{font-weight:700;font-size:14px;letter-spacing:-.01em}
  .dot3{width:9px;height:9px;border-radius:50%}
  .dot-r{background:#E7C3B8}.dot-y{background:#EBDBB3}.dot-g{background:#BFD3C2}
  .offer-body{padding:28px 30px 30px;text-align:center}
  .offer-art{margin:0 auto 18px;width:96px;height:64px;border-radius:14px;background-image:repeating-linear-gradient(45deg,#EAD9CC 0 9px,#F2E7DE 9px 18px);display:flex;align-items:center;justify-content:center;font-family:ui-monospace,monospace;font-size:9px;letter-spacing:.1em;color:#9a8674}
  .offer-body h2{margin:0 0 8px;font-size:26px;font-weight:800;letter-spacing:-.02em}
  .offer-body p{margin:0 0 22px;font-size:15px;color:var(--soft);line-height:1.5}
  .offer-btn{display:inline-block;padding:13px 30px;border-radius:99px;background:var(--ink);color:#fff;font-size:15px;font-weight:600;transition:transform .25s,background .25s}
  .offer-btn:hover{background:#443f39;color:#fff;transform:translateY(-2px)}
  .arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(248,244,238,.85);backdrop-filter:blur(4px);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px -6px rgba(43,43,43,.35);transition:background .25s}
  .arrow:hover{background:#fff}
  .arrow.left{left:16px}.arrow.right{right:16px}
  .dots{position:absolute;bottom:18px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px}
  .dot{width:8px;height:8px;border-radius:99px;border:none;padding:0;cursor:pointer;transition:all .35s;background:rgba(43,43,43,.3)}
  .dot.active{width:24px;background:var(--ink)}

  /* CATALOG */
  .catalog{max-width:1240px;margin:0 auto;padding:56px 24px 40px;display:flex;gap:40px;align-items:flex-start}
  .sidebar{width:240px;flex-shrink:0;position:sticky;top:96px}
  .filter-toggle{display:none;width:100%;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:14px;border:1px solid rgba(43,43,43,.1);background:#fff;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:12px}
  .fgroup{margin-bottom:26px}
  .fh{margin:0 0 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a1978a;font-weight:700}
  .cat-list{display:flex;flex-direction:column;gap:2px}
  .cat-btn{text-align:left;border:none;cursor:pointer;padding:9px 12px;border-radius:10px;font-size:15px;font-weight:500;background:transparent;color:var(--muted);transition:background .2s}
  .cat-btn:hover{background:rgba(43,43,43,.04)}
  .cat-btn.active{font-weight:700;background:#EDE0D3;color:var(--ink)}
  .checks{display:flex;flex-direction:column;gap:10px}
  .check{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer;color:#4a453f;user-select:none}
  .box{width:18px;height:18px;border-radius:6px;border:1.5px solid #cdbfae;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
  .check.on .box{background:#C9A98F;border-color:#C9A98F}
  .box svg{opacity:0;transition:opacity .2s}
  .check.on .box svg{opacity:1}
  .products{flex:1;min-width:0}
  .toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:26px}
  .search{position:relative;flex:1;min-width:220px}
  .search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%)}
  .search input{width:100%;height:46px;padding:0 16px 0 44px;border-radius:14px;border:1px solid rgba(43,43,43,.1);background:#fff;font-size:15px;outline:none}
  .search input:focus{border-color:#c9b09c}
  .grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
  .card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 16px -10px rgba(43,43,43,.25);border:1px solid rgba(43,43,43,.05);transition:transform .3s,box-shadow .3s}
  .card:hover{transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(43,43,43,.38)}
  .card-bar{padding:10px 12px;border-bottom:1px solid rgba(43,43,43,.06);display:flex;align-items:center;gap:6px}
  .card-bar .d{width:8px;height:8px;border-radius:50%}
  .card-bar .file{margin-left:auto;font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.08em;color:#b0a595}
  .card-cover{position:relative;padding:16px}
  .fav{position:absolute;top:24px;right:24px;z-index:2;width:34px;height:34px;border-radius:50%;border:none;background:rgba(255,255,255,.85);backdrop-filter:blur(4px);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px -4px rgba(43,43,43,.3)}
  .cover{width:100%;aspect-ratio:1/1;border-radius:12px;display:flex;align-items:center;justify-content:center}
  .cover span{font-size:15px;font-weight:700;text-align:center;padding:0 18px;line-height:1.35;color:#4a453f}
  .card-body{padding:0 16px 18px}
  .pill{display:inline-block;padding:3px 10px;border-radius:99px;background:#F2E9E0;font-size:11px;font-weight:600;letter-spacing:.03em;color:#9a8674;margin-bottom:10px}
  .card-body h3{margin:0 0 4px;font-size:16px;font-weight:700;letter-spacing:-.01em}
  .price{margin:0 0 14px;font-size:17px;font-weight:800}
  .card-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .btn-more{height:42px;border-radius:12px;border:1px solid rgba(43,43,43,.14);background:transparent;font-size:14px;font-weight:600;cursor:pointer;transition:background .25s}
  .btn-more:hover{background:rgba(43,43,43,.05)}
  .btn-add{height:42px;border-radius:12px;border:none;background:var(--accent);color:#3a332c;font-size:14px;font-weight:700;cursor:pointer;transition:background .25s,transform .2s}
  .btn-add:hover{background:var(--accent-h);transform:translateY(-1px)}
  .loadmore-wrap{display:flex;justify-content:center;margin-top:40px}
  .loadmore{padding:14px 40px;border-radius:99px;border:1px solid rgba(43,43,43,.16);background:transparent;font-size:15px;font-weight:600;cursor:pointer;transition:background .25s}
  .loadmore:hover{background:rgba(43,43,43,.05)}
  .empty{grid-column:1/-1;text-align:center;color:var(--soft);padding:40px 0;font-size:15px}

  /* AUTHOR */
  .author{max-width:1240px;margin:0 auto;padding:60px 24px;display:flex;gap:56px;align-items:center}
  .author-txt{flex:1;min-width:0}
  .eyebrow{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#a1978a}
  .author-txt h2{margin:14px 0 22px;font-size:40px;line-height:1.12;font-weight:800;letter-spacing:-.03em;text-wrap:balance}
  .author-txt p{margin:0 0 16px;font-size:17px;line-height:1.65;color:var(--muted);max-width:520px}
  .portrait{flex-shrink:0;width:min(380px,100%)}
  .portrait .frame{width:100%;aspect-ratio:4/5;border-radius:22px;background-image:repeating-linear-gradient(45deg,#EAD9CC 0 14px,#F2E7DE 14px 28px);display:flex;align-items:center;justify-content:center;box-shadow:0 24px 50px -28px rgba(43,43,43,.35)}
  .portrait .frame span{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:.1em;color:#9a8674}

  /* FAQ */
  .faq{max-width:820px;margin:0 auto;padding:20px 24px 80px}
  .faq h2{margin:0 0 32px;font-size:34px;font-weight:800;letter-spacing:-.03em;text-align:center}
  .faq-list{display:flex;flex-direction:column;gap:12px}
  .faq-item{background:#fff;border-radius:16px;border:1px solid rgba(43,43,43,.06);overflow:hidden}
  .faq-q{width:100%;padding:22px 24px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;font-size:17px;font-weight:600;color:var(--ink)}
  .faq-icon{flex-shrink:0;font-size:24px;font-weight:300;line-height:1;color:#9a8674;transition:transform .3s}
  .faq-item.open .faq-icon{transform:rotate(45deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,opacity .35s ease;opacity:.4}
  .faq-item.open .faq-a{max-height:260px;opacity:1}
  .faq-a p{margin:0;padding:0 24px 22px;font-size:15px;line-height:1.65;color:#6a635a}

  /* FOOTER */
  .foot{background:var(--footer);color:#3a332c}
  .foot-in{max-width:1240px;margin:0 auto;padding:64px 24px 32px}
  .foot-top{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between;padding-bottom:40px;border-bottom:1px solid rgba(58,51,44,.15);margin-bottom:24px}
  .foot-brand{flex:1;min-width:240px;max-width:420px}
  .foot-brand .logo{margin-bottom:16px}
  .foot-brand .logo img{height:64px}
  .foot-brand .logo-text{font-size:30px}
  .foot-brand p{margin:0;font-size:16px;line-height:1.6;color:#5c5142;max-width:340px}
  .foot-links{display:flex;flex-direction:column;gap:12px}
  .foot-links h4{margin:0 0 4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8a7c68;font-weight:700}
  .foot-links a{font-size:16px;color:#3a332c}
  .foot-links a:hover{color:#8a6f56}
  .foot-bottom{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .foot-req{font-size:13px;color:#6a5f4e}
  .foot-legal{display:flex;flex-wrap:wrap;gap:20px}
  .foot-legal a{font-size:13px;color:#6a5f4e}
  .foot-legal a:hover{color:#3a332c}

  /* RESPONSIVE */
  @media(max-width:1023px){ .grid{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:639px){
    .nav{display:none}
    .burger{display:flex}
    .hero-box{height:400px}
    .catalog{flex-direction:column;gap:0;padding-top:36px}
    /* Сайдбар на мобиле — пустая оболочка: сами фильтры position:fixed.
       Схлопываем, чтобы не оставлял дыру над каталогом. */
    .sidebar{width:100%;position:static;margin:0;height:0;overflow:visible}
    .filter-toggle{display:inline-flex;width:auto;flex-shrink:0}
    .grid{grid-template-columns:1fr}
    .author{flex-direction:column;gap:32px;align-items:stretch}
    .author-txt h2{font-size:32px}
  }

  /* ── ЭКРАНЫ ── */
  .screen{display:none}
  .screen.active{display:block;animation:fadeUp .4s ease}
  main.page{max-width:1240px;margin:0 auto;padding:36px 24px 80px}
  .crumbs{display:flex;gap:8px;align-items:center;font-size:13.5px;color:#a1978a;margin-bottom:20px;flex-wrap:wrap}
  .crumbs a{color:#a1978a;cursor:pointer}
  .crumbs a:hover{color:var(--ink)}
  main.page h1{margin:0 0 8px;font-size:34px;font-weight:800;letter-spacing:-.03em}
  .page-sub{margin:0 0 28px;color:var(--soft);font-size:16px}
  .empty-box{text-align:center;padding:64px 20px;background:#fff;border-radius:18px;border:1px solid rgba(43,43,43,.06)}
  .empty-box h3{margin:0 0 8px;font-size:20px;font-weight:800}
  .empty-box p{margin:0 0 20px;color:var(--soft);font-size:15px}
  .btn-dark{display:inline-block;padding:13px 28px;border-radius:99px;background:var(--ink);color:#fff;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:transform .2s,background .25s}
  .btn-dark:hover{background:#443f39;color:#fff;transform:translateY(-2px)}
  .btn-ghost{display:inline-block;padding:13px 28px;border-radius:99px;background:transparent;border:1px solid var(--line-strong);font-size:15px;font-weight:600;cursor:pointer;transition:background .25s}
  .btn-ghost:hover{background:rgba(43,43,43,.05)}
  /* ── ТОВАР ── */
  .prod{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  .prod-vis{background:#fff;border-radius:18px;border:1px solid rgba(43,43,43,.05);overflow:hidden;box-shadow:0 4px 20px -12px rgba(43,43,43,.3)}
  .prod-vis .cover{border-radius:0}
  .prod h1{font-size:38px;margin:10px 0 10px}
  .prod-price{font-size:28px;font-weight:800;margin:18px 0}
  .prod-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
  .chip{padding:6px 12px;border-radius:99px;background:#F2E9E0;font-size:12.5px;font-weight:600;color:#9a8674}
  .prod-desc{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 18px}
  .incl{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:9px}
  .incl li{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--muted)}
  .prod-acts{display:flex;gap:10px;flex-wrap:wrap}
  /* ── КОРЗИНА / СТРОКИ ── */
  .cline{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
  .cline-img{width:56px;height:56px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#6a635a;text-align:center;padding:4px;overflow:hidden}
  .cline-info{flex:1;min-width:0}
  .cline-info b{display:block;font-size:14.5px;font-weight:700;margin-bottom:3px}
  .cline-info span{font-size:12.5px;color:#a1978a}
  .qty{display:flex;align-items:center;gap:7px;margin-top:6px}
  .qbtn{width:24px;height:24px;border:1px solid var(--line-strong);background:#fff;border-radius:7px;cursor:pointer;font-size:14px;line-height:1;color:var(--ink)}
  .qbtn:hover{background:rgba(43,43,43,.05)}
  .cline-price{font-weight:800;font-size:15px;white-space:nowrap}
  .del{border:none;background:transparent;cursor:pointer;color:#c0b4a4;font-size:18px;line-height:1;padding:4px}
  .del:hover{color:#D98A9A}
  .totals{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:15px;color:var(--muted)}
  .totals.big{font-size:19px;font-weight:800;color:var(--ink)}
  /* ── ОФОРМЛЕНИЕ ── */
  .co{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}
  .card-box{background:#fff;border-radius:18px;padding:26px;border:1px solid rgba(43,43,43,.06)}
  .card-box h3{margin:0 0 4px;font-size:19px;font-weight:800;letter-spacing:-.02em}
  .card-box .hint{margin:0 0 18px;font-size:13.5px;color:#a1978a}
  .field{margin-bottom:14px}
  .field label{display:block;font-size:13px;color:var(--soft);margin-bottom:6px;font-weight:600}
  .field input{width:100%;height:46px;padding:0 14px;border-radius:12px;border:1px solid rgba(43,43,43,.12);background:#F8F4EE;font-size:15px;outline:none}
  .field input:focus{border-color:#c9b09c;background:#fff}
  .note{background:#F2E9E0;border-radius:12px;padding:14px 16px;font-size:13.5px;color:#7c6f5e;line-height:1.5;margin:16px 0}
  .pay{display:flex;flex-direction:column;gap:10px}
  .payopt{display:flex;align-items:center;gap:11px;padding:14px 16px;border:1px solid rgba(43,43,43,.12);border-radius:12px;background:#F8F4EE;cursor:pointer;font-size:15px;transition:border-color .2s,background .2s}
  .payopt.on{border-color:#C9A98F;background:#fff}
  .radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #cdbfae;flex-shrink:0;display:flex;align-items:center;justify-content:center}
  .payopt.on .radio{border-color:#C9A98F}
  .payopt.on .radio::after{content:"";width:9px;height:9px;border-radius:50%;background:#C9A98F}
  .agree{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--muted);cursor:pointer;margin:16px 0;line-height:1.5}
  .agree a{text-decoration:underline}
  .agree .box{margin-top:1px}
  .agree .box svg{opacity:1}
  .agree.on .box{background:#C9A98F;border-color:#C9A98F}
  /* ── ЛК ── */
  .acc{display:grid;grid-template-columns:250px 1fr;gap:36px;align-items:start}
  .acc-side{background:#fff;border-radius:18px;padding:22px;border:1px solid rgba(43,43,43,.06)}
  .who{display:flex;align-items:center;gap:12px;margin-bottom:18px}
  .ava{width:46px;height:46px;border-radius:50%;background:#EAD9CC;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;color:#8a6f56}
  .who b{display:block;font-size:15.5px}
  .who span{font-size:12.5px;color:#a1978a}
  .tabs{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}
  .tab{text-align:left;border:none;background:transparent;padding:11px 13px;border-radius:10px;cursor:pointer;font-size:15px;font-weight:500;color:var(--muted);transition:background .2s}
  .tab:hover{background:rgba(43,43,43,.04)}
  .tab.on{background:#EDE0D3;font-weight:700;color:var(--ink)}
  .mat{display:flex;align-items:center;gap:14px;padding:16px;background:#fff;border-radius:14px;border:1px solid rgba(43,43,43,.06);margin-bottom:10px}
  .mat-ico{width:44px;height:44px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#6a635a}
  .mat b{display:block;font-size:15px;margin-bottom:2px}
  .mat span{font-size:12.5px;color:#a1978a}
  .dl{margin-left:auto;padding:9px 18px;border-radius:99px;background:var(--accent);border:none;font-size:13.5px;font-weight:700;cursor:pointer;color:#3a332c;white-space:nowrap}
  .dl:hover{background:var(--accent-h)}
  .ord{padding:16px;background:#fff;border-radius:14px;border:1px solid rgba(43,43,43,.06);margin-bottom:10px}
  .ord-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
  .ord-top b{font-size:15px}
  .ok{padding:3px 10px;border-radius:99px;background:#DFEBDF;color:#4b7a4b;font-size:11.5px;font-weight:700}
  .ord p{margin:0;font-size:13.5px;color:#a1978a}
  /* ── ОВЕРЛЕЙ + САЙДБАРЫ ── */
  .ovl{position:fixed;inset:0;background:rgba(43,43,43,.42);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s;z-index:60}
  .ovl.show{opacity:1;pointer-events:auto}
  .drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--bg);z-index:70;transform:translateX(101%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-24px 0 60px -24px rgba(43,43,43,.4)}
  .drawer.open{transform:none}
  .dr-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}
  .dr-head h3{margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em}
  .dr-body{flex:1;overflow-y:auto;padding:16px 22px}
  .dr-foot{padding:18px 22px;border-top:1px solid var(--line);background:rgba(255,255,255,.6)}
  .x{width:34px;height:34px;border:none;background:rgba(43,43,43,.05);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .x:hover{background:rgba(43,43,43,.1)}
  .seg{display:flex;gap:4px;background:rgba(43,43,43,.05);padding:4px;border-radius:12px;margin-bottom:18px}
  .seg button{flex:1;padding:9px;border:none;background:transparent;border-radius:9px;cursor:pointer;font-size:14px;font-weight:600;color:var(--muted)}
  .seg button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px -4px rgba(43,43,43,.3)}
  .lnk{background:none;border:none;color:#a1978a;font-size:13px;cursor:pointer;text-decoration:underline;padding:0}
  .or{display:flex;align-items:center;gap:12px;margin:16px 0;color:#c0b4a4;font-size:13px}
  .or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
  /* ── ТОСТЫ ── */
  .toasts{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;gap:10px}
  .toast{background:var(--ink);color:#F8F4EE;padding:13px 18px;border-radius:12px;font-size:14px;font-weight:600;box-shadow:0 14px 34px -12px rgba(0,0,0,.45);animation:toastIn .3s ease;display:flex;align-items:center;gap:9px}
  @keyframes toastIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
  @keyframes pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
  @media(max-width:900px){
    .prod{grid-template-columns:1fr;gap:28px}
    .co{grid-template-columns:1fr;gap:24px}
    .acc{grid-template-columns:1fr;gap:20px}
  }
  @media(max-width:639px){
    main.page{padding:24px 18px 60px}
    main.page h1,.prod h1{font-size:27px}
    .toasts{right:12px;left:12px;bottom:12px}
  }

/* ═══════════ WOOCOMMERCE ═══════════ */

/* Ссылка «Просмотр корзины» после AJAX — у нас есть тост и сайдбар */
.added_to_cart, .woocommerce-loop-product__link { display: none !important; }
.card .added_to_cart { display: none !important; }

/* Уведомления */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  list-style: none; margin: 0 0 20px; padding: 15px 18px; border-radius: 14px;
  font-size: 14.5px; line-height: 1.5; border: 1px solid var(--line);
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.woocommerce-message { background: #DFEBDF; color: #3f6b3f; border-color: #cfe0cf; }
.woocommerce-info { background: #F2E9E0; color: #7c6f5e; border-color: #e8dbcd; }
.woocommerce-error { background: #FBE6E9; color: #9c4f5e; border-color: #f3d3d8; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
  margin-left: auto; padding: 9px 18px; border-radius: 99px; background: var(--ink);
  color: #fff; font-size: 13.5px; font-weight: 600; border: none; cursor: pointer;
}
.woocommerce-message .button:hover { background: #443f39; color: #fff; }

/* Поля форм Woo (оформление, вход, регистрация, профиль) */
.woocommerce form .form-row, .woocommerce-form-row { display: block; margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label, .woocommerce-form-row label {
  display: block; font-size: 13px; color: var(--soft); margin-bottom: 6px; font-weight: 600;
}
.woocommerce form .form-row .required { color: #D98A9A; text-decoration: none; border: 0; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-form input[type="text"], .woocommerce-form input[type="email"],
.woocommerce-form input[type="password"], .woocommerce-form input[type="tel"],
.woocommerce input.input-text, .woocommerce select, .woocommerce textarea {
  width: 100%; height: 46px; padding: 0 14px; border-radius: 12px;
  border: 1px solid rgba(43,43,43,.12); background: #F8F4EE; font-size: 15px;
  color: var(--ink); outline: none; font-family: inherit; box-sizing: border-box;
}
.woocommerce textarea { height: auto; min-height: 100px; padding: 12px 14px; }
.woocommerce input.input-text:focus, .woocommerce select:focus, .woocommerce textarea:focus { border-color: #c9b09c; background: #fff; }
.woocommerce form .form-row .description, .woocommerce-form-row .description,
.woocommerce form .form-row span.description { font-size: 12.5px; color: #a1978a; margin-top: 6px; display: block; }
.woocommerce .password-input, .woocommerce-password-hint { display: block; width: 100%; }
.woocommerce .show-password-input { position: relative; }

/* Кнопки Woo → наш стиль */
.woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce button.button:disabled, .woocommerce #place_order {
  display: inline-block; padding: 13px 28px; border-radius: 99px; background: var(--ink);
  color: #fff; font-size: 15px; font-weight: 600; border: none; cursor: pointer;
  transition: transform .2s, background .25s; text-decoration: none; line-height: 1.2;
}
.woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce #place_order:hover {
  background: #443f39; color: #fff; transform: translateY(-2px);
}
.woocommerce #place_order { width: 100%; margin-top: 14px; }
.woocommerce button.button:disabled { opacity: .5; cursor: not-allowed; transform: none; }

/* Чекбоксы Woo */
.woocommerce-form__label-for-checkbox { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; color: var(--muted); cursor: pointer; line-height: 1.5; }
.woocommerce-form__input-checkbox { width: 17px; height: 17px; accent-color: #C9A98F; margin-top: 1px; flex-shrink: 0; }

/* Таблица «Ваш заказ» (оформление) */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; margin: 0 0 6px; border: 0; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td {
  padding: 11px 0; text-align: left; border: 0; border-bottom: 1px solid var(--line); font-size: 14.5px; color: var(--muted);
}
.woocommerce table.shop_table th { font-weight: 600; color: var(--ink); }
.woocommerce table.shop_table td:last-child, .woocommerce table.shop_table th:last-child { text-align: right; white-space: nowrap; }
.woocommerce table.shop_table tfoot .order-total th, .woocommerce table.shop_table tfoot .order-total td {
  font-size: 19px; font-weight: 800; color: var(--ink); border-bottom: 0; padding-top: 16px;
}
.woocommerce .product-name { color: var(--ink) !important; font-weight: 600; }
.woocommerce .product-quantity { color: #a1978a; font-weight: 400; }

/* Способы оплаты */
.wc_payment_methods { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.wc_payment_methods li { padding: 0; }
.wc_payment_methods li > label {
  display: flex; align-items: center; gap: 11px; padding: 14px 16px;
  border: 1px solid rgba(43,43,43,.12); border-radius: 12px; background: #F8F4EE;
  cursor: pointer; font-size: 15px; font-weight: 500; transition: border-color .2s, background .2s;
}
.wc_payment_methods li > input[type="radio"] { display: none; }
.wc_payment_methods li > input[type="radio"]:checked + label { border-color: #C9A98F; background: #fff; }
.wc_payment_methods .payment_box {
  background: #F2E9E0; border-radius: 12px; padding: 12px 16px; margin: 8px 0 0;
  font-size: 13.5px; color: #7c6f5e; line-height: 1.5;
}
.wc_payment_methods .payment_box p:last-child { margin-bottom: 0; }
.woocommerce-terms-and-conditions-wrapper { margin: 16px 0 0; }
.woocommerce-privacy-policy-text p { font-size: 12.5px; color: #a1978a; line-height: 1.5; }

/* Личный кабинет: таблицы заказов и материалов */
.woocommerce-MyAccount-content > h2, .woocommerce-MyAccount-content > h3 { margin: 0 0 16px; font-size: 20px; font-weight: 800; letter-spacing: -.02em; }
.woocommerce-MyAccount-content p { color: var(--muted); font-size: 15px; line-height: 1.6; }
.woocommerce-MyAccount-content .shop_table {
  background: #fff; border-radius: 16px; border: 1px solid rgba(43,43,43,.06); padding: 6px 20px; margin-bottom: 18px;
}
.woocommerce-MyAccount-content .shop_table th { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: #a1978a; }
.woocommerce-MyAccount-content .shop_table td { color: var(--ink); }
.woocommerce-MyAccount-content .shop_table .button { padding: 8px 16px; font-size: 13px; }
.woocommerce-orders-table__cell-order-status { color: #4b7a4b; font-weight: 700; }
.woocommerce-EditAccountForm, .woocommerce-address-fields { background: #fff; border-radius: 18px; padding: 26px; border: 1px solid rgba(43,43,43,.06); max-width: 560px; }
.woocommerce-EditAccountForm fieldset { border: 0; padding: 0; margin: 22px 0 0; }
.woocommerce-EditAccountForm legend { font-size: 15px; font-weight: 700; padding: 0 0 10px; }

/* Страница входа/регистрации (когда открыта напрямую) */
.woocommerce-account:not(.logged-in) .woocommerce { max-width: 900px; margin: 0 auto; }
.u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.u-columns.col2-set .col-1, .u-columns.col2-set .col-2 { background: #fff; border-radius: 18px; padding: 26px; border: 1px solid rgba(43,43,43,.06); }
.u-columns.col2-set h2 { margin: 0 0 16px; font-size: 20px; font-weight: 800; letter-spacing: -.02em; }
.woocommerce-form-login__rememberme { font-size: 13.5px; color: var(--muted); margin: 4px 0 14px; display: block; }
.woocommerce-LostPassword { margin: 12px 0 0; font-size: 13.5px; }
.woocommerce-LostPassword a { color: #a1978a; text-decoration: underline; }

/* Пагинация */
.woocommerce-pagination ul { list-style: none; display: flex; gap: 6px; justify-content: center; padding: 0; margin: 0; }
.woocommerce-pagination a, .woocommerce-pagination span {
  display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px;
  padding: 0 12px; border-radius: 12px; border: 1px solid var(--line); font-size: 14.5px; font-weight: 600;
}
.woocommerce-pagination span.current { background: var(--ink); color: #fff; border-color: var(--ink); }
.woocommerce-pagination a:hover { background: rgba(43,43,43,.05); }

/* Мелочи */
.woocommerce .quantity { display: none; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); overflow: hidden; height: 1px; width: 1px; }
.prod-desc p:first-child { margin-top: 0; }
.prose p { color: var(--muted); font-size: 16px; line-height: 1.7; }
.prose h2 { font-size: 24px; font-weight: 800; letter-spacing: -.02em; margin: 32px 0 12px; }
@media (max-width: 700px) { .u-columns.col2-set { grid-template-columns: 1fr; } }

/* ─── Кнопки карточки: ровно по центру (это ссылки, не button) ─── */
.card-btns .btn-more, .card-btns .btn-add {
  display: flex; align-items: center; justify-content: center;
  text-align: center; text-decoration: none; line-height: 1; box-sizing: border-box;
}
.card-btns .btn-more { color: var(--ink); }
.card-btns .btn-add { color: #3a332c; }
.card-btns .btn-add:hover { color: #3a332c; }
.card-btns .btn-more:hover { color: var(--ink); }
.prod-acts .btn-dark, .prod-acts .btn-ghost { display: inline-flex; align-items: center; justify-content: center; }

/* Вход/регистрация — две колонки, как в дизайне */
.auth { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; max-width: 980px; }
.auth .card-box { padding: 28px; }
@media (max-width: 800px) { .auth { grid-template-columns: 1fr; } }

/* Woo-логин: наши поля вместо дефолтных */
.woocommerce-form-login .field input, .woocommerce-form-register .field input { background: #F8F4EE; }
.woocommerce form.login, .woocommerce form.register { border: 0; padding: 0; margin: 0; border-radius: 0; }
.woocommerce-form-login__rememberme { display: none; }

/* ═══════════ 1:1 ПО ВЁРСТКЕ ═══════════ */

/* Кнопки карточки — ровно (это <a>) */
a.btn-more, a.btn-add { text-align: center; line-height: 38px; padding: 0; }

/* ─── СТРАНИЦА ТОВАРА (PRODUCT PAGE) ─── */
.pp { max-width: 1240px; margin: 0 auto; padding: 28px 24px 20px; animation: fadeUp .4s ease; }
.pp-crumbs { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 26px; font-size: 14px; }
.pp-crumbs a { color: #8a8074; }
.pp-crumbs a:hover { color: var(--ink); }
.pp-crumbs span { color: #c9bcad; margin: 0 8px; }
.pp-crumbs span.on { color: var(--ink); font-weight: 600; margin: 0; }
.pp-grid { display: flex; gap: 48px; align-items: flex-start; }
.pp-left, .pp-right { flex: 1; min-width: 0; }
.pp-vis { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px -18px rgba(43,43,43,.3); border: 1px solid rgba(43,43,43,.05); }
.pp-bar { padding: 12px 14px; border-bottom: 1px solid rgba(43,43,43,.06); display: flex; align-items: center; gap: 6px; }
.pp-bar .d { width: 9px; height: 9px; border-radius: 50%; }
.pp-file { margin-left: auto; font-family: ui-monospace, monospace; font-size: 11px; color: #b0a595; }
.pp-cover-pad { padding: 26px; }
.pp-cover { position: relative; width: 100%; aspect-ratio: 1/1; border-radius: 14px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
/* Только для запасной подписи. Раньше был селектор .pp-cover span — он ловил
   лупу и счётчик (тоже span) и растягивал их в овал, обнуляя иконку внутри. */
.pp-cover .pp-ph { font-size: 22px; font-weight: 700; color: #4a5560; text-align: center; padding: 0 30px; line-height: 1.35; }
.pp-cover img { border-radius: 14px; }
.pp-thumbs { display: flex; gap: 12px; margin-top: 14px; }
.pp-thumb { width: 76px; height: 76px; border-radius: 12px; border: 2px solid transparent; overflow: hidden; cursor: pointer; }
.pp-thumb.is-on { border-color: #B79A82; }
.pp-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pp-pill { display: inline-block; padding: 4px 12px; border-radius: 99px; background: #F2E9E0; font-size: 12px; font-weight: 600; color: #9a8674; margin-bottom: 14px; }
.pp-title { margin: 0 0 12px; font-size: 34px; font-weight: 800; letter-spacing: -.03em; line-height: 1.15; }
.pp-price-row { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.pp-price, .pp-price .woocommerce-Price-amount { font-size: 30px; font-weight: 800; color: var(--ink); }
.pp-forever { font-size: 13px; color: #9a8f80; background: #EFE7DD; padding: 4px 10px; border-radius: 99px; }
.pp-desc { margin: 0 0 22px; font-size: 16px; line-height: 1.65; color: #5a544c; }
.pp-desc p { margin: 0 0 10px; }
.pp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.pp-chip { padding: 6px 14px; border-radius: 10px; border: 1px solid rgba(43,43,43,.12); font-size: 14px; font-weight: 600; color: #4a453f; }
.pp-acts { display: flex; gap: 12px; margin-bottom: 32px; }
.pp-add { flex: 1; height: 54px; border-radius: 14px; border: none; background: #2B2B2B; color: #fff;
  font-size: 16px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center;
  text-decoration: none; transition: background .25s, transform .2s; }
.pp-add:hover { background: #443f39; color: #fff; transform: translateY(-2px); }
.pp-fav { width: 54px; height: 54px; flex: none; border-radius: 14px; border: 1px solid rgba(43,43,43,.14);
  background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s, border-color .2s; }
.pp-fav:hover, .pp-fav.on { border-color: #D98A9A; background: #FFF7F8; }
.pp-acc { display: flex; flex-direction: column; gap: 10px; }
.pp-acc-item { border: 1px solid rgba(43,43,43,.08); border-radius: 14px; background: #fff; overflow: hidden; }
.pp-acc-q { width: 100%; padding: 18px 20px; background: transparent; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between; font-size: 16px; font-weight: 600; text-align: left; color: var(--ink); }
.pp-acc-i { font-size: 22px; font-weight: 300; color: #9a8674; transition: transform .3s; line-height: 1; }
.pp-acc-item.open .pp-acc-i { transform: rotate(45deg); }
.pp-acc-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.pp-acc-item.open .pp-acc-a { max-height: 400px; }
.pp-acc-a p { margin: 0; padding: 0 20px 18px; font-size: 15px; line-height: 1.6; color: #6a635a; }
.pp-sim-t { margin: 56px 0 22px; font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
@media (max-width: 900px) { .pp-grid { flex-direction: column; gap: 28px; align-items: stretch; } .pp-title { font-size: 27px; } }

/* ─── САЙДБАР КОРЗИНЫ (CART DRAWER) ─── */
#cartDrawer { width: min(400px, 100%); background: #F8F4EE; }
#cartDrawer .dr-head { padding: 22px 24px; }
#cartDrawer .dr-head h3 { font-size: 20px; font-weight: 800; }
.dr-body { flex: 1; overflow-y: auto; padding: 16px 24px; display: flex; flex-direction: column; gap: 12px; }
.dr-item { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid rgba(43,43,43,.06); border-radius: 14px; padding: 10px; }
.dr-thumb { width: 56px; height: 56px; border-radius: 10px; flex: none; overflow: hidden; }
.dr-thumb img { width: 100%; height: 100%; object-fit: cover; }
.dr-info { flex: 1; min-width: 0; }
.dr-info h4 { margin: 0 0 3px; font-size: 14px; font-weight: 700; line-height: 1.3; }
.dr-info span { font-size: 13px; color: #8a8074; }
.dr-del { width: 30px; height: 30px; border: none; background: transparent; border-radius: 8px; cursor: pointer; color: #b0a595; flex: none; display: flex; align-items: center; justify-content: center; }
.dr-del:hover { background: rgba(43,43,43,.05); color: #D98A9A; }
.dr-empty { text-align: center; padding: 50px 10px; }
.dr-empty h4 { margin: 0 0 8px; font-size: 18px; font-weight: 800; }
.dr-empty p { margin: 0; color: var(--soft); font-size: 14.5px; }
.dr-foot { padding: 20px 24px; border-top: 1px solid rgba(43,43,43,.08); }
.dr-total { display: flex; justify-content: space-between; margin-bottom: 16px; font-size: 18px; font-weight: 800; }
.dr-btn { width: 100%; height: 50px; border-radius: 14px; font-size: 15px; font-weight: 700; cursor: pointer;
  display: flex; align-items: center; justify-content: center; text-decoration: none; margin-bottom: 10px; transition: background .2s; }
.dr-btn:last-child { margin-bottom: 0; }
.dr-btn--dark { border: none; background: #2B2B2B; color: #fff; }
.dr-btn--dark:hover { background: #443f39; color: #fff; }
.dr-btn--ghost { border: 1px solid rgba(43,43,43,.16); background: transparent; color: var(--ink); }
.dr-btn--ghost:hover { background: rgba(43,43,43,.05); color: var(--ink); }

/* ─── Страницы Woo: полная ширина, без дубля заголовка ─── */
main.page--wc { max-width: none; padding: 0; }
.page--wc .wc-wrap > .woocommerce { margin: 0; }

/* ─── КОРЗИНА / ОФОРМЛЕНИЕ (CART PAGE + CHECKOUT) 1:1 ─── */
.ct, .co2 { max-width: 1100px; margin: 0 auto; padding: 28px 0 20px; animation: fadeUp .4s ease; }
.ct-h1 { margin: 0 0 28px; font-size: 34px; font-weight: 800; letter-spacing: -.03em; }
.ct-grid { display: flex; gap: 32px; align-items: flex-start; }
.ct-items { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.co2-left { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; }

.ct-item { display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid rgba(43,43,43,.06); border-radius: 16px; padding: 14px; }
.ct-thumb { width: 72px; height: 72px; border-radius: 12px; flex: none; overflow: hidden; }
.ct-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ct-info { flex: 1; min-width: 0; }
.ct-cat { display: inline-block; padding: 2px 9px; border-radius: 99px; background: #F2E9E0; font-size: 11px; font-weight: 600; color: #9a8674; margin-bottom: 6px; }
.ct-info h3 { margin: 0; font-size: 16px; font-weight: 700; }
.ct-qty { display: flex; align-items: center; gap: 8px; border: 1px solid rgba(43,43,43,.12); border-radius: 10px; padding: 4px; flex: none; }
.ct-qty button { width: 28px; height: 28px; border: none; background: transparent; border-radius: 7px; cursor: pointer; font-size: 18px; color: #4a453f; line-height: 1; }
.ct-qty button:hover { background: rgba(43,43,43,.06); }
.ct-qty span { min-width: 20px; text-align: center; font-weight: 700; font-size: 15px; }
.ct-line { min-width: 80px; text-align: right; font-size: 16px; font-weight: 800; }
.ct-del { width: 34px; height: 34px; border: none; background: transparent; border-radius: 9px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #b0a595; flex: none; }
.ct-del:hover { background: rgba(43,43,43,.05); color: #8a5a5a; }

.ct-side { width: 340px; flex-shrink: 0; }
.ct-sum { background: #fff; border: 1px solid rgba(43,43,43,.06); border-radius: 18px; padding: 24px; position: sticky; top: 96px; }
.ct-sum h3 { margin: 0 0 18px; font-size: 18px; font-weight: 800; }
.ct-row { display: flex; justify-content: space-between; margin-bottom: 12px; font-size: 15px; color: #5a544c; }
.ct-row b { font-weight: 600; color: var(--ink); }
.ct-promo { display: flex; gap: 8px; margin: 16px 0; }
.ct-promo input { flex: 1; height: 44px; padding: 0 14px; border-radius: 11px; border: 1px solid rgba(43,43,43,.12); background: #F8F4EE; font-size: 14px; outline: none; }
.ct-promo button { height: 44px; padding: 0 16px; border-radius: 11px; border: 1px solid rgba(43,43,43,.14); background: transparent; font-size: 14px; font-weight: 600; cursor: pointer; }
.ct-promo button:hover { background: rgba(43,43,43,.05); }
.ct-hr { height: 1px; background: rgba(43,43,43,.08); margin: 16px 0; }
.ct-total { display: flex; justify-content: space-between; margin-bottom: 20px; font-size: 20px; font-weight: 800; }
.ct-btn, .co2-pay-btn { width: 100%; height: 52px; border-radius: 14px; border: none; background: #2B2B2B; color: #fff;
  font-size: 16px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center;
  gap: 6px; text-decoration: none; transition: background .25s; }
.ct-btn:hover, .co2-pay-btn:hover { background: #443f39; color: #fff; }
.ct-note { margin: 14px 0 0; font-size: 13px; color: #9a8f80; text-align: center; }

.ct-empty { text-align: center; padding: 80px 20px; background: #fff; border-radius: 20px; border: 1px solid rgba(43,43,43,.06); }
.ct-empty-ico { font-size: 44px; margin-bottom: 16px; }
.ct-empty h3 { margin: 0 0 8px; font-size: 22px; font-weight: 800; }
.ct-empty p { margin: 0 0 22px; font-size: 15px; color: #7c7266; }
.ct-empty-btn { display: inline-block; padding: 13px 30px; border-radius: 99px; border: none; background: #D8C3B3; color: #3a332c; font-size: 15px; font-weight: 700; }
.ct-empty-btn:hover { background: #c9b09c; color: #3a332c; }

.co2-card { background: #fff; border: 1px solid rgba(43,43,43,.06); border-radius: 18px; padding: 24px; }
.co2-card h3 { margin: 0 0 18px; font-size: 18px; font-weight: 800; }
.co2-hint { margin: 0 0 18px; font-size: 14px; color: #7c7266; }
.co2-fields { display: flex; flex-direction: column; gap: 14px; }
.co2-fields .form-row { margin: 0 !important; }
.co2-fields label { display: block; font-size: 13px; color: #7c7266; margin-bottom: 6px; font-weight: 400; }
.co2-fields input.input-text, .co2-fields input[type="email"], .co2-fields input[type="text"], .co2-fields input[type="tel"] {
  width: 100%; height: 48px; padding: 0 16px; border-radius: 12px; border: 1px solid rgba(43,43,43,.12); background: #F8F4EE; font-size: 15px; outline: none;
}
.co2-note { margin: 14px 0 0; font-size: 13px; color: #8a8074; line-height: 1.55; background: #F5EEE6; border-radius: 12px; padding: 12px 14px; }
.co2-pay { display: flex; flex-direction: column; gap: 10px; }
.co2-payopt { display: flex; align-items: center; gap: 11px; padding: 14px 16px; border: 1px solid rgba(43,43,43,.12); border-radius: 12px; background: #F8F4EE; cursor: pointer; transition: border-color .2s, background .2s; }
.co2-payopt:has(input:checked), .co2-payopt.on { border-color: #C9A98F; background: #fff; }
.co2-payopt input { display: none; }
.co2-radio { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid #cdbfae; flex: none; display: flex; align-items: center; justify-content: center; }
.co2-payopt:has(input:checked) .co2-radio::after, .co2-payopt.on .co2-radio::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #C9A98F; }
.co2-paylabel { font-size: 15px; font-weight: 600; }
.co2-paybox { background: #F2E9E0; border-radius: 12px; padding: 12px 14px; font-size: 13.5px; color: #7c6f5e; }
.co2-items { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.co2-item { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: #5a544c; }
.co2-item b { font-weight: 600; white-space: nowrap; color: var(--ink); }
.co2-agree { display: flex; gap: 11px; align-items: flex-start; cursor: pointer; margin-bottom: 18px; }
.co2-agree input { display: none; }
.co2-box { width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid #cdbfae; background: #fff; flex: none; display: flex; align-items: center; justify-content: center; margin-top: 1px; }
.co2-box svg { opacity: 0; }
.co2-agree input:checked + .co2-box { background: #C9A98F; border-color: #C9A98F; }
.co2-agree input:checked + .co2-box svg { opacity: 1; }
.co2-agree-t { font-size: 13px; color: #6a635a; line-height: 1.5; }
.co2-agree-t a { color: #8a6f56; text-decoration: underline; }
@media (max-width: 900px) {
  .ct-grid { flex-direction: column; }
  .ct-side { width: 100%; }
  .ct-sum { position: static; }
  .ct-item { flex-wrap: wrap; }
  .ct-h1 { font-size: 27px; }
}

/* ============ ИЗБРАННОЕ — 1:1 по вёрстке (FAVORITES PAGE) ============ */
.fv{max-width:1240px;margin:0 auto;padding:28px 24px 20px;animation:fadeUp .4s ease}
.fv-h1{margin:0 0 6px;font-size:34px;font-weight:800;letter-spacing:-.03em}
.fv-sub{margin:0 0 28px;font-size:15px;color:#8a8074}
.fv-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.fv-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 16px -10px rgba(43,43,43,.25);border:1px solid rgba(43,43,43,.05);transition:transform .3s}
.fv-card:hover{transform:translateY(-5px)}
.fv-top{position:relative;padding:16px}
.fv-heart{position:absolute;top:24px;right:24px;z-index:2;width:34px;height:34px;border-radius:50%;border:none;background:rgba(255,255,255,.9);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px -4px rgba(43,43,43,.3);padding:0}
.fv-cover{width:100%;aspect-ratio:1/1;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fv-cover span{font-size:14px;font-weight:700;text-align:center;padding:0 16px;color:#4a453f}
.fv-body{padding:0 16px 18px}
.fv-pill{display:inline-block;padding:2px 9px;border-radius:99px;background:#F2E9E0;font-size:11px;font-weight:600;color:#9a8674;margin-bottom:8px}
.fv-body h3{margin:0 0 4px;font-size:15px;font-weight:700}
.fv-body h3 a{color:inherit;text-decoration:none}
.fv-price{margin:0 0 12px;font-size:16px;font-weight:800}
a.fv-add{display:block;width:100%;height:40px;line-height:40px;text-align:center;padding:0;border-radius:12px;border:none;background:#D8C3B3;color:#3a332c;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none}
a.fv-add:hover{background:#c9b09c;color:#3a332c}
.fv-empty,.lk-none{text-align:center;padding:80px 20px;background:#fff;border-radius:20px;border:1px solid rgba(43,43,43,.06)}
.fv-emo{font-size:44px;margin-bottom:16px}
.fv-empty h3,.lk-none h3{margin:0 0 8px;font-size:22px;font-weight:800}
.fv-empty p,.lk-none p{margin:0 0 22px;font-size:15px;color:#7c7266}
a.fv-empty-btn{display:inline-block;padding:13px 30px;border-radius:99px;border:none;background:#D8C3B3;color:#3a332c;font-size:15px;font-weight:700;text-decoration:none}
a.fv-empty-btn:hover{background:#c9b09c;color:#3a332c}
@media(max-width:1024px){.fv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fv-grid{grid-template-columns:1fr}}

/* ============ ЛИЧНЫЙ КАБИНЕТ — 1:1 по вёрстке (ACCOUNT) ============ */
.lk{max-width:1100px;margin:0 auto;padding:28px 24px 20px;animation:fadeUp .4s ease}
.lk-user{display:flex;align-items:center;gap:16px;margin-bottom:32px}
.lk-ava{width:60px;height:60px;border-radius:50%;background:linear-gradient(145deg,#EAD9CC,#D7C1AD);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#3a332c;flex-shrink:0}
.lk-user h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em}
.lk-user p{margin:2px 0 0;font-size:14px;color:#8a8074}
.lk-layout{display:flex;gap:36px;align-items:flex-start}
.lk-nav{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid rgba(43,43,43,.06);border-radius:16px;padding:10px}
.lk-tab{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px 14px;border-radius:12px;border:none;font-size:15px;font-weight:500;background:transparent;color:#5a544c;transition:background .2s;text-decoration:none}
.lk-tab:hover{background:#F6EFE8;color:#5a544c}
.lk-tab.on{font-weight:700;background:#EDE0D3;color:#2B2B2B}
.lk-dot{width:7px;height:7px;border-radius:50%;background:transparent;flex-shrink:0}
.lk-tab.on .lk-dot{background:#B79A82}
.lk-out{text-align:left;padding:12px 14px;border-radius:12px;border:none;font-size:15px;font-weight:500;background:transparent;color:#a5715f;margin-top:4px;text-decoration:none}
.lk-out:hover{background:#F7EDE9;color:#a5715f}
.lk-content{flex:1;min-width:0}
.lk-orders{display:flex;flex-direction:column;gap:14px}
.lk-order{background:#fff;border:1px solid rgba(43,43,43,.06);border-radius:16px;padding:20px 22px}
.lk-order-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.lk-order-num{font-size:16px;font-weight:800}
.lk-order-date{font-size:13px;color:#9a8f80;margin-left:8px}
.lk-order-st{padding:4px 12px;border-radius:99px;background:#DCEAE0;color:#4a7358;font-size:12px;font-weight:700}
.lk-order-bot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.lk-order-items{font-size:14px;color:#5a544c}
.lk-order-total{font-size:17px;font-weight:800}
.lk-mats{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}
.lk-mat{background:#fff;border:1px solid rgba(43,43,43,.06);border-radius:16px;overflow:hidden}
.lk-mat-pad{padding:14px}
.lk-mat-cover{width:100%;aspect-ratio:1/1;border-radius:11px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lk-mat-cover span{font-size:13px;font-weight:700;text-align:center;padding:0 14px;color:#4a453f}
.lk-mat-body{padding:0 14px 16px}
.lk-mat-body h3{margin:0 0 4px;font-size:14px;font-weight:700}
.lk-mat-meta{margin:0 0 12px;font-size:12px;color:#9a8f80}
a.lk-mat-btn{width:100%;height:40px;border-radius:11px;border:none;background:#2B2B2B;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}
a.lk-mat-btn:hover{background:#443f39;color:#fff}
.lk-set{background:#fff;border:1px solid rgba(43,43,43,.06);border-radius:18px;padding:26px;max-width:520px}
.lk-set h3{margin:0 0 20px;font-size:18px;font-weight:800}
.lk-set-fields{display:flex;flex-direction:column;gap:16px}
.lk-f{display:block}
.lk-f>span{display:block;font-size:13px;color:#7c7266;margin-bottom:6px}
.lk-f input{width:100%;height:48px;padding:0 16px;border-radius:12px;border:1px solid rgba(43,43,43,.12);background:#F8F4EE;font-size:15px;outline:none;font-family:inherit;color:var(--ink)}
.lk-f input:focus{border-color:#B79A82}
.lk-check{display:flex;align-items:center;gap:10px;font-size:14px;color:#4a453f;cursor:pointer;margin-top:4px;position:relative}
.lk-check input{position:absolute;opacity:0;pointer-events:none}
.lk-box{width:18px;height:18px;border-radius:6px;border:1.5px solid #cdbfae;background:#fff;flex-shrink:0}
.lk-check input:checked+.lk-box{background:#2B2B2B;border-color:#2B2B2B}
.lk-save{margin-top:24px;padding:13px 28px;border-radius:12px;border:none;background:#2B2B2B;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}
.lk-save:hover{background:#443f39}
.lk-pager{display:flex;gap:10px;margin-top:18px}
a.lk-pg{padding:10px 18px;border-radius:99px;background:#fff;border:1px solid rgba(43,43,43,.12);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
@media(max-width:1024px){.lk-mats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.foot-cols{gap:32px}}
@media(max-width:860px){.lk-layout{flex-direction:column;gap:20px;align-items:stretch}.lk-nav{width:100%}.lk-mats{grid-template-columns:repeat(2,1fr)}}

/* ============ САЙДБАР ЛК — 1:1 по вёрстке (ACCOUNT DRAWER) ============ */
.adr-body{flex:1;overflow-y:auto;padding:22px 24px}
.adr-user{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.adr-ava{width:52px;height:52px;border-radius:50%;background:linear-gradient(145deg,#EAD9CC,#D7C1AD);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#3a332c;flex-shrink:0}
.adr-user h4{margin:0;font-size:17px;font-weight:800}
.adr-user p{margin:2px 0 0;font-size:13px;color:#8a8074}
.adr-cap,.th-cap{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#a1978a;font-weight:700}
.adr-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.adr-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid rgba(43,43,43,.06);border-radius:14px;padding:10px}
.adr-thumb{width:44px;height:44px;border-radius:10px;flex-shrink:0}
.adr-info{flex:1;min-width:0}
.adr-info h4{margin:0 0 2px;font-size:14px;font-weight:700;line-height:1.3}
.adr-info span{font-size:12px;color:#9a8f80}
a.adr-dl{width:34px;height:34px;flex-shrink:0;border:none;background:#F2E9E0;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#8a6f56}
a.adr-dl:hover{background:#EADFD1;color:#8a6f56}
.adr-none{margin:0;font-size:14px;color:#8a8074}
.adr-foot{padding:18px 24px;border-top:1px solid rgba(43,43,43,.08)}
a.adr-open{display:block;width:100%;height:50px;line-height:50px;text-align:center;border-radius:14px;border:none;background:#2B2B2B;color:#fff;font-size:15px;font-weight:700;margin-bottom:8px;text-decoration:none}
a.adr-open:hover{background:#443f39;color:#fff}
a.adr-out{display:block;width:100%;height:44px;line-height:44px;text-align:center;border-radius:12px;border:none;background:transparent;color:#a5715f;font-size:14px;font-weight:600;text-decoration:none}
a.adr-out:hover{background:rgba(43,43,43,.04);color:#a5715f}
.adr-lead{margin:0 0 22px;font-size:15px;line-height:1.6;color:#5a544c}
.adr-fields{display:flex;flex-direction:column;gap:14px}
.adr-f{display:block}
.adr-f>span:first-child{display:block;font-size:13px;color:#7c7266;margin-bottom:6px}
.adr-f input{width:100%;height:48px;padding:0 16px;border-radius:12px;border:1px solid rgba(43,43,43,.12);background:#fff;font-size:15px;outline:none;font-family:inherit;color:var(--ink)}
.adr-f input:focus{border-color:#B79A82}
.adr-pw{position:relative;display:block}
.adr-pw input{padding:0 48px 0 16px}
.adr-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#9a8f80;padding:0}
a.adr-forgot{font-size:13px;color:#8a6f56;align-self:flex-end;text-decoration:none}
.adr-in{width:100%;height:50px;margin-top:18px;border-radius:14px;border:none;background:#2B2B2B;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}
.adr-in:hover{background:#443f39}
.adr-or{display:flex;align-items:center;gap:14px;margin:22px 0}
.adr-line{flex:1;height:1px;background:rgba(43,43,43,.1)}
.adr-or-t{font-size:13px;color:#a1978a}
a.adr-reg{display:block;width:100%;height:50px;line-height:48px;text-align:center;border-radius:14px;border:1px solid rgba(43,43,43,.16);background:transparent;font-size:15px;font-weight:700;color:var(--ink);text-decoration:none}
a.adr-reg:hover{background:rgba(43,43,43,.05);color:var(--ink)}

/* ============ СПАСИБО — 1:1 по вёрстке (THANKS) ============ */
.th{max-width:640px;margin:0 auto;padding:56px 24px;animation:fadeUp .4s ease}
.th-card{background:#fff;border:1px solid rgba(43,43,43,.06);border-radius:24px;padding:48px 40px;text-align:center;box-shadow:0 20px 50px -30px rgba(43,43,43,.3)}
.th-ok{width:84px;height:84px;margin:0 auto 24px;border-radius:50%;background:#DCEAE0;display:flex;align-items:center;justify-content:center;animation:pop .5s cubic-bezier(.2,1.4,.5,1)}
@keyframes pop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
.th-h1{margin:0 0 10px;font-size:30px;font-weight:800;letter-spacing:-.02em}
.th-p{margin:0 0 4px;font-size:16px;color:#5a544c}
.th-p2{margin:0 0 28px}
.th-box{background:#F8F4EE;border-radius:16px;padding:18px;margin-bottom:28px;text-align:left}
.th-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
a.th-file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fff;border-radius:11px;border:1px solid rgba(43,43,43,.06);text-decoration:none}
.th-file-n{font-size:14px;font-weight:600;color:var(--ink)}
.th-file-d{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#8a6f56}
.th-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
a.th-dark{padding:14px 28px;border-radius:99px;border:none;background:#2B2B2B;color:#fff;font-size:15px;font-weight:700;text-decoration:none}
a.th-dark:hover{background:#443f39;color:#fff}
a.th-ghost{padding:14px 28px;border-radius:99px;border:1px solid rgba(43,43,43,.16);background:transparent;color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}
a.th-ghost:hover{background:rgba(43,43,43,.05);color:var(--ink)}
@media(max-width:600px){.th-card{padding:36px 22px}}

/* ── Обвязка сайдбаров: приводим к вёрстке 1:1 ── */
.ovl{background:rgba(43,43,43,.32)}
.drawer{width:min(400px,100%);background:#F8F4EE;box-shadow:none}
/* Тень только у открытого: закрытый стоит за краем экрана, но его тень светила внутрь — справа была тёмная полоса */
.drawer.open{box-shadow:-20px 0 50px -20px rgba(43,43,43,.4)}
.dr-head{padding:22px 24px;border-bottom:1px solid rgba(43,43,43,.08)}
.dr-head h3{font-size:20px;font-weight:800;letter-spacing:normal}
.dr-foot{padding:20px 24px;border-top:1px solid rgba(43,43,43,.08);background:transparent}
.x{width:36px;height:36px;background:transparent;border-radius:10px}
.x:hover{background:rgba(43,43,43,.06)}
.dr-thumb{width:48px;height:48px;border-radius:10px}
.adr-thumb{width:48px;height:48px;border-radius:10px}
.dr-btn--dark{margin-bottom:10px}

/* ── Плавный скролл к якорям с отступом под липкую шапку (72px) ── */
html{scroll-behavior:smooth;scroll-padding-top:92px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ── Правки по замечаниям ── */
.co2{padding-bottom:50px}
.slide-deco{display:none}

/* ── Выбранные фильтры каталога ── */
.fchips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px}
.fchip{display:inline-flex;align-items:center;gap:7px;padding:7px 9px 7px 14px;border-radius:99px;border:none;background:#EDE0D3;color:#2B2B2B;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s}
.fchip:hover{background:#E2D0BE}
.fchip svg{opacity:.45;transition:opacity .2s}
.fchip:hover svg{opacity:1}
.fchip-clear{padding:7px 12px;border-radius:99px;border:none;background:transparent;color:#a5715f;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s}
.fchip-clear:hover{background:rgba(43,43,43,.05)}

/* Атрибут hidden обязан выигрывать у любого своего display.
   Иначе скрытый оверлей остаётся отрисованным и перехватывает все клики. */
[hidden]{display:none!important}

/* ============ СЕКТОРЫ КАТАЛОГА ============ */
.sec{max-width:1240px;margin:0 auto;padding:44px 24px 8px}
.sec-h{margin:0 0 6px;font-size:28px;font-weight:800;letter-spacing:-.02em}
.sec-sub{margin:0 0 22px;font-size:15px;color:#8a8074}
.sec-grid{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}
a.sec-card{position:relative;display:flex;flex-direction:column;gap:2px;padding:22px 22px 20px;border-radius:18px;text-decoration:none;color:var(--ink);border:1px solid rgba(43,43,43,.05);transition:transform .25s ease,box-shadow .25s ease}
a.sec-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px -18px rgba(43,43,43,.45);color:var(--ink)}
.sec-n{font-size:19px;font-weight:800;letter-spacing:-.01em}
.sec-c{font-size:13px;color:rgba(43,43,43,.5);font-weight:600}
.sec-go{position:absolute;right:20px;bottom:18px;color:rgba(43,43,43,.4);transition:transform .25s ease,color .25s ease}
a.sec-card:hover .sec-go{transform:translateX(4px);color:rgba(43,43,43,.75)}
@media(max-width:900px){.sec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.sec-grid{grid-template-columns:1fr}.sec{padding:32px 18px 4px}}

/* ============ ПРЕПОДАВАТЕЛИ ============ */
.tch{max-width:1240px;margin:0 auto;padding:56px 24px 8px}
.tch-head{margin-bottom:26px}
.tch-head h2{margin:0 0 6px;font-size:28px;font-weight:800;letter-spacing:-.02em}
.tch-head p{margin:0;font-size:15px;color:#8a8074;max-width:620px}
.tch-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.tch-card{background:#fff;border:1px solid rgba(43,43,43,.06);border-radius:18px;overflow:hidden;transition:transform .3s}
.tch-card:hover{transform:translateY(-4px)}
.tch-photo{position:relative;aspect-ratio:4/3;background:linear-gradient(145deg,#EAD9CC,#D7C1AD);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tch-photo img{width:100%;height:100%;object-fit:cover}
.tch-ltr{font-size:44px;font-weight:800;color:#3a332c}
.tch-body{padding:18px 20px 22px}
.tch-body h3{margin:0 0 6px;font-size:18px;font-weight:800}
.tch-role{display:inline-block;padding:3px 10px;border-radius:99px;background:#F2E9E0;font-size:11.5px;font-weight:600;color:#9a8674}
.tch-exp{margin:10px 0 0;font-size:13px;color:#9a8f80;font-weight:600}
.tch-bio{margin-top:10px;font-size:14px;line-height:1.6;color:#5a544c}
.tch-bio p{margin:0 0 8px}
.tch-bio p:last-child{margin:0}
.tch-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:22px;padding:26px 30px;border-radius:20px;background:var(--footer)}
.tch-cta-t h3{margin:0 0 4px;font-size:20px;font-weight:800;letter-spacing:-.02em}
.tch-cta-t p{margin:0;font-size:14.5px;color:#6d6255}
.tch-btn{flex-shrink:0;padding:15px 30px;border-radius:99px;border:none;background:#2B2B2B;color:#fff;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s}
.tch-btn:hover{background:#443f39}
@media(max-width:1024px){.tch-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.tch-grid{grid-template-columns:1fr}.tch{padding:40px 18px 4px}.tch-cta{padding:22px}.tch-btn{width:100%}}

/* ============ ТЕЛЕФОН И CTA В ШАПКЕ ============ */
.hdr-cta{display:flex;align-items:center;gap:12px;flex-shrink:0}
a.soc{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#8a8074;transition:color .2s,background .2s}
a.soc:hover{color:var(--ink);background:rgba(43,43,43,.06)}
a.soc svg{display:block}
a.hdr-tel{font-size:14.5px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
a.hdr-tel:hover{color:#8a6f56}
.hdr-trial{padding:9px 18px;border-radius:99px;border:none;background:var(--accent);color:#3a332c;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .2s}
.hdr-trial:hover{background:#c9b09c}
@media(max-width:1100px){a.hdr-tel{display:none}}
@media(max-width:860px){.hdr-cta{display:none}}
.mnav-sep{height:1px;background:rgba(43,43,43,.1);margin:6px 0}
a.mnav-tel{font-weight:700}
.mnav-soc{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.mnav-soc a.soc{width:40px;height:40px;background:rgba(43,43,43,.05);color:#5a544c}
.mnav-soc a.soc:hover{background:rgba(43,43,43,.1);color:var(--ink)}
.mnav-soc a.soc svg{width:19px;height:19px}
.mnav-trial{margin-top:10px;width:100%;height:46px;border-radius:14px;border:none;background:var(--accent);color:#3a332c;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}

/* ============ ПОДВАЛ: КОЛОНКИ ============ */
.foot-cols{display:flex;gap:56px;flex-wrap:wrap}
.foot-col{min-width:130px;display:flex;flex-direction:column;gap:10px}
.foot-col h4{margin:0 0 2px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#9a8674;font-weight:700}
.foot-col a{font-size:15px;color:#4a453f;text-decoration:none}
.foot-col a:hover{color:#8a6f56}
.foot-addr{font-size:14px;color:#6d6255;line-height:1.5}

/* ============ ФОРМА ЗАПИСИ ============ */
.tr-want{display:flex;flex-direction:column;gap:8px}
.tr-lbl{font-size:13px;color:#7c7266;margin-bottom:2px}
.tr-opt{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#4a453f;cursor:pointer;position:relative}
.tr-opt input{position:absolute;opacity:0;pointer-events:none}
.tr-radio{width:18px;height:18px;border-radius:50%;border:1.5px solid #cdbfae;background:#fff;flex-shrink:0;transition:border-color .2s}
.tr-opt input:checked+.tr-radio{border-color:#2B2B2B;border-width:5px}
.adr-f textarea{width:100%;padding:12px 16px;border-radius:12px;border:1px solid rgba(43,43,43,.12);background:#fff;font-size:15px;outline:none;font-family:inherit;color:var(--ink);resize:vertical}
.adr-f textarea:focus{border-color:#B79A82}
.tr-agree{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;color:#5a544c;cursor:pointer;position:relative;margin-top:2px}
.tr-agree input{position:absolute;opacity:0;pointer-events:none}
.tr-agree .lk-box{margin-top:1px}
.tr-agree input:checked+.lk-box{background:#2B2B2B;border-color:#2B2B2B}
.tr-agree a{color:#8a6f56}
.tr-msg{margin:14px 0 0;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.45}
.tr-msg.ok{background:#DFEBDF;color:#3f6b3f}
.tr-msg.err{background:#FBE6E9;color:#9c4f5e}

/* ============ ТОВАР: СЕРТИФИКАТЫ, FAQ, ОТЗЫВЫ ============ */
.pcert,.pfaq{max-width:1240px;margin:0 auto;padding:0 0 8px}
.pcert-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pcert-nav{display:flex;gap:8px;flex-shrink:0}
.pcert-arrow{width:38px;height:38px;border-radius:50%;border:1px solid rgba(43,43,43,.14);background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s}
.pcert-arrow:hover:not(:disabled){background:#F2E9E0}
.pcert-arrow:disabled{opacity:.3;cursor:default}
.pcert-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 10px;scrollbar-width:none}
.pcert-track::-webkit-scrollbar{display:none}
button.pcert-i{flex:0 0 calc((100% - 42px)/3.5);scroll-snap-align:start;padding:0;border:1px solid rgba(43,43,43,.06);border-radius:14px;overflow:hidden;background:#fff;cursor:pointer;transition:transform .25s}
button.pcert-i:hover{transform:translateY(-3px)}
.pcert-i img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;display:block}

/* Попап сертификата */
/* Полноэкранный попап по умолчанию скрыт, а не «скрыт, пока кто-то перебьёт».
   Он умеет парализовать весь сайт, поэтому безопасное состояние — базовое. */
.lb{position:fixed;inset:0;z-index:9998;background:rgba(43,43,43,.82);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;gap:18px;padding:40px 20px;opacity:0;transition:opacity .22s ease}
.lb:not([hidden]){display:flex}
.lb.show{opacity:1}
.lb-img{max-width:min(1000px,90vw);max-height:92vh;border-radius:14px;object-fit:contain;box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}
.lb-x{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-x:hover{background:rgba(255,255,255,.26)}
.lb-arrow{flex-shrink:0;width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-arrow:hover{background:rgba(255,255,255,.26)}
.lb-count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-size:13px;font-weight:600;color:rgba(255,255,255,.7)}
@media(max-width:900px){button.pcert-i{flex-basis:calc((100% - 14px)/2)}}
@media(max-width:560px){button.pcert-i{flex-basis:78%}.lb{gap:8px;padding:20px 12px}.lb-arrow{width:38px;height:38px}}

.pp-two{display:inline-block;padding:5px 12px;border-radius:99px;background:#DCEAE0;color:#4a7358;font-size:12.5px;font-weight:700;white-space:nowrap}

/* Стрелки и счётчик на обложке товара */
.pp-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:#4a453f;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px -6px rgba(43,43,43,.5);opacity:.75;transition:opacity .2s,background .2s}
.pp-prev{left:12px}
.pp-next{right:12px}
.pp-cover:hover .pp-nav{opacity:1}
.pp-thumb{cursor:pointer}
.pp-nav:hover{background:#fff}
.pp-count{position:absolute;left:12px;bottom:12px;z-index:2;height:26px;padding:0 9px;border-radius:99px;background:rgba(255,255,255,.9);color:#4a453f;display:flex;align-items:center;font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 4px 14px -6px rgba(43,43,43,.45);opacity:.85;pointer-events:none}
@media(hover:none){.pp-nav{opacity:1}}

/* Плашка «Смотреть» и кнопочность превью.
   Вставлял их поиском по '.pp-thumbs{', а в файле '.pp-thumbs {' — замена молча не прошла,
   и span висел неоформленным поверх обложки. Дописываю явно. */
.pp-cover.is-zoom{cursor:zoom-in}
.pp-zoom{position:absolute;right:12px;bottom:12px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);color:#4a453f;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px -6px rgba(43,43,43,.45);opacity:.75;transition:opacity .2s,background .2s;pointer-events:none}
.pp-cover.is-zoom:hover .pp-zoom{opacity:1;background:#fff}
button.pp-thumb{padding:0;background:none;cursor:pointer;overflow:hidden;flex-shrink:0}

main.pp{padding-bottom:50px}

/* Бургер: гамбургер ↔ крестик */
.burger{position:relative}
.burger svg{display:block}

/* ===== Кредит «создано по плану» =====
   Шрифт не задаём — наследуется от сайта. Подвал светлый (#E4D5C3), поэтому
   вместо холодного серого из шаблона берём тёплый #6a5f4e — цвет реквизитов рядом.
   Акцент сайта --accent:#D8C3B3 на этом фоне не читался бы, берём #8a6f56 —
   тот же, которым подсвечиваются ссылки подвала. */
.po-plan-credit{display:inline-flex;align-items:center;gap:6px;font-size:13px;letter-spacing:.01em;color:#6a5f4e;text-decoration:none;opacity:.9;transition:opacity .2s ease}
.po-plan-credit:hover{opacity:1;color:#6a5f4e}
.po-plan-credit__logo{height:12px;width:auto;display:block;flex-shrink:0}
.po-plan-credit__text{display:inline-flex;align-items:baseline;gap:4px}
.po-plan-credit__prefix{color:inherit}
.po-plan-credit__brand{color:#8a6f56;text-decoration:underline dashed;text-decoration-color:#8a6f56;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:600}
.po-plan-credit:hover .po-plan-credit__brand{filter:brightness(1.15)}
@media(max-width:480px){.foot-bottom{flex-direction:column;align-items:flex-start}}

/* ============ ПЛАВАЮЩАЯ КНОПКА «СВЯЗАТЬСЯ» ============
   В стилистике сайта: тёплая палитра, скругления 16/18, тонкий контур.
   Форму записи не дублируем — кнопка открывает существующий сайдбар. */
.fab{position:fixed;right:22px;bottom:22px;z-index:65}
.fab-btn{position:relative;width:56px;height:56px;border-radius:50%;border:none;background:#2B2B2B;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 34px -12px rgba(43,43,43,.65);transition:transform .18s ease,background .2s}
.fab-btn:hover{transform:translateY(-2px);background:#443f39}
.fab-btn:active{transform:scale(.96)}
.fab.is-open .fab-btn{background:#443f39}
.fab-btn svg{display:block;position:relative;z-index:1}

/* Пульс — мягкий, в цвет акцента, а не кричащий */
.fab-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent);pointer-events:none;animation:fab-pulse 2.6s ease-out infinite}
.fab.is-open .fab-pulse{display:none}
@keyframes fab-pulse{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.35);opacity:0}}
@media(prefers-reduced-motion:reduce){.fab-pulse{animation:none;opacity:0}}

.fab-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:288px;max-width:calc(100vw - 44px);background:#fff;border:1px solid rgba(43,43,43,.06);border-radius:18px;box-shadow:0 24px 60px -24px rgba(43,43,43,.5);overflow:hidden;transform-origin:bottom right;animation:fab-pop .2s cubic-bezier(.34,1.4,.64,1)}
@keyframes fab-pop{from{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:none}}
.fab-head{padding:18px 20px 14px;background:var(--bg);border-bottom:1px solid rgba(43,43,43,.07)}
.fab-head h4{margin:0;font-size:16px;font-weight:800;letter-spacing:-.01em}
.fab-head p{margin:3px 0 0;font-size:12.5px;color:#8a8074}
.fab-ch{display:flex;padding:14px 10px 10px;gap:2px}
a.fab-c{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 2px;border-radius:12px;text-decoration:none;color:var(--ink);transition:background .15s}
a.fab-c:hover{background:var(--bg);color:var(--ink)}
.fab-c-i{width:38px;height:38px;border-radius:50%;background:var(--bg);color:#5a544c;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
a.fab-c:hover .fab-c-i{background:var(--accent);color:#3a332c}
.fab-c-l{font-size:10.5px;font-weight:600;color:#8a8074;white-space:nowrap}
.fab-or{position:relative;text-align:center;margin:2px 20px 12px}
.fab-or::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(43,43,43,.1)}
.fab-or span{position:relative;padding:0 10px;background:#fff;font-size:12px;color:#a1978a}
.fab-trial{display:block;width:calc(100% - 40px);margin:0 20px 18px;height:46px;border-radius:14px;border:none;background:var(--accent);color:#3a332c;font-size:14.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s}
.fab-trial:hover{background:#c9b09c}
@media(max-width:600px){.fab{right:14px;bottom:14px}.fab-btn{width:52px;height:52px}}

/* ============ ФИЛЬТРЫ КАТАЛОГА НА МОБИЛЕ ============
   Был раскрывающийся блок внутри страницы — он толкал сетку вниз.
   Стало: выдвижной сайдбар справа, как корзина и ЛК, с тем же оверлеем. */
.filters-head,.filters-foot{display:none}
.ft-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#2B2B2B;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}

@media (max-width: 639px) {
  /* min-width:220px у поиска + кнопка не влезали в 327px — панель переносила кнопку вниз */
  .toolbar{flex-wrap:nowrap;gap:10px}
  .search{min-width:0}
  /* margin-bottom:12px остался с тех пор, когда кнопка была полосой над каталогом:
     он растил панель до 58px и поднимал кнопку относительно поиска на 6px */
  .filter-toggle{gap:8px;justify-content:center;height:46px;padding:0 16px;margin:0}
  .filter-toggle span:first-of-type{font-weight:600}

  .filters{position:fixed;top:0;right:0;bottom:0;width:min(340px,88%);z-index:70;background:#F8F4EE;transform:translateX(101%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto;box-shadow:none}
  .sidebar.open .filters{transform:none;box-shadow:-20px 0 50px -20px rgba(43,43,43,.4)}

  .filters-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid rgba(43,43,43,.08);position:sticky;top:0;background:#F8F4EE;z-index:1}
  .filters-head h3{margin:0;font-size:20px;font-weight:800}

  .filters .fgroup{padding:0 24px}
  .filters .fgroup:first-of-type{padding-top:18px}

  .filters-foot{display:flex;gap:10px;margin-top:auto;padding:16px 24px;border-top:1px solid rgba(43,43,43,.08);position:sticky;bottom:0;background:#F8F4EE}
  .ff-reset{flex:0 0 auto;padding:0 18px;height:46px;border-radius:12px;border:1px solid rgba(43,43,43,.16);background:transparent;color:var(--ink);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}
  .ff-apply{flex:1;height:46px;border-radius:12px;border:none;background:#2B2B2B;color:#fff;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}
}

/* ============ HERO: СЛАЙДЫ ЗАКАЗЧИКА ============
   Картинка 1672×941 (~16:9), иллюстрация справа, слева свободное поле под текст.
   Держим родное соотношение, иначе рамка режет иллюстрацию сверху и снизу. */
/* Обрезку и скругление держит .hero-view, а .hero-box — сетка:
   стрелка · слайд · стрелка в первом ряду, точки во втором.
   Абсолютом не выйдет: overflow:hidden не выпускал их из-под слайда. */
/* Одна колонка: стрелки абсолютом и в потоке не участвуют. Три колонки давали
   два зазора по 14px — карточка выходила на 28px уже соседних секций. */
.hero-box{position:relative;height:auto;aspect-ratio:auto;max-height:none;border-radius:0;overflow:visible;box-shadow:none;
  display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;align-items:center;gap:16px 0}
/* Высота задана прямо, без aspect-ratio: вместе с max-height браузер считал по
   соотношению ШИРИНУ (448×1.777=796) — карточка сама себя сжимала и не заполняла колонку.
   448 вместо 640 — ровно −30%. Кадр режется снизу-справа: сверху у иллюстраций пустой запас. */
.hero-view{position:relative;grid-column:1;grid-row:1;height:448px;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(43,43,43,.28)}
.slide-img{object-position:right bottom}
/* Стрелки абсолютом: так они не занимают колонок сетки, боковые auto схлопываются в 0,
   и карточка забирает всю ширину контейнера (1192) — как остальные секции.
   В потоке они отъедали по 58px с каждой стороны, из-за этого герой был уже. */
.arrow{position:absolute;top:224px;transform:translateY(-50%);z-index:2}
.arrow.left{left:12px;right:auto}
.arrow.right{right:12px;left:auto}
/* Выносим за пределы контейнера, когда экран это позволяет: при 1240 + 2×58
   на более узких они бы вылезли за край окна и дали горизонтальную прокрутку. */
@media (min-width:1360px){
  .arrow.left{left:-58px}
  .arrow.right{right:-58px}
}
.dots{position:static;bottom:auto;left:auto;right:auto;grid-column:1/-1;grid-row:2}
.slide{overflow:hidden}
.slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.slide-txt{position:absolute;left:0;top:0;bottom:0;width:54%;display:flex;flex-direction:column;justify-content:center;padding:0 24px 0 clamp(28px,5vw,64px)}
.slide-txt h2{margin:0 0 10px;font-size:clamp(24px,3vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.12}
.slide-txt p{margin:0 0 22px;font-size:clamp(14px,1.3vw,17px);color:#5a544c;line-height:1.5;max-width:24em}
.slide-btn{align-self:flex-start;padding:13px 28px;border-radius:99px;border:none;background:var(--ink);color:#fff;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s}
.slide-btn:hover{background:#443f39;color:#fff;transform:translateY(-2px)}

/* Узкие экраны: 16:9 при 327px — это 184px высоты, текст поверх не влезет.
   Поэтому складываем: картинка сверху, текст под ней. */
@media (max-width: 760px) {
  /* Соотношение теперь на .hero-view — сбрасывать надо его, иначе карточка
     держит 16:9 (327×184 на телефоне) и overflow режет весь текст слайда. */
  .hero-view{aspect-ratio:auto;max-height:none;height:auto}
  .track{align-items:stretch}
  .slide{display:flex;flex-direction:column;background:var(--bg)}
  .slide-img{position:static;height:auto}
  .slide-txt{position:static;width:100%;justify-content:flex-start}

  /* Слайд — во всю ширину контейнера, стрелки уходят вниз на уровень точек. */
  .hero{padding:16px 20px 0}
  .hero-box{grid-template-columns:auto 1fr auto;gap:12px 8px}
  .hero-view{grid-column:1/-1;grid-row:1}
  .arrow{position:static;top:auto;transform:none;width:36px;height:36px;grid-row:2}
  .arrow.left{grid-column:1;left:auto}
  .arrow.right{grid-column:3;right:auto}
  .dots{grid-column:2;grid-row:2}

  /* Компактнее по высоте: кадр чуть шире формата (пустой запас сверху у иллюстраций
     есть), текст плотнее. object-position:right bottom бережёт саму фигуру. */
  .slide-img{aspect-ratio:16/7}
  .slide-txt{padding:22px 24px 26px}
  .slide-txt h2{font-size:20px;margin-bottom:7px;line-height:1.15}
  .slide-txt p{font-size:13.5px;margin-bottom:16px;line-height:1.45}
  .slide-btn{padding:11px 22px;font-size:14px}
}

/* Кредит — в правый угол. Раньше .foot-bottom разводил space-between три блока
   (реквизиты · кредит · юр. ссылки), и кредит оказывался посередине. */
.foot-bottom-l{display:flex;align-items:center;gap:20px;flex-wrap:wrap;min-width:0}
.po-plan-credit{margin-left:auto;flex-shrink:0}
@media(max-width:480px){.po-plan-credit{margin-left:0}}

/* ============ ЮРИДИЧЕСКИЕ СТРАНИЦЫ (оферта, политика, согласие) ============ */
.legal-meta{margin:0 0 26px;font-size:13.5px;color:#a1978a}
main.page h2{margin:34px 0 12px;font-size:20px;font-weight:800;letter-spacing:-.01em}
main.page h2:first-of-type{margin-top:8px}
main.page p{margin:0 0 12px;font-size:15px;line-height:1.65;color:#3a352f}
main.page ul,main.page ol{margin:0 0 14px;padding-left:22px}
main.page li{margin:0 0 7px;font-size:15px;line-height:1.6;color:#3a352f}
main.page a{color:#8a6f56;text-decoration:underline;text-decoration-color:rgba(138,111,86,.4);text-underline-offset:2px}
main.page a:hover{text-decoration-color:#8a6f56}
main.page strong{font-weight:700;color:var(--ink)}
