/*
4292	LOOP CSS Homepage ro
admin2	Site Wide Header	30 September 2025 at 06:52		css	10
*/

/* ===== LOOP – Premii în desfășurare (clean) ===== */
:root{ --text:#E9ECF4; --dim:#A8B0C2; --border:#23283B; --panel:#181C27; --cta:#FF6B3D; }

#home-loop .elementor-container{max-width:1200px}

/* Grid */
.cgr-loop .cgr-loop-grid .elementor-grid{grid-auto-rows:1fr}
@media (max-width:1199px){ .cgr-loop .elementor-grid{grid-template-columns:repeat(3,1fr)!important} }
@media (max-width:900px){  .cgr-loop .elementor-grid{grid-template-columns:repeat(2,1fr)!important} }
@media (max-width:600px){  .cgr-loop .elementor-grid{grid-template-columns:1fr!important} }
/* ===== LOOP – Premii în desfășurare (clean, pe stil Cucurigoo) ===== */
:root{ --text:#E9ECF4; --dim:#A8B0C2; --border:#23283B; --panel:#181C27; --cta:#FF6B3D; }

/* Grid */
.cgr-loop #home-loop .elementor-container{max-width:1200px}
.cgr-loop .elementor-loop-container{
    display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px !important;
}
@media (max-width:1199px){ .cgr-loop .elementor-loop-container{ grid-template-columns:repeat(3,1fr) !important; } }
@media (max-width:900px) { .cgr-loop .elementor-loop-container{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:600px) { .cgr-loop .elementor-loop-container{ grid-template-columns:1fr !important; } }

/* Card */
.cgr-card{
    background:var(--panel); border:1px solid var(--border); border-radius:16px;
    padding:14px; display:flex; flex-direction:column; gap:10px; height:100%;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.cgr-card:hover{ transform:translateY(-2px); border-color:#2A3150; box-shadow:0 10px 24px rgba(0,0,0,.18) }

/* Imagine */
.cgr-card__img{
    border-radius:12px; overflow:hidden; border:1px solid var(--border);
    background:linear-gradient(135deg,#0B0F18,#0D1321 40%,#102038);
    aspect-ratio: 16/10; display:block;
}
.cgr-card__img img{ width:100%; height:100%; object-fit:contain; display:block }

/* Titlu + meta */
.cgr-card__title .elementor-heading-title{
    color:var(--text) !important; margin:0 !important; font-weight:800 !important; font-size:15px !important; line-height:1.25 !important;
}
.cgr-card__title a{ color:inherit !important; text-decoration:none !important; }
.cgr-card__meta{ color:var(--dim) !important; font-size:13px !important; margin:0 !important; display:flex; gap:8px; flex-wrap:wrap }
.cgr-card__meta .odr-time, .cgr-card__meta .odr-tickets{ display:inline-flex; align-items:center; gap:6px }
.cgr-card__meta .odr-time:before{
    content:""; width:8px; height:8px; border-radius:50%;
    background:linear-gradient(180deg,#D4AF37,#F6D773); display:inline-block;
}

/* CTA în card */
.cgr-card__cta{ margin-top:auto; display:flex; gap:8px; align-items:center }
.cgr-btn-card{
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    min-height:38px; padding:10px 14px; border-radius:12px; font-weight:800; line-height:1; border:1px solid transparent;
    text-decoration:none; color:var(--text); transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}
.cgr-btn-card--primary{ background:linear-gradient(180deg,var(--cta) 0%, #FF7A50 100%); color:#fff; border-color:transparent; box-shadow:0 6px 14px rgba(255,107,61,.2) }
.cgr-btn-card--primary:hover{ transform:translateY(-1px) }
.cgr-btn-card--ghost{ background:rgba(255,255,255,.02); border-color:#2A3150 }
.cgr-btn-card--ghost:hover{ background:rgba(255,255,255,.05); transform:translateY(-1px) }

/* Mic failsafe: Woo out-of-stock (dacă tema pune clasa) */
.cgr-card.outofstock, .product.outofstock .cgr-card{ opacity:.75 }

/* Card */
.cgr-card{
    background:var(--panel); border:1px solid var(--border); border-radius:16px;
    padding:14px; display:flex; flex-direction:column; gap:10px; height:100%;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.cgr-card:hover{ transform:translateY(-2px); border-color:#2A3150; box-shadow:0 10px 24px rgba(0,0,0,.18) }

.cgr-card__img{
    border-radius:12px; overflow:hidden; border:1px solid var(--border);
    background:linear-gradient(135deg,#0B0F18,#0D1321 40%,#102038);
    aspect-ratio: 1.6 / 1; display:block;
}
.cgr-card__img img{ width:100%; height:100%; object-fit:contain; display:block }

.cgr-card__title,
.cgr-card__title .elementor-heading-title{
    color:var(--text)!important; margin:0!important; font-weight:800!important; font-size:15px!important; line-height:1.25!important;
}
.cgr-card__title a{ color:inherit!important; text-decoration:none!important }

.cgr-card__meta{ color:var(--dim)!important; font-size:13px!important; margin:0!important }
.cgr-card__meta p{ margin:0!important }

/* CTA row */
.cgr-card__cta{ margin-top:auto; display:flex; gap:8px; align-items:center }

/* Buttons in card (izolat de Hero) */
.cgr-btn-card{
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    min-height:38px; padding:10px 14px; border-radius:12px; font-weight:800; line-height:1; border:1px solid transparent;
    text-decoration:none; color:var(--text); transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}
.cgr-btn-card--primary{ background:linear-gradient(180deg,var(--cta) 0%, #FF7A50 100%); color:#fff; border-color:transparent; box-shadow:0 6px 14px rgba(255,107,61,.2) }
.cgr-btn-card--primary:hover{ transform:translateY(-1px) }
.cgr-btn-card--ghost{ background:rgba(255,255,255,.02); border-color:#2A3150 }
.cgr-btn-card--ghost:hover{ background:rgba(255,255,255,.05); transform:translateY(-1px) }
/* ===== Full-bleed bands + Loop alignment (compact) ===== */
:root{ --wrap:1200px; --bg:#0F1115; --bg-soft:#121724; --panel:#181C27; --border:#23283B; --text:#E9ECF4; --dim:#A8B0C2; --cta:#FF6B3D; }

/* 0) Container intern max-width (nu afectează teme globale) */
.cgr-hero > .elementor-container,
.cgr-hiw  > .elementor-container,
.cgr-loop > .elementor-container{ max-width:var(--wrap); margin:0 auto; }

/* 1) Benzile de fundal pe toată lățimea ecranului (full-bleed) */
.cgr-hero, .cgr-hiw, .cgr-loop{ position:relative; z-index:0; }
.cgr-hero::before, .cgr-hiw::before, .cgr-loop::before{
    content:""; position:absolute; top:0; left:50%; width:100vw; height:100%;
    transform:translateX(-50%); z-index:-1;
}
/* Fundaluri pe benzi (ajustează dacă vrei alte nuanțe) */
.cgr-hero::before{
    background:
            radial-gradient(800px 320px at 10% -20%, rgba(212,175,55,.18), transparent),
            linear-gradient(180deg,#10131F,#0D1018);
}
.cgr-hiw::before{  background: var(--bg-soft); }
.cgr-loop::before{ background: var(--bg); }

/* 2) LOOP – grid + aliniere uniformă în carduri */
.cgr-loop .elementor-loop-container{
    display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px !important;
}
@media (max-width:1199px){ .cgr-loop .elementor-loop-container{ grid-template-columns:repeat(3,1fr)!important } }
@media (max-width:900px){  .cgr-loop .elementor-loop-container{ grid-template-columns:repeat(2,1fr)!important } }
@media (max-width:600px){  .cgr-loop .elementor-loop-container{ grid-template-columns:1fr!important } }

.cgr-card{
    background:var(--panel); border:1px solid var(--border); border-radius:16px;
    padding:14px; display:flex; flex-direction:column; gap:10px; height:100%;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.cgr-card:hover{ transform:translateY(-2px); border-color:#2A3150; box-shadow:0 10px 24px rgba(0,0,0,.18) }

.cgr-card__img{ border-radius:12px; overflow:hidden; border:1px solid var(--border); background:linear-gradient(135deg,#0B0F18,#0D1321 40%,#102038); aspect-ratio:16/10; }
.cgr-card__img img{ width:100%; height:100%; object-fit:contain; display:block; }

.cgr-card__title .elementor-heading-title{
    color:var(--text)!important; margin:0!important; font-weight:800!important; font-size:15px!important; line-height:1.25!important;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; /* 2 rânduri fix */
    min-height:calc(1.25em * 2); /* baseline identic între carduri */
}
.cgr-card__meta{ color:var(--dim)!important; font-size:13px!important; margin:0!important; display:flex; gap:8px; flex-wrap:wrap; min-height:22px }
.cgr-card__cta{ margin-top:auto; display:flex; gap:8px }

/* Butoane din card (izolate de HERO) */
.cgr-btn-card{
    display:inline-flex; align-items:center; justify-content:center; gap:6px;
    min-height:38px; padding:10px 14px; border-radius:12px; font-weight:800; line-height:1; border:1px solid transparent;
    text-decoration:none; color:var(--text); transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}
.cgr-btn-card--primary{ background:linear-gradient(180deg,var(--cta) 0%, #FF7A50 100%); color:#fff; border-color:transparent; box-shadow:0 6px 14px rgba(255,107,61,.2) }
.cgr-btn-card--primary:hover{ transform:translateY(-1px) }
.cgr-btn-card--ghost{ background:rgba(255,255,255,.02); border-color:#2A3150 }
.cgr-btn-card--ghost:hover{ background:rgba(255,255,255,.05); transform:translateY(-1px) }
/* ===== LOOP ALIGN FIX (imagine/titlu/meta/CTA pe aceeași linie) ===== */

/* întinde toate item-urile din grid pe aceeași înălțime */
.cgr-loop .elementor-loop-container{ align-items:stretch !important; }
.cgr-loop .e-loop-item{ display:flex !important; }
.cgr-loop .e-loop-item > *{ display:flex !important; width:100% !important; }

/* cardul = coloană flexibilă care umple toată înălțimea */
.cgr-card{ display:flex !important; flex-direction:column !important; height:100% !important; gap:10px; }
.cgr-card .elementor-widget{ margin:0 !important; }  /* taie marginile Elementor */

/* sloturi cu înălțime controlată (schimbi cifrele dacă vrei) */
:root{ --slot-img: 220px; --slot-title: 40px; --slot-meta: 26px; --slot-cta: 40px; }
@media (min-width:1366px){ :root{ --slot-img: 240px; } }

/* IMAGINE – aceeași înălțime pe toate cardurile */
.cgr-card__img{ height:var(--slot-img); aspect-ratio:auto; border:1px solid #23283B; border-radius:12px; overflow:hidden;
    background:linear-gradient(135deg,#0B0F18,#0D1321 40%,#102038); display:flex; align-items:center; justify-content:center; }
.cgr-card__img img{ max-height:100%; max-width:100%; object-fit:contain; display:block; }

/* TITLU – 2 rânduri fix (clamp) + înălțime minimă identică */
.cgr-card__title .elementor-heading-title{
    margin:0 !important; font-weight:800 !important; font-size:15px !important; line-height:1.25 !important; color:#E9ECF4 !important;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:var(--slot-title);
}
.cgr-card__title a{ color:inherit !important; text-decoration:none !important; }

/* META – pe un singur rând per „chip”, cu aceeași înălțime */
.cgr-card__meta{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; min-height:var(--slot-meta); color:#A8B0C2 !important; font-size:13px !important; }
.cgr-card__meta .odr-time, .cgr-card__meta .odr-tickets{
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;
}

/* CTA – împins la bază indiferent de conținutul de sus */
.cgr-card__cta{ margin-top:auto !important; display:flex; gap:8px; align-items:center; min-height:var(--slot-cta); }
.cgr-card > *:last-child{ margin-top:auto !important; } /* fallback: dacă nu ai .cgr-card__cta, ultimul bloc cade la bază */

/* Butoane din card (stil scurt, separat de HERO) */
.cgr-btn-card{ display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:38px; padding:10px 14px;
    border-radius:12px; font-weight:800; line-height:1; border:1px solid transparent; text-decoration:none; color:#E9ECF4;
    transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease; }
.cgr-btn-card--primary{ background:linear-gradient(180deg,#FF6B3D 0%, #FF7A50 100%); color:#fff; box-shadow:0 6px 14px rgba(255,107,61,.20) }
.cgr-btn-card--primary:hover{ transform:translateY(-1px) }
.cgr-btn-card--ghost{ background:rgba(255,255,255,.02); border-color:#2A3150 }
.cgr-btn-card--ghost:hover{ background:rgba(255,255,255,.05); transform:translateY(-1px) }
/* ===== ODR HOME GW — ALIGN FIX (drop-in) ======================= */
/* Grid: toate item-urile întinse egal pe înălțime */
.odr-home-gw .elementor-loop-container{ align-items:stretch !important; }
.odr-home-gw .e-loop-item{ display:flex !important; }
.odr-home-gw .e-loop-item > *{ display:flex !important; width:100% !important; }

/* Card: coloană elastică + taie marginile implicite Elementor */
.odr-home-gw .odr-gw-card{ display:flex !important; flex-direction:column !important; gap:10px; height:100% !important; }
.odr-home-gw .odr-gw-card .elementor-widget{ margin:0 !important; }

/* Sloturi controlate (poți regla valorile) */
:root{ --odr-slot-img:240px; --odr-slot-title:40px; --odr-slot-meta:26px; }
@media (max-width:1365px){ :root{ --odr-slot-img:220px; } }

/* Imagine — aceeași înălțime pentru toate cardurile */
.odr-home-gw .odr-figure{ height:var(--odr-slot-img) !important; }
.odr-home-gw .odr-figure .odr-img{ display:flex; align-items:center; justify-content:center; }
.odr-home-gw .odr-figure .odr-img img{ max-height:100%; max-width:100%; object-fit:contain; display:block; }

/* Titlu — 2 rânduri fix + înălțime minimă egală */
.odr-home-gw .odr-title .elementor-heading-title{
    margin:0 !important; font-weight:800 !important; font-size:15px !important; line-height:1.25 !important; color:#f1f5f9 !important;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
    min-height:var(--odr-slot-title);
}
.odr-home-gw .odr-title a{ color:inherit !important; text-decoration:none !important; }

/* META — cele 2 shortcodes într-un container .odr-meta cu înălțime fixă */
.odr-home-gw .odr-meta{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; min-height:var(--odr-slot-meta); }
.odr-home-gw .odr-time, .odr-home-gw .odr-tickets{
    font-size:13px !important; color:#a8b3be !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* CTA — împins mereu la bază (chiar dacă lipsesc / diferă meta) */
.odr-home-gw .odr-btn{ margin-top:auto !important; display:flex; gap:8px; }
.odr-home-gw .odr-gw-card > *:last-child{ margin-top:auto !important; } /* fallback */
/* ===== ODR LOOP – aliniere perfectă pe rând (folosește DOAR clasele tale) ===== */

/* 0) întinde item-urile pe aceeași înălțime */
.odr-home-gw .elementor-loop-container{ align-items:stretch !important; }
.odr-home-gw .e-loop-item{ display:flex !important; }
.odr-home-gw .e-loop-item > *{ display:flex !important; width:100% !important; }

/* 1) card = coloană elastică; taie marginile implicite */
.odr-home-gw .odr-gw-card{ display:flex !important; flex-direction:column !important; gap:10px; height:100% !important; }
.odr-home-gw .odr-gw-card .elementor-widget{ margin:0 !important; }

/* 2) sloturi controlate – ajustează dacă vrei */
:root{ --odr-img:240px; --odr-title:40px; --odr-meta:26px; }
@media (max-width:1365px){ :root{ --odr-img:220px; } }

/* 3) IMAGINE – aceeași înălțime peste tot */
.odr-home-gw .odr-figure{
    height:var(--odr-img) !important; border-radius:12px; overflow:hidden;
    border:1px solid #23283B; background:linear-gradient(135deg,#0B0F18,#0D1321 40%,#102038);
    display:flex; align-items:center; justify-content:center;
}
.odr-home-gw .odr-figure .odr-img{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.odr-home-gw .odr-figure .odr-img img{ max-height:100%; max-width:100%; object-fit:contain; display:block; }

/* 4) TITLU – 2 rânduri fix (clamp) + înălțime minimă identică pt. bază comună */
.odr-home-gw .odr-gw-card :where(h2,h3,h4,.elementor-heading-title){
    margin:0 0 6px !important; font-weight:800 !important; font-size:15px !important; line-height:1.25 !important; color:#E9ECF4 !important;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:var(--odr-title);
}

/* 5) META – pune cele două widget-uri pe același rând + înălțime fixă */
.odr-home-gw .elementor-element.odr-time,
.odr-home-gw .elementor-element.odr-tickets{        /* clasele pe WIDGET */
    display:inline-flex !important; align-items:center; gap:6px; min-height:var(--odr-meta);
}
.odr-home-gw .elementor-element.odr-time{ margin-right:8px; }
.odr-home-gw .odr-time, .odr-home-gw .odr-tickets{   /* și interiorul shortcode-ului */
    color:#A8B0C2 !important; font-size:13px !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* 6) PREȚ – înălțime minimă ca să nu împingă CTA diferit între carduri */
.odr-home-gw .odr-price{ color:#E9ECF4 !important; font-weight:800 !important; margin:6px 0 10px !important; min-height:20px; }

/* 7) CTA – mereu la bază (împins cu auto) */
.odr-home-gw .elementor-element.odr-btn{ margin-top:auto !important; display:flex !important; gap:8px; }
.odr-home-gw .odr-gw-card > *:last-child{ margin-top:auto !important; } /* fallback */

/* 8) Buton din card – stil premium (dacă vrei să suprascrii verdele temei) */
.odr-home-gw .odr-btn .elementor-button{
    display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:10px 14px;
    border-radius:12px; font-weight:800; line-height:1; border:1px solid transparent;
    background:linear-gradient(180deg,#FF6B3D 0%, #FF7A50 100%) !important; color:#fff !important;
    box-shadow:0 6px 14px rgba(255,107,61,.20);
}
.odr-home-gw .odr-btn .elementor-button:hover{ transform:translateY(-1px); }
