/* coucou.sk – own styling (front-end rebuild 2026-10-28). Loaded last from common/header.twig (?v=date for cache busting).
   Colours: dark #1d2a26, accent #5f9a1f, text #222, light background #f6f7f4. No external fonts or libraries. */

:root {
	--cc-dark: #1d2a26;
	--cc-accent: #5f9a1f;
	--cc-accent-dark: #4c7c18;
	--cc-text: #222;
	--cc-light: #f6f7f4;
	--cc-border: #e3e6df;
	--cc-radius: 6px;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--cc-text);
	background: #fff;
}
h1, h2, h3, h4, h5, h6 { font-family: inherit; color: var(--cc-text); }
a { color: var(--cc-accent-dark); }
a:hover, a:focus { color: var(--cc-dark); }

/* ---------- Stage 2: top bar ---------- */
#top.cc-topbar {
	background: var(--cc-dark);
	border-bottom: 0;
	margin: 0;
	padding: 6px 0 4px;
	min-height: 0;
	color: #dfe6dc;
}
.cc-topbar .cc-topbar-text {
	float: left;
	font-size: 12px;
	line-height: 26px;
	letter-spacing: .02em;
	color: #dfe6dc;
}
#top.cc-topbar #top-links { padding-top: 0; }
#top.cc-topbar #top-links a,
#top.cc-topbar .btn-link { color: #fff; text-shadow: none; }
#top.cc-topbar #top-links a:hover { color: #c8e3a6; }
#top.cc-topbar #top-links li { padding: 0 6px; }

/* ---------- Stage 2: header (logo, search, cart) ---------- */
header.cc-header { padding: 18px 0 12px; background: #fff; }
header.cc-header #logo { margin: 0 0 8px; }
header.cc-header #search { margin-bottom: 8px; }
header.cc-header #search .input-lg { border-radius: var(--cc-radius) 0 0 var(--cc-radius); height: 42px; font-size: 14px; }
header.cc-header #search .btn-lg {
	border-radius: 0 var(--cc-radius) var(--cc-radius) 0; height: 42px; padding: 8px 18px;
	background: var(--cc-accent); border-color: var(--cc-accent); color: #fff; text-shadow: none;
}
header.cc-header #search .btn-lg:hover { background: var(--cc-accent-dark); }
header.cc-header #cart > .btn {
	border-radius: var(--cc-radius); height: 42px; line-height: 26px; background-image: none;
	background: var(--cc-dark); border-color: var(--cc-dark); color: #fff; text-shadow: none;
}
header.cc-header #cart > .btn:hover { background: #2c3d37; }

/* ---------- Stage 2: main menu ---------- */
.cc-menu-wrap { background: var(--cc-light); border-top: 1px solid var(--cc-border); border-bottom: 1px solid var(--cc-border); margin-bottom: 20px; }
#menu.cc-menu {
	background: transparent; background-image: none; border: 0; border-radius: 0;
	min-height: 48px; margin-bottom: 0; padding: 0;
}
#menu.cc-menu .nav > li > a {
	color: var(--cc-text); text-shadow: none; font-weight: 600; font-size: 15px;
	padding: 14px 16px; background: transparent;
}
#menu.cc-menu .nav > li > a:hover,
#menu.cc-menu .nav > li.open > a { color: var(--cc-accent-dark); background: #ecefe7; }
#menu.cc-menu .dropdown-menu { border-radius: 0 0 var(--cc-radius) var(--cc-radius); border-color: var(--cc-border); padding: 8px 0 0; }
#menu.cc-menu .dropdown-inner ul li a { padding: 8px 20px; min-width: 220px; color: var(--cc-text); }
#menu.cc-menu .dropdown-inner ul li a:hover { background: var(--cc-light); color: var(--cc-accent-dark); }
#menu.cc-menu .see-all {
	display: block; margin-top: 6px; padding: 9px 20px; border-top: 1px solid var(--cc-border);
	font-weight: 600; color: var(--cc-accent-dark); border-radius: 0 0 var(--cc-radius) var(--cc-radius);
}
#menu.cc-menu .see-all:hover { background: var(--cc-accent); color: #fff; }
#menu.cc-menu #category { color: var(--cc-text); text-shadow: none; font-weight: 600; line-height: 48px; padding-left: 4px; }
#menu.cc-menu .btn-navbar {
	background: var(--cc-dark); background-image: none; border-color: var(--cc-dark);
	color: #fff; border-radius: var(--cc-radius); margin: 7px 4px 7px 0;
}
@media (max-width: 767px) {
	.cc-topbar .cc-topbar-text { display: none; }
	#menu.cc-menu .nav > li > a { padding: 12px 10px; }
	#menu.cc-menu .dropdown-menu { position: static; float: none; box-shadow: none; border: 0; background: transparent; }
	#menu.cc-menu .dropdown-inner ul li a { min-width: 0; padding: 8px 20px; }
}

/* ---------- Stage 4: home page ---------- */
.cc-hero {
	background-size: cover; background-position: center 30%; background-color: var(--cc-dark);
	margin: -20px 0 28px;
}
.cc-hero-overlay { background: rgba(29, 42, 38, .62); padding: 64px 0 70px; }
.cc-hero-label {
	display: inline-block; background: #c4d94a; color: var(--cc-dark); font-size: 12px; font-weight: 700;
	letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: var(--cc-radius); margin-bottom: 14px;
}
.cc-hero h1 { color: #fff; font-size: 38px; font-weight: 700; line-height: 1.15; margin: 0 0 12px; max-width: 640px; }
.cc-hero p { color: #e8eee5; font-size: 17px; max-width: 560px; margin: 0 0 22px; }
.cc-btn, a.cc-btn {
	display: inline-block; background: var(--cc-accent); border: 1px solid var(--cc-accent); color: #fff;
	border-radius: var(--cc-radius); padding: 10px 22px; font-weight: 600; text-shadow: none; background-image: none;
}
.cc-btn:hover, .cc-btn:focus, a.cc-btn:hover { background: var(--cc-accent-dark); border-color: var(--cc-accent-dark); color: #fff; }
.cc-btn-outline, a.cc-btn-outline { background: #fff; color: var(--cc-accent-dark); }
.cc-btn-outline:hover, a.cc-btn-outline:hover { background: var(--cc-accent); color: #fff; }
.cc-info { margin-bottom: 18px; }
.cc-info-box {
	background: var(--cc-light); border: 1px solid var(--cc-border); border-radius: var(--cc-radius);
	padding: 18px 18px 14px; margin-bottom: 16px; min-height: 190px;
}
.cc-info-box h3 { font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.cc-info-box p { font-size: 14px; color: #444; margin-bottom: 10px; }
.cc-info-box > a { font-weight: 600; }
.cc-info-box > a:after { content: " \2192"; }
.cc-home-products > h3 { font-size: 22px; font-weight: 700; margin: 10px 0 18px; }
.cc-show-all { text-align: center; margin: 4px 0 26px; }
.cc-trust { background: var(--cc-dark); color: #fff; padding: 22px 0; margin-top: 10px; }
.cc-trust-row { display: flex; flex-wrap: wrap; justify-content: space-between; }
.cc-trust-item { flex: 1 1 18%; min-width: 150px; padding: 8px 10px; text-align: center; }
.cc-trust-item strong { display: block; font-size: 16px; color: #c4d94a; }
.cc-trust-item span { display: block; font-size: 13px; color: #dfe6dc; }
@media (max-width: 767px) {
	.cc-hero-overlay { padding: 38px 0 42px; }
	.cc-hero h1 { font-size: 26px; }
	.cc-hero p { font-size: 15px; }
	.cc-info-box { min-height: 0; }
	.cc-trust-item { flex-basis: 45%; }
}

/* ---------- Stage 5: footer ---------- */
footer.cc-footer { background: var(--cc-dark); color: #dfe6dc; border-top: 0; padding-top: 34px; margin-top: 0; }
footer.cc-footer h5 { color: #fff; font-size: 15px; font-weight: 700; margin: 0 0 12px; text-transform: none; }
footer.cc-footer a { color: #dfe6dc; }
footer.cc-footer a:hover { color: #c4d94a; text-decoration: none; }
footer.cc-footer ul li { margin-bottom: 6px; }
footer.cc-footer p { color: #dfe6dc; font-size: 13px; }
footer.cc-footer .cc-btn { color: #fff; }
footer.cc-footer hr { border-top-color: #33443e; border-bottom: 0; }
.cc-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding-bottom: 14px; }
.cc-footer-bottom p { margin: 0; }
@media (max-width: 767px) {
	footer.cc-footer .col-sm-6 { margin-bottom: 18px; }
	.cc-footer-bottom { display: block; }
	.cc-footer-bottom p { margin-bottom: 6px; }
}

/* ---------- Stage 6: category / search / home product cards ---------- */
.breadcrumb {
	background: transparent; border: 0; border-radius: 0; padding: 6px 0; margin: 0 0 14px; font-size: 13px;
}
.breadcrumb > li { text-shadow: none; padding: 0 16px 0 0; }
.breadcrumb > li:after { border-color: var(--cc-border); width: 12px; height: 12px; top: 4px; right: 2px; }
.breadcrumb a { color: #6b7469; }
.breadcrumb li:last-child a { color: var(--cc-text); font-weight: 600; }
#product-category h2, #product-search h1, #product-manufacturer h2, #product-special h2 {
	font-size: 26px; font-weight: 700; margin: 0 0 16px;
}
.product-thumb {
	border: 1px solid var(--cc-border); border-radius: var(--cc-radius); background: #fff;
	overflow: hidden; margin-bottom: 24px; transition: box-shadow .15s ease;
}
.product-thumb:hover { box-shadow: 0 4px 14px rgba(29, 42, 38, .10); }
.product-thumb .image { padding: 12px; background: #fff; }
.product-grid .product-thumb .image a { display: flex; align-items: center; justify-content: center; height: 200px; }
.product-grid .product-thumb .image img { max-height: 200px; width: auto; }
.product-thumb .caption { padding: 0 14px; min-height: 140px; }
.product-thumb h4 { font-size: 15px; font-weight: 600; line-height: 1.35; }
.product-thumb h4 a { color: var(--cc-text); }
.product-thumb h4 a:hover { color: var(--cc-accent-dark); }
.product-thumb .price { color: var(--cc-accent-dark); font-size: 18px; font-weight: 700; }
.product-thumb .price-old { color: #888; font-weight: 400; }
.product-thumb .price-new { color: var(--cc-accent-dark); }
.product-thumb .button-group { border-top: 1px solid var(--cc-border); background: var(--cc-light); }
.product-thumb .button-group button { background: var(--cc-light); color: #555; font-weight: 600; }
.product-thumb .button-group button:hover { background: #ecefe7; color: var(--cc-dark); }
.product-thumb .button-group button:first-child {
	background: var(--cc-accent); color: #fff; width: 60%; text-transform: none;
}
.product-thumb .button-group button:first-child:hover { background: var(--cc-accent-dark); color: #fff; }
.product-thumb .button-group button:first-child span { display: inline !important; }
#button-cart, .btn-primary {
	background: var(--cc-accent); background-image: none; border-color: var(--cc-accent);
	border-radius: var(--cc-radius); text-shadow: none;
}
#button-cart:hover, .btn-primary:hover, .btn-primary:focus { background: var(--cc-accent-dark); border-color: var(--cc-accent-dark); }
@media (max-width: 767px) {
	.product-grid .product-thumb .image a { height: 170px; }
	.product-grid .product-thumb .image img { max-height: 170px; }
	.product-thumb .caption { min-height: 0; }
	#product-category h2, #product-search h1 { font-size: 22px; }
}
@media (max-width: 400px) {
	.product-thumb .button-group button:first-child { width: 60%; font-size: 13px; }
	.product-thumb .button-group button { width: 20%; }
}

/* ---------- 2026-11-01 checkout basics, stage 3: required-fields note ---------- */
#checkout-checkout .coucou-req-note {
	margin: 0 0 12px;
	font-size: 13px;
	color: #555;
}
#checkout-checkout .coucou-req-note .coucou-req-star { color: #F00; font-weight: bold; }

/* ---------- 2026-11-01 checkout basics, stage 4: visible errors and busy buttons ---------- */
#checkout-checkout .has-error .form-control { border-color: #c62828; box-shadow: 0 0 0 2px rgba(198, 40, 40, .15); }
#checkout-checkout .has-error .control-label { color: #c62828; }
#checkout-checkout .coucou-field-error {
	display: block;
	margin-top: 5px;
	font-size: 13px;
	font-weight: 600;
	color: #c62828;
}
#checkout-checkout .coucou-field-error:before { content: '! '; font-weight: bold; }
#checkout-checkout .btn.coucou-busy,
#checkout-checkout .btn.coucou-busy[disabled] {
	cursor: progress;
	opacity: .85;
	padding-left: 34px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23ffffff' stroke-opacity='.35' stroke-width='2'/%3E%3Cpath d='M8 2a6 6 0 0 1 6 6' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 8 8' to='360 8 8' dur='.8s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 12px center;
	background-size: 16px 16px;
}

/* ---------- 2026-11-01 checkout basics, stage 5: tap targets on phones (the terms checkbox is not touched) ---------- */
@media (max-width: 767px) {
	#checkout-checkout .btn,
	#checkout-checkout input[type="button"].btn {
		min-height: 44px;
		padding-top: 10px;
		padding-bottom: 10px;
		font-size: 16px;
	}
	#checkout-checkout .form-control,
	#checkout-checkout select.form-control {
		min-height: 44px;
		font-size: 16px; /* 16px also stops iOS from zooming into the field */
	}
	#checkout-checkout textarea.form-control { min-height: 88px; }
	#checkout-checkout .radio label {
		display: block;
		min-height: 44px;
		padding: 11px 0 11px 30px;
		line-height: 22px;
	}
	#checkout-checkout .radio input[type="radio"] {
		width: 20px;
		height: 20px;
		margin: 1px 0 0 -30px;
	}
	#checkout-checkout #collapse-shipping-method .radio,
	#checkout-checkout #collapse-payment-method .radio {
		margin: 0 0 8px;
		border: 1px solid var(--cc-border);
		border-radius: var(--cc-radius);
		padding: 0 12px;
		background: #fff;
	}
	#checkout-checkout #collapse-shipping-method .radio + .radio,
	#checkout-checkout #collapse-payment-method .radio + .radio { margin-top: 8px; }
}

/* ---------- 2026-11-01 checkout basics, stage 6: contact button when no shipping is offered ---------- */
#checkout-checkout .coucou-noship-contact { margin: -8px 0 18px; }

/* ---------- 2026-11-01 stage 8: "since 2009" band between header and menu ---------- */
.coucou-since {
	background: #eef1f4;
	border: 0;
	margin: 0;
}
.coucou-since .coucou-since-inner {
	height: 44px;
	line-height: 44px;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	font-size: 17px;
	font-weight: 700;
	color: #1d2a26;
}
.coucou-since .coucou-since-star { color: #5f9a1f; margin: 0 12px; }
@media (max-width: 767px) {
	.coucou-since .coucou-since-inner { font-size: 14px; padding-left: 8px; padding-right: 8px; }
	.coucou-since .coucou-since-star { margin: 0 8px; }
}

/* ---------- 2026-11-01 batch 3: guests skip step 1; login link above the billing form ---------- */
#checkout-checkout .panel.coucou-step1-hidden { display: none; }
#checkout-checkout .coucou-login-link { margin: 0 0 12px; font-size: 14px; }
#checkout-checkout .coucou-login-link a { font-weight: 600; text-decoration: underline; }

/* ==================== look1 (2026-11-01) ==================== */
/* ---------- look1 stage 2: product cards (category, search, brand, home, related) ---------- */
/* name, image, price and "Do košíka" only: no description text, no wishlist/compare */
.product-thumb .caption > p:not(.price) { display: none; }
.product-thumb .caption { min-height: 0; padding-bottom: 6px; }
.product-thumb .caption h4 { min-height: 2.7em; }
.product-thumb .button-group button[onclick^="wishlist.add"],
.product-thumb .button-group button[onclick^="compare.add"] { display: none; }
.product-thumb .button-group button:first-child,
.product-thumb .button-group button[onclick^="cart.add"] { width: 100%; }
/* product page buttons and the "Porovnať výrobok" link */
button[onclick^="wishlist.add"],
button[onclick^="compare.add"],
#compare-total { display: none !important; }
#content .col-sm-6:has(> .form-group > #compare-total) { display: none; }

/* square white image frame, same size for every card */
.product-layout:not(.product-list) .product-thumb .image { padding: 10px; background: #fff; }
.product-layout:not(.product-list) .product-thumb .image a {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: auto; aspect-ratio: 1 / 1; background: #fff; overflow: hidden;
}
.product-layout:not(.product-list) .product-thumb .image img {
	width: 100%; height: 100%; max-height: none; object-fit: contain; background: #fff;
}
/* equal-height cards in a row */
.row:has(> .product-layout:not(.product-list)) { display: flex; flex-wrap: wrap; }
.row:has(> .product-layout:not(.product-list)) > .product-layout { float: none; display: flex; }
.row:has(> .product-layout:not(.product-list)) > .product-layout > .product-thumb { width: 100%; display: flex; flex-direction: column; }
.row:has(> .product-layout:not(.product-list)) > .product-layout > .product-thumb > div:last-child { display: flex; flex-direction: column; flex: 1; }
.row:has(> .product-layout:not(.product-list)) > .product-layout .caption { flex: 1; }

@media (max-width: 767px) {
	/* 2 cards per row */
	.product-layout:not(.product-list) { width: 50%; padding-left: 6px; padding-right: 6px; }
	.row:has(> .product-layout:not(.product-list)) { margin-left: -6px; margin-right: -6px; }
	.product-layout:not(.product-list) .product-thumb { margin-bottom: 12px; }
	.product-layout:not(.product-list) .product-thumb .image { padding: 6px; }
	.product-layout:not(.product-list) .product-thumb .caption { padding: 0 8px 4px; }
	.product-layout:not(.product-list) .product-thumb h4 { font-size: 13px; line-height: 1.3; margin: 6px 0; }
	.product-layout:not(.product-list) .product-thumb .price { font-size: 15px; margin-bottom: 6px; }
	.product-layout:not(.product-list) .product-thumb .button-group button,
	.product-layout:not(.product-list) .product-thumb .button-group button:first-child { width: 100%; font-size: 13px; line-height: 34px; height: 36px; padding: 0 4px; }
	/* sort and show selects full width and readable */
	#product-category .input-group, #product-search .input-group, #product-manufacturer .input-group { width: 100%; display: flex; }
	#product-category .input-group .input-group-addon, #product-search .input-group .input-group-addon, #product-manufacturer .input-group .input-group-addon {
		width: auto; min-width: 92px; display: flex; align-items: center; font-size: 13px; white-space: nowrap;
	}
	#product-category .input-group select.form-control, #product-search .input-group select.form-control, #product-manufacturer .input-group select.form-control {
		flex: 1; width: auto; height: 40px; font-size: 15px; text-overflow: ellipsis;
	}
	#product-category #content .row > .col-xs-6, #product-search #content .row > .col-xs-6, #product-manufacturer #content .row > .col-xs-6 { width: 100%; }
}

/* ---------- look1 stage 3: category header ---------- */
#product-category .coucou-cat-desc { margin: 0 0 14px; font-size: 15px; color: #444; max-width: 760px; }
#product-category .coucou-cat-desc p { margin: 0; }
.coucou-subcat-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.coucou-subcat-pills .coucou-pill {
	display: inline-block; padding: 6px 14px; border: 1px solid var(--cc-border); border-radius: 999px;
	background: var(--cc-light); color: var(--cc-text); font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none;
}
.coucou-subcat-pills .coucou-pill:hover, .coucou-subcat-pills .coucou-pill:focus { background: var(--cc-accent); border-color: var(--cc-accent); color: #fff; }
@media (max-width: 767px) { .coucou-subcat-pills .coucou-pill { font-size: 13px; padding: 6px 12px; } }

/* ---------- look1 stage 4: filter ---------- */
.mfilter-box .mfilter-manufacturers .mfilter-content-opts { max-height: 280px; overflow-y: auto; overscroll-behavior: contain; }
/* phones: small "Filter" button bottom-right instead of the blue square at the top */
.mfilter-free-container .mfilter-free-button {
	position: fixed; top: auto; left: auto; right: 12px; bottom: 12px; margin: 0;
	width: auto; height: auto; border: 0; padding: 9px 16px 9px 14px;
	background: var(--cc-dark); background-image: none; color: #fff; border-radius: 999px;
	font-size: 14px; font-weight: 600; line-height: 20px; box-shadow: 0 2px 10px rgba(0, 0, 0, .25); z-index: 100000;
}
.mfilter-free-container .mfilter-free-button:before { content: "\f0b0"; font-family: FontAwesome; margin-right: 6px; font-weight: normal; }
.mfilter-free-container .mfilter-free-button:after { content: "Filter"; }
.mfilter-widget-position-right .mfilter-free-button,
.mfilter-widget-position-left .mfilter-free-button { left: auto; right: 12px; margin: 0; }
@media (max-width: 767px) {
	/* room at the bottom so the button never covers the last row or the pagination */
	#product-category #content, #product-search #content, #product-manufacturer #content { padding-bottom: 56px; }
}

/* ---------- look1 stage 5: product page trust block ---------- */
#product-product .coucou-trust-list {
	margin: 6px 0 4px; padding: 10px 14px; background: var(--cc-light);
	border: 1px solid var(--cc-border); border-radius: var(--cc-radius); font-size: 14px;
}
#product-product .coucou-trust-list li { position: relative; padding: 3px 0 3px 24px; line-height: 1.4; }
#product-product .coucou-trust-list li:before {
	content: "\f00c"; font-family: FontAwesome; position: absolute; left: 2px; top: 3px;
	color: var(--cc-accent); font-size: 13px;
}
#product-product .coucou-trust-more { margin: 0 0 12px; font-size: 13px; }
#product-product .coucou-trust-more a { text-decoration: underline; }

/* ==================== product1 (2026-11-01) ==================== */
/* ---------- product1 stage 1: image area (square frame, never upscaled, thumbnail row) ---------- */
#product-product .coucou-pcol-img { margin-bottom: 20px; }
#product-product .coucou-gallery { overflow: visible; margin: 0 auto; max-width: 520px; }
#product-product .coucou-pimg {
	display: flex; align-items: center; justify-content: center;
	width: 100%; aspect-ratio: 1 / 1; padding: 16px; overflow: hidden;
	background: #f7f6f3; border: 1px solid #e6e3dc; border-radius: 8px;
}
/* natural size at most: no width/height 100%, only max-* */
#product-product .coucou-pimg img,
#product-product .coucou-pthumbs img {
	display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain;
	mix-blend-mode: multiply; /* the white padding of resized photos takes the frame colour */
}
#product-product .coucou-pthumbs {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 10px 0 0; padding: 0;
}
#product-product .coucou-pthumbs li { margin: 0; }
#product-product .coucou-pthumbs a {
	display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 4px; overflow: hidden;
	background: #f7f6f3; border: 1px solid #e6e3dc; border-radius: 6px;
}
#product-product .coucou-pthumbs a:hover, #product-product .coucou-pthumbs a:focus { border-color: var(--cc-accent); }
@media (max-width: 767px) {
	#product-product .coucou-pcol-img { margin-bottom: 16px; }
	#product-product .coucou-pimg { padding: 10px; }
}

/* ---------- product1 stage 2: title and buy box ---------- */
#product-product .coucou-buybox {
	background: #fff; border: 1px solid var(--cc-border); border-radius: 8px;
	padding: 22px 24px 18px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(29, 42, 38, .05);
}
#product-product .coucou-pbrand {
	display: inline-block; margin: 0 0 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em;
	text-transform: uppercase; color: #7a8078; text-decoration: none;
}
#product-product .coucou-pbrand:hover, #product-product .coucou-pbrand:focus { color: var(--cc-accent-dark); text-decoration: underline; }
#product-product .coucou-buybox h1 { font-size: 28px; font-weight: 600; line-height: 1.25; margin: 0 0 14px; }
#product-product .coucou-pprice { margin: 0 0 10px; }
#product-product .coucou-pprice h2 { font-size: 30px; font-weight: 700; line-height: 1.2; margin: 0; color: var(--cc-text); }
#product-product .coucou-pprice-old { color: #888; text-decoration: line-through; font-size: 15px; }
#product-product .coucou-pprice li { font-size: 13px; color: #666; }
#product-product .coucou-pstock { margin: 0 0 8px; }
#product-product .coucou-pill {
	display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; line-height: 1.4; border: 1px solid;
}
#product-product .coucou-pill-in { background: #eaf5df; border-color: #c9e3ae; color: #3d6a10; }
#product-product .coucou-pill-order { background: #fdf3e1; border-color: #f0d6a4; color: #8a5a00; }
#product-product .coucou-pmeta { margin: 0 0 16px; font-size: 13px; color: #888; }
#product-product .coucou-pqty { display: flex; gap: 10px; align-items: stretch; margin: 0 0 16px; }
#product-product .coucou-pqty #input-quantity {
	flex: 0 0 72px; width: 72px; height: 48px; text-align: center; font-size: 16px; border-radius: var(--cc-radius);
}
#product-product .coucou-pqty #button-cart { flex: 1 1 auto; min-width: 0; height: 48px; font-size: 17px; font-weight: 600; padding: 0 16px; }
#product-product .coucou-buybox .coucou-trust-list { margin: 0 0 6px; }
#product-product .coucou-buybox .coucou-trust-more { margin: 0; }
@media (max-width: 767px) {
	#product-product .coucou-buybox { padding: 16px 14px 14px; }
	#product-product .coucou-buybox h1 { font-size: 22px; }
	#product-product .coucou-pprice h2 { font-size: 26px; }
}

/* ---------- product1 stage 3: description and related products ---------- */
#product-product .nav-tabs { margin-top: 8px; }
#product-product .nav-tabs > li > a { font-weight: 600; color: #555; }
#product-product .nav-tabs > li.active > a { color: var(--cc-text); }
#product-product .tab-content { padding: 16px 0 8px; }
#product-product #tab-description { max-width: 70ch; font-size: 15px; line-height: 1.6; color: #333; }
/* descriptions carry pasted inline font sizes/families (data not touched): let the block decide */
#product-product #tab-description p,
#product-product #tab-description span,
#product-product #tab-description font,
#product-product #tab-description strong,
#product-product #tab-description li { font-size: inherit !important; font-family: inherit !important; line-height: inherit !important; }
#product-product #tab-description p { margin: 0 0 1em; }
#product-product #tab-description ul, #product-product #tab-description ol { margin: 0 0 1em; padding-left: 1.4em; }
#product-product #tab-specification { max-width: 760px; }
#product-product .coucou-related-title { font-size: 22px; font-weight: 600; margin: 24px 0 16px; }
