/*
Theme Name: Андріана Матис
Theme URI: https://andrianamatys.art
Author: andrianamatys.art
Description: Тема сайту-галереї й інтернет-магазину картин Андріани Матис. Магазин на WooCommerce, серії, портфоліо проданих робіт, проєкти, новини та ЗМІ.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: andriana
WC requires at least: 9.0
*/

/* ---------- Токени ---------- */
:root {
	--am-ink: #171717;
	--am-text: #212529;
	--am-muted: #595959;
	--am-line: #EBEBEB;
	--am-line-2: #E0E0E0;
	--am-gray: #F9F9F9;
	--am-gray-2: #F5F5F5;
	--am-footer: #212121;
	--am-white: #FFFFFF;
	--am-green: #2E9E5B;
	--am-red: #C2402E;
	--am-radius: 6px;
	--am-serif: "Playfair Display", Georgia, serif;
	--am-sans: "Golos Text", "Helvetica Neue", Arial, sans-serif;
	--am-gutter: 24px;
	--am-max: 1320px;
}

/* ---------- База ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--am-white); color: var(--am-text); font-family: var(--am-sans); font-size: 16px; line-height: 1.6; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--am-ink); }
a:hover { color: var(--am-muted); }
:focus-visible { outline: 2px solid var(--am-ink); outline-offset: 2px; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4 { color: var(--am-ink); }
.am-sr, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.am-skip { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--am-ink); color: #fff; padding: 10px 14px; border-radius: var(--am-radius); }
.am-skip:focus { top: 8px; color: #fff; }
.am-container { width: 100%; max-width: var(--am-max); margin: 0 auto; padding: 0 var(--am-gutter); }
.am-container--narrow { max-width: 920px; }
.am-muted { color: var(--am-muted); font-size: 15px; }

/* ---------- Кнопки ---------- */
.am-btn, .button, button.button, .single_add_to_cart_button, .wc-block-components-button:not(.is-link) {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 24px; border-radius: var(--am-radius);
	border: 1px solid var(--am-ink); background: var(--am-ink); color: #fff;
	font-family: var(--am-sans); font-size: 15px; font-weight: 500; line-height: 1.2;
	text-decoration: none; cursor: pointer; transition: background .2s, color .2s;
}
.am-btn:hover, .button:hover, .single_add_to_cart_button:hover { background: #333; color: #fff; }
.am-btn--outline { background: transparent; color: var(--am-ink); }
.am-btn--outline:hover { background: var(--am-ink); color: #fff; }
.am-btn--sm { min-height: 40px; padding: 0 18px; font-size: 14px; }
.am-btn--lg { min-height: 56px; padding: 0 26px; font-size: 16px; }
.am-btn--light { background: #fff; color: var(--am-ink); border-color: #fff; }
.am-btn--light:hover { background: var(--am-line); color: var(--am-ink); }
.am-btn--ghost { background: transparent; color: #fff; border-color: #fff; }
.am-btn--ghost:hover { background: #fff; color: var(--am-ink); }
.am-btn.added::after { content: " ✓"; }
.added_to_cart { display: inline-block; margin-left: 10px; font-size: 14px; }
.am-link { font-weight: 500; padding: 10px 6px; text-underline-offset: 4px; }
.am-buttons { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Типографіка ---------- */
.am-h2 { margin: 0; font-family: var(--am-serif); font-size: clamp(28px, 2.6vw, 34px); font-weight: 600; line-height: 1.2; }
.am-h2--lg { font-size: clamp(32px, 3vw, 40px); }
.am-h2 a { text-decoration: none; }
.am-lead { margin: 0; font-size: 17px; color: var(--am-muted); }
.am-body { margin: 0; font-size: 16px; line-height: 1.8; color: var(--am-muted); }
.am-eyebrow { margin: 0; font-size: 14px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--am-muted); }
.am-prose { font-size: 17px; line-height: 1.8; color: var(--am-text); }
.am-prose h2, .am-prose h3 { font-family: var(--am-serif); font-weight: 600; line-height: 1.25; }
.am-prose img { border-radius: 4px; }
.am-prose blockquote { margin: 1.5em 0; padding-left: 20px; border-left: 3px solid var(--am-ink); font-family: var(--am-serif); font-size: 22px; }

/* ---------- Шапка ---------- */
.am-header { background: #fff; position: relative; z-index: 20; }
.am-header__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 32px; padding-top: 14px; padding-bottom: 14px; }
.am-logo a { font-family: var(--am-serif); font-size: 30px; font-weight: 900; text-decoration: none; color: var(--am-ink); letter-spacing: -.01em; }
.am-logo img { max-height: 56px; width: auto; }
.am-search { flex: 0 1 440px; min-width: 240px; display: flex; align-items: center; background: var(--am-gray-2); border-radius: var(--am-radius); }
.am-search input { flex: 1 1 auto; min-width: 0; min-height: 46px; padding: 0 16px; border: 0; background: transparent; font-size: 14px; }
.am-search button { width: 46px; height: 46px; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.am-header__actions { display: flex; align-items: center; gap: 10px; }
.am-lang { display: flex; align-items: center; gap: 6px; font-size: 14px; padding: 0 6px; }
.am-lang a { text-decoration: none; padding: 10px 2px; color: var(--am-muted); }
.am-lang a[aria-current] { color: var(--am-ink); font-weight: 600; }
.am-iconbtn { width: 46px; height: 46px; border: 1px solid var(--am-line); border-radius: var(--am-radius); display: flex; align-items: center; justify-content: center; color: var(--am-ink); }
.am-btn--cart { min-height: 46px; padding: 0 18px; }
.am-btn--cart span:first-of-type { margin-left: 2px; }
.am-header__burger { display: none; width: 46px; height: 46px; border: 1px solid var(--am-line); border-radius: var(--am-radius); background: #fff; cursor: pointer; align-items: center; justify-content: center; }
.am-nav { border-top: 1px solid var(--am-line); border-bottom: 1px solid var(--am-line); background: #fff; }
.am-nav__list, .am-nav ul { list-style: none; margin: 0; padding: 0; }
.am-nav__list { display: flex; flex-wrap: wrap; gap: 0 36px; }
.am-nav__list > li { position: relative; }
.am-nav__link { display: inline-flex; align-items: center; gap: 6px; padding: 16px 0 14px; border-bottom: 2px solid transparent; font-size: 15px; font-weight: 500; text-decoration: none; color: var(--am-ink); }
.am-nav__link[aria-current="page"] { border-bottom-color: var(--am-ink); }
.am-nav .menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-3px); margin-left: 4px; }
.am-nav .sub-menu { position: absolute; left: -16px; top: 100%; min-width: 230px; background: #fff; border: 1px solid var(--am-line); border-radius: var(--am-radius); box-shadow: 0 12px 30px rgba(0,0,0,.08); padding: 8px 0; display: none; }
.am-nav li:hover > .sub-menu, .am-nav li:focus-within > .sub-menu { display: block; }
.am-nav .sub-menu a { display: block; padding: 9px 18px; font-size: 15px; text-decoration: none; border: 0; }
.am-nav .sub-menu a:hover { background: var(--am-gray-2); color: var(--am-ink); }

/* ---------- Заглушки зображень ---------- */
.am-art { position: absolute; inset: 0; overflow: hidden; display: block; }
.am-art__circle { position: absolute; top: 16%; width: 46%; aspect-ratio: 1; border-radius: 50%; }
.am-art__bar { position: absolute; left: 10%; width: 72%; height: 18%; }
.am-art__label { position: absolute; left: 12px; bottom: 12px; z-index: 2; background: #fff; color: var(--am-ink); font-size: 12px; padding: 5px 10px; }
.am-img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Секції ---------- */
.am-section { padding: 100px 0; }
.am-section--tight { padding: 64px 0 100px; }
.am-section--flush { padding: 0 0 90px; }
.am-section--gray { background: var(--am-gray); }
.am-section--line { border-top: 1px solid var(--am-line); }
.am-section--dark { background: var(--am-ink); color: #fff; }
.am-section--dark .am-h2, .am-section--dark .am-lead { color: #fff; }
.am-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 24px; margin-bottom: 40px; }
.am-head__text { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.am-head__actions { display: flex; align-items: center; gap: 10px; }
.am-head--center { justify-content: center; text-align: center; }
.am-head--center .am-head__text { align-items: center; }

/* ---------- Сітки ---------- */
.am-grid { display: grid; gap: 24px; }
.am-grid--2 { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.am-grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.am-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.am-grid--shop { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.am-grid--tiles { grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 20px; }
.am-grid--news { grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); gap: 48px 24px; }

/* ---------- Банер-слайдер ---------- */
.am-hero { position: relative; min-height: 680px; overflow: hidden; background: #1E1E1E; }
.am-hero__slide { position: absolute; inset: 0; display: flex; align-items: center; opacity: 0; transition: opacity .6s; }
.am-hero__slide.is-active { position: relative; min-height: 680px; opacity: 1; }
.am-hero__slide[hidden] { display: none; }
.am-hero__bg { position: absolute; inset: 0; }
.am-hero__bg::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.38); }
.am-hero__bg .am-art__circle { width: 26%; left: auto !important; right: 22%; top: 24%; }
.am-hero__bg .am-art__bar { left: auto; right: 0; width: 62%; height: 7%; top: 64% !important; }
.am-hero__inner { position: relative; padding-top: 80px; padding-bottom: 100px; display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.am-hero__title { margin: 0; max-width: 680px; font-family: var(--am-serif); font-size: clamp(42px, 5.4vw, 72px); font-weight: 900; line-height: 1.08; color: #fff; }
.am-hero__text { margin: 0; max-width: 520px; font-size: 18px; line-height: 1.65; color: #fff; }
.am-hero__dots { position: absolute; left: 0; right: 0; bottom: 26px; display: flex; justify-content: center; gap: 8px; z-index: 3; }
.am-hero__dots button { width: 44px; height: 24px; padding: 0; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.am-hero__dots span { display: block; width: 18px; height: 4px; border-radius: 2px; background: rgba(255,255,255,.55); transition: width .3s; }
.am-hero__dots [aria-pressed="true"] span { width: 34px; background: #fff; }

/* ---------- Банер внутрішніх сторінок ---------- */
.am-banner { position: relative; min-height: 320px; display: flex; align-items: center; overflow: hidden; background: var(--am-ink); color: #fff; }
.am-banner__bg { position: absolute; inset: 0; }
.am-banner__bg::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.am-banner__bg .am-art__circle { width: 18%; left: auto !important; right: 20%; top: 22%; }
.am-banner__bg .am-art__bar { left: auto; right: 4%; width: 34%; height: 100%; top: 0 !important; opacity: .9; }
.am-banner__inner { position: relative; padding-top: 28px; padding-bottom: 56px; display: flex; flex-direction: column; gap: 16px; }
.am-banner__title { margin: 24px 0 0; font-family: var(--am-serif); font-size: clamp(36px, 4.4vw, 54px); font-weight: 700; line-height: 1.15; color: #fff; }
.am-banner__text { margin: 0; max-width: 600px; font-size: 16px; line-height: 1.7; }
.am-crumbs { font-size: 13px; }
.am-crumbs a { color: inherit; }
.am-crumbs--dark { padding-top: 16px; padding-bottom: 16px; color: var(--am-muted); }
.am-crumbs--dark span { color: var(--am-ink); }

/* ---------- Про мисткиню (головна) ---------- */
.am-essence { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.am-essence__left { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.am-essence__photo { position: relative; aspect-ratio: 1; max-height: 420px; overflow: hidden; }
.am-essence__text { flex: 1 1 440px; min-width: 0; padding-right: 56px; display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.am-essence__text .am-body { max-width: 520px; }
.am-essence__right { flex: 0 1 220px; min-width: 160px; position: relative; display: flex; align-items: center; }
.am-essence__narrow { position: relative; width: 100%; aspect-ratio: 3 / 5; overflow: hidden; }
.am-round { position: absolute; left: -60px; top: 50%; transform: translateY(-50%); width: 124px; height: 124px; border-radius: 50%; background: var(--am-ink); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; font-weight: 500; z-index: 2; }
.am-round:hover { background: #333; color: #fff; }
.am-stats { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--am-gray); border: 1px solid var(--am-line); border-radius: var(--am-radius); padding: 18px 8px; }
.am-stats > div { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0 6px; border-right: 1px solid var(--am-line-2); text-align: center; }
.am-stats > div:last-child { border-right: 0; }
.am-stats dd { margin: 0; font-family: var(--am-serif); font-size: 28px; font-weight: 700; color: var(--am-ink); line-height: 1.2; }
.am-stats dt { font-size: 13px; color: var(--am-muted); }
.am-stats--col { grid-template-columns: 1fr; gap: 14px; padding: 20px; }
.am-stats--col > div { border-right: 0; flex-direction: row; justify-content: space-between; }
.am-checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px 24px; text-align: left; width: 100%; max-width: 560px; }
.am-checks li { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; color: var(--am-ink); }
.am-checks .am-icon, .am-perks .am-icon { color: var(--am-green); stroke-width: 2.4; flex: 0 0 auto; }

/* ---------- Розділ серії ---------- */
.am-split { display: flex; flex-wrap: wrap; gap: 64px; align-items: center; }
.am-split > * { flex: 1 1 440px; min-width: 0; }
.am-split__text { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.am-frames { position: relative; height: 560px; flex-basis: 520px; }
.am-frames__back { position: absolute; left: 0; top: 0; width: 56%; height: 100%; overflow: hidden; }
.am-frames__front { position: absolute; left: 44%; top: 15%; width: 46%; height: 70%; background: #E4E4E4; padding: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.18); }
.am-frames__canvas { position: relative; width: 100%; height: 100%; border: 3px solid #C9A75A; overflow: hidden; }
.am-arrows { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.am-arrows li { display: flex; align-items: center; gap: 14px; font-size: 17px; font-weight: 500; color: var(--am-ink); }
.am-arrows .am-icon { color: var(--am-green); flex: 0 0 auto; }
.am-arrows--sm li { align-items: flex-start; font-size: 15px; font-weight: 400; gap: 12px; }
.am-arrows--sm .am-icon { margin-top: 3px; }

/* ---------- Картки ---------- */
.am-card { border: 1px solid var(--am-line); background: #fff; display: flex; flex-direction: column; min-width: 0; }
.am-card__media { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--am-gray-2); }
.am-card__media--wide { aspect-ratio: 4 / 3; }
.am-card__img { position: absolute; inset: 0; display: block; }
.am-card__img img { transition: transform .5s; }
.am-card:hover .am-card__img img { transform: scale(1.04); }
.am-card__body { padding: 18px 18px 22px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }
.am-card__title { margin: 0; font-family: var(--am-sans); font-size: 17px; line-height: 1.4; font-weight: 500; }
.am-card__title a { text-decoration: none; }
.am-card__meta { margin: 0; font-size: 14px; color: var(--am-muted); }
.am-card__meta a { color: var(--am-ink); text-decoration: none; }
.am-card__meta strong { font-weight: 500; color: var(--am-ink); }
.am-card__meta .woocommerce-Price-amount { color: var(--am-muted); }
.am-card__actions { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; align-items: center; }
.am-card__wish { position: absolute; right: 12px; top: 12px; z-index: 2; }
.am-card.outofstock .am-card__actions .am-btn { pointer-events: none; opacity: .6; }

/* YITH Wishlist: кругла біла кнопка-сердечко */
.am-card__wish .yith-wcwl-add-to-wishlist-button, .am-card__wish a {
	width: 38px !important; height: 38px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important;
	border-radius: 50% !important; border: 0 !important; background: #fff !important; color: var(--am-ink) !important;
	display: flex !important; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.1); cursor: pointer;
}
.am-card__wish .yith-wcwl-add-to-wishlist-button:hover { background: var(--am-ink) !important; color: #fff !important; }
.am-card__wish .yith-wcwl-icon-svg__wrapper, .am-card__wish svg { width: 18px !important; height: 18px !important; margin: 0 !important; color: inherit !important; }
.am-card__wish .yith-wcwl-add-to-wishlist-button__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.am-gallery__main .am-card__wish { right: 16px; top: 16px; }

/* Слайдер-доріжка на головній */
.am-track { contain: paint; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 72px) / 4); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.am-track::-webkit-scrollbar { display: none; }
.am-track > * { scroll-snap-align: start; }
.am-arrowbtn { width: 44px; height: 44px; border: 1px solid var(--am-ink); border-radius: var(--am-radius); background: #fff; color: var(--am-ink); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.am-arrowbtn--dark { background: var(--am-ink); color: #fff; }

/* Мітка й смуга з цифрами (проєкти) */
.am-badge { position: absolute; left: 14px; top: 14px; z-index: 2; background: var(--am-red); color: #fff; font-size: 13px; font-weight: 500; padding: 4px 10px; border-radius: 3px; }
.am-strip { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 2; margin: 0; background: #fff; border-radius: var(--am-radius); padding: 10px 6px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.am-strip > div { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.am-strip dd { margin: 0; font-size: 17px; font-weight: 600; color: var(--am-ink); line-height: 1.2; }
.am-strip dt { font-size: 11px; color: var(--am-muted); }
.am-strip--lg { left: 16px; right: 16px; bottom: 16px; padding: 12px 6px; }
.am-strip--lg dd { font-size: 19px; }
.am-strip--lg dt { font-size: 12px; }

/* Плитки проданих робіт */
.am-tile { margin: 0; position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 4px; background: var(--am-gray-2); }
.am-tile__img { position: absolute; inset: 0; display: block; }
.am-tile__label { position: absolute; left: 0; bottom: 14px; z-index: 2; max-width: calc(100% - 14px); background: var(--am-ink); color: #fff; padding: 10px 14px; display: flex; flex-direction: column; gap: 4px; }
.am-tile__label strong { font-family: var(--am-serif); font-size: 15px; font-weight: 600; }
.am-tile__label span { font-size: 12px; color: #E0E0E0; }

/* ---------- Темний блок «Чому купувати тут» ---------- */
.am-dark { display: flex; flex-wrap: wrap; min-height: 600px; background: var(--am-ink); color: #fff; }
.am-dark__text { flex: 1 1 520px; min-width: 0; padding: 90px 48px 90px max(var(--am-gutter), calc((100vw - var(--am-max)) / 2 + var(--am-gutter))); display: flex; flex-direction: column; gap: 24px; justify-content: center; }
.am-dark .am-h2 { color: #fff; }
.am-dark .am-lead { color: #D9D9D9; max-width: 480px; }
.am-dark__img { flex: 1 1 420px; min-height: 420px; position: relative; overflow: hidden; }
.am-why { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.am-why li { display: flex; gap: 16px; align-items: flex-start; }
.am-why__icon { flex: 0 0 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--am-ink); display: flex; align-items: center; justify-content: center; }
.am-why li > span:last-child { display: flex; flex-direction: column; gap: 6px; }
.am-why strong { font-family: var(--am-serif); font-size: 19px; font-weight: 600; }
.am-why li > span:last-child > span { font-size: 15px; line-height: 1.6; color: #D9D9D9; }

/* ---------- Публікації ---------- */
.am-press { position: relative; background: #fff; border-radius: var(--am-radius); padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.am-press .am-icon--quote { position: absolute; right: 22px; top: 18px; color: var(--am-line); }
.am-press__title { margin: 0; padding-right: 50px; font-family: var(--am-sans); font-size: 17px; line-height: 1.45; font-weight: 600; }
.am-press__title a { text-decoration: none; }
.am-press__text { margin: 0; font-size: 15px; line-height: 1.65; color: var(--am-muted); }
.am-press__foot { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--am-line); display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
.am-press__src { display: flex; align-items: center; gap: 10px; }
.am-press__src > span:last-child { display: flex; flex-direction: column; }
.am-press__src strong { font-family: var(--am-serif); font-size: 16px; color: var(--am-ink); }
.am-press__src small { font-size: 12px; color: var(--am-muted); }
.am-press__logo { width: 38px; height: 38px; border-radius: 4px; background: var(--am-ink); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--am-serif); font-weight: 700; }

/* ---------- Новини ---------- */
.am-news { display: flex; flex-direction: column; min-width: 0; }
.am-news__img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--am-gray-2); }
.am-news__box { margin: -64px 14px 0; position: relative; z-index: 2; background: #fff; padding: 18px; box-shadow: 0 6px 20px rgba(0,0,0,.08); display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; }
.am-news__meta { font-size: 13px; color: var(--am-muted); display: flex; flex-wrap: wrap; gap: 6px 10px; }
.am-news__meta span[aria-hidden] { color: #D0D0D0; }
.am-news__title { margin: 0; font-family: var(--am-sans); font-size: 16px; line-height: 1.45; font-weight: 600; }
.am-news__title a { text-decoration: none; }
.am-news__more { margin-top: auto; font-size: 14px; font-weight: 500; padding: 6px 0; }

/* ---------- FAQ ---------- */
.am-faq details { border-bottom: 1px solid var(--am-line-2); }
.am-faq summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; font-size: 17px; font-weight: 500; color: var(--am-ink); }
.am-faq summary::-webkit-details-marker { display: none; }
.am-faq summary::after { content: "+"; font-size: 24px; font-weight: 400; }
.am-faq details[open] summary { border-bottom: 2px solid var(--am-ink); }
.am-faq details[open] summary::after { content: "−"; }
.am-faq p { margin: 0; padding: 18px 0 22px; font-size: 15px; line-height: 1.7; color: var(--am-muted); }

/* ---------- Футер ---------- */
.am-footer { background: var(--am-footer); color: #D9D9D9; padding-top: 72px; }
.am-footer a { color: #D9D9D9; text-decoration: none; }
.am-footer a:hover { color: #fff; }
.am-footer__grid { display: flex; flex-wrap: wrap; gap: 48px; }
.am-footer__brand { flex: 2 1 340px; display: flex; flex-direction: column; gap: 20px; padding-right: 24px; }
.am-footer__brand p { margin: 0; max-width: 420px; line-height: 1.7; }
.am-footer__logo { font-family: var(--am-serif); font-size: 34px; font-weight: 900; color: #fff !important; }
.am-footer__col { flex: 1 1 180px; min-width: 0; display: flex; flex-direction: column; gap: 4px; border-left: 1px solid #3A3A3A; padding-left: 32px; }
.am-footer__col ul { list-style: none; margin: 0; padding: 0; }
.am-footer__col li a { display: inline-block; padding: 7px 0; font-size: 15px; }
.am-footer__col p { margin: 0 0 10px; font-size: 14px; line-height: 1.6; }
.am-footer__title { margin: 0 0 14px; font-family: var(--am-serif); font-size: 22px; font-weight: 600; color: #fff; }
.am-social { list-style: none; margin: 0; padding: 12px 0 0; display: flex; gap: 28px; }
.am-social a { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 13px; color: #fff; min-width: 44px; }
.am-subscribe { display: flex; flex-wrap: wrap; background: #fff; border-radius: var(--am-radius); overflow: hidden; }
.am-subscribe input { flex: 1 1 160px; min-width: 0; min-height: 46px; padding: 0 14px; border: 0; color: var(--am-ink); }
.am-subscribe button { flex: 1 0 auto; min-height: 46px; padding: 0 16px; border: 0; background: var(--am-ink); color: #fff; font-weight: 500; cursor: pointer; }
.am-footer__bottom { margin-top: 56px; padding-top: 22px; padding-bottom: 22px; border-top: 1px solid #3A3A3A; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px; color: #BDBDBD; }

/* ---------- Магазин ---------- */
.am-shop { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.am-filters { flex: 1 1 240px; max-width: 300px; min-width: 0; display: flex; flex-direction: column; gap: 34px; }
.am-filters__form { display: flex; flex-direction: column; gap: 30px; }
.am-filters__search { display: flex; border: 1px solid var(--am-line); border-radius: var(--am-radius); overflow: hidden; }
.am-filters__search input { flex: 1 1 auto; min-width: 0; min-height: 46px; padding: 0 14px; border: 0; font-size: 14px; }
.am-filters__search button { width: 46px; border: 0; background: var(--am-ink); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.am-filters__group { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.am-filters__group legend { padding: 0; margin-bottom: 10px; font-family: var(--am-serif); font-size: 20px; font-weight: 600; color: var(--am-ink); }
.am-filters__group label { min-height: 38px; display: flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; }
.am-filters__group label span { color: var(--am-muted); font-size: 13px; }
.am-filters__group input { width: 16px; height: 16px; accent-color: var(--am-ink); }
.am-filters__buttons { display: flex; align-items: center; gap: 10px; }
.js .am-filters__buttons .am-btn { display: none; }
.am-filters__help { background: var(--am-gray); border-radius: var(--am-radius); padding: 22px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.am-filters__help strong { font-family: var(--am-serif); font-size: 18px; color: var(--am-ink); }
.am-filters__help span { font-size: 14px; line-height: 1.6; color: var(--am-muted); }
.am-shop__main { flex: 999 1 600px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.am-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid var(--am-line); margin-bottom: 28px; }
.am-shop__main .am-toolbar { margin-bottom: 0; }
.am-toolbar__right { display: flex; align-items: center; gap: 10px; }
.woocommerce-result-count { margin: 0; font-size: 15px; color: var(--am-muted); }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select, .am-form select { min-height: 42px; padding: 0 10px; border: 1px solid var(--am-line); border-radius: var(--am-radius); background: #fff; font-size: 14px; }
.am-view { display: flex; gap: 6px; }
.am-view button { width: 42px; height: 42px; border: 1px solid var(--am-line); border-radius: var(--am-radius); background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.am-view button[aria-pressed="true"] { background: var(--am-ink); border-color: var(--am-ink); color: #fff; }
.am-grid.is-list { grid-template-columns: 1fr; }
.am-grid.is-list .am-card { flex-direction: row; }
.am-grid.is-list .am-card__media { flex: 0 0 240px; }
.am-empty { padding: 30px; background: var(--am-gray); border-radius: var(--am-radius); color: var(--am-muted); }

/* Пагінація (Woo і записи) */
.woocommerce-pagination ul, .pagination .nav-links, nav.pagination { list-style: none; margin: 16px 0 0; padding: 0; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; border: 0; }
.woocommerce-pagination ul li { border: 0; }
.page-numbers { min-width: 44px; height: 44px; padding: 0 12px; border-radius: var(--am-radius); border: 1px solid var(--am-line); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-size: 15px; }
.page-numbers.current { background: var(--am-ink); color: #fff; border-color: var(--am-ink); }

/* Вкладки-фільтри */
.am-tabs { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 18px; margin-bottom: 40px; border-bottom: 1px solid var(--am-line); }
.am-tabs--inline { padding: 0; margin: 0; border: 0; }
.am-tab { min-height: 42px; padding: 0 18px; border: 1px solid var(--am-ink); border-radius: var(--am-radius); background: #fff; display: inline-flex; align-items: center; font-size: 14px; font-weight: 500; text-decoration: none; }
.am-tab[aria-current="page"] { background: var(--am-ink); color: #fff; }

/* ---------- Сторінка картини ---------- */
.am-product { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.am-gallery { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.am-gallery__main { position: relative; aspect-ratio: 1; background: var(--am-gray-2); overflow: hidden; }
.am-gallery__slide { position: absolute; inset: 0; display: block; }
.am-gallery__slide[hidden] { display: none; }
.am-gallery__slide img { object-fit: contain; width: 100%; height: 100%; }
.am-gallery__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.am-gallery__thumbs button { aspect-ratio: 1; padding: 6px; border: 1px solid var(--am-line); background: var(--am-gray-2); cursor: pointer; }
.am-gallery__thumbs button[aria-pressed="true"] { border-color: var(--am-ink); }
.am-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.am-summary { flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.am-summary__title { margin: 0; font-family: var(--am-serif); font-size: clamp(30px, 3vw, 38px); line-height: 1.2; font-weight: 600; }
.am-summary__meta { margin: 0; font-size: 15px; color: var(--am-muted); }
.am-summary__meta a { color: var(--am-ink); }
.am-summary__price { margin: 0; font-size: 24px; font-weight: 600; color: var(--am-ink); }
.am-summary__price del { color: var(--am-muted); font-weight: 400; font-size: 18px; }
.am-price-eur { font-size: 15px; font-weight: 400; color: var(--am-muted); }
.am-summary__note { margin: 0; font-size: 13px; color: var(--am-muted); }
.am-summary__cart form.cart { margin: 0; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.am-summary__cart .quantity { display: none; }
.am-summary__cart .stock { margin: 0; font-size: 14px; color: var(--am-muted); }
.am-sold { margin: 0; display: inline-block; padding: 6px 12px; background: var(--am-ink); color: #fff; font-size: 14px; font-weight: 500; border-radius: 3px; }
.am-perks { list-style: none; margin: 6px 0 0; padding: 20px 22px; background: var(--am-gray-2); border-radius: var(--am-radius); display: flex; flex-direction: column; gap: 12px; max-width: 440px; width: 100%; }
.am-perks li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--am-ink); }
.am-perks__pay { padding-top: 6px; font-size: 13px !important; font-weight: 700; letter-spacing: .02em; }
.am-info__box { border: 1px solid var(--am-line); padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.am-info__box--gray { background: var(--am-gray-2); border-color: var(--am-gray-2); }
.am-info__title { margin: 0; font-family: var(--am-serif); font-size: 22px; font-weight: 600; text-decoration: underline; text-underline-offset: 6px; }
.am-info dl { margin: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.am-info dt { font-weight: 600; color: var(--am-ink); }
.am-info dd { margin: 2px 0 0; color: var(--am-muted); }
.am-info__content { font-size: 14px; line-height: 1.7; color: var(--am-muted); }
.am-info__content p { margin: 0 0 10px; }

/* ---------- Проєкти ---------- */
.am-feature__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--am-gray-2); flex-basis: 520px; }
.am-project { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
.am-project .am-prose { flex: 2 1 520px; min-width: 0; }
.am-project__aside { flex: 1 1 300px; display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }

/* ---------- Заклик унизу сторінок ---------- */
.am-cta { background: var(--am-ink); color: #fff; padding: 80px 0; }
.am-cta__inner { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
.am-cta__inner > div:first-child { flex: 1 1 440px; display: flex; flex-direction: column; gap: 12px; }
.am-cta .am-h2 { color: #fff; }
.am-cta .am-lead { color: #D9D9D9; }
.am-cta .am-lead a { color: #fff; }
.am-cta__buttons { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Про мисткиню ---------- */
.am-bio__photo { position: relative; aspect-ratio: 4 / 5; max-height: 600px; overflow: hidden; background: var(--am-gray-2); flex: 1 1 420px; }
.am-quote { margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.am-quote .am-icon--quote { color: #D9D9D9; width: 54px; height: 44px; }
.am-quote blockquote { margin: 0; }
.am-quote blockquote p { margin: 0; font-family: var(--am-serif); font-size: clamp(26px, 3vw, 40px); line-height: 1.35; font-weight: 500; color: var(--am-ink); }
.am-quote figcaption { font-size: 15px; color: var(--am-muted); }
.am-timeline { list-style: none; margin: 0; padding: 0; }
.am-timeline li { display: flex; flex-wrap: wrap; gap: 8px 32px; padding: 22px 0; border-top: 1px solid #3A3A3A; }
.am-timeline li:last-child { border-bottom: 1px solid #3A3A3A; }
.am-timeline__year { flex: 0 0 120px; font-family: var(--am-serif); font-size: 20px; font-weight: 700; }
.am-timeline__title { flex: 1 1 320px; font-size: 18px; color: #fff; text-decoration: none; }
.am-timeline__title:hover { color: #D9D9D9; }
.am-timeline__place { flex: 0 1 320px; color: #BDBDBD; }
.am-boxcard { border: 1px solid var(--am-line); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.am-boxcard strong { font-family: var(--am-serif); font-size: 20px; color: var(--am-ink); }
.am-boxcard span { font-size: 14px; line-height: 1.6; color: var(--am-muted); }

/* ---------- Контакт ---------- */
.am-contact-card { border: 1px solid var(--am-line); border-radius: var(--am-radius); padding: 28px; display: flex; gap: 18px; align-items: flex-start; }
.am-contact-card__icon { flex: 0 0 48px; height: 48px; border-radius: 50%; background: var(--am-ink); color: #fff; display: flex; align-items: center; justify-content: center; }
.am-contact-card > span:last-child { display: flex; flex-direction: column; gap: 6px; font-size: 15px; color: var(--am-muted); }
.am-contact-card strong { font-family: var(--am-serif); font-size: 20px; color: var(--am-ink); }
.am-contact-card a { color: var(--am-muted); text-decoration: none; }
.am-contact { display: flex; flex-wrap: wrap; gap: 48px; align-items: stretch; }
.am-contact__form { flex: 1 1 560px; min-width: 0; background: var(--am-gray); border-radius: var(--am-radius); padding: 40px; display: flex; flex-direction: column; gap: 18px; }
.am-contact__map { flex: 1 1 400px; min-width: 0; min-height: 420px; position: relative; border-radius: var(--am-radius); overflow: hidden; background: var(--am-gray-2); }
.am-contact__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.am-form { display: flex; flex-direction: column; gap: 18px; }
.am-form__row { display: flex; flex-wrap: wrap; gap: 18px; }
.am-form__row > label { flex: 1 1 220px; }
.am-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; color: var(--am-ink); }
.am-form input[type=text], .am-form input[type=email], .am-form input[type=tel], .am-form textarea, .am-form select { min-height: 48px; padding: 0 14px; border: 1px solid var(--am-line-2); border-radius: var(--am-radius); background: #fff; font-size: 15px; font-weight: 400; }
.am-form textarea { padding: 12px 14px; line-height: 1.5; resize: vertical; }
.am-form__check { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 400 !important; color: var(--am-muted) !important; }
.am-form__check input { width: 16px; height: 16px; margin-top: 3px; accent-color: var(--am-ink); }
.am-form .am-btn { align-self: flex-start; }
.am-hp { position: absolute; left: -9999px; }
.am-notice { margin: 0; padding: 14px 18px; border-radius: var(--am-radius); font-size: 15px; }
.am-notice--ok { background: #E7F4EC; color: #1E6B3E; }
.am-notice--err { background: #FBE9E6; color: #8A2A1D; }

/* ---------- Новина ---------- */
.am-postnav { display: flex; justify-content: space-between; gap: 20px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--am-line); font-size: 15px; }

/* ---------- WooCommerce: кошик, оформлення, повідомлення ---------- */
.am-wc-page { font-size: 16px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { list-style: none; margin: 0 0 24px; padding: 14px 18px; border-radius: var(--am-radius); background: var(--am-gray-2); border: 1px solid var(--am-line); display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 40px; }
.wc-block-components-button:not(.is-link) { width: auto; }
.wc-block-cart, .wc-block-checkout { font-family: var(--am-sans); }
.wc-block-components-title, .wc-block-cart__totals-title { font-family: var(--am-serif) !important; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px; border-bottom: 1px solid var(--am-line); text-align: left; }
.woocommerce-wishlist .am-wc-page table { width: 100%; }

/* ---------- Адаптивність ---------- */
@media (max-width: 1100px) {
	.am-track { grid-auto-columns: calc((100% - 48px) / 3); }
	.am-essence__right { display: none; }
}
@media (max-width: 900px) {
	.am-section { padding: 72px 0; }
	.am-header__burger { display: inline-flex; }
	.am-header__top { gap: 12px; }
	.am-search { order: 5; flex: 1 1 100%; }
	.am-btn--cart span:not(.am-cart-count) { display: none; }
	.am-btn--cart { padding: 0 14px; }
	.am-nav { display: none; }
	.am-nav.is-open { display: block; }
	.am-nav__list { flex-direction: column; gap: 0; }
	.am-nav__link { width: 100%; padding: 14px 0; border-bottom: 1px solid var(--am-line); }
	.am-nav__link[aria-current="page"] { border-bottom-color: var(--am-line); font-weight: 700; }
	.am-nav .sub-menu { position: static; display: block; box-shadow: none; border: 0; padding: 0 0 8px 16px; }
	.am-track { grid-auto-columns: calc((100% - 24px) / 2); }
	.am-frames { height: 420px; }
	.am-dark__text { padding: 64px var(--am-gutter); }
	.am-filters { max-width: none; flex-basis: 100%; }
	.am-grid.is-list .am-card { flex-direction: column; }
	.am-grid.is-list .am-card__media { flex-basis: auto; }
}
@media (max-width: 600px) {
	:root { --am-gutter: 16px; }
	.am-logo a { font-size: 24px; }
	.am-lang { display: none; }
	.am-hero, .am-hero__slide.is-active { min-height: 560px; }
	.am-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 16px; }
	.am-stats > div:nth-child(2) { border-right: 0; }
	.am-track { grid-auto-columns: 82%; }
	.am-frames { height: 340px; }
	.am-contact__form { padding: 24px; }
	.am-footer__col { border-left: 0; padding-left: 0; }
	.am-head__actions .am-arrowbtn { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* Перекриваємо кольори стандартних кнопок WooCommerce */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce button.button.alt.disabled, .woocommerce .single_add_to_cart_button.button.alt {
	background: var(--am-ink); color: #fff; border: 1px solid var(--am-ink); border-radius: var(--am-radius);
	min-height: 48px; padding: 0 24px; font-weight: 500; font-size: 15px; line-height: 1.2; display: inline-flex; align-items: center; justify-content: center;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #333; color: #fff; border-color: #333; }
.woocommerce a.am-btn--outline, .woocommerce .am-card .am-btn--outline { background: transparent; color: var(--am-ink); min-height: 40px; padding: 0 18px; font-size: 14px; }
.woocommerce a.am-btn--outline:hover { background: var(--am-ink); color: #fff; }
.am-summary__cart .stock { display: none; }
.woocommerce span.onsale { display: none; }

/* Згортання фільтрів і дрібні правки адаптивності */
.am-filters__toggle > summary { display: none; }
.am-prose p { margin: 0 0 1em; }
.am-prose > :first-child { margin-top: 0; }
.am-prose h2 { font-size: clamp(26px, 2.4vw, 32px); margin: 0 0 .6em; }
@media (max-width: 900px) {
	.am-filters__toggle > summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 16px; border: 1px solid var(--am-ink); border-radius: var(--am-radius); font-weight: 500; cursor: pointer; list-style: none; }
	.am-filters__toggle > summary::-webkit-details-marker { display: none; }
	.am-filters__toggle > summary::after { content: "+"; font-size: 22px; }
	.am-filters__toggle[open] > summary { margin-bottom: 24px; }
	.am-filters__toggle[open] > summary::after { content: "−"; }
	.am-filters__help { display: none; }
	.am-toolbar__right { flex-wrap: wrap; }
}
@media (max-width: 600px) {
	.am-header__actions .am-iconbtn { display: none; }
	.am-header__top { flex-wrap: wrap; }
	.am-logo { flex: 1 1 auto; text-align: center; }
	.am-view { display: none; }
	.woocommerce-ordering, .woocommerce-ordering select { width: 100%; }
	.am-toolbar__right { width: 100%; }
}
@media (max-width: 400px) {
	.am-header__top { gap: 10px 8px; }
	.am-logo a { font-size: 19px; }
	.am-btn--cart { padding: 0 12px; min-height: 44px; }
	.am-header__burger { width: 44px; height: 44px; }
}

@media (max-width: 1100px) { .am-essence__text { padding-right: 0; } }


/* Цитата авторки на сторінці роботи */
.am-summary__quote { margin: 0 0 1.25rem; padding-left: 1rem; border-left: 2px solid var(--am-ink); font-family: var(--am-serif); font-style: italic; font-size: 1.125rem; line-height: 1.5; color: var(--am-text); }
.am-summary__quote p { margin: 0; }
