/* oopticshop, stratul v1 fidel: paginile Zona A (cabinet, servicii, despre noi, programari) scrise ca descrieri .oo-a .oo-v1.
   Stilul pieselor vine din v1-componente-v1.css; aici doar ce pune Journal peste ele. */

/* containerul paginii de informatii are 1280 cu 40 px sus/jos; sectiunile v1 sunt pe toata latimea, .wrap le centreaza la 1360 */
#information-information.container:has(.oo-a) { max-width:none !important; width:100% !important; padding:0 !important; }
#information-information.container:has(.oo-a) > .row { margin:0 !important; }
#information-information.container:has(.oo-a) #content { padding:0 !important; width:100% !important; float:none !important; }
#information-information.container:has(.oo-a) #content > .content { padding:0 !important; margin:0 !important; }

/* citatul din Despre noi: Journal pune italic, ghilimele mari si chenar; v1 il are drept, in Familjen (fara italic in tot sistemul) */
.oo-v1 blockquote { font-style:normal !important; background:none !important; border:0 !important; box-shadow:none !important;
  padding:0 !important; margin:0 0 var(--space-4) !important; quotes:none; }
.oo-v1 blockquote::before, .oo-v1 blockquote::after { display:none !important; content:none !important; }
.oo-v1 blockquote, .oo-v1 blockquote * { font-style:normal !important; }
.oo-v1 .prose blockquote.motto { border-left:var(--line-rule) solid var(--accent-primary) !important; padding-left:var(--space-4) !important; }
.oo-v1 blockquote, .oo-v1 blockquote * { color:var(--text-on-light) !important; }

/* programari: inaltimea de rezerva pana vine mesajul cu inaltimea formularului (pe telefon formularul e pe o coloana) */
.oo-a--programari .frame-wrap iframe { min-height:calc(var(--space-9) * 10); }
@media (max-width: 1024px) { .oo-a--programari .frame-wrap iframe { min-height:calc(var(--space-9) * 17); } }

/* ----- contact (layout 8): erou 9030, carduri 9031/9032 + formularul Journal 20, harta 104 ----- */
.route-information-contact h1.page-title, .route-information-contact .location-title,
.route-information-contact .our-location { display:none !important; }
.route-information-contact #information-contact.container { max-width:none !important; width:100% !important; padding:0 !important; }
.route-information-contact #information-contact > .row { margin:0 !important; }
.route-information-contact #information-contact #content { padding:0 0 var(--space-7) !important; width:100% !important; float:none !important; }
.route-information-contact #content-top .grid-row { padding:0 !important; margin:0 !important; background:transparent !important; }
.route-information-contact #content-top .grid-row > .grid-cols {
  max-width:1360px !important; margin-inline:auto !important; padding-inline:var(--space-6) !important; box-sizing:border-box;
  display:grid !important; gap:var(--space-4); }
.route-information-contact #content-top .grid-col { background:none !important; width:auto !important; max-width:none !important; min-width:0; padding:0 !important; }
.route-information-contact #content-top .grid-items, .route-information-contact #content-top .grid-item { padding:0 !important; margin:0 !important; height:100%; }
.route-information-contact #content-top .module, .route-information-contact #content-top .module-body,
.route-information-contact #content-top .block-body, .route-information-contact #content-top .block-wrapper,
.route-information-contact #content-top .block-content { margin:0 !important; padding:0 !important; background:none !important; height:100%; }
.route-information-contact #content-top .oo-v1, .route-information-contact .loc-card { height:100%; box-sizing:border-box; }
/* eroul sta in containerul randului (1360/32), deci .wrap din el nu mai are margini proprii; harta la 24 px sub carduri */
.route-information-contact #content-top .grid-row-content-top-1 .page-hero .wrap { padding-inline:0 !important; max-width:none; }
.route-information-contact #content-top .grid-row.grid-row-content-top-2 { margin-bottom:var(--space-5) !important; }

/* formularul Journal ca .contact-form din v1: placa alba, etichete deasupra campurilor, butonul coral pe toata latimea */
.route-information-contact #content-top .module-form-20 { background:var(--surface-placheta) !important; border:var(--line-hair) solid var(--border-default) !important;
  border-radius:var(--radius-m) !important; padding:var(--space-5) !important; box-sizing:border-box; height:100%; }
.module-form-20 > .module-title { font-family:var(--type-family-display), Arial, sans-serif !important; font-weight:700 !important;
  font-size:var(--type-size-h3) !important; color:var(--text-on-light) !important; text-transform:none !important; letter-spacing:0 !important;
  text-align:left !important; margin:0 0 var(--space-3) !important; padding:0 !important; border:0 !important; background:none !important; }
.module-form-20 > .module-title::before, .module-form-20 > .module-title::after { display:none !important; }
.module-form-20 .form-group { display:grid !important; gap:var(--space-1); margin:0 0 var(--space-3) !important; }
.module-form-20 .form-group > .control-label, .module-form-20 .form-group > div { width:100% !important; float:none !important; padding:0 !important;
  text-align:left !important; }
.module-form-20 .control-label { display:block !important; position:static !important; width:auto !important; height:auto !important;
  clip:auto !important; margin:0 !important; font-family:var(--type-family-body), sans-serif !important; font-size:var(--type-size-interfata) !important;
  font-weight:600 !important; color:var(--text-on-light) !important; }
.module-form-20 .form-control { border:var(--line-hair) solid var(--text-secondary-on-light) !important; border-radius:var(--radius-s) !important;
  padding:var(--space-2) var(--space-3) !important; font-family:var(--type-family-body), sans-serif !important; font-size:var(--type-size-interfata) !important;
  background:var(--surface-placheta) !important; color:var(--text-on-light) !important; box-shadow:none !important; height:auto !important;
  width:100% !important; max-width:none !important; box-sizing:border-box; }
.module-form-20 .form-control::placeholder { color:transparent; } /* eticheta e deasupra, ca in v1 */
.module-form-20 .form-control:hover { border-color:var(--text-on-light) !important; }
.module-form-20 .form-control:focus-visible { outline:var(--line-rule) solid var(--text-on-light) !important; outline-offset:0; }
.module-form-20 .captcha legend { display:none; }
.module-form-20 .captcha .control-label { display:none !important; }
.module-form-20 .checkbox label { font-family:var(--type-family-body), sans-serif !important; font-size:var(--type-size-interfata) !important;
  color:var(--text-secondary-on-light) !important; font-weight:400 !important; }
.module-form-20 .checkbox a, .module-form-20 .checkbox a b { color:var(--text-on-light) !important; text-decoration:underline; }
.module-form-20 .buttons, .module-form-20 .buttons .pull-right { float:none !important; margin:var(--space-3) 0 0 !important; padding:0 !important; }
.module-form-20 .btn-primary { width:100%; background:var(--accent-primary) !important; color:var(--text-on-light) !important; border:0 !important;
  border-radius:var(--radius-m) !important; box-shadow:none !important; padding:var(--space-3) var(--space-5) !important;
  font-family:var(--type-family-body), sans-serif !important; font-weight:700 !important; font-size:var(--type-size-interfata) !important;
  text-transform:none !important; letter-spacing:0 !important; transition:filter .15s ease; }
.module-form-20 .btn-primary::before, .module-form-20 .btn-primary::after { display:none !important; }
.module-form-20 .btn-primary:hover { filter:brightness(96%); }
.module-form-20 .btn-primary:active { filter:brightness(90%); transform:translateY(var(--line-hair)); }
.module-form-20 .btn-primary:focus-visible { outline:var(--line-rule) solid var(--text-on-light); outline-offset:var(--line-rule); }

/* asteriscurile Journal (v1 nu le are; toate campurile cer completare in mesajul de eroare) */
.module-form-20 .form-group.required > div::before, .module-form-20 .form-group.required .col-sm-10::before { display:none !important; content:none !important; }
/* fundalul gri si spatierea panoului Journal al formularului */
.module-form-20 .module-body, .module-form-20 form, .module-form-20 fieldset { background:none !important; padding:0 !important; margin:0 !important; border:0 !important; }
.module-form-20 .form-group.required .control-label::after, .module-form-20 .form-group.required .control-label::before { color:var(--text-secondary-on-light) !important; }
/* cardurile: titlu cu spatiu dedesubt, tabelul de program fara dungile Journal */
.route-information-contact .loc-card .side-h { margin-bottom:var(--space-3); }
.route-information-contact .loc-card .hours tr, .route-information-contact .loc-card .hours td { background:none !important; }
.route-information-contact .loc-card .hours td { padding:var(--space-2) 0 !important; border:0 !important;
  border-bottom:var(--line-hair) solid var(--border-default) !important; color:var(--text-on-light) !important; }

/* harta ca .map-wrap: chenar fin, colturi, 16:7 */
.module-blocks-104 .block-map { border:var(--line-hair) solid var(--border-default) !important; border-radius:var(--radius-m) !important; overflow:hidden; }
.module-blocks-104 .block-map iframe { display:block; width:100% !important; height:auto !important; aspect-ratio:16 / 7; border:0; }
.loc-card a { color:inherit; text-decoration:underline; text-underline-offset:var(--space-1); }
.loc-card a:hover { color:var(--text-on-light); }

@media (min-width: 641px) {
  .route-information-contact .grid-row-content-top-2 > .grid-cols { grid-template-columns:1fr 1fr; }
  .route-information-contact .grid-col-content-top-2-3 { grid-column:1 / -1; }
}
@media (min-width: 1025px) {
  .route-information-contact .grid-row-content-top-2 > .grid-cols { grid-template-columns:1fr 1fr 1.3fr; }
  .route-information-contact .grid-col-content-top-2-3 { grid-column:auto; }
}
@media (max-width: 640px) {
  .route-information-contact #content-top .grid-row > .grid-cols { padding-inline:var(--space-4) !important; }
}

/* ----- blog (journal3/blog): titlul ca H1 de .page-hero, articolele ca .post (cu fotografiile clientei, D-17), 3 coloane ----- */
.route-journal3-blog h1.page-title { max-width:1360px !important; width:100% !important; margin:0 auto !important; box-sizing:border-box;
  padding:var(--space-6) var(--space-6) var(--space-5) !important; background:transparent !important; text-align:left !important; display:block !important; }
.route-journal3-blog h1.page-title, .route-journal3-blog h1.page-title span { font-family:var(--type-family-display), Arial, sans-serif !important;
  font-weight:700 !important; font-size:var(--type-size-h1m) !important; line-height:1.05 !important; color:var(--text-on-light) !important;
  text-transform:none !important; letter-spacing:0 !important; }
.route-journal3-blog h1.page-title::before, .route-journal3-blog h1.page-title::after { display:none !important; }
.route-journal3-blog .container.blog-home { max-width:1360px !important; padding:0 var(--space-6) var(--space-7) !important; }
.route-journal3-blog .main-posts.post-grid { display:grid !important; grid-template-columns:1fr; gap:var(--space-3); margin:0 !important; }
.route-journal3-blog .main-posts .post-layout { width:auto !important; padding:0 !important; margin:0 !important; }
.route-journal3-blog .post-thumb { display:flex !important; flex-direction:column; height:100%; background:var(--surface-placheta) !important;
  border:var(--line-hair) solid var(--border-default) !important; border-radius:var(--radius-m) !important; overflow:hidden;
  box-shadow:none !important; padding:0 !important; transition:border-color .15s ease; }
.route-journal3-blog .post-thumb:hover { border-color:var(--text-secondary-on-light) !important; }
.route-journal3-blog .post-thumb .image img { width:100%; aspect-ratio:5 / 3; object-fit:cover; }
.route-journal3-blog .p-date-image, .route-journal3-blog .post-stats .p-comment, .route-journal3-blog .post-stats .p-view { display:none !important; }
.route-journal3-blog .post-thumb .caption { display:grid !important; gap:var(--space-2); padding:var(--space-4) !important; align-content:start; flex:1; }
.route-journal3-blog .post-stats { position:static !important; background:none !important; padding:0 !important; margin:0 !important; display:flex !important;
  font-family:var(--type-family-body), sans-serif !important; font-size:var(--type-size-micro) !important; font-weight:600; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--text-secondary-on-light) !important; }
.route-journal3-blog .post-stats span::before { display:none !important; }
.route-journal3-blog .post-thumb .name { margin:0 !important; }
.route-journal3-blog .post-thumb .name a { font-family:var(--type-family-display), Arial, sans-serif !important; font-weight:600 !important;
  font-size:var(--type-size-h3) !important; line-height:1.2 !important; color:var(--text-on-light) !important; white-space:normal !important;
  overflow:visible !important; text-overflow:clip !important; }
.route-journal3-blog .post-thumb .name a:hover { color:var(--text-secondary-on-light) !important; }
.route-journal3-blog .post-thumb .description { font-family:var(--type-family-body), sans-serif !important; font-size:var(--type-size-interfata) !important;
  color:var(--text-secondary-on-light) !important; margin:0 !important; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.route-journal3-blog .post-thumb .button-group { margin:0 !important; padding:0 !important; justify-content:flex-start !important; border:0 !important; }
.route-journal3-blog .btn-read-more { background:none !important; border:0 !important; box-shadow:none !important; padding:var(--space-2) 0 !important; margin-block:calc(0px - var(--space-2)) !important; display:inline-block !important;
  font-family:var(--type-family-body), sans-serif !important; font-weight:700 !important; font-size:var(--type-size-interfata) !important;
  color:var(--text-on-light) !important; text-transform:none !important; letter-spacing:0 !important; text-decoration:underline !important;
  text-underline-offset:var(--space-1); }
.route-journal3-blog .btn-read-more::before, .route-journal3-blog .btn-read-more::after { display:none !important; }
.route-journal3-blog .btn-read-more:hover { color:var(--text-secondary-on-light) !important; }
.route-journal3-blog .btn-read-more:active { transform:translateY(var(--line-hair)); }
.route-journal3-blog .post-thumb a:focus-visible { outline:var(--line-rule) solid var(--text-on-light); outline-offset:var(--line-rule); }
.route-journal3-blog .pagination-results { margin-top:var(--space-5) !important; font-family:var(--type-family-body), sans-serif !important;
  font-size:var(--type-size-legenda) !important; color:var(--text-secondary-on-light) !important; }
.route-journal3-blog .pagination > li > a, .route-journal3-blog .pagination > li > span { background:var(--surface-placheta) !important;
  color:var(--text-on-light) !important; border:var(--line-hair) solid var(--border-default) !important; border-radius:var(--radius-s) !important; }
.route-journal3-blog .pagination > li.active > span, .route-journal3-blog .pagination > li.active > a {
  background:var(--text-on-light) !important; color:var(--text-on-dark) !important; border-color:var(--text-on-light) !important; }
.route-journal3-blog .pagination > li > a:hover { border-color:var(--text-on-light) !important; }
@media (min-width: 641px) {
  .route-journal3-blog .main-posts.post-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .route-journal3-blog h1.page-title, .route-journal3-blog h1.page-title span { font-size:var(--type-size-h2) !important; }
}
@media (min-width: 1025px) {
  .route-journal3-blog .main-posts.post-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .route-journal3-blog h1.page-title, .route-journal3-blog h1.page-title span { font-size:var(--type-size-h1) !important; }
}
@media (max-width: 640px) {
  .route-journal3-blog h1.page-title { padding-inline:var(--space-4) !important; }
  .route-journal3-blog .container.blog-home { padding-inline:var(--space-4) !important; }
}
