/*
 * Yanis Prestige — Theme Prune Velours v1.0.0
 * Front-end overrides only (theme files, menus and content untouched). Deactivate the plugin to restore the previous look.
 * Palette: bg #231320 · sections #351C30 · text #F5E9EC · secondary #CDB6BF · rose-gold #E6AE93 · copper #C98A6B · night #120910
 * Specificity: `html:root` beats the theme's `:root`; `html body …` + !important beats the "Button colors" plugin.
 */

/* ---------- 1. Tokens (theme main.css + theme.json presets) ---------- */
html:root {
	--f-serif: "Gilda Display", Georgia, "Times New Roman", serif;
	--f-sans: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;
	--wp--preset--font-family--serif: "Gilda Display", Georgia, "Times New Roman", serif;
	--wp--preset--font-family--sans: "Mulish", system-ui, -apple-system, "Segoe UI", sans-serif;

	--c-ivory: #231320;          /* page background */
	--c-ivory-deep: #2a1727;
	--c-linen: #351c30;          /* section background */
	--c-sand: #c98a6b;           /* copper: lines, light eyebrows */
	--c-sand-soft: #4a2a42;
	--c-taupe: #cdb6bf;          /* secondary text */
	--c-taupe-soft: #b9a0ab;
	--c-cacao: #f5e9ec;          /* main text */
	--c-cacao-soft: #e9dbe0;     /* leads / long paragraphs */
	--c-night: #120910;          /* dark sections, footer */
	--c-night-soft: #1c0e19;
	--c-terracotta: #e6ae93;     /* accent rose-gold */
	--c-terracotta-deep: #d9977a;
	--c-champagne: #e6ae93;
	--c-white: #351c30;          /* cards / forms surface + text on hovered buttons */
	--c-whatsapp: #25d366;
	--hairline: 1px solid rgba(201, 138, 107, 0.28);
	--hairline-light: 1px solid rgba(245, 233, 236, 0.16);

	--wp--preset--color--ivoire: #231320;
	--wp--preset--color--lin: #351c30;
	--wp--preset--color--sable: #c98a6b;
	--wp--preset--color--taupe: #cdb6bf;
	--wp--preset--color--cacao: #f5e9ec;
	--wp--preset--color--nuit: #120910;
	--wp--preset--color--terracotta: #e6ae93;
	--wp--preset--color--champagne: #e6ae93;

	--yp-prune-bg: #231320;
	--yp-prune-surface: #351c30;
	--yp-prune-night: #120910;
	--yp-prune-text: #f5e9ec;
	--yp-prune-muted: #cdb6bf;
	--yp-prune-accent: #e6ae93;
	--yp-prune-accent-hover: #f0c3ad;
	--yp-prune-copper: #c98a6b;
	color-scheme: dark;
}

html body {
	background-color: #231320;
	color: #f5e9ec;
	font-family: var(--f-sans);
	font-weight: 400;
}
html ::selection { background: #e6ae93; color: #231320; }
html :focus-visible { outline-color: #e6ae93; }

/* ---------- 2. Typography: Gilda Display exists only in 400, no italic ---------- */
html h1, html h2, html h3, html h4, html h5, html h6,
html .yp-display, html .is-style-yp-display, html .yp-h1, html .yp-h2, html .yp-h3,
html .yp-page-hero__title, html .yp-stat__value, html .yp-row__text h2, html .yp-row__text h3,
html .yp-next > .yp-h3, html .yp-cta-band__title, html .yp-wordmark__name {
	font-family: var(--f-serif);
	font-weight: 400;
	font-synthesis: none;
}
html body strong, html body b { font-weight: 600; }
/* Decorative serif numbers/captions were italic in the theme: keep them upright (Gilda has no italic) */
html body .yp-num, html body .yp-steps li::before, html body .yp-why__item::before, html body .yp-story__grid figcaption { font-style: normal; }
/* Highlighted words: accent colour, upright (no fake italic) */
html h1 em, html h2 em, html h3 em, html h4 em,
html .yp-display em, html .yp-h1 em, html .yp-h2 em, html .yp-h3 em,
html .yp-section--dark .yp-h2 em, html .yp-cta-band__title em, html .yp-page-hero__title em {
	font-style: normal;
	color: #e6ae93;
}

/* ---------- 3. Header & mobile menu ---------- */
html body .yp-header.is-scrolled {
	background: rgba(35, 19, 32, 0.92);
	border-bottom-color: rgba(201, 138, 107, 0.25);
}
html body .yp-nav__list a::after { background: #e6ae93; }
@media (max-width: 960px) {
	html body .yp-nav { background: #231320; padding-bottom: calc(120px + env(safe-area-inset-bottom)); }
}

/* ---------- 4. Sections, dark blocks, CTA band, footer ---------- */
html body .yp-section--dark, html body .is-style-yp-dark {
	background: #120910;
	color: #f5e9ec;
}
html body .yp-section--dark h1, html body .yp-section--dark h2, html body .yp-section--dark h3, html body .yp-section--dark h4,
html body .is-style-yp-dark h2, html body .is-style-yp-dark h3,
html body .yp-section--dark .yp-textlink,
html body .yp-section--dark .wp-block-button.is-style-yp-textlink .wp-block-button__link,
html body .yp-why__item h3 { color: #f5e9ec; }
html body .yp-section--dark .yp-eyebrow, html body .yp-eyebrow--light { color: #c98a6b; }
html body .yp-section--dark .yp-lead, html body .yp-why__item p { color: #cdb6bf; }

html body .yp-cta-band { background: #351c30; color: #f5e9ec; }
html body .yp-cta-band::before { border-color: rgba(230, 174, 147, 0.22); }
html body .yp-cta-band::after { border-color: rgba(230, 174, 147, 0.12); }
html body .yp-cta-band__title { color: #f5e9ec; }
html body .yp-cta-band__lead { color: #cdb6bf; }
html body .yp-cta-band__link { color: #e6ae93; }
html body .yp-cta-band__link:hover { color: #f5e9ec; }

html body .yp-footer { background: #120910; color: #cdb6bf; border-top: 1px solid rgba(201, 138, 107, 0.25); }
html body .yp-footer__name,
html body .yp-footer__menu a,
html body .yp-footer__address,
html body .yp-footer__contacts a,
html body .yp-social a { color: #f5e9ec; }
html body .yp-footer__tagline, html body .yp-footer__hours { color: #cdb6bf; }
html body .yp-footer__label, html body .yp-footer__bottom, html body .yp-footer__bottom a { color: #b9a0ab; }
html body .yp-footer__heading { color: #c98a6b; }
html body .yp-social a { border-color: rgba(230, 174, 147, 0.35); }
html body .yp-footer__menu a:hover, html body .yp-footer__address a:hover,
html body .yp-footer__contacts a:hover, html body .yp-footer__legal a:hover,
html body .yp-social a:hover { color: #e6ae93; border-color: #e6ae93; }

/* ---------- 5. Cards, forms, blog, misc ---------- */
html body .yp-local__card, html body .yp-form { background: #351c30; border-color: rgba(201, 138, 107, 0.28); }
html body .yp-field input, html body .yp-field select, html body .yp-field textarea,
html body .yp-search__input, html body .yp-search__submit {
	color: #f5e9ec;
	background: transparent;
	border-bottom-color: rgba(245, 233, 236, 0.35);
}
html body .yp-field input::placeholder, html body .yp-field textarea::placeholder,
html body .yp-search__input::placeholder { color: rgba(205, 182, 191, 0.75); }
html body .yp-field select option { background: #351c30; color: #f5e9ec; }
html body .yp-field input:focus, html body .yp-field select:focus, html body .yp-field textarea:focus { border-bottom-color: #e6ae93; }
html body .yp-search { border-bottom-color: rgba(245, 233, 236, 0.35); }
html body .yp-form__notice { background: rgba(37, 211, 102, 0.1); color: #f5e9ec; }
html body .yp-form__notice--error { background: rgba(230, 174, 147, 0.12); }
html body input:-webkit-autofill { -webkit-text-fill-color: #f5e9ec; box-shadow: 0 0 0 100px #351c30 inset; }

html body .yp-map__placeholder {
	background:
		radial-gradient(circle at 20% 30%, rgba(230, 174, 147, 0.10), transparent 45%),
		repeating-linear-gradient(0deg, transparent 0 39px, rgba(245, 233, 236, 0.06) 39px 40px),
		repeating-linear-gradient(90deg, transparent 0 39px, rgba(245, 233, 236, 0.06) 39px 40px);
}
html body .yp-pagination .page-numbers.current { background: #e6ae93; color: #231320; border-radius: 12px; }
html body .yp-pagination .page-numbers:not(.current):hover { color: #e6ae93; }
html body .yp-post-card__title a:hover, html body .yp-prose a:hover { color: #e6ae93; }
html body .yp-prose a { color: #f5e9ec; border-bottom-color: rgba(230, 174, 147, 0.6); }
html body .yp-inline-link, html body .yp-info__item a { border-bottom-color: rgba(230, 174, 147, 0.6); }
html body .yp-prose blockquote { border-left-color: #c98a6b; }
html body .yp-prose hr, html body .wp-block-separator { border-color: rgba(201, 138, 107, 0.35); color: rgba(201, 138, 107, 0.35); }
html body .yp-prose code, html body .yp-prose pre { background: #351c30; color: #f5e9ec; }
html body table th, html body table td { border-color: rgba(201, 138, 107, 0.3); }

/* ---------- 6. Buttons: 12px corners, solid rose-gold + outline variant ---------- */
html body .yp-btn {
	--btn-bg: #e6ae93 !important;
	--btn-fg: #231320 !important;
	--btn-bd: #e6ae93 !important;
	--btn-hover: #f0c3ad !important;
	--yp-b-fg-h: #231320;
	border-radius: 12px;
	font-weight: 600;
}
html body .yp-btn.yp-btn--ghost, html body .yp-btn.yp-btn--secondary, html body .yp-btn.yp-btn--ghost-light {
	--btn-bg: transparent !important;
	--btn-fg: #f5e9ec !important;
	--btn-bd: rgba(230, 174, 147, 0.55) !important;
	--btn-hover: #e6ae93 !important;
}
/* Beats "Button colors" (a.yp-btn[href*="wa.me"] / [href^="tel:"] !important) */
html body .yp-btn,
html body a.yp-btn[href],
html body a.yp-btn[data-yp-action],
html body .yp-btn--call,
html body .yp-btn--whatsapp {
	background: var(--btn-bg) !important;
	color: var(--btn-fg) !important;
	border-color: var(--btn-bd) !important;
	border-radius: 12px !important;
}
html body .yp-btn:hover, html body .yp-btn:focus-visible,
html body a.yp-btn[href]:hover, html body a.yp-btn[href]:focus-visible,
html body a.yp-btn[data-yp-action]:hover {
	color: var(--yp-b-fg-h) !important;
	border-color: var(--btn-hover) !important;
}
html body .yp-btn .yp-icon, html body .yp-btn .yp-btn__icon { color: currentColor !important; stroke: currentColor !important; }

/* Gutenberg button styles used in content */
html body .wp-block-button.is-style-yp-solid .wp-block-button__link {
	background: #e6ae93; color: #231320; border-color: #e6ae93; border-radius: 12px; font-weight: 600;
}
html body .wp-block-button.is-style-yp-outline .wp-block-button__link {
	background: transparent; color: #f5e9ec; border-color: rgba(230, 174, 147, 0.55); border-radius: 12px; font-weight: 600;
}
html body .wp-block-button.is-style-yp-solid .wp-block-button__link:hover,
html body .wp-block-button.is-style-yp-outline .wp-block-button__link:hover {
	background: #f0c3ad; border-color: #f0c3ad; color: #231320;
}
html body .wp-block-button:not([class*="is-style-yp"]) .wp-block-button__link { background: #e6ae93; color: #231320; border-radius: 12px; }
html body .wp-block-button.is-style-yp-textlink .wp-block-button__link { color: #f5e9ec; }
html body .wp-block-button.is-style-yp-textlink .wp-block-button__link:hover { color: #e6ae93; }

/* ---------- 7. Mobile bar: floating dark capsule (Appeler + WhatsApp) ---------- */
html body nav.yp-mobile-bar {
	left: 16px;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom));
	grid-template-columns: 1fr 1fr !important;
	align-items: center;
	gap: 0;
	padding: 6px;
	background: rgba(18, 9, 16, 0.96) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(230, 174, 147, 0.35);
	border-radius: 999px;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.35);
}
html body nav.yp-mobile-bar.is-hidden { transform: translateY(calc(100% + 48px)); }
html body nav.yp-mobile-bar > a[href*="/contact/"],
html body nav.yp-mobile-bar > a:not([data-yp-action]) { display: none !important; }
html body nav.yp-mobile-bar a[data-yp-action="call"],
html body nav.yp-mobile-bar a[data-yp-action="whatsapp"],
html body nav.yp-mobile-bar a.yp-mobile-bar__primary {
	position: relative;
	display: flex !important;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 10px;
	border-radius: 999px;
	background: transparent !important;
	color: #f5e9ec !important;
	font-family: var(--f-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: none;
}
html body nav.yp-mobile-bar a[data-yp-action="whatsapp"]::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 28px;
	transform: translateY(-50%);
	background: rgba(230, 174, 147, 0.3);
}
html body nav.yp-mobile-bar a[data-yp-action] .yp-icon {
	box-sizing: border-box;
	width: 34px;
	height: 34px;
	padding: 7px;
	border-radius: 50%;
	flex: none;
	stroke-width: 1.8;
}
html body nav.yp-mobile-bar a[data-yp-action="call"] .yp-icon {
	background: #e6ae93;
	color: #231320 !important;
	stroke: #231320 !important;
}
html body nav.yp-mobile-bar a[data-yp-action="whatsapp"] .yp-icon {
	background: #25d366;
	color: #0b2a17 !important;
	stroke: #0b2a17 !important;
}
html body nav.yp-mobile-bar a[data-yp-action]:active { background: rgba(230, 174, 147, 0.1) !important; }
@media (max-width: 960px) {
	html body { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
}
