/**
 * Opercons — redesign 2025
 * Palette: oak wood + olive green
 */

/*** fonts ***/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

/*** core ***/
html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  scroll-behavior: smooth; }

body {
  background: #F7F2EB;
  font-family: "DM Sans", Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #3D2B1F;
  line-height: 1.65em;
  width: 100%;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  color: #2C1A0E; }

h1 {
  font-size: 64px;
  font-weight: 300;
  margin: 35px 0;
  letter-spacing: 0.02em; }

h2 {
  font-size: 42px;
  font-weight: 400;
  margin: 30px 0;
  letter-spacing: 0.06em; }

h3 {
  font-size: 32px;
  font-weight: 400;
  margin: 5px 0 20px 0; }

h4 {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 15px; }

h5 {
  font-size: 18px; }

h6 {
  font-size: 16px; }

a {
  color: #6B7A3A;
  text-decoration: none;
  outline: none; }

a:hover, a:focus {
  color: #8A9E4A;
  text-decoration: none;
  outline: none; }

hr {
  border-color: #D9CFC4; }

input[type="radio"], input[type="checkbox"] {
  margin: 4px 5px 0 0; }

label {
  font-weight: normal; }

/*** global ***/
/* a- */
.a-default {
  color: #3D2B1F; }

.a-default:hover, .a-default:focus {
  color: #6B7A3A; }

.a-primary {
  color: #2C1A0E; }

.a-primary:hover, .a-primary:focus {
  color: #6B7A3A; }

.a-sec {
  color: #6B7A3A; }

.a-sec:hover, .a-sec:focus {
  color: #8A9E4A;
  text-decoration: underline;
  outline: none; }

.a-ter {
  color: #A89070; }

.a-ter:hover, .a-ter:focus {
  color: #3D2B1F; }

.a-underline {
  text-decoration: underline; }

.a-underline:hover {
  text-decoration: none; }

/* bold */
.bold {
  font-weight: 600; }

/* btn- */
.btn {
  padding: 11px 34px;
  border-radius: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  transition: all 0.2s ease; }

.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus,
.btn.active.focus {
  outline: none; }

.btn:active, .btn.active {
  background-image: none;
  box-shadow: none;
  outline: 0 none; }

.btn-default {
  background-color: #ffffff;
  border-color: #D9CFC4;
  color: #3D2B1F; }

.btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active,
.btn-default.active, .open > .dropdown-toggle.btn-default {
  background-color: #EDE5D8;
  border-color: #D9CFC4;
  color: #2C1A0E; }

/* btn-primary — solid olive */
.btn-primary {
  color: #fff;
  background-color: #6B7A3A;
  border-color: #6B7A3A; }

.btn-primary:hover {
  color: #fff;
  background-color: #8A9E4A;
  border-color: #8A9E4A; }

.btn-primary:active,
.btn-primary:focus,
.btn-primary:active:hover,
.btn-primary:active:focus {
  color: #fff;
  background-color: #6B7A3A;
  border-color: #6B7A3A; }

/* btn-sec — outlined dark oak */
.btn-sec {
  border: 2px solid #2C1A0E;
  color: #2C1A0E;
  background: transparent; }

.btn-sec:hover, .btn-sec:focus {
  background: #2C1A0E;
  border-color: #2C1A0E;
  color: #F7F2EB; }

/* btn-ter — white outline for dark backgrounds */
.btn-ter {
  border: 2px solid rgba(255,255,255,0.7);
  padding: 11px 34px;
  color: #fff;
  font-size: 13px;
  font-family: "DM Sans", sans-serif;
  border-radius: 0;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.1em; }

.btn-ter:hover, .btn-ter:focus {
  background: #fff;
  border-color: #fff;
  color: #2C1A0E; }

/* btn-facebook */
.btn-facebook {
  color: #ffffff;
  background-color: #3b5998;
  box-shadow: 0 3px 0 0 #23355b; }

.btn-facebook i.fa {
  font-size: 22px;
  padding-right: 20px; }

.btn-facebook:hover, .btn-facebook:focus {
  color: #ffffff;
  background: #3878d8;
  box-shadow: 0px 3px 0px 0.00px #2d60ad; }

/* btn-google */
.btn-google {
  color: #ffffff;
  background-color: #b0120a;
  box-shadow: 0 3px 0 0 #dd191d; }

.btn-google i.fa {
  font-size: 22px;
  padding-right: 20px; }

.btn-google:hover, .btn-google:focus {
  color: #ffffff;
  background: #d01716 none repeat scroll 0 0;
  box-shadow: 0 3px 0 0 #e84e40; }

/* btn-lg */
.btn-lg {
  padding: 13px 40px;
  font-size: 15px; }

/* btn-margin- */
.btn-margin-bottom { margin-bottom: 10px; }
.btn-margin-left   { margin-right: 10px; }
.btn-margin-right  { margin-right: 15px; }
.btn-margin-top    { margin-top: 10px; }

/* font- */
.font-sec {
  font-family: "Cormorant Garamond", Georgia, serif; }

/* form-control */
.form-control {
  color: #3D2B1F;
  font-size: 16px;
  border-radius: 0;
  height: 48px;
  border: 1px solid #D9CFC4;
  background: #FDFAF6;
  box-shadow: none; }

.form-control:focus {
  border-color: #6B7A3A;
  background: #fff;
  box-shadow: none;
  outline: 0 none; }

.form-control-block {
  display: block;
  width: 100%;
  color: #3D2B1F;
  font-size: 16px;
  border-radius: 0;
  height: 48px;
  padding: 10px 0 0 0; }

.form-control-sm {
  font-size: 16px;
  padding: 6px 12px;
  height: auto; }

/* form-group */
.form-group {
  margin-bottom: 22px;
  position: relative; }

.form-required {
  color: #cc2222; }

/* h */
.h1-primary   { margin-top: 50px; }
.h1-margin-top { margin-top: 60px; }

/* hr- */
.hr {
  width: 100%;
  height: 20px; }

.hr-short-primary {
  height: 2px;
  width: 50px;
  background: #6B7A3A;
  margin: 0 auto 30px auto;
  display: inline-block; }

.hr-short-sec {
  height: 2px;
  width: 50px;
  background: rgba(255,255,255,0.6);
  margin: 0 auto 30px auto;
  display: inline-block; }

/* img */
.img-center { margin: 0 auto; }

/* margin */
.margin-bottom     { margin-bottom: 30px; }
.margin-left       { margin-left: 30px; }
.margin-right      { margin-right: 30px; }
.margin-top        { margin-top: 30px; }
.margin-top-sec    { margin-top: 15px; }
.margin-right-sec  { margin-right: 15px; }
.margin-left-sec   { margin-left: 15px; }
.margin-bottom-sec { margin-bottom: 15px; }

/* middot */
.middot {
  padding-left: 5px;
  padding-right: 5px; }

/* no- */
.no-margin  { margin: 0; }
.no-padding { padding: 0; }

/* pagination */
.pagination > li > a, .pagination > li > span {
  padding: 6px 12px;
  color: #3D2B1F;
  background-color: #ffffff;
  border: 1px solid #EDE5D8;
  margin-left: 5px; }

.pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus,
.pagination > li > span:focus {
  color: #2C1A0E;
  background-color: #EDE5D8;
  border-color: #D9CFC4; }

.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover,
.pagination > .active > span:hover, .pagination > .active > a:focus,
.pagination > .active > span:focus {
  color: #fff;
  background-color: #6B7A3A;
  border-color: #6B7A3A; }

.pagination > .disabled > span, .pagination > .disabled > span:hover,
.pagination > .disabled > span:focus, .pagination > .disabled > a,
.pagination > .disabled > a:hover, .pagination > .disabled > a:focus {
  color: #A89070;
  background-color: #ffffff;
  border-color: #EDE5D8; }

.pagination-page-of {
  display: block;
  margin-top: 20px; }

/* row-grid */
.row.row-grid [class*="col-"] {
  margin-bottom: 20px; }

@media (min-width: 1200px) {
  .row.row-grid [class*="col-lg-"] { margin-bottom: 0; } }
@media (min-width: 992px) {
  .row.row-grid [class*="col-md-"] { margin-bottom: 0; } }
@media (min-width: 768px) {
  .row.row-grid [class*="col-sm-"] { margin-bottom: 0; } }

/* row-table */
.row-table { display: table; }

.row-table .col-table-cell {
  float: none;
  display: table-cell;
  vertical-align: top;
  position: relative; }

/* text- */
.text-default { color: #2C1A0E; }
.text-primary { color: #2C1A0E; }
.text-sec     { color: #7A6655; }
.text-ter     { color: #A89070; }
.text-lg      { font-size: 18px; }

.text-subheader {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  margin-bottom: 60px;
  color: #7A6655;
  line-height: 1.6em; }

/* validation */
.validation-error {
  width: 100%;
  background: #ffffff;
  color: #ca4045;
  border: 1px solid #ca4045;
  text-align: left;
  border-radius: 2px;
  margin-bottom: 20px;
  padding: 10px; }

.validation-error.text-center { text-align: center; }

.validation-error span {
  display: inline-block;
  font-weight: bold;
  padding-top: 10px;
  padding-left: 10px; }

.validation-error ul {
  margin: 5px 10px 10px 10px;
  padding-left: 20px; }

.validation-error a {
  color: #ca4045;
  text-decoration: underline; }

.validation-error p:last-child { margin-bottom: 0; }

.validation-error-field {
  font-size: 12px;
  font-weight: normal;
  color: #f42156;
  text-align: right;
  display: block;
  padding-top: 5px;
  float: none; }

.validation-info {
  width: 100%;
  background: #ffffd8;
  border: 1px solid #CACA9D;
  text-align: left;
  border-radius: 2px;
  margin-bottom: 20px;
  padding: 10px; }

.validation-info span {
  display: inline-block;
  color: #DCCA00;
  font-weight: bold;
  padding-top: 10px;
  padding-left: 10px; }

.validation-info ul {
  margin: 5px 10px 10px 10px;
  padding-left: 20px; }

/*** template ***/
/* navbar */
.navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
  margin-left: -15px; }

/* navbar-default: transparent peste hero-ul paginii cat timp esti in varf,
   devine bara plina (bej) cand se aplica .navbar-scrolled (adaugata din JS,
   vezi public/js/app/navbar-scroll.js, la scroll > 40px) */
.navbar-default {
  background: transparent;
  border: none;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; }

.navbar-default.navbar-scrolled {
  background: #F7F2EB;
  border-bottom: 1px solid #EDE5D8;
  box-shadow: 0 1px 12px rgba(44, 26, 14, 0.06); }

.navbar-default .navbar-brand {
  display: inline-block;
  position: relative;
  width: 155px;
  height: 70px;
  margin: 5px 0;
  padding: 0;
  float: left;
  border: 0 none;
  text-decoration: none;
  overflow: visible; }

.navbar-default .navbar-brand img {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  height: 96px;
  width: auto;
  max-width: none;
  /* siglă e maro/bej-închis din palete -- pe fundal transparent peste
     hero-ul întunecat devine deschisă (beige/alb) prin filtru CSS, ca sa
     ramana vizibila; la scroll (bara plina), filtrul se elimina si revine
     la culorile ei native */
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease; }

.navbar-default.navbar-scrolled .navbar-brand img { filter: none; }

.navbar-default .navbar-nav { margin-top: 15px; }

.navbar-default .navbar-nav > li { margin-right: 4px; }

.navbar-default .navbar-nav > li:last-child { margin-right: 0px; }

.navbar-default .navbar-nav > li > a {
  text-transform: uppercase;
  color: #F7F2EB;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding-left: 6px;
  padding-right: 6px;
  transition: color 0.3s ease; }

.navbar-default.navbar-scrolled .navbar-nav > li > a { color: #3D2B1F; }

.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  background: none;
  color: #6B7A3A; }

.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background: none;
  color: #6B7A3A; }

/* hamburger mobil: la fel, adaptat intre cele doua stari */
.navbar-default .navbar-toggle {
  border-color: rgba(247, 242, 235, 0.4); }

.navbar-default .navbar-toggle .icon-bar { background-color: #F7F2EB; }

.navbar-default.navbar-scrolled .navbar-toggle { border-color: #ddd; }

.navbar-default.navbar-scrolled .navbar-toggle .icon-bar { background-color: #3D2B1F; }

/* navbar-cta: butonul "Contact", ultimul item din navbar-right, stil plin
   (identic ca limbaj vizual cu .btn-primary) -- ramane vizibil la fel in
   ambele stari (transparent/scrolled), nu are nevoie de variante separate */
.navbar-default .navbar-nav > li.navbar-cta { margin-left: 6px; }

.navbar-default .navbar-nav > li.navbar-cta > a {
  background: #6B7A3A;
  color: #fff !important;
  padding: 8px 16px;
  border-radius: 0; }

.navbar-default .navbar-nav > li.navbar-cta > a:hover,
.navbar-default .navbar-nav > li.navbar-cta > a:focus {
  background: #8A9E4A;
  color: #fff !important; }

/* dropdown-menu */
.navbar-right .dropdown-menu { font-size: 15px; }

.navbar-right > li > .dropdown-menu {
  left: -20px;
  right: auto;
  background: #FDFAF6;
  margin-top: 16px;
  border: none;
  box-shadow: 0 8px 30px rgba(44, 26, 14, 0.12);
  padding: 10px 30px;
  border-radius: 0;
  border-bottom: 2px solid #6B7A3A;
  min-width: 350px; }

/* navbar-lang-switch: comutator de limba (RO/EN/FR) duplicat din footer,
   direct in bara de meniu, ca ultim item din lista -- compact (font mai mic,
   padding redus, doar separator vizual din border) ca sa incapa pe un rand
   alaturi de restul meniului si pe ro/fr, unde etichetele sunt mai lungi
   decat pe en; de-asta si restul itemilor de mai sus au acum spatiere usor
   mai stransa (margin/padding reduse de la 8px la 5px) fata de varianta
   initiala fara comutator */
.navbar-default .navbar-nav > li.navbar-lang-switch > a {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: rgba(247, 242, 235, 0.8);
  border-left: 1px solid rgba(247, 242, 235, 0.35);
  margin-left: 3px;
  padding-left: 7px;
  transition: color 0.3s ease, border-color 0.3s ease; }

.navbar-default.navbar-scrolled .navbar-nav > li.navbar-lang-switch > a {
  color: #7A6655;
  border-left-color: #D9CFC4; }

.navbar-default .navbar-nav > li.navbar-lang-switch > a:hover,
.navbar-default .navbar-nav > li.navbar-lang-switch > a:focus {
  color: #6B7A3A; }

.navbar-lang-switch.open > a, .navbar-lang-switch.open > a:hover, .navbar-lang-switch.open > a:focus {
  color: #6B7A3A; }

.navbar-right > li.navbar-lang-switch > .dropdown-menu {
  min-width: 80px;
  left: auto;
  right: 0;
  padding: 5px 0; }

.navbar-right .navbar-lang-switch > .dropdown-menu > li > a {
  font-size: 12px;
  padding: 5px 20px; }

.navbar-right .dropdown-menu > li {
  border-bottom: 1px solid #EDE5D8; }

.navbar-right .dropdown-menu > li:last-child { border-bottom: none; }

.navbar-right .dropdown-menu > li > a {
  padding: 10px 0px;
  color: #3D2B1F; }

.navbar-right .dropdown-menu > li > a img { padding-right: 25px; }

/* header */
.header-bg {
  width: 100%;
  height: 450px;
  position: relative;
  overflow: hidden; }

.header-bg img {
  width: 100%;
  height: auto;
  top: -50%;
  position: absolute; }

/* footer- */
.footer {
  padding: 70px 0;
  background: #2C1A0E; }

.footer h5 {
  color: #EDE5D8;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 28px; }

.footer ul {
  list-style: none;
  margin: 0;
  padding: 0; }

.footer .footer-links ul li a {
  color: #A89070;
  font-size: 14px;
  line-height: 2.2em;
  transition: color 0.15s ease; }

.footer .footer-links ul li a:hover { color: #EDE5D8; }

.footer .footer-links .footer-sn { margin-top: 21px; }

.footer .footer-links .footer-sn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #A89070;
  border: 1px solid #5A3D28;
  margin-right: 10px;
  font-size: 17px;
  transition: all 0.2s ease; }

.footer .footer-links .footer-sn a:hover {
  color: #EDE5D8;
  border-color: #A89070; }

.footer .footer-links .footer-sn a span { display: none; }

.footer .footer-copy {
  color: #7A6655;
  font-size: 13px;
  padding: 50px 0 10px 0;
  border-top: 1px solid #3D2B1F;
  margin-top: 40px; }

footer .footer-copy .footer-terms { color: #7A6655; }

.footer .footer-copy .footer-vsep {
  color: #5A3D28;
  padding: 0 14px; }

/* dropdown-language- */
.dropdown-languages { display: inline-block; }

.dropdown-languages .btn {
  background: none;
  padding: 0px 20px; }

.dropdown-languages .btn:hover, .dropdown-languages .btn:focus { color: #EDE5D8; }

.dropdown-languages .btn img { margin-right: 6px; }

.dropdown-languages .dropdown-menu {
  border-radius: 0;
  padding: 5px 0; }

.dropdown-languages .dropdown-menu img { margin-right: 6px; }

.dropdown-languages .dropdown-menu > li > a { padding: 5px 20px; }

/* section- */
.section {
  padding: 100px 0; }

.section-primary {
  background: #EDE5D8; }

.section-xl {
  padding: 130px 0; }

.section-padding-bottom {
  padding-bottom: 120px; }

/*** icomoon icon font ***/
@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?3bfjgh");
  src: url("fonts/icomoon.eot?3bfjgh#iefix") format("embedded-opentype"),
       url("fonts/icomoon.ttf?3bfjgh") format("truetype"),
       url("fonts/icomoon.woff?3bfjgh") format("woff"),
       url("fonts/icomoon.svg?3bfjgh#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-facebook:before { content: "\e901"; }
.icon-twitter:before  { content: "\e902"; }
.icon-instagram:before { content: "\e900"; }

/*** main.res — responsive overrides ***/
@media (max-width: 767px) {
  h1 {
    font-size: 40px;
    margin: 35px 0; }

  h2 {
    font-size: 30px;
    margin: 30px 0; }

  .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
    margin-left: 10px; }

  .navbar-default .navbar-toggle {
    margin-top: 22px;
    margin-right: 10px; }

  /* meniul mobil desfasurat are mereu fundal bej plin (vezi mai jos), deci
     textul itemilor trebuie sa ramana mereu inchis la culoare aici, indiferent
     de .navbar-scrolled -- altfel textul bej de pe varianta transparenta
     devine ilizibil pe fundalul bej al meniului deschis */
  .navbar-default .navbar-nav > li > a { color: #3D2B1F; }

  .navbar-default .navbar-nav > li.navbar-lang-switch > a {
    color: #7A6655;
    border-left-color: #D9CFC4; }

  .navbar-default .navbar-collapse {
    background: #F7F2EB;
    /* Bootstrap limiteaza implicit meniul mobil la max-height:340px cu
       scroll intern -- cu toate itemii + comutatorul de limba, continutul
       depaseste usor acea inaltime si RO/EN/FR ajunge aproape invizibil,
       ascuns sub un scroll intern greu de observat. Eliminam limita ca
       intreg meniul sa curga normal, cu scroll pe pagina, nu intr-o cutie
       mica separata. */
    max-height: none; }

  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding-left: 0px; }

  .navbar-right .dropdown-menu > li > a img {
    padding-right: 15px; }

  .navbar-nav .open .dropdown-menu {
    padding-left: 15px; }

  /* comutatorul de limba (RO/EN/FR) are propriile reguli de pozitionare
     pentru desktop (dropdown "plutitor", ancorat in dreapta) care castiga
     in fata resetului de mai sus facut de bootstrap pentru mobil (aceeasi
     specificitate, dar regulile de mai jos sunt definite in afara acestui
     media query, deci ies "in fata" la o simpla suprascriere) -- fara
     asta, pe mobil RO/EN/FR se lipeau de marginea stanga a ecranului, fara
     nicio indentare, spre deosebire de toate celelalte dropdown-uri */
  #navbar .navbar-lang-switch {
    position: static; }

  #navbar .navbar-lang-switch > .dropdown-menu {
    position: static;
    left: auto;
    right: auto;
    min-width: 0;
    width: 100%;
    padding-left: 15px; }

  #navbar .navbar-lang-switch > .dropdown-menu > li > a {
    padding-left: 0; } }

@media (min-width: 768px) and (max-width: 991px) {
  .navbar-default .navbar-nav > li {
    margin-right: 8px; } }

/* Intre 992-1199px (breakpoint-ul Bootstrap "md", container 970px), cele
   9 iteme + comutatorul de limba nu incapeau pe un rand cu spatierea
   normala -- restrans usor DOAR in acest interval (nu afecteaza deloc
   aspectul la >=1200px, unde arata identic cu productia). */
@media (min-width: 992px) and (max-width: 1199px) {
  .navbar-default .navbar-nav > li {
    margin-right: 1px; }
  .navbar-default .navbar-nav > li > a {
    padding-left: 3px;
    padding-right: 3px;
    font-size: 12px;
    letter-spacing: 0.03em; } }
