/* Rețeaua Affinity: strat de identitate pentru tema WordPress Live Design (v1.5).
   Selectorii încep cu `html` ca să câștige și în fața stilurilor temei încărcate mai târziu.
   Schimbă doar variabilele temei și câteva detalii vizuale; nu atinge structura paginilor. */

@font-face {
  font-family: "DM Sans";
  src: url("fonts/DMSans-Variable.woff2") format("woff2");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DM Sans";
  src: url("fonts/DMSans-Italic-Variable.woff2") format("woff2");
  font-weight: 100 1000;
  font-style: italic;
  font-display: swap;
}

html:root {
  /* Culori */
  --lvd-color-text: #72225c;
  --lvd-color-bg: #ffffff;

  --lvd-color-primary: #fb5935;
  --lvd-color-primary-on: #ffffff;
  --lvd-color-primary-surface: #fee9e4;
  --lvd-color-primary-surface-on: #72225c;
  --lvd-color-primary-light: #fee9e4;
  --lvd-color-primary-light-on: #72225c;
  --lvd-color-primary-dark: #72225c;
  --lvd-color-primary-dark-on: #ffffff;
  --lvd-color-primary-100: #fee9e4;

  --lvd-color-secondary: #72225c;
  --lvd-color-secondary-on: #ffffff;
  --lvd-color-secondary-surface: #fee9e4;
  --lvd-color-secondary-surface-on: #72225c;
  --lvd-color-secondary-light: #fee9e4;
  --lvd-color-secondary-light-on: #72225c;
  --lvd-color-secondary-dark: #72225c;
  --lvd-color-secondary-dark-on: #ffffff;
  --lvd-color-secondary-100: #fee9e4;

  --lvd-color-tertiary: #fb5935;
  --lvd-color-tertiary-on: #ffffff;

  --lvd-color-black: #72225c;
  --lvd-color-white: #ffffff;
  --lvd-color-gray-100: #fee9e4;
  --lvd-color-gray-200: #fee9e4;
  --lvd-color-gray-300: #fec8bc;
  --lvd-color-gray-400: #72225c;
  --lvd-color-gray-500: #72225c;

  --lvd-color-success: #fb5935;
  --lvd-color-success-100: #fee9e4;

  /* Fonturi */
  --lvd-primary-font: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --lvd-secondary-font: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Mărimi desktop (pe mobil tema își păstrează valorile proprii) */
  --lvd-text-h1: 54px;
  --lvd-text-h2: 44px;
  --lvd-text-h3: 32px;
  --lvd-text-h4: 24px;
  --lvd-text-h5: 20px;

  /* Brandul este plat: fără umbre, gradiente doar în culorile brandului */
  --lvd-gradient-primary-light: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(254, 233, 228, 0) 0%, rgba(254, 233, 228, 1) 100%) repeat scroll 0 0;
  --lvd-gradient-primary-dark: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(114, 34, 92, 0) 0%, rgba(114, 34, 92, 1) 100%) repeat scroll 0 0;
  --lvd-gradient-secondary-light: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(254, 233, 228, 0) 0%, rgba(254, 233, 228, 1) 100%) repeat scroll 0 0;
  --lvd-gradient-secondary-dark: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(114, 34, 92, 0) 0%, rgba(114, 34, 92, 1) 100%) repeat scroll 0 0;
  --lvd-gradient-accent: rgba(0, 0, 0, 0) linear-gradient(180deg, rgba(251, 89, 53, 0) 0%, rgba(251, 89, 53, 1) 100%) repeat scroll 0 0;
  --lvd-shadow-100: none;
  --lvd-shadow-200: none;
  --lvd-shadow-300: none;
  --lvd-shadow-400: none;

  /* Colțuri drepte */
  --lvd-rounded: 0;
  --lvd-rounded-top: 0;
  --lvd-rounded-right: 0;
  --lvd-rounded-bottom: 0;
  --lvd-rounded-left: 0;
  --lvd-rounded-md: 0;
  --lvd-rounded-lg: 0;
}

/* Greutăți DM Sans ca în macheta oficială: titluri 900, corp 500 */
html body { font-weight: 500; }
html h1, html h2, html h3, html h4, html h5,
html .lvd-section-title, html .lvd-title,
html .lvd-default.lvd-text h2, html .lvd-default.lvd-text h3, html .lvd-default.lvd-text h4 { font-weight: 900; }

/* Focus vizibil la tastatură */
html a:focus-visible, html button:focus-visible, html input:focus-visible, html textarea:focus-visible, html select:focus-visible { outline: 2px solid #72225c; outline-offset: 2px; }

/* Antet plat, cu linie fină în loc de umbră */
html .lvd-header { box-shadow: none; border-bottom: 1px solid #fec8bc; }

/* Hero: panoul de text pe piersică (panou piersică + fotografie, ca în macheta oficială) */
html .lvd-hero-cards-content.lvd-style-apply.lvd-style-white,
html .lvd-hero-wings-card .lvd-container.lvd-style-apply.lvd-style-white,
html .lvd-hero-compact.lvd-style-apply.lvd-style-white { background: var(--lvd-color-primary-surface); }

/* Footer: bandă piersică pe toată lățimea */
html footer:has(> .lvd-footer) { background: var(--lvd-color-primary-surface); display: flow-root; }
html .lvd-footer { font-weight: 500; }

/* Câmpuri: contur piersică, linie de jos portocalie, colțuri drepte */
html input[type=text], html input[type=tel], html input[type=email], html input[type=password], html input[type=number], html select, html textarea { border-radius: 0; border: 1px solid #fec8bc; border-bottom-color: #fb5935; box-shadow: none; }

/* Butoane dreptunghiulare, fără umbră */
html .lvd-cm-form-basic .button, html .lvd-cm-form-modal .button, html .lvd-cm-form-tower .button, html .lvd-cm-hero-form .gform_button,
html .gform_wrapper .gform_footer input[type=submit], html .gform_wrapper .gform_footer button, html .gform_wrapper .gform_page_footer input[type=submit],
html .lvd-blog-comments .comment-form input[type=submit] { border-radius: 0; }
html .lvd-button-primary, html .lvd-button-secondary, html .lvd-button-primary-small, html .lvd-button-secondary-small { box-shadow: none; }

/* Site de centru: lockup-ul oficial „Nume centru | Rețeaua Affinity” în antet */
html body.affinity-centru .lvd-logo, html body.affinity-centru .lvd-logo img { width: 240px !important; height: auto; }
@media (min-width: 1025px) {
  html body.affinity-centru .lvd-logo { margin-right: 40px; }
  html body.affinity-centru .lvd-header-cta { width: auto; }
  html body.affinity-centru .lvd-nav { max-width: calc(100% - 450px); }
}
/* Laptopuri mici și tablete pe orizontală: meniul rămâne pe un singur rând */
@media (min-width: 1200px) and (max-width: 1365px) {
  html body.affinity-centru .lvd-menu > ul > li { margin-right: 16px; }
}
@media (min-width: 1200px) and (max-width: 1279px) {
  html body.affinity-centru .lvd-menu > ul > li > a { font-size: 15px; }
}
@media (min-width: 1025px) and (max-width: 1199px) {
  html body.affinity-centru .lvd-logo, html body.affinity-centru .lvd-logo img { width: 200px !important; }
  html body.affinity-centru .lvd-logo { margin-right: 32px; }
  html body.affinity-centru .lvd-nav { max-width: calc(100% - 400px); }
  html body.affinity-centru .lvd-menu > ul > li { margin-right: 10px; }
  html body.affinity-centru .lvd-menu > ul > li > a { font-size: 14px; }
}
@media (min-width: 1025px) and (max-width: 1079px) {
  html body.affinity-centru .lvd-menu > ul > li { margin-right: 8px; }
  html body.affinity-centru .lvd-menu > ul > li > a { font-size: 13px; }
}
/* Site-ul rețelei (affinity.ro): meniul pe un singur rând și butonul de apel lângă el pe laptopurile mici */
@media (min-width: 1025px) and (max-width: 1365px) {
  html body:not(.affinity-centru) .lvd-header-cta { width: auto; }
  html body:not(.affinity-centru) .lvd-menu { max-width: none; }
  html body:not(.affinity-centru) .lvd-menu > ul > li { margin-right: 16px; }
}
@media (max-width: 1024px) {
  html body.affinity-centru .lvd-logo, html body.affinity-centru .lvd-logo img { width: 180px !important; }
  html body.affinity-centru .lvd-header-cta { width: auto; }
}

/* Butonul de apel din antet: iconița de telefon plină (setul de pictograme ales pentru site-uri), lângă număr.
   Numărul rămâne vizibil: pe calculator vizitatorul trebuie să-l poată forma de pe telefon. */
html .lvd-header-cta-button[href^="tel:"] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; }
html .lvd-header-cta-button[href^="tel:"]::before {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 256 256%22%3E%3Cpath d=%22M231.88,175.08A56.26,56.26,0,0,1,176,224C96.6,224,32,159.4,32,80A56.26,56.26,0,0,1,80.92,24.12a16,16,0,0,1,16.62,9.52l21.12,47.15,0,.12A16,16,0,0,1,117.39,96c-.18.27-.37.52-.57.77L96,121.45c7.49,15.22,23.41,31,38.83,38.51l24.34-20.71a8.12,8.12,0,0,1,.75-.56,16,16,0,0,1,15.17-1.4l.13.06,47.11,21.11A16,16,0,0,1,231.88,175.08Z%22/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 256 256%22%3E%3Cpath d=%22M231.88,175.08A56.26,56.26,0,0,1,176,224C96.6,224,32,159.4,32,80A56.26,56.26,0,0,1,80.92,24.12a16,16,0,0,1,16.62,9.52l21.12,47.15,0,.12A16,16,0,0,1,117.39,96c-.18.27-.37.52-.57.77L96,121.45c7.49,15.22,23.41,31,38.83,38.51l24.34-20.71a8.12,8.12,0,0,1,.75-.56,16,16,0,0,1,15.17-1.4l.13.06,47.11,21.11A16,16,0,0,1,231.88,175.08Z%22/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 1024px) {
  html .lvd-header-cta-button[href^="tel:"] { gap: 6px; }
  html .lvd-header-cta-button[href^="tel:"]::before { width: 18px; height: 18px; }
}
/* Telefoane înguste: butonul se strânge ca să rămână pe același rând cu sigla */
@media (max-width: 374px) {
  html .lvd-header-cta:has(> .lvd-header-cta-button[href^="tel:"]) { width: auto; }
  html .lvd-header-cta .lvd-header-cta-button[href^="tel:"] { padding: 0 6px; gap: 4px; }
  html .lvd-header-cta-button[href^="tel:"]::before { width: 14px; height: 14px; }
}
/* Sub 360 px rămâne doar iconița (numărul e citit în continuare din aria-label) */
@media (max-width: 359px) {
  html .lvd-header-cta .lvd-header-cta-button[href^="tel:"] { font-size: 0; gap: 0; padding: 0 10px; }
  html .lvd-header-cta-button[href^="tel:"]::before { width: 18px; height: 18px; }
}

/* Tabletă: grilele de 4 coloane (servicii, valori) trec pe 2, cum cere design system-ul;
   pe 4 coloane cuvintele lungi din titluri ieșeau din card. Blocurile cu setare proprie de tabletă rămân neatinse. */
@media (min-width: 768px) and (max-width: 1024px) {
  html .lvd-grid-cols4:not([class*="bt-lvd-grid-cols"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Cuvintele și adresele foarte lungi trec pe rândul următor în loc să iasă din pagină pe telefon */
html body :is(p, li, td, th, h1, h2, h3, h4, h5, h6, blockquote, figcaption) { overflow-wrap: break-word; }
html .lvd-card :is(p, h1, h2, h3, h4, h5, .lvd-title) { hyphens: auto; }

/* Banda de ofertă (affinity.ro): plată, fără umbră */
html .lvd-offer-section { box-shadow: none; }

/* Bannerul de cookie-uri, aceleași culori pe toate site-urile.
   CookieYes (site-urile de centru) și Enzuzo (affinity.ro): text plum, „Acceptă” portocaliu,
   celelalte butoane cu contur plum, colțuri drepte, fără umbre, DM Sans. */
html .cky-consent-container, html .cky-modal, html .cky-consent-container *, html .cky-modal *,
html .enzuzo-cookiebanner-container, html .enzuzo-cookiebanner-container *, html .enzuzo-cookie-modal, html .enzuzo-cookie-modal * { font-family: var(--lvd-primary-font) !important; }

html .cky-consent-bar { box-shadow: none !important; border: 0 !important; border-top: 1px solid #fec8bc !important; }
html .cky-btn { border-radius: 0 !important; font-weight: 600 !important; }
html .cky-btn-accept { background: #fb5935 !important; border-color: #fb5935 !important; color: #ffffff !important; }
html .cky-btn-accept:hover { background: #72225c !important; border-color: #72225c !important; }
html .cky-btn-reject, html .cky-btn-customize, html .cky-btn-preferences { background: transparent !important; border: 1px solid #72225c !important; color: #72225c !important; }
html .cky-notice-des a, html .cky-preference-content-wrapper a, html .cky-modal a { color: #72225c !important; text-decoration: underline; }
html .cky-switch input[type="checkbox"]:checked { background: #fb5935 !important; }
html .cky-btn-revisit-wrapper { background-color: #72225c !important; }

/* Enzuzo își ia culorile din variabile pe .ez-consent; le suprascriem acolo */
html body .ez-consent {
  --ez-banner-text-color: #72225c !important;
  --ez-banner-background-color: #ffffff !important;
  --ez-banner-link-color: #72225c !important;
  --ez-banner-allow-all-background-color: #fb5935 !important;
  --ez-banner-allow-all-text-color: #ffffff !important;
  --ez-banner-allow-all-border-color: #fb5935 !important;
  --ez-banner-allow-all-background-color-hover: #72225c !important;
  --ez-banner-decline-background-color: #ffffff !important;
  --ez-banner-decline-text-color: #72225c !important;
  --ez-banner-decline-border-color: #72225c !important;
  --ez-banner-decline-background-color-hover: #fee9e4 !important;
  --ez-preferences-switch-on: #fb5935 !important;
  --ez-preferences-text-color: #72225c !important;
  --ez-preferences-link-color: #72225c !important;
  --ez-preferences-border-color: #fec8bc !important;
  --ez-preferences-background-secondary-color: #fee9e4 !important;
  --ez-preferences-background-tertiary-color: #fee9e4 !important;
  --ez-preferences-decline-all-background-color: #ffffff !important;
  --ez-preferences-decline-all-border-color: #72225c !important;
  --ez-preferences-decline-all-text-color: #72225c !important;
  --ez-preferences-decline-all-background-color-hover: #fee9e4 !important;
  --ez-preferences-allow-all-background-color: #fb5935 !important;
  --ez-preferences-allow-all-border-color: #fb5935 !important;
  --ez-preferences-allow-all-text-color: #ffffff !important;
  --ez-preferences-allow-all-background-color-hover: #72225c !important;
  --ez-preferences-allow-selected-background-color: #72225c !important;
  --ez-preferences-allow-selected-border-color: #72225c !important;
  --ez-preferences-allow-selected-text-color: #ffffff !important;
  --ez-preferences-allow-selected-background-color-hover: #72225c !important;
}
html .enzuzo-cookiebanner-container { box-shadow: none !important; border-top: 1px solid #fec8bc !important; }
html .enzuzo-cookiebanner-container a { text-decoration: underline !important; }
html .enzuzo-cookiebanner-container .enzuzo-notification-button, html .enzuzo-cookie-modal button { border-radius: 0 !important; font-weight: 600 !important; box-shadow: none !important; }
html .enzuzo-cookiebanner-container .enzuzo-notification-button.button-decline { background: #ffffff !important; border: 1px solid #72225c !important; color: #72225c !important; }
html .enzuzo-cookiebanner-container .enzuzo-notification-button.button-accept { background: #fb5935 !important; border: 1px solid #fb5935 !important; color: #ffffff !important; }
html .enzuzo-cookiebanner-container .enzuzo-notification-button.button-accept:hover { background: #72225c !important; border-color: #72225c !important; }
html .enzuzo-cookiebanner-container .enzuzo-close-banner-button::before,
html .enzuzo-cookiebanner-container .enzuzo-close-banner-button::after { background-color: #72225c !important; }
html .enzuzo-cookie-modal { border-radius: 0 !important; }

/* Butonul plutitor de apel din temă este doar pentru telefon. Pe ecranele mari rămânea vizibil
   containerul lui gol (o pastilă albă în colțul din dreapta jos), pentru că fab.css îl afișează după .lvd-none. */
@media (min-width: 768px) {
  html .lvd-mobile-bar.lvd-none { display: none; }
}
