/*
Theme Name: amnunta.ro
Theme URI: https://amnunta.ro
Author: George Ciamita
Author URI: https://georgeciamita.com
Description: Tema site-ului de prezentare amnunta.ro: plan de sală, invitați și confirmări pentru miri și restaurante. Temă de blocuri (Full Site Editing), minimalistă, cu paleta aplicației.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.3.0
License: Proprietar. Fotografiile sunt licențiate prin Magnific (Freepik) și se folosesc doar pe acest site.
Text Domain: cheffillio
*/

/* ---------- Baza ---------- */
:root {
	--cf-radius: 12px;
	--cf-line: var(--wp--preset--color--line);
}
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(section, .wp-block-group)[id] { scroll-margin-top: 88px; }
::selection { background: var(--wp--preset--color--primary-soft); color: var(--wp--preset--color--contrast); }
:where(a, button, summary):focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; border-radius: 4px; }

/* ---------- Antet ---------- */
.cf-header {
	position: sticky; top: 0; z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	backdrop-filter: saturate(1.2) blur(10px);
	-webkit-backdrop-filter: saturate(1.2) blur(10px);
	border-bottom: 1px solid var(--cf-line);
}
.admin-bar .cf-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cf-header { top: 46px; } }
.cf-header__inner { min-height: 72px; }
.cf-header .wp-block-navigation-item__content { padding: 0.35rem 0; }
.cf-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); }
.cf-header .wp-block-buttons .wp-block-button__link { padding: 0.6rem 1rem; }
@media (max-width: 900px) { .cf-header .cf-hide-mobile { display: none !important; } }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base); padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; padding: 0.6rem 0; }

/* ---------- Secțiuni: un singur fundal, separate de o linie fină ---------- */
.cf-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.cf-section--tight { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
main > .cf-section + .cf-section, main > .cf-section + .cf-band, main > .cf-band + .cf-section { border-top: 1px solid var(--cf-line); }

.cf-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--muted); max-width: 40rem; }
.cf-muted { color: var(--wp--preset--color--muted); }
.is-style-eyebrow, .cf-eyebrow {
	font-size: 0.75rem; line-height: 1rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--secondary); margin-bottom: 0.25rem;
}
.cf-heading-italic em { font-style: italic; color: var(--wp--preset--color--primary); }
.cf-center { text-align: center; }
.cf-center .cf-lead { margin-left: auto; margin-right: auto; }
.cf-human { font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: var(--wp--preset--font-size--large); line-height: 1.45; color: var(--wp--preset--color--contrast); border-left: 2px solid var(--wp--preset--color--primary); padding-left: 1.1rem; margin-top: 2rem !important; max-width: 36rem; }
.cf-human a { color: var(--wp--preset--color--primary); }

/* ---------- Butoane ---------- */
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--line-strong); padding: calc(0.85rem - 1px) calc(1.35rem - 1px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--surface); }
.cf-note { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }

/* ---------- Carduri (doar la prețuri) ---------- */
.is-style-card {
	background: var(--wp--preset--color--surface); border: 1px solid var(--cf-line);
	border-radius: var(--cf-radius); padding: clamp(1.25rem, 2.5vw, 2rem);
}

/* ---------- Liste: bifă simplă, fără cerc ---------- */
.is-style-check { list-style: none; padding-left: 0; }
.is-style-check li { position: relative; padding-left: 1.6rem; margin-bottom: 0.55rem; }
.is-style-check li::before {
	content: ""; position: absolute; left: 0; top: 0.32em; width: 1rem; height: 1rem;
	background: var(--wp--preset--color--primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5 9.5 17.5 19.5 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5 9.5 17.5 19.5 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Ecrane, fotografii, hârtie ---------- */
.wp-block-image.is-style-phone img { border-radius: 0; filter: drop-shadow(0 22px 34px rgba(13,13,13,.20)) drop-shadow(0 2px 4px rgba(13,13,13,.06)); }
.cf-phone-solo { max-width: 320px; margin-left: auto !important; margin-right: auto !important; }
.cf-phone-solo img { width: 100%; height: auto; }
/* Ecran decupat, fără ramă de laptop, la mărime care se citește */
.cf-screen img { width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--cf-line); box-shadow: 0 1px 2px rgba(13,13,13,.05), 0 24px 48px -24px rgba(13,13,13,.22); background: #fff; }
.cf-screen-wrap { position: relative; padding-right: 14%; }
.cf-screen-wrap > .wp-block-image { margin: 0; }
.cf-screen-wrap .cf-screen-phone { position: absolute; right: 0; bottom: -8%; width: 22%; z-index: 2; }
.cf-screen-wrap .cf-screen-phone img { width: 100%; height: auto; }
/* Fotografii reale */
.cf-photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 6px; }
.cf-photo-wrap { position: relative; padding-bottom: 12%; padding-right: 10%; }
.cf-photo-wrap > .wp-block-image { margin: 0; }
.cf-photo-wrap .cf-photo-phone { position: absolute; right: 0; bottom: 0; width: 32%; z-index: 2; }
.cf-photo-wrap .cf-photo-phone img { width: 100%; height: auto; }
/* Foaia scrisă de mână */
.cf-sheet { margin: 0 auto !important; max-width: 460px; }
.cf-sheet img { width: 100%; height: auto; }

/* Rânduri de telefoane */
.cf-phones { gap: clamp(0.75rem, 2vw, 1.75rem) !important; align-items: flex-start; }
.cf-phones > .wp-block-image { flex: 1 1 0; margin: 0; min-width: 0; max-width: 300px; }
.cf-phones > .wp-block-image img { width: 100%; height: auto; }
.cf-phones .cf-offset { margin-top: 3rem !important; }
@media (max-width: 600px) {
	.cf-phones { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1.5rem; margin-left: calc(-1 * var(--wp--preset--spacing--30)); margin-right: calc(-1 * var(--wp--preset--spacing--30)); padding-left: var(--wp--preset--spacing--30); padding-right: var(--wp--preset--spacing--30); }
	.cf-phones > .wp-block-image { flex: 0 0 62%; scroll-snap-align: center; }
	.cf-phones .cf-offset { margin-top: 0 !important; }
}

/* Rând text + imagine */
.cf-row { gap: clamp(2rem, 6vw, 6rem) !important; }
.cf-row + .cf-row { margin-top: var(--wp--preset--spacing--60) !important; }
@media (max-width: 781px) {
	.cf-row.cf-row--reverse { flex-direction: column-reverse; }
}

/* Prețuri (rămân carduri) */
.cf-plan h4 { margin-bottom: 0.75rem; }
.cf-price { font-family: var(--wp--preset--font-family--display); font-size: clamp(2.25rem, 4vw, 3rem); line-height: 1.05; margin: 0.25rem 0 0; }
.cf-price-unit { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin-top: 0.25rem; }
.cf-plan { display: flex; flex-direction: column; height: 100%; }
.cf-plan .wp-block-buttons { margin-top: auto; padding-top: 1rem; }
.cf-plan--accent { border-color: var(--wp--preset--color--primary) !important; box-shadow: 0 0 0 1px var(--wp--preset--color--primary); }
.cf-badge { display: inline-block; align-self: flex-start; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.3rem 0.65rem; border-radius: 999px; background: var(--wp--preset--color--primary-soft); color: var(--wp--preset--color--primary); }
.cf-plans-2 { max-width: 880px; margin-left: auto !important; margin-right: auto !important; }

/* Întrebări */
.wp-block-details { border-bottom: 1px solid var(--cf-line); padding: 1rem 0; margin: 0 !important; }
.wp-block-details summary { cursor: pointer; list-style: none; font-weight: 500; font-size: var(--wp--preset--font-size--large); position: relative; padding-right: 2.5rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; position: absolute; right: 0.25rem; top: 50%; width: 1rem; height: 1rem; transform: translateY(-50%);
	background: var(--wp--preset--color--contrast);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s ease;
}
.wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.wp-block-details > :not(summary) { color: var(--wp--preset--color--muted); max-width: 46rem; }

/* ---------- Subsol ---------- */
.cf-footer { border-top: 1px solid var(--cf-line); }
.cf-footer h4 { font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 600; margin-bottom: 0.75rem; }
.cf-footer .cf-links p { margin: 0 0 0.4rem; font-size: var(--wp--preset--font-size--small); }
.cf-footer .cf-links a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.cf-footer .cf-links a:hover { color: var(--wp--preset--color--primary); text-decoration: underline; }
.cf-footer-bottom { border-top: 1px solid var(--cf-line); padding-top: 1.5rem; margin-top: var(--wp--preset--spacing--50) !important; }

/* ---------- Mobil ---------- */
@media (max-width: 781px) {
	.cf-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.cf-hero .wp-block-buttons .wp-block-button { width: 100%; }
	.cf-hero .wp-block-buttons .wp-block-button__link { width: 100%; }
	.cf-screen-wrap { padding-right: 0; padding-bottom: 18%; }
	.cf-screen-wrap .cf-screen-phone { width: 34%; bottom: 0; right: -2%; }
	.cf-sheet { max-width: 340px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Demo interactiv */
.cf-demo-wrap .cfd { box-shadow: 0 24px 48px -28px rgba(13,13,13,.25); }

/* ---------- Laptop + telefon (doar în hero) ---------- */
.cf-devices { position: relative; padding-right: 9%; padding-bottom: 6%; }
.cf-devices > .wp-block-image { margin: 0; }
.cf-devices .cf-devices__lap img { width: 100%; height: auto; border-radius: 0; filter: drop-shadow(0 30px 40px rgba(13,13,13,.18)); }
.cf-devices .cf-devices__phone { position: absolute; right: 0; bottom: 0; width: 25%; z-index: 2; }
.cf-devices .cf-devices__phone img { width: 100%; height: auto; }
@media (max-width: 781px) {
	.cf-devices { padding-right: 6%; padding-bottom: 10%; margin-top: 1rem; }
	.cf-devices .cf-devices__phone { width: 30%; }
}

/* Fișe pe hârtie (A4) */
.is-style-paper img { border-radius: 2px; box-shadow: 0 1px 2px rgba(13,13,13,.08), 0 18px 40px -12px rgba(13,13,13,.28); background: #fff; }
.cf-paper { position: relative; padding-right: 22%; padding-bottom: 4%; }
.cf-paper > .wp-block-image { margin: 0; }
.cf-paper .cf-paper-a { transform: rotate(-1.5deg); max-width: 520px; }
.cf-paper .cf-paper-phone { position: absolute; right: 0; bottom: 0; width: 34%; }
.cf-paper--two { padding-right: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: start; }
.cf-paper--two .cf-paper-a { transform: rotate(-2deg); margin-top: 2rem !important; z-index: 1; }
.cf-paper--two .cf-paper-b { transform: rotate(1.5deg) translateX(-12%); z-index: 2; }

/* Banda către restaurante */
.cf-band__t { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); line-height: 1.2; margin-bottom: 0.4rem; }
.cf-band .wp-block-buttons { justify-content: flex-end; }
@media (max-width: 781px) { .cf-band .wp-block-buttons { justify-content: flex-start; } }

/* Chemarea finală, simplă */
.cf-cta-plain { padding-top: var(--wp--preset--spacing--60); padding-bottom: calc(var(--wp--preset--spacing--60) + 1rem); }
.cf-cta-plain .wp-block-buttons { margin-top: 1.75rem; }

/* Seara evenimentului, oră cu oră */
.cf-night { border-top: 1px solid var(--wp--preset--color--contrast); }
.cf-night__row { display: grid !important; grid-template-columns: 7rem 1fr; gap: 1.5rem; padding: 1.25rem 0; border-bottom: 1px solid var(--cf-line); margin: 0 !important; }
.cf-night__row > p { margin: 0 !important; }
.cf-night__h { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--x-large); line-height: 1.1; color: var(--wp--preset--color--primary); font-variant-numeric: tabular-nums; }
.cf-night__d { font-size: var(--wp--preset--font-size--large); line-height: 1.5; max-width: 46rem; }
.cf-night__d strong { font-weight: 600; }
@media (max-width: 600px) { .cf-night__row { grid-template-columns: 1fr; gap: 0.25rem; } }

/* Contact */
.cf-contact-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.cf-contact-cards > * { margin: 0 !important; }
.cf-contact-who { border-top: 1px solid var(--wp--preset--color--contrast); padding-top: 1rem; }
.cf-contact-who h3 { font-size: var(--wp--preset--font-size--x-large); margin-bottom: 0.4rem; }
.cf-contact-who p { margin: 0 0 0.5rem; }
@media (max-width: 600px) { .cf-contact-cards { grid-template-columns: 1fr; } }
.cf-contact-data { padding-top: 0.5rem; }
.cf-contact-label { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); margin: 1.5rem 0 0.2rem !important; }
.cf-contact-label:first-child { margin-top: 0 !important; }
.cf-contact-big { font-family: var(--wp--preset--font-family--display); font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.15; margin: 0 !important; }
.cf-contact-big a { color: var(--wp--preset--color--contrast); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.cf-contact-big a:hover { color: var(--wp--preset--color--primary); }

/* Logo */
.cf-logo { margin: 0 !important; line-height: 0; }
.cf-logo img { width: 132px; height: auto; border-radius: 0 !important; display: block; }
.cf-footer .cf-logo img { width: 120px; }
@media (max-width: 600px) { .cf-header .cf-logo img { width: 112px; } }

/* Cu amnunta.ro sau fără: tabel simplu */
.cf-vs { margin: 0; }
.cf-vs table { border-collapse: collapse; width: 100%; table-layout: fixed; }
.cf-vs th, .cf-vs td { border: 0 !important; padding: 1.05rem 1.25rem; text-align: left; vertical-align: top; line-height: 1.45; }
.cf-vs thead th { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: var(--wp--preset--font-size--x-large); padding-bottom: 0.9rem; }
.cf-vs th:first-child, .cf-vs td:first-child { width: 24%; padding-left: 0; }
.cf-vs tbody td { border-top: 1px solid var(--cf-line) !important; }
.cf-vs tbody td:first-child { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--large); }
.cf-vs th:nth-child(2), .cf-vs td:nth-child(2) { color: var(--wp--preset--color--line-strong); }
.cf-vs th:nth-child(3) { color: var(--wp--preset--color--primary); }
.cf-vs th:nth-child(3), .cf-vs td:nth-child(3) { background: var(--wp--preset--color--surface); }
.cf-vs td:nth-child(2), .cf-vs td:nth-child(3) { padding-left: 2.8rem; position: relative; }
.cf-vs td:nth-child(2)::before, .cf-vs td:nth-child(3)::before { content: ""; position: absolute; left: 1.25rem; top: 1.3rem; width: 0.95rem; height: 0.95rem; background: currentColor; -webkit-mask: var(--cf-ic) center / contain no-repeat; mask: var(--cf-ic) center / contain no-repeat; }
.cf-vs td:nth-child(2)::before { --cf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E"); }
.cf-vs td:nth-child(3)::before { --cf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5 9.5 17.5 19.5 6.5'/%3E%3C/svg%3E"); color: var(--wp--preset--color--primary); }
.cf-after-vs { margin-top: 1.5rem !important; font-family: var(--wp--preset--font-family--display); font-style: italic; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); }
@media (max-width: 781px) {
	.cf-vs table, .cf-vs thead, .cf-vs tbody { display: block; }
	.cf-vs thead tr { display: none; }
	.cf-vs tbody tr { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--cf-line); padding: 1rem 0; }
	.cf-vs tbody td { border-top: 0 !important; width: auto !important; padding: 0.3rem 0 0.3rem 1.6rem; }
	.cf-vs tbody td:first-child { padding-left: 0; padding-bottom: 0.4rem; }
	.cf-vs td:nth-child(2)::before, .cf-vs td:nth-child(3)::before { left: 0; top: 0.6rem; }
	.cf-vs td:nth-child(3) { background: transparent; color: var(--wp--preset--color--contrast); }
}
.cf-human a, .cf-contact-big a, a[href^="tel:"] { white-space: nowrap; }
.cf-row .cf-phone-solo { max-width: 280px; }
