/*
 * Pink Touch — WooCommerce în stilul temei: fotografii pe crem, titluri Bodoni,
 * prețuri și butoane cu majuscule rărite, fără umbre și fără colțuri rotunde.
 */

/* ── Carduri de produs (colecție, prima pagină, produse similare) ─────────── */

.pt-cards .wc-block-product-template,
.pt-cards .wp-block-post-template { gap: clamp(1.5rem, 3vw, 3rem) !important; row-gap: var(--wp--preset--spacing--50) !important; }
.pt-cards .wc-block-product,
.pt-cards .wp-block-post { text-align: center; }
.pt-cards .wc-block-components-product-image {
	margin: 0 0 1.4rem !important;
	overflow: hidden;
	background: var(--wp--preset--color--cream);
	aspect-ratio: 4 / 5;
}
.pt-cards .wc-block-components-product-image img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform 1.2s var(--pt-ease);
}
.pt-cards .wc-block-product:hover .wc-block-components-product-image img,
.pt-cards .wp-block-post:hover .wc-block-components-product-image img { transform: scale(1.04); }
.pt-cards .wp-block-post-title {
	margin: 0 0 0.35rem;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.25rem, 1.8vw, 1.5rem) !important;
	font-weight: 400;
	line-height: 1.2;
}
.pt-cards .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.pt-cards .wc-block-components-product-price,
.pt-cards .wp-block-woocommerce-product-price {
	font-size: var(--wp--preset--font-size--small) !important;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--muted);
}
.pt-cards .wp-block-button.wc-block-components-product-button { margin-top: 1.1rem; }
.pt-cards .wc-block-components-product-button__button,
.pt-cards .wp-block-button__link {
	padding: 0.95em 1.8em !important;
	border: 1px solid var(--wp--preset--color--ink) !important;
	background: transparent !important;
	color: var(--wp--preset--color--ink) !important;
	font-size: 0.625rem !important;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	border-radius: 0 !important;
}
.pt-cards .wc-block-components-product-button__button:hover { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--base) !important; }
.pt-cards .added_to_cart { display: block; margin-top: 0.6rem; font-size: 0.6875rem; letter-spacing: 0.18em; text-transform: uppercase; }

/* ── Pagina colecției ────────────────────────────────────────────────────── */

.pt-shop { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.pt-shop__head .wp-block-query-title { margin: 0.75rem auto 0 !important; text-align: center; font-size: var(--wp--preset--font-size--xx-large); }
.pt-shop__intro { color: var(--wp--preset--color--muted); }

/* ── Pagina de produs ────────────────────────────────────────────────────── */

.pt-product { padding-block: 1.5rem var(--wp--preset--spacing--60); }
.pt-breadcrumbs { margin-bottom: 1.75rem; font-size: 0.6875rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.pt-breadcrumbs a { color: var(--wp--preset--color--muted); }
.pt-product__cols { align-items: flex-start !important; }
.pt-product__media .woocommerce-product-gallery { margin: 0 !important; }
.pt-product__media .woocommerce-product-gallery__image,
.pt-product__media .woocommerce-product-gallery__wrapper { background: var(--wp--preset--color--cream); }
.pt-product__media .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.pt-product__media .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.75rem; margin: 0.75rem 0 0 !important; padding: 0; list-style: none; }
.pt-product__media .flex-control-thumbs img { opacity: 0.55; cursor: pointer; transition: opacity 0.3s; }
.pt-product__media .flex-control-thumbs img.flex-active,
.pt-product__media .flex-control-thumbs img:hover { opacity: 1; }
.pt-product__media .woocommerce-product-gallery__trigger { display: none; }

@media (min-width: 782px) {
	.pt-product__summary { position: sticky; top: calc(var(--pt-header-h) + 3rem); padding-top: 1rem; }
}
.pt-product__summary > * { margin-block: 0; }
.pt-product__summary .pt-label { margin-bottom: 1rem; }
.pt-product__title { margin-bottom: 1.25rem !important; font-size: clamp(2.125rem, 3.4vw, 3.125rem) !important; line-height: 1.08; }
.pt-product__price,
.pt-product__price .woocommerce-Price-amount { font-size: 1.125rem !important; letter-spacing: 0.1em; color: var(--wp--preset--color--ink); }
.pt-product__excerpt { margin-top: 1.5rem !important; color: var(--wp--preset--color--muted); }
.pt-product__excerpt p { margin: 0; }

/* Formularul de adăugare: cantitatea și butonul negru pe toată lățimea. */
.pt-product__buy { margin-top: 2rem !important; }
.pt-product__buy form.cart { display: flex; gap: 0.75rem; align-items: stretch; margin: 0; }
.pt-product__buy .quantity .qty {
	width: 4.25rem;
	height: 100%;
	min-height: 3.4rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 0;
	background: var(--wp--preset--color--base);
	font: inherit;
	text-align: center;
}
.pt-product__buy .single_add_to_cart_button {
	flex: 1;
	min-height: 3.4rem;
	border: 1px solid var(--wp--preset--color--ink) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--base) !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.24em !important;
	text-transform: uppercase;
	transition: background-color 0.35s var(--pt-ease), border-color 0.35s var(--pt-ease);
}
.pt-product__buy .single_add_to_cart_button:hover { background: var(--wp--preset--color--rosewood) !important; border-color: var(--wp--preset--color--rosewood) !important; }
.pt-product__buy .variations { margin-bottom: 1.25rem; }
.pt-product__buy .variations select { min-height: 3rem; padding: 0 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: 0; background: var(--wp--preset--color--base); font: inherit; }

.pt-product__perks {
	list-style: none;
	margin-top: 2.25rem !important;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}
.pt-product__perks li { padding: 0.9rem 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.pt-product__perks strong { font-weight: 600; color: var(--wp--preset--color--ink); }

/* Descrierea și piramida olfactivă (tab-urile WooCommerce, în variantă minimală). */
.pt-product__details { margin-top: var(--wp--preset--spacing--60) !important; max-width: 52rem; margin-inline: auto !important; }
.pt-product__details .wc-tabs,
.pt-product__details ul.tabs { display: flex; justify-content: center; gap: 2.5rem; margin: 0 0 2.5rem !important; padding: 0 !important; border-bottom: 1px solid var(--wp--preset--color--line); list-style: none; }
.pt-product__details ul.tabs li { margin: 0; padding: 0; border: 0; background: none; }
.pt-product__details ul.tabs li a { display: block; padding: 0 0 1rem; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--wp--preset--color--muted); text-decoration: none; border-bottom: 1px solid transparent; margin-bottom: -1px; }
.pt-product__details ul.tabs li.active a { color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); }
.pt-product__details .woocommerce-Tabs-panel > h2:first-child { display: none; }
.pt-product__details .woocommerce-Tabs-panel { text-align: center; }

/* Piramida olfactivă din descriere (clasa pt-notes pe lista din descriere). */
.pt-notes { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; padding: 0; margin: 2rem 0; }
.pt-notes li { padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--champagne); }
.pt-notes strong { display: block; margin-bottom: 0.4rem; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--wp--preset--color--rosewood); }
@media (max-width: 600px) { .pt-notes { grid-template-columns: 1fr; } }

.pt-related { margin-top: var(--wp--preset--spacing--60); }

/* ── Mini-coș, coș, checkout ─────────────────────────────────────────────── */

.wc-block-mini-cart__drawer .components-modal__content,
.wc-block-mini-cart__drawer { font-family: var(--wp--preset--font-family--body); }
.wc-block-mini-cart__title { font-family: var(--wp--preset--font-family--display) !important; font-weight: 400 !important; }
.wc-block-cart .wc-block-cart__submit-button,
.wc-block-mini-cart__footer-checkout,
.wc-block-components-checkout-place-order-button,
.wc-block-mini-cart__footer-cart.wc-block-components-button {
	border-radius: 0 !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase;
}
.wc-block-cart .wc-block-cart__submit-button,
.wc-block-mini-cart__footer-checkout,
.wc-block-components-checkout-place-order-button { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--base) !important; }
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-textarea { border-radius: 0 !important; }
.wc-block-components-title,
.wc-block-cart__totals-title { font-family: var(--wp--preset--font-family--display) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; }

/* Mesajul de magazin demonstrativ. */
.pt-demo-note {
	margin: 1rem 0;
	padding: 0.85rem 1rem;
	border: 1px solid var(--wp--preset--color--rose);
	background: var(--wp--preset--color--blush);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--rosewood);
	text-align: center;
}

/* Imaginea umple cadrul 4/5; cu puține produse, cardurile stau centrate. */
.pt-cards .wc-block-components-product-image a,
.pt-cards .wc-block-components-product-image > div { display: block; height: 100%; }
.pt-cards .wc-block-product-template__responsive { grid-template-columns: repeat(auto-fit, minmax(15rem, 24rem)) !important; justify-content: center; }

/* Galeria ocupă toată coloana; „S-ar putea să-ți placă” dispare când nu are produse. */
.pt-product__media .wp-block-woocommerce-product-image-gallery { max-width: none !important; }
.pt-product__media .woocommerce-product-gallery { width: 100% !important; float: none !important; }
.pt-product__buy .quantity { margin: 0 !important; }
.pt-related:not(:has(.wc-block-product, .wp-block-post)) { display: none; }
.pt-product__details ul.tabs::before,
.pt-product__details ul.tabs li::before,
.pt-product__details ul.tabs li::after { display: none !important; }

/* Descrierea lungă: subtitluri Bodoni, lista „De ce Pink Touch”, specificațiile. */
.pt-product__details .woocommerce-Tabs-panel--description { text-align: left; }
.pt-product__details .woocommerce-Tabs-panel h3 { margin: 2.5rem 0 1rem; font-size: clamp(1.5rem, 2.4vw, 2rem); }
.pt-product__details .woocommerce-Tabs-panel h3:first-child { margin-top: 0; }
.pt-why { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2.5rem; margin: 1.5rem 0; padding: 0; border-top: 1px solid var(--wp--preset--color--line); }
.pt-why li { padding: 0.85rem 0 0.85rem 1.4rem; border-bottom: 1px solid var(--wp--preset--color--line); position: relative; }
.pt-why li::before { content: ""; position: absolute; left: 0; top: 1.45em; width: 6px; height: 6px; background: var(--wp--preset--color--champagne); transform: rotate(45deg); }
.pt-why__end { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: 1.25rem; color: var(--wp--preset--color--rosewood); }
@media (max-width: 600px) { .pt-why { grid-template-columns: 1fr; } }

.woocommerce-product-attributes { width: 100%; border-collapse: collapse; border-top: 1px solid var(--wp--preset--color--line); text-align: left; font-size: var(--wp--preset--font-size--small); }
.woocommerce-product-attributes th,
.woocommerce-product-attributes td { padding: 0.85rem 0; border-bottom: 1px solid var(--wp--preset--color--line); vertical-align: top; }
.woocommerce-product-attributes th { width: 40%; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.woocommerce-product-attributes td p { margin: 0; }
.pt-product__excerpt p + p { margin-top: 0.9rem; }
.pt-product__excerpt .pt-tagline { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: 1.25rem; color: var(--wp--preset--color--ink); }

/* ── Carduri mai bogate: categoria, titlul, o frază, prețul, butonul ─────── */

.pt-cards .wc-block-product-template__responsive { grid-template-columns: repeat(auto-fit, minmax(16rem, 30rem)) !important; column-gap: clamp(2rem, 5vw, 5rem) !important; }
.pt-cards .wc-block-product { display: flex; flex-direction: column; align-items: center; }
.pt-cards .wc-block-components-product-image { position: relative; width: 100%; }
.pt-cards .wc-block-components-product-image::after {
	content: "Descoperă";
	position: absolute; left: 50%; bottom: 1.25rem;
	padding: 0.7em 1.4em;
	transform: translate(-50%, 0.75rem);
	background: var(--wp--preset--color--base);
	font-size: 0.625rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; line-height: 1;
	opacity: 0; transition: opacity 0.4s var(--pt-ease), transform 0.4s var(--pt-ease);
	pointer-events: none;
}
.pt-cards .wc-block-product:hover .wc-block-components-product-image::after { opacity: 1; transform: translate(-50%, 0); }
.pt-card__cat { margin: 0 0 0.5rem !important; }
.pt-card__cat a { color: var(--wp--preset--color--rosewood); }
.pt-cards .wp-block-post-title { max-width: 22rem; margin-inline: auto; }
.pt-card__excerpt { max-width: 24rem; margin: 0.5rem auto 0.9rem !important; font-size: var(--wp--preset--font-size--small); line-height: 1.6; color: var(--wp--preset--color--muted); }
.pt-card__excerpt .wp-block-post-excerpt__excerpt { margin: 0; }
.pt-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.pt-cards .wc-block-components-product-price { color: var(--wp--preset--color--ink) !important; font-weight: 500; }

/* Pe telefon, colecția stă pe două coloane: imagine, categorie, nume, preț, buton. */
@media (max-width: 781px) {
	.pt-cards .wc-block-product-template__responsive { grid-template-columns: 1fr 1fr !important; column-gap: 0.9rem !important; row-gap: 2.25rem !important; }
	.pt-cards .wc-block-components-product-image { margin-bottom: 0.9rem !important; }
	.pt-cards .wc-block-components-product-image::after { display: none; }
	.pt-card__cat { font-size: 0.5625rem !important; letter-spacing: 0.18em !important; margin-bottom: 0.35rem !important; }
	.pt-cards .wp-block-post-title { font-size: 1.0625rem !important; line-height: 1.25; }
	.pt-card__excerpt { display: none; }
	.pt-cards .wc-block-components-product-price { margin-top: 0.5rem; font-size: 0.75rem !important; }
	.pt-cards .wp-block-button.wc-block-components-product-button { width: 100%; margin-top: 0.8rem; }
	.pt-cards .wc-block-components-product-button__button { width: 100%; padding: 0.95em 0.4em !important; font-size: 0.5625rem !important; letter-spacing: 0.16em; }
}

@media (max-width: 781px) {
	.pt-cards .wc-block-components-product-button,
	.pt-cards .wc-block-components-product-button__button { width: 100% !important; }
}

/* WooCommerce învelește paginile de produs într-un div cu margine sus: fără dungă albă sub header. */
.wp-site-blocks > .woocommerce.product { margin-top: 0 !important; margin-block-start: 0 !important; }

/* ── Notificări ──────────────────────────────────────────────────────────── */

/* În pagină (erori, informări, sau confirmări fără JS): card fin, în tonurile temei. */
.wc-block-components-notice-banner {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	margin: 0 0 1.25rem !important;
	padding: 1rem 1.25rem !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-left: 3px solid var(--wp--preset--color--rose) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--base) !important;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink) !important;
}
.wc-block-components-notice-banner > svg { flex: none; padding: 4px; border-radius: 50%; background: var(--wp--preset--color--blush) !important; fill: var(--wp--preset--color--rosewood) !important; }
.wc-block-components-notice-banner.is-error { border-left-color: #B3261E !important; background: #FDF6F5 !important; }
.wc-block-components-notice-banner.is-error > svg { background: #F6D8D5 !important; fill: #B3261E !important; }
.wc-block-components-notice-banner__content { align-self: center; flex: 1; line-height: 1.55; }
.wc-block-components-notice-banner__content .wc-forward {
	float: none !important;
	display: inline-block;
	margin: 0 0 0 0.75rem !important;
	padding: 0 0 0.2em !important;
	border: 0 !important;
	background: linear-gradient(currentColor, currentColor) left bottom / 100% 1px no-repeat !important;
	font-size: 0.625rem !important;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink) !important;
	opacity: 1 !important;
}

/* Toast-ul (site.js): confirmarea „adăugat în coș”, plutind sub header. */
.pt-toast {
	position: fixed !important;
	top: calc(var(--pt-toast-top, 8.5rem));
	right: clamp(1rem, 3vw, 2rem);
	z-index: 300;
	display: grid !important;
	grid-template-columns: auto 1fr auto;
	align-items: start !important;
	gap: 0.25rem 0.9rem !important;
	width: min(25rem, calc(100vw - 2rem));
	margin: 0 !important;
	padding: 1.15rem 1.15rem 1.25rem 1.25rem !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-left: 1px solid var(--wp--preset--color--line) !important;
	box-shadow: 0 30px 60px -28px rgb(31 26 23 / 0.45);
	overflow: hidden;
	animation: pt-toast-in 0.55s var(--pt-ease) both;
}
.pt-toast.is-leaving { animation: pt-toast-out 0.35s ease-in both; }
@keyframes pt-toast-in { from { opacity: 0; transform: translateX(24px); } }
@keyframes pt-toast-out { to { opacity: 0; transform: translateX(24px); } }
.pt-toast > svg { width: 30px; height: 30px; padding: 5px; box-sizing: border-box; }
.pt-toast .wc-block-components-notice-banner__content { align-self: start; }
.pt-toast__title { display: block; margin-bottom: 0.2rem; font-size: 0.625rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--wp--preset--color--rosewood); }
.pt-toast__msg { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.1rem; line-height: 1.3; }
.pt-toast .wc-block-components-notice-banner__content .wc-forward {
	display: block;
	width: max-content;
	margin: 0.9rem 0 0 !important;
	padding: 0.85em 1.6em !important;
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--base) !important;
}
.pt-toast .wc-block-components-notice-banner__content .wc-forward:hover { background: var(--wp--preset--color--rosewood) !important; }
.pt-toast__close { display: grid; place-items: center; width: 28px; height: 28px; margin: -0.35rem -0.35rem 0 0; padding: 0; border: 0; background: none; color: var(--wp--preset--color--muted); font-size: 1.25rem; line-height: 1; cursor: pointer; }
.pt-toast__close:hover { color: var(--wp--preset--color--ink); }
.pt-toast__bar { position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: linear-gradient(90deg, var(--wp--preset--color--rose), var(--wp--preset--color--champagne)); transform-origin: left; animation: pt-toast-bar var(--pt-toast-time, 7s) linear both; }
.pt-toast:hover .pt-toast__bar { animation-play-state: paused; }
@keyframes pt-toast-bar { to { transform: scaleX(0); } }
/* Notificarea originală, mutată în toast, nu mai lasă loc gol în pagină. */
.woocommerce-notices-wrapper:empty,
.wc-block-store-notices:has(.woocommerce-notices-wrapper:empty) { display: none; }

@media (max-width: 781px) {
	.pt-toast { top: auto; bottom: calc(1rem + env(safe-area-inset-bottom)); left: 1rem; right: 1rem; width: auto; animation-name: pt-toast-up; }
	.pt-toast.is-leaving { animation-name: pt-toast-down; }
	@keyframes pt-toast-up { from { opacity: 0; transform: translateY(24px); } }
	@keyframes pt-toast-down { to { opacity: 0; transform: translateY(24px); } }
	body:has(.ptp-bar.is-visible) .pt-toast { bottom: calc(5.25rem + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
	.pt-toast, .pt-toast.is-leaving, .pt-toast__bar { animation: none !important; }
}
.pt-toast:focus,
.pt-toast:focus-visible { outline: none; }
.pt-toast .wc-block-components-notice-banner__content .wc-forward { text-decoration: none !important; background-image: none !important; }
