/*
 * DinFier Classic Child — v1.1
 * Directie vizuala: simplu, industrial, aerisit.
 * Accent discret inspirat de fier/rugina.
 * Toate modificarile sunt in child theme, separat de tema Classic.
 */

:root {
  --df-bg: #f6f6f4;
  --df-surface: #ffffff;
  --df-text: #2b2b29;
  --df-muted: #77736e;
  --df-line: #e6e3df;
  --df-rust: #a9512a;
  --df-rust-dark: #813d20;
  --df-shadow: 0 8px 24px rgba(31, 28, 25, .07);
  --df-radius: 10px;
}

/* =========================================================
   Baza
   ========================================================= */
body {
  background: var(--df-bg);
  color: var(--df-text);
  -webkit-font-smoothing: antialiased;
}

#wrapper {
  background: var(--df-bg);
  padding-top: 1.25rem;
}

@media (min-width: 1200px) {
  .container {
    max-width: 1180px;
  }
}

a {
  transition: color .18s ease, opacity .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* =========================================================
   Antet — mai curat, logo mai prezent
   ========================================================= */
#header {
  background: var(--df-surface);
  box-shadow: 0 2px 14px rgba(25, 23, 20, .055);
  position: relative;
  z-index: 20;
}

#header .header-nav {
  border-bottom: 1px solid var(--df-line);
  box-shadow: none;
  background: #fff;
}

#header .header-top {
  padding: .75rem 0 .85rem;
  background: #fff;
}

#header .header-top > .container > .row {
  align-items: center;
}

@media (min-width: 768px) {
  #_desktop_logo {
    display: flex;
    align-items: center;
  }

  #_desktop_logo img {
    height: 62px !important;
    width: auto !important;
    max-width: 100% !important;
  }

  #_desktop_logo h1 {
    margin: 0;
    line-height: 1;
  }

  #_desktop_top_menu .top-menu > li > a,
  #_desktop_top_menu .top-menu a[data-depth="0"] {
    color: #4a4743;
    font-size: .86rem;
    font-weight: 600;
    letter-spacing: .01em;
    padding-left: .58rem;
    padding-right: .58rem;
  }

  #_desktop_top_menu .top-menu > li > a:hover,
  #_desktop_top_menu .top-menu a[data-depth="0"]:hover {
    color: var(--df-rust);
  }
}

/* Cautare: aspect mai contemporan, fara sa devina ostentativ. */
#search_widget form input,
.search-widget form input[type="text"] {
  background: #f5f4f2;
  border: 1px solid #ebe8e4;
  border-radius: 8px;
  box-shadow: none;
}

#search_widget form input:focus,
.search-widget form input[type="text"]:focus {
  background: #fff;
  border-color: #c8b8ad;
  box-shadow: 0 0 0 3px rgba(169, 81, 42, .08);
}

/* =========================================================
   Breadcrumb / continut
   ========================================================= */
#wrapper .breadcrumb {
  font-size: .88rem;
  margin-bottom: 1rem;
}

#wrapper .breadcrumb a {
  color: #66615c;
}

#wrapper .breadcrumb a:hover {
  color: var(--df-rust);
}

/* =========================================================
   PAGINI DE CATEGORIE
   Reparatie importanta: foloseste latimea desktopului.
   Daca pagina a ramas accidental pe layout cu 3 coloane,
   coloana dreapta este eliminata iar continutul primeste spatiul liber.
   ========================================================= */
@media (min-width: 768px) {
  body#category #wrapper > .container > .row {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
  }

  body#category #left-column {
    flex: 0 0 240px !important;
    max-width: 240px !important;
    width: 240px !important;
    padding-right: 18px;
  }

  body#category #content-wrapper {
    flex: 1 1 0 !important;
    max-width: calc(100% - 240px) !important;
    width: auto !important;
    min-width: 0;
  }

  body#category #right-column {
    display: none !important;
  }
}

/* Meniul lateral devine o zona clara, nu o cutie greoaie. */
body#category .block-categories,
body#category #search_filters {
  background: var(--df-surface);
  border: 1px solid var(--df-line);
  border-radius: var(--df-radius);
  box-shadow: none;
  padding: 1rem;
}

/* Antet categorie compact si lat. */
body#category .block-category {
  min-height: 0;
  background: var(--df-surface);
  border: 1px solid var(--df-line);
  border-radius: var(--df-radius);
  box-shadow: none;
  padding: 1.25rem 1.4rem;
  margin-bottom: 1.15rem;
}

body#category .block-category h1,
body#category #js-product-list-header {
  color: var(--df-text);
  letter-spacing: -.015em;
}

body#category .block-category .block-category-inner {
  min-height: 0;
}

body#category .block-category .category-cover img {
  border-radius: 7px;
}

/* Sortarea ramane pe un rand si nu mai cade litera sub litera. */
body#category .products-selection,
body#category .products-selection .sort-by-row {
  width: 100%;
}

body#category .products-selection .sort-by {
  white-space: nowrap;
}

body#category .products-selection .select-title {
  border-radius: 7px;
  border-color: var(--df-line);
}

/* =========================================================
   Carduri produs — discret modernizate
   ========================================================= */
.product-miniature .thumbnail-container {
  background: var(--df-surface);
  border: 1px solid #ece9e5;
  border-radius: var(--df-radius);
  box-shadow: 0 3px 14px rgba(34, 31, 28, .045);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.product-miniature .thumbnail-container:hover {
  transform: translateY(-2px);
  border-color: #ded7d1;
  box-shadow: var(--df-shadow);
}

.product-miniature .product-title a {
  color: #383532;
  font-weight: 500;
}

.product-miniature .product-title a:hover {
  color: var(--df-rust);
}

.product-price-and-shipping .price,
.product-price {
  color: #262421;
  font-weight: 700;
}

/* =========================================================
   Homepage — mai compacta, mai putin scroll inutil
   ========================================================= */
body#index #wrapper {
  padding-top: 1.1rem;
}

/* Sliderul ramane important, dar nu domina pagina. */
@media (min-width: 768px) {
  body#index .carousel,
  body#index #carousel {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(30, 27, 24, .06);
  }

  body#index .carousel .carousel-inner,
  body#index #carousel .carousel-inner {
    max-height: 280px;
  }

  body#index .carousel .carousel-item img,
  body#index #carousel .carousel-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
  }
}

/* Bannerul mare cu logo repetat devine inutil dupa noul antet.
   Il ascundem doar pe homepage; modulul ramane instalat si poate fi reactivat
   simplu stergand aceasta regula. */
body#index a.banner {
  display: none !important;
}

body#index .featured-products,
body#index .product-accessories,
body#index .products-section-title {
  margin-top: 1.5rem;
}

body#index .products-section-title,
body#index h2.h2 {
  color: #2f2c29;
  font-size: 1.35rem;
  letter-spacing: .01em;
  margin-bottom: 1.2rem;
}

/* Textul de prezentare ramane, dar ocupa mai putin si arata ca un bloc editorial. */
body#index #custom-text {
  background: var(--df-surface);
  border: 1px solid var(--df-line);
  border-radius: var(--df-radius);
  box-shadow: none;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
  padding: 1.35rem 1.6rem;
  text-align: left;
  line-height: 1.55;
}

body#index #custom-text p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   Butoane si formulare — accent ruginiu discret
   ========================================================= */
.btn-primary {
  background: var(--df-rust);
  border-color: var(--df-rust);
  border-radius: 7px;
  box-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: var(--df-rust-dark);
  border-color: var(--df-rust-dark);
  box-shadow: none;
}

.form-control {
  border-radius: 7px;
  border-color: var(--df-line);
}

.form-control:focus {
  border-color: #c5a999;
  box-shadow: 0 0 0 3px rgba(169, 81, 42, .08);
}

/* =========================================================
   Footer
   ========================================================= */
#footer {
  background: #fff;
  border-top: 1px solid var(--df-line);
  box-shadow: none;
  margin-top: 2rem;
}

#footer a:hover {
  color: var(--df-rust);
}

/* =========================================================
   Mobil / tableta
   ========================================================= */
@media (max-width: 767px) {
  #header .header-top {
    padding: .55rem 0;
  }

  #_mobile_logo img,
  .top-logo img {
    max-height: 46px;
    width: auto;
  }

  #wrapper {
    padding-top: .75rem;
  }

  body#category #left-column,
  body#category #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }

  body#category .block-category {
    padding: 1rem;
  }

  body#index #custom-text {
    margin: 1rem 0;
    padding: 1rem;
  }
}
