/*
Theme Name: Кутюр и Котюр
Template: astra
Version: 1.0.0
Text Domain: couture-child
*/

/* Гарнитуры лежат в теме, а не тянутся из чужого кэша: тот собрал файл без
   кириллицы и со ссылками на другой домен, поэтому русские буквы рисовались
   системным шрифтом, а не выбранным. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-600-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-600-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-400-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-400-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-500-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-500-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-600-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-600-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-700-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-700-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Плашка cookie: одна строка вместо трех, чтобы не занимать пол-экрана на телефоне */
.lwpcngNotice.lwpcngNoticeBox {
	/* плагин пишет display прямо в разметку, инлайн-стиль перебивается только так */
	display: flex !important;
	align-items: center;
	gap: 10px;
	max-width: none;
	width: auto;
	padding: 9px 10px 9px 14px;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	box-shadow: 0 8px 24px -12px rgba(43, 29, 22, .3);
}

.lwpcngNotice.lwpcngNoticeBox.lwpcngHide {
	display: none !important;
}

.lwpcngNotice.lwpcngNoticeBox .lwpcngNotice_message {
	margin: 0;
	font-size: 13px;
	line-height: 1.3;
	white-space: nowrap;
	color: #6E5749;
}

.lwpcngNotice.lwpcngNoticeBox .lwpcngNotice_buttons {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	flex: none;
}

/* в разметке кнопка стоит перед ссылкой, а читается лучше наоборот */
.lwpcngNotice.lwpcngNoticeBox .lwpcngNotice_more {
	order: -1;
	margin: 0;
	font-size: 13px;
	white-space: nowrap;
}

.lwpcngNotice.lwpcngNoticeBox .lwpcngNotice_more a {
	color: #C0400A;
}

.lwpcngNotice.lwpcngNoticeBox .lwpcngNotice_accept {
	min-width: 0;
	margin: 0;
	padding: 7px 18px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 8px;
	background: #C0400A;
	color: #fff;
	cursor: pointer;
}

.lwpcngNotice.lwpcngNoticeBox .lwpcngNotice_accept:hover {
	background: #9E3407;
}

@media (max-width: 480px) {
	.lwpcngNotice.lwpcngNoticeBox {
		right: 20px;
		flex-wrap: wrap;
	}

	.lwpcngNotice.lwpcngNoticeBox .lwpcngNotice_message {
		white-space: normal;
	}
}

/* ---- подвал по макету ---- */
.ck-ft{
	--ck-bg:#FEF1E4; --ck-card:#FFFFFF; --ck-ink:#2B1D16; --ck-ink2:#6E5749;
	--ck-btn:#C0400A; --ck-line:#EBD9C7; --ck-line2:#DCC5AF;
	background:var(--ck-bg);
	border-top:1px solid var(--ck-line2);
}
.ck-ft-nav .elementor-nav-menu{display:flex;flex-wrap:wrap;gap:10px 26px;
	padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--ck-line)}
.ck-ft-nav .elementor-nav-menu a.elementor-item{padding:6px 4px;font-size:14.5px;color:var(--ck-ink);
	font-weight:500;border:0;line-height:1.6;min-height:44px;display:inline-flex;align-items:center}
.ck-ft-nav .elementor-nav-menu a.elementor-item:hover{color:var(--ck-btn);background:transparent}

.ck-ft-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;
	padding:0;width:auto;max-width:none}
.ck-ft-col{padding:0;width:auto;max-width:none;gap:11px}
.ck-ft-h{font-size:16px;font-weight:700;color:var(--ck-ink)}
.ck-ft p,.ck-ft li{color:var(--ck-ink2);font-size:14.5px;line-height:1.6}
/* Шаг строк одинаков в колонке с текстом и в колонке со ссылками: отступ несёт тот,
   кто в пункте главный. Иначе одна колонка идёт вразрядку, другая плотно, и подвал
   выглядит рваным, хотя ничего не наезжает и не вылезает. */
.ck-ft-list ul{list-style:none;margin:0;padding:0}
.ck-ft-list li{display:block;padding:8px 0;line-height:1.5;font-size:14.5px}
.ck-ft-list li:has(a){padding:0}
.ck-ft-list a{color:var(--ck-ink2);text-decoration:none;display:inline-block;
	padding:8px 0;border-bottom:1px solid var(--ck-line2)}
.ck-ft-list a:hover{color:var(--ck-btn);border-color:var(--ck-btn)}
/* на телефоне палец требует область нажатия шире, чем макетный ритм на мониторе */
@media (max-width:600px){
	.ck-ft-list li{padding:11px 0}
	/* короткое слово даёт узкую цель, поэтому у ссылки есть нижняя граница ширины */
	.ck-ft-list a{padding:11px 0;display:inline-block;min-width:44px}
}
.ck-ft-legal{margin-top:30px;padding-top:18px;border-top:1px solid var(--ck-line)}
.ck-ft-legal p{font-size:13px;color:var(--ck-ink2);line-height:1.7}

/* на ноутбуках колонка первой трети съедала место, и пункты соседних колонок
   ломались на две строки, отчего подвал шёл разным ритмом */
@media (max-width:1150px){
	.ck-ft-cols{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:24px}
}
@media (max-width:900px){
	.ck-ft-cols{grid-template-columns:1fr 1fr;gap:26px}
}
@media (max-width:560px){
	.ck-ft-cols{grid-template-columns:1fr}
	.ck-ft-nav .elementor-nav-menu{gap:8px 18px}
}

/* кнопка меню темы была 42 точки при норме 44 */
.ast-mobile-menu-trigger-minimal,
.menu-toggle.ast-mobile-menu-buttons-minimal{min-width:44px;min-height:44px}

/* Область нажатия под палец там, где по ссылке или кнопке целятся с телефона.
   Норма 44 точки: ниже неё промахи по соседней строке становятся обычным делом. */
.wpforms-form button[type="submit"],
.wpforms-form input[type="submit"]{min-height:48px;padding:12px 26px}
/* кнопки конструктора считают высоту от кегля и не дотягивали до нормы на пол-точки */
.elementor-button{min-height:44px}
@media (max-width:600px){
	.elementor-icon-list-item a{min-height:44px;display:flex;align-items:center}
	.elementor-widget-text-editor li a{display:inline-block;padding:12px 0}
	/* Отрицательный отступ гасит прирост высоты, иначе подпись съезжает вниз
	   на половину области нажатия, а значок остаётся на верху строки. */
	.elementor-icon-box-title a{display:inline-block;padding:15px 0;margin:-15px 0;line-height:1.2}
}

/* Обводка фокуса остаётся видимой после щелчка мышью и читается как лишняя рамка
   вокруг вкладки или кнопки. Для клавиатуры она нужна, поэтому снимается только там,
   где браузер сам говорит, что подсветка не требуется. */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible),
.woocommerce-tabs ul.tabs li a:focus:not(:focus-visible){outline:none;box-shadow:none}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{outline:2px solid var(--ck-btn);outline-offset:2px}

/* ---- контакты в две колонки ---- */
body.page-id-357 .ck-cont-row{
	--ck-card:#FFFFFF; --ck-ink:#2B1D16; --ck-line:#EBD9C7; --ck-line2:#DCC5AF;
	margin-top:8px}
/* Контейнер конструктора держит детей во внутреннем слое, флекс вешается на него */
body.page-id-357 .ck-cont-row > .e-con-inner{
	display:flex;flex-direction:row;flex-wrap:nowrap;gap:36px;align-items:flex-start}
body.page-id-357 .ck-cont-l{flex:0 1 auto;width:44%;min-width:0}
/* Форма в карточке, чтобы правая колонка не висела голыми полями */
body.page-id-357 .ck-cont-r{flex:0 1 auto;width:56%;min-width:0;
	background:var(--ck-card);border:1px solid var(--ck-line);border-radius:14px;
	padding:28px 28px 24px}
body.page-id-357 .ck-cont-r .wpforms-field{padding-top:6px;padding-bottom:10px}
@media (max-width:920px){
	body.page-id-357 .ck-cont-row > .e-con-inner{flex-wrap:wrap;gap:24px}
	body.page-id-357 .ck-cont-l,
	body.page-id-357 .ck-cont-r{width:100%}
	body.page-id-357 .ck-cont-r{padding:20px 16px 16px}
}

/* ---- корзина в шапке на телефоне ---- */
/* Сумма переносилась по словам и растягивала шапку: на 320 точках до 187, на 360 до 143.
   Цена не переносится нигде, а на самых узких экранах остаётся значок со счётчиком. */
.ast-site-header-cart .ast-woo-header-cart-info-wrap,
.ast-site-header-cart .ast-woo-header-cart-total,
.ast-site-header-cart .woocommerce-Price-amount,
.ast-site-header-cart .woocommerce-Price-amount bdi{white-space:nowrap}
@media (max-width:782px){
	.ast-site-header-cart .ast-woo-header-cart-total{font-size:13px}
}
@media (max-width:360px){
	.ast-site-header-cart .ast-woo-header-cart-info-wrap{display:none}
}
/* Без суммы от значка остаётся цель 33 на 29, а норма нажатия 44. */
.ast-site-header-cart .cart-container{min-width:44px;min-height:44px;
	display:flex;align-items:center;justify-content:flex-end}

/* Ширина строки на странице политики: сплошной текст во всю колонку не читается. */
.ck-legal .entry-content > *{max-width:760px}
.ck-legal .entry-content h2{margin-top:2em}

/* Плавающий виджет связи уходит, когда виден подвал: там он садится на ссылки договора и политики */
body.ck-chat-off .chaty-widget,
body.ck-chat-off [id^="chaty-widget-"],
body.ck-chat-off jdiv[class*="button"] {
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility .2s ease;
}

/* Галерея на странице О нас: кадры разного размера ставим в одну пропорцию, иначе ряд
   получается рваным по низу. Пропорция шире квадрата, чтобы животное не срезалось. */
.elementor-widget-image-gallery .gallery-item img{width:100%;height:auto;aspect-ratio:4/3;
	object-fit:cover;border-radius:12px;display:block}
.elementor-widget-image-gallery .gallery-item{margin:0!important}

/* Список ссылок на условия внизу страницы О нас. Приём взят с редакционных
   индексов: строка тянется во всю ширину, разделяют не рамки, а волосяные
   линии, стрелка уезжает вправо на наведении. Цвета объявлены на самом блоке,
   общего :root в теме нет, свои переменные несут и подвал, и строка контактов. */
.ck-links-w{
	--ck-ink:#2B1D16; --ck-ink2:#6E5749; --ck-line:#EBD9C7; --ck-btn:#C0400A;
	margin-top:34px}
.ck-links-lbl{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
	color:var(--ck-ink2);margin:0 0 6px}
.ck-links{list-style:none;margin:0;padding:0;border-top:1px solid var(--ck-line)}
.ck-links li{border-bottom:1px solid var(--ck-line)}
/* На узких экранах тема переводит ссылки внутри текста в inline-block, из-за
   чего сетка строки рассыпалась и название слипалось с описанием. */
body .ck-links-w .ck-links a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 16px;
	padding:16px 2px;text-decoration:none;color:var(--ck-ink)}
.ck-links a::after{content:'→';grid-row:1/3;grid-column:2;font-size:19px;color:var(--ck-ink2);
	transition:transform .16s ease,color .16s ease}
.ck-links-t{grid-column:1;grid-row:1;font-size:17px;font-weight:600;line-height:1.3}
.ck-links-d{grid-column:1;grid-row:2;font-size:14px;line-height:1.45;color:var(--ck-ink2)}
.ck-links a:hover{color:var(--ck-btn)}
.ck-links a:hover .ck-links-d{color:var(--ck-ink2)}
.ck-links a:hover::after{transform:translateX(5px);color:var(--ck-btn)}
.ck-links a:focus-visible{outline:2px solid var(--ck-btn);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.ck-links a::after{transition:none}}

/* Телефон и почта в списках стоят строкой в 22 пикселя, пальцем в такую цель
   попасть трудно. Отрицательный отступ гасит прирост, чтобы список не разъехался. */
.elementor-icon-box-description a{display:inline-block;padding:11px 4px;margin:-11px -4px}

/* Переход должен идти только по тексту: значок в блоке остаётся значком.
   Ссылка под ним живая для клавиатуры, ведёт туда же, что и название. */
.elementor-icon-box-icon a{pointer-events:none}

/* Значок равняется по первой строке подписи. Где подписи нет, текст крупнее своей
   клетки значка, и значок оказывается выше строки на половину разницы. */
.elementor-icon-box-wrapper:not(:has(.elementor-icon-box-title)) .elementor-icon-box-icon{margin-top:5px}

/* Цена в таблице ломалась пополам на одном товаре и не ломалась на другом:
   колонка вставала по самой узкой цене, а цифры в Manrope разной ширины.
   Запрет переноса задаёт колонке ширину по длинной цене, моноширинные цифры
   убирают саму причину. */
.shop_table td.product-price,
.shop_table td.product-subtotal,
.shop_table .woocommerce-Price-amount,
.cart_totals .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table .woocommerce-Price-amount{white-space:nowrap;font-variant-numeric:tabular-nums}
