/*
 * Pink Touch — stiluri peste theme.json.
 * Lux discret: alb, mult spațiu, titluri Bodoni, etichete Montserrat cu
 * majuscule rărite, linii fine șampanie în loc de chenare și umbre.
 */

:root {
	--pt-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--pt-header-h: 84px;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-optical-sizing: auto;
}
::selection { background: var(--wp--preset--color--blush); }

:where(h1, h2, h3, h4) { font-optical-sizing: auto; text-wrap: balance; }
:where(p) { text-wrap: pretty; }

/* Eticheta mică cu majuscule rărite (ca pe flacon: „EAU DE PARFUM · 50 ML”). */
.pt-label,
.pt-label a {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--rosewood);
	text-decoration: none;
}

/* Italicul Bodoni pentru accente („pentru ea”). */
.pt-italic,
:where(h1, h2, h3) em { font-style: italic; font-weight: 400; color: var(--wp--preset--color--rosewood); }

/* Butonul secundar: doar contur. */
.wp-block-button.is-style-outline > .wp-block-button__link,
.pt-btn-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.pt-btn-outline .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }
.wp-element-button,
.wp-block-button__link { transition: background-color 0.35s var(--pt-ease), color 0.35s var(--pt-ease), border-color 0.35s var(--pt-ease); }

/* Linkul subliniat fin, care se umple la hover. */
.pt-link a,
a.pt-link {
	display: inline-block;
	padding-bottom: 0.3em;
	background: linear-gradient(currentColor, currentColor) left bottom / 100% 1px no-repeat;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	transition: background-size 0.4s var(--pt-ease), color 0.3s var(--pt-ease);
}
.pt-link a:hover,
a.pt-link:hover { background-size: 30% 1px; }

/* ── Bara de sus și header ───────────────────────────────────────────────── */

.wp-site-blocks > header { position: sticky; top: 0; z-index: 100; }
.pt-announce {
	padding-block: 0.55rem;
	background: var(--wp--preset--color--blush);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--rosewood);
}
.pt-announce p { margin: 0; }
.pt-header {
	padding-block: 1.1rem;
	background: rgb(255 255 255 / 0.94);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
/* Logo în stânga; meniul și iconițele (cont, coș) în dreapta. */
.pt-header__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2.5rem; }
.pt-header__inner > * { margin: 0 !important; }
.pt-nav { justify-self: end; }
.pt-wordmark { margin: 0; }
.pt-wordmark a { color: var(--wp--preset--color--ink); text-decoration: none; }
.pt-header .pt-wordmark { font-size: clamp(1.25rem, 2.2vw, 1.75rem) !important; letter-spacing: 0.22em !important; }
.pt-nav .wp-block-navigation-item__content { padding-block: 0.4em; color: var(--wp--preset--color--ink); background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat; transition: background-size 0.35s var(--pt-ease); }
.pt-nav .wp-block-navigation-item__content:hover,
.pt-nav .current-menu-item > .wp-block-navigation-item__content { background-size: 100% 1px; color: var(--wp--preset--color--ink); }
.pt-header__actions svg { width: 22px; height: 22px; }
.pt-header__actions .wc-block-mini-cart__button { padding: 0.4rem; }
.pt-header__actions .wc-block-mini-cart__badge { background: var(--wp--preset--color--rose); color: var(--wp--preset--color--ink); font-size: 0.625rem; font-weight: 700; }

/* Meniul pe telefon: overlay alb, linkuri mari în Bodoni. */
@media (max-width: 781px) {
	.pt-header__inner { gap: 0.75rem; }
	.pt-header .pt-wordmark { text-align: center; font-size: 1.15rem !important; letter-spacing: 0.18em !important; }
	.pt-announce { font-size: 0.625rem; letter-spacing: 0.14em; }
}

/* ── Secțiuni de pagină ──────────────────────────────────────────────────── */

.pt-main > .wp-block-post-content > .alignfull { margin-block: 0; }
.pt-section { padding-block: var(--wp--preset--spacing--60); }
.pt-section--cream { background: var(--wp--preset--color--cream); }
.pt-head { text-align: center; margin-bottom: var(--wp--preset--spacing--50); }
.pt-head > * { margin-inline: auto; max-width: 36rem; }
.pt-head > * + * { margin-top: 1rem; }
.pt-head .pt-label { display: block; }

/* Ornament: o linie șampanie cu un romb la mijloc. */
.pt-ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.9rem;
	margin: 0 auto;
	color: var(--wp--preset--color--champagne);
}
.pt-ornament::before,
.pt-ornament::after { content: ""; width: 3.5rem; height: 1px; background: currentColor; }
.pt-ornament span { width: 6px; height: 6px; background: currentColor; transform: rotate(45deg); }

/* Apariție lentă la derulare (adăugată de site.js; fără JS, totul e vizibil). */
.js .pt-reveal { opacity: 0; transform: translateY(24px); transition: opacity 1.1s var(--pt-ease), transform 1.1s var(--pt-ease); }
.js .pt-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.js .pt-reveal { opacity: 1; transform: none; transition: none; }
}

/* ── Pagini simple ───────────────────────────────────────────────────────── */

.pt-page { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.pt-page__title { margin-bottom: var(--wp--preset--spacing--50); font-size: var(--wp--preset--font-size--x-large) !important; }
.pt-404 { text-align: center; }

/* ── Footer ──────────────────────────────────────────────────────────────── */

.pt-footer { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); margin-top: 0; }
.wp-site-blocks > footer { margin-block-start: 0; }
.pt-footer__cols { gap: var(--wp--preset--spacing--50) !important; }
.pt-wordmark--footer { font-size: 1.5rem !important; letter-spacing: 0.22em !important; }
.pt-footer__lead { max-width: 22rem; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.pt-footer .pt-label { margin-bottom: 1.1rem; color: var(--wp--preset--color--ink); }
.pt-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.55rem; font-size: var(--wp--preset--font-size--small); }
.pt-footer__links a { color: var(--wp--preset--color--muted); }
.pt-footer__links a:hover { color: var(--wp--preset--color--rosewood); }
.pt-footer__base { margin-top: var(--wp--preset--spacing--50) !important; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--line); font-size: 0.75rem; letter-spacing: 0.04em; color: var(--wp--preset--color--muted); }
.pt-footer__base p { margin: 0; }

/* Focus vizibil (WCAG). */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--rosewood);
	outline-offset: 3px;
}

/* Logo: emblema rotundă în mijlocul header-ului și în footer. */
.pt-logo { margin: 0; line-height: 0; }
.pt-header .pt-logo { justify-self: start; }
.pt-header .pt-logo img { width: 80px; height: auto; transition: width 0.4s var(--pt-ease); }
.pt-header { padding-block: 0.6rem; }
.pt-logo--footer img { width: 128px; height: auto; }
@media (max-width: 781px) {
	.pt-header .pt-logo img { width: 58px; }
}

/* Semnătura de la finalul poveștii (și pe pagina „Povestea noastră”). */
.pt-story__sign { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: 1.35rem; color: var(--wp--preset--color--rosewood); }

/* Grupurile de butoane sunt mereu flex (și cele scrise de seed, fără clasele de layout). */
.wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; }

/* ── Meniul pe telefon: ecran întreg, roz pudrat, cercul din logo ────────── */

/* Blur-ul header-ului ar face ca meniul fix să se raporteze la header, nu la ecran. */
.pt-header:has(.is-menu-open) { backdrop-filter: none; }
.pt-menu-extra { display: none; }

.pt-nav .wp-block-navigation__responsive-container-open svg,
.pt-nav .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }

.pt-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.1rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom));
	overflow-x: hidden;
	background:
		radial-gradient(ellipse 80% 50% at 100% 0%, rgb(255 255 255 / 0.75), rgb(255 255 255 / 0) 70%),
		linear-gradient(170deg, #FBEDEA 0%, var(--wp--preset--color--blush) 60%, #EDC9C3 100%);
	animation: pt-menu-in 0.45s var(--pt-ease) both;
}
@keyframes pt-menu-in { from { opacity: 0; } }
/* Cercul cu romburi, ca în logo, în colțul de sus. */
.pt-nav .wp-block-navigation__responsive-container.is-menu-open::before {
	content: "";
	position: absolute;
	top: -18vw;
	right: -28vw;
	width: 92vw;
	aspect-ratio: 1;
	border: 1px solid var(--wp--preset--color--champagne);
	border-radius: 50%;
	pointer-events: none;
}
.pt-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 1.1rem; right: 1.25rem; color: var(--wp--preset--color--ink); }
.pt-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4.5rem !important; align-items: stretch !important; gap: 0 !important; }
.pt-nav .is-menu-open .wp-block-navigation__container { counter-reset: pt-menu; width: 100%; gap: 0 !important; align-items: stretch !important; }
.pt-nav .is-menu-open .wp-block-navigation-item {
	counter-increment: pt-menu;
	width: 100%;
	border-bottom: 1px solid rgb(157 92 80 / 0.22);
	animation: pt-menu-item 0.7s var(--pt-ease) both;
}
.pt-nav .is-menu-open .wp-block-navigation-item:nth-child(1) { animation-delay: 0.08s; }
.pt-nav .is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.14s; }
.pt-nav .is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.2s; }
.pt-nav .is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.26s; }
@keyframes pt-menu-item { from { opacity: 0; transform: translateY(16px); } }
.pt-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex !important;
	align-items: baseline;
	gap: 1rem;
	width: 100%;
	padding: 0.95rem 0 0.8rem !important;
	background: none !important;
	font-family: var(--wp--preset--font-family--display);
	font-size: 2.35rem;
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--wp--preset--color--ink) !important;
}
.pt-nav .is-menu-open .wp-block-navigation-item__content::before {
	content: counter(pt-menu, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: var(--wp--preset--color--rosewood);
}
.pt-nav .is-menu-open .wp-block-navigation-item__content:hover,
.pt-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.pt-nav .is-menu-open .wp-block-navigation-item__content[aria-current="page"] { font-style: italic; color: var(--wp--preset--color--rosewood) !important; }

/* Sub linkuri: cele două parfumuri și promisiunile. */
.pt-nav .is-menu-open .pt-menu-extra { display: block; width: 100%; margin-top: 1.75rem; animation: pt-menu-item 0.8s 0.32s var(--pt-ease) both; }
.pt-menu-extra__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.pt-menu-extra__card { position: relative; display: grid; justify-items: center; gap: 0.55rem; padding: 1rem 0.5rem 0.9rem; background: rgb(255 255 255 / 0.65); border: 1px solid rgb(198 162 144 / 0.5); text-align: center; text-decoration: none; color: var(--wp--preset--color--ink); }
.pt-menu-extra__card--black { background: #141110; border-color: #141110; color: #F6F1EA; }
.pt-menu-extra__card img { height: 5.5rem; width: auto; filter: drop-shadow(0 10px 12px rgb(0 0 0 / 0.18)); }
.pt-menu-extra__card strong { font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; font-weight: 400; line-height: 1; }
.pt-menu-extra__card strong em { font-style: italic; color: var(--wp--preset--color--rosewood); }
.pt-menu-extra__card--black strong em { color: #C9A96E; }
.pt-menu-extra__card span { font-size: 0.5625rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; opacity: 0.75; }
.pt-menu-extra__note { margin: 1.25rem 0 0; font-size: 0.625rem; font-weight: 600; letter-spacing: 0.2em; text-align: center; text-transform: uppercase; color: var(--wp--preset--color--rosewood); }

@media (prefers-reduced-motion: reduce) {
	.pt-nav .is-menu-open,
	.pt-nav .is-menu-open .wp-block-navigation-item,
	.pt-nav .is-menu-open .pt-menu-extra { animation: none !important; }
}
.pt-menu-extra__card strong { text-transform: none; letter-spacing: 0; }
