/* =============================================================
   PartyCrazy — Premium WooCommerce Theme Stylesheet
   ============================================================= */

/* ---------- 1. Design Tokens ---------- */
:root {
	--pc-purple-900: #2a0f3d;
	--pc-purple-800: #3b1358;
	--pc-purple-700: #4d1a72;
	--pc-purple-600: #6b21a8;
	--pc-magenta: #c0288f;
	--pc-magenta-light: #e94db0;
	--pc-berry: #8f1053;
	--pc-berry-dark: #6e0c40;
	--pc-gold: #d4a94c;
	--pc-gold-light: #f0cf7f;
	--pc-cream: #fbf6ef;
	--pc-cream-dark: #f3e9db;
	--pc-ink: #221933;
	--pc-ink-soft: #5c4f70;
	--pc-white: #ffffff;
	--pc-success: #1e9e6a;

	--pc-gradient-brand: linear-gradient(135deg, var(--pc-purple-700) 0%, var(--pc-magenta) 100%);
	--pc-gradient-gold: linear-gradient(135deg, var(--pc-gold) 0%, var(--pc-gold-light) 100%);
	--pc-gradient-overlay: linear-gradient(180deg, rgba(42,15,61,.15) 0%, rgba(42,15,61,.85) 100%);

	--pc-font-heading: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--pc-font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	--pc-radius-sm: 10px;
	--pc-radius-md: 18px;
	--pc-radius-lg: 28px;
	--pc-radius-pill: 999px;

	--pc-shadow-sm: 0 4px 16px rgba(42, 15, 61, .08);
	--pc-shadow-md: 0 12px 32px rgba(42, 15, 61, .12);
	--pc-shadow-lg: 0 24px 64px rgba(42, 15, 61, .18);

	--pc-container: 1440px;
	--pc-transition: 220ms cubic-bezier(.4, 0, .2, 1);
}

/* ---------- 2. Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; max-width: 100%; overflow-x: clip; }
body {
	margin: 0;
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
	font-family: var(--pc-font-body);
	color: var(--pc-ink);
	background: var(--pc-white);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 {
	font-family: var(--pc-font-heading);
	color: var(--pc-purple-900);
	line-height: 1.2;
	margin: 0 0 .5em;
}
h1 { font-size: clamp(2rem, 4vw, 3.1rem); font-weight: 700; letter-spacing: -.02em; }
h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 700; letter-spacing: -.01em; }
h3 { font-size: 1.15rem; font-weight: 600; }
p { margin: 0 0 1em; color: var(--pc-ink-soft); }
button { font-family: inherit; cursor: pointer; background: none; border: none; }
input, select, textarea { font-family: inherit; }
.site, .site-content, .pc-home { width: 100%; max-width: 100%; min-width: 0; overflow-x: clip; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.skip-link {
	position: fixed; top: -100px; left: 1rem; z-index: 10000;
	background: var(--pc-purple-900); color: var(--pc-white);
	padding: .75rem 1.25rem; border-radius: var(--pc-radius-sm);
	transition: top var(--pc-transition);
}
.skip-link:focus { top: 1rem; }

:focus-visible {
	outline: 3px solid var(--pc-gold);
	outline-offset: 2px;
}

.pc-container { width: calc(100% - 2.5rem); max-width: var(--pc-container); margin: 0 auto; padding: 0; }

@media (min-width: 700px) {
	.pc-container { width: calc(100% - 4rem); }
}

@media (min-width: 1000px) {
	.pc-container { width: calc(100% - 6rem); }
}
.pc-section { padding: clamp(2.5rem, 5vw, 4.5rem) 0; }
.pc-section__head { max-width: 640px; margin-bottom: 2rem; }
.pc-section__head--center { max-width: 720px; margin-left: auto; margin-right: auto; text-align: center; }
.pc-section__head p { margin: 0; }

/* ---------- 3. Buttons ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .9rem 1.75rem;
	border-radius: var(--pc-radius-pill);
	font-weight: 600; font-size: .95rem;
	transition: transform var(--pc-transition), box-shadow var(--pc-transition), background var(--pc-transition);
	white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn--primary { background: var(--pc-gradient-brand); color: var(--pc-white); box-shadow: var(--pc-shadow-sm); }
.btn--primary:hover { box-shadow: var(--pc-shadow-md); }
.btn--gold { background: var(--pc-gradient-gold); color: var(--pc-purple-900); box-shadow: var(--pc-shadow-sm); }
.btn--whatsapp { background: #25d366; color: var(--pc-white); }
.btn--outline { background: transparent; color: var(--pc-purple-700); border: 2px solid var(--pc-purple-700); padding: .8rem 1.6rem; }
.btn--outline:hover { background: var(--pc-purple-700); color: var(--pc-white); }
.btn--outline-light { background: transparent; color: var(--pc-white); border: 2px solid rgba(255,255,255,.7); padding: .8rem 1.6rem; }
.btn--outline-light:hover { background: rgba(255,255,255,.15); }
.btn--sm { padding: .55rem 1rem; font-size: .82rem; }

/* ---------- 5. Header ---------- */
.site-title-fallback { font-family: var(--pc-font-heading); font-size: 1.55rem; font-weight: 800; color: var(--pc-magenta); letter-spacing: -.02em; }

.pc-search-form { position: relative; max-width: 420px; }
.pc-search-form__input {
	width: 100%; padding: .7rem 3rem .7rem 1.2rem;
	border: 1.5px solid var(--pc-magenta); border-radius: var(--pc-radius-sm);
	background: var(--pc-white); font-size: .92rem; color: var(--pc-ink);
	transition: border-color var(--pc-transition), box-shadow var(--pc-transition);
}
.pc-search-form__input::placeholder { color: #a89bb5; }
.pc-search-form__input:focus { border-color: var(--pc-magenta); box-shadow: 0 0 0 4px rgba(192,40,143,.1); outline: none; }
.pc-search-form__submit {
	position: absolute; right: .35rem; top: 50%; transform: translateY(-50%);
	width: 2.3rem; height: 2.3rem; border-radius: 8px;
	display: flex; align-items: center; justify-content: center;
	background: transparent; color: var(--pc-magenta);
	transition: background var(--pc-transition);
}
.pc-search-form__submit:hover { background: rgba(192,40,143,.08); }
.pc-search-results {
	position: absolute; top: calc(100% + .5rem); left: 0; right: 0;
	background: var(--pc-white); border-radius: var(--pc-radius-md); box-shadow: var(--pc-shadow-lg);
	max-height: 360px; overflow-y: auto; z-index: 60; padding: .5rem;
}
.pc-search-results a { display: flex; align-items: center; gap: .75rem; padding: .5rem .6rem; border-radius: var(--pc-radius-sm); }
.pc-search-results a:hover { background: var(--pc-cream); }
.pc-search-results img { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; }
.pc-search-results__title { font-weight: 600; font-size: .88rem; }
.pc-search-results__price { font-size: .8rem; color: var(--pc-magenta); }
.pc-search-results__empty { padding: .75rem; color: var(--pc-ink-soft); font-size: .88rem; }

.cart-count {
	position: absolute; top: -8px; right: -10px;
	background: var(--pc-magenta); color: var(--pc-white);
	font-size: .65rem; font-weight: 700; min-width: 18px; height: 18px;
	border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0 3px;
}

.pc-city-selector__toggle {
	display: flex; align-items: center; gap: .4rem;
	background: #ffe864; color: var(--pc-ink);
	font-size: .85rem; font-weight: 700;
	padding: .55rem 1rem; border-radius: var(--pc-radius-sm);
	transition: filter var(--pc-transition), transform var(--pc-transition);
}
.pc-city-selector__toggle:hover { filter: brightness(.96); transform: translateY(-1px); }
.pc-city-selector__toggle svg:first-child { color: var(--pc-magenta); }

.pc-mobile-toggle { display: none; flex-direction: column; gap: 5px; width: 26px; }
.pc-mobile-toggle span { display: block; height: 2px; width: 100%; background: var(--pc-purple-800); border-radius: 2px; transition: transform var(--pc-transition), opacity var(--pc-transition); }
.pc-mobile-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.pc-mobile-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.pc-mobile-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- 6. Mega Menu Category Nav ---------- */
.pc-category-nav { background: var(--pc-white); border-bottom: 1px solid #f0eef3; display: none; }
.pc-category-nav__list { display: flex; justify-content: flex-start; gap: .25rem; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.pc-category-nav__list::-webkit-scrollbar { display: none; }
.pc-category-nav__list > li { flex-shrink: 0; }
.pc-category-nav__list > li { position: relative; }
.nav-top-link {
	display: flex; align-items: center; gap: .35rem;
	padding: .85rem .9rem; font-weight: 600; font-size: .9rem; color: var(--pc-ink);
	transition: color var(--pc-transition);
}
.nav-top-link:hover, .nav-top-link:focus { color: var(--pc-magenta); }
.chevron { transition: transform var(--pc-transition); }
.has-mega-menu:hover > .nav-top-link .chevron,
.has-mega-menu:focus-within > .nav-top-link .chevron { transform: rotate(180deg); }

.mega-menu-panel {
	position: absolute; top: 100%; left: 0; transform: translateY(10px);
	background: var(--pc-white); border-radius: var(--pc-radius-md); box-shadow: var(--pc-shadow-lg);
	min-width: 280px; padding: .75rem; z-index: 100;
	opacity: 0; visibility: hidden; pointer-events: none;
	transition: opacity var(--pc-transition), transform var(--pc-transition), visibility var(--pc-transition);
}
.has-mega-menu:hover > .mega-menu-panel,
.has-mega-menu:focus-within > .mega-menu-panel {
	opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
}
.mega-menu-list { display: grid; grid-template-columns: repeat(2, minmax(160px, 1fr)); gap: .1rem .5rem; }
/* Theme Decoration carries 15 styles + a view-all row: spread them wider. */
.mega-menu-list:has(> li:nth-child(9)) { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
.nav-sub-link--all { color: var(--pc-magenta); font-weight: 650; }
.nav-sub-link { display: block; padding: .55rem .75rem; border-radius: var(--pc-radius-sm); font-size: .86rem; color: var(--pc-ink-soft); transition: background var(--pc-transition), color var(--pc-transition); }
.nav-sub-link:hover { background: var(--pc-cream); color: var(--pc-magenta); }

.pc-mobile-menu { display: none; background: var(--pc-white); border-top: 1px solid var(--pc-cream-dark); }
.pc-mobile-menu__list .nav-top-link,

/* ---------- 8. Horizontal Scroll / Carousels ---------- */
.pc-scroll-track {
	display: flex; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x proximity;
	padding: .5rem 1.25rem 1.5rem; scrollbar-width: thin;
}
.pc-scroll-track::-webkit-scrollbar { height: 6px; }
.pc-scroll-track::-webkit-scrollbar-thumb { background: var(--pc-cream-dark); border-radius: 4px; }
.pc-scroll-arrow {
	display: none; position: absolute; top: 45%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 50%; background: var(--pc-white);
	box-shadow: var(--pc-shadow-md); font-size: 1.4rem; color: var(--pc-purple-800);
	align-items: center; justify-content: center; z-index: 5;
	transition: background var(--pc-transition), color var(--pc-transition);
}
.pc-scroll-arrow:hover { background: var(--pc-gradient-brand); color: var(--pc-white); }
.pc-scroll-arrow--prev { left: 0; }
.pc-scroll-arrow--next { right: 0; }

/* Occasion cards */
.occasion-card { scroll-snap-align: start; flex: 0 0 220px; display: block; border-radius: var(--pc-radius-lg); overflow: hidden; box-shadow: var(--pc-shadow-sm); transition: transform var(--pc-transition), box-shadow var(--pc-transition); }
.occasion-card:hover { transform: translateY(-6px); box-shadow: var(--pc-shadow-md); }
.occasion-card__media { display: block; aspect-ratio: 4/5; overflow: hidden; }
.occasion-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.occasion-card:hover .occasion-card__image { transform: scale(1.08); }
.occasion-card__title { display: block; padding: .9rem; text-align: center; font-weight: 600; background: var(--pc-white); color: var(--pc-purple-900); }

/* ---------- 10. Product Cards (white card, thin border — PDF style) ---------- */
.pc-product-track .pc-product-card { flex: 0 0 300px; scroll-snap-align: start; }
.pc-product-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	box-sizing: border-box;
	border: 1px solid rgba(94, 57, 72, .1);
	border-radius: 20px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 8px 28px rgba(59, 30, 42, .075), 0 1px 2px rgba(59, 30, 42, .04);
	transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}
.pc-product-card:hover { transform: translateY(-5px); border-color: rgba(181, 31, 77, .2); box-shadow: 0 18px 42px rgba(72, 31, 48, .14), 0 2px 6px rgba(72, 31, 48, .05); }
.pc-product-card:hover .pc-product-card__image { transform: scale(1.05); }
.pc-stars { display: inline-flex; gap: 1px; }
.pc-star { fill: currentColor; }
.pc-product-card__book:hover,

/* Section heading accent + view-all link */

/* ---------- 10c. Icon Row ---------- */

@media (max-width: 900px) {
	.pc-icon-row__inner { gap: .55rem; }
	.pc-icon-link-card { min-height: 140px; border-radius: 18px; }
	.pc-icon-link-card__visual { width: 86px; height: 86px; }
}

@media (max-width: 600px) {
	.pc-icon-row { padding: .8rem 0 1rem; }
	.pc-icon-row .pc-container { width: calc(100% - 1rem); }
	.pc-icon-row__inner { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .2rem; }
	.pc-icon-link-card { min-height: 96px; gap: .25rem; padding: .3rem .05rem .45rem; border-color: transparent; border-radius: 14px; background: transparent; box-shadow: none; }
	.pc-icon-link-card:hover { transform: none; border-color: transparent; box-shadow: none; }
	.pc-icon-link-card__visual { width: clamp(54px, 16vw, 64px); height: clamp(54px, 16vw, 64px); }
	.pc-icon-link-card__halo { inset: 6px; }
	.pc-icon-link-card__icon { width: 48px; height: 48px; border-radius: 35%; }
	.pc-icon-link-card__icon svg { width: 25px; height: 25px; }
	.pc-icon-link-card__label { width: 100%; font-size: clamp(.54rem, 2.45vw, .67rem); letter-spacing: -.015em; }
	.pc-icon-link-card__arrow { display: none; }
}

/* ---------- 10i. YouTube Shorts ---------- */
.pc-youtube-short__iframe { display: block; width: 100%; height: 100%; border: 0; background: #000; }

/* ---------- 15. Gallery ---------- */
.pc-gallery__tab { padding: .55rem 1.1rem; border-radius: var(--pc-radius-pill); font-size: .85rem; font-weight: 600; background: var(--pc-white); color: var(--pc-ink-soft); box-shadow: var(--pc-shadow-sm); transition: background var(--pc-transition), color var(--pc-transition); }
.pc-gallery__tab.is-active, .pc-gallery__tab:hover { background: var(--pc-gradient-brand); color: var(--pc-white); }
.pc-gallery__item { break-inside: avoid; margin-bottom: 1.25rem; position: relative; border-radius: var(--pc-radius-md); overflow: hidden; box-shadow: var(--pc-shadow-sm); }
.pc-gallery__item img { width: 100%; transition: transform 500ms ease; }
.pc-gallery__item:hover img { transform: scale(1.06); }
.pc-gallery__item figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: .6rem .9rem; background: linear-gradient(0deg, rgba(42,15,61,.85), transparent); color: var(--pc-white); font-size: .82rem; font-weight: 600; }
.pc-gallery__item.is-hidden { display: none; }

/* ---------- 17. Service Areas ---------- */
.pc-service-areas__chips { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-bottom: 2rem; }
.pc-city-chip { padding: .6rem 1.3rem; border-radius: var(--pc-radius-pill); background: var(--pc-white); box-shadow: var(--pc-shadow-sm); font-weight: 600; font-size: .88rem; color: var(--pc-purple-800); }
.pc-service-areas__cta { text-align: center; }

/* ---------- 20. Single Product ---------- */
.pc-single-product { padding-bottom: 2rem; }
.pc-meta-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.pc-meta-chips li { background: var(--pc-cream); color: var(--pc-purple-800); font-size: .8rem; font-weight: 600; padding: .4rem .9rem; border-radius: var(--pc-radius-pill); }

.pc-booking-fields { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.5rem 0; }
.pc-field-row { display: flex; flex-direction: column; gap: .35rem; flex: 1 1 180px; }
.pc-field-row label, .pc-addons legend { font-size: .82rem; font-weight: 600; color: var(--pc-purple-800); }
.pc-field-row input, .pc-field-row select {
	padding: .7rem .9rem; border: 2px solid var(--pc-cream-dark); border-radius: var(--pc-radius-sm);
	background: var(--pc-white);
}
.pc-addons { flex: 1 1 100%; border: none; padding: 0; margin: 0; }
.pc-addon-check { display: inline-flex; align-items: center; gap: .4rem; margin: .3rem .8rem .3rem 0; font-size: .88rem; }

.pc-faq__list { margin-top: 1.5rem; }
.pc-faq__item { border-bottom: 1px solid var(--pc-cream-dark); }
.pc-faq__question { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 1.1rem 0; font-weight: 600; text-align: left; }
.pc-faq__icon { font-size: 1.3rem; color: var(--pc-magenta); transition: transform var(--pc-transition); }
.pc-faq__question[aria-expanded="true"] .pc-faq__icon { transform: rotate(45deg); }
.pc-faq__answer { padding-bottom: 1.1rem; }
.pc-faq__answer p { margin: 0; }

/* ---------- 21. WooCommerce generic overrides ---------- */
.pc-shop-wrap { padding: 2rem 0 4rem; }
.woocommerce-result-count, .woocommerce-ordering select { font-size: .88rem; }
.woocommerce-ordering select { padding: .5rem .75rem; border-radius: var(--pc-radius-sm); border: 2px solid var(--pc-cream-dark); }

.woocommerce-breadcrumb, .pc-breadcrumbs { font-size: .82rem; color: var(--pc-ink-soft); margin: 1.5rem 0; }
.pc-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .35rem; }
.pc-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .35rem; color: var(--pc-cream-dark); }
.pc-breadcrumbs a:hover { color: var(--pc-magenta); }

.woocommerce div.product .woocommerce-product-gallery { border-radius: var(--pc-radius-lg); overflow: hidden; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--pc-purple-800); font-size: 1.4rem; font-weight: 700; }
.woocommerce div.product .summary { padding-left: 1rem; }
.single_add_to_cart_button.button {
	background: var(--pc-gradient-brand) !important; color: var(--pc-white) !important;
	border-radius: var(--pc-radius-pill) !important; padding: 1rem 2rem !important; font-weight: 700 !important;
	border: none !important;
}
.woocommerce div.product form.cart .quantity { margin-right: 1rem; }
.woocommerce .quantity .qty { border: 2px solid var(--pc-cream-dark); border-radius: var(--pc-radius-sm); padding: .7rem; width: 4rem; }

.woocommerce table.shop_table { border-radius: var(--pc-radius-md); overflow: hidden; border: 1px solid var(--pc-cream-dark); }
.woocommerce #payment div.payment_box { background: var(--pc-cream); border-radius: var(--pc-radius-md); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	border-radius: var(--pc-radius-pill); background: var(--pc-gradient-brand); color: var(--pc-white); border: none; font-weight: 600;
	padding: .8rem 1.5rem;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { opacity: .92; color: var(--pc-white); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-page select {
	border-radius: var(--pc-radius-sm); border: 2px solid var(--pc-cream-dark); padding: .75rem;
}
.woocommerce-checkout #payment { border-radius: var(--pc-radius-md); }
.star-rating { color: var(--pc-gold); }

/* ---------- 22. Blog ---------- */
.pc-blog__layout { display: grid; grid-template-columns: 2.5fr 1fr; gap: 3rem; padding: 3rem 0; }
.pc-blog.no-sidebar .pc-blog__layout, body.no-sidebar .pc-blog__layout { grid-template-columns: 1fr; }
.pc-blog__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.pc-post-card { background: var(--pc-white); border-radius: var(--pc-radius-md); overflow: hidden; box-shadow: var(--pc-shadow-sm); }
.pc-post-card__body { padding: 1.25rem; }
.pc-post-card__date { font-size: .75rem; color: var(--pc-ink-soft); }
.pc-page-title { margin-bottom: 1.5rem; }
.pc-pagination { margin-top: 2rem; text-align: center; }
.pc-comments { max-width: 820px; margin: 0 auto; padding: 2rem 1.25rem; }

/* ---------- 23. 404 ---------- */
.pc-404 .pc-search-form { margin: 1.5rem auto; }

/* ---------- 25. Animations ---------- */
.fade-up { opacity: 0; transform: translateY(24px); transition: opacity 600ms ease, transform 600ms ease; }
.fade-up.is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
	html:not(.pcx-force-motion) *,
	html:not(.pcx-force-motion) *::before,
	html:not(.pcx-force-motion) *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	html:not(.pcx-force-motion) .fade-up { opacity: 1; transform: none; }
}

/* ---------- 26. Responsive ---------- */
@media (min-width: 900px) {
	.pc-category-nav { display: block; }
}

@media (min-width: 721px) {
	.pc-scroll-arrow { display: flex; }
}

@media (max-width: 1080px) {
	.pc-shop__grid, .pc-blog__grid { grid-template-columns: repeat(2, 1fr); }
	.pc-featured-six__grid, .pc-why-choose__grid { grid-template-columns: repeat(2, 1fr); }
	.pc-booking__steps { grid-template-columns: repeat(2, 1fr); row-gap: 2.5rem; }
	.pc-booking__steps::before { display: none; }
	.pc-gallery__masonry { columns: 3 200px; }
}

@media (max-width: 900px) {
	.pc-header__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; padding-top: .65rem; padding-bottom: .65rem; }
	.pc-header__logo { grid-column: 1; min-width: 0; max-width: min(180px, 48vw); }
	.pc-header__logo a { display: block; max-width: 100%; }
	.pc-header__logo img { max-width: 100%; }
	.pc-header__actions { grid-column: 2; justify-self: end; gap: .65rem; margin-left: 0; min-width: 0; }
	.pc-header__search { grid-column: 1 / -1; order: 3; width: 100%; min-width: 0; }
	.pc-search-form { max-width: none; }
	.pc-mobile-toggle { display: flex; }
	.pc-city-selector { display: none; }
	.pc-mobile-menu.is-open { display: block; }
	.pc-blog__layout { grid-template-columns: 1fr; }
	.woocommerce div.product .summary { padding-left: 0; }
}

@media (max-width: 1080px) {
	.pc-collections__grid { grid-template-columns: repeat(2, 1fr); }
	.pc-youtube-short { flex-basis: calc((100% - 3rem) / 4); }
	.pc-trust-stats__grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
	.pc-duo-banners__grid { grid-template-columns: 1fr; }
	.pc-promo__card { grid-template-columns: 1fr; }
	.pc-promo__media { max-height: 240px; }
	.pc-reviews__layout { grid-template-columns: 1fr; text-align: center; }
	.pc-story__grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.pc-collections__grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
	.pc-youtube-shorts { padding: 2.5rem 0; }
	.pc-youtube-shorts__head { display: block; margin-bottom: 1.1rem; }
	.pc-youtube-shorts__eyebrow { margin-bottom: .45rem; font-size: .58rem; }
	.pc-youtube-shorts__head h2 { font-size: 1.4rem; }
	.pc-youtube-shorts__head p { margin-top: .5rem; font-size: .74rem; line-height: 1.6; }
	.pc-youtube-shorts__actions { margin-top: .9rem; }
	.pc-youtube-shorts__channel { min-height: 38px; padding: .55rem .75rem; border-radius: 9px; font-size: .68rem; }
	.pc-youtube-shorts__actions .pc-scroll-arrow { display: none !important; }
	.pc-youtube-shorts__track { width: calc(100vw - 1rem); margin-left: -.5rem; gap: .75rem; padding: .2rem .5rem .8rem; }
	.pc-youtube-short { flex: 0 0 calc((100% - .75rem) / 2.16); min-width: 142px; border-radius: 15px; }
	.pc-youtube-short__play { width: 43px; height: 43px; }
	.pc-youtube-short__number { top: .6rem; left: .6rem; min-width: 30px; height: 23px; font-size: .58rem; }
	.pc-youtube-short__meta { right: .65rem; bottom: .7rem; left: .65rem; }
	.pc-youtube-short__meta strong { font-size: .7rem; }
	.pc-youtube-short__meta > span { font-size: .56rem; }
	.pc-city-links { padding: 2rem 0; }
	.pc-city-links__inner { width: calc(100% - 1rem); padding: 1.25rem .8rem .85rem; border-radius: 20px; }
	.pc-city-links__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; align-items: end; padding: 0 .2rem 1rem; }
	.pc-city-links__eyebrow { margin-bottom: .48rem; font-size: .55rem; }
	.pc-city-links__eyebrow svg { width: 14px; height: 14px; }
	.pc-city-links__head h2 { max-width: 18ch; font-size: 1.3rem; line-height: 1.2; }
	.pc-city-links__head p { margin-top: .5rem; font-size: .7rem; line-height: 1.55; }
	.pc-city-links__coverage { min-width: 76px; padding: .62rem .45rem; border-radius: 13px; }
	.pc-city-links__coverage strong { font-size: 1.15rem; }
	.pc-city-links__coverage span { font-size: .52rem; }
	.pc-city-links__group { margin-top: .75rem; padding: .8rem .65rem; border-radius: 14px; }
	.pc-city-links__group + .pc-city-links__group { margin-top: .6rem; }
	.pc-city-links__group h3 { margin-bottom: .65rem; font-size: .72rem; }
	.pc-city-links__group-icon { width: 24px; height: 24px; border-radius: 8px; font-size: .64rem; }
	.pc-city-links__group h3 small { width: 20px; height: 20px; font-size: .54rem; }
	.pc-city-links__flow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .42rem; }
	.pc-city-links__flow a { min-width: 0; min-height: 36px; justify-content: space-between; padding: .42rem .55rem; border-radius: 10px; font-size: .62rem; line-height: 1.25; overflow-wrap: anywhere; }
	.pc-city-links__group--cities .pc-city-links__flow { grid-template-columns: 1fr; }
	.pc-city-links__group--cities .pc-city-links__flow a { font-size: .66rem; }
	.pc-trust-card { padding: 1.25rem; gap: 1rem; }
	.pc-trust-card__icon { width: 64px; height: 64px; font-size: 1.6rem; }
}

@media (max-width: 720px) {
	.pc-topbar__inner { justify-content: center; text-align: center; }
	.pc-topbar__announcement { font-size: .7rem; line-height: 1.3; }
	.pc-header__logo img { max-height: 34px; }
	.pc-search-form__input { min-height: 42px; font-size: .78rem; }
	.pc-product-track .pc-product-card { flex: 0 0 220px; }
	.pc-duo-banner { min-height: 180px; }
	.pc-shop__grid, .pc-blog__grid, .pc-featured-six__grid, .pc-why-choose__grid { grid-template-columns: 1fr; }
	.pc-booking__steps { grid-template-columns: 1fr; }
	.pc-footer__grid { grid-template-columns: 1fr 1fr; }
	.pc-gallery__masonry { columns: 2 160px; }
	.pc-scroll-arrow { display: none !important; }
}

@media (max-width: 480px) {
	.pc-footer__grid { grid-template-columns: 1fr; }
	.pc-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ---------- 27. Reference-led PartyCrazy storefront refinement ---------- */
/* The values below intentionally override the initial purple concept with the
   warmer, editorial celebration look approved in the PDF reference. */
:root {
	--pc-purple-900: #302027;
	--pc-purple-800: #55303f;
	--pc-purple-700: #b92d58;
	--pc-purple-600: #df4b73;
	--pc-magenta: #e95174;
	--pc-magenta-light: #f77f9a;
	--pc-gold: #f6b91b;
	--pc-gold-light: #ffe27d;
	--pc-cream: #fff7f1;
	--pc-cream-dark: #f7e5db;
	--pc-ink: #302027;
	--pc-ink-soft: #76626b;
	--pc-gradient-brand: linear-gradient(135deg, #de3f67 0%, #f27d78 100%);
}

.pc-search-form { max-width: 360px; }
.pc-search-form__input {
	border: 1.5px solid #b51f4d;
	border-radius: 11px;
	background: #fff;
	font-size: .88rem;
	line-height: 1.35;
}
.pc-search-form__input::placeholder {
	color: #b51f4d;
	opacity: 1;
	font-weight: 650;
}
.pc-category-nav { border-bottom-color: #f8ece7; }
.nav-top-link { padding: .72rem .85rem; font-size: .78rem; }

@media (min-width: 901px) {
	.pc-header__inner {
		display: grid;
		grid-template-columns: auto minmax(320px, 430px) minmax(0, 1fr);
		align-items: center;
		column-gap: clamp(1rem, 2vw, 2rem);
	}
	.pc-header__logo { grid-column: 1; }
	.pc-header__search {
		grid-column: 2;
		width: 100%;
		max-width: 430px;
	}
	.pc-search-form {
		width: 100%;
		max-width: none;
	}
	.pc-search-form__input { min-height: 44px; }
	.pc-header__actions {
		grid-column: 3;
		justify-self: end;
		margin-left: 0;
	}
	.pc-city-selector__toggle { min-height: 44px; }
}


@media (min-width: 1100px) {
	.pc-header__search,
	.pc-search-form { max-width: 430px; }
	.pc-product-track .pc-product-card { flex-basis: calc((100% - 5rem) / 5); min-width: 230px; }
	.pc-section__head { margin-bottom: 1.75rem; }
}

@media (min-width: 721px) and (max-width: 999px) {
	.pc-hero { width: calc(100% - 4rem); }
}

@media (max-width: 720px) {
	.pc-topbar__contact { display: none; }
	.pc-hero { width: calc(100% - 2.5rem); min-height: 0; aspect-ratio: 2 / 1; margin-top: .75rem; border-radius: 10px; }
	.pc-hero__media img { object-position: center center; }
	.pc-hero__overlay { background: linear-gradient(90deg, rgba(61,34,23,.94) 0%, rgba(72,39,25,.76) 48%, rgba(72,39,25,.18) 86%, transparent 100%); }
	.pc-hero__content { width: 63%; padding: .8rem .35rem .8rem 1rem; }
	.pc-hero__title { font-size: clamp(1.05rem, 5.3vw, 1.5rem); line-height: 1.06; max-width: 17ch; margin-bottom: .45rem; letter-spacing: -.025em; }
	.pc-hero__description { font-size: clamp(.62rem, 2.5vw, .78rem); line-height: 1.22; max-width: 30ch; margin-bottom: .65rem; }
	.pc-hero .btn--primary { padding: .48rem .9rem; font-size: .7rem; box-shadow: 0 5px 14px rgba(35,18,10,.14); }
	.pc-hero__pagination { right: .8rem; bottom: .65rem; gap: .35rem; }
	.pc-hero__pagination span { width: 5px; height: 5px; }
	.pc-hero__pagination .is-active { width: 16px; }
}

/* Final mobile category-card override: retain the approved 2-column square grid. */
@media (max-width: 699px) {
	.pc-container { width: calc(100% - 2rem); max-width: 100%; }
	.pc-topbar { display: none; }
	.pc-header { box-shadow: 0 5px 18px rgba(91, 30, 52, .07); }
	.pc-header__inner {
		display: grid;
		grid-template-columns: 34px minmax(0, 1fr) minmax(96px, auto);
		grid-template-rows: auto minmax(52px, auto);
		column-gap: .75rem;
		row-gap: .9rem;
		width: 100%;
		padding: .85rem 1rem 1rem;
	}
	.pc-header__actions { display: contents; }
	.pc-header__actions > .pc-icon-link:not(.pc-cart-link) { display: none; }
	.pc-mobile-toggle {
		display: flex;
		grid-column: 1;
		grid-row: 1;
		align-self: center;
		justify-self: start;
		width: 29px;
		gap: 6px;
	}
	.pc-mobile-toggle span { height: 2px; background: #b51f4d; }
	.pc-header__logo {
		grid-column: 1 / -1;
		grid-row: 1;
		align-self: center;
		justify-self: center;
		width: auto;
		max-width: min(190px, 54vw);
		z-index: 1;
	}
	.pc-header__logo a { display: flex; justify-content: center; }
	.pc-header__logo img { max-width: 100%; max-height: 42px; }
	.site-title-fallback { font-size: clamp(1.5rem, 7vw, 2rem); color: #b51f4d; }
	.pc-cart-link {
		grid-column: 3;
		grid-row: 1;
		align-self: center;
		justify-self: end;
		color: #b51f4d;
		padding-right: .25rem;
		z-index: 2;
	}
	.pc-cart-link svg { width: 28px; max-width: 28px; }
	.pc-header__search {
		grid-column: 1 / 3;
		grid-row: 2;
		align-self: stretch;
	}
	.pc-header__search,
	.pc-search-form { width: 100%; max-width: none; min-width: 0; }
	.pc-search-form { height: 100%; }
	.pc-search-form__input {
		height: 100%;
		min-height: 52px;
		padding: .65rem 2.4rem .65rem 1rem;
		border: 2px solid #b51f4d;
		border-radius: 15px;
		background: #fff;
		color: #481728;
		font-size: clamp(.72rem, 3.5vw, .96rem);
		font-weight: 700;
		letter-spacing: -.01em;
	}
	.pc-search-form__input::placeholder { color: #b51f4d; opacity: 1; }
	.pc-search-form__submit { right: .3rem; width: 2rem; height: 2rem; color: #b51f4d; }
	.pc-city-selector {
		display: block;
		grid-column: 3;
		grid-row: 2;
		align-self: stretch;
		min-width: 0;
	}
	.pc-city-selector__toggle {
		width: 100%;
		height: 100%;
		min-height: 52px;
		justify-content: center;
		gap: .3rem;
		padding: .55rem .75rem;
		border-radius: 12px;
		background: #ffe765;
		font-size: clamp(.72rem, 3.2vw, .9rem);
		white-space: nowrap;
	}
	.pc-city-selector__toggle svg:first-child { display: none; }
	.pc-city-selector__list { right: 0; min-width: min(250px, calc(100vw - 2rem)); }
	.pc-section { padding: 2rem 0; }
	.pc-section__head { min-width: 0; margin-bottom: 1.25rem; }
	.pc-section__head--split { align-items: center; flex-wrap: wrap; gap: .65rem 1rem; }
	.pc-section__head--split > * { min-width: 0; }
	.pc-section__head--split h2 { font-size: clamp(1.25rem, 6vw, 1.65rem); overflow-wrap: anywhere; }
	.pc-view-all { flex-shrink: 0; }

	.pc-scroll-wrap,
	.pc-scroll-track,
	.pc-icon-row__inner { width: 100%; max-width: 100%; min-width: 0; }
	.pc-scroll-track { overscroll-behavior-inline: contain; }

	.pc-container.pc-duo-banners__grid { width: calc(100% - 2rem); max-width: 100%; margin-left: auto; margin-right: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
	.pc-collections__grid,
	.pc-youtube-shorts__track { max-width: 100vw; min-width: 0; }
	.pc-duo-banners__grid > *,
	.pc-collections__grid > *,
	.pc-youtube-shorts__track > * { min-width: 0; }
	.pc-duo-banner { width: 100%; max-width: 100%; min-width: 0; min-height: 0; aspect-ratio: 1 / 1; }

	.pc-promo__card,
	.pc-reviews__layout,
	.pc-story__grid,
	.pc-footer__grid { width: 100%; max-width: 100%; min-width: 0; }
	.pc-promo__content { min-width: 0; overflow-wrap: anywhere; }
	.pc-mobile-menu,
	.pc-mobile-menu__list,
	.pc-mobile-menu__list .mega-menu-panel { width: 100%; max-width: 100%; min-width: 0; }
	.pc-mobile-menu__list .mega-menu-list { min-width: 0; }
	.pc-floating-actions { right: 1rem; bottom: 1rem; }
}

@media (max-width: 360px) {
	.pc-header__inner { grid-template-columns: 30px minmax(0, 1fr) minmax(82px, auto); column-gap: .55rem; padding-left: .75rem; padding-right: .75rem; }
	.pc-header__logo { max-width: 140px; }
	.pc-header__logo img { max-height: 36px; }
	.pc-search-form__input { padding-left: .75rem; padding-right: 2rem; font-size: .7rem; }
	.pc-search-form__submit { width: 1.75rem; }
	.pc-city-selector__toggle { padding: .45rem .55rem; font-size: .72rem; }
	.pc-city-selector__toggle .chevron { display: none; }
	.pc-duo-banners__grid { gap: .75rem; }
}

/* ---------- Reference product-category storefront ---------- */
.pc-top-product-categories,

.pc-top-product-categories .pc-section__head,
.pc-product-section .pc-section__head { margin-bottom: 1.65rem; }

.pc-top-product-categories .pc-section__title--accent,

.pc-top-product-categories .pc-section__title--accent::after,

.pc-top-product-categories .pc-section__head p {
	color: #778195;
	font-size: 1rem;
}


.pc-top-category-card:hover,


@media (prefers-reduced-motion: reduce) {
	.pc-top-category-card,
	.pc-top-category-card__image { transition: none; }
	.pc-top-category-card:hover { transform: none; }
	.pc-top-category-card:hover .pc-top-category-card__image { transform: none; }
}

.pc-product-section .pc-section__head { align-items: flex-end; }
.pc-product-section .pc-section__head p { display: none; }

.pc-product-section__actions .pc-scroll-arrow {
	position: static;
	display: inline-flex;
	width: 42px;
	height: 42px;
	transform: none;
	border: 1px solid #e1e5ec;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	color: #111827;
	font-size: 1.5rem;
}

.pc-product-section__actions .pc-scroll-arrow:hover { border-color: #b51f4d; background: #fff7fa; color: #b51f4d; }
.pc-product-section .pc-product-track .pc-product-card {
	flex: 0 0 calc((100% - 5rem) / 5);
	min-width: 230px;
	border-radius: 20px;
}


@media (max-width: 1080px) and (min-width: 700px) {
	.pc-top-product-categories__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pc-product-section .pc-product-track .pc-product-card { flex-basis: calc((100% - 2.5rem) / 3); min-width: 220px; }
}

@media (max-width: 699px) {
	.pc-top-product-categories,
	.pc-product-section { padding: 1.9rem 0; }
	.pc-top-product-categories .pc-section__head,
	.pc-product-section .pc-section__head { margin-bottom: 1.25rem; }
	.pc-top-product-categories .pc-section__title--accent,
	.pc-product-section .pc-section__title--accent {
		padding-bottom: .58rem;
		margin-bottom: .45rem;
		font-size: clamp(1.2rem, 5.8vw, 1.5rem);
		line-height: 1.2;
	}
	.pc-top-product-categories .pc-section__title--accent::after,
	.pc-product-section .pc-section__title--accent::after { width: 46px; height: 3px; }
	.pc-top-product-categories .pc-section__head p { font-size: .84rem; }
	.pc-top-product-categories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	.pc-top-category-card { border-radius: 16px; }
	.pc-top-category-card__body { padding: .7rem .6rem .75rem; }
	.pc-top-category-card__title { font-size: clamp(.78rem, 3.6vw, .9rem); }
	.pc-top-category-card__count { font-size: .66rem; }
	.pc-product-section .pc-section__head--split { flex-wrap: nowrap; align-items: flex-start; }
	.pc-product-section .pc-section__head--split > div:first-child { flex: 1; min-width: 0; }
	.pc-product-section__actions { gap: .55rem; }
	.pc-product-section .pc-view-all { display: none; }
	.pc-product-section__actions .pc-scroll-arrow { display: inline-flex !important; width: 42px; height: 42px; border-radius: 12px; }
	.pc-product-section .pc-scroll-wrap { width: calc(100% - 2rem); max-width: calc(100% - 2rem); }
	.pc-product-section .pc-product-track { width: 100%; gap: .85rem; padding: .3rem 0 1rem; scroll-snap-type: x mandatory; }
	.pc-product-section .pc-product-track .pc-product-card {
		flex: 0 0 calc((100% - .85rem) / 2);
		min-width: 0;
		border-radius: 16px;
		scroll-snap-align: start;
	}
	.pc-product-section .pc-product-card__body { min-height: 0; padding: .64rem .58rem .62rem; gap: .28rem; }
	.pc-product-section .pc-product-card__title { min-height: 0; font-size: clamp(.7rem, 3.5vw, .84rem); line-height: 1.3; }
	.pc-product-card__rating { gap: .3rem; min-height: 0; overflow: hidden; }
	.pc-product-card__rating-pill { padding: .12rem .36rem; font-size: .66rem; }
	.pc-product-card__review-count { overflow: hidden; font-size: .64rem; text-overflow: ellipsis; }
	.pc-product-card__price-row { gap: .3rem; }
	.pc-product-card__price-row .price { gap: .25rem; font-size: .82rem; }
	.pc-product-card__price-row .price .amount { font-size: .9rem; }
	.pc-product-card__price { margin-top: 0; padding: .34rem .44rem; border-radius: 8px; }
	.pc-product-card__price-label { margin-bottom: .08rem; font-size: .47rem; letter-spacing: .04em; }
	.pc-product-card__discount { padding: .22rem .35rem; border-radius: 6px; font-size: .58rem; }
	.pc-product-card__book { min-height: 36px; padding: .52rem .55rem; border-radius: 9px; font-size: .7rem; }
}

@media (max-width: 360px) {
	.pc-top-product-categories__grid { gap: .85rem .6rem; }
	.pc-product-section__actions { gap: .4rem; }
	.pc-product-section__actions .pc-scroll-arrow { width: 38px; height: 38px; }
	.pc-product-section .pc-product-card__body { min-height: 0; padding-left: .6rem; padding-right: .6rem; }
	.pc-product-card__review-count { display: none; }
	.pc-product-card__discount { display: none; }
}

/* ---------- Reusable category landing page template ---------- */
.pc-category-landing__breadcrumb .pc-breadcrumbs { margin: 0; }

/* Child product categories selected through the category-page ACF field. */
.pc-category-children__actions .pc-scroll-arrow { position: static; display: inline-flex; width: 42px; height: 42px; transform: none; border: 1px solid #eadde3; border-radius: 12px; background: #fff; box-shadow: 0 5px 16px rgba(70, 36, 52, .06); color: #35242e; font-size: 1.45rem; }
.pc-category-children__actions .pc-scroll-arrow:hover { border-color: rgba(181, 31, 77, .35); background: #fff6f9; color: #a51548; }


.pc-category-children__card:hover,


@media (prefers-reduced-motion: reduce) {
	.pc-category-children__card,
	.pc-category-children__image { transition: none; }
	.pc-category-children__card:hover { transform: none; }
	.pc-category-children__card:hover .pc-category-children__image { transform: none; }
}

.pc-category-landing__setup-note {
	margin-bottom: 1rem;
	padding: .75rem .9rem;
	border: 1px solid #f1cf77;
	border-radius: 10px;
	background: #fff9e7;
	color: #654b10;
	font-size: .78rem;
}
.pc-category-landing__product-grid .pc-product-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(94, 57, 72, .1);
	border-radius: 17px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 8px 28px rgba(59, 30, 42, .075), 0 1px 2px rgba(59, 30, 42, .04);
	transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}
.pc-category-landing__product-grid .pc-product-card:hover {
	transform: translateY(-5px);
	border-color: rgba(181, 31, 77, .2);
	box-shadow: 0 18px 42px rgba(72, 31, 48, .14), 0 2px 6px rgba(72, 31, 48, .05);
}
.pc-category-landing__infinite-loader {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	min-height: 78px;
	color: #7a6870;
	font-size: .78rem;
	font-weight: 600;
}
.pc-category-landing__loader-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #b51f4d;
	box-shadow: 0 0 0 0 rgba(181, 31, 77, .28);
	animation: pc-category-loader-pulse 1.6s ease-out infinite;
}
.pc-category-landing__infinite-loader.is-loading .pc-category-landing__loader-dot {
	width: 18px;
	height: 18px;
	border: 2px solid rgba(181, 31, 77, .18);
	border-top-color: #b51f4d;
	background: transparent;
	box-shadow: none;
	animation: pc-category-loader-spin .75s linear infinite;
}
.pc-category-landing__infinite-loader.is-complete .pc-category-landing__loader-dot,
.pc-category-landing__infinite-loader.has-error .pc-category-landing__loader-dot { display: none; }
.pc-category-landing__infinite-loader button {
	padding: .42rem .75rem;
	border: 1px solid rgba(181, 31, 77, .24);
	border-radius: 999px;
	background: #fff;
	color: #a51548;
	font-size: .72rem;
	font-weight: 700;
}
@keyframes pc-category-loader-pulse {
	70% { box-shadow: 0 0 0 9px rgba(181, 31, 77, 0); }
	100% { box-shadow: 0 0 0 0 rgba(181, 31, 77, 0); }
}
@keyframes pc-category-loader-spin { to { transform: rotate(360deg); } }

.pc-category-landing__seo h2,
.pc-category-landing__seo-content h2,
.pc-category-landing__seo-content ul,
.pc-category-landing__seo-content th,
.pc-category-landing__faq .pc-faq__list { display: grid; gap: .85rem; margin: 0; border: 0; }
.pc-category-landing__faq .pc-faq__item { overflow: hidden; border: 1px solid rgba(92, 57, 72, .11); border-radius: 16px; background: #fff; box-shadow: 0 5px 20px rgba(50, 30, 39, .045); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.pc-category-landing__faq .pc-faq__item:hover { transform: translateY(-1px); border-color: rgba(181, 31, 77, .2); box-shadow: 0 10px 28px rgba(67, 34, 48, .075); }
.pc-category-landing__faq .pc-faq__item.is-open { border-color: rgba(181, 31, 77, .26); box-shadow: 0 12px 32px rgba(86, 35, 55, .09); }
.pc-category-landing__faq .pc-faq__question { gap: 1.2rem; padding: 1.1rem 1.2rem; color: #241c22; font-size: .9rem; font-weight: 600; line-height: 1.45; }
.pc-category-landing__faq .pc-faq__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: #fff0f5; color: #a51548; font-size: 1.15rem; font-weight: 500; }
.pc-category-landing__faq .pc-faq__question[aria-expanded="true"] .pc-faq__icon { background: #b51f4d; color: #fff; transform: rotate(45deg); }
.pc-category-landing__faq .pc-faq__answer { padding: 0 4.5rem 1.2rem 1.25rem; animation: pc-faq-answer-in .25s ease both; }
.pc-category-landing__faq .pc-faq__answer p { margin: 0; padding-top: 1rem; border-top: 1px solid #f0e6ea; color: #665b63; font-size: .86rem; line-height: 1.8; }
@keyframes pc-faq-answer-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1199px) {
	.pc-category-children__card { flex-basis: clamp(150px, 17vw, 185px); }
	.pc-category-landing__product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
}

@media (max-width: 899px) {
	.pc-category-children__card { flex-basis: clamp(145px, 21vw, 175px); }
	.pc-category-landing__product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .95rem; }
}

@media (min-width: 700px) and (max-width: 999px) {
	.pc-category-landing__hero { width: calc(100% - 4rem); }
	.pc-category-landing__hero-content { width: 66%; padding: 1.2rem 1.4rem 1.2rem 2rem; }
	.pc-category-landing__eyebrow { margin-bottom: .5rem; padding: .25rem .55rem; font-size: .58rem; }
	.pc-category-landing__hero h1 { margin-bottom: .45rem; font-size: clamp(1.55rem, 4vw, 2.15rem); }
	.pc-category-landing__hero p { font-size: .72rem; line-height: 1.4; }
	.pc-category-landing__hero-actions { margin-top: .7rem; }
	.pc-category-landing__hero-actions .btn { min-height: 38px; padding: .55rem .85rem; font-size: .68rem; }
}

@media (max-width: 699px) {
	.pc-category-landing__breadcrumb { padding-top: .55rem; padding-bottom: .45rem; }
	.pc-category-landing__hero { width: calc(100% - 2.5rem); min-height: 0; margin-top: .75rem; border-radius: 10px; aspect-ratio: 2 / 1; }
	.pc-category-landing__hero-media img { object-position: center; }
	.pc-category-landing__hero-overlay { background: linear-gradient(90deg, rgba(61,34,23,.94) 0%, rgba(72,39,25,.76) 48%, rgba(72,39,25,.18) 86%, transparent 100%); }
	.pc-category-landing__hero-content { display: block; width: 63%; min-height: 0; margin: 0; padding: .8rem .35rem .8rem 1rem; }
	.pc-category-landing__eyebrow { display: none; }
	.pc-category-landing__hero h1 { max-width: 17ch; margin-bottom: .45rem; font-size: clamp(1.05rem, 5.3vw, 1.5rem); line-height: 1.06; letter-spacing: -.025em; }
	.pc-category-landing__hero p { max-width: 30ch; font-size: clamp(.62rem, 2.5vw, .78rem); line-height: 1.22; }
	.pc-category-landing__hero-actions { gap: .45rem; margin-top: .65rem; }
	.pc-category-landing__hero-actions .btn { min-height: 0; padding: .48rem .9rem; font-size: .7rem; }
	.pc-category-landing__whatsapp { display: none; }
	.pc-category-children { padding: 2rem 0 2.2rem; }
	.pc-category-children__top { display: block; margin-bottom: 1.1rem; }
	.pc-category-children__head > span { margin-bottom: .35rem; font-size: .56rem; }
	.pc-category-children__head h2 { font-size: 1.35rem; }
	.pc-category-children__head p { margin-top: .4rem; font-size: .72rem; line-height: 1.45; }
	.pc-category-children__actions { display: none; }
	.pc-category-children__track { gap: .7rem; padding: .1rem .05rem .7rem; scroll-snap-type: x mandatory; }
	.pc-category-children__card { flex: 0 0 min(42vw, 170px); }
	.pc-category-children__card { border-radius: 16px; }
	.pc-category-children__body { padding: .65rem .55rem .72rem; }
	.pc-category-children__name { font-size: .76rem; }
	.pc-category-children__count { font-size: .62rem; }
	.pc-category-landing__catalogue { padding-top: 2rem; }
	.pc-category-landing__catalogue-head { align-items: flex-start; flex-direction: column; gap: .85rem; margin-bottom: 1.15rem; }
	.pc-category-landing__catalogue-head h2 { font-size: 1.35rem; }
	.pc-category-landing__sort { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
	.pc-category-landing__sort select { width: 100%; min-width: 0; }
	.pc-category-landing__product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
	.pc-category-landing__product-grid .pc-product-card { border-radius: 15px; box-shadow: 0 5px 18px rgba(59, 30, 42, .075); }
	.pc-category-landing__product-grid .pc-product-card__body { min-height: 0; padding: .64rem .58rem .62rem; gap: .28rem; }
	.pc-category-landing__product-grid .pc-product-card__title { min-height: 0; font-size: clamp(.7rem, 3.5vw, .84rem); line-height: 1.3; }
	.pc-category-landing__product-grid .pc-product-card__rating { gap: .25rem; overflow: hidden; }
	.pc-category-landing__product-grid .pc-product-card__rating-pill { font-size: .64rem; }
	.pc-category-landing__product-grid .pc-product-card__review-count { overflow: hidden; font-size: .61rem; text-overflow: ellipsis; }
	.pc-category-landing__product-grid .pc-product-card__price-row { gap: .25rem; }
	.pc-category-landing__product-grid .pc-product-card__price-row .price { font-size: .78rem; }
	.pc-category-landing__product-grid .pc-product-card__price { margin-top: 0; padding: .34rem .44rem; border-radius: 8px; }
	.pc-category-landing__product-grid .pc-product-card__price-label { margin-bottom: .08rem; font-size: .47rem; letter-spacing: .04em; }
	.pc-category-landing__product-grid .pc-product-card__discount { padding: .2rem .3rem; font-size: .55rem; }
	.pc-category-landing__seo,
	.pc-category-landing__faq { padding: 2.5rem 0; }
	.pc-category-landing__seo-inner { width: calc(100% - 2rem); padding: 1.35rem 1.15rem; border-radius: 18px; }
	.pc-category-landing__section-kicker { margin-bottom: .55rem; font-size: .6rem; }
	.pc-category-landing__seo h2,
	.pc-category-landing__faq h2 { font-size: 1.45rem; }
	.pc-category-landing__seo-content { font-size: .84rem; line-height: 1.75; }
	.pc-category-landing__seo-content h2 { font-size: 1.22rem; }
	.pc-category-landing__seo-content h3 { font-size: 1.04rem; }
	.pc-category-landing__seo-content table { display: block; overflow-x: auto; white-space: nowrap; }
	.pc-category-landing__faq-inner { display: block; width: calc(100% - 2rem); }
	.pc-category-landing__faq-head { position: static; margin-bottom: 1.35rem; }
	.pc-category-landing__faq-head p { margin-top: .65rem; font-size: .78rem; }
	.pc-category-landing__faq .pc-faq__list { gap: .65rem; }
	.pc-category-landing__faq .pc-faq__item { border-radius: 13px; }
	.pc-category-landing__faq .pc-faq__question { gap: .75rem; padding: .9rem .9rem; font-size: .8rem; }
	.pc-category-landing__faq .pc-faq__icon { flex-basis: 28px; width: 28px; height: 28px; font-size: 1rem; }
	.pc-category-landing__faq .pc-faq__answer { padding: 0 .9rem .95rem; }
	.pc-category-landing__faq .pc-faq__answer p { padding-top: .8rem; font-size: .76rem; line-height: 1.7; }
}

@media (max-width: 360px) {
	.pc-category-landing__sort label { display: none; }
	.pc-category-landing__sort { grid-template-columns: minmax(0, 1fr) auto; }
	.pc-category-landing__product-grid .pc-product-card__review-count,
	.pc-category-landing__product-grid .pc-product-card__discount { display: none; }
}

/* ---------- Reusable SEO Content + FAQ ---------- */
.pc-content-kicker { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: .65rem; color: #a51548; font-size: .64rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.pc-content-kicker::before { width: 24px; height: 2px; border-radius: 999px; background: linear-gradient(90deg, #a51548, #e48baa); content: ''; }
.pc-content-seo { border-top: 1px solid rgba(181,31,77,.055); background: linear-gradient(155deg, #fff 0%, #fff9fb 55%, #fbf8ff 100%); }
.pc-content-seo__inner { display: grid; grid-template-columns: minmax(230px, 320px) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.pc-content-seo__head { padding: .3rem 0; }
.pc-content-seo__head h2,
.pc-content-faq__head h2 { margin: 0; color: #211a1f; font-size: clamp(1.55rem, 2.6vw, 2.25rem); font-weight: 620; line-height: 1.2; letter-spacing: -.035em; }
.pc-content-seo__head p,
.pc-content-faq__head p { margin: .8rem 0 0; color: #796d74; font-size: .8rem; line-height: 1.75; }
.pc-content-seo__body { position: relative; overflow: hidden; padding: clamp(1.1rem, 2.5vw, 1.8rem); border: 1px solid rgba(89,53,68,.09); border-radius: 21px; background: rgba(255,255,255,.94); box-shadow: 0 16px 45px rgba(64,35,47,.065); }
.pc-content-seo__copy { max-height: 360px; overflow: hidden; color: #62575e; font-size: .84rem; line-height: 1.85; transition: max-height .55s ease; }
.pc-content-seo__copy > :first-child { margin-top: 0; }
.pc-content-seo__copy > :last-child { margin-bottom: 0; }
.pc-content-seo__copy p { margin: 0 0 1rem; }
.pc-content-seo__copy h2,
.pc-content-seo__copy h3,
.pc-content-seo__copy h4 { margin: 1.4rem 0 .65rem; color: #30242a; font-weight: 620; line-height: 1.35; letter-spacing: -.02em; }
.pc-content-seo__copy h2 { font-size: 1.25rem; }
.pc-content-seo__copy h3 { font-size: 1.05rem; }
.pc-content-seo__copy ul,
.pc-content-seo__copy ol { display: grid; gap: .45rem; margin: .8rem 0 1.1rem; padding-left: 1.2rem; }
.pc-content-seo__copy ul { list-style: disc; }
.pc-content-seo__copy ol { list-style: decimal; }
.pc-content-seo__copy a { color: #a51548; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(165,21,72,.28); text-underline-offset: 4px; }
.pc-content-seo__copy img { max-width: 100%; height: auto; border-radius: 14px; }
.pc-content-seo__fade { position: absolute; right: 0; bottom: 58px; left: 0; height: 105px; background: linear-gradient(180deg, rgba(255,255,255,0), #fff 82%); pointer-events: none; transition: opacity .25s ease; }
.pc-content-seo__toggle { position: relative; z-index: 1; display: flex; min-height: 42px; margin: 1rem auto 0; align-items: center; justify-content: center; gap: .55rem; padding: .65rem 1.05rem; border: 1px solid rgba(181,31,77,.15); border-radius: 999px; background: #fff3f7; color: #9e1747; font-size: .72rem; font-weight: 700; box-shadow: 0 7px 18px rgba(89,37,57,.065); transition: transform .2s ease, background .2s ease; }
.pc-content-seo__toggle:hover { transform: translateY(-2px); background: #ffe9f1; }
.pc-content-seo__toggle-icon { font-size: 1rem; transition: transform .3s ease; }
.pc-content-seo__body.is-expanded .pc-content-seo__copy { max-height: 5000px; }
.pc-content-seo__body.is-expanded .pc-content-seo__fade { opacity: 0; }
.pc-content-seo__body.is-expanded .pc-content-seo__toggle-icon { transform: rotate(180deg); }
.pc-content-seo__body.is-short .pc-content-seo__fade,
.pc-content-seo__body.is-short .pc-content-seo__toggle { display: none; }

.pc-content-faq { border-top: 1px solid rgba(181,31,77,.05); background: linear-gradient(180deg, #fff 0%, #fff9fb 100%); }
.pc-content-faq__inner { display: grid; grid-template-columns: minmax(230px, 320px) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); max-width: 1180px; align-items: start; }
.pc-content-faq__head { position: sticky; top: 125px; }
.pc-content-faq__list { display: grid; gap: .75rem; margin: 0; }
.pc-content-faq__list .pc-faq__item { overflow: hidden; border: 1px solid rgba(92,57,72,.1); border-radius: 16px; background: #fff; box-shadow: 0 6px 22px rgba(50,30,39,.045); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.pc-content-faq__list .pc-faq__item:hover { transform: translateY(-1px); border-color: rgba(181,31,77,.19); box-shadow: 0 11px 28px rgba(67,34,48,.075); }
.pc-content-faq__list .pc-faq__item.is-open { border-color: rgba(181,31,77,.24); box-shadow: 0 12px 32px rgba(86,35,55,.085); }
.pc-content-faq__list .pc-faq__question { gap: 1rem; padding: 1rem 1.1rem; color: #2a2026; font-size: .86rem; font-weight: 600; line-height: 1.5; }
.pc-content-faq__list .pc-faq__question > span:first-child { display: flex; align-items: baseline; gap: .75rem; }
.pc-content-faq__list .pc-faq__question small { color: #bf7892; font-size: .58rem; font-weight: 700; letter-spacing: .04em; }
.pc-content-faq__list .pc-faq__icon { display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #fff0f5; color: #a51548; font-size: 1.05rem; }
.pc-content-faq__list .pc-faq__question[aria-expanded="true"] .pc-faq__icon { background: #a51548; color: #fff; transform: rotate(45deg); }
.pc-content-faq__list .pc-faq__answer { padding: 0 4.4rem 1.1rem 2.75rem; animation: pc-faq-answer-in .25s ease both; }
.pc-content-faq__list .pc-faq__answer p { margin: 0; padding-top: .85rem; border-top: 1px solid #f1e7eb; color: #685d63; font-size: .8rem; line-height: 1.8; }

@media (max-width: 699px) {
	.pc-content-seo,
	.pc-content-faq { padding: 2.5rem 0; }
	.pc-content-seo__inner,
	.pc-content-faq__inner { display: block; width: calc(100% - 1.5rem); }
	.pc-content-seo__head,
	.pc-content-faq__head { position: static; margin-bottom: 1rem; padding: 0 .2rem; }
	.pc-content-kicker { margin-bottom: .5rem; font-size: .55rem; }
	.pc-content-seo__head h2,
	.pc-content-faq__head h2 { font-size: 1.4rem; }
	.pc-content-seo__head p,
	.pc-content-faq__head p { margin-top: .55rem; font-size: .7rem; line-height: 1.6; }
	.pc-content-seo__body { padding: 1.05rem .9rem .85rem; border-radius: 17px; }
	.pc-content-seo__copy { max-height: 285px; font-size: .76rem; line-height: 1.78; }
	.pc-content-seo__copy h2 { font-size: 1.1rem; }
	.pc-content-seo__copy h3 { font-size: .95rem; }
	.pc-content-seo__fade { bottom: 52px; height: 90px; }
	.pc-content-seo__toggle { min-height: 39px; margin-top: .75rem; padding: .55rem .9rem; font-size: .66rem; }
	.pc-content-faq__list { gap: .55rem; }
	.pc-content-faq__list .pc-faq__item { border-radius: 13px; }
	.pc-content-faq__list .pc-faq__question { gap: .65rem; padding: .85rem; font-size: .76rem; }
	.pc-content-faq__list .pc-faq__question > span:first-child { gap: .55rem; }
	.pc-content-faq__list .pc-faq__icon { flex-basis: 28px; width: 28px; height: 28px; font-size: .95rem; }
	.pc-content-faq__list .pc-faq__answer { padding: 0 .85rem .9rem 2.2rem; }
	.pc-content-faq__list .pc-faq__answer p { padding-top: .7rem; font-size: .72rem; line-height: 1.7; }
}

/* ---------- Global Google Business Reviews ---------- */
.pc-google-reviews {
	position: relative;
	clear: both;
	overflow: hidden;
	border-top: 1px solid rgba(132, 72, 96, .08);
	background:
		radial-gradient(circle at 8% 16%, rgba(255, 225, 236, .72), transparent 26%),
		linear-gradient(145deg, #fffdfd 0%, #fff7fa 52%, #fbf7ff 100%);
}
.pc-google-reviews__inner { position: relative; z-index: 1; }
.pc-google-reviews__glow { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.pc-google-reviews__glow--one { top: -100px; right: 5%; width: 260px; height: 260px; background: rgba(255, 220, 149, .16); }
.pc-google-reviews__glow--two { bottom: -120px; left: 18%; width: 300px; height: 300px; background: rgba(208, 174, 255, .14); }
.pc-google-reviews__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2.5rem;
	margin-bottom: 2rem;
	align-items: end;
}
.pc-google-reviews__heading { max-width: 690px; }
.pc-google-reviews__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: .65rem;
	color: #705f68;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.pc-google-reviews__g {
	display: inline-block;
	background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-family: Arial, sans-serif;
	font-size: 1.18em;
	font-weight: 800;
	text-transform: none;
}
.pc-google-reviews__heading h2 { margin: 0; color: #271c22; font-size: clamp(1.7rem, 3.2vw, 2.65rem); font-weight: 650; letter-spacing: -.035em; line-height: 1.08; }
.pc-google-reviews__heading p { max-width: 580px; margin: .75rem 0 0; color: #776b72; font-size: .92rem; line-height: 1.65; }
.pc-google-reviews__proof { display: flex; gap: 1rem; align-items: center; }
.pc-google-reviews__score {
	display: flex;
	gap: .7rem;
	align-items: center;
	min-width: 210px;
	padding: .8rem 1rem;
	border: 1px solid rgba(91, 59, 72, .1);
	border-radius: 15px;
	background: rgba(255, 255, 255, .82);
	box-shadow: 0 10px 30px rgba(63, 35, 47, .07);
	backdrop-filter: blur(8px);
}
.pc-google-reviews__score > strong { color: #251c21; font-size: 1.75rem; line-height: 1; letter-spacing: -.04em; }
.pc-google-reviews__score .pc-stars { display: flex; gap: 1px; }
.pc-google-reviews__score .pc-star { width: 14px; height: 14px; }
.pc-google-reviews__score span:last-child { display: block; margin-top: .22rem; color: #887b82; font-size: .66rem; white-space: nowrap; }
.pc-google-reviews__controls { display: flex; gap: .5rem; }
.pc-google-reviews__track { gap: 1rem; padding: .25rem .15rem 1.25rem; scroll-padding-inline: .15rem; }
.pc-google-review-card {
	position: relative;
	display: flex;
	flex: 0 0 calc((100% - 2rem) / 3);
	flex-direction: column;
	min-width: 0;
	min-height: 225px;
	padding: 1.25rem;
	border: 1px solid rgba(91, 53, 69, .095);
	border-radius: 20px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 12px 32px rgba(67, 35, 49, .065);
	scroll-snap-align: start;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.pc-google-review-card:hover { transform: translateY(-3px); border-color: rgba(181, 31, 77, .2); box-shadow: 0 18px 40px rgba(67, 35, 49, .1); }
.pc-google-review-card__top { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: .85rem; }
.pc-google-review-card__author { display: flex; min-width: 0; gap: .7rem; align-items: center; }
.pc-google-review-card__author > div { min-width: 0; }
.pc-google-review-card__author a { color: inherit; }
.pc-google-review-card__author strong { display: block; overflow: hidden; color: #2d2228; font-size: .84rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.pc-google-review-card__author span { display: block; margin-top: .12rem; color: #988b92; font-size: .66rem; }
.pc-google-review-card__avatar,
.pc-google-review-card__initial { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; }
.pc-google-review-card__avatar { object-fit: cover; }
.pc-google-review-card__initial { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(145deg, #b51f4d, #7d2450); color: #fff; font-size: .9rem; font-weight: 700; }
.pc-google-review-card__mark { flex: 0 0 auto; margin-top: .1rem; font-family: Arial, sans-serif; font-size: 1rem; font-weight: 800; background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pc-google-review-card > .pc-stars { display: flex; gap: 1px; margin-bottom: .7rem; }
.pc-google-review-card > .pc-stars .pc-star { width: 14px; height: 14px; }
.pc-google-review-card > p { display: -webkit-box; overflow: hidden; margin: 0; color: #655b61; font-size: .78rem; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.pc-google-reviews__footer { display: flex; justify-content: center; margin-top: .65rem; }
.pc-google-reviews__cta {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	min-height: 44px;
	padding: .68rem 1.1rem;
	border: 1px solid rgba(83, 51, 64, .12);
	border-radius: 999px;
	background: #fff;
	color: #3a2d34;
	box-shadow: 0 8px 22px rgba(65, 36, 48, .06);
	font-size: .76rem;
	font-weight: 650;
}
.pc-google-reviews__cta:hover { border-color: rgba(181, 31, 77, .25); color: #a51548; transform: translateY(-1px); }
.pc-google-reviews--setup { padding: .9rem 0; border-top: 1px solid #f0dcc5; background: #fff8e8; color: #694e27; font-size: .8rem; }
.pc-google-reviews--setup p { margin: 0; }

/* Rich Showcase shortcode integration — keeps plugin data/images while the
   PartyCrazy theme owns spacing, surface treatment and responsive polish. */
.pc-google-reviews__header--plugin { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; margin-bottom: 1.5rem; align-items: end; }
.pc-google-reviews__trust { display: flex; align-items: center; gap: .65rem; }
.pc-google-reviews__trust > span,
.pc-google-reviews__trust > a { display: inline-flex; min-height: 42px; align-items: center; gap: .45rem; padding: .6rem .85rem; border: 1px solid rgba(85, 53, 66, .1); border-radius: 999px; background: rgba(255,255,255,.86); box-shadow: 0 8px 22px rgba(65, 36, 48, .055); color: #66565e; font-size: .68rem; font-weight: 650; white-space: nowrap; }
.pc-google-reviews__trust > span strong { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #e9f8ed; color: #16863a; font-size: .7rem; }
.pc-google-reviews__trust > a { border-color: rgba(181, 31, 77, .16); color: #a51548; }
.pc-google-reviews__trust > a:hover { transform: translateY(-2px); border-color: rgba(181, 31, 77, .3); box-shadow: 0 12px 26px rgba(86, 35, 55, .1); }
.pc-google-reviews__plugin {
	padding: 1.2rem;
	border: 1px solid rgba(91, 53, 69, .08);
	border-radius: 24px;
	background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(255,247,250,.7));
	box-shadow: 0 22px 60px rgba(67, 35, 49, .07);
	backdrop-filter: blur(8px);
}
.pc-google-reviews__plugin .wp-gr {
	--card-gap: 14px;
	--rev-gap: 10px;
	--media-size: 68px;
	--media-gap: 7px;
	--media-lines: 1;
	--color: #b51f4d;
	--rev-color: #ffffff;
	--btn-color: #a51548;
	--rpi-star-color: #f4aa1d;
}
.pc-google-reviews__plugin .wp-gr .grw-header-inner { padding: 1rem !important; border: 1px solid rgba(181,31,77,.09) !important; border-radius: 18px !important; background: linear-gradient(145deg, #fff, #fff5f8) !important; box-shadow: 0 10px 26px rgba(67,35,49,.055) !important; }
.pc-google-reviews__plugin .wp-gr .grw-content-inner { align-items: stretch !important; }
.pc-google-reviews__plugin .wp-gr .grw-review { align-items: stretch !important; }
.pc-google-reviews__plugin .wp-gr .grw-review-inner {
	border: 1px solid rgba(91, 53, 69, .095) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 10px 28px rgba(67, 35, 49, .065) !important;
	transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease !important;
}
.pc-google-reviews__plugin .wp-gr .grw-review-inner:hover { transform: translateY(-3px); border-color: rgba(181, 31, 77, .2) !important; box-shadow: 0 16px 38px rgba(67, 35, 49, .1) !important; }
.pc-google-reviews__plugin .wp-gr .wp-google-left img,
.pc-google-reviews__plugin .wp-gr .wp-google-left > img { border-radius: 50% !important; object-fit: cover !important; }
.pc-google-reviews__plugin .wp-gr .wp-google-img { margin-top: .75rem !important; padding-top: .65rem; border-top: 1px solid #f2e8ec; }
.pc-google-reviews__plugin .wp-gr .wp-google-img img { width: 68px !important; height: 68px !important; overflow: hidden; border: 2px solid #fff !important; border-radius: 12px !important; box-shadow: 0 5px 14px rgba(55,32,41,.12); object-fit: cover !important; }
.pc-google-reviews__plugin .wp-gr .wp-google-name { color: #2d2228 !important; font-weight: 650 !important; }
.pc-google-reviews__plugin .wp-gr .wp-google-time { color: #988b92 !important; }
.pc-google-reviews__plugin .wp-gr .wp-google-feedback { color: #655b61 !important; line-height: 1.7 !important; }

@media (max-width: 899px) {
	.pc-google-reviews__header { display: block; margin-bottom: 1.4rem; }
	.pc-google-reviews__trust { margin-top: 1rem; }
	.pc-google-reviews__proof { justify-content: space-between; margin-top: 1.15rem; }
	.pc-google-review-card { flex-basis: min(78vw, 330px); }
}

@media (max-width: 599px) {
	.pc-google-reviews { padding: 2.75rem 0; }
	.pc-google-reviews__header { margin-bottom: 1.05rem; }
	.pc-google-reviews__eyebrow { margin-bottom: .5rem; font-size: .62rem; }
	.pc-google-reviews__heading h2 { max-width: 14ch; font-size: 1.55rem; font-weight: 650; }
	.pc-google-reviews__heading p { margin-top: .55rem; font-size: .76rem; line-height: 1.55; }
	.pc-google-reviews__proof { gap: .7rem; align-items: stretch; margin-top: 1rem; }
	.pc-google-reviews__score { min-width: 0; flex: 1; padding: .68rem .75rem; border-radius: 13px; }
	.pc-google-reviews__score > strong { font-size: 1.5rem; }
	.pc-google-reviews__score span:last-child { font-size: .6rem; }
	.pc-google-reviews__controls { align-items: stretch; }
	.pc-google-reviews__controls .pc-scroll-arrow { width: 40px; height: 40px; }
	.pc-google-reviews__track { width: calc(100% + 1.15rem); gap: .75rem; padding-bottom: 1rem; }
	.pc-google-review-card { flex-basis: min(82vw, 300px); min-height: 210px; padding: 1rem; border-radius: 17px; }
	.pc-google-review-card > p { font-size: .74rem; line-height: 1.7; }
	.pc-google-reviews__footer { justify-content: flex-start; margin-top: .5rem; }
	.pc-google-reviews__cta { min-height: 42px; font-size: .7rem; }
	.pc-google-reviews__plugin { padding: .65rem; border-radius: 18px; }
	.pc-google-reviews__plugin .wp-gr { --card-gap: 10px; }
	.pc-google-reviews__plugin .wp-gr .grw-review-inner { padding: 14px !important; border-radius: 15px !important; }
	.pc-google-reviews__trust { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
	.pc-google-reviews__trust > span,
	.pc-google-reviews__trust > a { min-height: 38px; justify-content: center; padding: .5rem .55rem; font-size: .59rem; }
	.pc-google-reviews__plugin .wp-gr .wp-google-img img { width: 58px !important; height: 58px !important; }

	/* The listing's name is a long SEO title that ran to six lines on a phone. */
	.pc-google-reviews__plugin .wp-gr .grw-header .wp-google-name,
	.pc-google-reviews__plugin .wp-gr .grw-header .wp-google-name a {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		font-size: .95rem !important;
		line-height: 1.35 !important;
	}

	/* The plugin fixes every slide to the same height and hides the overflow, so
	   a longer review was cut mid-word behind a stray inner scrollbar. Clamp the
	   text instead: it ends on a line, with an ellipsis, and the full review is
	   still one tap away on Google. */
	.pc-google-reviews__plugin .wp-gr .wp-google-feedback,
	.pc-google-reviews__plugin .wp-gr .grw-scroll { overflow: hidden !important; }
	.pc-google-reviews__plugin .wp-gr .wp-google-text {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
		overflow: hidden;
	}
}

/* Swup progressively enhanced page transition. Opacity and transform stay on
   the compositor, preventing transition-related layout shifts. */
.transition-fade {
	opacity: 1;
	transform: translateY(0);
}
html.is-changing .transition-fade {
	transition: opacity 180ms ease, transform 180ms ease;
}
html.is-animating .transition-fade,
html.is-rendering .transition-fade {
	opacity: 0;
	transform: translateY(4px);
}
#swup:focus { outline: none; }

@media (prefers-reduced-motion: reduce) {
	html.is-changing .transition-fade { transition: none; }
	html.is-animating .transition-fade,
	html.is-rendering .transition-fade {
		opacity: 1;
		transform: none;
	}
}

/* =============================================================
   Premium polish pass — refined typography, hovers & rhythm
   ============================================================= */

/* Balanced headings — no awkward single-word wraps */
h1, h2, h3 { text-wrap: balance; }

/* Category nav: animated underline + confident spacing */
.pc-category-nav .nav-top-link { position: relative; }
.pc-category-nav .nav-top-link::after {
	content: ""; position: absolute; left: .9rem; right: 100%; bottom: .45rem;
	height: 2px; border-radius: 2px; background: var(--pc-magenta);
	transition: right var(--pc-transition);
}
.pc-category-nav .nav-top-link:hover::after,
.pc-category-nav .has-mega-menu:focus-within > .nav-top-link::after { right: .9rem; }

/* Product cards: warmer hover, subtle brand border tint */
.pc-product-card { will-change: transform; }
.pc-product-card:hover { border-color: #f3cfe4; box-shadow: 0 18px 40px rgba(80, 22, 60, .12); }

/* Price panel: lighter, calmer */

/* Collection / category tiles: gentle lift + ring */

/* Section rhythm: keep heads tight to their rows */

/* View-all: slide the arrow, not the text */

/* Duo banners: soft inner vignette for text legibility */

/* Hero slider dots: slightly larger, easier to see */

/* Buttons: crisper press feedback */
.btn:active { transform: translateY(1px) scale(.99); }

/* Scroll arrows: hide when they can't scroll (JS sets [data-scroll-end]) */
.pc-scroll-arrow[disabled] { opacity: .35; pointer-events: none; }

/* Floating actions: gentle entrance shadow */

@media (prefers-reduced-motion: reduce) {
	.pc-category-nav .nav-top-link::after { transition: none; }
}

/* =============================================================
   Single Product — premium redesign matching the storefront
   ============================================================= */

.pc-single-product .pc-shop-wrap { padding: 1rem 0 3rem; }

/* Two-column layout: gallery card + summary */
.pc-single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}

/* Gallery: framed card like the product tiles */
.pc-single-product .woocommerce-product-gallery {
	width: 100% !important; float: none !important;
	border: 1px solid #ece7f0; border-radius: 16px; overflow: hidden;
	background: var(--pc-cream);
}
.pc-single-product .woocommerce-product-gallery__wrapper { border-radius: 0; }
.pc-single-product .woocommerce-product-gallery img { width: 100%; height: auto; }
.pc-single-product .flex-control-thumbs { display: flex; gap: .5rem; padding: .6rem; margin: 0; }
.pc-single-product .flex-control-thumbs li { width: 72px; }
.pc-single-product .flex-control-thumbs img { border-radius: 8px; border: 2px solid transparent; opacity: .75; transition: opacity var(--pc-transition), border-color var(--pc-transition); }
.pc-single-product .flex-control-thumbs img.flex-active,
.pc-single-product .flex-control-thumbs img:hover { opacity: 1; border-color: var(--pc-magenta); }

/* Summary column */
.pc-single-product div.product .summary {
	width: 100% !important; float: none !important; margin: 0; padding: 0;
}
.pc-single-product .product_title {
	font-size: clamp(1.6rem, 2.6vw, 2.3rem); font-weight: 700; letter-spacing: -.02em;
	margin-bottom: .35rem;
}
.pc-single-product .woocommerce-product-rating {
	display: flex; align-items: center; gap: .5rem; margin: 0 0 .75rem !important;
}
.pc-single-product .woocommerce-product-rating .star-rating { margin: 0; }
.pc-single-product .woocommerce-review-link { font-size: .85rem; color: var(--pc-ink-soft); }
.pc-single-product .woocommerce-review-link:hover { color: var(--pc-magenta); }

.pc-single-product div.product p.price {
	display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
	font-size: 1.5rem !important; font-weight: 700; color: var(--pc-ink) !important;
	padding: .8rem 1rem; background: #fdf7f4; border: 1px solid #f6e8e0; border-radius: 12px;
	margin-bottom: 1.25rem !important;
}
.pc-single-product div.product p.price del { font-size: 1.05rem; color: var(--pc-ink-soft); opacity: .75; }
.pc-single-product div.product p.price ins { text-decoration: none; color: var(--pc-success); }
.pc-single-product div.product p.price ins .amount, .pc-single-product div.product p.price ins bdi { color: var(--pc-success); }

/* Booking fields: clean 3-up grid */
.pc-single-product .pc-booking-fields {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem;
	margin: 0 0 1.25rem; padding: 1.1rem;
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 14px;
}
.pc-single-product .pc-field-row { flex: none; }
.pc-single-product .pc-field-row label { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--pc-ink-soft); }
.pc-single-product .pc-field-row input,
.pc-single-product .pc-field-row select {
	width: 100%; padding: .65rem .8rem; font-size: .9rem;
	border: 1.5px solid #ece7f0; border-radius: 10px; background: var(--pc-white);
	transition: border-color var(--pc-transition), box-shadow var(--pc-transition);
}
.pc-single-product .pc-field-row input:focus,
.pc-single-product .pc-field-row select:focus { border-color: var(--pc-magenta); box-shadow: 0 0 0 3px rgba(192,40,143,.1); outline: none; }
.pc-single-product .pc-addons { grid-column: 1 / -1; }

/* Quantity + CTA row */
.pc-single-product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-bottom: .5rem !important; }
.pc-single-product form.cart .pc-booking-fields { flex-basis: 100%; }
.pc-single-product form.cart div.quantity { margin: 0 !important; }
.pc-single-product .quantity .qty {
	width: 4.2rem; padding: .85rem .5rem; text-align: center;
	border: 1.5px solid #ece7f0; border-radius: var(--pc-radius-pill);
	font-weight: 700; font-size: .95rem;
}
.pc-single-product .single_add_to_cart_button.button {
	padding: .95rem 2.1rem !important; font-size: .95rem !important;
}
.pc-single-product .btn--whatsapp { padding: .95rem 1.6rem; }

/* Trust strip under CTAs */
.pc-single-trust {
	display: flex; flex-wrap: wrap; gap: .5rem 1.5rem;
	padding: 1rem 0 0; margin-top: .75rem; border-top: 1px dashed #ece7f0;
}
.pc-single-trust li { display: flex; align-items: center; gap: .45rem; font-size: .84rem; font-weight: 600; color: var(--pc-ink-soft); }
.pc-single-trust li svg { color: var(--pc-success); flex-shrink: 0; }

/* Meta chips + inclusions inherit card language */
.pc-single-product .pc-meta-chips li { background: #fbeaf3; color: var(--pc-berry); }
.pc-single-product .pc-inclusions { background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 14px; }

/* Tabs: full-width row under the grid, styled as underline tabs */
.pc-single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 2.5rem; }
.pc-single-product .woocommerce-tabs ul.tabs {
	display: flex; gap: 1.75rem; margin: 0 0 1.5rem; padding: 0 0 .1rem;
	list-style: none; border-bottom: 1px solid #ece7f0;
	background: none;
}
.pc-single-product .woocommerce-tabs ul.tabs li {
	background: none; border: none; border-radius: 0; margin: 0; padding: 0;
}
.pc-single-product .woocommerce-tabs ul.tabs li::before,
.pc-single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.pc-single-product .woocommerce-tabs ul.tabs li a {
	display: inline-block; padding: .65rem 0; font-weight: 700; font-size: .95rem;
	color: var(--pc-ink-soft); border-bottom: 3px solid transparent; margin-bottom: -1px;
	transition: color var(--pc-transition), border-color var(--pc-transition);
}
.pc-single-product .woocommerce-tabs ul.tabs li.active a,
.pc-single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--pc-magenta); border-bottom-color: var(--pc-magenta); }
.pc-single-product .woocommerce-Tabs-panel {
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 14px;
	padding: 1.75rem;
}
.pc-single-product .woocommerce-Tabs-panel > h2:first-of-type { display: none; }
.pc-single-product .woocommerce-Tabs-panel p:last-child { margin-bottom: 0; }

/* Reviews inside tab */
.pc-single-product .woocommerce-Reviews .comment_container { display: flex; gap: .9rem; }
.pc-single-product .woocommerce-Reviews ol.commentlist { margin: 0 0 1.5rem; padding: 0; list-style: none; }
.pc-single-product .woocommerce-Reviews li.review { margin-bottom: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid #f3eef6; }
.pc-single-product .woocommerce-Reviews img.avatar { border-radius: 50%; width: 44px; height: 44px; }
.pc-single-product #review_form .comment-reply-title { font-weight: 700; }

/* Related products: section heading + grid of theme cards */
.pc-single-product .related.products { grid-column: 1 / -1; margin-top: 3rem; }
.pc-single-product .related.products > h2 {
	font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700; letter-spacing: -.01em;
	margin-bottom: 1.5rem; position: relative; padding-bottom: .6rem;
}
.pc-single-product .related.products > h2::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 44px; height: 3px;
	border-radius: 3px; background: var(--pc-magenta);
}
.pc-single-product .related.products ul.products {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem;
	margin: 0; padding: 0; list-style: none;
}
.pc-single-product .related.products ul.products::before,
.pc-single-product .related.products ul.products::after { display: none; }
.pc-single-product .related.products .pc-product-card { width: 100%; margin: 0; float: none; }

/* FAQ block inherits container width */
.pc-single-product .pc-faq { grid-column: 1 / -1; padding: 2rem 0 0; }

@media (max-width: 960px) {
	.pc-single-product div.product { grid-template-columns: 1fr; }
	.pc-single-product .pc-booking-fields { grid-template-columns: 1fr 1fr; }
	.pc-single-product .related.products ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.pc-single-product .pc-booking-fields { grid-template-columns: 1fr; }
	.pc-single-product .related.products ul.products { grid-template-columns: 1fr; }
	.pc-single-product form.cart .single_add_to_cart_button.button,
	.pc-single-product form.cart .btn--whatsapp { flex: 1 1 100%; justify-content: center; }
}

/* Single product — higher-specificity overrides vs WooCommerce core CSS */
.woocommerce .pc-single-product div.product .woocommerce-tabs ul.tabs,
.pc-single-product div.product .woocommerce-tabs ul.tabs {
	display: flex; gap: 1.75rem; margin: 0 0 1.5rem; padding: 0;
	list-style: none; border-bottom: 1px solid #ece7f0; background: none; overflow: visible;
}
.pc-single-product div.product .woocommerce-tabs ul.tabs::before,
.pc-single-product div.product .woocommerce-tabs ul.tabs::after { display: none; }
.pc-single-product div.product .woocommerce-tabs ul.tabs li {
	background: none; border: none; border-radius: 0; margin: 0; padding: 0; display: inline-block;
}
.pc-single-product div.product .woocommerce-tabs ul.tabs li::before,
.pc-single-product div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.pc-single-product div.product .woocommerce-tabs ul.tabs li a {
	display: inline-block; padding: .65rem 0; font-weight: 700; font-size: .95rem;
	color: var(--pc-ink-soft); border-bottom: 3px solid transparent; margin-bottom: -1px; text-shadow: none;
}
.pc-single-product div.product .woocommerce-tabs ul.tabs li.active { background: none; }
.pc-single-product div.product .woocommerce-tabs ul.tabs li.active a,
.pc-single-product div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--pc-magenta); border-bottom-color: var(--pc-magenta); }
.pc-single-product div.product .woocommerce-Tabs-panel {
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 14px; padding: 1.75rem;
}
.pc-single-product div.product .woocommerce-Tabs-panel > h2:first-of-type { display: none; }

/* Gallery: square premium frame */
.pc-single-product div.product .woocommerce-product-gallery__image img,
.pc-single-product div.product .woocommerce-product-gallery__wrapper img {
	aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: auto;
}

/* Price panel: make sure it wins over core */
.woocommerce .pc-single-product div.product p.price,
.pc-single-product div.product p.price {
	color: var(--pc-ink); font-size: 1.5rem; font-weight: 700;
	display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
	padding: .8rem 1rem; background: #fdf7f4; border: 1px solid #f6e8e0; border-radius: 12px;
	margin-bottom: 1.25rem;
}

/* Single product: full-width children inside the product grid */
.pc-single-product div.product > .pc-google-reviews,
.pc-single-product div.product > section,
.pc-single-product div.product > .pc-faq { grid-column: 1 / -1; }
.pc-single-product div.product > .pc-google-reviews { margin-top: 2.5rem; border-radius: 18px; overflow: hidden; }

/* Single product — giftlaya-style summary components */
.pc-rating-row { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: 0 0 1.1rem; }
.pc-rating-row__pill {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .4rem .8rem; border-radius: var(--pc-radius-pill);
	background: #fff8e6; border: 1px solid #f3e3b3;
	font-size: .88rem; color: var(--pc-ink);
}
.pc-rating-row__pill svg { color: var(--pc-gold); }
.pc-rating-row__pill span { color: var(--pc-ink-soft); }
.pc-rating-row__chip {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .4rem .8rem; border-radius: var(--pc-radius-pill);
	font-size: .84rem; font-weight: 600;
}
.pc-rating-row__chip--sameday { background: #e9f1ff; color: #2456b8; }
.pc-rating-row__more { font-size: .86rem; font-weight: 600; color: var(--pc-ink-soft); }
.pc-rating-row__more:hover { color: var(--pc-magenta); }

/* What's Included card (green check chips) */
.pc-included-card {
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 14px;
	padding: 1.1rem 1.2rem; margin: 0 0 1.25rem;
}
.pc-included-card__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .9rem; }
.pc-included-card__head h3 { margin: 0; font-size: 1.02rem; font-weight: 700; }
.pc-included-card__count { font-size: .78rem; font-weight: 600; color: var(--pc-ink-soft); background: #f6f2f8; padding: .25rem .6rem; border-radius: var(--pc-radius-pill); }
.pc-included-card__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.pc-included-card__chips li {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .45rem .8rem; border-radius: 10px;
	background: #f2faf5; border: 1px solid #d8efe1;
	font-size: .84rem; font-weight: 600; color: var(--pc-ink);
}
.pc-included-card__chips li svg { color: var(--pc-success); flex-shrink: 0; }

/* Expert WhatsApp card */

/* Reviews section sits right under gallery+summary, above tabs */
.pc-single-product div.product > .pc-google-reviews { margin-top: 1.5rem; }
.pc-single-product div.product .woocommerce-tabs { margin-top: 2rem; }

/* =============================================================
   About This Product — premium accordion stack (product summary)
   ============================================================= */
.pc-about-product { margin-top: 1.5rem; }
.pc-about-product__title { font-size: 1.05rem; font-weight: 700; margin-bottom: .8rem; }

.pc-about-item {
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 14px;
	margin-bottom: .65rem; overflow: hidden;
	transition: box-shadow var(--pc-transition), border-color var(--pc-transition);
}
.pc-about-item:hover { box-shadow: var(--pc-shadow-sm); }
.pc-about-item:has(.pc-about-item__toggle[aria-expanded="true"]) { border-color: #e4d3ec; box-shadow: var(--pc-shadow-sm); }

.pc-about-item__toggle {
	display: flex; align-items: center; gap: .8rem; width: 100%;
	padding: .9rem 1rem; text-align: left; font-weight: 600; font-size: .93rem; color: var(--pc-ink);
}
.pc-about-item__icon {
	width: 38px; height: 38px; border-radius: 12px; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
}
.pc-about-item--blue .pc-about-item__icon { background: #eaf1ff; color: #2456b8; }
.pc-about-item--green .pc-about-item__icon { background: #eafaf0; color: #1c8a4c; }
.pc-about-item--red .pc-about-item__icon { background: #feeff0; color: #cf3b4e; }
.pc-about-item--amber .pc-about-item__icon { background: #fff6e0; color: #b87f14; }
.pc-about-item__label { flex: 1; }
.pc-about-item__chevron { color: var(--pc-ink-soft); transition: transform var(--pc-transition); }
.pc-about-item__toggle[aria-expanded="true"] .pc-about-item__chevron { transform: rotate(180deg); }

.pc-about-item__panel { padding: 0 1rem 1rem 3.6rem; }
.pc-about-item__panel p { font-size: .88rem; margin-bottom: .5rem; }
.pc-about-item__panel p:last-child { margin-bottom: 0; }

/* Booking card: city-only layout */
.pc-single-product .pc-booking-fields--city-only { grid-template-columns: 1fr; }
.pc-single-product .pc-booking-fields--city-only .pc-addons { grid-column: auto; }

@media (max-width: 600px) {
	.pc-about-item__panel { padding-left: 1rem; }
}

/* [hidden] must always win over layout display rules */
.pc-field-row[hidden], [data-city-other][hidden] { display: none !important; }

/* Product page: sticky gallery while the summary scrolls */
@media (min-width: 961px) {
	.pc-single-product .woocommerce-product-gallery {
		position: sticky;
		top: 96px; /* clears the sticky header */
	}
}

/* Product page: calmer Google-reviews heading */
.pc-single-product .pc-google-reviews h2 {
	font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}
.pc-single-product .pc-google-reviews { padding-top: 2rem; padding-bottom: 2rem; }

/* =============================================================
   Product page v2 — solid sticky gallery + cleaner summary
   ============================================================= */

/* Compact gallery column: shorter card = longer, more obvious stick */
@media (min-width: 961px) {
	.pc-single-product div.product {
		grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
	}
	.pc-single-product .woocommerce-product-gallery {
		position: sticky; top: 90px; align-self: start;
		max-width: 480px;
	}
}

/* Price: boxless giftlaya style — bold price, muted strike, green off-chip */
.woocommerce .pc-single-product div.product p.price,
.pc-single-product div.product p.price {
	background: none; border: none; padding: 0;
	font-size: 1.7rem; margin-bottom: .9rem;
}
.pc-single-product div.product p.price del { font-size: 1.05rem; }

/* Title slightly tighter for balance */
.pc-single-product .product_title { font-size: clamp(1.5rem, 2.3vw, 2rem); }

/* Summary rhythm: consistent vertical spacing */
.pc-single-product div.product .summary > * { margin-bottom: .9rem; }
.pc-single-product div.product .summary > .pc-about-product { margin-top: 1.4rem; }

/* Mobile sticky booking bar */
.pc-mobile-book-bar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 450;
	display: none; align-items: center; justify-content: space-between; gap: 1rem;
	padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
	background: var(--pc-white); border-top: 1px solid #ece7f0;
	box-shadow: 0 -8px 30px rgba(42, 15, 61, .12);
}
.pc-mobile-book-bar__price { display: flex; flex-direction: column; line-height: 1.2; }
.pc-mobile-book-bar__price .price { font-weight: 800; font-size: 1.15rem; color: var(--pc-ink); }
.pc-mobile-book-bar__price .price del { font-size: .8rem; opacity: .6; margin-right: .3rem; }
.pc-mobile-book-bar__price .price ins { text-decoration: none; color: var(--pc-success); }
.pc-mobile-book-bar__price small { font-size: .72rem; color: var(--pc-ink-soft); }
.pc-mobile-book-bar .btn { padding: .8rem 1.6rem; }
@media (max-width: 960px) {
	.pc-mobile-book-bar { display: flex; }
	.pc-single-product { padding-bottom: 5rem; }
	.pc-floating-actions { bottom: 5.5rem; }
}

/* =============================================================
   Product page v3 — SpecialYou-inspired conversion layout
   ============================================================= */
.pc-single-product {
	background: linear-gradient(180deg, #fff 0, #fff 680px, #fcf9fb 680px, #fcf9fb 100%);
}
.pc-single-product .pc-wc-page__breadcrumbs,
.pc-single-product > .pc-container:first-child { padding-top: .85rem; padding-bottom: .85rem; }
.pc-single-product .pc-breadcrumbs { color: #7b6d75; font-size: .75rem; }
.pc-single-product .pc-shop-wrap { padding: .25rem 0 3rem; }

.pc-single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr);
	gap: clamp(2rem, 4vw, 4.5rem);
	align-items: start;
}

/* Keep WooCommerce's sale badge inside the gallery cell. Without explicit
   placement it becomes the first grid item and creates a large empty row. */
.pc-single-product div.product > .woocommerce-product-gallery {
	grid-column: 1;
	grid-row: 1;
}
.pc-single-product div.product > .summary {
	grid-column: 2;
	grid-row: 1;
}
.pc-single-product div.product > span.onsale {
	position: relative !important;
	top: 1rem !important;
	left: 1rem !important;
	right: auto !important;
	grid-column: 1;
	grid-row: 1;
	align-self: start;
	justify-self: start;
	z-index: 9;
	min-width: 0;
	min-height: 0;
	margin: 0 !important;
	padding: .54rem .78rem;
	border: 1px solid rgba(255,255,255,.42);
	border-radius: 999px;
	background: linear-gradient(135deg, #a80f52 0%, #d32b70 100%);
	box-shadow: 0 8px 22px rgba(139, 12, 68, .22);
	color: #fff;
	font-size: .7rem;
	font-weight: 750;
	line-height: 1;
}

/* Large editorial gallery */
.pc-single-product .woocommerce-product-gallery {
	width: 100% !important;
	max-width: none;
	float: none !important;
	overflow: hidden;
	border: 1px solid #eadfe5;
	border-radius: 22px;
	background: #f8f3f5;
	box-shadow: 0 18px 50px rgba(61, 26, 43, .08);
}
.pc-single-product div.product .woocommerce-product-gallery__image img,
.pc-single-product div.product .woocommerce-product-gallery__wrapper img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
}
.pc-single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	top: 1rem;
	right: 1rem;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(74, 39, 55, .12);
	background: rgba(255,255,255,.94);
	box-shadow: 0 7px 20px rgba(47,24,35,.1);
}
.pc-single-product .flex-control-thumbs {
	display: flex;
	gap: .65rem;
	overflow-x: auto;
	padding: .75rem;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.pc-single-product .flex-control-thumbs::-webkit-scrollbar { display: none; }
.pc-single-product .flex-control-thumbs li { flex: 0 0 74px; width: 74px; scroll-snap-align: start; }
.pc-single-product .flex-control-thumbs img {
	aspect-ratio: 1;
	border: 2px solid transparent;
	border-radius: 11px;
	object-fit: cover;
	opacity: .72;
}
.pc-single-product .flex-control-thumbs img.flex-active,
.pc-single-product .flex-control-thumbs img:hover { border-color: var(--pc-berry); opacity: 1; }

/* Product information card */
.pc-single-product div.product .summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: clamp(1.35rem, 2.7vw, 2rem);
	border: 1px solid #ede4e8;
	border-radius: 22px;
	background: rgba(255,255,255,.97);
	box-shadow: 0 18px 54px rgba(67, 29, 47, .075);
}
.pc-product-eyebrow {
	display: flex;
	align-items: center;
	gap: .55rem;
	margin-bottom: .7rem;
	color: #856f7a;
	font-size: .7rem;
	font-weight: 650;
	letter-spacing: .055em;
	text-transform: uppercase;
}
.pc-product-eyebrow a { color: var(--pc-berry); }
.pc-product-eyebrow__dot { width: 4px; height: 4px; border-radius: 50%; background: #d6bdc9; }
.pc-product-eyebrow__status { color: #397b57; }
.pc-single-product .product_title {
	max-width: 18ch;
	margin: 0 0 .75rem;
	font-size: clamp(1.65rem, 2.25vw, 2.15rem);
	font-weight: 650;
	line-height: 1.22;
	letter-spacing: -.026em;
}
.pc-single-product .pc-meta-chips { gap: .4rem; margin-bottom: .8rem; }
.pc-single-product .pc-meta-chips li {
	padding: .34rem .66rem;
	border: 1px solid #efdce6;
	border-radius: 999px;
	background: #fff6fa;
	color: #8e3a63;
	font-size: .68rem;
	font-weight: 600;
}
.woocommerce .pc-single-product div.product p.price,
.pc-single-product div.product p.price {
	display: flex;
	align-items: baseline;
	gap: .65rem;
	margin: 0 0 .18rem !important;
	padding: 0;
	border: 0;
	background: none;
	color: #20151b !important;
	font-size: clamp(1.65rem, 2.5vw, 2rem) !important;
	font-weight: 700;
	line-height: 1.25;
}
.pc-single-product div.product p.price del { color: #958991; font-size: 1rem; font-weight: 500; }
.pc-single-product div.product p.price ins { color: #20151b; text-decoration: none; }
.pc-single-product div.product p.price ins .amount,
.pc-single-product div.product p.price ins bdi { color: inherit; }
.pc-product-price-note {
	display: flex;
	align-items: center;
	gap: .65rem;
	margin-bottom: .9rem;
	color: #7f7279;
	font-size: .72rem;
}
.pc-product-price-note strong {
	padding: .24rem .52rem;
	border-radius: 7px;
	background: #eaf8ee;
	color: #168244;
	font-size: .66rem;
}
.pc-rating-row { margin-bottom: .95rem; }
.pc-rating-row__pill { background: #fff7df; border-color: #efdfab; }
.pc-rating-row__more { margin-left: auto; }
.pc-single-product .woocommerce-product-details__short-description {
	margin: .6rem 0 1rem;
	font-size: .85rem;
	line-height: 1.7;
}
.pc-single-product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* Included package */
.pc-included-card {
	margin: 0 0 1rem;
	padding: 1rem;
	border: 1px solid #e8e0e4;
	border-radius: 15px;
	background: #fff;
}
.pc-included-card__head { margin-bottom: .75rem; }
.pc-included-card__head h3 { font-size: .93rem; font-weight: 650; }
.pc-included-card__chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; }
.pc-included-card__chips li {
	min-width: 0;
	padding: .5rem .6rem;
	border: 0;
	border-radius: 9px;
	background: #f5faf6;
	color: #453940;
	font-size: .72rem;
	font-weight: 500;
}

/* Booking panel */
.pc-single-product form.cart {
	display: grid;
	grid-template-columns: auto minmax(180px, 1fr) minmax(160px, auto);
	gap: .65rem;
	align-items: stretch;
	margin: 0 0 .8rem !important;
}
.pc-single-product form.cart .pc-booking-fields { grid-column: 1 / -1; }
.pc-single-product .pc-booking-fields {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, .85fr);
	gap: .75rem;
	margin: 0 0 .25rem;
	padding: 1rem;
	border: 1px solid #eadde3;
	border-radius: 16px;
	background: linear-gradient(145deg, #fffafd, #fff);
}
.pc-booking-fields__head {
	display: grid;
	grid-column: 1 / -1;
	margin-bottom: .05rem;
}
.pc-booking-fields__step {
	color: var(--pc-berry);
	font-size: .63rem;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.pc-booking-fields__head strong { color: #2f2229; font-size: .95rem; font-weight: 650; }
.pc-booking-fields__head small { color: #8b7b83; font-size: .68rem; }
.pc-single-product .pc-field-row label {
	display: block;
	margin-bottom: .3rem;
	color: #62545b;
	font-size: .65rem;
	font-weight: 650;
	letter-spacing: .025em;
	text-transform: none;
}
.pc-single-product .pc-field-row input,
.pc-single-product .pc-field-row select {
	min-height: 44px;
	padding: .62rem .7rem;
	border: 1px solid #dfd2d8;
	border-radius: 10px;
	background: #fff;
	color: #30242a;
	font-size: .78rem;
}
.pc-single-product .pc-field-row input:focus,
.pc-single-product .pc-field-row select:focus {
	border-color: var(--pc-berry);
	box-shadow: 0 0 0 3px rgba(143,16,83,.09);
}
.pc-single-product .pc-field-row[data-city-other],
.pc-single-product .pc-addons { grid-column: 1 / -1; }
.pc-single-product form.cart div.quantity { display: flex; margin: 0 !important; }
.pc-single-product .quantity .qty {
	width: 58px;
	height: 50px;
	padding: .65rem .3rem;
	border: 1px solid #dfd2d8;
	border-radius: 12px;
}
.pc-single-product .single_add_to_cart_button.button {
	min-height: 50px;
	padding: .75rem 1.3rem !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, #8f1053, #bd276f) !important;
	box-shadow: 0 10px 24px rgba(143,16,83,.2);
	font-size: .86rem !important;
	font-weight: 650 !important;
}
.pc-single-product form.cart > .btn--whatsapp {
	min-height: 50px;
	padding: .75rem 1rem;
	border: 1px solid #bce7c8;
	border-radius: 12px;
	background: #f0fbf3;
	color: #168044;
	font-size: .76rem;
	box-shadow: none;
}

/* Service assurance cards */
.pc-single-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .5rem;
	margin: .8rem 0 0;
	padding: .85rem 0 0;
	border-top: 1px solid #eee4e9;
}
.pc-single-trust li {
	display: flex;
	align-items: center;
	gap: .5rem;
	min-width: 0;
	padding: .6rem;
	border-radius: 11px;
	background: #faf7f9;
}
.pc-single-trust__icon {
	display: grid;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 10px;
	background: #f7e8f0;
	color: var(--pc-berry);
}
.pc-single-trust li > span:last-child { display: grid; min-width: 0; }
.pc-single-trust li strong { color: #34272e; font-size: .66rem; font-weight: 650; line-height: 1.3; }
.pc-single-trust li small { color: #897982; font-size: .55rem; line-height: 1.35; }


/* Compact information accordions */
.pc-about-product { margin-top: 1rem; }
.pc-about-product__title { margin-bottom: .65rem; font-size: .92rem; font-weight: 650; }
.pc-about-item { margin-bottom: .5rem; border-radius: 12px; }
.pc-about-item__toggle { min-height: 52px; padding: .65rem .8rem; font-size: .78rem; }
.pc-about-item__icon { width: 34px; height: 34px; border-radius: 10px; }
.pc-about-item__panel { padding: 0 .85rem .85rem 3.7rem; }

.pc-single-product div.product > .pc-google-reviews { margin-top: 2rem; border-radius: 22px; }
.pc-single-product .related.products { margin-top: 2.5rem; }

@media (min-width: 961px) {
	.pc-single-product .woocommerce-product-gallery {
		position: sticky;
		top: 92px;
		align-self: start;
	}
}

@media (max-width: 1100px) {
	.pc-single-product div.product { grid-template-columns: minmax(0, 1fr) minmax(380px, .92fr); gap: 1.6rem; }
	.pc-single-trust { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
	.pc-single-product div.product { grid-template-columns: 1fr; }
	.pc-single-product div.product > .woocommerce-product-gallery,
	.pc-single-product div.product > span.onsale { grid-column: 1; grid-row: 1; }
	.pc-single-product div.product > .summary { grid-column: 1; grid-row: 2; }
	.pc-single-product .woocommerce-product-gallery { position: relative; top: auto; }
	.pc-single-product div.product .summary { max-width: none; }
}

@media (max-width: 600px) {
	.pc-single-product { background: #fff; }
	.pc-single-product .pc-wc-page__breadcrumbs,
	.pc-single-product > .pc-container:first-child { padding-top: .55rem; padding-bottom: .55rem; }
	.pc-single-product .pc-breadcrumbs ol { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
	.pc-single-product .pc-shop-wrap { padding-top: 0; }
	.pc-single-product div.product { gap: .95rem; }
	.pc-single-product div.product > span.onsale {
		top: .7rem !important;
		left: .7rem !important;
		padding: .46rem .65rem;
		font-size: .64rem;
	}
	.pc-single-product .woocommerce-product-gallery { border-radius: 16px; box-shadow: none; }
	.pc-single-product div.product .summary {
		padding: 1rem;
		border-radius: 16px;
		box-shadow: 0 10px 32px rgba(67,29,47,.06);
	}
	.pc-product-eyebrow { margin-bottom: .45rem; font-size: .59rem; }
	.pc-single-product .product_title { max-width: none; font-size: 1.38rem; line-height: 1.27; }
	.woocommerce .pc-single-product div.product p.price,
	.pc-single-product div.product p.price { font-size: 1.55rem !important; }
	.pc-product-price-note { align-items: flex-start; font-size: .62rem; }
	.pc-rating-row__more { margin-left: 0; }
	.pc-included-card__chips { grid-template-columns: 1fr 1fr; }
	.pc-included-card__chips li { padding: .45rem .5rem; font-size: .64rem; }
	.pc-single-product .pc-booking-fields { grid-template-columns: 1fr 1fr; padding: .85rem; }
	.pc-booking-fields__head,
	.pc-single-product .pc-booking-fields .pc-field-row:first-of-type,
	.pc-single-product .pc-field-row[data-city-other],
	.pc-single-product .pc-addons { grid-column: 1 / -1; }
	.pc-single-product form.cart { grid-template-columns: 54px 1fr; }
	.pc-single-product form.cart > .btn--whatsapp { grid-column: 1 / -1; }
	.pc-single-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pc-single-trust li { display: grid; justify-items: center; padding: .55rem .3rem; text-align: center; }
	.pc-single-trust li strong { font-size: .57rem; }
	.pc-single-trust li small { display: none; }
	.pc-about-item__panel { padding-left: .85rem; }
	.pc-single-product .related.products ul.products {
		display: flex;
		gap: .8rem;
		overflow-x: auto;
		padding-bottom: .75rem;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.pc-single-product .related.products .pc-product-card { flex: 0 0 min(72vw, 270px); scroll-snap-align: start; }
}

/* =============================================================
   Product page v4 — controlled shell and compact vertical rhythm
   ============================================================= */
.pc-single-product .pc-product-breadcrumbs,
.pc-single-product .pc-product-shell {
	width: calc(100% - 3rem);
	max-width: 1280px;
}
.pc-single-product .pc-product-breadcrumbs {
	padding: .75rem 0 .6rem;
}
.pc-single-product .pc-product-breadcrumbs .pc-breadcrumbs {
	margin: 0;
	line-height: 1.45;
}
.pc-single-product .pc-product-shell {
	padding-top: .35rem;
}
.woocommerce .pc-single-product .pc-product-shell div.product,
.pc-single-product .pc-product-shell div.product {
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	column-gap: clamp(1.5rem, 3vw, 2.75rem);
	row-gap: clamp(2rem, 4vw, 3.5rem);
	width: 100%;
	min-width: 0;
	margin: 0 !important;
}
/* WooCommerce clearfix nodes must not become anonymous grid items. */
.woocommerce .pc-single-product .pc-product-shell div.product::before,
.woocommerce .pc-single-product .pc-product-shell div.product::after {
	display: none !important;
	content: none !important;
}
.pc-single-product .pc-product-shell div.product > .woocommerce-product-gallery,
.pc-single-product .pc-product-shell div.product > .summary {
	min-width: 0;
	align-self: start;
}
.pc-single-product .pc-product-shell div.product > .woocommerce-product-gallery {
	grid-column: 1;
	grid-row: 1;
	margin: 0 !important;
}
.pc-single-product .pc-product-shell div.product > .summary {
	grid-column: 2;
	grid-row: 1;
}
.pc-single-product .pc-product-shell div.product > span.onsale {
	grid-column: 1;
	grid-row: 1;
}

@media (max-width: 960px) {
	.pc-single-product .pc-product-breadcrumbs,
	.pc-single-product .pc-product-shell {
		width: calc(100% - 2rem);
	}
	.woocommerce .pc-single-product .pc-product-shell div.product,
	.pc-single-product .pc-product-shell div.product {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 1rem;
	}
	.pc-single-product .pc-product-shell div.product > .woocommerce-product-gallery,
	.pc-single-product .pc-product-shell div.product > span.onsale {
		grid-column: 1;
		grid-row: 1;
	}
	.pc-single-product .pc-product-shell div.product > .summary {
		grid-column: 1;
		grid-row: 2;
	}
}

@media (max-width: 600px) {
	.pc-single-product .pc-product-breadcrumbs,
	.pc-single-product .pc-product-shell {
		width: calc(100% - 1.25rem);
	}
	.pc-single-product .pc-product-breadcrumbs {
		padding: .5rem 0 .42rem;
	}
	.pc-single-product .pc-product-shell {
		padding-top: .15rem;
	}
}

/* Product gallery v2 — compact media stage with a desktop thumbnail rail. */
@media (min-width: 961px) {
	.pc-single-product .pc-product-shell .woocommerce-product-gallery {
		position: relative;
		top: auto;
		display: grid;
		grid-template-columns: 68px minmax(0, 1fr);
		gap: .75rem;
		padding: .75rem;
		overflow: visible;
		border-color: #eadfe5;
		background: #fff;
		box-shadow: 0 16px 42px rgba(61, 26, 43, .08);
	}
	.pc-single-product .pc-product-shell .woocommerce-product-gallery__wrapper {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		overflow: hidden;
		border-radius: 16px;
		background: linear-gradient(145deg, #f8f4f6, #f3edef);
	}
	.pc-single-product .pc-product-shell div.product .woocommerce-product-gallery__image img,
	.pc-single-product .pc-product-shell div.product .woocommerce-product-gallery__wrapper img {
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
	.pc-single-product .pc-product-shell .flex-control-thumbs {
		grid-column: 1;
		grid-row: 1;
		align-self: stretch;
		display: flex;
		flex-direction: column;
		gap: .6rem;
		max-height: 100%;
		margin: 0;
		padding: 0 .15rem 0 0;
		overflow-x: hidden;
		overflow-y: auto;
		scroll-snap-type: y proximity;
	}
	.pc-single-product .pc-product-shell .flex-control-thumbs li {
		flex: 0 0 64px;
		width: 64px;
		height: 64px;
		scroll-snap-align: start;
	}
	.pc-single-product .pc-product-shell .flex-control-thumbs img {
		width: 64px;
		height: 64px;
		padding: 3px;
		border: 1px solid #eadfe5;
		border-radius: 12px;
		background: #fff;
		object-fit: cover;
		opacity: .66;
		transition: border-color .2s ease, box-shadow .2s ease, opacity .2s ease, transform .2s ease;
	}
	.pc-single-product .pc-product-shell .flex-control-thumbs img.flex-active,
	.pc-single-product .pc-product-shell .flex-control-thumbs img:hover {
		border-color: var(--pc-berry);
		box-shadow: 0 5px 15px rgba(143, 16, 83, .14);
		opacity: 1;
		transform: translateY(-1px);
	}
	.pc-single-product .pc-product-shell .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
		top: 1.5rem;
		right: 1.5rem;
	}
}

@media (max-width: 960px) {
	.pc-single-product .pc-product-shell .woocommerce-product-gallery {
		overflow: hidden;
		padding: 0;
		border-radius: 18px;
	}
	.pc-single-product .pc-product-shell .flex-control-thumbs {
		gap: .5rem;
		padding: .6rem;
	}
	.pc-single-product .pc-product-shell .flex-control-thumbs li {
		flex-basis: 62px;
		width: 62px;
	}
	.pc-single-product .pc-product-shell .flex-control-thumbs img {
		border-radius: 10px;
	}
}

/* =============================================================
   Checkout — single-step booking flow
   ============================================================= */
.woocommerce-checkout .pc-wc-page { padding-bottom: 3rem; }
.woocommerce-checkout .woocommerce { max-width: var(--pc-container); margin: 0 auto; padding: 0 1.25rem; }

/* Progress steps */
.pc-checkout-steps {
	display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
	margin: 0 0 2rem; padding: 0; list-style: none;
}
.pc-checkout-steps__item { display: flex; align-items: center; gap: .55rem; color: var(--pc-ink-soft); font-size: .88rem; font-weight: 600; }
.pc-checkout-steps__item:not(:last-child)::after {
	content: ""; width: clamp(18px, 6vw, 56px); height: 2px; margin-left: .5rem;
	background: #ece7f0; border-radius: 2px;
}
.pc-checkout-steps__num {
	width: 26px; height: 26px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: #f2eef5; color: var(--pc-ink-soft); font-size: .8rem; font-weight: 700;
}
.pc-checkout-steps__item.is-done .pc-checkout-steps__num { background: var(--pc-success); color: #fff; }
.pc-checkout-steps__item.is-done { color: var(--pc-success); }
.pc-checkout-steps__item.is-active .pc-checkout-steps__num { background: var(--pc-magenta); color: #fff; }
.pc-checkout-steps__item.is-active { color: var(--pc-ink); }

/* Two-column: form + sticky summary */
.woocommerce-checkout form.checkout {
	display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start;
}
.woocommerce-checkout #customer_details { min-width: 0; }
.woocommerce-checkout h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 1rem; }

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 16px;
	padding: clamp(1.1rem, 2.4vw, 1.6rem); margin-bottom: 1.25rem;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.woocommerce-checkout .form-row { margin: 0 0 1rem; padding: 0; float: none !important; width: auto !important; }
.woocommerce-checkout .form-row-wide, .woocommerce-checkout #order_comments_field { grid-column: 1 / -1; }
.woocommerce-checkout .form-row label { display: block; font-size: .8rem; font-weight: 600; color: var(--pc-ink-soft); margin-bottom: .35rem; text-transform: uppercase; letter-spacing: .03em; }
.woocommerce-checkout .form-row .required { color: var(--pc-magenta); border: none; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row .select2-selection,
.woocommerce-checkout .form-row select {
	width: 100%; padding: .8rem .95rem; font-size: .95rem;
	border: 1.5px solid #ece7f0; border-radius: 12px; background: var(--pc-white);
	transition: border-color var(--pc-transition), box-shadow var(--pc-transition);
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--pc-magenta); box-shadow: 0 0 0 3px rgba(192,40,143,.1); outline: none;
}
.woocommerce-checkout .form-row textarea { min-height: 90px; resize: vertical; }

/* Order summary card */
.woocommerce-checkout #order_review_heading { margin-bottom: 1rem; }
.woocommerce-checkout #order_review {
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 16px;
	padding: clamp(1.1rem, 2.4vw, 1.5rem);
	box-shadow: var(--pc-shadow-sm);
}
@media (min-width: 961px) {
	.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { position: sticky; top: 96px; }
	.woocommerce-checkout #order_review_heading { top: 60px; z-index: 2; background: var(--pc-white); }
}
.woocommerce-checkout table.shop_table { border: none; border-radius: 0; margin: 0 0 1rem; }
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td { padding: .7rem 0; border: none; border-bottom: 1px solid #f3eef6; font-size: .92rem; }
.woocommerce-checkout table.shop_table thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--pc-ink-soft); }
.woocommerce-checkout table.shop_table tfoot .order-total th,
.woocommerce-checkout table.shop_table tfoot .order-total td { font-size: 1.1rem; font-weight: 800; color: var(--pc-ink); border-bottom: none; padding-top: 1rem; }
.woocommerce-checkout .product-name { color: var(--pc-ink); font-weight: 600; }
.woocommerce-checkout .product-name .variation,
.woocommerce-checkout .wc-item-meta { margin: .3rem 0 0; font-size: .8rem; color: var(--pc-ink-soft); list-style: none; padding: 0; }
.woocommerce-checkout .wc-item-meta li { display: flex; gap: .35rem; margin: 0; }
.woocommerce-checkout .wc-item-meta strong { font-weight: 600; }

/* Payment box */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: none; padding: 0 0 .75rem; }
.woocommerce-checkout #payment ul.payment_methods li {
	border: 1.5px solid #ece7f0; border-radius: 12px; padding: .85rem 1rem; margin-bottom: .6rem;
	transition: border-color var(--pc-transition), background var(--pc-transition);
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--pc-magenta); background: #fdf6fa; }
.woocommerce-checkout #payment div.payment_box { background: #f9f6fb; border-radius: 10px; font-size: .86rem; color: var(--pc-ink-soft); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #place_order {
	width: 100%; padding: 1.05rem 1.5rem !important; font-size: 1rem !important; font-weight: 700 !important;
	border-radius: var(--pc-radius-pill) !important; background: var(--pc-gradient-brand) !important; color: #fff !important;
	border: none !important; margin-top: .5rem;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: .84rem; }

/* Trust badges + help line */
.pc-checkout-trust { display: grid; gap: .5rem; margin: 1.1rem 0 0; padding: 1rem 0 0; border-top: 1px dashed #ece7f0; list-style: none; }
.pc-checkout-trust li { display: flex; align-items: flex-start; gap: .5rem; font-size: .84rem; font-weight: 600; line-height: 1.45; color: var(--pc-ink-soft); }
.pc-checkout-trust li svg { margin-top: .12rem; }
.pc-checkout-trust li svg { color: var(--pc-success); flex-shrink: 0; }
.pc-checkout-help { margin: .9rem 0 0; font-size: .82rem; color: var(--pc-ink-soft); text-align: center; }
.pc-checkout-help a { color: var(--pc-magenta); font-weight: 600; }

/* Coupon toggle */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: #fdf6fa; border: 1px dashed #e9cfe0; border-radius: 12px;
	color: var(--pc-ink); padding: .8rem 1rem; font-size: .88rem;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout form.checkout_coupon {
	border: 1px solid #ece7f0; border-radius: 14px; padding: 1.1rem; margin-bottom: 1.25rem;
}

@media (max-width: 960px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.pc-checkout-steps { justify-content: center; }
}

/* =============================================================
   Auth — login / register / account dashboard
   ============================================================= */
.woocommerce-account .pc-wc-page { padding-bottom: 3rem; }
.woocommerce-account .woocommerce { max-width: var(--pc-container); margin: 0 auto; padding: 0 1.25rem; }

/* Logged-out: two side-by-side cards */
.woocommerce-account:not(.logged-in) .u-columns.col2-set {
	display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; max-width: 940px; margin: 1rem auto 0;
}
.woocommerce-account:not(.logged-in) .u-columns.col2-set .col-1,
.woocommerce-account:not(.logged-in) .u-columns.col2-set .col-2 {
	width: auto; float: none;
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 18px;
	padding: clamp(1.3rem, 3vw, 2rem); box-shadow: var(--pc-shadow-sm);
}
.woocommerce-account .u-columns h2 { font-size: 1.25rem; font-weight: 700; margin-bottom: 1.1rem; }
.woocommerce-account form.login, .woocommerce-account form.register { border: none; padding: 0; margin: 0; }
.woocommerce-account .form-row { margin-bottom: 1rem; padding: 0; }
.woocommerce-account .form-row label { display: block; font-size: .8rem; font-weight: 600; color: var(--pc-ink-soft); margin-bottom: .35rem; text-transform: uppercase; letter-spacing: .03em; }
.woocommerce-account .form-row .required { color: var(--pc-magenta); border: none; }
.woocommerce-account input.input-text, .woocommerce-account input[type="password"] {
	width: 100%; padding: .8rem .95rem; font-size: .95rem;
	border: 1.5px solid #ece7f0; border-radius: 12px; background: var(--pc-white);
	transition: border-color var(--pc-transition), box-shadow var(--pc-transition);
}
.woocommerce-account input.input-text:focus, .woocommerce-account input[type="password"]:focus {
	border-color: var(--pc-magenta); box-shadow: 0 0 0 3px rgba(192,40,143,.1); outline: none;
}
.woocommerce-account button.woocommerce-button, .woocommerce-account button.woocommerce-form-login__submit,
.woocommerce-account button.woocommerce-form-register__submit {
	width: 100%; padding: .95rem 1.5rem !important; border-radius: var(--pc-radius-pill) !important;
	background: var(--pc-gradient-brand) !important; color: #fff !important; font-weight: 700 !important; border: none !important;
}
.woocommerce-account .woocommerce-form-login__rememberme { font-size: .85rem; color: var(--pc-ink-soft); }
.woocommerce-account .lost_password { font-size: .85rem; margin-top: .8rem; }
.woocommerce-account .lost_password a { color: var(--pc-magenta); font-weight: 600; }
.pc-auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.pc-field-hint { display: block; margin-top: .35rem; font-size: .78rem; color: var(--pc-ink-soft); }

/* Google button */
.pc-auth-divider { position: relative; text-align: center; margin: 1.25rem 0; }
.pc-auth-divider::before { content: ""; position: absolute; inset: 50% 0 auto; height: 1px; background: #ece7f0; }
.pc-auth-divider span { position: relative; background: var(--pc-white); padding: 0 .8rem; font-size: .8rem; color: var(--pc-ink-soft); text-transform: uppercase; letter-spacing: .06em; }
.pc-google-btn {
	display: flex; align-items: center; justify-content: center; gap: .6rem; width: 100%;
	padding: .85rem 1.25rem; border: 1.5px solid #dfd8e4; border-radius: var(--pc-radius-pill);
	background: var(--pc-white); font-weight: 600; font-size: .93rem; color: var(--pc-ink);
	transition: border-color var(--pc-transition), box-shadow var(--pc-transition), transform var(--pc-transition);
}
.pc-google-btn:hover { border-color: #c9bfd1; box-shadow: var(--pc-shadow-sm); transform: translateY(-1px); }

/* Dashboard hero */

/* Account layout */
.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 240px; float: none;
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 16px; padding: .6rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: .7rem .9rem; border-radius: 10px;
	font-size: .92rem; font-weight: 600; color: var(--pc-ink-soft);
	transition: background var(--pc-transition), color var(--pc-transition);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #faf6fc; color: var(--pc-magenta); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--pc-gradient-brand); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content {
	width: auto; float: none;
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 16px;
	padding: clamp(1.2rem, 3vw, 1.75rem);
}
@media (min-width: 861px) {
	.woocommerce-account.logged-in .woocommerce {
		display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 1.5rem; align-items: start;
	}
	.woocommerce-account.logged-in .pc-account-hero { grid-column: 1 / -1; }
	.woocommerce-account .woocommerce-MyAccount-navigation { position: sticky; top: 96px; }
}
@media (max-width: 860px) {
	.woocommerce-account:not(.logged-in) .u-columns.col2-set { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; margin-bottom: 1rem; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; }
	.pc-auth-grid { grid-template-columns: 1fr; }
}

/* WooCommerce pages render through page.php — tighten their page headers */
.woocommerce-checkout .pc-page__header,
.woocommerce-account .pc-page__header,
.woocommerce-checkout .pc-page__header h1,
.woocommerce-account .pc-page__header h1,

/* Login/Register columns — target the WooCommerce wrapper id directly so the
   rules win over WooCommerce's floated .col-1/.col-2 defaults. */
#customer_login.u-columns {
	display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;
	max-width: 940px; margin: 0 auto;
}
#customer_login.u-columns > div,
#customer_login .u-column1, #customer_login .u-column2,
#customer_login .col-1, #customer_login .col-2 {
	float: none !important; width: auto !important; margin: 0 !important;
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 18px;
	padding: clamp(1.3rem, 3vw, 2rem); box-shadow: var(--pc-shadow-sm);
}
#customer_login h2 { font-size: 1.25rem; font-weight: 700; margin-bottom: 1.1rem; }
@media (max-width: 860px) {
	#customer_login.u-columns { grid-template-columns: 1fr; }
}

/* Classic checkout grid — WooCommerce emits #customer_details, the "Your order"
   heading and #order_review as three siblings, so place them explicitly. */
.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: 0 clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}
.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; }

/* Billing + additional info stack full width inside the left column */
.woocommerce-checkout #customer_details.col2-set { display: block; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none !important; width: auto !important; margin: 0 0 1.25rem !important;
}
.woocommerce-checkout #customer_details .col-2 { margin-bottom: 0 !important; }

/* The billing card wrapper lives on .col-1/.col-2 for classic markup */
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields { margin-bottom: 0; }

/* Add-to-cart notice above checkout */
.woocommerce-checkout .woocommerce-message {
	display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
	background: #f2faf5; border: 1px solid #d8efe1; border-left-width: 1px;
	border-radius: 12px; color: var(--pc-ink); margin-bottom: 1.25rem;
}
.woocommerce-checkout .woocommerce-message::before { color: var(--pc-success); }
.woocommerce-checkout .woocommerce-message .button {
	margin-left: auto; background: var(--pc-white) !important; color: var(--pc-ink) !important;
	border: 1.5px solid #ece7f0 !important; font-size: .85rem !important; padding: .55rem 1.1rem !important;
}

@media (max-width: 960px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; grid-template-rows: none; }
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; }
	.woocommerce-checkout form.checkout #order_review_heading { margin-top: 1.5rem; }
}

/* Place-order button is floated by WooCommerce — clear it so the trust badges
   sit below instead of overlapping. */
.woocommerce-checkout #place_order { float: none !important; display: block; }
.woocommerce-checkout .pc-checkout-trust { clear: both; }

/* "Create an account?" checkbox belongs with the billing card */
.woocommerce-checkout .woocommerce-account-fields {
	background: var(--pc-white); border: 1px solid #ece7f0; border-radius: 16px;
	padding: 1rem 1.2rem; margin: 0 0 1.25rem;
}
.woocommerce-checkout .woocommerce-account-fields .create-account { margin-top: .75rem; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: .55rem; font-size: .9rem; text-transform: none; letter-spacing: 0; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox span { font-weight: 600; color: var(--pc-ink); }

/* WooCommerce adds clearfix ::before/::after to .col2-set. Inside a grid those
   pseudo-elements become real grid items and push the real columns out of
   place, so remove them wherever we lay out a col2-set with grid. */
#customer_login.u-columns::before,
#customer_login.u-columns::after,
.woocommerce-checkout form.checkout::before,
.woocommerce-checkout form.checkout::after {
	content: none !important;
	display: none !important;
}

/* =============================================================
   Mobile: keep every page inside the viewport
   ============================================================= */
@media (max-width: 760px) {
	/* Header: logo + icons on row 1, full-width search on row 2.
	   The city pill is hidden — city is chosen in the booking form instead. */
	.pc-header__inner { flex-wrap: wrap; row-gap: .6rem; gap: .75rem; }
	.pc-header .pc-city-selector { display: none; }
	.pc-header__search { flex: 1 1 100%; order: 5; min-width: 0; }
	.pc-header__search .pc-search-form { max-width: none; }
	.pc-header__actions { margin-left: auto; gap: .85rem; }

	/* Nothing may push the document wider than the screen */
	body { overflow-x: hidden; }
	.pc-container, .woocommerce, .pc-page__content { max-width: 100%; }

	/* Checkout + account cards go full width */
	.woocommerce-checkout .woocommerce,
	.woocommerce-account .woocommerce { padding-left: 1rem; padding-right: 1rem; }
	.woocommerce-checkout .woocommerce-message { flex-direction: column; align-items: flex-start; }
	.woocommerce-checkout .woocommerce-message .button { margin-left: 0; }
	.pc-checkout-steps { gap: .35rem; font-size: .82rem; }
	.pc-checkout-steps__item:not(:last-child)::after { width: 14px; margin-left: .3rem; }

	/* Form fields must never exceed their card */
	.woocommerce-checkout .form-row input.input-text,
	.woocommerce-checkout .form-row select,
	.woocommerce-checkout .form-row textarea,
	.woocommerce-account input.input-text,
	.woocommerce-account input[type="password"] { max-width: 100%; }
}

/* =============================================================
   Auth v2 — icon banner, colourful field icons, premium polish
   ============================================================= */

/* Card headings: centered with a highlighted icon circle above */
.woocommerce-account #customer_login h2 { text-align: center; font-size: 1.35rem; }


/* Colourful icon adornments inside inputs — a distinct hue per field type
   makes the form scannable, matching the highlighted-icon reference. */
.woocommerce-account input.input-text,
.woocommerce-account input[type="password"] { background-repeat: no-repeat; background-position: left .95rem center; background-size: 18px; }

.woocommerce-account #username,
.woocommerce-account #reg_email {
	padding-left: 2.75rem !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232456b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}
.woocommerce-account #password,
.woocommerce-account #reg_password {
	padding-left: 2.75rem !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0288f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
}
.woocommerce-account #reg_billing_first_name,
.woocommerce-account #reg_billing_last_name {
	padding-left: 2.75rem !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9971b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E");
}
.woocommerce-account #reg_billing_phone {
	padding-left: 2.75rem !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c8a4c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.6 10.8c1.4 2.7 3.6 4.9 6.3 6.3l2.1-2.1c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.5.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.5.1.4 0 .8-.2 1z'/%3E%3C/svg%3E");
}
/* Password visibility toggle (WooCommerce core) sits on the right — keep the
   icon clear of it */
.woocommerce-account .password-input input#password,
.woocommerce-account .password-input input#reg_password { padding-right: 2.6rem !important; }

/* Google button: bigger, colour-forward, sits in a soft rounded pill */
.pc-auth-divider span { font-weight: 600; letter-spacing: .03em; }
.pc-google-btn { gap: .75rem; padding: .8rem 1.25rem; }
.pc-google-btn__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px; border-radius: 50%; background: var(--pc-white);
	box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

@media (max-width: 480px) {
	.pc-auth-intro__icon { width: 48px; height: 48px; }
}

/* =============================================================
   Minimal chrome — checkout / cart / account pages
   ============================================================= */
/* min-width:max-content stops the grid's "auto" middle track from collapsing
   to 0 — without it, the logo <img>'s max-width:100% resolves against an
   as-yet-undetermined track size and the browser picks 0 on the first pass. */
@media (max-width: 560px) {
	.pc-header-minimal__back span { display: none; }
	.pc-header-minimal__secure { display: none; }
	.pc-header-minimal__inner { grid-template-columns: auto 1fr auto; }
}

@media (max-width: 640px) {
	.pc-footer-minimal__inner { flex-direction: column; text-align: center; }
}

/* Minimal-chrome pages: give the page itself a soft backdrop so the checkout
   / account card reads as the clear focal point. */
.woocommerce-checkout .pc-wc-page,
.woocommerce-cart .pc-wc-page,
.woocommerce-account .pc-wc-page { background: #faf7fb; padding-top: 1.5rem; }

/* =============================================================
   Login / Register — split-panel shell (replaces the two-card layout)
   ============================================================= */
.pc-auth-shell {
	display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
	max-width: 940px; margin: 1rem auto 2rem;
	background: var(--pc-white); border-radius: 24px; overflow: hidden;
	box-shadow: 0 24px 60px rgba(42,15,61,.1); border: 1px solid #ece7f0;
}

/* Left brand panel */

/* Right form panel */
.pc-auth-panel { padding: clamp(1.75rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.75rem); min-width: 0; }
.pc-auth-tabs {
	display: grid; grid-template-columns: 1fr 1fr; gap: .3rem;
	background: #f4eff6; border-radius: var(--pc-radius-pill); padding: .3rem;
	margin-bottom: 1.75rem;
}
.pc-auth-tab {
	padding: .65rem 1rem; border-radius: var(--pc-radius-pill);
	font-weight: 700; font-size: .92rem; color: var(--pc-ink-soft);
	transition: background var(--pc-transition), color var(--pc-transition), box-shadow var(--pc-transition);
}
.pc-auth-tab.is-active { background: var(--pc-white); color: var(--pc-ink); box-shadow: 0 4px 14px rgba(42,15,61,.1); }

.pc-auth-pane { display: none; }
.pc-auth-pane.is-active { display: block; animation: pcAuthFade 320ms ease; }
@keyframes pcAuthFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* The pane no longer needs its own card chrome — the shell provides it — and
   the redundant "Login"/"Register" heading is replaced by the tab labels. */
.pc-auth-pane { background: none; border: none; box-shadow: none; padding: 0; border-radius: 0; }
.pc-auth-pane h2 { display: none; }

@media (max-width: 820px) {
	.pc-auth-shell { grid-template-columns: 1fr; margin: 0 0 1.5rem; border-radius: 18px; }
	.pc-auth-brand { padding: 1.5rem 1.5rem 1.75rem; }
	.pc-auth-brand__tagline { font-size: 1.15rem; margin-bottom: 1.1rem; }
	.pc-auth-brand__features { flex-direction: row; flex-wrap: wrap; gap: .6rem 1rem; }
	.pc-auth-brand__features li { font-size: .8rem; }
	.pc-auth-panel { padding: 1.5rem 1.25rem 1.75rem; }
}

/* Checkout: remove-item icon next to quantity in the order review table */
.woocommerce-checkout table.shop_table .product-quantity { position: relative; }
.pc-checkout-remove-item {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; margin-left: .5rem; border-radius: 50%;
	color: var(--pc-ink-soft); vertical-align: middle;
	transition: background var(--pc-transition), color var(--pc-transition);
}
.pc-checkout-remove-item:hover { background: #fdecef; color: #c0293f; }

/* Uploaded logo: keep it crisp in the header and legible on the dark footer */
