/* oopticshop v2: cadrul, continutul si pluginurile; tokeni doar din tokens-v2.css */
/* fonturile locale (OFL), ca pe magazin */
@font-face { font-family:"Onest"; src:url("../fonts/Onest-Variable.woff2") format("woff2"); font-weight:100 900; font-display:swap; }
@font-face { font-family:"Big Shoulders Display"; src:url("../fonts/BigShouldersDisplay-Variable.woff2") format("woff2"); font-weight:100 900; font-display:swap; }

/* iconite desenate (SVG prin mask, in culoarea textului), nu caractere Unicode care pe telefon devin emoji */
:root {
  --oo-ico-warn: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-linejoin='round'%3E%3Cpath d='M12 3 2 21h20z'/%3E%3Cpath d='M12 10v5M12 17.5v.5' stroke-linecap='round'/%3E%3C/svg%3E");
  --oo-ico-left: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' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E");
  --oo-ico-right: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' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --oo-ico-close: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='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
  --oo-ico-plus: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='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  --oo-ico-minus: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%3C/svg%3E");
}
.oo-ico, a.oo-cta::after, .oo-nav-close::after, .oo-sub-toggle::after, .oo-entry .wpcf7-not-valid-tip::before {
  content:""; display:inline-block; width:1em; height:1em; vertical-align:-0.15em; background:currentColor;
  -webkit-mask:var(--oo-ico-right) center / contain no-repeat; mask:var(--oo-ico-right) center / contain no-repeat; }

html { background:var(--background-light); }
body.oo-v2 { margin:0; background:var(--background-light); color:var(--text-on-light); font-family:var(--type-family-body), system-ui, sans-serif;
  font-size:var(--type-size-corp); line-height:1.6; -webkit-font-smoothing:antialiased; }
.oo-wrap { box-sizing:border-box; width:100%; max-width:1280px; margin-inline:auto; padding-inline:var(--space-4); }
.oo-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.oo-skip { position:absolute; left:var(--space-2); top:-100%; z-index:100; background:var(--surface-placheta); padding:var(--space-2) var(--space-3); }
.oo-skip:focus { top:var(--space-2); }
::selection { background:var(--accent-primary); color:var(--text-on-light); }
a { color:var(--text-on-light); text-underline-offset:var(--space-1); }
a:hover { text-decoration-thickness:var(--line-rule); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:var(--line-rule) solid var(--text-on-light); outline-offset:var(--line-rule); }
a:active, button:active { transform:translateY(var(--line-hair)); }

/* antetul: deschis (proprietara a respins antetul negru); bara subtire cu adresa si telefonul, ca acum */
.oo-header { position:sticky; top:0; z-index:50; background:var(--surface-placheta); border-bottom:var(--line-hair) solid var(--border-default); }
.oo-topbar { background:var(--background-light); font-size:var(--type-size-interfata); color:var(--text-secondary-on-light); }
.oo-topbar .oo-wrap { display:flex; flex-wrap:wrap; gap:var(--space-1) var(--space-5); padding-block:var(--space-1); }
.oo-top-link { color:var(--text-secondary-on-light); }
.oo-bar { background:var(--surface-placheta); }
.oo-bar .oo-wrap { display:flex; align-items:center; gap:var(--space-5); min-height:calc(var(--space-8) + var(--space-2)); }
.oo-logo img { display:block; width:auto; height:var(--space-8); }
.oo-menu { display:flex; gap:var(--space-1); list-style:none; margin:0; padding:0; }
.oo-menu > li { position:relative; }
.oo-menu a { display:flex; align-items:center; min-height:var(--space-7); padding:0 var(--space-2); text-decoration:none;
  font-size:var(--type-size-interfata); font-weight:var(--type-weight-semibold); }
.oo-menu > li > a:hover, .oo-menu > .current-menu-item > a, .oo-menu > .current-menu-ancestor > a { text-decoration:underline; }
.oo-menu .sub-menu { display:none; position:absolute; top:100%; left:0; min-width:calc(var(--space-9) * 2.6); list-style:none; margin:0;
  padding:var(--space-2) 0; background:var(--surface-placheta); border:var(--line-hair) solid var(--border-default); }
.oo-menu li:hover > .sub-menu, .oo-menu li:focus-within > .sub-menu, .oo-menu li.is-open > .sub-menu { display:block; }
.oo-menu .sub-menu a { padding:0 var(--space-4); font-weight:var(--type-weight-regular); }
.oo-sub-toggle, .oo-nav-close { display:none; }
.oo-menu-btn { display:none; }
.oo-search { display:flex; margin-left:auto; }
.oo-search input { min-height:var(--space-7); border:var(--line-hair) solid var(--text-on-light); border-radius:var(--radius-m) 0 0 var(--radius-m);
  padding:0 var(--space-3); font:inherit; background:var(--surface-placheta); }
.oo-search button { min-height:var(--space-7); border:0; padding:0 var(--space-4); background:var(--text-on-light); color:var(--text-on-dark);
  border-radius:0 var(--radius-m) var(--radius-m) 0; font:inherit; font-weight:var(--type-weight-bold); cursor:pointer; }
.oo-search button:hover { background:var(--surface-panou-inchis); }

/* telefon: logo, cautare, MENIU; sertarul cu aceeasi logica pe niveluri ca pe magazin */
@media (max-width:1023px) {
  .oo-topbar { display:none; }
  .oo-bar .oo-wrap { flex-wrap:wrap; gap:var(--space-2); }
  .oo-menu-btn { display:inline-flex; align-items:center; margin-left:auto; min-height:calc(var(--space-7) - var(--space-1)); padding:0 var(--space-3);
    border:var(--line-rule) solid var(--text-on-light); border-radius:var(--radius-m); background:var(--surface-placheta);
    font:inherit; font-weight:var(--type-weight-bold); color:var(--text-on-light); cursor:pointer; }
  .oo-search { order:3; width:100%; margin:0 0 var(--space-2); }
  .oo-search input { flex:1; }
  .oo-nav { display:none; position:fixed; inset:0 0 0 auto; width:min(88%, 420px); z-index:60; overflow-y:auto; background:var(--surface-placheta);
    padding:var(--space-4); box-shadow:0 0 0 100vmax color-mix(in srgb, var(--text-on-light) 40%, transparent); }
  body.oo-nav-open .oo-nav { display:block; }
  body.oo-nav-open { overflow:hidden; }
  .oo-nav-close { display:flex; align-items:center; margin:0 0 var(--space-2) auto; min-height:calc(var(--space-7) - var(--space-1));
    padding:0 var(--space-3); border:var(--line-rule) solid var(--text-on-light); border-radius:var(--radius-m); background:var(--surface-placheta);
    font:inherit; font-weight:var(--type-weight-bold); color:var(--text-on-light); cursor:pointer; }
  .oo-nav-close::after { margin-left:var(--space-2); -webkit-mask-image:var(--oo-ico-close); mask-image:var(--oo-ico-close); }
  .oo-sub-toggle::after { width:var(--space-5); height:var(--space-5); -webkit-mask-image:var(--oo-ico-plus); mask-image:var(--oo-ico-plus); }
  .oo-sub-toggle[aria-expanded="true"]::after { -webkit-mask-image:var(--oo-ico-minus); mask-image:var(--oo-ico-minus); }
  .oo-nav-close:hover { background:var(--background-light); }
  .oo-menu { flex-direction:column; gap:0; }
  .oo-menu > li { border-bottom:var(--line-hair) solid var(--border-default); display:flex; flex-wrap:wrap; }
  .oo-menu > li > a { flex:1; min-height:calc(var(--space-7) + var(--space-2)); padding:0; font-family:var(--type-family-display), "Arial Narrow", sans-serif;
    font-size:var(--type-size-h3); font-weight:800; text-transform:uppercase; line-height:1.2; }
  .oo-sub-toggle { display:inline-flex; align-items:center; justify-content:center; min-width:calc(var(--space-7) - var(--space-1));
    border:0; background:transparent; font:inherit; font-size:var(--type-size-h3); cursor:pointer; color:var(--text-on-light); }
  .oo-menu .sub-menu { position:static; display:none; width:100%; border:0; padding:0 0 var(--space-3) var(--space-4); }
  .oo-menu li.is-open > .sub-menu { display:block; }
  .oo-menu li:hover > .sub-menu, .oo-menu li:focus-within > .sub-menu { display:none; }
  .oo-menu li.is-open:focus-within > .sub-menu { display:block; }
  .oo-menu .sub-menu a { min-height:calc(var(--space-7) - var(--space-1)); padding:0; font-size:var(--type-size-corp); }
}

/* bara laterala: butonul "Vreau o programare" devine buton v2 (theme.js inlocuieste imaginea cu text) */
.oo-side .widget { background:var(--surface-placheta); border:var(--line-hair) solid var(--border-default); border-radius:var(--radius-m);
  padding:var(--space-4); margin-bottom:var(--space-4); }
a.oo-cta { display:inline-flex; align-items:center; min-height:calc(var(--space-7) + var(--space-2)); padding:0 var(--space-6) 0 var(--space-5);
  background:var(--text-on-light); color:var(--text-on-dark); text-decoration:none; font-weight:var(--type-weight-bold); border-radius:var(--radius-m); }
a.oo-cta::after { margin-left:var(--space-3); }
a.oo-cta:hover { background:var(--surface-panou-inchis); }

/* subsolul: espresso, aceleasi trei coloane */
.oo-footer { background:var(--background-dark); color:var(--text-on-dark); margin-top:var(--space-8); }
.oo-footer a { color:var(--text-on-dark); }
.oo-foot-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-6); padding-block:var(--space-7); }
.oo-foot-title { font-family:var(--type-family-display), "Arial Narrow", sans-serif; font-size:var(--type-size-h3); font-weight:800;
  text-transform:uppercase; line-height:1.2; margin:0 0 var(--space-3); color:var(--text-on-dark); }
.oo-footer table { border-collapse:collapse; } .oo-footer td { padding:0 var(--space-3) var(--space-1) 0; vertical-align:top; }
.oo-foot-bottom { border-top:var(--line-hair) solid color-mix(in srgb, var(--text-on-dark) 20%, transparent); font-size:var(--type-size-legenda);
  color:var(--text-secondary-on-dark); padding-block:var(--space-3); }
@media (max-width:767px) { .oo-foot-grid { grid-template-columns:1fr; } }
/* continutul: placa alba pe os, text Onest 15 la 65-75 de caractere; titluri Big Shoulders cu majuscule de la 24 px */
.oo-main { display:grid; gap:var(--space-5); padding-block:var(--space-6); }
.oo-main.has-side { grid-template-columns:minmax(0, 1fr) calc(var(--space-9) * 3.4); }
@media (max-width:1023px) { .oo-main.has-side { grid-template-columns:1fr; } }
.oo-plate { background:var(--surface-placheta); border:var(--line-hair) solid var(--border-default); border-radius:var(--radius-m);
  padding:var(--space-6); }
@media (max-width:767px) { .oo-plate { padding:var(--space-4); } }
.oo-title, .oo-entry h1 { font-family:var(--type-family-display), "Arial Narrow", sans-serif; font-weight:900; text-transform:uppercase;
  font-size:var(--type-size-h1); line-height:1.02; letter-spacing:0.005em; margin:0 0 var(--space-5); overflow-wrap:anywhere; }
@media (max-width:767px) { .oo-title, .oo-entry h1 { font-size:var(--type-size-h1m); } }
.oo-entry h2, .oo-entry .sow-headline, .oo-card-title { font-family:var(--type-family-display), "Arial Narrow", sans-serif; font-weight:800;
  text-transform:uppercase; font-size:var(--type-size-h3); line-height:1.1; margin:var(--space-6) 0 var(--space-3); }
.oo-entry h3, .oo-entry h4, .oo-entry h5, .oo-entry h6 { font-family:var(--type-family-body), system-ui, sans-serif; font-size:var(--type-size-corp);
  font-weight:var(--type-weight-bold); text-transform:none; margin:var(--space-5) 0 var(--space-2); }
.oo-entry p, .oo-entry li { max-width:60ch; }  /* in Onest "0" e mai lat decat litera medie: 60ch ~ 80 de caractere */
.oo-entry p { margin:0 0 var(--space-3); }
.oo-entry img { max-width:100%; height:auto; border-radius:var(--radius-m); }
.oo-entry table { border-collapse:collapse; width:100%; } .oo-entry td, .oo-entry th { padding:var(--space-2); border-bottom:var(--line-hair) solid var(--border-default); text-align:left; }
.oo-meta { font-size:var(--type-size-interfata); color:var(--text-secondary-on-light); margin:0 0 var(--space-3); }
/* textul vechi scris pentru randurile intunecate ale temei conica ramane lizibil pe placa alba */
.oo-entry [style*="color"] { color:inherit !important; }
.oo-entry [style*="font-size"] { font-size:inherit !important; }
.oo-entry [style*="background"] { background:transparent !important; }

/* SiteOrigin Page Builder: aceleasi randuri si coloane, spatiere v2, stivuite pe telefon */
.oo-entry .panel-grid { margin-bottom:var(--space-5) !important; }
.oo-entry .panel-grid-cell { box-sizing:border-box; }
.oo-entry .panel-row-style { background:transparent !important; padding:0 !important; }
@media (max-width:767px) { .oo-entry .panel-grid .panel-grid-cell { width:100% !important; margin-bottom:var(--space-4) !important; } }

/* galerii (Photo Gallery): aceeasi grila, pe placa, cu tratamentul imaginilor de pe magazin */
.oo-entry .bwg-container, .oo-entry .bwg_container { background:transparent !important; }
.oo-entry .bwg-item img, .oo-entry .bwg_standart_thumb_img_0 { border-radius:var(--radius-m) !important; mix-blend-mode:multiply; background:var(--surface-placheta); }

/* blogul "Informeaza-te" (Blog Designer Pack, clase bdpp-*): grila de carduri in locul pozitiilor absolute ale masonry */
.oo-cards, .oo-entry .bdpp-post-masonry-inr-wrap { display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:var(--space-4);
  height:auto !important; }
.oo-entry .bdpp-post-masonry-inr-wrap { grid-template-columns:repeat(2, minmax(0, 1fr)); }
@media (max-width:1023px) { .oo-cards { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:767px) { .oo-cards, .oo-entry .bdpp-post-masonry-inr-wrap { grid-template-columns:1fr; } }
.oo-card, .oo-entry .bdpp-post-grid { position:static !important; left:auto !important; top:auto !important; width:auto !important; float:none !important;
  margin:0 !important; background:var(--surface-placheta); border:var(--line-hair) solid var(--border-default); border-radius:var(--radius-m);
  padding:var(--space-4); box-sizing:border-box; }
.oo-card img, .oo-entry .bdpp-post-grid img { width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; border-radius:var(--radius-m); }
.oo-entry .bdpp-post-title, .oo-entry .bdpp-post-title a { font-family:var(--type-family-display), "Arial Narrow", sans-serif !important;
  font-size:var(--type-size-h3) !important; font-weight:800 !important; text-transform:uppercase; line-height:1.1 !important; text-decoration:none; }
.oo-card-title a { text-decoration:none; }
.oo-more, .oo-entry .bdpp-rdmr-btn, .oo-entry [class*="bdpp-readmore"] { display:inline-flex; align-items:center; min-height:var(--space-7);
  font-weight:var(--type-weight-bold); }

/* formulare Contact Form 7: campuri ca la programari; erorile structurale */
.oo-entry .wpcf7 input:not([type=submit]):not([type=checkbox]), .oo-entry .wpcf7 textarea, .oo-entry .wpcf7 select {
  box-sizing:border-box; width:100%; min-height:var(--space-7); padding:var(--space-2) var(--space-3); font:inherit;
  border:var(--line-hair) solid var(--text-on-light); border-radius:var(--radius-m); background:var(--surface-placheta); }
.oo-entry .wpcf7 input[type=submit] { min-height:var(--space-7); padding:0 var(--space-5); border:var(--line-rule) solid var(--text-on-light) !important;
  border-radius:var(--radius-m) !important; background:var(--text-on-light) !important; color:var(--text-on-dark) !important; font:inherit;
  font-weight:var(--type-weight-bold); cursor:pointer; }
.oo-entry .wpcf7-not-valid { border-width:var(--line-rule) !important; }
.oo-entry .wpcf7-not-valid-tip { color:var(--text-on-light); font-weight:var(--type-weight-semibold); }
.oo-entry .wpcf7-not-valid-tip { display:block; position:relative; padding-left:calc(1em + var(--space-1)); }
.oo-entry .wpcf7-not-valid-tip::before { content:"Eroare: "; width:auto; height:auto; background:none; -webkit-mask:none; mask:none;
  display:inline; font-weight:var(--type-weight-bold); vertical-align:baseline; }
.oo-entry .wpcf7-not-valid-tip::after { content:""; position:absolute; left:0; top:0.2em; width:1em; height:1em; background:currentColor;
  -webkit-mask:var(--oo-ico-warn) center / contain no-repeat; mask:var(--oo-ico-warn) center / contain no-repeat; }
.oo-entry .wpcf7-response-output { border:var(--line-rule) solid var(--text-on-light) !important; color:var(--text-on-light); }

/* harta si iframe-urile din continut */
.oo-entry iframe { max-width:100%; border:0; border-radius:var(--radius-m); }

/* sliderul primei pagini (Smart Slider "full width" il intinde pe tot ecranul prin JS): ramane in coloana lui */
.oo-entry ss3-force-full-width { transform:none !important; width:100% !important; }
.oo-entry .n2-section-smartslider { max-width:100%; overflow:hidden; border-radius:var(--radius-m); }
/* harta de pe Contact: in latimea coloanei; sertarul de indicatii al pluginului nu iese din ea */
.oo-entry .wgm-map-listing-container, .oo-entry .wgm-map-area { max-width:100% !important; box-sizing:border-box; }
.oo-entry .wgm-map-listing-container, .oo-entry .wgm-map-area { overflow:hidden; }
/* Contact: cele doua cutii ale clientei (informatii, formular) una sub alta pe telefon */
@media (max-width:767px) {
  .oo-entry .contact-layout { flex-direction:column !important; gap:var(--space-5); }
  .oo-entry .contact-layout > * { width:100% !important; max-width:none !important; flex:1 1 auto !important; }
}
/* fara italice (sistemul): accentul din textul clientei ramane, prin greutate */
.oo-entry em, .oo-entry i:not([class*="fa"]) { font-style:normal; font-weight:var(--type-weight-semibold); }
/* dezactivat pana la bifa de confidentialitate: eticheta ramane lizibila (grafit pe alb), cadru de filet */
.oo-entry .wpcf7 input[type=submit]:disabled { opacity:1; background:var(--surface-placheta) !important; color:var(--text-secondary-on-light) !important;
  border-color:var(--border-default) !important; cursor:default; }
.oo-entry .wpcf7 input[type=submit]:hover:not(:disabled) { background:var(--surface-panou-inchis) !important; }
/* cardurile de blog: textele pluginului (categorie, data, extras) pe culorile sistemului, contrast AA pe alb */
.oo-entry .bdpp-post-grid, .oo-entry .bdpp-post-grid p, .oo-entry .bdpp-post-grid a { color:var(--text-on-light) !important; }
.oo-entry .bdpp-post-grid [class*="bdpp-post-meta"], .oo-entry .bdpp-post-grid [class*="bdpp-post-cats"],
.oo-entry .bdpp-post-grid [class*="bdpp-post-date"], .oo-entry .bdpp-post-grid [class*="bdpp-post-meta"] * { color:var(--text-secondary-on-light) !important; }
.oo-entry .bdpp-post-grid [class*="bdpp-post-cats"] a { background:var(--background-light) !important; }
/* clearfix-ul pluginului (::before/::after) ar deveni primul element al grilei si ar lasa prima celula goala */
.oo-entry .bdpp-post-masonry-inr-wrap::before, .oo-entry .bdpp-post-masonry-inr-wrap::after { display:none !important; content:none !important; }
/* vederea fara cadru din iframe-ul magazinului: doar formularul, pe placa; fara bannere, ferestre sau butoane de chat */
body.oo-embed, html:has(body.oo-embed) { background:var(--surface-placheta); }
body.oo-embed .oo-main { padding:0; display:block; max-width:none; }
body.oo-embed .oo-plate { border:0; padding:var(--space-4); }
body.oo-embed #cmplz-cookiebanner-container, body.oo-embed .cmplz-cookiebanner, body.oo-embed .cmplz-manage-consent,
body.oo-embed .pum-overlay, body.oo-embed .pum-container, body.oo-embed .fm-bar, body.oo-embed [class*="floating-menu"],
body.oo-embed .fb_dialog, body.oo-embed .fb-customerchat, body.oo-embed .trp-language-switcher-container { display:none !important; }
/* in iframe insigna reCAPTCHA (fixa, jos-dreapta) ar sta peste butoanele formularului: ramane vizibila, sub formular */
body.oo-embed .grecaptcha-badge { position:static !important; margin:var(--space-4) 0 0 auto; }
/* textul clientei vine cu text-align:justify in linie: fara despartire in silabe lasa goluri (mai ales pe telefon) */
.oo-entry [style*="justify"] { text-align:left !important; }
.oo-entry { hyphens:manual; }
/* masura textului: 65-75 de caractere si in blocurile de text ale widgeturilor (div-uri, nu doar p) */
.oo-entry .textwidget, .oo-entry .siteorigin-widget-tinymce, .oo-entry .panel-widget-style > div:not([class*="gallery"]):not([class*="bwg"]) { max-width:60ch; }
/* blogul: fara eticheta de categorie ("Blog", aceeasi pe toate cardurile) si fara placa in jurul grilei de carduri (un singur container) */
.oo-entry .bdpp-post-grid [class*="bdpp-post-cats"] { display:none !important; }
.oo-plate:has(.bdpp-post-masonry-inr-wrap) { background:transparent; border:0; padding:0; }
/* subsol: valorile (ore, telefoane, nume) nu se rup la mijloc; pe tableta doua coloane */
.oo-footer td { white-space:nowrap; }
@media (min-width:768px) and (max-width:1023px) { .oo-foot-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
/* din CSS-ul suplimentar al clientei pentru tema veche (post 463), intentiile care raman: fara data si autor pe articole si
   in blog; fundalul ferestrelor Popup Maker espresso 80% */
.oo-entry [class*="bdpp-post-date"], .oo-entry [class*="bdpp-post-author"], .oo-entry .bdp-time { display:none !important; }
.pum-theme-2175, .pum-theme-default-theme { background-color:color-mix(in srgb, var(--text-on-light) 80%, transparent) !important; }
