/* Font declaration */
@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/* Font declaration */
/*
@font-face {
    font-family: "Catamaran", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
*/
/* Font for entire page */
body {
    font-family: "Poppins", helvetica, arial, sans-serif;
    font-size: 1rem;
    line-height: 1.25em;
}
/* Font for entire page */
/* Page wrapper background change */
#wrapper {
    background: none;
}
/* Page wrapper background change */
/* Top Menu item display change */
#header .top-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}
#header .top-menu ul[data-depth="1"] {
    display: flex;
    align-items: flex-start;
}
#header .top-menu ul[data-depth="2"] {
    display: flex;
    flex-direction:column;
}
.menu > ul.top-menu > li > a {
    white-space: normal;
}
.menu > ul.top-menu > li {
    max-width: 150px;
    text-align:center;
}
#header .top-menu a[data-depth="0"]:hover, a:hover {
    color: #ff786d;
    text-decoration: none;
}
#header .header-top a[data-depth="0"] {
    color: #023d71;
}
/* Top Menu item display change */
/* Product description new classes */
.additional {
	visibility: hidden;
	height: 0px;
}
.underline-highlight {
    position: relative;
    z-index: 1;
    background: linear-gradient(#FCD402, #FCD402) left bottom no-repeat;
    background-size: 100% 50%;
    line-height: 2.5rem;
}
.header-highlight {
    background:transparent;
    border-bottom:7px solid #FCD402;
}
/* Product description new classes */
/* My courses menu item */
div#courses_link a:hover {
    background-color: #ff786d;
    color:white;
}
div#courses_link {
    display: flex;
    justify-content: center;
    align-items: center;
}
div#courses_link a {
    color: white;
    background-color: #52ab8b;
    white-space: nowrap;
    padding: .75rem;
    text-decoration: none;
    color: white;
    margin: 0 0 0 2rem;
}
#courses_link i.material-icons {
    margin-right: .3rem;
}
#mobile_top_menu_wrapper div#courses_link {
    display: flex;
    justify-content: center;
}
#mobile_top_menu_wrapper div#courses_link a {
    background-color: #52ab8b;
    color: white;
    padding: .6rem;
    line-height: 2rem;
    margin: 0 0 1.5rem 0;
}
div#_mobile_contact_link {
    text-align: center;
}
/* My courses menu item */
/* Collapse menu list overflowing plus sign fix */
.block-categories .category-sub-menu li[data-depth="0"]>a {
    display: inline-block;
    width: 90%;
    padding-bottom: .1875rem;
    margin: .3125rem 0 0;
    font-weight: 600;
}
/* Collapse menu list overflowing plus sign fix */
/* Product list header remove */
#js-product-list-header {
    display: none;
}
/* Product list header remove */
/* Product list footer hidden for SEO purposes */
#js-product-list-footer {
    visibility:hidden;
}
/* Product list footer hidden for SEO purposes */
/* Terms and conditions styling */
.terms-and-conditions {
	color: #232323;
}
ol.nested-list {
	counter-reset: item;
}
.nested-list li {
	display: block;
	position: relative
}
.nested-list li:before {
	position: absolute;
	left: -15px;
	content: counters(item, ".") ". ";
	counter-increment: item
}
.nested-list li ol li:before {
	left: -35px;
	content: counters(item, ".") ". ";
	counter-increment: item
}
/* Terms and conditions styling */
/* Carousel adjustments to products size */
.carousel .carousel-item figure {
    display: block;
}
.carousel-inner {
    width: 100%;
    overflow: hidden;
    text-align: center;
}
.carousel-control.right {
    right: 1rem;
}
.carousel-control.left {
    left: 1rem;
}
@media (min-width: 576px) {
    .carousel-indicators {
        display: none;
    }
}
/* Carousel adjustments to products size */
/* Social media buttons adjustments */
.block-social ul li {
    background-color: transparent;
}
.block-social ul li:hover {
    background-color: transparent;
    filter: brightness(0.2) sepia(1) hue-rotate(180deg) saturate(5);
}
.block-social.col-lg-4.col-md-12.col-sm-12 {
    width: 100%;
    display: flex;
    justify-content: center;
}
.youtube {
    background-image: url(https://sklep.cko.edu.pl/themes/child_classic/assets/css/726b87682d18d1e83076.svg);
}
.facebook {
    background-image: url(https://sklep.cko.edu.pl/themes/child_classic/assets/css/04be689c12d686c59503.svg);
}
.instagram {
    background-image: url(https://sklep.cko.edu.pl/themes/child_classic/assets/css/3a94078d659136527abf.svg);
}
/* Social media buttons adjustments */
/* Layout colors */
#header .header-nav .cart-preview.active {
    background: #023d71;
}
.btn-primary,
.btn-primary:hover {
    color: #fff;
    background-color: #023d71;
    border-color: transparent;
}
#header a:hover, a {
    color: #ff786d;
    text-decoration: none;
}
a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
	color: #023d71;
	text-decoration: none;
}
.btn-primary.active,
.btn-primary:active,
.open>.btn-primary.dropdown-toggle {
	background-color: #ff786d;
}
.btn-primary.focus,
.btn-primary:focus {
	background-color: #ff786d;
}
.btn-primary.active.focus,
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary:active.focus,
.btn-primary:active:focus,
.btn-primary:active:hover,
.open>.btn-primary.dropdown-toggle.focus,
.open>.btn-primary.dropdown-toggle:focus,
.open>.btn-primary.dropdown-toggle:hover {
	background-color: #ff786d;
}
.product-review-link .btn-comment,
.product-review-link .btn-comment-inverse {
    height: 36px;
    border-radius: 2px;
/*    background-color: #023d71;*/
    background-color: transparent;
/*    color: #ffffff;*/
    color: #023d71;	
    font-size: 14px;
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.2);
    padding: 8px;
}
.product-review-link .btn-comment:hover {
    background-color: #023d71;
    color: #ffffff;	
}
.bootstrap-touchspin .group-span-filestyle .btn-touchspin,
.group-span-filestyle .bootstrap-touchspin .btn-touchspin,
.group-span-filestyle .btn-default {
    background: #023d71;
}
.form-control:focus,
.input-group.focus {
    outline: .1875rem solid #023d71;
}
/* Layout colors */
/* Footer adjustments */
.footer-container .row {
    display: flex;
    justify-content: center;
}
/* Footer adjustments */
/* Left submenu adjustments */
.block-categories .category-sub-menu {
    margin-top: 1rem;
    text-transform: uppercase;
}
/* Left submenu adjustments */
/* Mobile submenu adjustments */
#mobile_top_menu_wrapper .top-menu .sub-menu ul[data-depth="1"]>li a, button, select {
    text-transform: uppercase;
    color: #023d71;
}
#mobile_top_menu_wrapper .top-menu {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
}
#mobile_top_menu_wrapper .top-menu ul[data-depth="1"] {
    display: flex;
    align-items: center;
}
/* Mobile submenu adjustments */
/* Newsletter block styling */
.newsletter-wraper,
.block_newsletter {
    background: #f8f8f8;
}
.newsletter-wraper {
    border: 1px solid #dddddd;
    margin-bottom: 1.25rem;
}
.newsletter-header {
	text-align: center;
	font-size: 2rem;
	line-height: 2rem;
	padding: 1.5rem;
	color: #023d71;
}
.newsletter-subheader {
    text-align: center;
    padding-bottom: 1rem;
    font-size: 1rem;
}
.newsletter-consent {
    padding: 1rem;
    font-size: .75rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.newsletter-form {
    width: 60%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
/* Newsletter block styling */
/* Checkout adjustments */
.has-summary-discount {
	text-decoration: line-through;
}
.cart-summary-line .value.summary-discount {
	color: #ff786d;
}
#cart-subtotal-products {
	display:none;
}
.modal-discount {
	color: #49A988;
}
/* Checkout adjustments */
/* Jotform bot bubble */
@media screen and (max-width: 768px) {
    body .jficc .embedded-agent-container:not(.square):not(:has(.is-button-scrolled)) {
        margin-bottom: 4rem;
        margin-right: .8rem;
    }
}
/* Jotform bot bubble */
/* Product miniature size */
@media (min-width: 1200px) {
    .col-xl-3 {
        width: 33%;
    }
}
/* Product miniature size */
/* Product focus outline removal */
a.thumbnail.product-thumbnail:focus,
h3.product-title > a:focus {
	outline: none;
    outline-offset: 0;
}
/* Product focus outline removal */
/* Product description visbility adjustment */
.product-miniature .product-title a {
    font-size: 1.1875rem;
    font-weight: 400;
    color: #7a7a7a;
    text-align: center;
    text-decoration: none;
    line-height: 1.75rem;
}
/* Product description visbility adjustment */
/* Product layout color */
.has-discount .page-content.page-cms ul,
.has-discount p,
.has-discount.product-price,
.page-content.page-cms .has-discount ul {
    color: #ff786d;
}
.has-discount .discount {
    background: #ff786d;
}
.product-flags li.product-flag.discount,
.product-flags li.product-flag.discount-amount,
.product-flags li.product-flag.discount-percentage {
    background-color: #ff786d;
}
.product-flags li.product-flag {
    background: #023d71;
}
/* Product layout color */
/* ==== NEW PRODUCT LAYOUT ==== */
/* Product page tab adjustment */
.tabs.product-layout__tabs {
	margin-top: 0;
	padding: 1.25rem .5rem;
}
/* Product page tab adjustment */
/* Tax label font weight adjustment */
.product-prices .tax-shipping-delivery-label {
    font-weight: 400;
}
/* Tax label font weight adjustment */
/* Product page layout */
#product {
	--cc-thumbs-width: 5rem;
	--cc-thumbs-gap: .75rem;
	--cc-buybar-height: 4.25rem;
}
/* Product page layout */
/* Product gallery */
#product .product-layout #content {
	max-width: none;
}
#product .product-layout .images-container {
	display: grid;
	grid-template-areas: "cover";
	grid-template-columns: minmax(0, 1fr);
}
#product .product-layout .product-cover {
	grid-area: cover;
	margin-bottom: 0;
}
/* Product gallery */
/* Product swipe carousel */
.product-swipe,
.product-images-counter,
.product-thumbs-nav {
	display: none;
}
#product .product-layout .product-images-counter {
	display: block;
	grid-area: cover;
	align-self: end;
	justify-self: center;
	z-index: 2;
	padding: .125rem .625rem;
	margin-bottom: .75rem;
	font-size: .8125rem;
	color: #fff;
	pointer-events: none;
	background: rgba(0, 0, 0, .55);
	border-radius: 1rem;
}
/* Product swipe carousel */
/* Product information blocks */
#product .product-subtitle {
	margin-bottom: .5rem;
	color: #7a7a7a;
}
#product .product-subtitle p:last-child {
	margin-bottom: 0;
}
#product .product-omnibus {
	margin: 0 0 .75rem;
	font-size: .8125rem;
	color: #7a7a7a;
}
#product .product-payments {
	margin: .75rem 0;
	font-size: .875rem;
}
#product .product-payments p {
	margin: 0;
}
/* Product information blocks */
/* Product rating */
#product .product-rating {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin: .75rem 0;
}
#product .product-rating .grade-stars .star-content {
	top: 0;
}
#product .product-rating__average {
	font-weight: 700;
}
#product .product-review-link {
	margin: .5rem 0;
}
#product .product-review-link .btn-comment {
	text-transform: none;
}
/* Product rating */
/* Product quantity limit */
.product-quantity--single .qty,
.product-actions .control-label.product-quantity-label--single {
	display: none;
}
/* Already in cart button */
.product-actions .add-to-cart-in-cart {
	display: inline-flex;
	gap: .375rem;
	align-items: center;
	justify-content: center;
	height: 2.75rem;
	padding: 0 1.25rem;
	color: #232323;
	background-color: #f6f6f6;
	border-color: transparent;
}
.product-actions .add-to-cart-in-cart .material-icons {
	font-size: 1.25rem;
}
.product-actions .add-to-cart-in-cart:hover,
.product-actions .add-to-cart-in-cart:focus {
	color: #232323;
	text-decoration: none;
	background-color: #ddd;
}
/* Already in cart button */
/* Desktop already in cart button */
@media (min-width: 768px) {
	.product-actions .add-to-cart-in-cart {
		border: 1px solid #d0d0d0;
	}
	.product-actions .add-to-cart-in-cart:hover,
	.product-actions .add-to-cart-in-cart:focus {
		border-color: #bbb;
	}
}
/* Desktop already in cart button */
/* Product quantity limit */
/* Desktop product layout */
@media (min-width: 768px) {
	#product .product-layout {
		display: grid;
		grid-template-areas:
			"media    info"
			"benefits benefits"
			"rating   rating";
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 1.875rem;
	}
	#product .product-layout__media {
		grid-area: media;
	}
	#product .product-layout__info {
		grid-area: info;
	}
	#product .product-layout__benefits {
		grid-area: benefits;
	}
	#product .product-layout > .product-rating {
		grid-area: rating;
	}
	#product .product-layout > .product-review-section {
		grid-area: rating;
        width: 100%;
        justify-self: stretch;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: .5rem;
	}
	/* Desktop product thumbnails */
	#product .product-layout .images-container {
		grid-template-areas: "thumbs cover";
		grid-template-columns: var(--cc-thumbs-width) minmax(0, 1fr);
		column-gap: var(--cc-thumbs-gap);
	}
	#product .product-layout .images-container .js-qv-mask {
		grid-area: thumbs;
		width: auto;
		height: 0;
		min-height: 100%;
		max-height: none;
		margin: 0;
		overflow-x: hidden;
		overflow-y: auto;
		white-space: normal;
		scroll-behavior: smooth;
		scrollbar-width: none;
	}
	#product .product-layout .images-container .js-qv-mask::-webkit-scrollbar {
		display: none;
	}
	#product .product-layout .product-thumbs-nav {
		z-index: 2;
		display: flex;
		grid-area: thumbs;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 1.75rem;
		padding: 0;
		color: #232323;
		cursor: pointer;
		background: rgba(255, 255, 255, .9);
		border: 1px solid #d0d0d0;
	}
	#product .product-layout .product-thumbs-nav:hover,
	#product .product-layout .product-thumbs-nav:focus {
		background: #fff;
		border-color: #bbb;
	}
	#product .product-layout .product-thumbs-nav[hidden] {
		display: none;
	}
	#product .product-layout .product-thumbs-nav--up {
		align-self: start;
	}
	#product .product-layout .product-thumbs-nav--down {
		align-self: end;
	}
	#product .product-layout .images-container .product-images {
		margin: 0;
	}
	#product .product-layout .images-container .product-images > li.thumb-container {
		display: block;
	}
	#product .product-layout .images-container .product-images > li.thumb-container .thumb {
		display: block;
		width: 100%;
		max-width: none;
		height: auto;		
		margin: 0 0 var(--cc-thumbs-gap);
	}
	/* Desktop product flags */
	#product .product-layout .product-flags {
		left: calc(var(--cc-thumbs-width) + var(--cc-thumbs-gap));
		width: auto;
	}
	/* Desktop product buy area */
	#product .product-layout__buy-form {
		display: grid;
		grid-auto-flow: row dense;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
	}
	#product .product-layout__buy-form > *,
	#product .product-layout__buy-form .product-add-to-cart > * {
		grid-column: 1 / -1;
	}
	#product .product-layout__buy-form .product-add-to-cart {
		display: contents;
	}
	#product .product-layout__buy-form .product-add-to-cart > .product-quantity {
		grid-column: 1;
	}
	#product .product-layout__wishlist {
		grid-column: 2;
		margin-bottom: .5rem;
	}
	.tabs.product-layout__tabs {
		margin-top: 0;
		padding: 0 .5rem 1.25rem .5rem;
	}	
}
/* Desktop product layout */
/* Mobile product layout */
@media (max-width: 767.98px) {
	/* Product page breadcrumb on mobile */
	.breadcrumb {
		font-size: .5rem;
	}
	/* Product page breadcrumb on mobile */	
	#product .product-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}
	#product .product-layout__info,
	#product .product-layout .product-actions,
	#product .product-layout__buy-form,
	#product .product-layout .product-add-to-cart {
		display: contents;
		text-align: center;
	}
	/* Mobile product gallery and wishlist */
	#product .product-layout__media,
	#product .product-layout__wishlist {
		grid-row: 1;
		grid-column: 1;
	}
	#product .product-layout__wishlist {
		z-index: 3;
		align-self: end;
		justify-self: end;
		margin: 0 .75rem .75rem 0;
	}
	#product .product-layout__wishlist .wishlist-button-product {
		margin-left: 0;	
	}
	/* Mobile product swipe gallery */
	#product .product-layout .images-container .js-qv-mask,
	#product .product-layout .images-container.has-swipe .product-cover {
		margin-left: 0;
		display: none;
	}
	#product .product-layout .product-swipe {
		display: flex;
		grid-area: cover;
		align-items: flex-start;
		padding: 0;
		margin: 0;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		list-style: none;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	#product .product-layout .product-swipe::-webkit-scrollbar {
	    display: none;
	}
	#product .product-swipe__slide {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#product .product-layout .product-swipe__slide {
		flex: 0 0 100%;
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}
	#product .product-layout .product-swipe__slide img {
		display: block;
		width: 100%;
		height: 250px;
		user-select: none;
	}
	/* Mobile product block order */
	#product .product-layout__title                 		{ order: 10; }
	#product .product-layout #product-availability  		{ order: 22; }
	#product .product-layout .product-minimal-quantity 		{ order: 24; }
	#product .product-layout .product-customization 		{ order: 30; }
	#product .product-layout .product-variants      		{ order: 32; }
	#product .product-layout .product-pack          		{ order: 34; }
	#product .product-layout .product-discounts     		{ order: 36; }
	#product .product-layout__benefits              		{ order: 40; }
	#product .product-layout .product-accessories--custom	{ order: 55; }
	#product .product-layout .product-payments      		{ order: 50; }
	#product .product-layout .product-review-section		{ order: 60; }	
	#product .product-layout > .product-rating      		{ order: 60; }
	#product .product-layout .product-additional-info 		{ order: 70; }
	#product .product-layout .product-review-link   		{ order: 72; }	
	#product .product-layout__reassurance           		{ order: 80; }
	#product .product-layout__title {
		margin-top: 1rem;
	}
	/* Mobile hidden product blocks */
	#product .product-subtitle,
	#product .product-omnibus,
	#product .product-layout .product-add-to-cart > .control-label {
		display: none;
	}
	#product .product-layout .product-minimal-quantity:empty,
	#product .product-layout #product-availability:not(:has(*)),
	#product .product-layout .product-discounts:not(:has(*)) {
		display: none;
	}
	/* Mobile fixed buy bar */
	#product {
		padding-bottom: calc(var(--cc-buybar-height) + env(safe-area-inset-bottom, 0px));
	}
	#product .product-layout .product-prices,
	#product .product-layout .product-quantity {
		position: fixed;
		bottom: 0;
		z-index: 1000;
		box-sizing: border-box;
		height: calc(var(--cc-buybar-height) + env(safe-area-inset-bottom, 0px));
		padding-bottom: env(safe-area-inset-bottom, 0px);
		margin: 0;
		background: #fff;
		border-top: 1px solid #ebebeb;
	}
	/* Mobile fixed price */
	#product .product-layout .product-prices {
		left: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 36%;
		padding-right: .5rem;
		padding-left: .75rem;
	}
	#product .product-layout .product-prices div {
		margin-bottom: 0;
	}
	#product .product-layout .product-prices .regular-price {
		font-size: .8125rem;
	}
	#product .product-layout .product-prices .product-price {
		margin: 0;
		font-size: 1.125rem;
	}
	/* Mobile price details hidden */
	#product .product-layout .product-prices .discount,
	#product .product-layout .product-prices .product-unit-price,
	#product .product-layout .product-prices .product-without-taxes,
	#product .product-layout .product-prices .product-pack-price,
	#product .product-layout .product-prices .price-ecotax,
	#product .product-layout .product-prices .tax-shipping-delivery-label {
		display: none;
	}
	/* Mobile fixed quantity and cart */
	#product .product-layout .product-quantity {
		right: 0;
		display: flex;
		gap: .5rem;
		align-items: center;
		width: 64%;
		padding-right: .75rem;
	}
	#product .product-layout .product-quantity .bootstrap-touchspin {
		display: flex;
		width: auto;
	}
	#product .product-layout .product-quantity .input-group-btn-vertical {
		display: flex;
		flex-direction: column;
	}
	#product .product-layout .product-quantity .qty,
	#product .product-layout .product-quantity .add {
		float: none;
		margin: 0;
	}
	#product .product-layout .product-quantity .add {
		flex: 1 1 auto;
		min-width: 0;
	}
	/* Mobile add to cart button */
	#product .product-layout .product-quantity .add-to-cart,
	#product .product-layout .product-quantity .add-to-cart-in-cart {
		width: 100%;
		height: auto;
		min-height: 2.75rem;
		padding: .375rem .5rem;
		font-size: .875rem;
		line-height: 1.15;
		white-space: normal;
	}
	#product .product-layout .product-quantity .add-to-cart .material-icons {
		display: none;
	}
	#product .product-review-link {
		text-align: center;
	}	
	#product .product-rating {
		justify-content: center;
	}
	.tabs.product-layout__tabs {
		margin-top: 0;
		padding: .75rem .25rem 1.25rem .25rem;
	}
}
/* Mobile product layout */
/* Header and searchbar adjustment, hiding on mobile */
@media (max-width: 767.98px) {
	#header .header-top-product {
		height: 0;
		padding: 0;
	}
	.search-widgets-product	 {
		display: none;
	}
}
/* Header and searchbar adjustment, hiding on mobile */
/* ==== NEW PRODUCT LAYOUT ==== */
















/* =====================================================================
   PrestaShop 8.2.x / Classic — custom accessories list
   Layout: image | product name | price | add-to-cart
   All rules are scoped to .product-accessories--custom.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. Local design tokens
   --------------------------------------------------------------------- */
.product-accessories--custom {
  --pac-card-h: 88px;
  --pac-img-w: 64px;
  --pac-price-w: 8ch; /* narrower price column to give the title more room */
  --pac-cart-w: 32px;
  --pac-gap: 0.375rem;
  --pac-card-pr: 0.5rem;

  --pac-font: 0.7rem;
  --pac-line: 1.2;

  --pac-border: #f1f1f1;
  --pac-muted: #7a7a7a;
  --pac-accent: #023d71;
  --pac-price-color: #24b9d7;
  --pac-accent-hover: #012e55;
  --pac-accent-focus: rgba(2, 61, 113, 0.16);
}

/* ---------------------------------------------------------------------
   2. Section heading and vertical product list
   --------------------------------------------------------------------- */
.product-accessories--custom > .h5 {
  margin-bottom: 0.75rem;
}

.product-accessories--custom .products.row {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.5rem;
  margin: 0;
}

.product-accessories--custom .products > .product {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.product-accessories--custom .product-miniature {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
}

/* ---------------------------------------------------------------------
   3. Card grid: image | name | price | cart
   --------------------------------------------------------------------- */
.product-accessories--custom .product-miniature .thumbnail-container {
  display: grid;
  grid-template-columns:
    var(--pac-img-w)
    minmax(0, 1fr)
    minmax(0, var(--pac-price-w))
    var(--pac-cart-w);
  column-gap: var(--pac-gap);
  align-items: center;

  box-sizing: border-box;
  width: 100%;
  height: var(--pac-card-h);
  min-height: 0;
  margin: 0;
  padding-right: var(--pac-card-pr);
  overflow: hidden;

  background: #fff;
  border: 2px solid var(--pac-border);
  border-radius: 6px;
  box-shadow: none;

  transition:
    border-color 0.15s ease,
    background-color 0.15s ease,
    box-shadow 0.15s ease;
}

.product-accessories--custom .product-miniature .thumbnail-container:hover,
.product-accessories--custom .product-miniature .thumbnail-container:focus-within {
  border-color: #bdbdbd;
  background: #fcfcfc;
}

/* ---------------------------------------------------------------------
   4. Column 1 — product image
   --------------------------------------------------------------------- */
.product-accessories--custom .thumbnail-top {
  grid-column: 1;
  grid-row: 1;
  width: var(--pac-img-w);
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.product-accessories--custom .thumbnail-top .product-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.product-accessories--custom .thumbnail-top .product-thumbnail picture {
  display: block;
  width: 100%;
  height: 100%;
}

.product-accessories--custom .thumbnail-top .product-thumbnail img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  object-fit: contain;
}

/* The Classic hover/quick-view area is too large for compact cards. */
.product-accessories--custom .highlighted-informations {
  display: none !important;
}

/* ---------------------------------------------------------------------
   5. Let the title, price and cart form become grid items
   --------------------------------------------------------------------- */
.product-accessories--custom .product-miniature .product-description {
  display: contents;
}

/* Suppress review/other hook output in the compact card so it cannot
   accidentally occupy a grid cell or create an extra row. */
.product-accessories--custom
.product-miniature
.product-description > :not(.product-title):not(.product-price-and-shipping):not(.pac-add-to-cart) {
  display: none !important;
}

/* ---------------------------------------------------------------------
   6. Column 2 — product name
   --------------------------------------------------------------------- */
.product-accessories--custom .product-miniature .product-title {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  min-width: 0;
  max-width: 100%;
  max-height: 2.52rem;
  margin: 0;
  overflow: hidden;

  font-size: var(--pac-font);
  font-weight: 600;
  line-height: var(--pac-line);
  text-align: left;
  text-transform: none;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.product-accessories--custom .product-miniature .product-title a {
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-align: left;
  text-decoration: none;
}

/* ---------------------------------------------------------------------
   7. Column 3 — price
   --------------------------------------------------------------------- */
.product-accessories--custom .product-miniature .product-price-and-shipping {
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  gap: 0.15rem;

  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;

  color: var(--pac-price-color);
  font-size: var(--pac-font);
  line-height: var(--pac-line);
  text-align: right;
}

.product-accessories--custom .product-miniature .product-price-and-shipping .price {
  display: block;
  max-width: 100%;
  margin: 0;
  overflow: hidden;

  color: var(--pac-price-color);
  font-size: inherit;
  font-weight: 700;
  line-height: inherit;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-accessories--custom .product-miniature .product-price-and-shipping .regular-price {
  display: block;
  max-width: 100%;
  margin: 0;
  overflow: hidden;

  color: var(--pac-muted);
  font-size: 0.65rem;
  line-height: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Keep compact sale pricing readable; the badge itself is omitted. */
.product-accessories--custom .product-miniature .discount-percentage,
.product-accessories--custom .product-miniature .discount-amount {
  display: none !important;
}

/* ---------------------------------------------------------------------
   8. Column 4 — add-to-cart button
   --------------------------------------------------------------------- */
.product-accessories--custom .pac-add-to-cart {
  grid-column: 4;
  grid-row: 1;
  align-self: center;
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--pac-cart-w);
  min-width: 0;
  margin: 0;
  padding: 0;
}

.product-accessories--custom .pac-add-to-cart__button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--pac-cart-w);
  width: var(--pac-cart-w);
  min-width: var(--pac-cart-w);
  height: var(--pac-cart-w);
  margin: 0;
  padding: 0;

  border: 1px solid var(--pac-accent);
  border-radius: 8px;
  background: var(--pac-accent);
  color: #fff;
  line-height: 1;
  text-align: center;
  box-shadow: none;
  cursor: pointer;

  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.15s ease;
}

.product-accessories--custom .pac-add-to-cart__button:hover {
  border-color: var(--pac-accent-hover);
  background: var(--pac-accent-hover);
  color: #fff;
}

.product-accessories--custom .pac-add-to-cart__button:active {
  transform: scale(0.96);
}

.product-accessories--custom .pac-add-to-cart__button:focus-visible {
  outline: 2px solid var(--pac-accent);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px var(--pac-accent-focus);
}

.product-accessories--custom .pac-add-to-cart__button .material-icons {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 19px;
  line-height: 1;
}

/* ---------------------------------------------------------------------
   9. Hide elements that do not belong in this compact layout
   --------------------------------------------------------------------- */
.product-accessories--custom .product-flags,
.product-accessories--custom .wishlist-button-add {
  display: none !important;
}

/* ---------------------------------------------------------------------
   10. Responsive adjustments
   --------------------------------------------------------------------- */
@media (max-width: 767.98px) {
  .product-accessories--custom {
    --pac-card-h: 80px;
    --pac-img-w: 52px;
    --pac-price-w: 7.5ch;
    --pac-cart-w: 30px;
    --pac-gap: 0.25rem;
    --pac-card-pr: 0.375rem;
  }

  .product-accessories--custom .pac-add-to-cart__button {
    border-radius: 7px;
  }

  .product-accessories--custom .pac-add-to-cart__button .material-icons {
    font-size: 18px;
  }
}

/* Cart Accessories Desktop */
.cart-accessories-container--mobile {
    display: none;
}

.cart-accessories-container--desktop {
    display: block;
}

/* Cart Accessories Mobile */
@media screen and (max-width: 767px) {
    .cart-accessories-container--mobile {
        display: block;
    }

    .cart-accessories-container--desktop {
        display: none;
    }
}