/*
Theme Name: Fantazia
Description: Fantazia.be — дитячі книжки українською. Design follows the 2026 catalogue.
Version: 0.4.0
Requires PHP: 8.1
Text Domain: fantazia
*/

@font-face { font-family: "Russo One"; font-display: swap; src: url(assets/fonts/russo-one-cyrillic-400-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Russo One"; font-display: swap; src: url(assets/fonts/russo-one-latin-ext-400-normal.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+A720-A7FF; }
@font-face { font-family: "Russo One"; font-display: swap; src: url(assets/fonts/russo-one-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Noto Sans"; font-display: swap; font-weight: 100 900; src: url(assets/fonts/noto-sans-cyrillic-wght-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Noto Sans"; font-display: swap; font-weight: 100 900; src: url(assets/fonts/noto-sans-latin-wght-normal.woff2) format("woff2"); }

:root {
	--cream: #fff6e8;
	--paper: #fff;
	--ink: #171513;
	--coral: #fb7850;
	--red: #b5121b;
	--muted: #706868;
	--line: #e7dccb;
	--line-2: #f2e9db;
	--green: #2f6b3c;
	--display: "Russo One", system-ui, sans-serif;
	--text: "Noto Sans", system-ui, sans-serif;
	--container: 1360px;
	--header-top: 0px;
	--header-h: 72px;
}
body.admin-bar { --header-top: 32px; --admin-bar: 32px; }
@media (max-width: 782px) { body.admin-bar { --header-top: 46px; --admin-bar: 46px; } }
@media (max-width: 600px) { body.admin-bar { --header-top: 0px; } }

* { box-sizing: border-box; }
html { scrollbar-gutter: stable; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-top) + var(--header-h) + 16px); }
body { display: flex; flex-direction: column; min-height: calc(100vh - var(--admin-bar, 0px)); margin: 0; background: var(--paper); color: var(--ink); font: 400 15px/1.6 var(--text); -webkit-font-smoothing: antialiased; }
.site-main { flex: 1; }
body.is-locked { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--coral); }
h1, h2, h3, p { margin: 0; font-weight: 400; }
[hidden] { display: none !important; }
.icon { display: block; flex: none; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 15px; }
.section { padding: 48px 0; }
.section--cream { background: var(--cream); }
.section-head { display: flex; align-items: center; gap: 20px; margin-bottom: 22px; }
.section-title { font: 26px/1.1 var(--display); }
.section-title--lg { font-size: clamp(28px, 3.4vw, 44px); }
.more-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14px; }
.arrows { display: flex; gap: 8px; margin-left: auto; }
.arrow { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer; transition: .2s; }
.arrow:hover:not(:disabled) { background: var(--ink); color: var(--cream); }
.arrow:disabled { border-color: var(--line); color: #c9bfb1; cursor: default; }
.is-static .arrows { visibility: hidden; }
.eyebrow { display: inline-block; margin-bottom: 10px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.page-title { margin-bottom: 28px; font: clamp(28px, 3vw, 40px)/1.1 var(--display); }
.blob { position: absolute; aspect-ratio: 1; background: var(--coral); border-radius: 48% 52% 44% 56% / 55% 45% 55% 45%; pointer-events: none; }

/* Buttons */
.btn, .button, button[type=submit], #place_order, .single_add_to_cart_button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 22px; border: 1.5px solid var(--ink); border-radius: 999px;
	background: var(--ink) linear-gradient(var(--coral), var(--coral)) no-repeat left / 0 100%; color: var(--cream); font: 12px/1.2 var(--display); letter-spacing: .12em; text-transform: uppercase; cursor: pointer;
	transition: background-size .4s cubic-bezier(.2, .8, .2, 1), color .25s, border-color .25s, transform .15s;
}
.btn:hover, .button:hover, button[type=submit]:hover, #place_order:hover, .single_add_to_cart_button:hover { background-size: 100% 100%; border-color: var(--coral); color: var(--paper); }
.btn:active, .button:active, button[type=submit]:active { transform: scale(.97); }
.btn .icon { transition: transform .3s; }
.btn:hover .icon { transform: translateX(3px); }
.btn--line, .btn.btn--line { background-color: transparent; color: var(--ink); }
.btn--sm { padding: 9px 14px; font-size: 11px; }
.btn.loading, .btn.is-busy { opacity: .5; pointer-events: none; }
.btn.btn--muted { border-color: var(--line); color: var(--muted); }
.btn.btn--muted:hover { border-color: var(--ink); color: var(--paper); }
.btn.btn--danger { border-color: var(--red); background-color: var(--red); }
.link { padding: 0; border: 0; background: none; color: var(--coral); font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }
.icon-btn { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1.5px solid var(--ink); border-radius: 50%; background: var(--paper); color: var(--ink); cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .25s; }
.icon-btn:hover { background: var(--ink); color: var(--cream); }
.cart-btn:hover { background: var(--coral); border-color: var(--coral); color: var(--paper); transform: translateY(-2px); }
.cart-btn:hover .icon { animation: bag 0.6s ease; }
@keyframes bag { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-14deg); } 50% { transform: rotate(10deg); } 75% { transform: rotate(-5deg); } }
.badge:not([hidden]) { animation: pop .35s cubic-bezier(.2, 1.6, .4, 1); }
@keyframes pop { from { transform: scale(0); } }
.badge { position: absolute; top: -5px; right: -5px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; background: var(--coral); color: var(--paper); font: 600 11px/19px var(--text); text-align: center; }

/* Header: sticks below the WP admin bar too */
.header { position: sticky; top: var(--header-top); z-index: 50; background: var(--cream); border-bottom: 1.5px solid var(--ink); }
.header__row { display: flex; align-items: center; gap: 36px; min-height: var(--header-h); }
.logo { display: flex; transition: transform .3s; }
.logo:hover { transform: rotate(-2deg) scale(1.03); }
.logo img { width: 150px; margin-top: -10px; }
.nav { display: flex; gap: 6px; font: 13px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; }
.nav a { position: relative; padding: 11px 16px; border-radius: 999px; transition: background .25s, color .25s; }
.nav a::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 5px; height: 2px; border-radius: 2px; background: var(--coral); transform: scaleX(0); transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.nav a:hover { background: #fbe7d3; color: var(--ink); }
.nav a:hover::after, .nav a[aria-current]::after { transform: scaleX(1); }
.header__tools { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.lang-switch { display: flex; padding: 3px; border: 1.5px solid var(--ink); border-radius: 999px; font: 11px/1 var(--display); letter-spacing: .1em; }
.lang-switch a { padding: 8px 11px; border-radius: 999px; transition: background .25s, color .25s; }
.lang-switch a:not(.is-active):hover { background: #fbe7d3; color: var(--ink); }
.lang-switch a.is-active { background: var(--ink); color: var(--cream); }
.icon-btn[aria-current] { background: var(--ink); color: var(--cream); }
.burger { display: none; }
.drawer__nav { display: grid; padding: 8px 20px; }
.drawer__nav a { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid var(--line); font: 16px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.drawer__nav a[aria-current] { color: var(--coral); }
.drawer__foot { padding: 20px; }
.drawer__foot .lang-switch { width: max-content; }
.drawer--menu .drawer__head img { width: 120px; }

/* Hero */
.hero { padding: 56px 0 64px; background: var(--cream); overflow: hidden; }
.split { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.hero__title { max-width: 14ch; font: clamp(32px, 4vw, 54px)/1.06 var(--display); letter-spacing: -.01em; }
.hero__lead { max-width: 34ch; margin: 18px 0 30px; font-size: 18px; color: var(--muted); }
.hero__art { position: relative; width: 100%; max-width: 520px; aspect-ratio: 5 / 4; justify-self: end; }
.hero__art .blob { width: 62%; left: 32%; top: 14%; }
.hero__book { position: absolute; filter: drop-shadow(0 16px 22px rgba(23, 21, 19, .25)); }
.hero__book--b { width: 37%; left: 52%; top: 0; }
.hero__book--a { width: 44%; left: 18%; bottom: 0; transform: rotate(-9deg); }

/* Rails and cards */
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * 16px) / 5); gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.rail::-webkit-scrollbar { display: none; }
.rail-wrap { position: relative; }
.rail-wrap::before, .rail-wrap::after { content: ""; position: absolute; top: 0; bottom: 0; z-index: 2; width: 96px; pointer-events: none; opacity: 0; transition: opacity .4s; --fade: #fff 0%, rgba(255, 255, 255, .92) 16%, rgba(255, 255, 255, .7) 36%, rgba(255, 255, 255, .38) 60%, rgba(255, 255, 255, .12) 82%, rgba(255, 255, 255, 0) 100%; }
.rail-wrap::before { left: 0; background: linear-gradient(90deg, var(--fade)); }
.rail-wrap::after { right: 0; background: linear-gradient(270deg, var(--fade)); }
.can-left .rail-wrap::before, .can-right .rail-wrap::after { opacity: 1; }
.rail > * { scroll-snap-align: start; }
.card { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.card__cover { display: flex; align-items: flex-end; height: 230px; }
.card__cover img { max-height: 100%; max-width: 100%; width: auto; height: auto; filter: drop-shadow(0 10px 14px rgba(23, 21, 19, .16)); transition: transform .25s; }
.card__cover:hover img { transform: translateY(-5px) rotate(-1.5deg); }
.card__title { min-height: 2.6em; font: 13.5px/1.3 var(--display); }
.card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 10px; }
.card .btn { align-self: flex-start; }
.pill { display: inline-block; border: 1.5px solid currentColor; border-radius: 99px; padding: 3px 10px; font: 10px/1.4 var(--display); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.price { font: 16px/1 var(--display); white-space: nowrap; }
.price--lg { font-size: 28px; }

/* Category bands: compact intro above a rail */
.band { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; min-height: 190px; margin-bottom: 26px; padding: 28px 40px; border-radius: 22px; background: var(--cream); overflow: hidden; }
.band__title { font: clamp(26px, 3vw, 40px)/1.05 var(--display); max-width: 16ch; }
.band__lead { margin-top: 10px; max-width: 40ch; color: var(--muted); }
.band__art { position: relative; display: flex; align-items: center; justify-content: center; height: 170px; width: 260px; }
.band__art img { position: relative; max-height: 100%; max-width: 100%; width: auto; height: auto; filter: drop-shadow(0 12px 18px rgba(23, 21, 19, .22)); }
.band__art .blob { width: 170px; right: 10px; top: 0; }
.band--coral { background: var(--coral); color: var(--paper); }
.band--coral .band__art { width: 300px; height: 200px; }
.band__promo { margin-top: 6px; font: clamp(44px, 5vw, 68px)/1 var(--display); color: var(--red); }

/* Online ordering */
.section.section--cream#order { padding: 80px 0; }
.order { display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; align-items: start; }
.order .section-title { margin-bottom: 20px; }
.order__lead { max-width: 46ch; margin-bottom: 40px; font-size: 17px; line-height: 1.7; color: var(--muted); }
.order__steps { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.order__steps li { display: flex; align-items: baseline; gap: 28px; padding: 24px 0; border-bottom: 1px solid var(--line); font-size: 17px; font-weight: 500; }
.order__steps .num { flex: none; min-width: 2.2em; font: 13px/1 var(--display); color: var(--coral); }
.order__info { padding-top: 10px; }
.order__info h3 { margin-bottom: 16px; font: 20px/1.2 var(--display); }
.order__info p { margin-bottom: 16px; line-height: 1.75; }

/* Contacts block + footer (all pages) */
.contacts { position: relative; padding: 56px 0; background: var(--paper); border-top: 1.5px solid var(--ink); overflow: hidden; }
.contacts__row { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 40px; align-items: center; }
.contacts__title { position: relative; z-index: 1; max-width: 14ch; font: clamp(26px, 3vw, 40px)/1.05 var(--display); }
.contacts__list { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.contacts__list a { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 16px; background: var(--cream); font-weight: 600; font-size: 14px; transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s, background-color .4s; }
.contacts__list a:hover { color: var(--ink); background: #ffe6d6; transform: translateY(-4px); box-shadow: 0 16px 30px -12px rgba(251, 120, 80, .55); }
.contacts__list small { display: block; font-weight: 400; font-size: 12px; color: var(--muted); }
.contacts__icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--ink); color: var(--cream); transition: background .4s, transform .4s cubic-bezier(.2, 1.4, .4, 1); }
.contacts__list a:hover .contacts__icon { background: var(--coral); transform: rotate(-10deg) scale(1.08); }
.contacts .blob { width: 220px; right: -90px; bottom: -150px; }
.footer { background: var(--ink); color: var(--cream); font-size: 13px; }
.footer__row { display: flex; justify-content: space-between; gap: 16px; padding-top: 18px; padding-bottom: 18px; }
.footer a { background: linear-gradient(var(--coral), var(--coral)) no-repeat left bottom / 100% 1px; padding-bottom: 2px; transition: background-size .4s, color .3s; }
.footer a:hover { color: var(--coral); background-size: 0 1px; background-position: right bottom; }

/* Catalogue */
.catalog { padding-top: 32px; padding-bottom: 72px; }
.catalog__head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 24px; }
.catalog__head .page-title { margin: 0; }
.catalog__count { color: var(--muted); }
.catalog__layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 32px; align-items: start; }
.catalog__side { position: sticky; top: calc(var(--header-top) + var(--header-h) + 20px); max-height: calc(100vh - var(--header-top) - var(--header-h) - 40px); overflow-y: auto; padding: 4px 18px 14px; border: 1.5px solid var(--line); border-radius: 18px; }
.filters__group { border-bottom: 1px solid var(--line); }
.filters__group summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; font: 14px/1.2 var(--display); list-style: none; cursor: pointer; }
.filters__group summary::-webkit-details-marker { display: none; }
.filters__group[open] summary .icon { transform: rotate(180deg); }
.filters__options { display: grid; gap: 10px; max-height: 260px; overflow: auto; padding-bottom: 16px; }
.check { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; letter-spacing: 0; text-transform: none; cursor: pointer; }
.check input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--ink); }
.check em { margin-left: auto; font-style: normal; font-size: 12px; color: var(--muted); }
.check.is-empty { opacity: .45; }
.filters__price { display: flex; align-items: center; gap: 8px; padding-bottom: 16px; }
.filters__switch { padding: 16px 0; border-bottom: 1px solid var(--line); }
.filters__actions { display: flex; gap: 8px; padding-top: 16px; }
.filters__actions .btn { flex: 1; padding: 11px 10px; }
.catalog__toolbar { display: flex; justify-content: flex-end; gap: 12px; margin-bottom: 18px; }
.catalog__filters-btn { display: none; margin-right: auto; }
.dropdown { position: relative; }
.dropdown__toggle { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 16px 0 20px; border: 1.5px solid var(--ink); border-radius: 999px; background: var(--paper); color: var(--ink); font: 600 14px var(--text); cursor: pointer; transition: background .25s; }
.dropdown__toggle:hover, .dropdown.is-open .dropdown__toggle { background: var(--cream); }
.dropdown__toggle .icon { transition: transform .3s; }
.dropdown.is-open .dropdown__toggle .icon { transform: rotate(180deg); }
.dropdown__list { position: absolute; top: calc(100% + 8px); right: 0; z-index: 20; min-width: 250px; margin: 0; padding: 6px; list-style: none; border: 1.5px solid var(--ink); border-radius: 16px; background: var(--paper); box-shadow: 0 20px 40px -12px rgba(23, 21, 19, .25); opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.98); transform-origin: top right; transition: opacity .2s, transform .25s cubic-bezier(.2, .8, .2, 1), visibility .2s; }
.dropdown.is-open .dropdown__list { opacity: 1; visibility: visible; transform: none; }
.dropdown__list a { display: flex; justify-content: space-between; gap: 16px; padding: 10px 14px; border-radius: 10px; font-size: 14px; transition: background .2s, padding .2s; }
.dropdown__list a:hover { background: var(--cream); color: var(--ink); padding-left: 18px; }
.dropdown__list a[aria-current] { font-weight: 600; }
.dropdown__list a[aria-current]::after { content: "✓"; color: var(--coral); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.chip { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1.5px solid var(--ink); border-radius: 999px; font-size: 13px; }
.chip--clear { border-color: var(--line); color: var(--coral); }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 20px; }
.catalog__more { display: flex; width: 100%; margin-top: 40px; }
.catalog__empty { padding: 60px 20px; text-align: center; }
.catalog__empty p { margin-bottom: 18px; }
.drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 100001; display: flex; flex-direction: column; width: min(400px, 90vw); background: var(--paper); transform: translateX(100%); transition: transform .28s; }
.drawer.is-open { transform: none; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line); font: 20px/1 var(--display); }
.drawer__body { flex: 1; overflow-y: auto; padding: 0 20px 24px; }
.scrim { position: fixed; inset: 0; z-index: 100000; background: rgba(23, 21, 19, .45); }

/* Single product */
.product-view { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; padding: 48px 0 56px; }
.product-view__cover { position: relative; display: grid; place-items: center; min-height: 460px; padding: 40px; border-radius: 22px; background: var(--cream); overflow: hidden; }
.product-view__cover img { position: relative; max-height: 440px; width: auto; filter: drop-shadow(0 22px 30px rgba(23, 21, 19, .25)); }
.product-view__cover .blob { width: 55%; right: -8%; bottom: -10%; }
.product-view__title { margin-bottom: 18px; font: clamp(28px, 3.2vw, 42px)/1.08 var(--display); }
.product-view__info .card__meta { justify-content: flex-start; gap: 20px; margin-bottom: 20px; }
.product-page { padding-bottom: 72px; }
.buy { margin: 14px 0 28px; }
.buy__form { display: flex; align-items: center; gap: 12px; }
.buy__form .qty button { width: 44px; height: 44px; }
.buy__form .qty button:disabled, .cm-line .qty button:disabled { opacity: .3; cursor: default; background: none; }
.buy__out { font: 16px var(--display); color: var(--muted); }
.buy__note { font-size: 14px; }
.left { margin: 10px 0 0; color: var(--red); font-size: 14px; font-weight: 600; }
.left--sm { margin: 0; font-size: 12px; }
.incoming { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 12px; color: var(--red); font-size: 14px; font-weight: 600; }
.incoming .icon { margin-top: 3px; }
.reserve { margin-top: 18px; padding: 16px 18px; border: 1.5px dashed var(--coral); border-radius: 16px; background: #fffaf3; }
.reserve__form { display: flex; gap: 10px; }
.reserve__form input[type=number] { width: 84px; min-height: 44px; text-align: center; }
.reserve__mine { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; font-size: 14px; }
.reserve__mine span { display: flex; align-items: center; gap: 8px; }
.reserve__mine .icon { color: var(--green); }
.reserve__cancel[type] { padding: 0; border: 0; background: none; color: var(--muted); font: 600 13px var(--text); letter-spacing: 0; text-transform: none; text-decoration: underline; cursor: pointer; }
.reserve__cancel[type]:hover { background: none; color: var(--red); }
.desc { padding-top: 20px; border-top: 1.5px solid var(--ink); line-height: 1.75; }
.desc p + p { margin-top: 12px; }
.facts { margin: 24px 0 0; padding: 0; list-style: none; }
.facts li { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.facts .icon { color: var(--coral); }

/* Pages, forms, cart and checkout */
.page-wrap { padding-top: 40px; padding-bottom: 72px; }
.page-wrap--center { display: flex; flex-direction: column; align-items: center; text-align: center; }
.page-wrap--center .page-body { display: flex; flex-direction: column; align-items: center; width: 100%; text-align: left; }
.page-body { max-width: 900px; line-height: 1.7; }
.page-body > h2 { margin: 32px 0 10px; font: 22px/1.2 var(--display); }
.page-body > p + p { margin-top: 14px; }
.page-body > ul { padding-left: 20px; }
.page-body > ul > li { margin-bottom: 6px; }
.woocommerce-cart .page-body, .woocommerce-checkout .page-body, .woocommerce-order-tracking .page-body { max-width: none; }
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], select, textarea, .input-text {
	width: 100%; min-height: 48px; padding: 10px 16px; border: 1.5px solid #d8cdbd; border-radius: 12px; background: var(--paper); color: var(--ink); font: 15px var(--text); transition: border-color .2s, box-shadow .2s;
}
.phone { position: relative; display: block; }
.phone__ghost { position: absolute; inset: 0; display: flex; align-items: center; padding: 0 17.5px; overflow: hidden; font: 15px var(--text); white-space: pre; color: #b8ab9c; pointer-events: none; }
.phone__ghost i { font-style: normal; color: transparent; }
.phone__ghost b { font-weight: inherit; }
.phone__flag { position: absolute; top: 50%; right: 14px; font-size: 18px; line-height: 1; transform: translateY(-50%); pointer-events: none; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(251, 120, 80, .3); }
.quantity input { width: 76px; text-align: center; }
label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.form-row { margin: 0; }
.form-row .required { color: var(--coral); text-decoration: none; }
.form-row .optional { color: var(--muted); font-weight: 400; }
.form-row .description { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); }
.form-row.woocommerce-invalid .input-text { border-color: var(--red); }
.checkout-inline-error-message { margin: 6px 0 0; font-size: 13px; color: var(--red); }
.page-body table { width: 100%; border-collapse: collapse; }
.page-body th, .page-body td { padding: 14px 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.page-body thead th { border-bottom: 1.5px solid var(--ink); font: 12px var(--display); letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-order-details__title, .woocommerce-column__title { margin: 28px 0 14px; font: 22px/1.2 var(--display); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 24px; padding: 14px 18px; border-left: 6px solid var(--coral); border-radius: 0 12px 12px 0; background: var(--cream); list-style: none; }
.woocommerce-error { border-color: var(--red); }
.fz-flash { margin-top: 20px; }
.woocommerce-notices-wrapper:not(:empty) { padding-top: 20px; }

/* Cart popup */
.cart-modal { position: fixed; inset: 0; z-index: 100002; display: grid; place-items: center; padding: 24px; background: rgba(23, 21, 19, .45); animation: fade .2s; }
.cart-modal__panel { display: flex; flex-direction: column; width: min(620px, 100%); max-height: calc(100vh - 48px); overflow: hidden; border-radius: 22px; background: var(--paper); box-shadow: 0 30px 80px rgba(0, 0, 0, .25); animation: rise .3s cubic-bezier(.2, .8, .2, 1); }
@keyframes fade { from { opacity: 0; } }
@keyframes rise { from { transform: translateY(20px); opacity: 0; } }
.cm-loading { display: grid; place-items: center; padding: 90px 0; }
.spinner { width: 28px; height: 28px; border: 3px solid var(--line); border-top-color: var(--coral); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.cm__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px 18px 28px; border-bottom: 1.5px solid var(--line); background: var(--cream); }
.cm__title { font: 22px/1.1 var(--display); }
.cm__close { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--ink); cursor: pointer; transition: background .2s, transform .3s; }
.cm__close:hover { background: #fbe7d3; transform: rotate(90deg); }
.cm-notice { margin: 0; padding: 12px 28px; background: #fdecea; color: #8e2a17; font-size: 14px; font-weight: 600; }
.cm__body { flex: 1; min-height: 0; overflow-y: auto; padding: 22px 28px; }
.cm-lines { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.cm-line { display: grid; grid-template-columns: 76px minmax(0, 1fr) 32px; gap: 16px; transition: opacity .2s; }
.cm-line.is-busy { opacity: .4; pointer-events: none; }
.cm-line__img { display: flex; align-items: center; justify-content: center; width: 76px; height: 92px; padding: 6px; border-radius: 12px; background: var(--cream); }
.cm-line__img img { max-height: 100%; width: auto; }
.cm-line__name { display: block; margin-bottom: 6px; font: 14px/1.3 var(--display); }
.cm-line__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.cm-line__remove { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--muted); cursor: pointer; transition: background .2s, color .2s; }
.cm-line__remove:hover { background: #fbe7d3; color: var(--red); }
.qty { display: inline-flex; align-items: center; border: 1.5px solid var(--ink); border-radius: 999px; }
.qty button { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--ink); font-size: 18px; cursor: pointer; transition: background .2s; }
.qty button:hover { background: var(--cream); }
.qty span { min-width: 22px; text-align: center; font-weight: 600; }
.cm-ship { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--cream); font-size: 13px; }
.cm-ship.is-free { background: #eaf4ec; color: #2f6b3c; }
.cm__foot { display: grid; grid-template-columns: 1fr 1.2fr; align-items: end; gap: 20px; padding: 18px 28px 22px; border-top: 1.5px solid var(--line); }
.cm-sum__row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; }
.cm-sum__row span { font-weight: 600; }
.cm-sum__row i { flex: 1; border-bottom: 1px dotted #c9bfb1; transform: translateY(-4px); }
.cm-sum__row strong { font: 20px var(--display); }
.btn--block { display: flex; width: 100%; }
.cm-empty { display: grid; justify-items: center; gap: 14px; padding: 56px 28px; text-align: center; }
.cm-empty .icon { color: var(--coral); }
.cm-empty__title { font: 20px var(--display); }

/* One-page checkout */
.woocommerce-checkout .page-wrap { padding-bottom: 80px; }
.checkout__grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.checkout__aside { position: sticky; top: calc(var(--header-top) + var(--header-h) + 20px); }
.co-block + .co-block { margin-top: 36px; }
.co-block__title { margin-bottom: 16px; font: 22px/1.2 var(--display); }
.co-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
.co-fields > * { grid-column: 1 / -1; }
.co-fields > .form-row-first { grid-column: 1; }
.co-fields > .form-row-last { grid-column: 2; }
.co-fields--address { margin-top: 18px; }
.field-static .input-text { border-color: var(--line); background: var(--cream); color: var(--muted); cursor: default; }
.co-addr-note { margin: -6px 0 0; padding: 10px 12px; border: 1px solid #ecd9b3; border-radius: 10px; background: #fdf7ea; font-size: 13px; color: #7a5a12; }
.ac { position: relative; display: block; }
.ac__list { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 40; max-height: 240px; margin: 0; padding: 6px; overflow: auto; list-style: none; border: 1.5px solid var(--ink); border-radius: 14px; background: var(--paper); box-shadow: 0 20px 40px -12px rgba(23, 21, 19, .25); }
.ac__item { padding: 10px 12px; border-radius: 10px; font-size: 14px; cursor: pointer; }
.ac__item:hover, .ac__item.is-active { background: var(--cream); }
.ac__item em { font-size: 12px; font-style: normal; color: var(--muted); }
.ac__status { padding: 10px 12px; font-size: 13px; color: var(--muted); }
.co-options { margin: 0; padding: 0; overflow: hidden; list-style: none; border: 1.5px solid var(--line); border-radius: 16px; }
.co-options > li + li { border-top: 1.5px solid var(--line); }
.co-option { display: flex; align-items: center; gap: 14px; margin: 0; padding: 16px 18px; font-size: 15px; cursor: pointer; transition: background .2s; }
.co-option:hover { background: #fffaf3; }
.co-option:has(input:checked) { background: var(--cream); }
.co-option input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--coral); }
.co-option__main { flex: 1; font-weight: 600; }
.co-option__price { font-weight: 600; white-space: nowrap; }
.co-option__price.is-free, .co-totals .is-free { color: #2f6b3c; }
.co-option__brands img { display: inline-block; height: 22px; width: auto; margin-left: 4px; }
.co-note { margin: 10px 0 0; font-size: 13px; color: var(--muted); }
.co-order { padding: 16px 18px; border: 1.5px solid var(--line); border-radius: 16px; }
.co-order__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.co-order__edit { padding: 0; border: 0; background: none; color: var(--coral); font: 600 14px var(--text); cursor: pointer; }
.co-order__thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.co-order__thumb { position: relative; display: flex; align-items: center; justify-content: center; width: 58px; height: 70px; padding: 4px; border-radius: 10px; background: var(--cream); }
.co-order__thumb img { max-height: 100%; width: auto; }
.co-order__thumb em { position: absolute; right: -4px; bottom: -4px; padding: 0 6px; border-radius: 8px; background: var(--ink); color: var(--paper); font-size: 11px; font-style: normal; }
.co-pay .payment_box { padding: 14px 18px 18px; border-top: 1.5px solid var(--line); font-size: 14px; background: var(--paper); }
.co-pay--single .co-options { overflow: visible; border: 0; }
.co-pay--single .co-option { display: none; }
.co-pay--single .payment_box { padding: 0; border: 0; }
.co-pay fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.co-pay__empty { padding: 16px 18px; border-radius: 16px; background: #fdecea; color: #8e2a17; font-size: 14px; }
.co-pay__admin { margin-top: 10px; padding: 10px 12px; border: 1px dashed var(--coral); border-radius: 10px; background: var(--paper); color: var(--ink); font-size: 13px; }
.co-summary { padding: 24px; border: 1.5px solid var(--ink); border-radius: 22px; background: var(--paper); }
.co-summary__title { margin-bottom: 14px; font: 20px var(--display); }
.co-totals { display: grid; gap: 10px; margin: 0; font-size: 14px; }
.co-totals > div { display: flex; justify-content: space-between; gap: 12px; }
.co-totals dd { margin: 0; font-weight: 600; }
.co-summary__pay { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 16px 0; padding-top: 16px; border-top: 1.5px solid var(--line); }
.co-summary__pay span { font-weight: 700; }
.co-summary__total { font: 28px var(--display); }
.co-summary__submit { padding: 17px 22px; font-size: 13px; }
.co-summary__legal { margin: 12px 0 0; font-size: 12px; text-align: center; color: var(--muted); }
.co-summary__legal a { color: var(--coral); }
.co-summary__usps { display: grid; gap: 8px; margin: 16px 0 0; padding: 14px 0 0; list-style: none; border-top: 1.5px solid var(--line); font-size: 13px; }
.co-summary__usps li { display: flex; align-items: center; gap: 8px; }
.co-summary__usps .icon { color: var(--coral); }
.co-sticky { display: none; }
.co-login { margin: -6px 0 16px; font-size: 14px; color: var(--muted); }
.co-login a { color: var(--coral); font-weight: 600; text-decoration: underline; }
.co-pickup { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--cream); font-size: 14px; }
.co-pickup .icon { color: var(--coral); }
.co-point { margin-top: 18px; }
.co-point .description a { color: var(--coral); font-weight: 600; }
.checkout:not([data-ship=pickup]) .co-pickup, .checkout:not([data-ship=point]) .co-point, .checkout:not([data-ship=address]) .co-fields--address, .checkout:not([data-ship=address]) .co-addr-note { display: none; }

/* Status pills */
.pill--ok { border-color: #bcd9c2; background: #eaf4ec; color: var(--green); }
.pill--info { border-color: #f3cdb9; background: #fff0e8; color: #b5441c; }
.pill--warn { border-color: #ecd9b3; background: #fdf7ea; color: #8a6420; }
.pill--err { border-color: #f1c0bb; background: #fdecea; color: var(--red); }
.pill--lg { padding: 6px 14px; font-size: 11px; }

/* Order tracking */
.track-form { display: grid; gap: 16px; width: 100%; max-width: 520px; padding: 32px; border: 1.5px solid var(--line); border-radius: 20px; }
.track-form__lead { color: var(--muted); }
.track-card { display: grid; gap: 22px; width: 100%; max-width: 760px; padding: 32px; border: 1.5px solid var(--line); border-radius: 20px; }
.track-card__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.track-card__head h2 { font: 22px/1.2 var(--display); }
.track-card__head p { color: var(--muted); }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.steps__item { position: relative; display: grid; justify-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--muted); text-align: center; }
.steps__item + .steps__item::before { content: ""; position: absolute; top: 14px; left: -50%; right: 50%; height: 2px; background: var(--line); }
.steps__item.is-done { color: var(--ink); }
.steps__item.is-done::before { background: var(--ink); }
.steps__dot { position: relative; z-index: 1; display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--paper); }
.is-done .steps__dot { border-color: var(--ink); background: var(--ink); }
.track-card__parcel { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 14px; background: var(--cream); }
.track-card__parcel > span:nth-child(2) { flex: 1; display: grid; font-size: 14px; }
.track-card__parcel small { color: var(--muted); font-size: 14px; word-break: break-all; }
.track-card__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--paper); }
.track-card__invoice { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.track-card__items { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.track-card__items li { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.track-card__items img { width: 48px; height: 48px; object-fit: contain; }
.track-card__items span { flex: 1; }
.track-card__total { display: flex; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--line); }
.track-more { margin-top: 18px; font-size: 14px; }
.track-more a { text-decoration: underline; }

/* Text + slider / form pages (Про нас, Звʼязатись) */
.split-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.split-page__lead { margin: -12px 0 22px; font-size: 19px; line-height: 1.5; color: var(--muted); }
.slider { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border: 1.5px solid var(--ink); border-radius: 22px; background: var(--cream); }
.slider__track { display: flex; height: 100%; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.slider__slide { flex: 0 0 100%; height: 100%; }
.slider__img { width: 100%; height: 100%; object-fit: cover; }
.slider__img--art { object-fit: contain; padding: 8%; filter: drop-shadow(0 16px 22px rgba(23, 21, 19, .22)); }
.slider__arrow { position: absolute; top: 50%; z-index: 2; margin-top: -20px; box-shadow: 0 4px 16px rgba(23, 21, 19, .15); }
.slider__arrow--prev { left: 14px; }
.slider__arrow--next { right: 14px; }
.slider__dots { position: absolute; left: 0; right: 0; bottom: 16px; z-index: 2; display: flex; justify-content: center; gap: 8px; }
.slider__dot { width: 9px; height: 9px; padding: 0; border: 1.5px solid var(--ink); border-radius: 5px; background: var(--paper); cursor: pointer; transition: width .3s, background .3s; }
.slider__dot.is-active { width: 28px; background: var(--coral); border-color: var(--coral); }

/* Contact and book-request forms */
.form-card, .request .contact-form { padding: 28px; border: 1.5px solid var(--ink); border-radius: 22px; background: var(--paper); }
.contact-form { display: grid; gap: 18px; }
.contact-form .btn { justify-self: start; }
.contact-form textarea { min-height: 120px; resize: vertical; }
.channels { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.channels legend { margin-bottom: 8px; padding: 0; font-size: 14px; font-weight: 600; }
.channel { margin: 0; cursor: pointer; }
.channel input { position: absolute; opacity: 0; pointer-events: none; }
.channel span { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1.5px solid var(--line); border-radius: 999px; font-size: 14px; font-weight: 600; transition: border-color .2s, background .2s; }
.channel span:hover { border-color: var(--ink); }
.channel input:checked + span { border-color: var(--ink); background: var(--ink); color: var(--cream); }
.channel input:focus-visible + span { box-shadow: 0 0 0 3px rgba(251, 120, 80, .4); }
.hp { position: absolute; left: -9999px; }
.form-status:empty { display: none; }
.form-status { margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.form-status.is-ok { background: #eaf4ec; color: var(--green); }
.form-status.is-err { background: #fdecea; color: var(--red); }
.request { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; padding: 48px; border-radius: 22px; background: var(--cream); }
.request__lead { margin-top: 16px; max-width: 42ch; font-size: 17px; line-height: 1.7; color: var(--muted); }

/* Account (ported from alexhorse.pl) */
.woocommerce-account .page-body { max-width: none; }
.woocommerce-account .page-body > .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; align-items: start; }
body:not(.logged-in).woocommerce-account .page-body > .woocommerce { display: block; max-width: 1040px; }
.woocommerce-MyAccount-navigation { position: sticky; top: calc(var(--header-top) + var(--header-h) + 20px); }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; list-style: none; border: 1.5px solid var(--line); border-radius: 18px; }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 12px; font-weight: 600; transition: background .2s; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--cream); color: var(--ink); }
.woocommerce-MyAccount-navigation .is-active .icon { color: var(--coral); }
.acc-nav__bar { display: none; }
.woocommerce-MyAccount-content { min-width: 0; }
.acc-title { margin-bottom: 18px; font: 26px/1.15 var(--display); }
.acc-lead { margin: -8px 0 20px; max-width: 640px; font-size: 14px; color: var(--muted); }
.auth { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.auth-card { padding: 32px; border: 1.5px solid var(--ink); border-radius: 22px; background: var(--paper); }
.auth-card__title { font: 24px/1.15 var(--display); }
.auth-card__lead { margin: 8px 0 24px; font-size: 14px; color: var(--muted); }
.auth-card form { display: grid; gap: 16px; }
.auth-card__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.auth-card__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.auth-card__link { font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-privacy-policy-text p { margin: 0; font-size: 13px; color: var(--muted); }
.woocommerce-privacy-policy-text a { color: var(--coral); }
.auth-track { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-radius: 22px; background: var(--cream); transition: transform .3s; }
.auth-track:hover { color: var(--ink); transform: translateY(-2px); }
.auth-track__icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--paper); }
.auth-track__text { flex: 1; display: grid; gap: 2px; }
.auth-track__text strong { font: 16px var(--display); font-weight: 400; }
.auth-track__text small { font-size: 14px; color: var(--muted); }
.woocommerce-ResetPassword { display: grid; gap: 16px; max-width: 520px; padding: 32px; border: 1.5px solid var(--ink); border-radius: 22px; }
.pw-rules { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: var(--muted); }
.pw-rules li::before { content: "•"; margin-right: 5px; }
.pw-rules li.is-ok { color: var(--green); }
.pw-rules li.is-ok::before { content: "✓"; }
.pw-rules.is-error li:not(.is-ok) { color: var(--red); }
.field-error { display: block; margin-top: 6px; font-size: 13px; color: var(--red); }
.password-input { position: relative; display: block; }
.show-password-input { position: absolute; top: 50%; right: 8px; width: 34px; height: 34px; margin-top: -17px; padding: 0; border: 0; opacity: .5; cursor: pointer;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23171513' stroke-width='1.6' viewBox='0 0 24 24'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center; }
.show-password-input.display-password { opacity: 1; }
.acc__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.acc__hello { font: 26px/1.15 var(--display); }
.acc__hello strong { font-weight: 400; color: var(--coral); }
.acc__logout { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--muted); }
.acc__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.acc-card, .acc-block, .od-card { padding: 20px 22px; border: 1.5px solid var(--line); border-radius: 18px; background: var(--paper); }
.acc-block { margin-top: 18px; }
.acc-block--danger { border-color: #f1c0bb; }
.acc-card h3, .acc-block h3, .od-card__title { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font: 17px/1.2 var(--display); }
.acc-card h3 .icon, .acc-block h3 .icon, .od-card__title .icon { color: var(--coral); }
.acc-card__edit { display: inline-flex; align-items: center; gap: 4px; margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--coral); }
.acc-dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0; font-size: 14px; }
.acc-dl dt { color: var(--muted); }
.acc-dl dd { margin: 0; overflow-wrap: anywhere; }
.acc-count { color: var(--muted); }
.acc-address, .od-address { font-style: normal; font-size: 14px; line-height: 1.65; }
.acc-delete { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.acc-delete label { display: grid; gap: 6px; margin: 0; font-size: 13px; }
.acc-delete input { width: 220px; }
.acc-empty, .acc-note, .od-muted { margin: 0; font-size: 14px; color: var(--muted); }
.acc-note { margin-bottom: 12px; }
.acc-empty__link { margin-left: 8px; color: var(--coral); font-weight: 600; white-space: nowrap; }
.acc-empty-box { display: grid; justify-items: center; gap: 12px; padding: 40px 20px; border: 1.5px dashed var(--line); border-radius: 18px; text-align: center; color: var(--muted); }
.acc-empty-box p { max-width: 440px; margin: 0; font-size: 14px; }
.acc-pager { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; }
.oc-list { display: grid; gap: 12px; }
.oc { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 14px 18px; border: 1.5px solid var(--line); border-radius: 18px; background: var(--paper); transition: border-color .2s; }
.oc:hover { border-color: var(--ink); }
.oc__thumbs { display: flex; }
.oc__thumb { position: relative; flex: none; display: flex; align-items: center; justify-content: center; width: 56px; height: 64px; padding: 4px; overflow: hidden; border: 2px solid var(--paper); border-radius: 12px; background: var(--cream); }
.oc__thumb + .oc__thumb { margin-left: -16px; }
.oc__thumb img { max-height: 100%; width: auto; }
.oc__thumb em { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(23, 21, 19, .55); color: var(--paper); font-size: 13px; font-style: normal; font-weight: 600; }
.oc__top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.oc__no { font: 15px/1.3 var(--display); }
.oc__meta { margin: 4px 0 0; font-size: 13px; color: var(--muted); }
.oc__meta strong { color: var(--ink); }
.oc__bar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; max-width: 200px; margin: 10px 0 0; padding: 0; list-style: none; }
.oc__bar li { height: 4px; border-radius: 2px; background: var(--line); }
.oc__bar .is-done { background: var(--coral); }
.oc__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 18px; }
.oc__actions form { margin: 0; }
.oc__link { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 600; white-space: nowrap; }
.od__back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; font-size: 14px; color: var(--muted); }
.od__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 20px; margin-bottom: 18px; }
.od__title { font: 28px/1.15 var(--display); }
.od__meta { margin-top: 4px; font-size: 14px; color: var(--muted); }
.od-track { display: grid; gap: 20px; margin-bottom: 16px; }
.od__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.od__side { display: grid; gap: 16px; }
.od-lines { margin: 0; padding: 0; list-style: none; }
.od-line { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line-2); }
.od-line:first-child { padding-top: 0; }
.od-line__main { display: grid; gap: 3px; }
.od-line__name { font: 14px/1.3 var(--display); }
.od-line__qty { font-size: 13px; color: var(--muted); }
.od-line__price { font-weight: 600; white-space: nowrap; }
.od-totals { display: grid; gap: 9px; margin: 16px 0 0; font-size: 14px; }
.od-totals__row { display: flex; justify-content: space-between; gap: 16px; }
.od-totals dd { margin: 0; text-align: right; }
.od-totals__row--total { margin-top: 4px; padding-top: 12px; border-top: 1.5px solid var(--line); font: 18px var(--display); }
.od-again { margin-top: 18px; }
.od-pay { background: #fdf7ea; }
.od-pay > span { flex: 1; }
.od-notes { margin-top: 16px; }
.od-notes ol { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.od-notes li { padding-left: 14px; border-left: 2px solid var(--coral); font-size: 14px; }
.od-notes time { font-size: 12px; color: var(--muted); }
.addr__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.addr__head .od-card__title { margin: 0; }
.addr-form__actions, .acc-form__actions, .pm-form__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.acc-form { display: grid; gap: 16px; max-width: 760px; }
.acc-form__hint { margin: -6px 0 14px; }
.pm-list { display: grid; gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.pm { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 16px 18px; border: 1.5px solid var(--line); border-radius: 16px; }
.pm__icon { display: grid; flex: none; place-items: center; width: 48px; height: 34px; border-radius: 8px; background: var(--cream); }
.pm__main { display: grid; flex: 1; min-width: 160px; font-size: 13px; color: var(--muted); }
.pm__main strong { font-size: 15px; color: var(--ink); }
.pm__actions { display: flex; gap: 18px; }
.pm__delete { color: var(--red); }
.pm-form { max-width: 680px; }

@media (max-width: 1100px) {
	.nav { display: none; }
	.burger { display: inline-grid; }
	.rail { grid-auto-columns: calc((100% - 3 * 16px) / 4); }
	.grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.contacts__row { grid-template-columns: 1fr; }
	.contacts__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.request, .split-page { gap: 32px; }
	.request { padding: 32px; }
}
@media (max-width: 860px) {
	.split, .order, .product-view, .checkout__grid, .request, .split-page, .auth, .woocommerce-account .page-body > .woocommerce, .od__grid { grid-template-columns: minmax(0, 1fr); }
	.checkout__aside { position: static; }
	.co-sticky:not([hidden]) { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; align-items: center; gap: 12px; padding: 12px 15px calc(12px + env(safe-area-inset-bottom)); border-top: 1.5px solid var(--ink); background: var(--paper); }
	.co-sticky__total { font: 20px var(--display); white-space: nowrap; }
	.co-sticky .btn { flex: 1; }
	.cm__foot { grid-template-columns: 1fr; }
	.cm__foot > .btn--line { order: 2; }
	.hero .split { gap: 8px; }
	.hero__art { justify-self: center; width: min(100%, 400px); }
	.catalog__layout { grid-template-columns: 1fr; }
	.catalog__side { display: none; }
	.catalog__filters-btn { display: inline-flex; }
	.band { grid-template-columns: 1fr; padding: 24px; }
	.band__art { justify-self: end; height: 140px; width: 220px; margin-top: -10px; }
	.band--coral .band__art { width: 240px; height: 160px; }
	.product-view { gap: 28px; padding-top: 24px; }
	.product-view__cover { min-height: 0; padding: 28px; }
	.product-view__cover img { max-height: 340px; }
	.woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-MyAccount-navigation ul { display: flex; gap: 8px; margin: 0 -15px; padding: 0 15px 2px; overflow-x: auto; border: 0; border-radius: 0; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-MyAccount-navigation li { flex: none; }
	.woocommerce-MyAccount-navigation a { padding: 9px 16px; border: 1.5px solid var(--line); border-radius: 999px; font-size: 14px; white-space: nowrap; }
	.woocommerce-MyAccount-navigation .is-active a { border-color: var(--ink); background: var(--ink); color: var(--cream); }
	.woocommerce-MyAccount-navigation .is-active .icon { color: var(--coral); }
	.acc-nav__bar { display: block; position: relative; height: 3px; margin-top: 10px; border-radius: 2px; background: var(--line-2); }
	.acc-nav__bar.is-off { display: none; }
	.acc-nav__bar i { position: absolute; top: 0; left: var(--x, 0); width: var(--w, 30%); height: 100%; border-radius: 2px; background: var(--muted); }
}
@media (max-width: 760px) {
	:root { --header-h: 64px; }
	.header__row { gap: 12px; }
	.header__tools { gap: 8px; }
	.header__tools > .lang-switch { display: none; }
	.logo img { width: 118px; margin-top: -6px; }
	.icon-btn { width: 40px; height: 40px; }
	.badge { top: -4px; right: -6px; min-width: 18px; height: 18px; font-size: 10.5px; line-height: 18px; }
	.section { padding: 36px 0; }
	.section-head { flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
	.section-head .section-title { flex: 1 1 100%; }
	.arrow { width: 36px; height: 36px; }
	.rail { grid-auto-columns: calc((100% - 2 * 12px) / 2.3); gap: 12px; }
	.section-title { font-size: 22px; }
	.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 12px; }
	.card__cover { height: 190px; }
	.hero { position: relative; padding: 32px 0 44px; }
	.hero .split > div:first-child { position: relative; z-index: 1; }
	.hero__title { font-size: 30px; }
	.hero__lead { margin: 14px 0 22px; font-size: 16px; }
	.hero__art { position: absolute; right: -72px; bottom: -70px; width: 290px; opacity: .9; }
	.hero__book--a { display: none; }
	.hero__art .blob { width: 70%; left: 22%; top: 16%; }
	.hero__book--b { width: 40%; left: 38%; top: 6%; transform: rotate(8deg); }
	.rail-wrap { margin: 0 -15px; }
	.rail { padding: 0 15px 4px; scroll-padding: 0 15px; }
	.rail-wrap::before, .rail-wrap::after { width: 56px; }
	.contacts__list { gap: 10px; grid-template-columns: 1fr; }
	.footer__row { flex-direction: column; gap: 6px; }
	.order { gap: 40px; }
	.steps__item { font-size: 12px; }
	.track-form, .track-card { padding: 22px 18px; }
	.co-fields, .auth-card__pair { grid-template-columns: 1fr; }
	.co-fields > .form-row-first, .co-fields > .form-row-last { grid-column: 1; }
	.cart-modal { padding: 0; align-items: end; }
	.cart-modal__panel { max-height: 92vh; border-radius: 22px 22px 0 0; }
	.cm__body, .cm__foot { padding-left: 18px; padding-right: 18px; }
	.cm-notice { padding: 12px 18px; }
	.request { padding: 24px 18px; }
	.form-card, .request .contact-form, .auth-card, .woocommerce-ResetPassword { padding: 22px 18px; }
	.split-page__lead { font-size: 17px; }
	.slider__arrow { width: 36px; height: 36px; margin-top: -18px; }
	.slider__arrow--prev { left: 10px; }
	.slider__arrow--next { right: 10px; }
	.acc__cards { grid-template-columns: 1fr; }
	.acc-title, .acc__hello, .od__title { font-size: 22px; }
	.oc { grid-template-columns: auto minmax(0, 1fr); gap: 12px 14px; padding: 14px; }
	.oc__actions { grid-column: 1 / -1; justify-content: flex-start; padding-top: 12px; border-top: 1px solid var(--line-2); }
	.oc__actions > .oc__link:last-child { margin-left: auto; }
	.acc-card, .acc-block, .od-card { padding: 16px; }
	.od-line { grid-template-columns: auto minmax(0, 1fr); }
	.od-line__price { grid-column: 2; }
	.buy__form .btn { flex: 1; padding-inline: 14px; letter-spacing: .08em; }
	.buy__form .btn .icon { display: none; }
}
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
