/* Спільні стилі лендингів: «Корпоративні подарунки» (id 8), «Оптовим клієнтам» (id 18) */
.cp-page{ --cp-gold:#E1B888; --cp-terra:#ac4323; --cp-cream:#FEF9EF; --cp-panel:#FFFAEF; --cp-dark:#1C1A08; --cp-muted:#5b5646; --cp-line:#eadfcb;
	color:var(--cp-dark); overflow-x:hidden; margin-top:-10px; margin-bottom:-45px; }
.cp-page p{ font-size:17px; line-height:1.7; }
.cp-page img{ max-width:100%; height:auto; }
.cp-nw{ white-space:nowrap; }
.cp-page section{ scroll-margin-top:90px; }
.cp-section{ padding:64px 6%; }
.cp-section--cream{ background:var(--cp-cream); }
.cp-h2{ text-align:center; text-transform:uppercase; font-weight:600; font-size:26px; line-height:1.35; margin:0 auto 36px; max-width:860px; color:var(--cp-dark); }
.cp-h2--left{ text-align:left; margin-left:0; margin-bottom:22px; }
.cp-h3{ font-size:19px; font-weight:600; line-height:1.35; margin:0 0 10px; color:var(--cp-terra); }
.cp-lead{ margin:0 0 26px; }

/* Кнопки */
.cp-btn{ display:inline-block; padding:14px 32px; border:2px solid var(--cp-terra); border-radius:4px; background:transparent; color:var(--cp-terra); font-size:16px; font-weight:600; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.cp-btn:hover, .cp-btn:focus{ background:var(--cp-terra); color:#fff; text-decoration:none; }
.cp-btn--primary{ background:var(--cp-terra); color:#fff; }
.cp-btn--primary:hover, .cp-btn--primary:focus{ background:var(--cp-dark); border-color:var(--cp-dark); color:#fff; }
.cp-btn[disabled]{ opacity:.6; cursor:wait; }
.cp-page a:focus-visible, .cp-page button:focus-visible, .cp-page input:focus-visible, .cp-page textarea:focus-visible{ outline:3px solid var(--cp-gold); outline-offset:2px; }

/* Блок 1. Банер */
.cp-hero{ display:grid; grid-template-columns:1fr 1fr; background:var(--cp-panel); align-items:stretch; }
.cp-hero__media{ line-height:0; }
.cp-hero__media img{ width:100%; height:100%; max-height:720px; object-fit:cover; display:block; }
.cp-hero__body{ display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:48px 7%; }
.cp-hero__h1{ font-size:44px; line-height:1.2; font-weight:700; color:var(--cp-terra); margin:0 0 22px; }
.cp-hero__sub{ font-size:20px !important; line-height:1.55 !important; color:var(--cp-terra); max-width:560px; margin:0 0 32px; }

/* Блок 2. Напрямки */
.cp-dirs{ display:grid; grid-template-columns:1fr 1fr; gap:32px; max-width:1100px; margin:0 auto; }
.cp-dir{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--cp-line); border-radius:8px; overflow:hidden; color:inherit; text-decoration:none; transition:box-shadow .2s, transform .2s; }
.cp-dir:hover, .cp-dir:focus{ color:inherit; text-decoration:none; box-shadow:0 10px 28px rgba(28,26,8,.12); transform:translateY(-2px); }
.cp-dir__img img{ width:100%; aspect-ratio:4/5; max-height:620px; object-fit:cover; display:block; }
.cp-dir__body{ padding:24px 26px 28px; }
.cp-dir__body .cp-h3{ font-size:22px; }
.cp-dir__body p{ margin:0; }

/* Спліт фото + текст */
.cp-split{ display:flex; align-items:center; gap:56px; max-width:1200px; margin:0 auto; }
.cp-split--reverse{ flex-direction:row-reverse; }
.cp-split__media{ flex:0 0 42%; }
.cp-split__media img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:8px; display:block; }
.cp-split__body{ flex:1 1 auto; min-width:0; }
.cp-split__body p{ margin:0 0 16px; }

/* Блок 3. Приводи */
.cp-occ{ list-style:none; margin:0; padding:0; }
.cp-occ li{ position:relative; padding:14px 0 14px 30px; border-bottom:1px solid var(--cp-line); font-size:17px; line-height:1.55; }
.cp-occ li:last-child{ border-bottom:0; }
.cp-occ li:before{ content:''; position:absolute; left:4px; top:22px; width:10px; height:10px; border-radius:50%; background:var(--cp-gold); }
.cp-occ strong{ color:var(--cp-terra); }

/* Блок 4. Сітка карток */
.cp-grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; max-width:1200px; margin:0 auto; }
.cp-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--cp-line); border-radius:8px; overflow:hidden; }
.cp-card__img img{ width:100%; aspect-ratio:4/5; object-fit:cover; display:block; }
.cp-card__body{ padding:22px 24px 26px; }
.cp-card__body p{ margin:0; font-size:16px; }

/* Блок 5. Чіпси */
.cp-chips__title{ font-size:15px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; margin:26px 0 12px; color:var(--cp-dark); }
.cp-chips{ list-style:none; margin:0 0 30px; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.cp-chips li{ padding:8px 16px; border:1px solid var(--cp-gold); border-radius:999px; background:#fff; font-size:15px; line-height:1.3; }

/* Блок 6. Брендування */
.cp-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:1200px; margin:0 auto; }
.cp-brand{ display:flex; gap:0; background:#fff; border:1px solid var(--cp-line); border-radius:8px; overflow:hidden; }
.cp-brand__img{ flex:0 0 40%; }
.cp-brand__img img{ width:100%; height:100%; aspect-ratio:4/5; object-fit:cover; display:block; }
.cp-brand__body{ padding:26px 26px; align-self:center; }
.cp-brand__body p{ margin:0; font-size:16px; }

/* Блок 7. Кроки */
.cp-steps{ list-style:none; margin:0 auto; padding:0; max-width:1300px; display:flex; gap:44px; }
.cp-step{ position:relative; flex:1 1 0; text-align:center; }
.cp-step__num{ display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin:0 auto 16px; border-radius:50%; background:var(--cp-gold); color:var(--cp-dark); font-size:22px; font-weight:700; }
.cp-step p{ font-size:15px; line-height:1.6; margin:0; }
.cp-step:not(:last-child):after{ content:''; position:absolute; top:22px; right:-36px; width:28px; height:12px;
	background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 12'%3E%3Cpath d='M0 6h25M20 1l6 5-6 5' fill='none' stroke='%23ac4323' stroke-width='1.8'/%3E%3C/svg%3E"); }
.cp-note{ display:flex; gap:16px; align-items:center; max-width:900px; margin:44px auto 0; padding:20px 26px; background:#fff; border-left:5px solid var(--cp-terra); border-radius:6px; box-shadow:0 4px 16px rgba(28,26,8,.06); }
.cp-note__icon{ flex:0 0 28px; color:var(--cp-terra); }
.cp-note p{ margin:0; font-weight:600; font-size:16px; }

/* Блок 8. Відгуки */
.cp-grid2--reviews{ max-width:1100px; }
.cp-review{ margin:0; padding:28px 30px; background:#fff; border:1px solid var(--cp-gold); border-radius:8px; display:flex; flex-direction:column; }
.cp-review__head{ margin-bottom:14px; }
.cp-review__client{ display:block; font-size:18px; font-weight:700; color:var(--cp-terra); }
.cp-review__type{ display:block; font-size:14px; color:var(--cp-muted); margin-top:4px; }
.cp-review__quote{ margin:0; padding:0; border:0; font-size:inherit; }
.cp-review__quote p{ font-size:16px; line-height:1.65; font-style:italic; margin:0; }
.cp-review__author{ margin:16px 0 0 !important; font-size:15px !important; font-weight:600; color:var(--cp-dark); }

/* Блок 9. Умови */
.cp-terms{ list-style:none; margin:0 auto; padding:0; max-width:1000px; display:grid; grid-template-columns:1fr 1fr; gap:22px 44px; }
.cp-terms li{ display:flex; gap:16px; align-items:flex-start; }
.cp-terms svg{ flex:0 0 44px; width:44px; height:44px; padding:9px; border-radius:50%; background:var(--cp-gold); fill:none; stroke:var(--cp-dark); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cp-terms p{ margin:0; font-size:16px; line-height:1.6; }
.cp-terms strong{ color:var(--cp-terra); }

/* Блок 10. Форма */
.cp-formwrap{ display:flex; gap:56px; max-width:1200px; margin:0 auto; align-items:flex-start; }
.cp-formwrap__media{ flex:0 0 36%; position:sticky; top:100px; }
.cp-formwrap__media img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border-radius:8px; display:block; }
.cp-formwrap__body{ flex:1 1 auto; min-width:0; }
.cp-form__row{ display:flex; gap:20px; }
.cp-form__row > .cp-field{ flex:1 1 0; min-width:0; }
.cp-field{ display:flex; flex-direction:column; margin:0 0 18px; }
.cp-field label, .cp-field legend{ font-size:15px; font-weight:600; margin-bottom:7px; color:var(--cp-dark); }
.cp-field legend{ border:0; padding:0; width:auto; }
.cp-req{ color:var(--cp-terra); }
.cp-field input[type=text], .cp-field input[type=tel], .cp-field input[type=email], .cp-field input[type=url], .cp-field input[type=date], .cp-field textarea{
	width:100%; padding:12px 14px; border:1px solid #cbbd9f; border-radius:5px; font-size:16px; line-height:1.4; background:#fff; color:var(--cp-dark); box-shadow:none; min-height:48px; }
.cp-field textarea{ resize:vertical; }
.cp-field input:focus, .cp-field textarea:focus{ border-color:var(--cp-terra); }
.cp-field [aria-invalid=true]{ border-color:#b3261e !important; }
.cp-field--radio{ border:0; padding:0; min-width:0; }
.cp-radios{ display:flex; flex-wrap:wrap; gap:10px; }
.cp-radios label{ display:inline-flex; align-items:center; gap:8px; margin:0; padding:10px 16px; border:1px solid #cbbd9f; border-radius:999px; font-weight:400; font-size:15px; cursor:pointer; background:#fff; }
.cp-radios input{ margin:0; accent-color:var(--cp-terra); }
.cp-radios label:has(input:checked){ border-color:var(--cp-terra); background:var(--cp-cream); }
.cp-field--radio.is-invalid .cp-radios label{ border-color:#b3261e; }
.cp-field__err{ font-size:14px; color:#b3261e; margin-top:5px; min-height:0; }
.cp-field__err:empty{ display:none; }
.cp-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cp-form__legal{ font-size:14px !important; color:var(--cp-muted); margin:4px 0 20px; }
.cp-form__legal a{ color:var(--cp-terra); text-decoration:underline; }
.cp-form__msg{ margin-top:16px; font-size:16px; font-weight:600; }
.cp-form__msg:empty{ display:none; }
.cp-form__msg.is-ok{ padding:14px 18px; border-radius:6px; background:#e8f3e8; color:#1f5e22; }
.cp-form__msg.is-error{ padding:14px 18px; border-radius:6px; background:#fbeaea; color:#8c1d18; }
.cp-direct{ margin-top:32px; padding-top:22px; border-top:1px solid var(--cp-line); }
.cp-direct p{ margin:0 0 8px; font-weight:600; }
.cp-direct ul{ list-style:none; margin:0; padding:0; }
.cp-direct li{ font-size:17px; padding:4px 0; }
.cp-direct a{ color:var(--cp-terra); font-weight:600; }

/* Блок 12. FAQ */
.cp-faq{ max-width:880px; margin:0 auto; }
.cp-faq__item{ background:#fff; border:1px solid var(--cp-line); border-radius:6px; margin-bottom:12px; overflow:hidden; }
.cp-faq__q{ margin:0; font-size:inherit; }
.cp-faq__q button{ position:relative; display:block; width:100%; padding:18px 56px 18px 22px; border:0; background:transparent; text-align:left; font-size:17px; font-weight:600; line-height:1.4; color:var(--cp-dark); cursor:pointer; }
.cp-faq__q button:after{ content:'+'; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:26px; font-weight:400; color:var(--cp-terra); }
.cp-faq__q button[aria-expanded=true]:after{ content:'\2212'; }
.cp-faq__a{ padding:0 22px 20px; }
.cp-faq__a p{ margin:0; font-size:16px; line-height:1.65; color:#3f3b30; }

/* Блок 13. SEO-текст */
.cp-seo{ max-width:900px; margin:0 auto; padding-bottom:80px; }
.cp-seo .cp-h2{ font-size:22px; margin-bottom:22px; }
.cp-seo p{ font-size:16px; color:#3f3b30; margin:0 0 14px; }
.cp-seo a{ color:var(--cp-terra); text-decoration:underline; }

@media (max-width: 1199px){
	.cp-steps{ gap:36px; }
	.cp-step:not(:last-child):after{ right:-32px; }
	.cp-hero__h1{ font-size:36px; }
}
@media (max-width: 991px){
	.cp-hero{ grid-template-columns:1fr; }
	.cp-hero__media img{ max-height:none; aspect-ratio:4/3; object-position:center 40%; }
	.cp-hero__body{ padding:36px 6% 44px; }
	.cp-grid3{ grid-template-columns:repeat(2,1fr); }
	.cp-split, .cp-split--reverse{ flex-direction:column; gap:30px; }
	.cp-split__media{ flex-basis:auto; width:100%; max-width:560px; }
	.cp-grid2{ grid-template-columns:1fr; }
	.cp-steps{ flex-direction:column; gap:30px; max-width:560px; }
	.cp-step{ display:grid; grid-template-columns:56px 1fr; column-gap:18px; text-align:left; }
	.cp-step__num{ grid-row:1 / span 2; margin:0; }
	.cp-step .cp-h3{ align-self:end; margin-top:4px; }
	.cp-step:not(:last-child):after{ top:auto; bottom:-26px; right:auto; left:22px; width:12px; height:22px;
		background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 22'%3E%3Cpath d='M6 0v19M1 14l5 6 5-6' fill='none' stroke='%23ac4323' stroke-width='1.8'/%3E%3C/svg%3E"); }
	.cp-formwrap{ flex-direction:column; gap:0; }
	.cp-formwrap__media{ display:none; }
	.cp-terms{ grid-template-columns:1fr; }
}
@media (max-width: 639px){
	.cp-section{ padding:44px 16px; }
	.cp-h2{ font-size:21px; margin-bottom:26px; }
	.cp-hero__h1{ font-size:30px; }
	.cp-hero__sub{ font-size:17px !important; }
	.cp-dirs, .cp-grid3{ grid-template-columns:1fr; gap:22px; }
	.cp-dir__img img, .cp-card__img img{ aspect-ratio:1/1; }
	.cp-brand{ flex-direction:column; }
	.cp-brand__img img{ aspect-ratio:1/1; height:auto; }
	.cp-form__row{ flex-direction:column; gap:0; }
	.cp-btn{ display:block; width:100%; text-align:center; padding:14px 18px; }
	.cp-review{ padding:22px; }
}

/* Візуально прихований текст (H1 при банері-зображенні) */
.cp-sr{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ===== «Оптовим клієнтам» ===== */
.ws-banner{ line-height:0; background:var(--cp-panel); }
.ws-banner img{ width:100%; height:auto; display:block; }

/* Цифри */
.ws-stats{ list-style:none; margin:0 auto; padding:0; max-width:1200px; display:grid; grid-template-columns:repeat(4,1fr); gap:28px; text-align:center; }
.ws-stat__n{ display:flex; align-items:center; justify-content:center; min-height:64px; font-size:52px; line-height:1; font-weight:700; color:var(--cp-terra); margin-bottom:12px; }
.ws-stat__n svg{ width:56px; height:56px; fill:none; stroke:var(--cp-terra); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.ws-stat__t{ margin:0; font-size:16px !important; line-height:1.5 !important; }

/* Кому підходить */
.ws-who{ list-style:none; margin:0 auto; padding:0; max-width:1100px; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ws-who li{ display:flex; align-items:center; gap:16px; padding:22px 24px; background:#fff; border:1px solid var(--cp-line); border-radius:8px; font-size:17px; font-weight:600; line-height:1.4; }
.ws-icon{ flex:0 0 52px; width:52px; height:52px; padding:12px; border-radius:50%; background:var(--cp-gold); fill:none; stroke:var(--cp-dark); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* Виробництво */
.ws-mf h3{ font-size:19px; font-weight:600; color:var(--cp-terra); margin:26px 0 8px; }

/* Партнери */
.ws-partners__text{ max-width:860px; margin:0 auto 34px; text-align:center; }
.ws-partners__text p{ margin:0 0 12px; }
.ws-partners .container-module{ margin-bottom:0; }

/* Кроки з іконками */
.cp-step__num svg{ width:28px; height:28px; fill:none; stroke:var(--cp-dark); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cp-form select{ width:100%; padding:12px 14px; border:1px solid #cbbd9f; border-radius:5px; font-size:16px; line-height:1.4; background:#fff; color:var(--cp-dark); min-height:48px; height:auto; }
.cp-field select[aria-invalid=true]{ border-color:#b3261e !important; }
.cp-faq__a a{ color:var(--cp-terra); text-decoration:underline; }

@media (max-width: 991px){
	.ws-stats{ grid-template-columns:repeat(2,1fr); gap:32px 20px; }
	.ws-who{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 639px){
	.ws-stat__n{ font-size:40px; min-height:52px; }
	.ws-who{ grid-template-columns:1fr; }
}
.cp-partners{ max-width:1200px; margin:40px auto 0; }

/* Стрічка логотипів партнерів (модуль carousel) */
.cp-page .carousel-mod{ margin:0 auto; padding:0 30px; max-width:1200px; }
.cp-page .carousel-mod .swiper-wrapper{ align-items:center; }
.cp-page .carousel-mod .item{ display:flex; align-items:center; justify-content:center; height:90px; }
.cp-page .carousel-mod img{ width:auto; max-width:100%; max-height:70px; object-fit:contain; }
