/* =========================
   HOME: layout full-width
   ========================= */
.cms-index-index .page-main {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cms-index-index .columns { max-width: none !important; }
/* dacă ai Goomento */
.cms-index-index .gm-container,
.cms-index-index .gm-section .gm-container {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =========================
   SECTIONS / heading
   ========================= */
.section { padding: 32px 6vw; }
.section .section-heading,
.section-heading {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 16px;
}

/* =========================
   HERO (am păstrat ambele versiuni)
   ========================= */
/* varianta veche: .home-hero */
.home-hero .hero-wrap { position: relative; min-height: 520px; }
.home-hero .hero-bg img { width: 100%; height: 520px; object-fit: cover; display: block; }
.home-hero .hero-content { position: absolute; left: 6vw; top: 18vh; color: #fff; }
.home-hero .hero-content h1 {
  font-size: 56px; line-height: 1.1; font-weight: 800; margin: 0 0 16px;
  text-shadow: 0 0 20px rgba(0,0,0,.25);
}
.home-hero .btn-cta {
  background:#ff7a00; border:1px solid #ff7a00; color:#fff;
  padding:12px 20px; border-radius:12px; font-weight:700; text-decoration:none;
}
.home-hero .btn-cta:hover{ background:#e66f00; border-color:#e66f00; }

/* varianta nouă: .tls-hero-section */
.tls-hero-section { display:grid; gap:1rem; min-height:800px; }
.left-col.two-rows-col{ grid-column:1/2; grid-row:1/3; }
.right-col.one-row-col.top-row{ grid-column:2/3; grid-row:1/2; }
.right-col.one-row-col.bottom-row{ grid-column:2/3; grid-row:2/3; }
.grid-col{
  position:relative; display:flex; flex-direction:column; align-items:center;
  border-radius:var(--radius); padding:2rem; gap:2rem; min-height:500px;
}
.grid-col.two-rows-col{ justify-content:center; }
.grid-col.one-row-col{ justify-content:flex-end; }
.grid-col::before{
  content:""; position:absolute; inset:0; background:rgba(255,255,255,.1);
  backdrop-filter:blur(1px); -webkit-backdrop-filter:blur(1px);
  border-radius:var(--radius); transition:.2s ease-in-out;
}
.grid-col:hover::before{ background:transparent; backdrop-filter:blur(0); -webkit-backdrop-filter:blur(0); }
.grid-col a.button{ z-index:2; }
.hero-title{ color:#fff; text-align:center; z-index:2; text-shadow:0 0 20px var(--primary-color); margin:0 0 10px;
  font-size: clamp(28px, 3.2vw, 52px);
  line-height: 1.05; }
.block-bg{ position:absolute; inset:0; width:100%; height:100%; border-radius:var(--radius); object-fit:cover; object-position:center; z-index:-1; }

/* features */
.tls-features-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.tls-feature-wrapper{
  flex:1 0; max-width:425px; min-width:250px; display:grid; grid:2fr 1fr / auto; gap:1rem;
  padding:1rem; position:relative; background:var(--bg-lavander); border-radius:1rem;
}
.tls-feature-header{ display:grid; grid:auto / 3fr 1fr; align-items:end; position:relative; }
.tls-feature-image{
  position:relative; display:flex; justify-content:center; align-items:center;
  padding:1rem; width:120px; height:120px; border-radius:50%;
  background:#fff; box-shadow:var(--shadow-dark);
}
.tls-feature-image img{ width:100%; }

/* promo / pachete */
.container-home-products{ display:flex; flex-direction:column; row-gap:2rem; }
.header-home-products{ display:flex; flex-wrap:wrap; justify-content:space-between; column-gap:1rem; }
.header-hp-button{ display:flex; align-items:center; }
.packages .header-home-products{ justify-content:center; }
.packages .header-hp-content h2,
.packages .header-hp-content p{ text-align:center; }
.home-packages-wrapper{ gap:1rem; }
.promo-package{ flex:1 0; max-width:426px; display:flex; }
.promo-package a.package{ width:100%; height:100%; }
.promo-package .package img{ border-radius:var(--radius); }

/* =========================
   HOME – “Produse populare” (Slick GRID 2×4)
   ========================= */

/* ascunde toolbarele widgetului doar pe HOME */
.cms-index-index .home-popular .toolbar,
.cms-index-index .home-popular .toolbar-products,
.cms-index-index .home-popular .toolbar-amount,
.cms-index-index .home-popular .toolbar-sorter,
.cms-index-index .home-popular .pages { display:none !important; }

/* spacing între celule (Slick wrappuie slide-ul într-un <div>) */
.cms-index-index .home-popular .slick-list  { overflow:visible; margin:0 -12px; }
.cms-index-index .home-popular .slick-slide > div {
  padding:12px;
  display:block;   
}

/* Asigură-te că nimic nu anulează float-ul Slick */
.cms-index-index .home-popular .slick-slider .slick-slide {
  float: left !important;
  box-sizing: border-box;
}



/* anulează overlay-ul temei pe HOME: butonul rămâne în card */
.cms-index-index .home-popular .product-item .product-item-inner{
  position:static !important; clip:auto !important; width:auto !important; height:auto !important;
  overflow:visible !important; margin:0 !important; padding:0 !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
}

/* card compact ca în design */
.cms-index-index .home-popular .product-item-info{
  display:flex; flex-direction:column; height:100%;
  border-radius:10px; background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.08);
  padding:0; overflow:hidden; margin: 20px 0;
}

/* zonă imagine mică, fixă (nu calcă peste titlu) */
/*.cms-index-index .home-popular .product-item-photo{
  height:120px; display:flex; align-items:center; justify-content:center; padding:8px; overflow:hidden;
}*/
/*.cms-index-index .home-popular .product-item-photo .product-image-photo{
  max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:12px; background:#fff;
}*/

/* titlu / preț */
.cms-index-index .home-popular .product-item-name{ text-align:center; margin:8px 6px 20px; font-size:13px; line-height:1.3; }
.cms-index-index .home-popular .price-box{ text-align:center; margin:0 0 8px; }

/* buton în partea de jos a cardului, portocaliu */
.cms-index-index .home-popular .product-item .product-item-actions{
  margin-top:auto; display:flex !important; justify-content:center !important;
}
.cms-index-index .home-popular .product-item .product-item-actions::after{ display:none !important; }
.cms-index-index .home-popular .product-item .action.tocart{
  position:static !important; background:#ff7a00; border:1px solid #ff7a00; color:#fff;
  font-weight:700; font-size:13px; padding:8px 14px; border-radius:8px; margin:8px auto 0;
}
.cms-index-index .home-popular .product-item .action.tocart:hover{ background:#e66f00; border-color:#e66f00; }

/* săgeți / dots */
.cms-index-index .home-popular .slick-prev:before,
.cms-index-index .home-popular .slick-next:before{ color:#333; }
.cms-index-index .home-popular .slick-dots li button:before{ font-size:8px; opacity:.4; }
.cms-index-index .home-popular .slick-dots li.slick-active button:before{ opacity:1; color:#ff7a00; }

/* Neutralizează regulile vechi din homepage.css DOAR pe secțiunea Home Popular */
.cms-index-index .home-popular .slick-slide .product-item .product-item-info{ align-items:stretch !important; margin:0 !important; }
.cms-index-index .home-popular .slick-slide .product-item .product-item-info .product-item-photo{ width:auto !important; }
.cms-index-index .home-popular .slick-slide .product-item .product-item-info .product-item-details .tocart{
  background:#ff7a00 !important; border:1px solid #ff7a00 !important; color:#fff !important;
  font-size:13px !important; padding:8px 14px !important; border-radius:8px !important;
}

/* =========================
   CATEGORII (carduri promo)
   ========================= */
.home-categories .cat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top: 20px; }
.home-categories .cat-card { position:relative; display:block; border-radius:14px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,.06); }
.home-categories .cat-card img { width:100%; height:260px; object-fit:cover; display:block; }
.home-categories .cat-badge {
  position:absolute; left:16px; bottom:16px; display:inline-block;
  background:#ff7a00; color:#fff; font-weight:800; padding:10px 14px; border-radius:10px; letter-spacing:.02em;
}

/* =========================
   Responsive
   ========================= */
@media (min-width:1024px){
  .tls-hero-section{ grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr); }
  .home-packages-wrapper{ display:grid; grid:auto / repeat(3,1fr); justify-content:center; }
  /* carduri mai compacte pe desktop (home popular) */
  .cms-index-index .home-popular .product-item-info{ min-height:340px; }
  .cms-index-index .home-popular .product-item-photo{ height:140px; }
}
@media (max-width:1023px){
  .tls-hero-section{
    grid-template-columns:1fr;
    grid-template-rows:minmax(700px,auto) minmax(350px,auto) minmax(350px,auto);
  }
  .left-col.two-rows-col, .right-col.one-row-col.top-row, .right-col.one-row-col.bottom-row{ grid-column:1/2; grid-row:auto; }
  .home-packages-wrapper{ display:grid; grid:auto / auto; justify-content:center; }
}
@media (max-width:1024px){
  .home-hero .hero-content h1{ font-size:40px; }
  .home-categories .cat-grid{ grid-template-columns:1fr; }
}
@media (max-width:768px){
  .home-hero .btn-cta{ display:block; width:fit-content; margin:0 auto; text-align:center; }
}


/* doar pe HOME – lista folosită de Slick nu trebuie să fie grid/flex */
.cms-index-index .home-popular .product-items { display: block !important; }
.cms-index-index .home-popular .product-items > .product-item {
  float: none; width: auto; margin: 0;
}

/* spațiu între carduri în slider (prin padding pe slide) */
.cms-index-index .home-popular .slick-list { overflow: visible; }
.cms-index-index .home-popular .slick-slide { padding: 12px; }

/* carduri compacte pe desktop – încap 2 rânduri x 4 coloane */
@media (min-width: 1024px) {
  .cms-index-index .home-popular .product-item-info { min-height: 340px; }
  .cms-index-index .home-popular .product-item-photo { height: 150px; }
}

/* zonă foto fixă – previne „căderea” titlului sub imagine */
.cms-index-index .home-popular .product-item-photo {
  display:flex; align-items:center; justify-content:center;
  height: 150px; padding: 12px; overflow: hidden;
}
.cms-index-index .home-popular .product-item-photo .product-image-photo {
  max-width:100%; max-height:100%; object-fit:contain;
}

.home-hero .hero-bg .slick-dots{bottom:12px;}
.home-hero .hero-bg { position: relative; }
.home-hero .hero-slider img {
  width: 100%; height: 520px; object-fit: cover; display: block;
}


/* @media (max-width: 640px){
  .cms-index-index .home-popular .product-items > .product-item { width:100%; }
} */

.hero-subtitle{
  margin:0 0 18px;
  font-size: clamp(14px, 1.2vw, 18px);
  opacity:.95;
  color: #fff;
}

@media (max-width: 768px){
  .hero-slider .hero-slide .hero-content{
    left: 16px;
    right: 16px;
    bottom: 16px;
    max-width: none;
    text-align: center;        
  }

  .hero-title,
  .hero-subtitle{
    text-align: center;         
    margin-left: auto;
    margin-right: auto;
  }

}

.hero-slide picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}

.hero-slide picture img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* 1) Omoară înălțimile fixe care îți rup layout-ul */
.home-hero .hero-bg img,
.home-hero .hero-slider img{
  height: 100% !important;
}

/* 2) Fixează înălțimea sliderului + toate wrapper-ele Slick */
.home-hero .hero-wrap{
  height: 520px;
  min-height: 0;
}

.home-hero .hero-bg,
.home-hero .hero-slider,
.home-hero .hero-slider .slick-list,
.home-hero .hero-slider .slick-track,
.home-hero .hero-slider .slick-slide,
.home-hero .hero-slider .slick-slide > div{
  height: 100%;
}


.home-hero .hero-slide{
  position: relative;
  height: 100%;
  overflow: hidden;
}

/* 4) Picture/IMG umple tot slide-ul */
.home-hero .hero-slide picture{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.home-hero .hero-slide picture img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* content peste imagine */
.home-hero .hero-content{
  position: absolute;
  z-index: 2;
}

/* MOBILE */
@media (max-width: 768px){
  .home-hero .hero-wrap{ height: 520px; } 

  .home-hero .hero-content{
    left: 16px;
    right: 16px;
    bottom: 16px;
    top: auto;           
    text-align: center;
  }
}

@media (max-width: 768px){
  .home-hero .hero-content{
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;

    transform: translate(-50%, -50%) !important;

    width: calc(100% - 32px);
    max-width: 560px;
    text-align: center;
  }
}



/* USP BAR – versiune mai mare */

.cms-index-index .home-usp-bar{
  width: min(1280px, calc(100% - 32px));
  margin: 18px auto 28px;
  padding: 14px;

  display: flex;
  gap: 16px;
  flex-wrap: wrap;

  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.10);
}

.cms-index-index .home-usp-bar .usp-item{
  flex: 1 1 280px;

  display: flex;
  align-items: center;
  gap: 16px;

  padding: 18px 20px;
  min-height: 86px;

  border-radius: 16px;
  text-decoration: none;

  background: rgba(0,0,0,.02);
  border: 1px solid rgba(0,0,0,.07);

  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.cms-index-index .home-usp-bar .usp-item:hover{
  background: rgba(0,0,0,.03);
  transform: translateY(-1px);
  box-shadow: 0 12px 20px rgba(0,0,0,.10);
}

/* ICON CONTAINER – FĂRĂ FUNDAL */
.cms-index-index .home-usp-bar .usp-ic{
  width: 80px;
  height: 80px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;

  padding: 0;
  flex: 0 0 auto;
}

/* SVG ca img */
.cms-index-index .home-usp-bar .usp-ic img{
  width: 80px;
  height: 80px;
  display: block;
  object-fit: contain;
}

.cms-index-index .home-usp-bar .usp-txt{
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  color: #1e2e4d;
}

.cms-index-index .home-usp-bar .usp-txt strong{
  font-weight: 900;
  font-size: 16px;
}

.cms-index-index .home-usp-bar .usp-txt small{
  font-size: 14px;
  opacity: .85;
}

.cms-index-index .home-usp-bar .usp-txt b{
  color: #ff7a00;
  font-weight: 900;
}

/* Accent discret pe primul card */
.cms-index-index .home-usp-bar .usp-item:first-child{
  border-color: rgba(255,122,0,.35);
  background: rgba(255,122,0,.06);
}

/* Mobile */
@media (max-width: 768px){
  .cms-index-index .home-usp-bar{
    width: calc(100% - 20px);
    margin: 12px auto 18px;
    padding: 12px;
    gap: 12px;
    border-radius: 16px;
  }

  .cms-index-index .home-usp-bar .usp-item{
    flex: 1 1 100%;
    padding: 16px 16px;
    min-height: 78px;
  }

  .cms-index-index .home-usp-bar .usp-ic{
    width: 56px;
    height: 56px;
  }

  .cms-index-index .home-usp-bar .usp-ic img{
    width: 50px;
    height: 50px;
  }
}

