/*
Theme Name: La Petra — Storefront Child
Theme URI: https://casapetra.ro
Description: Tema restaurantului La Petra / Casa Petra — direcția „meniu de gală": crem de hârtie, bordo, auriu antic și verde brad, tipografie Playfair + Great Vibes, ornamente culinare, mișcare discretă. Două locații: La Petra (Târgu Jiu) și Casa Petra (Bucureasa).
Author: Casa Petra
Template: storefront
Version: 2.0.0
Text Domain: lapetra
*/

/* ============================= PALETA & RITMUL ============================= */
:root {
  --lp-crem: #f6f2e7;
  --lp-crem-inchis: #ece4d2;
  --lp-hartie: #fffdf8;
  --lp-ink: #221e1a;
  --lp-ink-moale: #55504a;
  --lp-bordo: #8b2e2e;
  --lp-bordo-inchis: #6f2424;
  --lp-auriu: #a8863b;
  --lp-auriu-pal: #d9c69a;
  --lp-auriu-lumina: #f0e4c8;
  --lp-verde: #2c5233;
  --lp-brad: #14432a;
  --lp-brad-adanc: #0d2f1d;
  --lp-umbra: 0 6px 24px rgba(34, 30, 26, .08);
  --lp-umbra-mare: 0 18px 48px rgba(34, 30, 26, .16);
  --lp-radius: 16px;
  --lp-titluri: 'Playfair Display', Georgia, serif;
  --lp-script: 'Great Vibes', cursive;
  --lp-text: 'Source Sans 3', 'Segoe UI', sans-serif;
  --lp-tranzitie: .22s cubic-bezier(.4, 0, .2, 1);
}

/* ============================= FUNDAȚIA ============================= */
/* FARA scroll-behavior: smooth — caruselul de pe prima pagina ii anuleaza
   animatia in zbor si derularea spre ancore ramanea agatata la jumatate */
body {
  background: var(--lp-crem);
  /* textura de hârtie fină: două pânze radiale abia perceptibile */
  background-image:
    radial-gradient(1200px 600px at 15% -10%, rgba(168, 134, 59, .06), transparent 60%),
    radial-gradient(1000px 500px at 110% 10%, rgba(139, 46, 46, .05), transparent 55%);
  background-attachment: fixed;
  color: var(--lp-ink);
  font-family: var(--lp-text);
  font-size: 16.5px;
  line-height: 1.7;
}
.site-content { background: transparent; padding-top: 1.2em; }

h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .site-title,
.woocommerce-loop-product__title, .widget-title, .wp-block-heading {
  font-family: var(--lp-titluri);
  color: var(--lp-ink);
  letter-spacing: .01em;
  text-wrap: balance;
}
h1, .entry-title { font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem); }
h2 { font-size: clamp(1.4rem, 1.1rem + 1.4vw, 2rem); }
.entry-title a, .page-title a { color: var(--lp-ink); }

/* semnătura casei sub titlurile de pagină: linia scurtă aurie */
.page .entry-header .entry-title,
.archive .page-header .page-title,
.single .entry-header .entry-title { position: relative; padding-bottom: .45em; }
.page .entry-header .entry-title::after,
.archive .page-header .page-title::after,
.single .entry-header .entry-title::after {
  content: '';
  position: absolute; left: 0; bottom: 0;
  width: 72px; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, var(--lp-auriu), var(--lp-auriu-pal));
}

/* titlurile H2 CENTRATE din conținut primesc ornament culinar dedesubt */
.entry-content > h2.has-text-align-center { position: relative; padding-bottom: .7em; }
.entry-content > h2.has-text-align-center::after {
  content: '✦';
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  color: var(--lp-auriu); font-size: .55em; letter-spacing: .8em; text-indent: .8em;
}

a { color: var(--lp-bordo); transition: color var(--lp-tranzitie); }
a:hover, a:focus { color: var(--lp-bordo-inchis); }
::selection { background: var(--lp-auriu-pal); color: var(--lp-ink); }

/* bara de derulare în paletă (WebKit) */
::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-track { background: var(--lp-crem); }
::-webkit-scrollbar-thumb { background: var(--lp-auriu-pal); border-radius: 8px; border: 3px solid var(--lp-crem); }
::-webkit-scrollbar-thumb:hover { background: var(--lp-auriu); }

/* accente caligrafice reutilizabile */
.scris-petra, .lp-loc-script, .lp-hero-script, .lp-credit-scris {
  font-family: var(--lp-script);
  font-weight: 400;
  color: var(--lp-auriu);
}
.scris-petra { font-size: 2em; line-height: 1.2; }

/* etichete mici cu majuscule — „sprânceana" secțiunilor */
.lp-eyebrow {
  display: block;
  font-size: .78em; font-weight: 700;
  text-transform: uppercase; letter-spacing: .28em; text-indent: .28em;
  color: var(--lp-bordo);
}

/* ============================= BARA DE SUS ============================= */
.lp-topbar {
  background: var(--lp-brad-adanc);
  color: #d8d2c2;
  font-size: .8em;
  letter-spacing: .08em;
}
.lp-topbar-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 1em;
  padding: .45em 0;
}
.lp-topbar .lp-diamant { color: var(--lp-auriu); font-style: normal; margin: 0 .7em; font-size: .8em; }
.lp-topbar a { color: #fff; text-decoration: none; font-weight: 600; }
.lp-topbar a:hover { color: var(--lp-auriu-pal); }
.lp-topbar-actiuni { display: flex; gap: .55em; align-items: center; }
/* siglele sociale: pastile rotunde cu SVG, aurii la hover */
.lp-topbar-actiuni .lp-soc {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  color: #e9e4d8 !important;
  transition: border-color var(--lp-tranzitie), color var(--lp-tranzitie), background var(--lp-tranzitie);
}
.lp-topbar-actiuni .lp-soc:hover {
  color: var(--lp-brad-adanc) !important;
  background: var(--lp-auriu-pal);
  border-color: var(--lp-auriu-pal);
}
/* telefonul din bara de sus = butonul de comandă al site-ului (mereu la vedere) */
.lp-topbar-tel {
  white-space: nowrap;
  background: var(--lp-bordo);
  border-radius: 999px;
  padding: .3em 1em;
  box-shadow: 0 3px 10px rgba(139, 46, 46, .4);
  transition: background var(--lp-tranzitie), transform var(--lp-tranzitie);
}
.lp-topbar-tel:hover { background: var(--lp-bordo-inchis); transform: translateY(-1px); color: #fff !important; }

/* ============================= ANTETUL ============================= */
/* masthead-ul: NU lipicios (Storefront e inalt — ar sufoca ecranul), dar compact
   si aerisit; butonul „inapoi sus" tine loc de navigare rapida */
.site-header {
  background: var(--lp-hartie) !important;
  border-bottom: 1px solid var(--lp-crem-inchis);
  box-shadow: 0 2px 14px rgba(34, 30, 26, .05);
  padding-top: 1em;
}
.site-branding { margin-bottom: .4em; }
.site-branding .site-title { margin-bottom: 0; }
.storefront-primary-navigation { margin-top: .2em; }
.main-navigation ul.menu > li > a { padding-top: .9em; padding-bottom: .9em; }

.site-branding .site-title, .site-branding .site-title a {
  font-family: var(--lp-titluri);
  font-weight: 700;
  color: var(--lp-bordo) !important;
  text-decoration: none;
}
.site-description {
  font-family: var(--lp-script);
  font-size: 1.5em; line-height: 1.3;
  color: var(--lp-auriu) !important;
  text-decoration: none !important; border: 0 !important;
  clip: auto !important; height: auto !important; overflow: visible;
}

/* navigarea: majuscule rărite, sublinierea aurie care CREȘTE la hover */
.storefront-primary-navigation, .main-navigation { background: transparent; }
.main-navigation ul li a, .secondary-navigation ul.menu a {
  font-family: var(--lp-text);
  font-weight: 600; font-size: .8em;
  text-transform: uppercase; letter-spacing: .16em;
  color: var(--lp-ink) !important;
  position: relative;
}
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { background: transparent !important; }
.main-navigation ul.menu > li > a::after {
  content: '';
  position: absolute; left: 50%; bottom: .35em;
  width: 0; height: 2px; border-radius: 2px;
  background: var(--lp-auriu);
  transform: translateX(-50%);
  transition: width var(--lp-tranzitie);
}
.main-navigation ul.menu > li > a:hover::after,
.main-navigation ul.menu > li.current-menu-item > a::after,
.main-navigation ul.menu > li.current_page_item > a::after { width: 70%; }
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a { color: var(--lp-bordo) !important; background: transparent !important; }
.main-navigation ul.sub-menu {
  background: var(--lp-hartie) !important;
  border: 1px solid var(--lp-crem-inchis);
  border-radius: 12px;
  box-shadow: var(--lp-umbra-mare);
  overflow: hidden; padding: .3em 0;
}
.main-navigation ul.sub-menu li a { text-transform: none; letter-spacing: .02em; font-size: .95em; }
.main-navigation ul.sub-menu li a:hover { background: var(--lp-crem) !important; }

.site-header-cart .cart-contents { color: var(--lp-ink) !important; }
.site-header-cart .cart-contents .amount { color: var(--lp-verde); font-weight: 700; }
.site-header-cart .widget_shopping_cart { border-radius: 12px; box-shadow: var(--lp-umbra-mare); }

.site-header .widget_product_search input[type=search],
.site-header .widget_search input[type=search] {
  background: var(--lp-crem);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: 999px;
  padding-left: 1.2em;
}

/* ============================= EROUL PRIMEI PAGINI ============================= */
.lp-hero {
  position: relative;
  margin: -1.2em calc(50% - 50vw) 2.6em;   /* rupe grila: toată lățimea ferestrei */
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(168, 134, 59, .18), transparent 55%),
    linear-gradient(160deg, var(--lp-brad-adanc) 0%, var(--lp-brad) 55%, #1d3a2a 100%);
  color: #f2ecdd;
  text-align: center;
  overflow: hidden;
}
.lp-hero::before, .lp-hero::after {          /* colțuri gravate, ca pe coperta meniului */
  content: '';
  position: absolute; width: 70px; height: 70px;
  border: 1px solid rgba(217, 198, 154, .5);
  pointer-events: none;
}
.lp-hero::before { top: 18px; left: 18px; border-right: 0; border-bottom: 0; }
.lp-hero::after { bottom: 18px; right: 18px; border-left: 0; border-top: 0; }
.lp-hero-inner { max-width: 820px; margin: 0 auto; padding: clamp(3rem, 7vw, 6rem) 1.2rem clamp(2.4rem, 5vw, 4.4rem); }
.lp-hero-script {
  display: block;
  font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem);
  color: var(--lp-auriu-pal);
  margin-bottom: .1em;
}
.lp-hero-titlu {
  font-family: var(--lp-titluri);
  font-weight: 700;
  font-size: clamp(2rem, 1.3rem + 3.4vw, 3.6rem);
  line-height: 1.12;
  color: #fff;
  margin: 0 0 .35em;
}
.lp-hero-sub {
  font-size: clamp(.95rem, .85rem + .5vw, 1.15rem);
  letter-spacing: .12em; text-transform: uppercase;
  color: #cfc8b4;
  margin-bottom: 1.6em;
}
.lp-hero-cta { display: flex; gap: .9em; justify-content: center; flex-wrap: wrap; margin-bottom: 1.6em; }
.lp-hero-chipuri { display: flex; gap: .7em; justify-content: center; flex-wrap: wrap; }
.lp-chip {
  border: 1px solid rgba(217, 198, 154, .55);
  color: var(--lp-auriu-pal) !important;
  border-radius: 999px;
  padding: .34em 1.1em;
  font-size: .82em; letter-spacing: .1em; text-transform: uppercase;
  text-decoration: none;
  transition: background var(--lp-tranzitie), color var(--lp-tranzitie);
}
.lp-chip:hover { background: rgba(217, 198, 154, .16); color: #fff !important; }
.lp-hero-ornament {
  display: block; margin-top: 1.8em;
  color: var(--lp-auriu); font-size: 1.6em; opacity: .85;
}
/* titlul dublat din conținut dispare pe prima pagină — eroul îi ține locul */
.home .entry-content > h1:first-child { display: none; }

/* eroul în două coloane: text la stânga, POZA REALĂ a casei la dreapta */
.lp-hero-doua {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 2.4em;
  align-items: center;
  text-align: left;
}
/* textul eroului incepe EXACT unde incepe si continutul paginii de sub el:
   aceeasi geometrie ca .col-full (1200px continut + 2.618em laterale) */
.lp-hero-inner.lp-hero-doua {
  max-width: calc(1200px + 5.236em);
  padding-left: 2.618em;
  padding-right: 2.618em;
}
.lp-hero-doua .lp-hero-cta, .lp-hero-doua .lp-hero-chipuri { justify-content: flex-start; }
.lp-hero-poza { position: relative; }
.lp-hero-poza img {
  width: 100%; height: auto;
  border-radius: 20px;
  border: 1px solid rgba(217, 198, 154, .55);
  outline: 1px solid rgba(217, 198, 154, .25);
  outline-offset: 7px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
  transform: rotate(1.2deg);
  transition: transform .4s ease;
}
.lp-hero-poza:hover img { transform: rotate(0deg) scale(1.015); }
@media (max-width: 900px) {
  .lp-hero-doua { grid-template-columns: 1fr; text-align: center; gap: 1.6em; }
  .lp-hero-doua .lp-hero-cta, .lp-hero-doua .lp-hero-chipuri { justify-content: center; }
  .lp-hero-poza { max-width: 340px; margin: 0 auto; }
}

/* banda de încredere: 4 promisiuni scurte, ca la marile lanțuri, dar în haina casei */
.lp-promisiuni { margin: 2em 0 0; }
.lp-promisiuni-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1em;
}
/* clearfix-ul Storefront de pe .col-full (::before cu display:table) ar deveni
   PRIMA celula a grilei — o coloana goala inainte de carduri. Il anulam. */
.lp-promisiuni-grid::before, .lp-promisiuni-grid::after,
.lp-populare .col-full::before, .lp-populare .col-full::after,
.lp-locatii .col-full::before, .lp-locatii .col-full::after { content: none !important; }
.lp-promisiune {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: 14px;
  box-shadow: var(--lp-umbra);
  text-align: center;
  padding: 1.1em .9em;
  display: flex; flex-direction: column; gap: .15em;
}
.lp-promisiune-ic { font-size: 1.7em; line-height: 1.2; }
.lp-promisiune b { font-family: var(--lp-titluri); font-size: 1.02em; }
.lp-promisiune span:last-child { color: var(--lp-ink-moale); font-size: .86em; }

/* preparatele populare de pe prima pagină — GRILA NOASTRĂ, nu lățimile float
   ale Storefront (secțiunea stă în afara .site-main, unde alea nu se aplică) */
.lp-populare { margin: 2.4em 0 0; }
.lp-populare ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.4em;
  margin: 0 0 1em;
}
/* clearfix-ul WooCommerce de pe ul.products = celula-fantoma in grila -> afara */
.lp-populare ul.products::before, .lp-populare ul.products::after { content: none !important; display: none !important; }
.lp-populare ul.products li.product {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
@media (max-width: 900px) { .lp-populare ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .lp-populare ul.products { grid-template-columns: 1fr; } }
.lp-populare-tot { text-align: center; margin-top: .6em; }

/* ============================= BUTOANELE ============================= */
button, .button, input[type=submit], input[type=button],
.added_to_cart, .wp-block-button__link, .woocommerce #respond input#submit {
  background-color: var(--lp-bordo) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: var(--lp-text);
  font-weight: 600; letter-spacing: .05em;
  padding: .74em 1.6em;
  box-shadow: 0 4px 14px rgba(139, 46, 46, .25);
  transition: transform var(--lp-tranzitie), box-shadow var(--lp-tranzitie), background-color var(--lp-tranzitie);
}
button:hover, .button:hover, input[type=submit]:hover,
.added_to_cart:hover, .wp-block-button__link:hover {
  background-color: var(--lp-bordo-inchis) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(139, 46, 46, .34);
}
button:active, .button:active { transform: translateY(0); }
.button.alt, button.alt, .single_add_to_cart_button {
  background-color: var(--lp-verde) !important;
  box-shadow: 0 4px 14px rgba(44, 82, 51, .25);
}
.button.alt:hover, .single_add_to_cart_button:hover { background-color: var(--lp-brad) !important; }

/* variantele din erou / locații */
.lp-btn-auriu { background: var(--lp-auriu) !important; box-shadow: 0 6px 18px rgba(168, 134, 59, .35) !important; }
.lp-btn-auriu:hover { background: #8f7231 !important; }
.lp-btn-ghost {
  background: transparent !important;
  border: 1.5px solid rgba(217, 198, 154, .7) !important;
  color: var(--lp-auriu-pal) !important;
  box-shadow: none !important;
}
.lp-btn-ghost:hover { background: rgba(217, 198, 154, .14) !important; color: #fff !important; }
.lp-btn-ghost-inchis {
  background: transparent !important;
  border: 1.5px solid var(--lp-auriu) !important;
  color: var(--lp-auriu) !important;
  box-shadow: none !important;
}
.lp-btn-ghost-inchis:hover { background: var(--lp-auriu-lumina) !important; color: var(--lp-ink) !important; }
.lp-btn-mic { padding: .5em 1.1em !important; font-size: .9em !important; }

/* focus vizibil peste tot — eleganța include accesibilitatea */
a:focus-visible, button:focus-visible, .button:focus-visible, input:focus-visible {
  outline: 2px solid var(--lp-auriu);
  outline-offset: 2px;
}

/* ============================= PRODUSELE (magazinul) ============================= */
ul.products li.product {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-umbra);
  padding: 0 0 1.2em;
  overflow: hidden;
  text-align: center;
  transition: transform var(--lp-tranzitie), box-shadow var(--lp-tranzitie), border-color var(--lp-tranzitie);
}
ul.products li.product:hover {
  transform: translateY(-5px);
  box-shadow: var(--lp-umbra-mare);
  border-color: var(--lp-auriu-pal);
}
ul.products li.product img {
  border-radius: 0;
  margin-bottom: .9em !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  transition: transform .45s ease, filter .45s ease;
}
ul.products li.product:hover img { transform: scale(1.05); filter: saturate(1.08); }
ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.08em;
  padding: 0 .9em;
  color: var(--lp-ink);
  position: relative;
}
/* firul auriu dintre nume și preț — ca în meniul tipărit */
ul.products li.product .woocommerce-loop-product__title::after {
  content: '';
  display: block;
  width: 44px; height: 1.5px;
  margin: .5em auto 0;
  background: var(--lp-auriu-pal);
  transition: width var(--lp-tranzitie);
}
ul.products li.product:hover .woocommerce-loop-product__title::after { width: 80px; background: var(--lp-auriu); }
ul.products li.product .price {
  color: var(--lp-verde) !important;
  font-family: var(--lp-titluri);
  font-weight: 700; font-size: 1.18em;
  font-variant-numeric: lining-nums;
}
ul.products li.product .price del { color: var(--lp-ink-moale); font-weight: 400; opacity: .65; font-size: .85em; }
ul.products li.product .button, ul.products li.product .added_to_cart { margin-top: .5em; font-size: .86em; padding: .55em 1.3em; }
ul.products li.product .onsale {
  background: var(--lp-auriu);
  color: #fff;
  border-radius: 999px;
  font-weight: 700; letter-spacing: .05em;
  box-shadow: 0 4px 12px rgba(168, 134, 59, .4);
}

/* bara de sortare a magazinului: discretă, aliniată */
.storefront-sorting {
  display: flex; align-items: center; gap: 1em; flex-wrap: wrap;
  font-size: .9em; color: var(--lp-ink-moale);
}
.storefront-sorting select {
  border-radius: 999px;
  padding: .35em 2em .35em 1em;
  border: 1px solid var(--lp-crem-inchis);
  background-color: var(--lp-hartie);
}

/* pagina unui produs */
.single-product div.product .woocommerce-product-gallery img { border-radius: var(--lp-radius); box-shadow: var(--lp-umbra); }
.single-product div.product .product_title { font-size: 2.1em; }
.single-product div.product .price {
  color: var(--lp-verde) !important;
  font-family: var(--lp-titluri);
  font-size: 1.6em; font-weight: 700;
}
.single-product div.product .woocommerce-product-details__short-description { color: var(--lp-ink-moale); }
.woocommerce-tabs ul.tabs li a { text-transform: uppercase; letter-spacing: .1em; font-size: .82em; }
.woocommerce-tabs ul.tabs li.active a { color: var(--lp-bordo); box-shadow: inset 0 -3px 0 var(--lp-auriu); }
.woocommerce-breadcrumb { color: var(--lp-ink-moale); font-size: .82em; letter-spacing: .05em; text-transform: uppercase; }
.woocommerce-breadcrumb a { color: var(--lp-ink-moale); }

/* coș + finalizare: aceeași hârtie caldă */
.woocommerce-cart table.cart, .woocommerce table.shop_table {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: var(--lp-radius);
  overflow: hidden;
}
.woocommerce table.shop_table th { background: var(--lp-crem); }
.cart_totals h2, .woocommerce-billing-fields h3 { font-size: 1.3em; }

.woocommerce-message, .woocommerce-info, .woocommerce-noreviews, p.no-comments {
  background-color: var(--lp-verde);
  border-radius: 12px;
  color: #fff;
}
.woocommerce-error { border-radius: 12px; }

/* ============================= ARTICOLELE (blogul) ============================= */
.hentry {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-umbra);
  padding: 1.7em 2em;
  margin-bottom: 2.2em;
  transition: transform var(--lp-tranzitie), box-shadow var(--lp-tranzitie);
}
.blog .hentry:hover, .archive .hentry:hover { transform: translateY(-3px); box-shadow: var(--lp-umbra-mare); }
.hentry .entry-meta, .posted-on, .post-meta {
  font-size: .78em;
  text-transform: uppercase; letter-spacing: .14em;
  color: var(--lp-auriu);
  font-weight: 700;
}
.hentry .entry-title { font-size: 1.6em; margin-bottom: .3em; }
.hentry img, .entry-content img { border-radius: 12px; }
.entry-content video { border-radius: 12px; box-shadow: var(--lp-umbra); width: 100%; }
.more-link { color: var(--lp-bordo); font-weight: 700; letter-spacing: .04em; }

blockquote {
  border-left: 3px solid var(--lp-auriu);
  background: var(--lp-crem);
  border-radius: 0 12px 12px 0;
  padding: 1em 1.4em;
  font-style: italic;
  font-family: var(--lp-titluri);
  color: var(--lp-ink-moale);
}

/* caruselul de pe prima pagină: ramă de tablou */
.bdpp-wrap {
  border-radius: var(--lp-radius);
  overflow: hidden;
  box-shadow: var(--lp-umbra-mare);
  border: 1px solid var(--lp-crem-inchis);
  background: var(--lp-hartie);
}
.bdpp-wrap .owl-dots .owl-dot span { background: var(--lp-auriu-pal); }
.bdpp-wrap .owl-dots .owl-dot.active span { background: var(--lp-auriu); }

/* ============================= TABELELE (alergeni & co) ============================= */
.entry-content table {
  border-collapse: collapse;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--lp-umbra);
  background: var(--lp-hartie);
}
.entry-content table th {
  background: var(--lp-brad);
  color: #fff;
  font-family: var(--lp-text);
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .82em;
}
.entry-content table tr:nth-child(even) td { background: var(--lp-crem); }
.entry-content table td, .entry-content table th { border: 0; }
.entry-content table tr:hover td { background: var(--lp-auriu-lumina); }

/* ============================= FORMULARELE ============================= */
input[type=text], input[type=email], input[type=url], input[type=password],
input[type=search], input[type=number], input[type=tel], textarea, select {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: 12px;
  color: var(--lp-ink);
  padding: .68em .95em;
  transition: border-color var(--lp-tranzitie), box-shadow var(--lp-tranzitie);
}
input:focus, textarea:focus, select:focus {
  border-color: var(--lp-auriu);
  box-shadow: 0 0 0 3px var(--lp-auriu-lumina);
  outline: 0;
}
label { font-weight: 600; letter-spacing: .02em; }

/* ============================= SECȚIUNEA CELOR DOUĂ LOCAȚII ============================= */
.lp-locatii {
  margin-top: 3.5em;
  padding: clamp(2.6rem, 6vw, 4.5rem) 0;
  background:
    radial-gradient(700px 300px at 85% 0%, rgba(168, 134, 59, .09), transparent 60%),
    var(--lp-crem-inchis);
  border-top: 1px solid var(--lp-auriu-pal);
}
.lp-sectiune-cap { text-align: center; margin-bottom: 2.2em; }
.lp-sectiune-titlu { margin: .15em 0 .2em; font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.4rem); }
.lp-ornament { color: var(--lp-auriu); letter-spacing: .9em; text-indent: .9em; font-size: .7em; }
.lp-locatii-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 1.6em;
  max-width: 900px;
  margin: 0 auto;
}
.lp-loc {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-auriu-pal);
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-umbra);
  text-align: center;
  padding: 2em 1.6em 1.8em;
  position: relative;
  transition: transform var(--lp-tranzitie), box-shadow var(--lp-tranzitie);
}
.lp-loc:hover { transform: translateY(-4px); box-shadow: var(--lp-umbra-mare); }
.lp-loc::before {                     /* firul dublu de pe coperta meniului */
  content: '';
  position: absolute; inset: 7px;
  border: 1px solid var(--lp-auriu-lumina);
  border-radius: calc(var(--lp-radius) - 6px);
  pointer-events: none;
}
.lp-loc-script { display: block; font-size: 2.3em; line-height: 1; margin-bottom: .05em; }
.lp-loc-oras {
  margin: 0 0 .4em;
  font-size: 1.5em;
  text-transform: uppercase; letter-spacing: .18em; text-indent: .18em;
}
.lp-loc-desc { color: var(--lp-bordo); font-weight: 600; margin-bottom: .9em; }
.lp-loc-rand { margin: .25em 0; color: var(--lp-ink-moale); font-size: .95em; }
.lp-loc-cta { margin-top: 1.1em; }

/* ============================= SUBSOLUL ============================= */
.site-footer {
  background: var(--lp-brad) !important;
  color: #e9e4d8 !important;
  border-top: 3px solid var(--lp-auriu);
}
/* TOATE accentele din subsol devin aurii — etichetele vechi (TELEFON, EMAIL,
   ADRESA) erau bordo pe verde, adica invizibile; prindem si span-urile cu
   culori puse inline in widgeturi */
.site-footer .widget-title,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
.site-footer h5, .site-footer h6,
.site-footer strong, .site-footer b,
.site-footer .widget span[style] {
  color: var(--lp-auriu-pal) !important;
  font-family: var(--lp-text);
  font-size: 1em;
  letter-spacing: .08em;
}
.site-footer p, .site-footer li { color: #e9e4d8; }
.site-footer a {
  color: #fff !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(217, 198, 154, .35);
  padding-bottom: 1px;
  font-family: var(--lp-text);
}
.site-footer a:hover { color: var(--lp-auriu-pal) !important; border-bottom-color: var(--lp-auriu-pal); }
/* widgeturile: centrate, pe randuri linistite, cu aer egal */
.footer-widgets { text-align: center; }
.site-footer .widget { margin-bottom: 1.4em; font-size: .95em; }
.site-footer .widget p { margin: .45em 0; }
.site-footer .widget a + a { margin-left: 1em; }
.lapetra-credit {
  text-align: center;
  padding: 1.4em 0 .6em;
  font-size: .9em; letter-spacing: .06em;
  color: #cfc8b6;
}
.lapetra-credit strong { color: var(--lp-auriu-pal); font-family: var(--lp-titluri); }
.lp-credit-scris { font-size: 1.9em; color: var(--lp-auriu-pal); }

/* ============================= MĂRUNȚIȘURI ============================= */
.storefront-handheld-footer-bar { background: var(--lp-brad-adanc); }
.storefront-handheld-footer-bar ul li > a { color: #fff; }

button.menu-toggle {
  background: transparent !important;
  color: var(--lp-bordo) !important;
  box-shadow: none !important;
  border: 1px solid var(--lp-crem-inchis) !important;
}
button.menu-toggle:hover { border-color: var(--lp-auriu) !important; transform: none; }

.pagination .page-numbers, .woocommerce-pagination .page-numbers { border-radius: 10px; }
.pagination .page-numbers.current, .woocommerce-pagination .page-numbers.current {
  background: var(--lp-bordo);
  color: #fff;
}

#anna-print .anna-noprint button { background: var(--lp-brad) !important; }

/* butonul „înapoi sus" */
.lp-sus {
  position: fixed; right: 18px; bottom: 76px; z-index: 980;
  width: 46px; height: 46px;
  border-radius: 50% !important;
  background: var(--lp-brad) !important;
  color: var(--lp-auriu-pal) !important;
  font-size: 1.25em;
  padding: 0 !important;
  opacity: 0; pointer-events: none;
  transform: translateY(8px);
  transition: opacity var(--lp-tranzitie), transform var(--lp-tranzitie);
}
.lp-sus.lp-vizibil { opacity: .92; pointer-events: auto; transform: none; }
.lp-sus:hover { opacity: 1; }

/* ============================= UNIFICAREA PLUGIN-URILOR =============================
   Toate elementele terțe intră în aceeași paletă: nimic albastru, nimic gri
   de fabrică — doar crem / bordo / auriu / verde. */

/* breadcrumb: pistă discretă cu separatoare aurii, fără subliniere */
.woocommerce-breadcrumb a { text-decoration: none; border-bottom: 0; }
.woocommerce-breadcrumb a:hover { color: var(--lp-bordo); }

/* stelele de rating: aurii, ca tot ce e prețios aici */
.star-rating span::before, p.stars a::before, .star-rating::before { color: var(--lp-auriu) !important; }
.woocommerce-review-link { color: var(--lp-ink-moale); }

/* cantitatea: rotundă, aliniată cu butoanele */
.quantity .qty {
  border-radius: 12px;
  width: 4.2em;
  text-align: center;
  font-weight: 600;
}

/* cuponul + butonul de finalizare: finalul comenzii merită greutate */
.coupon .input-text { border-radius: 999px !important; }
#place_order, .checkout-button {
  font-size: 1.05em !important;
  padding: .95em 2.2em !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* coșul PLUTITOR (Orderable) și orice buton plutitor de coș: verde brad, insignă aurie */
[class*="floating-cart"], .orderable-floating-cart, .xoo-wsc-basket {
  background: var(--lp-brad) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 30px rgba(13, 47, 29, .4) !important;
}
[class*="floating-cart"] [class*="count"], .orderable-floating-cart__count {
  background: var(--lp-auriu) !important;
  color: #fff !important;
}
.orderable-drawer, .orderable-mini-cart { font-family: var(--lp-text); }
.orderable-button, .orderable-product__add-to-cart {
  background: var(--lp-bordo) !important;
  border-radius: 10px !important;
}

/* YITH Quick View + ferestre modale: hârtia caldă, nu alb de spital */
.yith-wcqv-button { background: var(--lp-verde) !important; }
#yith-quick-view-modal .yith-wcqv-main { background: var(--lp-hartie); border-radius: var(--lp-radius); }

/* Blog Designer Pack: titluri, date și butoane în paletă */
.bdpp-wrap h1, .bdpp-wrap h2, .bdpp-wrap h3, .bdpp-wrap h4,
.bdpp-wrap .bdpp-post-title, .bdpp-wrap .bdpp-post-title a { font-family: var(--lp-titluri); color: var(--lp-ink); }
.bdpp-wrap .bdpp-post-title a:hover { color: var(--lp-bordo); }
.bdpp-wrap .bdpp-post-date, .bdpp-wrap .bdpp-meta { color: var(--lp-auriu); text-transform: uppercase; letter-spacing: .1em; font-size: .78em; }
.bdpp-wrap a.bdpp-readmorebtn, .bdpp-wrap .bdpp-readmore {
  background: var(--lp-bordo) !important; color: #fff !important; border-radius: 10px !important;
}

/* formularele de contact (WPForms / CF7): trimiterea în bordo, câmpurile pe hârtie */
.wpcf7 input[type=submit], .wpforms-submit, .wpcf7-submit {
  background: var(--lp-bordo) !important; color: #fff !important; border-radius: 12px !important;
}
.wpcf7 input, .wpcf7 textarea, .wpforms-field input, .wpforms-field textarea {
  background: var(--lp-hartie); border: 1px solid var(--lp-crem-inchis); border-radius: 12px;
}

/* contul meu: navigarea ca file elegante */
.woocommerce-MyAccount-navigation ul { border: 0; }
.woocommerce-MyAccount-navigation ul li a {
  display: block; padding: .6em 1em;
  border-radius: 10px; text-decoration: none;
  color: var(--lp-ink);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { background: var(--lp-crem-inchis); color: var(--lp-bordo); }

/* comentariile: carduri mici pe hârtie */
.comment-list .comment-body {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: 12px;
  padding: 1em 1.2em;
}
.comment-list .comment-meta a { color: var(--lp-auriu); }

/* căutare fără rezultate / 404: eleganță și în gol */
.error-404 .page-title, .no-results .page-title { text-align: center; }
.error-404 .page-content, .no-results .page-content { text-align: center; color: var(--lp-ink-moale); }

/* produsele înrudite + titlurile de secțiune din shop */
.related.products > h2, .up-sells > h2 {
  text-align: center;
  position: relative; padding-bottom: .6em;
}
.related.products > h2::after, .up-sells > h2::after {
  content: '✦';
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  color: var(--lp-auriu); font-size: .55em;
}

/* etichetele și categoriile produsului */
.product_meta { font-size: .85em; color: var(--lp-ink-moale); text-transform: uppercase; letter-spacing: .08em; }
.product_meta a { color: var(--lp-bordo); }

/* widget-urile din bara laterală (unde există) */
.widget { font-size: .95em; }
.widget_categories li a, .widget_archive li a, .widget_recent_entries li a { text-decoration: none; }
.widget ul li { border-bottom: 1px dashed var(--lp-crem-inchis); padding: .35em 0; }
.tagcloud a {
  display: inline-block;
  background: var(--lp-crem-inchis);
  border-radius: 999px;
  padding: .2em .9em;
  margin: .15em;
  font-size: .8em !important;
  text-decoration: none;
}
.tagcloud a:hover { background: var(--lp-auriu-pal); }

/* galeria WordPress: rame egale, colțuri rotunjite */
.wp-block-gallery img, .gallery img { border-radius: 12px; }

/* ============================= DEZVĂLUIREA LA DERULARE ============================= */
.lp-reveal { opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.lp-reveal.lp-in { opacity: 1; transform: none; }

/* ============================= MOBIL ============================= */
@media (max-width: 768px) {
  body { font-size: 16px; }
  .lp-topbar-loc { display: none; }               /* pe telefon rămâne doar telefonul */
  .lp-topbar-inner { justify-content: center; }
  .site-header { position: static; }              /* pe mobil antetul nu fură din ecran */
  .lp-hero { margin-top: 0; }
  .lp-hero::before, .lp-hero::after { width: 44px; height: 44px; }
  .lp-hero-cta .button { width: 100%; }
  ul.products li.product:hover, .hentry:hover, .lp-loc:hover { transform: none; }
  .hentry { padding: 1.15em 1.25em; }
  .lp-loc { padding: 1.6em 1.2em 1.4em; }
  .lp-sus { bottom: 86px; }                       /* peste bara mobilă Storefront */
  .entry-content table { display: block; overflow-x: auto; }
}

@media (max-width: 480px) {
  .lp-hero-chipuri { flex-direction: column; align-items: center; }
  .storefront-sorting { justify-content: center; }
}

/* ============ DENSITATE: compact și organizat (referința: lanțurile mari) ============
   McDonald's / KFC țin totul strâns: antet pe UN rând, blocuri lipite logic,
   fără aer irosit. Aplicăm aceeași disciplină, dar în haina noastră elegantă. */
body { font-size: 16px; line-height: 1.62; }
.site-content { padding-top: .6em; }

/* antetul pe UN SINGUR rând pe desktop: brandul la stânga, meniul + coșul la dreapta */
@media (min-width: 768px) {
  /* Masthead ELEGANT de restaurant: brandul mic centrat, navigarea subtire
     centrata sub el, cosul discret alaturi — fara aer mort sub texte. */
  .site-header { padding: .5em 0 0 !important; text-align: center; }
  .site-header > .col-full { padding-top: 0; padding-bottom: 0; }
  .site-branding { float: none !important; width: auto; margin: 0 auto .1em !important; padding: 0; }
  .site-branding .site-title { font-size: 1.15em; line-height: 1.2; margin: 0; }
  .site-header .site-branding .site-description { display: none !important; }
  .site-header .site-search { display: none !important; }
  .site-header .storefront-primary-navigation {
    margin: 0 !important; padding: 0;
    border-top: 1px solid var(--lp-crem-inchis);
    display: flex; justify-content: center;   /* banda insasi centreaza meniul */
  }
  /* copilul direct al benzii e .col-full, nu meniul — fara flex si pe el,
     meniul ramane lipit de stanga cand col-full e mai lat decat continutul */
  .site-header .storefront-primary-navigation > .col-full {
    display: flex; justify-content: center;
    width: auto; max-width: 100%;
  }
  .storefront-primary-navigation .main-navigation {
    float: none !important;
    width: auto !important;
    flex: 0 1 auto;
    max-width: calc(100% - 170px);        /* loc pentru cosul absolut din dreapta */
    margin: 0 !important;                 /* Storefront pune 16px la dreapta si muta centrul */
  }
  /* UN SINGUR RAND, mereu — decat doua randuri, mai bine porneste mai din stanga.
     margin 0: Storefront pune margin-left -16px pe lista si strica centrarea */
  .main-navigation ul.menu { justify-content: center; display: flex; flex-wrap: nowrap; align-items: center; margin: 0 !important; }
  .main-navigation ul.menu > li { float: none; }
  .main-navigation ul.menu > li > a {
    padding: .62em .8em;                 /* subtire: textul sta in mijlocul benzii */
    font-size: .74em;
    letter-spacing: .09em;
    line-height: 1.2;
  }
  .main-navigation ul.menu > li > a::after { bottom: .28em; }
  /* separatoare-punct discrete intre butoane, ca pe meniul tiparit */
  .main-navigation ul.menu > li + li > a::before {
    content: '·';
    position: absolute; left: -.12em; top: 50%; transform: translateY(-50%);
    color: var(--lp-auriu-pal);
    font-size: 1.1em;
  }
  .site-header-cart { float: none; display: inline-flex; align-items: center; margin: 0 0 0 .8em !important; }
  .site-header-cart .cart-contents { padding: .62em 0; font-size: .88em; }
}
/* pe ecrane medii, butoanele se string putin ca sa incapa toate pe un rand */
@media (min-width: 768px) and (max-width: 1350px) {
  .main-navigation ul.menu > li > a { padding: .62em .5em !important; font-size: .68em !important; letter-spacing: .04em !important; }
}

/* ritm vertical strâns peste tot */
.lp-hero { margin-bottom: 1.6em; }
.lp-hero-inner { padding: clamp(1.2rem, 2.2vw, 2rem) 1.2rem clamp(1.4rem, 2.6vw, 2.2rem); }
.lp-hero-sub { margin-bottom: 1.1em; }
.lp-hero-cta { margin-bottom: 1.1em; }
.lp-hero-ornament { margin-top: 1em; }
.hentry { padding: 1.3em 1.5em; margin-bottom: 1.5em; }
.entry-content > p { margin-bottom: 1em; }
.lp-locatii { margin-top: 2.2em; padding: 2.2rem 0 2.6rem; }
.lp-sectiune-cap { margin-bottom: 1.4em; }
.lp-locatii-grid { gap: 1.2em; }
.lp-loc { padding: 1.5em 1.3em 1.4em; }
ul.products li.product { margin-bottom: 1.6em !important; }
ul.products li.product img { margin-bottom: .6em !important; }
.site-footer { padding-top: 1.6em; }
.site-footer .widget { margin-bottom: 1.2em; }
.lapetra-credit { padding: .8em 0 .4em; }

/* ============ UMPLEREA GOLURILOR: fără spații moarte, fără coloane pustii ============ */
/* conținutul respiră mai lat — grila de 5 produse are în sfârșit loc */
.col-full { max-width: 1200px; }

/* video-ul umple coloana lui, în ramă rotunjită cu umbră */
.entry-content video, .wp-block-video video {
  width: 100% !important;
  height: auto !important;
  border-radius: 12px;
  box-shadow: var(--lp-umbra);
}
.wp-block-video { margin: 0; }

/* coloanele se aliniază pe centru vertical și stau lipite logic */
.wp-block-columns { gap: 1.8em; align-items: center; }
.wp-block-column > *:first-child { margin-top: 0; }
.wp-block-column > *:last-child { margin-bottom: 0; }

/* pe Acasă, TOATE titlurile de secțiune sunt centrate, cu ornamentul casei */
.home .entry-content > h1, .home .entry-content > h2 {
  text-align: center;
  position: relative;
  padding-bottom: .7em;
  margin-top: 1.4em;
}
.home .entry-content > h1::after, .home .entry-content > h2::after {
  content: '✦';
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  color: var(--lp-auriu); font-size: .5em;
}

/* caruselul fără burți de aer dedesubt (unde mai există prin site) */
.bdpp-wrap { padding-bottom: .3em; }
.bdpp-wrap .owl-dots { margin: .3em 0 .5em; }

/* NOUTĂȚILE de pe Acasă: bloc nativ „latest posts" transformat în carduri de revistă */
.wp-block-latest-posts {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.4em;
  padding: 0;
  list-style: none;
  margin: 1.2em 0 1.6em;
}
.wp-block-latest-posts > li {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-umbra);
  overflow: hidden;
  margin: 0 !important;
  width: auto !important;
  display: flex; flex-direction: column;
  transition: transform var(--lp-tranzitie), box-shadow var(--lp-tranzitie);
}
.wp-block-latest-posts > li:hover { transform: translateY(-4px); box-shadow: var(--lp-umbra-mare); }
/* poza umple TOT capul cardului — cu !important, ca blocul nativ isi apara
   marimile lui mici si altfel poza ramane pitica intr-un colt */
.wp-block-latest-posts > li .wp-block-latest-posts__featured-image,
.wp-block-latest-posts > li .wp-block-latest-posts__featured-image a { display: block; width: 100%; margin: 0; }
.wp-block-latest-posts > li .wp-block-latest-posts__featured-image img {
  width: 100% !important;
  height: 215px !important;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 0;
}
.wp-block-latest-posts > li > a:not(.wp-block-latest-posts__post-title) { display: block; }
.wp-block-latest-posts .wp-block-latest-posts__post-title {
  display: block;
  font-family: var(--lp-titluri);
  font-size: 1.06em; font-weight: 700;
  color: var(--lp-ink);
  padding: .8em 1em .2em;
  text-decoration: none !important;
  border-bottom: 0 !important;
}
.wp-block-latest-posts .wp-block-latest-posts__post-title:hover { color: var(--lp-bordo); }
.wp-block-latest-posts .wp-block-latest-posts__post-date {
  display: block;
  padding: 0 1.25em 1.1em;
  font-size: .74em;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--lp-auriu);
  font-weight: 700;
}

/* cardurile de produs pe rânduri egale — fără „dinți" în grilă */
ul.products { align-items: stretch; }
ul.products li.product { display: flex; flex-direction: column; }
ul.products li.product .button { margin-top: auto; align-self: center; }

.footer-widgets { padding-top: 1.4em; }

/* ============ GARDA DE CONTRAST LA HOVER: nimic închis pe fundal închis ============
   Orice stare de hover primește explicit perechea culoare+fundal — nu moștenim
   nimic din Customizer-ul vechi, care punea cutii maro sub text bordo. */
.main-navigation ul.menu > li > a:hover,
.main-navigation ul.menu > li > a:focus {
  background: transparent !important;
  color: var(--lp-bordo) !important;
}
.main-navigation ul.sub-menu li a:hover,
.main-navigation ul.sub-menu li a:focus {
  background: var(--lp-crem) !important;
  color: var(--lp-bordo) !important;
}
.site-header-cart .cart-contents:hover { background: transparent !important; color: var(--lp-bordo) !important; }
.site-header-cart:hover > li > a { background: transparent !important; }
.lp-topbar a:hover { color: var(--lp-auriu-pal); }
.lp-topbar .lp-topbar-tel:hover { color: #fff !important; }
.site-footer a:hover, .site-footer a:focus { color: var(--lp-auriu-pal) !important; }
.storefront-handheld-footer-bar ul li > a:hover { color: var(--lp-auriu-pal); }
.handheld-navigation ul li a, .handheld-navigation ul li a:hover { color: var(--lp-ink) !important; background: transparent; }
.pagination .page-numbers:hover, .woocommerce-pagination .page-numbers:hover {
  background: var(--lp-crem-inchis);
  color: var(--lp-ink);
}
.bdpp-wrap a:hover { color: var(--lp-bordo); }
.widget a:hover { color: var(--lp-bordo); }
.woocommerce-breadcrumb a:hover { color: var(--lp-bordo); }
.comment-list a:hover { color: var(--lp-bordo); }
.entry-title a:hover, .woocommerce-loop-product__title:hover { color: var(--lp-bordo); }
/* linkurile din secțiunile ÎNCHISE rămân deschise la culoare și la hover */
.lp-hero a:not(.button):hover, .lp-locatii .lp-loc a:not(.button):hover { color: var(--lp-bordo-inchis); }

/* ============ PAGINILE GENERATE DIN AnnaPOS (meniu / rețetar / alergeni) ============
   Elemente grafice de restaurant: capete de categorie cu ornament și fir auriu,
   linii punctate între fel și preț (ca pe meniul tipărit), carduri cu chenar dublu. */
.lp-gen-cat {
  display: flex; align-items: center; justify-content: center; gap: .8em;
  margin: 1.9em 0 1em;
  font-size: 1.5em;
  color: var(--lp-bordo) !important;
  border: 0 !important; padding: 0 !important;
}
.lp-gen-cat i { color: var(--lp-auriu); font-style: normal; font-size: .55em; }
.lp-gen-cat::before, .lp-gen-cat::after { content: ''; flex: 1; border-top: 1px solid var(--lp-auriu-pal); }
.lp-gen-nota { text-align: center; color: var(--lp-ink-moale); font-size: .85em; letter-spacing: .06em; }

/* MENIUL: rândul fel .... preț, cu linia punctată aurie */
.lp-fel { margin: 0 0 .95em; }
.lp-fel-rand { display: flex; align-items: baseline; gap: .55em; }
.lp-fel-nume { font-family: var(--lp-titluri); font-weight: 600; font-size: 1.04em; }
.lp-fel-nume small { color: var(--lp-ink-moale); font-weight: 400; font-size: .8em; }
.lp-fel-linie { flex: 1; border-bottom: 2px dotted var(--lp-auriu-pal); transform: translateY(-4px); }
.lp-fel-pret { font-family: var(--lp-titluri); font-weight: 700; color: var(--lp-verde); white-space: nowrap; }
.lp-fel-ing { margin: .15em 0 0; font-size: .88em; color: var(--lp-ink-moale); }
.lp-fel-alg { margin: .05em 0 0; font-size: .8em; font-style: italic; color: #7a5a20; }

/* LAT CÂT ECRANUL, în siguranță: pe paginile cu bară laterală, trucul cu
   margin calc(50%-50vw) împinge conținutul AFARĂ din ecran (coloana nu e
   centrată în fereastră). În loc: ascundem bara laterală și lățim containerul. */
.lp-lat { margin: 0; padding: 0; }
body:has(.lp-gen-retetar) .content-area,
body:has(.lp-gen-alergeni) .content-area {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body:has(.lp-gen-retetar) .widget-area,
body:has(.lp-gen-alergeni) .widget-area { display: none !important; }
/* latimea ramane cea NORMALA de continut (ca la /meniu/) — doar fara bara laterala */

/* REȚETARUL: grilă de carduri cu chenarul dublu al meniului tipărit */
.lp-ret-grila { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 1.2em; }
.lp-ret-grila > .lp-gen-cat, .lp-ret-cat { grid-column: 1 / -1; }
.lp-ret {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-auriu-pal);
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-umbra);
  padding: 1.3em 1.4em;
  position: relative;
}
.lp-ret::before {
  content: '';
  position: absolute; inset: 6px;
  border: 1px solid var(--lp-auriu-lumina);
  border-radius: calc(var(--lp-radius) - 5px);
  pointer-events: none;
}
.lp-ret-titlu { font-size: 1.12em; margin: 0 0 .4em; display: flex; justify-content: space-between; gap: .6em; align-items: baseline; }
.lp-ret-gram { color: var(--lp-bordo); font-size: .8em; white-space: nowrap; font-family: var(--lp-text); font-weight: 700; }
.lp-ret-et {
  margin: .75em 0 .15em;
  font-size: .68em; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--lp-auriu);
  border-bottom: 1px solid var(--lp-auriu-lumina);
  padding-bottom: .25em;
}
.lp-ret-text { margin: 0; font-size: .92em; color: var(--lp-ink-moale); }

/* ALERGENII: tabelul îmbrăcat în hârtia casei */
.lp-tabel-inveli {
  overflow-x: auto;
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-umbra);
}
.lp-tabel { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 !important; box-shadow: none !important; }
.lp-tabel th {
  background: var(--lp-brad) !important;
  color: #fff !important;
  text-align: left;
  padding: 10px 12px;
  font-size: .76em; letter-spacing: .08em; text-transform: uppercase;
  font-family: var(--lp-text);
}
.lp-tabel th.num, .lp-tabel td.num { text-align: right; white-space: nowrap; }
.lp-tabel td { padding: 7px 12px; border-bottom: 1px solid var(--lp-crem-inchis) !important; }
.lp-tabel tr:nth-child(even) td { background: var(--lp-crem); }
.lp-tabel tr:hover td { background: var(--lp-auriu-lumina); }
@media (max-width: 768px) { .lp-lat { padding: 0 2vw; } .lp-ret-grila { grid-template-columns: 1fr; } }

/* ============ BLOGUL CA REVISTĂ: grilă de carduri, nu listă brută ============ */
.blog .site-main, .archive.category .site-main, .archive.tag .site-main,
.archive.date .site-main, .search-results .site-main {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.6em;
  align-items: stretch;
}
.blog .site-main > *:not(.hentry), .archive .site-main > *:not(.hentry),
.search-results .site-main > *:not(.hentry) { grid-column: 1 / -1; }
.blog .hentry, .archive .hentry, .search-results .hentry {
  padding: 0 !important;
  margin: 0 !important;
  display: flex; flex-direction: column;
  overflow: hidden;
}
.lp-post-poza { display: block; overflow: hidden; }
.lp-post-poza img {
  width: 100%; height: 210px;
  object-fit: cover; object-position: center top;
  border-radius: 0 !important;
  display: block;
  transition: transform .4s ease;
}
.hentry:hover .lp-post-poza img { transform: scale(1.045); }
.lp-post-corp { padding: 1.05em 1.25em 1.25em; display: flex; flex-direction: column; gap: .35em; flex: 1; }
.lp-post-data {
  font-size: .72em; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--lp-auriu);
}
.lp-post-titlu { font-size: 1.14em; margin: 0; line-height: 1.35; }
.lp-post-titlu a { color: var(--lp-ink); text-decoration: none !important; }
.lp-post-titlu a:hover { color: var(--lp-bordo); }
.lp-post-rezumat { color: var(--lp-ink-moale); font-size: .92em; margin: 0; }
.lp-post-mai-mult {
  margin-top: auto; padding-top: .5em;
  font-weight: 700; font-size: .88em;
  letter-spacing: .04em;
  color: var(--lp-bordo);
  text-decoration: none !important;
}
.lp-post-mai-mult:hover { color: var(--lp-bordo-inchis); }

/* ============ BLOGUL (Query Loop): carduri de revistă + paginare elegantă ============ */
.wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 1.5em;
  list-style: none;
  padding: 0; margin: 0 0 1.6em;
}
.wp-block-query .wp-block-post {
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-umbra);
  overflow: hidden;
  margin: 0 !important;
  display: flex; flex-direction: column;
  transition: transform var(--lp-tranzitie), box-shadow var(--lp-tranzitie);
}
.wp-block-query .wp-block-post:hover { transform: translateY(-4px); box-shadow: var(--lp-umbra-mare); }
.wp-block-query .wp-block-post-featured-image { margin: 0; }
.wp-block-query .wp-block-post-featured-image img {
  width: 100%; height: 210px;
  object-fit: cover; object-position: center top;
  border-radius: 0 !important; display: block;
  transition: transform .4s ease;
}
.wp-block-query .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.045); }
.wp-block-query .wp-block-post-date {
  padding: .9em 1.25em 0;
  font-size: .72em; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--lp-auriu);
}
.wp-block-query .wp-block-post-title {
  font-size: 1.12em; line-height: 1.35;
  margin: .2em 0 0;
  padding: 0 1.1em;
}
.wp-block-query .wp-block-post-title a { color: var(--lp-ink); text-decoration: none !important; }
.wp-block-query .wp-block-post-title a:hover { color: var(--lp-bordo); }
.wp-block-query .wp-block-post-excerpt {
  padding: .3em 1.15em 1.1em;
  margin: 0;
  color: var(--lp-ink-moale);
  font-size: .92em;
  flex: 1;
}
.wp-block-query .wp-block-post-excerpt__more-link {
  display: inline-block; margin-top: .5em;
  font-weight: 700; color: var(--lp-bordo);
  text-decoration: none !important;
}
.wp-block-query .wp-block-query-pagination { justify-content: center; gap: .4em; }
.wp-block-query .wp-block-query-pagination a,
.wp-block-query .wp-block-query-pagination .page-numbers,
.wp-block-query .wp-block-query-pagination-numbers .page-numbers {
  display: inline-block;
  padding: .4em .85em;
  border-radius: 10px;
  background: var(--lp-hartie);
  border: 1px solid var(--lp-crem-inchis);
  color: var(--lp-ink);
  text-decoration: none !important;
  font-weight: 600;
}
.wp-block-query .wp-block-query-pagination .page-numbers.current {
  background: var(--lp-bordo);
  border-color: var(--lp-bordo);
  color: #fff;
}
.wp-block-query .wp-block-query-pagination a:hover { border-color: var(--lp-auriu); color: var(--lp-bordo); }

/* ============ PAGINA DELIVERY (layoutul propriu lapetra-delivery) ============
   DOAR culori/rame/umbre — mecanica de comanda ramane neatinsa. */
.lapetra-delivery-card {
  background: var(--lp-hartie) !important;
  border: 1px solid var(--lp-crem-inchis) !important;
  border-radius: var(--lp-radius) !important;
  box-shadow: var(--lp-umbra) !important;
  overflow: hidden;
  transition: transform var(--lp-tranzitie), box-shadow var(--lp-tranzitie);
}
.lapetra-delivery-card:hover { transform: translateY(-3px); box-shadow: var(--lp-umbra-mare) !important; border-color: var(--lp-auriu-pal) !important; }
.lapetra-delivery-card-head, .lapetra-delivery-title-btn {
  font-family: var(--lp-titluri) !important;
  color: var(--lp-ink) !important;
}
.lapetra-delivery-price {
  color: var(--lp-verde) !important;
  font-family: var(--lp-titluri) !important;
  font-weight: 700 !important;
}
.lapetra-delivery-add, .lapetra-delivery-actions .button, .lapetra-delivery-actions button {
  background: var(--lp-bordo) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 12px rgba(139, 46, 46, .25) !important;
}
.lapetra-delivery-add:hover, .lapetra-delivery-actions button:hover { background: var(--lp-bordo-inchis) !important; }
.lapetra-delivery-nav-link {
  border-radius: 999px !important;
  background: var(--lp-hartie) !important;
  border: 1px solid var(--lp-crem-inchis) !important;
  color: var(--lp-ink) !important;
  font-weight: 600;
}
.lapetra-delivery-nav-link:hover,
.lapetra-delivery-nav-link.active, .lapetra-delivery-nav-link[aria-current] {
  background: var(--lp-bordo) !important;
  color: #fff !important;
  border-color: var(--lp-bordo) !important;
}
.lapetra-delivery-section .woocommerce-loop-category__title,
.lapetra-delivery-section > h2 {
  font-family: var(--lp-titluri) !important;
  color: var(--lp-ink) !important;
}
.lapetra-delivery-card-image img {
  border-radius: 0 !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}

/* ACEEASI ASEZARE CA RESTUL SITE-ULUI: continut centrat pe 1200px, iar cosul
   devine coloana IN PAGINA (sticky) la dreapta — nu mai e lipit de marginea
   ferestrei. Structura DOM: .layout > main + aside.cart (frati). */
/* coloana de continut a arhivei de magazin era 73% + bara laterala goala la
   dreapta — de-aia totul statea lipit stanga. Full width + fara sidebar. */
body.post-type-archive-product .content-area,
body.post-type-archive-product .site-main {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body.post-type-archive-product .widget-area { display: none !important; }

@media (min-width: 1024px) {
  body.post-type-archive-product .lapetra-delivery-app {
    max-width: 1200px !important;
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 18px;
  }
  body.post-type-archive-product .lapetra-delivery-layout {
    display: flex !important;
    gap: 24px;
    align-items: flex-start;
  }
  body.post-type-archive-product .lapetra-delivery-main { flex: 1 1 auto; min-width: 0; }
  body.post-type-archive-product .lapetra-delivery-cart {
    position: sticky !important;
    top: 84px; right: auto !important;
    flex: 0 0 330px;
    width: 330px !important;
    height: auto !important;
    max-height: calc(100vh - 104px);
    overflow: auto;
    z-index: 5 !important;
    background: var(--lp-hartie) !important;
    border: 1px solid var(--lp-crem-inchis) !important;
    border-radius: 14px;
    box-shadow: var(--lp-umbra);
  }
}

/* COMPACT: fara pauze mari intre sectiuni si carduri */
.lapetra-delivery-grid { gap: 12px !important; align-items: start; }
.lapetra-delivery-card-body { padding: 10px 12px !important; }
.lapetra-delivery-details { font-size: .85em !important; line-height: 1.45 !important; }
.lapetra-delivery-section { margin: 0 0 20px !important; }
.lapetra-delivery-section .woocommerce-loop-category__title,
.lapetra-delivery-section > h2 { font-size: 1.35em !important; margin: .6em 0 .45em !important; }
.lapetra-delivery-title-btn { font-size: 1em !important; padding: .22em .55em !important; }
.lapetra-delivery-actions { margin-top: .4em !important; }

/* filtrele de categorii (WPC) intra si ele in paleta */
.wpc-filter-header { color: var(--lp-bordo) !important; font-weight: 700; }
.wpc-term-item a, .wpc-filter-link { color: var(--lp-ink) !important; }
.wpc-term-item a:hover, .wpc-filter-link:hover { color: var(--lp-bordo) !important; }
.wpc-term-count, .wpc-term-count-value { color: var(--lp-auriu) !important; }

/* banda cu telefon/WhatsApp din capul paginii de delivery */
.woocommerce-products-header .page-description > div {
  background: var(--lp-crem-inchis) !important;
  border: 1px solid var(--lp-auriu-pal) !important;
}
.woocommerce-products-header .page-description a[href^="tel:"] { background: var(--lp-bordo) !important; color: #fff !important; }
.woocommerce-products-header .page-description a[href*="wa.me"] { background: var(--lp-verde) !important; color: #fff !important; }

/* ============================= BLAZONUL & COȘUL DIN ANTET ============================= */
.lp-brand { text-align: center; float: none !important; width: auto; margin: .4em auto .15em !important; padding: 0; }
.lp-logo { display: inline-block; text-decoration: none !important; border: 0 !important; line-height: 1; }
/* nowrap + clamp: numele NU se rup niciodata pe doua randuri — sub ~716px
   blazonul se micsoreaza fluid in loc sa se franga */
.lp-logo-rand { display: flex; align-items: baseline; justify-content: center; gap: .3em; white-space: nowrap; }
.lp-logo-script {
  font-family: var(--lp-script);
  font-size: clamp(1.5em, 7.6vw, 3.4em);  /* calibru de H1 — blazonul e vedeta antetului */
  color: var(--lp-bordo);
  transition: color var(--lp-tranzitie);
}
/* distanta de UN CARACTER pe ambele parti ale lui „&": floritura finala a
   scriptului depaseste cutia cu ~5px, deci stanga primeste putin mai mult */
.lp-logo-amp { font-family: var(--lp-titluri); font-style: italic; font-size: clamp(.85em, 4.2vw, 1.9em); color: var(--lp-auriu); margin: 0 .33em 0 .42em; }
.lp-logo-casa {
  font-family: var(--lp-titluri);
  font-weight: 700;
  font-size: clamp(1.5em, 7.6vw, 3.4em);  /* acelasi corp cu „La Petra" */
  color: var(--lp-brad);
  letter-spacing: .02em;
}
.lp-logo-sub {
  display: block;
  margin-top: .55em;
  font-family: var(--lp-text);
  font-size: .72em; font-weight: 600;
  letter-spacing: .34em; text-indent: .34em;
  text-transform: uppercase;
  color: var(--lp-auriu);
  text-align: center;
}
.lp-logo:hover .lp-logo-script { color: var(--lp-bordo-inchis); }
@media (max-width: 480px) {
  /* marimile numelor le da clamp()-ul de mai sus — aici doar subtitlul */
  .lp-logo-sub { letter-spacing: .22em; font-size: .62em; }
}

/* coșul stă ABSOLUT în capătul drept al benzii de meniu — fără rândul gol urias */
@media (min-width: 768px) {
  .site-header .storefront-primary-navigation { position: relative; }
  .site-header .site-header-cart {
    position: absolute !important;
    right: .5rem; top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    float: none; display: block;
    width: auto !important;
  }
  .site-header .site-header-cart .cart-contents {
    padding: .2em .5em !important;
    font-size: .85em;
    background: transparent !important;   /* fara banda maro mostenita din Customizer */
    color: var(--lp-ink) !important;
    width: auto !important;
    border-radius: 8px;
  }
  .site-header .site-header-cart .cart-contents:hover { color: var(--lp-bordo) !important; }
  /* mini-cosul de la hover: latime proprie, ANCORAT la dreapta butonului
     (fara ancorare explicita cadea in afara ecranului) */
  .site-header-cart { position: relative; }
  .site-header-cart .widget_shopping_cart {
    position: absolute !important;
    top: 100%;
    right: 0 !important;
    left: auto !important;
    /* Storefront il ascundea cu left:-999em; left:auto de mai sus anula asta
       si dropdown-ul ramanea PERMANENT pe ecran — ascundem noi explicit.
       !important e obligatoriu: woocommerce.css al parintelui se incarca DUPA
       tema copil si pune display:block la aceeasi specificitate */
    display: none !important;
    width: 320px !important;
    min-width: 320px !important;
    background: var(--lp-hartie) !important;
    border: 1px solid var(--lp-crem-inchis);
    border-radius: 12px;
    box-shadow: var(--lp-umbra-mare);
    padding: 1em 1.1em;
  }
  .site-header-cart:hover .widget_shopping_cart,
  .site-header-cart:focus-within .widget_shopping_cart,
  .site-header-cart.focus .widget_shopping_cart { display: block !important; }
  /* Storefront pune totalul si butoanele ABSOLUT (pentru panoul lui fix) —
     readucem totul in flux normal, altfel se suprapun peste produse */
  .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total,
  .site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons,
  .site-header-cart .widget_shopping_cart .buttons,
  .site-header-cart .widget_shopping_cart p,
  .site-header-cart .widget_shopping_cart ul {
    position: static !important;
    width: auto !important;
    margin: 0 0 .55em !important;
    padding: 0 !important;
    background: transparent !important;
  }
  .site-header-cart .widget_shopping_cart .product_list_widget {
    max-height: 260px; overflow: auto;
  }
  .site-header-cart .widget_shopping_cart li {
    position: static !important;
    padding: .45em 0 !important;
    border-bottom: 1px dashed var(--lp-crem-inchis);
    background: transparent !important;
    white-space: normal;
  }
  .site-header-cart .widget_shopping_cart,
  .site-header-cart .widget_shopping_cart a:not(.button),
  .site-header-cart .widget_shopping_cart .quantity { color: var(--lp-ink) !important; }
  .site-header-cart .widget_shopping_cart .buttons .button {
    display: block; width: 100% !important; margin: .35em 0 !important; text-align: center;
  }
}

/* ============ COȘUL & FINALIZAREA (WooCommerce Blocks) în paleta casei ============ */
/* alignwide pune margini NEGATIVE (-36px) pe blocul cosului — il scotea din card */
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* dressingul generic de tabele NU se aplică tabelelor funcționale din coș */
.entry-content table[class*="wc-block"], table.wc-block-cart-items {
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
table.wc-block-cart-items th { background: transparent !important; color: var(--lp-ink-moale) !important; text-transform: none; }
table.wc-block-cart-items tr:nth-child(even) td,
table.wc-block-cart-items tr:hover td { background: transparent !important; }
/* FARA borduri pe celule: celulele Blocks au inaltimi diferite si bordurile
   mele desenau linii rupte prin mijlocul randurilor — Blocks isi are separatoarele lui */
.woocommerce-cart .entry-content table td,
.woocommerce-cart .entry-content table th,
table.wc-block-cart-items td { border: 0 !important; }

/* butonul „Comanda online – in curand" iese din meniu pana se lanseaza pagina */
.main-navigation li:has(> a[href*="comanda"]),
.main-navigation li:has(> a[href*="delivery"]) { display: none !important; }

/* butoanele Blocks (verdele-lime al lor -> verdele casei) */
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: var(--lp-verde) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(44, 82, 51, .25) !important;
}
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover { background: var(--lp-brad) !important; color: #fff !important; }
.wc-block-components-product-name { color: var(--lp-ink) !important; font-family: var(--lp-titluri); font-weight: 700; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--lp-verde) !important;
  font-family: var(--lp-titluri);
  font-weight: 700;
}
.wc-block-cart-item__remove-link { color: var(--lp-bordo) !important; }
.wc-block-components-quantity-selector { border-radius: 999px !important; border-color: var(--lp-crem-inchis) !important; }
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-totals-wrapper { border-color: var(--lp-crem-inchis) !important; }

/* ============================= RESPECT PENTRU PREFERINȚE ============================= */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .lp-reveal { opacity: 1; transform: none; }
}

/* ============================= TIPAR ============================= */
@media print {
  .lp-topbar, .site-header, .lp-hero, .lp-locatii, .site-footer,
  .lp-sus, .storefront-handheld-footer-bar { display: none !important; }
  body { background: #fff; }
}
