/* ==========================================================================
   Plush Comfort Store Upgrade – responsive + journey styles
   Works on top of the Hostinger AI theme. Breakpoints:
   phone < 600px · tablet / iPad 600–1023px · desktop ≥ 1024px
   ========================================================================== */

:root {
	--pc-dark: var(--wp--preset--color--color-2, #464018);
	--pc-accent: var(--wp--preset--color--color-3, #847624);
	--pc-cream: var(--wp--preset--color--color-1, #fffaeb);
	--pc-text: var(--wp--preset--color--page-text, #1a1a1a);
	--pc-muted: #6b6a63;
	--pc-line: #e4dfd0;
	--pc-soft: #f6f2e6;
	--pc-ok: #2f7a4b;
	--pc-radius: 14px;
	--pc-img-ratio: 4 / 3;
	--pc-card-ratio: 4 / 3;
	--pc-card-fit: cover;
	--pc-img-bg: #ffffff;
	--pc-gutter: 16px;
	--pc-logo-w: 120px;
	--pc-logo-w-m: 86px;
	--pc-hero-h: 600px;
	--pc-hero-h-m: 460px;
	--pc-hero-r: 0px;
	--pc-footer-gap: 64px;
	--pc-hs-cols: 4;
	--pc-sale: #b3261e;
}

/* ---------- Base safety: no sideways scrolling on phones ---------- */
html, body { overflow-x: clip; }
img, video, iframe { max-width: 100%; }
.wp-site-blocks { overflow-x: clip; }

/* ---------- Icons (CSS masks, inherit text colour) ---------- */
.pc-tick, .pc-ico {
	display: inline-block; flex: 0 0 auto; width: 1.05em; height: 1.05em; background: currentColor;
	-webkit-mask: var(--pc-mask) center / contain no-repeat; mask: var(--pc-mask) center / contain no-repeat;
}
.pc-tick { --pc-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E"); }
.pc-ico--van { --pc-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 8h-3V4H3a2 2 0 0 0-2 2v11h2a3 3 0 0 0 6 0h6a3 3 0 0 0 6 0h2v-5l-3-4zM6 18.5A1.5 1.5 0 1 1 6 15.5a1.5 1.5 0 0 1 0 3zm13.5-9 2 2.5H17V9.5h2.5zM18 18.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z'/%3E%3C/svg%3E"); }
.pc-ico--ruler { --pc-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zm-1 10H4V8h2v4h2V8h2v4h2V8h2v4h2V8h2v4h2V8z'/%3E%3C/svg%3E"); }
.pc-ico--chat { --pc-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zM7 9h10v2H7zm6 5H7v-2h6zm4-6H7V6h10z'/%3E%3C/svg%3E"); }

/* ==========================================================================
   1. Benefits bar
   ========================================================================== */
.pc-usp {
	background: var(--pc-dark); color: #fff; font-size: 13px; line-height: 1.3;
	letter-spacing: .02em; position: relative; z-index: 60;
}
.pc-usp__list {
	list-style: none; margin: 0 auto; padding: 8px var(--pc-gutter);
	max-width: var(--wp--style--global--wide-size, 1100px);
	display: flex; justify-content: space-between; gap: 18px;
}
.pc-usp__item { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.pc-usp__item .pc-tick { color: #e6d58e; }
@media (max-width: 899px) {
	.pc-usp__list { justify-content: center; min-height: 34px; align-items: center; }
	.pc-usp__item { display: none; }
	.pc-usp__item.is-active { display: flex; animation: pc-fade .4s ease; }
}
@keyframes pc-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ==========================================================================
   2. Header + navigation
   ========================================================================== */
body:not(.pc-no-sticky) .site-header, body:not(.pc-no-sticky) .wp-site-blocks > header.wp-block-template-part {
	position: sticky; top: 0; z-index: 50; transition: box-shadow .2s ease;
}
body.admin-bar:not(.pc-no-sticky) .site-header, body.admin-bar:not(.pc-no-sticky) .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .site-header, body.admin-bar header.wp-block-template-part { top: 0; position: relative; }
}
.site-header.pc-scrolled, header.wp-block-template-part.pc-scrolled { box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }

.hostinger-ai-menu-wrapper { align-items: center; }
.wp-block-site-logo img.custom-logo, .hostinger-ai-menu .wp-block-site-logo img {
	width: var(--pc-logo-w) !important; max-width: 40vw; height: auto !important; max-height: none; object-fit: contain;
}
.wp-block-site-logo { line-height: 0; }
.pc-hide-title .hostinger-ai-site-title, .pc-hide-title .site-header .wp-block-site-title { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hostinger-ai-site-title { line-height: 1.15; margin: 0; }
.hostinger-ai-menu .wc-block-mini-cart__button,
.hostinger-ai-menu .wc-block-customer-account__link {
	min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
}

/* Hamburger menu up to 1023px (core switches at 600px, which crowds iPads). */
@media (min-width: 600px) and (max-width: 1023.98px) {
	.site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
}
@media (max-width: 1023.98px) {
	.hostinger-ai-menu > .hostinger-ai-menu-wrapper {
		display: flex !important; justify-content: space-between; gap: 10px;
		padding-top: 10px !important; padding-bottom: 10px !important;
	}
	.wp-block-site-logo img.custom-logo, .hostinger-ai-menu .wp-block-site-logo img { width: var(--pc-logo-w-m) !important; }
	.hostinger-ai-site-title { font-size: clamp(15px, 3.6vw, 20px) !important; }
	.hostinger-ai-site-title a { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 46vw; }
	.hostinger-ai-site-navigation-wrapper { gap: 4px !important; flex-wrap: nowrap; }
	.site-header .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; align-items: center; justify-content: center; }
	.site-header .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }

	/* Full-screen menu: big, easy tap targets */
	.site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 20px 22px 32px; background: var(--pc-cream) !important; color: var(--pc-dark) !important; }
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; }
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--pc-line); }
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: block; width: 100%; padding: 16px 4px !important; font-size: 20px; font-weight: 600;
	}
	.site-header .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; align-items: center; justify-content: center; }
}
@media (max-width: 380px) {
	.hostinger-ai-site-title { display: none; }
}

/* ==========================================================================
   3. Home page sections
   ========================================================================== */
/* Hero banner width: remove the empty space left and right of the hero. */
body.pc-hero-full .entry-content > .alignfull[class*="hostinger-ai-hero"],
body.pc-hero-wide .entry-content > .alignfull[class*="hostinger-ai-hero"] {
	padding-left: 0 !important; padding-right: 0 !important; margin-top: 0 !important;
}
body.pc-hero-full .entry-content > .alignfull[class*="hostinger-ai-hero"] > .wp-block-columns,
body.pc-hero-wide .entry-content > .alignfull[class*="hostinger-ai-hero"] > .wp-block-columns {
	max-width: none !important; width: 100%; margin-left: 0 !important; margin-right: 0 !important; margin-bottom: 0 !important; gap: 0 !important;
}
body.pc-hero-wide .entry-content > .alignfull[class*="hostinger-ai-hero"] > .wp-block-columns { padding: 12px clamp(10px, 1.4vw, 20px) 0; }
body.pc-hero-full .entry-content > .alignfull[class*="hostinger-ai-hero"] .wp-block-column,
body.pc-hero-wide .entry-content > .alignfull[class*="hostinger-ai-hero"] .wp-block-column { flex-basis: 100% !important; min-width: 0; }
body.pc-hero-full .hostinger-ai-cover-image.wp-block-cover,
body.pc-hero-wide .hostinger-ai-cover-image.wp-block-cover {
	max-width: none !important; width: 100%; margin: 0 !important; aspect-ratio: auto !important;
	min-height: var(--pc-hero-h) !important;
	padding-left: max(var(--wp--style--root--padding-left, 24px), calc((100vw - var(--wp--style--global--wide-size, 1200px)) / 2)) !important;
	padding-right: max(var(--wp--style--root--padding-right, 24px), calc((100vw - var(--wp--style--global--wide-size, 1200px)) / 2)) !important;
}
body.pc-hero-full .hostinger-ai-cover-image.wp-block-cover { border-radius: 0 !important; }
body.pc-hero-wide .hostinger-ai-cover-image.wp-block-cover { border-radius: var(--pc-hero-r) !important; }
body.pc-hero-full .hostinger-ai-cover-image .wp-block-cover__inner-container,
body.pc-hero-wide .hostinger-ai-cover-image .wp-block-cover__inner-container { max-width: 640px; margin-left: 0; }
@media (max-width: 781.98px) {
	body.pc-hero-full .hostinger-ai-cover-image.wp-block-cover,
	body.pc-hero-wide .hostinger-ai-cover-image.wp-block-cover {
		min-height: var(--pc-hero-h-m) !important; padding: 28px 20px !important;
	}
}

/* Hero banner: 16:9 box is far too short on phones, text spilled out. */
@media (max-width: 781.98px) {
	.hostinger-ai-cover-image.wp-block-cover {
		aspect-ratio: auto !important; min-height: 440px !important;
		padding: 28px 22px !important;
	}
	.hostinger-ai-cover-image .hostinger-ai-title,
	.wp-block-cover h1 { font-size: clamp(28px, 8vw, 38px) !important; line-height: 1.12 !important; }
	.hostinger-ai-cover-image .wp-block-buttons { gap: 10px; }
	.hostinger-ai-cover-image .wp-block-button { flex: 1 1 140px; }
	.hostinger-ai-cover-image .wp-block-button__link { width: 100%; text-align: center; padding: 14px 18px !important; }
}
@media (min-width: 782px) and (max-width: 1023.98px) {
	.hostinger-ai-cover-image.wp-block-cover { min-height: max(460px, calc(var(--pc-hero-h) * .8)) !important; aspect-ratio: auto !important; }
}

/* Category tiles + image galleries: 2 per row on phones, 2–4 on tablets */
@media (max-width: 599.98px) {
	.entry-content .wp-block-group.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	.entry-content .wp-block-group.is-layout-grid .hostinger-ai-image img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: auto; }
	.entry-content .wp-block-group.is-layout-grid .has-light-background-color { padding: 10px 12px !important; }
}
@media (min-width: 600px) and (max-width: 1023.98px) {
	.entry-content .wp-block-group.is-layout-grid { grid-template-columns: repeat(var(--pc-tablet-cols, 2), minmax(0, 1fr)) !important; }
	.hostinger-ai-product-category-5 .wp-block-group.is-layout-grid { --pc-tablet-cols: 4; }
}

/* Photo-only column rows (e.g. "Our Gallery"): keep 2 side by side instead of 6 huge stacked photos */
@media (max-width: 781.98px) {
	.entry-content .wp-block-columns:has(> .wp-block-column > figure.wp-block-image):not(:has(> .wp-block-column > :not(figure.wp-block-image))) {
		flex-wrap: nowrap !important; gap: 12px !important; margin-bottom: 12px !important;
	}
	.entry-content .wp-block-columns:has(> .wp-block-column > figure.wp-block-image):not(:has(> .wp-block-column > :not(figure.wp-block-image))) > .wp-block-column {
		flex-basis: 0 !important; flex-grow: 1;
	}
	.entry-content .wp-block-columns:has(> .wp-block-column > figure.wp-block-image):not(:has(> .wp-block-column > :not(figure.wp-block-image))) img {
		aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: auto;
	}
}

/* Generic: stack columns cleanly and give sections breathing room on phones */
@media (max-width: 781.98px) {
	.entry-content > .alignfull { padding-left: var(--pc-gutter) !important; padding-right: var(--pc-gutter) !important; }
	.wp-block-columns { gap: 18px !important; }
	h2.wp-block-heading.has-x-large-font-size, .has-x-large-font-size { font-size: clamp(26px, 7vw, 34px) !important; }
	.has-xx-large-font-size { font-size: clamp(30px, 9vw, 44px) !important; }
}

/* ==========================================================================
   4. Product cards (home, shop, category, related)
   ========================================================================== */
/* Every card photo the same size: fixed shape, photo fills it (no more small photos). */
.wc-block-product .wc-block-components-product-image,
.wc-block-grid__product .wc-block-grid__product-image {
	position: relative !important; display: block !important; width: 100% !important; max-width: none !important;
	overflow: hidden; border-radius: var(--pc-radius); background: var(--pc-img-bg); margin-bottom: 12px;
}
.wc-block-product .wc-block-components-product-image > a,
.wc-block-grid__product-image > a { display: block !important; position: relative; width: 100%; line-height: 0; }
.wc-block-product .wc-block-components-product-image img,
.wc-block-grid__product-image img {
	display: block; width: 100% !important; max-width: none !important; height: auto !important;
	aspect-ratio: var(--pc-card-ratio) !important;
	object-fit: var(--pc-card-fit) !important; object-position: center;
	background: var(--pc-img-bg); margin: 0 !important;
}
/* Sale badge always inside the photo, top-left, never wider than the card */
.wc-block-product .wc-block-components-product-image .wp-block-woocommerce-product-sale-badge { position: static; }
.wc-block-product .wc-block-components-product-image .wc-block-components-product-sale-badge {
	position: absolute !important; top: 10px !important; left: 10px !important; right: auto !important; bottom: auto !important;
	margin: 0 !important; z-index: 2; max-width: calc(100% - 20px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	line-height: 1.3 !important; transform: none !important;
}
.wc-block-product { min-width: 0; position: relative; }
.wc-block-product .wp-block-post-title { line-height: 1.3; }
.wc-block-product .wp-block-post-title a {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-decoration: none;
}
.wc-block-product { display: flex; flex-direction: column; }
.wc-block-product .wp-block-woocommerce-product-button { margin-top: auto; }
.wc-block-components-product-button [hidden], .wc-block-product .added_to_cart[hidden] { display: none !important; }
.wc-block-components-product-sale-badge {
	background: var(--pc-sale) !important; color: #fff !important; border: 0 !important;
	border-radius: 999px !important; text-transform: none !important; font-size: 12px !important; letter-spacing: .02em;
	padding: 4px 10px !important; margin: 8px !important;
}
.pc-from { font-size: .8em; text-transform: uppercase; letter-spacing: .04em; color: var(--pc-muted); font-weight: 600; }

/* Sizes + colours under the price */
.pc-card-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 2px 0 10px; }
.pc-card-chip { font-size: 11.5px; line-height: 1; padding: 6px 9px; border-radius: 999px; background: var(--pc-soft); color: var(--pc-dark); border: 1px solid var(--pc-line); white-space: nowrap; }
.pc-card-chip--more { background: transparent; }
.pc-card-colours { display: flex; align-items: center; gap: 5px; margin: 2px 0 10px; }
.pc-card-dot { width: 15px; height: 15px; border-radius: 50%; background: var(--pc-dot); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
.pc-card-more { font-size: 12px; color: var(--pc-muted); margin-left: 2px; }
.has-text-align-center ~ .pc-card-chips, .has-text-align-center ~ .pc-card-colours,
.wp-block-woocommerce-product-price:has(.has-text-align-center) ~ .pc-card-chips,
.wp-block-woocommerce-product-price:has(.has-text-align-center) ~ .pc-card-colours { justify-content: center; }
.pc-finance { font-size: 13px; color: var(--pc-muted); margin: 4px 0 8px; }

/* Grids: 2 per row on phones, 3 on tablets */
@media (max-width: 599.98px) {
	ul.wc-block-product-template,
	ul.wc-block-product-template.is-flex-container,
	ul.wc-block-product-template.wc-block-product-template__responsive {
		display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px 12px !important;
	}
	ul.wc-block-product-template > li { width: auto !important; margin: 0 !important; max-width: none !important; }
	.wc-block-product .wp-block-post-title { font-size: 14px !important; margin-bottom: 6px !important; }
	.wc-block-product .wc-block-components-product-price { font-size: 14px !important; }
	.wc-block-product .wp-block-button__link, .wc-block-product .wc-block-components-product-button__button {
		width: 100% !important; align-self: stretch; justify-content: center; font-size: 13px !important; padding: 10px 8px !important; min-height: 42px;
	}
	.wc-block-product .wc-block-components-product-button { align-items: stretch !important; }
	.wc-block-product .wc-block-components-product-image .wc-block-components-product-sale-badge { font-size: 11px !important; padding: 3px 8px !important; top: 6px !important; left: 6px !important; }
}
@media (min-width: 600px) and (max-width: 1023.98px) {
	ul.wc-block-product-template,
	ul.wc-block-product-template.is-flex-container,
	ul.wc-block-product-template.wc-block-product-template__responsive {
		display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 26px 16px !important;
	}
	ul.wc-block-product-template > li { width: auto !important; margin: 0 !important; max-width: none !important; }
}
@media (min-width: 1024px) {
	.wc-block-product .wc-block-components-product-image img { transition: transform .35s ease; }
	.wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.03); }
}

/* Shop toolbar (results count + sorting) wraps instead of overflowing */
.wp-block-woocommerce-product-results-count + .wp-block-woocommerce-catalog-sorting,
.wc-block-catalog-sorting select, .woocommerce-ordering select { max-width: 100%; }
@media (max-width: 599.98px) {
	main .wp-block-group.alignwide:has(> .wp-block-woocommerce-catalog-sorting) { flex-wrap: wrap !important; gap: 8px; }
	.woocommerce-ordering select { min-height: 44px; }
}

/* Quick category buttons */
.pc-cats {
	display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 12px; margin: 6px auto 8px;
	scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.pc-cats::-webkit-scrollbar { display: none; }
.pc-cat {
	flex: 0 0 auto; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--pc-line);
	background: #fff; color: var(--pc-dark); text-decoration: none; font-size: 14px; font-weight: 600; white-space: nowrap;
}
.pc-cat:hover { border-color: var(--pc-dark); }
.pc-cat.is-current { background: var(--pc-dark); border-color: var(--pc-dark); color: #fff; }

/* ==========================================================================
   5. Single product page
   ========================================================================== */
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery .wp-post-image {
	aspect-ratio: var(--pc-card-ratio); object-fit: contain; background: var(--pc-img-bg); width: 100% !important; height: auto !important; max-width: none !important;
}
/* Natural shape: every photo uses the full width of the gallery – no small photos */
.pc-gallery-natural .woocommerce-product-gallery__image img,
.pc-gallery-natural .woocommerce-product-gallery .wp-post-image { aspect-ratio: auto; object-fit: contain; max-height: 80vh; }
.woocommerce-product-gallery__image > a { display: block; line-height: 0; }
.pc-gallery-wide .wp-block-woocommerce-product-image-gallery,
.pc-gallery-wide .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery { max-width: none !important; width: 100% !important; }
@media (min-width: 1024px) {
	.pc-gallery-wide.single-product main .wp-block-columns.alignwide > .wp-block-column:first-child:has(.wp-block-woocommerce-product-image-gallery) { flex-basis: 55% !important; flex-grow: 0; }
	.pc-gallery-wide.single-product main .wp-block-columns.alignwide > .wp-block-column:first-child:has(.wp-block-woocommerce-product-image-gallery) + .wp-block-column { flex-basis: 45% !important; min-width: 0; }
}
.woocommerce-product-gallery { border-radius: var(--pc-radius); }
.woocommerce-product-gallery .flex-viewport { border-radius: var(--pc-radius); background: var(--pc-img-bg); }
.woocommerce-product-gallery .flex-control-thumbs { display: flex !important; gap: 8px; margin: 10px 0 0 !important; padding: 0 !important; overflow-x: auto; scrollbar-width: none; }
.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 72px; width: 72px !important; margin: 0 !important; float: none !important; list-style: none; }
.woocommerce-product-gallery .flex-control-thumbs img {
	aspect-ratio: 1 / 1; object-fit: cover !important; background: var(--pc-img-bg); border-radius: 8px;
	border: 2px solid transparent; opacity: .7; width: 100% !important; height: auto !important;
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs img:hover { border-color: var(--pc-dark); opacity: 1; }
.woocommerce-product-gallery__trigger { z-index: 5; }

.single-product .wp-block-post-title { line-height: 1.2; }
.wp-block-woocommerce-product-image-gallery { position: relative; }
.wp-block-woocommerce-product-image-gallery > .onsale { position: absolute !important; top: 12px !important; left: 12px !important; right: auto !important; margin: 0 !important; }
.single-product span.onsale, .pc-save-badge {
	background: #b3261e; color: #fff; border-radius: 999px; padding: 5px 12px; font-size: 13px; font-weight: 700;
	min-height: 0; min-width: 0; line-height: 1.2; z-index: 6;
}
[data-pc-main-price] .wc-block-components-product-price { font-size: clamp(22px, 5vw, 28px) !important; font-weight: 700; }
[data-pc-main-price] del { font-weight: 400; opacity: .55; font-size: .7em; margin-right: 6px; }
[data-pc-main-price] ins { text-decoration: none; }

@media (max-width: 781.98px) {
	.single-product main .wp-block-columns { flex-direction: column; }
	.single-product main .wp-block-column { flex-basis: 100% !important; width: 100%; }
	.single-product .wp-block-post-title { font-size: clamp(22px, 6vw, 30px) !important; }
	.woocommerce-breadcrumb { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* Variation table → stacked rows */
form.cart table.variations, form.cart table.variations tbody, form.cart table.variations tr,
form.cart table.variations th, form.cart table.variations td { display: block; width: 100%; border: 0; padding: 0; text-align: left; }
form.cart table.variations tr { margin-bottom: 16px; }
form.cart table.variations th.label, form.cart table.variations td.label { padding-bottom: 8px; }
form.cart table.variations label { font-weight: 700; font-size: 15px; }
form.cart table.variations .pc-chosen { font-weight: 400; color: var(--pc-muted); }
form.cart .reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--pc-muted); }
form.cart select[data-pc-hidden] {
	position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important;
	pointer-events: none !important; clip: rect(0 0 0 0); margin: 0 !important; padding: 0 !important; border: 0 !important;
}
.pc-swatch-wrap { position: relative; }

/* Size / seater buttons */
.pc-swatches { display: grid; gap: 8px; }
.pc-swatches--pill { grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); }
.pc-swatch {
	appearance: none; -webkit-appearance: none; cursor: pointer; font: inherit; color: var(--pc-text);
	background: #fff; border: 1.5px solid var(--pc-line); border-radius: 12px;
	padding: 11px 12px; text-align: left; display: flex; flex-direction: column; gap: 2px;
	min-height: 52px; position: relative; transition: border-color .15s, box-shadow .15s, background .15s;
}
.pc-swatch:hover { border-color: var(--pc-dark); }
.pc-swatch:focus-visible { outline: 3px solid var(--pc-accent); outline-offset: 2px; }
.pc-swatch__label { font-weight: 700; font-size: 14.5px; line-height: 1.2; }
.pc-swatch__sub { font-size: 12px; color: var(--pc-muted); line-height: 1.25; }
.pc-swatch__price { font-size: 13px; color: var(--pc-accent); font-weight: 700; }
.pc-swatch__price:empty { display: none; }
.pc-swatch.is-selected { border-color: var(--pc-dark); background: var(--pc-cream); box-shadow: inset 0 0 0 1px var(--pc-dark); }
.pc-swatch.is-selected::after {
	content: ""; position: absolute; top: 8px; right: 8px; width: 18px; height: 18px; border-radius: 50%;
	background: var(--pc-dark) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / 13px no-repeat;
}
.pc-swatch.is-unavailable { opacity: .45; }
.pc-swatch.is-unavailable .pc-swatch__label { text-decoration: line-through; }

/* Colour dots */
.pc-swatches--colour { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 10px 6px; }
.pc-swatches--colour .pc-swatch {
	border: 0; background: transparent; padding: 4px 2px; align-items: center; text-align: center; min-height: 0; gap: 6px; box-shadow: none;
}
.pc-swatches--colour .pc-swatch.is-selected { background: transparent; box-shadow: none; }
.pc-swatches--colour .pc-swatch.is-selected::after { display: none; }
.pc-swatch__dot {
	width: 40px; height: 40px; border-radius: 50%; background: var(--pc-dot);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18), 0 0 0 3px #fff, 0 0 0 4px var(--pc-line); transition: box-shadow .15s;
}
.pc-swatches--colour .pc-swatch__label { font-size: 12px; font-weight: 600; }
.pc-swatches--colour .pc-swatch:hover .pc-swatch__dot { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18), 0 0 0 3px #fff, 0 0 0 4px var(--pc-muted); }
.pc-swatches--colour .pc-swatch.is-selected .pc-swatch__dot { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18), 0 0 0 3px #fff, 0 0 0 5px var(--pc-dark); }

.pc-has-swatches .woocommerce-variation-price { display: none; }
.pc-choose-msg { background: #fff4e5; border: 1px solid #f0c27b; color: #6b4300; padding: 10px 12px; border-radius: 10px; font-size: 14px; margin: 0 0 12px; }

/* Quantity + Add to basket + Buy now */
form.cart:not(.variations_form), form.cart .woocommerce-variation-add-to-cart {
	display: flex !important; flex-wrap: wrap; gap: 10px; align-items: stretch;
}
form.cart .quantity { flex: 0 0 92px; margin: 0 !important; }
form.cart .quantity .qty { width: 100% !important; height: 100%; min-height: 52px; font-size: 16px; text-align: center; border-radius: 999px; border: 1.5px solid var(--pc-line); }
form.cart .single_add_to_cart_button {
	flex: 1 1 180px; min-height: 52px; border-radius: 999px !important; font-weight: 700 !important; font-size: 16px !important;
	background: var(--pc-dark) !important; color: #fff !important; margin: 0 !important; float: none !important;
}
form.cart .single_add_to_cart_button.disabled { opacity: .55; }
.pc-buy-now {
	flex: 1 1 100%; min-height: 52px; border-radius: 999px !important; font-weight: 700 !important; font-size: 16px !important;
	background: var(--pc-accent) !important; color: #fff !important; border: 0 !important; margin: 0 !important; cursor: pointer;
}
.pc-buy-now:hover, form.cart .single_add_to_cart_button:hover { filter: brightness(1.08); }

/* Delivery, trust points, WhatsApp question */
.pc-after-form { margin: 18px 0 8px; display: grid; gap: 12px; }
.pc-delivery, .pc-dims { display: flex; gap: 10px; align-items: center; margin: 0; font-weight: 600; color: var(--pc-ok); }
.pc-dims { color: var(--pc-text); font-weight: 500; }
.pc-dims[hidden] { display: none; }
.pc-trust {
	list-style: none; margin: 0; padding: 14px 16px; border-radius: var(--pc-radius);
	background: var(--pc-soft); display: grid; gap: 8px; font-size: 14px;
}
.pc-trust li { display: flex; gap: 9px; align-items: center; }
.pc-trust .pc-tick { color: var(--pc-ok); }
@media (min-width: 600px) and (max-width: 781.98px) { .pc-trust { grid-template-columns: 1fr 1fr; } }
.pc-ask { display: inline-flex; gap: 8px; align-items: center; font-size: 14px; color: var(--pc-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Description / reviews tabs scroll sideways on phones */
.woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; gap: 4px; padding-left: 0 !important; }
.woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
.woocommerce-tabs ul.tabs li a { padding: 12px 14px !important; display: block; white-space: nowrap; }
.woocommerce-Tabs-panel { overflow-wrap: anywhere; }

/* Sticky Add-to-basket bar (phones + iPad) */
.pc-sticky {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: flex; align-items: center; gap: 12px;
	padding: 10px var(--pc-gutter) calc(10px + env(safe-area-inset-bottom)); background: #fff;
	box-shadow: 0 -8px 24px rgba(0, 0, 0, .12); transform: translateY(110%); transition: transform .25s ease; visibility: hidden;
}
.pc-sticky.is-visible { transform: none; visibility: visible; }
.pc-sticky__info { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.pc-sticky__title { font-size: 13px; color: var(--pc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-sticky__price { font-weight: 800; font-size: 17px; }
.pc-sticky__price del { font-weight: 400; opacity: .55; font-size: .8em; }
.pc-sticky__price ins { text-decoration: none; }
.pc-sticky__price .screen-reader-text { position: absolute; clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; }
.pc-sticky__btn {
	flex: 0 0 auto; min-height: 48px; padding: 0 22px !important; border-radius: 999px !important;
	background: var(--pc-dark) !important; color: #fff !important; font-weight: 700 !important; border: 0 !important;
}
@media (min-width: 1024px) { .pc-sticky { display: none; } }
body.pc-sticky-on { padding-bottom: 76px; }

/* ==========================================================================
   6. Cart, checkout, forms
   ========================================================================== */
@media (max-width: 1023.98px) {
	input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"],
	input[type="password"], input[type="url"], select, textarea { font-size: max(16px, 1em) !important; }
}
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	min-height: 52px; border-radius: 999px !important; font-weight: 700;
}
@media (max-width: 599.98px) {
	.wp-block-woocommerce-cart.alignwide, .wp-block-woocommerce-checkout.alignwide { margin-left: 0; margin-right: 0; }
	.wc-block-components-sidebar-layout { gap: 18px; }
	.wc-block-cart-items__row { padding: 14px 0 !important; }
}

/* ==========================================================================
   7. Footer
   ========================================================================== */
/* Space between the last section (e.g. Related products) and the footer */
body.single-product main#wp--skip-link--target, body.tax-product_cat main#wp--skip-link--target, body.tax-product_tag main#wp--skip-link--target,
body.post-type-archive-product main#wp--skip-link--target, body.woocommerce-cart main#wp--skip-link--target,
body.woocommerce-checkout main#wp--skip-link--target, body.woocommerce-account main#wp--skip-link--target,
body.search main#wp--skip-link--target { padding-bottom: var(--pc-footer-gap) !important; margin-bottom: 0 !important; }
.wp-site-blocks > footer, .wp-site-blocks > .site-footer { margin-block-start: 0 !important; }
.single-product main .wp-block-woocommerce-product-collection { margin-top: clamp(32px, 5vw, 64px); }
.single-product main .wp-block-woocommerce-product-collection h2 { margin-bottom: 18px; }
@media (max-width: 781.98px) {
	footer .wp-block-columns { text-align: left; }
	footer .wp-block-column { flex-basis: 100% !important; }
	footer .hostinger-reach-block-form-fields, footer .hostinger-reach-block-form-field input { width: 100%; }
	footer .wp-block-navigation .wp-block-navigation-item__content { padding: 6px 0; display: inline-block; }
}

/* ==========================================================================
   8. Floating WhatsApp button
   ========================================================================== */
.pc-wa {
	position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 65;
	display: inline-flex; align-items: center; gap: 8px; background: #25d366; color: #fff !important;
	border-radius: 999px; padding: 12px; box-shadow: 0 8px 20px rgba(0, 0, 0, .2); text-decoration: none; font-weight: 700;
	transition: bottom .25s ease, transform .2s ease;
}
.pc-wa:hover { transform: translateY(-2px); }
.pc-wa__label { display: none; padding-right: 6px; }
@media (min-width: 1024px) { .pc-wa__label { display: inline; } .pc-wa { padding: 12px 16px 12px 12px; } }
body.pc-sticky-on .pc-wa { bottom: calc(86px + env(safe-area-inset-bottom)); }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	.pc-usp__item.is-active, .pc-sticky, .pc-wa, .wc-block-product .wc-block-components-product-image img { animation: none; transition: none; }
}

/* ==========================================================================
   9. Homepage sections: New Arrivals, Deal of the Month, Best Sellers, banners
   ========================================================================== */
.pc-home { --pc-wrap: var(--wp--style--global--wide-size, 1200px); padding: clamp(36px, 5vw, 72px) 0 clamp(12px, 3vw, 32px); }
.entry-content > .pc-home.alignfull, .pc-home { margin-top: 0 !important; margin-bottom: 0 !important; }
.pc-hs, .pc-banner, .pc-banners-pair {
	width: min(var(--pc-wrap), calc(100% - 2 * var(--wp--style--root--padding-left, 24px)));
	margin: 0 auto clamp(44px, 6vw, 84px) !important;
}
.pc-hs__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 22px; }
.pc-hs__title { margin: 0 !important; font-size: clamp(24px, 3.2vw, 36px) !important; line-height: 1.15 !important; color: var(--pc-text); }
.pc-hs__sub { margin: 6px 0 0 !important; color: var(--pc-muted); font-size: 15px; }
.pc-hs__tools { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.pc-hs__all { font-weight: 700; font-size: 15px; color: var(--pc-dark); text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 2px; white-space: nowrap; }
.pc-hs__all:hover { color: var(--pc-accent); }
.pc-hs__arrows { display: inline-flex; gap: 6px; }
.pc-hs__arrows[hidden] { display: none; }
.pc-hs__arrow {
	width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--pc-line); background: #fff; color: var(--pc-dark);
	font-size: 24px; line-height: 1; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0 0 3px;
}
.pc-hs__arrow:hover:not(:disabled) { border-color: var(--pc-dark); }
.pc-hs__arrow:disabled { opacity: .35; cursor: default; }

.pc-countdown { display: inline-flex; align-items: center; gap: 8px; background: var(--pc-sale); color: #fff; border-radius: 999px; padding: 7px 14px; font-weight: 700; font-size: 14px; }
.pc-countdown__label { font-weight: 500; opacity: .9; }
.pc-countdown__time { font-variant-numeric: tabular-nums; letter-spacing: .02em; }

.pc-grid {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
	display: grid; grid-template-columns: repeat(var(--pc-hs-cols, 4), minmax(0, 1fr)); gap: 28px 20px;
}
@media (max-width: 1023.98px) { .pc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 16px; } }
@media (max-width: 599.98px) { .pc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; } }

.pc-card { display: flex; flex-direction: column; min-width: 0; margin: 0 !important; }
.pc-card__media {
	position: relative; display: block; overflow: hidden; border-radius: var(--pc-radius); background: var(--pc-img-bg);
	line-height: 0; margin-bottom: 12px;
}
.pc-card__media img, .pc-card__img {
	display: block; width: 100% !important; height: auto !important; max-width: none !important; margin: 0 !important;
	aspect-ratio: var(--pc-card-ratio); object-fit: var(--pc-card-fit); object-position: center; transition: transform .35s ease;
}
@media (hover: hover) { .pc-card:hover .pc-card__media img { transform: scale(1.04); } }
.pc-card__badge, .pc-tag {
	position: absolute; top: 10px; left: 10px; z-index: 2; max-width: calc(100% - 20px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	background: var(--pc-sale); color: #fff; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700; line-height: 1.3;
}
.pc-tag { left: auto; right: 10px; background: var(--pc-dark); }
.pc-card__body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.pc-card__title { font-size: 16px !important; line-height: 1.3 !important; margin: 0 0 6px !important; font-weight: 600; }
.pc-card__title a { color: var(--pc-text); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pc-card__title a:hover { color: var(--pc-accent); }
.pc-card__price { font-weight: 700; font-size: 16px; margin: 0 0 8px; color: var(--pc-text); }
.pc-card__price del { opacity: .5; font-weight: 400; font-size: .85em; margin-right: 4px; }
.pc-card__price ins { text-decoration: none; color: var(--pc-sale); }
.pc-card__btn {
	margin-top: auto !important; display: flex !important; align-items: center; justify-content: center; text-align: center;
	min-height: 44px; padding: 10px 14px !important; border-radius: 999px !important; font-weight: 700 !important; font-size: 14px !important;
	background: transparent !important; color: var(--pc-dark) !important; border: 1.5px solid var(--pc-dark) !important; text-decoration: none !important;
}
.pc-card__btn:hover { background: var(--pc-dark) !important; color: #fff !important; }
.pc-card__btn.loading { opacity: .6; }
.pc-card__btn.added::after { content: " ✓"; }
.pc-card .added_to_cart { display: block; text-align: center; font-size: 13px; margin-top: 6px; color: var(--pc-dark); }
.pc-hs--deal .pc-card__media { box-shadow: inset 0 0 0 2px transparent; }

/* Phones: each section is a swipe row */
@media (max-width: 781.98px) {
	.pc-home--swipe .pc-grid {
		display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 2px 2px 10px !important;
		margin: 0 calc(-1 * var(--wp--style--root--padding-left, 16px)) !important; padding-left: var(--wp--style--root--padding-left, 16px) !important;
		scroll-padding-left: var(--wp--style--root--padding-left, 16px); scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.pc-home--swipe .pc-grid::-webkit-scrollbar { display: none; }
	.pc-home--swipe .pc-grid > .pc-card { flex: 0 0 min(68vw, 260px); scroll-snap-align: start; }
	.pc-home--swipe .pc-grid > .pc-card:last-child { margin-right: var(--wp--style--root--padding-left, 16px) !important; }
	.pc-hs__head { align-items: flex-start; margin-bottom: 16px; }
	.pc-hs__tools { width: 100%; justify-content: space-between; }
	.pc-card__title { font-size: 14.5px !important; }
	.pc-card__price { font-size: 15px; }
}
@media (min-width: 782px) { .pc-hs.is-scrollable .pc-hs__arrows { display: inline-flex; } }

/* Banners */
.pc-banner {
	position: relative; overflow: hidden; border-radius: calc(var(--pc-radius) + 6px); min-height: clamp(260px, 32vw, 420px);
	display: flex; align-items: center; isolation: isolate;
	background: linear-gradient(120deg, var(--pc-dark) 0%, var(--pc-accent) 100%); color: #fff;
}
.pc-banner--2.no-image { background: linear-gradient(120deg, var(--pc-accent) 0%, var(--pc-dark) 100%); }
.pc-banner__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; z-index: -2; margin: 0 !important; }
.pc-banner.has-image::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,0) 80%); }
.pc-banner__inner { padding: clamp(28px, 5vw, 64px); max-width: 620px; }
.pc-banner__kicker { margin: 0 0 8px !important; text-transform: uppercase; letter-spacing: .14em; font-size: 12.5px; font-weight: 700; opacity: .9; color: #fff; }
.pc-banner__title { margin: 0 0 10px !important; font-size: clamp(26px, 3.6vw, 44px) !important; line-height: 1.1 !important; color: #fff !important; }
.pc-banner__text { margin: 0 0 20px !important; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.5; color: rgba(255,255,255,.92); }
.pc-banner__btn {
	display: inline-flex; align-items: center; min-height: 48px; padding: 0 26px; border-radius: 999px; background: #fff; color: var(--pc-dark) !important;
	font-weight: 700; text-decoration: none !important; transition: transform .2s ease;
}
.pc-banner__btn:hover { transform: translateY(-2px); }
.pc-banners-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pc-banners-pair .pc-banner { width: auto; margin: 0 !important; min-height: clamp(240px, 26vw, 360px); }
@media (max-width: 781.98px) {
	.pc-banners-pair { grid-template-columns: 1fr; }
	.pc-banner { min-height: 300px; align-items: flex-end; }
	.pc-banner.has-image::before { background: linear-gradient(0deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.25) 65%, rgba(0,0,0,.05) 100%); }
	.pc-banner__inner { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) { .pc-card__media img, .pc-banner__btn { transition: none; } }
