/* =========================================================================
   КУЗНЯ КАВИ — сторінка товару
   Токени з kk-header.css (:root)
   ========================================================================= */

body.single-product { background: #FAF8F0; }
body.single-product .container.grid-container { width: 100%; max-width: unset; }
body.single-product .site-content { display: block; }
body.single-product #primary,
body.single-product .content-area,
body.single-product .site-main,
body.single-product .inside-article,
body.single-product .entry-content,
body.single-product .entry-header,
body.single-product .page-header { background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; }

.kk-pp { padding: 40px 0 0; }
.kk-pp-container { max-width: 1280px; margin: 0 auto; padding: 0 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }

/* ---------- Галерея (липка) ---------- */
.kk-pp-gallery { align-self: stretch; }
.kk-pp-gallery__sticky { position: sticky; top: 100px; }
.kk-pp-gallery__main { position: relative; background: #F3EEE2; border-radius: 18px; padding: 30px; display: flex; align-items: center; justify-content: center; }
.kk-pp-gallery__main img { width: 100%; height: auto; max-height: 520px; object-fit: contain; display: block; }
.kk-pp-wish {
	position: absolute; top: 18px; right: 18px; width: 44px; height: 44px; border-radius: 8px; padding: 0;
	background: #FAFAF2; border: 1px solid rgb(25 25 25 / 10%); color: #56694C; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	transition: color var(--kk-ease), border-color var(--kk-ease);
}
.kk-pp-wish:hover,.kk-pp-wish:focus { background: #FAFAF2; color: #56694C; }

.kk-pp-wish svg { width: 22px; height: 22px; fill: none; stroke: currentColor; }
.kk-pp-wish:hover svg {fill: #56694C; }
/*.kk-pp-wish.is-active { color: #e0342f; border-color: #e0342f; }*/
.kk-pp-wish.is-active svg { fill: #56694C; }
/* Назва товару в «Схожих» — успадковує колір картки (чорний / білий на ховері) */
.kk-rel .kk-pcard__name a { color: inherit; text-decoration: none;}
.kk-pp-gallery__thumbs { display: flex; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.kk-pp-thumb { width: 84px; height: 84px; border: 1px solid rgba(27,26,24,.14); border-radius: 12px; background: #F3EEE2; cursor: pointer; padding: 6px; overflow: hidden; }
.kk-pp-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.kk-pp-thumb.is-active { border-color: var(--kk-text-dark); }

/* ---------- Інфо ---------- */
.kk-pp-crumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #8a857c; margin-bottom: 14px; }
.kk-pp-crumbs a { color: #8a857c; text-decoration: none; }
.kk-pp-crumbs a:hover { color: var(--kk-text-dark); }
.kk-pp-title { font-size: clamp(24px, 3vw, 36px); font-weight: 800; text-transform: uppercase; line-height: 1.1; margin: 0 0 12px; color: var(--kk-text-dark); }
.kk-pp-sku { font-size: 14px; color: #8a857c; margin: 0 0 26px; }

.kk-pp-options { display: flex; flex-wrap: wrap; gap: 26px; margin-bottom: 24px; }
.kk-pp-opt { display: flex; flex-direction: column; gap: 10px; }
.kk-pp-opt__label { font-size: 15px; font-weight: 700; color: var(--kk-text-dark); }
.kk-pp-optbtns { display: flex; flex-wrap: wrap; gap: 8px; }
.kk-pp-optbtn { border: 1px solid rgba(27,26,24,.22); background: #fff; color: var(--kk-text-dark); border-radius: 8px; padding: 10px 16px; font-size: 14px; cursor: pointer; transition: background var(--kk-ease), color var(--kk-ease), border-color var(--kk-ease); }
.kk-pp-optbtn.is-active, .kk-pp-optbtn:hover, .kk-pp-optbtn:focus { background: #171717; border-color: #171717; color: #fff; }
.kk-pp-select { min-width: 190px; appearance: none; -webkit-appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231B1A18' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1px solid rgba(27,26,24,.22); border-radius: 8px; padding: 11px 36px 11px 14px; font-size: 14px; color: var(--kk-text-dark); cursor: pointer; }

.kk-pp-price { font-size: 26px; font-weight: 700; color: var(--kk-text-dark); margin: 6px 0 24px; }
.kk-pp-price .amount { font-weight: 700; }

.kk-pp-cart { display: flex; align-items: center; gap: 16px; margin-bottom: 30px; }
.kk-pp-qty { display: inline-flex; align-items: center; gap: 6px; }
.kk-pp-qty__btn { width: 30px; height: 24px; border: 1px solid rgba(27, 26, 24, .18); background: #FAFAF2; color: var(--kk-text-dark); border-radius: 8px; cursor: pointer; font-size: 14px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; transition: background var(--kk-ease), border-color var(--kk-ease); padding: 0;}
.kk-pp-qty__input { width: 50px; height: 24px; text-align: center; border: 1px solid rgba(27, 26, 24, .18); border-radius: 8px; background: #FAFAF2; color: var(--kk-text-dark); font-size: 14px; outline: none; -webkit-appearance: none; appearance: none;}
.kk-pp-add { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 52px; border: 0; cursor: pointer; background: #171717; color: #fff; font-weight: 700; font-size: 16px; padding: 0 24px; border-radius: var(--kk-pill); transition: background var(--kk-ease); }
.kk-pp-add:hover { background: #000; }
.kk-pp-add[disabled] { opacity: .5; cursor: default; }
.kk-pp-add svg { width: 20px; height: 20px; }

/* Профіль смаку */
.kk-pp-taste { display: flex; flex-wrap: wrap; gap: 26px 34px; margin-bottom: 24px; }
.kk-pp-taste__item { display: flex; flex-direction: column; gap: 8px; }
.kk-pp-taste__label { font-size: 15px; font-weight: 700; color: var(--kk-text-dark); }
.kk-pp-taste .kk-dots { display: inline-flex; gap: 10px; }
.kk-pp-taste .kk-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(27,26,24,.18); }
.kk-pp-taste .kk-dot.is-on { background: #56694C; }

.kk-pp-excerpt { font-size: 15px; color: #4a4640; margin-bottom: 20px; }
.kk-pp-excerpt p { margin: 0 0 8px; }
.kk-pp-desc { font-size: 15px; color: #4a4640; line-height: 1.7; }
.kk-pp-desc p { margin: 0 0 14px; }
.kk-pp-desc strong { color: #171717; }

/* ---------- Схожі товари ---------- */
.kk-rel { background: #F3F3E9; padding: 80px 0; margin-top: 70px; overflow-x: clip;   position: relative;}
.kk-rel__container { max-width: 1280px; margin: 0 auto; padding: 0 28px; }
.kk-rel__title { font-size: clamp(24px, 3vw, 34px); font-weight: 800; text-transform: uppercase; margin: 0 0 34px; color: var(--kk-text-dark); }
.kk-rel__track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; margin-right: calc(50% - 50vw); padding-right: 28px; scroll-padding-right: 28px; }
.kk-rel__track::-webkit-scrollbar { display: none; }

/* Картка (копія стилів з головної, self-contained) */
.kk-rel .kk-pcard {
	flex: 0 0 300px; scroll-snap-align: start;
	background: #FAFAF2; color: var(--kk-text-dark);
	border-radius: 16px; padding: 18px; overflow: hidden;
	display: flex; flex-direction: column;
	transition: background var(--kk-ease), color var(--kk-ease), transform var(--kk-ease);
}
.kk-pcard__price .amount { font-weight: 600; }
.kk-rel .kk-pcard:hover { background: #56694C; color: #fff; }
.kk-rel .kk-pcard__media { position: relative; margin-bottom: 16px; }
.kk-rel .kk-pcard__img img { width: 100%; height: 220px; object-fit: contain; display: block; }
.kk-rel .kk-pcard__profile { display: none; min-height: 220px; }
.kk-rel .kk-pcard:hover .kk-pcard__img { display: none; }
.kk-rel .kk-pcard:hover .kk-pcard__profile { display: block; }
.kk-rel .kk-pcard__profile-title { font-size: 15px; font-weight: 700; margin: 0 0 8px; }
.kk-rel .kk-pcard__notes { font-size: 14px; line-height: 1.4; margin: 0 0 16px; color: rgba(255, 255, 255, .85); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.kk-rel .kk-pcard__taste { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; }
.kk-rel .kk-pcard__taste-label { display: block; font-size: 13px; margin-bottom: 5px; }
.kk-rel .kk-dots { display: inline-flex; gap: 4px; }
.kk-rel .kk-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(27,26,24,.2); }
.kk-rel .kk-dot.is-on { background: var(--kk-text-dark); }
.kk-rel .kk-pcard:hover .kk-dot { background: rgba(255,255,255,.3); }
.kk-rel .kk-pcard:hover .kk-dot.is-on { background: #fff; }
.kk-rel .kk-pcard__cat { font-size: 12px; letter-spacing: .06em; opacity: .6; text-transform: uppercase; }
.kk-rel .kk-pcard__name { font-size: 18px; font-weight: 700; margin: 6px 0 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;}
.kk-rel .kk-pcard__body { flex: 1 1 auto; display: flex; flex-direction: column; }
.kk-rel .kk-pcard__opts { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.kk-rel .kk-pcard__opt {border: 1px solid rgba(27, 26, 24, .25); background: transparent; color: inherit; border-radius: 6px; padding: 1px 8px; font-size: 13px; cursor: pointer; transition: background var(--kk-ease), border-color var(--kk-ease), color var(--kk-ease);}
.kk-pcard .kk-pcard__opt:hover { border-color: rgba(255, 255, 255, .4); background: #FAFAF2; color: #171717; }
.kk-rel .kk-pcard__opt.is-active { background: #171717; border-color: #171717; color: #fff; }
.kk-rel .kk-pcard:hover .kk-pcard__opt { border-color: rgba(255,255,255,.4); }
.kk-rel .kk-pcard:hover .kk-pcard__opt.is-active { background: #fff; color: #1b1a18; border-color: #fff; }
.kk-rel .kk-pcard__price { font-size: 17px; margin: auto 0 14px; }
.kk-rel .kk-pcard__add { border: 0; cursor: pointer; background: #171717; color: #fff; font-weight: 700; font-size: 15px; padding: 13px; border-radius: var(--kk-pill); width: 100%; }
.kk-rel .kk-pcard:hover .kk-pcard__add { background: #fff; color: #1b1a18; }

/* ---------- АДАПТИВ ---------- */
@media (max-width: 900px) {
	.kk-pp-container { grid-template-columns: 1fr; gap: 30px; }
	.kk-pp-gallery__sticky { position: static; }
	.kk-pp-gallery__main img { max-height: 400px; }
	.kk-rel { margin-top: 50px; padding: 56px 0; }
	.kk-rel .kk-pcard { flex-basis: 260px; }
}
@media (max-width: 560px) {
	.kk-pp-container { padding: 0 18px; }
	.kk-pp-cart { flex-wrap: wrap; }
	.kk-pp-add { width: 100%; flex-basis: 100%; }
	.kk-rel__container { padding: 0 18px; }
}
