/**
 * Meniul QR — corecturi din lista clientului (26.08).
 */

/* Avenir pe orice text, nu doar pe lista de selectoare din style.css.
   Kit-ul Elementor setează global Roboto (--e-global-typography-*), iar
   Bootstrap îl pune în stiva de fonturi a body — orice element neacoperit
   cădea pe Roboto și declanșa descărcarea fontului Google (37 KB + o foaie
   blocantă). Excludem doar purtătorii de iconițe-font, care au nevoie de
   familia lor. :where() nu adaugă specificitate; !important face treaba. */
body :where(:not(i):not(svg):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not([class*='fa-']):not([class*='eicon']):not(.dashicons)) {
  font-family: var(--credo-font-primary) !important;
}

/* P4 — cruciulița de închidere a pop-up-ului era aproape neagră pe fundal
   întunecat. O facem albă, cu zonă de atingere confortabilă. */
.dialog-close-button .eicon-close,
.dialog-close-button svg {
  fill: #fff !important;
  color: #fff !important;
}

.dialog-close-button:hover .eicon-close,
.dialog-close-button:hover svg {
  fill: #d68240 !important;
}

/* P9 — pe rândurile din meniul bar, denumirile lungi nu se puteau strânge,
   așa că prețul cădea pe rândul următor, la stânga. Permitem strângerea:
   denumirea curge pe două rânduri, prețul rămâne la dreapta.
   Doar pe rânduri (denumire + preț), nu și pe pastila de categorie, care e
   singură în containerul ei — de aceea `:not(:only-child)`. */
body:is(.page-id-3289, .page-id-5417, .page-id-5421) .e-con.e-child > .elementor-widget-heading:first-child:not(:only-child) {
  min-width: 0;
  max-width: calc(100% - 92px);
}

/* P18 — denumirile de pe wine card atingeau marginile butonului. */
body.page-id-3300 .elementor-widget-image img,
body.page-id-5230 .elementor-widget-image img,
body.page-id-5261 .elementor-widget-image img {
  padding-left: 10px;
  padding-right: 10px;
  box-sizing: border-box;
}

/* Denumirile curg pe două rânduri când nu încap („Тоник Fentimans Premium
   Indian" se suprapunea peste preț). Regula veche ținea pe un rând orice h2
   care era singur în widgetul lui — adică toate. */
body:is(.page-id-3289, .page-id-5417, .page-id-5421) .elementor-widget-heading h2 {
  white-space: normal;
}

/* P18 — pastila de categorie: „Cocktails" se rupea în „COCK / TAILS", iar în
   rusă „ПРОХЛАДИТЕЛЬНЫЕ НАПИТКИ" se rupea în mijlocul cuvântului, fiindcă
   pastila are 200 px ficși din Elementor. Acum pastila crește după text
   (o singură linie cât încape pe ecran), un cuvânt nu se rupe niciodată, iar
   fundalul-imagine se întinde odată cu ea. Pe eticheta scurtă rămâne 200 px.
   Și pe meniul libanez („ХОЛОДНЫЕ МЕЗЕ" atingea marginile pastilei); acolo
   rândurile de preparate sunt excluse prin `.credo-dish-row`. */
body:is(.page-id-3289, .page-id-5417, .page-id-5421, .page-id-3278, .page-id-5011, .page-id-5014) .e-con.e-child:has(> .elementor-widget-heading:only-child):not(:has(.credo-dish-row)) {
  width: max-content !important;
  min-width: 200px;
  max-width: 100%;
  padding-left: 22px;
  padding-right: 22px;
  background-size: 100% 100% !important;
}

body:is(.page-id-3289, .page-id-5417, .page-id-5421, .page-id-3278, .page-id-5011, .page-id-5014) .e-con.e-child > .elementor-widget-heading:only-child {
  max-width: none;
}

body:is(.page-id-3289, .page-id-5417, .page-id-5421, .page-id-3278, .page-id-5011, .page-id-5014) .e-con.e-child > .elementor-widget-heading:only-child h2 {
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}

/* P10 — textul cu alergeni era lipit de logoul din subsol. */
body.page-id-3289 .elementor-widget-image:last-child,
body.page-id-5417 .elementor-widget-image:last-child,
body.page-id-5421 .elementor-widget-image:last-child,
body.page-id-3278 .elementor-widget-image:last-child,
body.page-id-5011 .elementor-widget-image:last-child,
body.page-id-5014 .elementor-widget-image:last-child {
  margin-top: 26px;
}


/* P6 — semn de „iute" peste fotografie, la Muhamara, Hummus Beiruty și Sujoc.
   Ne legăm de numele fișierului imagine, identic în toate cele trei limbi,
   deci insigna nu se pierde dacă cineva editează pagina în Elementor.
   Căutarea e „oriunde dedesubt", nu „copil direct": fotografiile sunt
   împachetate într-un <picture> pentru varianta WebP. */
.elementor-widget:has(a img[src*="muhamara"]),
.elementor-widget:has(a img[src*="hummus-beiruty"]),
.elementor-widget:has(a img[src*="sujoc"]) {
  position: relative;
}

.elementor-widget:has(a img[src*="muhamara"])::after,
.elementor-widget:has(a img[src*="hummus-beiruty"])::after,
.elementor-widget:has(a img[src*="sujoc"])::after {
  content: '';
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(10, 19, 22, 0.86) url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%20%3Cpath%20d%3D%22M14.2%203.6c.3-1%201.2-1.6%202.2-1.4%201%20.2%201.6%201.1%201.5%202.1%22%20fill%3D%22none%22%20stroke%3D%22%238CC63F%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%2F%3E%20%3Cpath%20d%3D%22M16.4%205.2c.9%200%201.4.6%201.3%201.5-.5%205.2-3.3%209.6-7.7%2012-1.9%201-3.9%201.5-5.4%201.1-.9-.2-1.2-1.1-.7-1.8.4-.6%201.1-.8%201.9-1%203.9-.9%207-4.6%207.8-9.1.2-1.5.9-2.7%202.8-2.7z%22%20fill%3D%22%23D93A22%22%2F%3E%20%3C%2Fsvg%3E") center / 18px 18px no-repeat;
  border: 1px solid rgba(214, 130, 64, 0.55);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

/* ---------------------------------------------------------------------------
   P20 + P15 — fundalul „face zoom" la derulare pe telefon.
   Cauza, confirmată din filmarea clientului: fundalul e pictat raportat la
   fereastră (`background-attachment: fixed` pe body, plus stratul `::before`
   întins de sus până jos). Când bara de adrese a telefonului se ascunde la
   derulare, fereastra devine mai înaltă și fundalul se rescalează.
   Soluția: legăm stratul de înălțimea CEA MAI MARE a ferestrei (`lvh`), care
   nu se schimbă când bara apare sau dispare.
   `!important` e necesar: fundalul de pe body vine din stil inline, iar
   regulile existente folosesc `:where()`, cu specificitate zero.
   --------------------------------------------------------------------------- */
body.page-id-3278, body.page-id-5011, body.page-id-5014,
body.page-id-3289, body.page-id-5421, body.page-id-5417,
body.page-id-3300, body.page-id-5230, body.page-id-5261,
body.page-id-3217, body.page-id-4942, body.page-id-5273 {
  background-attachment: scroll !important;
}

body.page-id-3278 .elementor-3278::before,
body.page-id-5011 .elementor-5011::before,
body.page-id-5014 .elementor-5014::before,
body.page-id-3289 .elementor-3289::before,
body.page-id-5421 .elementor-5421::before,
body.page-id-5417 .elementor-5417::before,
body.page-id-3300 .elementor-3300::before,
body.page-id-5230 .elementor-5230::before,
body.page-id-5261 .elementor-5261::before {
  bottom: auto !important;
  height: 100lvh !important;
}

/* P15 — pagina hub „joacă" sus/jos la derulare.
   Măsurat: conținutul are 731 px, dar secțiunea se dimensiona după fereastră.
   Pe telefon fereastra crește când bara de adrese se ascunde, deci pagina își
   schimba înălțimea și sărea. `svh` = înălțimea ferestrei CU bara vizibilă,
   valoare care nu se modifică — așa pagina rămâne identică în ambele stări. */
body.page-id-3217 .elementor-3217 > .e-con.e-parent,
body.page-id-4942 .elementor-4942 > .e-con.e-parent,
body.page-id-5273 .elementor-5273 > .e-con.e-parent {
  min-height: 100svh !important;
}


/* Varianta WebP a fotografiilor: <picture> e doar un înveliș pentru ca
   browserul să aleagă formatul. `display: contents` îl scoate din așezare,
   deci geometria paginii rămâne exact cea de dinainte. */
.elementor-widget-image picture,
.elementor-widget picture {
  display: contents;
}


/* P10 — subsolul comun (șablonul 4596: program, adresă, telefon, siglă):
   sigla stătea lipită de rândul cu telefonul. Clientul a cerut aer între ele. */
.elementor-4596 .elementor-element.elementor-element-36f0664 {
  /* !important: foaia șablonului e tipărită de Elementor abia când se
     randează subsolul, adică după foaia noastră, și are aceeași specificitate. */
  margin-top: 28px !important;
}


/* P17 — la deschiderea unui preparat apăreau porțiuni albe sub fotografie.
   Fereastra Elementor (`.dialog-widget-content`) are fundal alb implicit, iar
   conținutul șablonului e mai scurt decât fereastra pe unele telefoane (o
   secțiune goală de 80 px la final, fără fundal). Cu fereastra transparentă,
   tot ce nu e acoperit de conținut lasă să se vadă vălul întunecat al
   ferestrei peste pagină — ca la celelalte preparate. */
.elementor-popup-modal .dialog-widget-content {
  background-color: transparent !important;
}

/* Ce era de fapt în porțiunea albă: șabloanele ferestrelor au la final un
   antet demo al temei (sigla „Tastyc Coffee House", coș, meniu), moștenit
   de la importul demo. Pe fundal alb se vedeau doar punctul verde al coșului
   și liniile portocalii; pe fundal întunecat s-ar vedea tot. Îl ascundem cu
   totul, după tipul widgeturilor, ca să prindă toate cele 30 de ferestre. */
.elementor-popup-modal .elementor-widget-tastyc-header-logo,
.elementor-popup-modal .elementor-widget-tastyc-header-menu,
.elementor-popup-modal .e-con:has(> .e-con > .elementor-widget-tastyc-header-logo) {
  display: none !important;
}
