/*
Theme Name: Лесная ягодка
Description: Тема интернет-магазина «Лесная ягодка». Русская мануфактура, современная редакционная эстетика.
Version: 0.1.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: lesnaya
*/

/* ================= ТОКЕНЫ ================= */
:root{
  /* берёста и мох: холоднее и глуше обычного «эко-зелёного» */
  --paper:#EDE9DF; --sand:#E1DBCC; --card:#F7F5EE;
  --ink:#191D18; --ink-2:#3D453B; --muted:#5F675C;
  --line:#D6D0C1; --line-2:#E4DFD2;
  --green:#2E3A2C; --green-deep:#161C15; --green-soft:#DFE3D8; --green-live:#4A7A4E;
  --berry:#6E2436; --honey:#A8762C;
  --serif:"Spectral",Georgia,"Times New Roman",serif;
  --sans:"Golos Text",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --radius:3px;
  --wrap:1180px;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans);
     font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif); font-weight:400; margin:0; line-height:1.15}
p{margin:0}
button{font:inherit; color:inherit}

.in{max-width:var(--wrap); margin-inline:auto; padding-inline:clamp(1rem,4vw,2rem)}
.sec{padding-block:clamp(2.6rem,5vw,4.3rem)}
.sec.sand{background:var(--sand)}
.eyebrow{font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
         font-weight:600; color:var(--muted)}
.tnum{font-variant-numeric:tabular-nums}

/* ================= КНОПКИ ================= */
.btn{display:inline-flex; align-items:center; gap:.55rem; border-radius:2px; cursor:pointer;
     font-size:.72rem; letter-spacing:.11em; text-transform:uppercase; font-weight:600;
     padding:.85rem 1.5rem; border:1px solid transparent; transition:.15s; text-align:center}
.btn-primary{background:var(--green); color:#F2EFE6; border-color:var(--green)}
.btn-primary:hover{background:var(--green-deep)}
.btn-ghost{border-color:rgba(233,229,218,.45); color:#E9E5DA}
.btn-out{border-color:var(--line); color:var(--ink)}
.btn-out:hover{border-color:var(--muted)}
.btn:active{transform:scale(.96)}

/* ================= ШАПКА ================= */
.hdr{background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50}
.hdr .in{display:flex; align-items:center; gap:1.4rem; padding-block:.9rem}
.brand{display:flex; align-items:center; gap:.6rem; font-family:var(--serif); font-size:.95rem;
       letter-spacing:.12em; text-transform:uppercase; line-height:1.1}
.brand b{font-weight:400}
.nav{display:flex; gap:1.3rem; margin-left:auto; font-size:.88rem}
.nav a:hover{color:var(--green)}
.hdr .cart{display:flex; align-items:center; gap:.45rem; font-size:.88rem}
.hdr .cart .n{background:var(--berry); color:#F4EAEA; border-radius:999px; min-width:19px;
              height:19px; display:grid; place-items:center; font-size:.68rem; font-weight:600}
.burger{display:none; background:none; border:0; cursor:pointer; padding:.3rem}
@media(max-width:900px){
  .nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--paper);
       border-bottom:1px solid var(--line); flex-direction:column; gap:0; padding:.5rem 0}
  .nav.open{display:flex}
  .nav a{padding:.7rem clamp(1rem,4vw,2rem)}
  .burger{display:block; margin-left:auto}
  .hdr .cart{margin-left:.8rem}
}

/* ================= ГЕРОЙ ================= */
.hero{position:relative; overflow:hidden; background:var(--green-deep); color:#E9E5DA}
.hero .bg{position:absolute; inset:0}
.hero .bg img{width:100%; height:100%; object-fit:cover}
/* затемняем ровно настолько, чтобы читался текст: фотография должна остаться видимой */
.hero .bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(100deg,rgba(16,20,15,.72) 0%,rgba(18,23,17,.66) 34%,
             rgba(20,26,19,.4) 58%,rgba(20,26,19,.16) 80%,rgba(20,26,19,.05) 100%)}
.hero .in{position:relative; min-height:clamp(520px,70vh,680px); display:flex;
          align-items:center; padding-block:4rem}
.hero-copy{max-width:min(580px,100%)}
.hero .eyebrow{color:#A9B79F}
.hero h1{color:#EDE9DF; font-size:clamp(2.2rem,5vw,3.7rem); line-height:1.04; margin-block:1.5rem}
.hero p.sub{color:#D2D8CA; max-width:29ch; font-size:clamp(1.02rem,1.5vw,1.2rem); line-height:1.5}
.hero-cta{display:flex; gap:1.4rem; align-items:center; margin-top:2.6rem; flex-wrap:wrap}
.hero .btn-ghost{border-color:transparent; padding-inline:0; text-decoration:underline;
  text-underline-offset:7px; text-decoration-thickness:1px; text-decoration-color:rgba(233,229,218,.4)}
@media(max-width:820px){
  .hero .bg::after{background:linear-gradient(180deg,rgba(16,20,15,.3) 0%,
                   rgba(18,23,17,.72) 52%,rgba(18,23,17,.88) 100%)}
  .hero .in{min-height:500px; align-items:flex-end; padding-block:2.4rem 3rem}
}

/* ================= ВИТРИНА КАТЕГОРИЙ ================= */
.head-row{display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
          margin-bottom:1.4rem; flex-wrap:wrap}
.head-row h2{font-size:clamp(1.6rem,3.4vw,2.3rem)}
.head-row .lead{font-family:var(--serif); font-size:clamp(1.05rem,2vw,1.25rem);
                font-weight:300; color:var(--muted); margin-top:.4rem}
.head-row a.more{font-size:.95rem; color:var(--green); font-weight:500}
/* ассортимент небольшой: одна строка читается как оглавление, а не как полка гипермаркета */
.showcase{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem}
.sc{border:1px solid var(--line); background:var(--card); overflow:hidden; display:flex;
    flex-direction:column; min-width:0; transition:.18s}
.sc:hover{border-color:var(--muted); transform:translateY(-2px);
          box-shadow:0 26px 48px -34px rgba(25,29,24,.5)}
.sc .pic{width:100%; aspect-ratio:1/.9; background:var(--sand); overflow:hidden}
.sc .pic img{width:100%; height:100%; object-fit:cover}
.sc .m{padding:.95rem 1.1rem 1rem; display:flex; flex-direction:column; gap:.15rem}
.sc .m strong{font-family:var(--serif); font-weight:400; font-size:1.35rem; line-height:1.15}
.sc .m em{font-style:normal; font-size:.82rem; color:var(--berry); font-weight:500; margin-top:.45rem}
@media(max-width:900px){.showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .showcase{grid-template-columns:minmax(0,1fr)}
  .sc{flex-direction:row}
  .sc .pic{width:38%; aspect-ratio:1/1; flex:none}
  .sc .m{padding:.9rem 1rem; justify-content:center}
}

/* ================= ПОЛОСА НАБОРА ================= */
.setband{background:var(--green-soft); border-block:1px solid var(--line)}
.setband .in{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
             gap:clamp(1.8rem,5vw,4rem); align-items:center; padding-block:clamp(2.8rem,5.5vw,4.4rem)}
.setband h2{font-size:clamp(1.7rem,3.6vw,2.6rem); margin-block:.7rem .9rem}
.setband p{color:var(--ink-2); max-width:44ch; font-size:.98rem}
.setband .eyebrow{color:var(--green)}
.steps3{display:flex; flex-direction:column; max-width:460px; align-self:center}
.steps3 span{display:grid; grid-template-columns:2.4rem 1fr; align-items:baseline; gap:.5rem;
  font-size:.9rem; color:var(--ink-2); line-height:1.4; padding:.75rem 0;
  border-top:1px solid rgba(25,29,24,.13)}
.steps3 span:last-child{border-bottom:1px solid rgba(25,29,24,.13)}
.steps3 b{font-family:var(--serif); font-size:1.3rem; font-weight:300; color:var(--green)}
@media(max-width:820px){.setband .in{grid-template-columns:minmax(0,1fr)}}

/* ================= СОСТАВ ================= */
.value{background:var(--card); border-block:1px solid var(--line)}
.value .in{display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
           gap:clamp(1.8rem,5vw,4rem); align-items:center; padding-block:clamp(2.8rem,5.5vw,4.4rem)}
.value h2{font-size:clamp(1.7rem,3.4vw,2.5rem); margin-block:.7rem .9rem}
.value p{color:var(--ink-2); max-width:46ch; font-size:.98rem}
.bigstats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
  margin:1.7rem 0 1.3rem; border-block:1px solid var(--line); padding-block:1.2rem}
.bigstats span{display:flex; flex-direction:column; gap:.3rem}
.bigstats b{font-family:var(--serif); font-weight:300; line-height:1; color:var(--green);
            font-size:clamp(1.9rem,4vw,2.8rem)}
.bigstats i{font-style:normal; font-size:.76rem; color:var(--muted); line-height:1.3}
.statnote{font-size:.78rem; color:var(--muted); line-height:1.45; margin-bottom:1.6rem; max-width:44ch}
.value-pic{border:1px solid var(--line); background:var(--card); overflow:hidden; border-radius:2px}
.value-pic img{width:100%; aspect-ratio:1/.8; object-fit:cover}
@media(max-width:820px){.value .in{grid-template-columns:minmax(0,1fr)}}

/* ================= ПРОИЗВОДСТВО ================= */
.origin{background:var(--green-deep); color:#D6DCCE}
.origin .in{display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:clamp(1.6rem,4vw,3.2rem); align-items:start; padding-block:clamp(2.8rem,5.5vw,4.4rem)}
.origin .in.flowwrap{grid-template-columns:minmax(0,1fr); padding-top:0}
.origin figure{margin:0; display:flex; flex-direction:column; gap:.5rem; min-width:0}
.origin .ph{overflow:hidden; border-radius:6px; background:#1E2620}
.origin .ph img{width:100%; height:100%; object-fit:cover}
.origin .big .ph{aspect-ratio:1/.62}
.origin figcaption{font-size:.72rem; letter-spacing:.11em; text-transform:uppercase; color:#8E9A84}
.origin .eyebrow{color:#9DAE93}
.origin h2{color:#EDE9DF; font-size:clamp(1.8rem,3.6vw,2.7rem); line-height:1.06; margin-block:.7rem .9rem}
.origin p{color:#BFC7B8; font-size:.98rem; max-width:42ch}
.origin .place{margin-top:1.2rem; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:#A9B79F; display:flex; align-items:center; gap:.5rem}
.origin .place svg{width:17px; height:17px; flex:none}
.flow{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.9rem,1.8vw,1.4rem);
      border-top:1px solid rgba(233,229,218,.14); padding-top:clamp(1.8rem,3vw,2.6rem)}
/* каждый шаг — карточка: четыре этапа читаются как шаги, а не как колонки текста */
.f{display:flex; flex-direction:column; min-width:0; overflow:hidden; border-radius:6px;
   border:1px solid rgba(233,229,218,.15); background:rgba(233,229,218,.03)}
.f .ph{aspect-ratio:1/.76; overflow:hidden; background:#1E2620}
.f .ph img{width:100%; height:100%; object-fit:cover}
.f .head{display:flex; align-items:baseline; gap:.85rem; padding:1rem 1.15rem .3rem}
.f .n{font-size:.86rem; letter-spacing:.06em; color:#8E9A84; font-weight:600; flex:none}
.f h4{font-family:var(--serif); font-size:1.25rem; color:#EDE9DF}
.f p{font-size:.82rem; color:#A8B29E; line-height:1.5; padding:0 1.15rem 1.15rem}
@media(max-width:820px){
  .origin .in{grid-template-columns:minmax(0,1fr)}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem}
}

/* ================= ПОДВАЛ ================= */
.ftr{background:var(--green-deep); color:#BFC7B8; padding-block:clamp(2.4rem,4vw,3.4rem)}
.ftr .in{display:grid; grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));
         gap:clamp(1.6rem,4vw,3rem)}
.ftr h4{color:#EDE9DF; font-size:1.5rem; margin-bottom:.6rem}
.ftr p{font-size:.86rem; line-height:1.6}
.ftr ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem;
        font-size:.88rem}
.ftr .eyebrow{color:#8E9A84; margin-bottom:.9rem; display:block}
.ftr a:hover{color:#EDE9DF}
.ftr .legal{grid-column:1/-1; border-top:1px solid rgba(233,229,218,.14); margin-top:1.6rem;
            padding-top:1.2rem; font-size:.76rem; color:#8E9A84}
@media(max-width:760px){.ftr .in{grid-template-columns:minmax(0,1fr)}}

/* ================= МАГАЗИН ================= */
.page-hero{background:var(--sand); border-bottom:1px solid var(--line); padding-block:2.4rem}
.page-hero h1{font-size:clamp(2rem,4.4vw,3rem); margin-top:.7rem}
.page-hero p{color:var(--ink-2); max-width:60ch; margin-top:.8rem}

.woocommerce ul.products,
ul.products{display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.4rem; list-style:none; margin:0; padding:0}
@media(max-width:1000px){ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){ul.products{grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem}}
ul.products::before,ul.products::after{display:none !important}
ul.products li.product{width:auto !important; margin:0 !important; float:none !important;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column; position:relative; transition:.18s}
ul.products li.product:hover{border-color:var(--muted); transform:scale(1.03); z-index:2;
  box-shadow:0 26px 48px -34px rgba(25,29,24,.6)}
@media(hover:none){ul.products li.product:hover{transform:none; box-shadow:none}}
ul.products li.product a img{width:100%; aspect-ratio:1/.94; object-fit:cover; margin:0}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif) !important;
  font-size:1.15rem !important; line-height:1.25; padding:1rem 1.05rem .2rem !important; margin:0}
ul.products li.product .price{display:block; padding:.2rem 1.05rem 0; margin:0;
  font-family:var(--serif); font-size:1.25rem; color:var(--ink) !important;
  font-variant-numeric:tabular-nums}
ul.products li.product .price del{color:var(--muted); font-size:.9rem; margin-right:.4rem}
ul.products li.product .button{margin:.9rem 1.05rem 1.05rem !important;
  background:var(--green) !important; color:#F2EFE6 !important; border-radius:2px;
  font-size:.68rem; letter-spacing:.11em; text-transform:uppercase; font-weight:600;
  padding:.8rem 1rem; text-align:center; margin-top:auto !important}
ul.products li.product .button:hover{background:var(--green-deep) !important}
/* сезонность — часть характера бренда, поэтому метка заметная */
ul.products li.product .out-of-stock-badge{position:absolute; left:.85rem; top:.85rem; z-index:2;
  background:#8A2333; color:#F4EAEA; font-size:.6rem; letter-spacing:.07em; text-transform:uppercase;
  font-weight:600; padding:.45rem .75rem; border-radius:2px}
ul.products li.product .low-stock-badge{position:absolute; left:.85rem; top:.85rem; z-index:2;
  background:#8A6220; color:#F4EFE3; font-size:.6rem; letter-spacing:.07em; text-transform:uppercase;
  font-weight:600; padding:.45rem .75rem; border-radius:2px}

.woocommerce-result-count,.woocommerce-ordering{font-size:.86rem; color:var(--muted)}
.woocommerce-ordering select{font:inherit; padding:.5rem; border:1px solid var(--line);
  background:var(--card); border-radius:2px}

/* карточка товара */
.single-product .product{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.6rem,4vw,3rem); align-items:start}
.single-product .product .images img{border:1px solid var(--line); border-radius:var(--radius)}
.single-product .product_title{font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:.6rem}
.single-product .price{font-family:var(--serif); font-size:1.8rem; color:var(--ink)}
.single-product .single_add_to_cart_button{background:var(--green) !important; color:#F2EFE6 !important;
  border-radius:2px; letter-spacing:.11em; text-transform:uppercase; font-weight:600; padding:.9rem 1.6rem}
.single-product .shop_attributes th{font-family:var(--sans); font-weight:600; text-align:left;
  padding:.6rem .8rem .6rem 0; border-bottom:1px solid var(--line-2); vertical-align:top; width:38%}
.single-product .shop_attributes td{padding:.6rem 0; border-bottom:1px solid var(--line-2); color:var(--ink-2)}
@media(max-width:820px){.single-product .product{grid-template-columns:minmax(0,1fr)}}

.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--card);
  border-top:2px solid var(--green); padding:1rem 1.2rem; margin-bottom:1.4rem; list-style:none}
.woocommerce-message a.button,.woocommerce-info a.button{background:var(--green) !important;
  color:#F2EFE6 !important; border-radius:2px; padding:.5rem 1rem; font-size:.7rem;
  letter-spacing:.1em; text-transform:uppercase}

/* ================= КАРТОЧКА ТОВАРА ================= */
.single-product .product .summary{display:flex; flex-direction:column; gap:.2rem}
.single-product .vol{font-size:.8rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); font-weight:600; margin-bottom:.4rem}
.single-product .woocommerce-product-details__short-description{color:var(--ink-2);
  font-size:.98rem; margin:.9rem 0 0; max-width:46ch}
.single-product form.cart{margin-top:1.4rem !important; display:flex; gap:.8rem; align-items:center}
.single-product .quantity input{width:70px; padding:.7rem .5rem; text-align:center;
  border:1px solid var(--line); border-radius:2px; background:var(--card); font:inherit}
.single-product .stock{font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  font-weight:600; margin-top:.8rem}
.single-product .stock.in-stock{color:var(--green-live)}
.single-product .stock.out-of-stock{color:var(--berry)}

/* факты вместо абзаца, который никто не читает */
.facts{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:1.1rem;
  margin:1.5rem 0 .4rem; padding-block:1.2rem; border-block:1px solid var(--line-2)}
.facts span{display:flex; flex-direction:column; gap:.5rem; font-size:.76rem;
  color:var(--muted); line-height:1.35}
.facts svg{color:var(--green)}

/* полоса о сырье */
.berryband{background:var(--tint,var(--sand)); border-block:1px solid var(--line);
  margin:clamp(2rem,4vw,3.2rem) 0; border-radius:var(--radius)}
.bb-in{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(1.4rem,4vw,3.5rem); align-items:start; padding:clamp(1.8rem,4vw,2.8rem)}
.bb-in .col{display:flex; flex-direction:column; gap:.5rem; max-width:46ch}
.berryband h2{font-size:clamp(1.5rem,3vw,2.1rem); color:var(--accent,var(--ink))}
.berryband .eyebrow{color:var(--muted)}
.berryband p{color:var(--ink-2); font-size:.95rem; line-height:1.55}
.berryband .why{border-left:1px solid var(--line); padding-left:clamp(1.2rem,3vw,2.2rem)}
@media(max-width:760px){
  .bb-in{grid-template-columns:minmax(0,1fr)}
  .berryband .why{border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:1.2rem}
}

/* характеристики и отзывы */
.woocommerce-tabs ul.tabs{list-style:none; display:flex; gap:1.6rem; padding:0;
  margin:0 0 1.4rem; border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs a{display:block; padding:.7rem 0; font-size:.78rem;
  letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--muted)}
.woocommerce-tabs ul.tabs li.active a{color:var(--green); box-shadow:inset 0 -2px 0 var(--green)}
.woocommerce-tabs h2{font-size:1.4rem; margin-bottom:.8rem}
.related > h2,.upsells > h2{font-size:clamp(1.4rem,3vw,2rem); margin-bottom:1.2rem}
.related ul.products,.upsells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.related ul.products,.upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* хлебные крошки */
.woocommerce-breadcrumb{font-size:.82rem; color:var(--muted); margin-bottom:1.2rem}
.woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-breadcrumb a:hover{color:var(--green)}

/* ================= КОРЗИНА И ОФОРМЛЕНИЕ (блоки Woo) ================= */
/* Блочные корзина и оформление рисуются в браузере, поэтому красим их классы,
   а не переписываем шаблоны: так правки переживут обновление WooCommerce. */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{max-width:var(--wrap); margin-inline:auto}
.wc-block-components-title,
.wc-block-cart__empty-cart__title,
.wc-block-components-checkout-step__title{font-family:var(--serif) !important; font-weight:400 !important;
  color:var(--ink) !important; letter-spacing:0 !important; text-transform:none !important}
.wc-block-cart__empty-cart__title{font-size:1.8rem !important}
.wc-block-components-checkout-step__title{font-size:1.35rem !important}
.wc-block-components-checkout-step__description{color:var(--muted); font-size:.88rem}

/* строки товаров */
.wc-block-cart-items__header{font-size:.7rem !important; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted) !important; border-bottom:1px solid var(--line) !important}
.wc-block-cart-items__row{border-bottom:1px solid var(--line-2) !important}
.wc-block-cart-item__image img{border:1px solid var(--line); border-radius:2px; background:var(--card)}
.wc-block-components-product-name{font-family:var(--serif) !important; font-size:1.12rem !important;
  color:var(--ink) !important; text-decoration:none !important}
.wc-block-components-product-metadata{color:var(--muted); font-size:.82rem}
.wc-block-components-product-price__value,
.wc-block-components-formatted-money-amount{font-family:var(--serif); color:var(--ink);
  font-variant-numeric:tabular-nums}

/* количество */
.wc-block-components-quantity-selector{border:1px solid var(--line) !important; border-radius:2px !important;
  background:var(--card)}
.wc-block-components-quantity-selector__input{font:inherit !important; color:var(--ink) !important}
.wc-block-components-quantity-selector__button{color:var(--muted) !important; font-size:1.1rem}
.wc-block-components-quantity-selector__button:hover{color:var(--green) !important}

/* итоги */
.wc-block-components-sidebar,
.wc-block-components-order-summary{background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); padding:1.3rem 1.4rem}
.wc-block-components-totals-item__label{color:var(--ink-2)}
.wc-block-components-totals-item__value{font-variant-numeric:tabular-nums; color:var(--ink)}
.wc-block-components-totals-footer-item{border-top:1px solid var(--line) !important; padding-top:.9rem}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--serif); font-size:1.5rem}

/* кнопки */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{background:var(--green) !important;
  color:#F2EFE6 !important; border:1px solid var(--green) !important; border-radius:2px !important;
  font-family:var(--sans) !important; font-size:.72rem !important; letter-spacing:.11em !important;
  text-transform:uppercase !important; font-weight:600 !important; padding:.95rem 1.6rem !important}
.wc-block-components-button:not(.is-link):hover{background:var(--green-deep) !important}
.wc-block-components-button.is-link{color:var(--green) !important}

/* поля формы */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox-control input,
.wc-block-components-select__container{background:var(--card) !important;
  border:1px solid var(--line) !important; border-radius:2px !important;
  font-family:var(--sans) !important; color:var(--ink) !important}
.wc-block-components-text-input input:focus{border-color:var(--green) !important;
  box-shadow:0 0 0 1px var(--green) !important; outline:none}
.wc-block-components-text-input label,
.wc-block-components-checkbox__label{color:var(--muted) !important; font-family:var(--sans) !important}

/* шаги оформления */
.wc-block-checkout__form .wc-block-components-checkout-step{border:1px solid var(--line);
  border-radius:var(--radius); background:var(--card); padding:1.3rem 1.4rem; margin-bottom:1rem}
.wc-block-components-checkout-step__heading-content{color:var(--muted)}
.wc-block-components-notice-banner{border-radius:var(--radius) !important;
  font-family:var(--sans) !important}
.wc-block-components-radio-control__option{border-bottom:1px solid var(--line-2)}
