/*
4298	CSS Footer Global
admin2	Site Wide Header	30 September 2025 at 06:52		css	10
*/

/* =========================================================
   Cucurigoo — FOOTER v2 (FULL, CLEAN)
   Secțiuni: .ft-cta / .ft-news / .ft-links / .ft-trust / .ft-copy
   ========================================================= */

/* ---------- Vars + base ---------- */
:root{
    --wrap:1200px;
    --bg:#0F1115;
    --panel:#111726;
    --border:#23283B;
    --text:#E9ECF4;
    --dim:#A8B0C2;
    --cta:#FF6B3D;
    --cta2:#FF7A50;
    --gold:#D6B46C;
}
footer,.ft-cta,.ft-news,.ft-links,.ft-trust,.ft-copy{ color:var(--text) }
.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 16px }
.only-desktop{ display:none }
@media (min-width:980px){ .only-desktop{ display:inline } }

/* ---------- A) CTA ---------- */
.ft-cta{ background:linear-gradient(180deg,#0F1422,#0E1320); border-top:1px solid var(--border); padding:24px 0 }
.ft-cta .cta-grid{ display:grid; gap:12px }
@media (min-width:980px){
    .ft-cta .cta-grid{
        grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(180px,auto);
        align-items:center; column-gap:14px;
    }
}
.ft-cta h2{ margin:0 0 8px; font-weight:900; letter-spacing:.2px; font-size:26px; line-height:1.15 }
@media (min-width:1200px){ .ft-cta h2{ font-size:28px } }
.ft-cta .chips{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px }
.ft-cta .chip{
    font-size:.85rem; color:var(--gold); border:1px solid rgba(214,180,108,.35);
    padding:6px 10px; border-radius:999px; background:rgba(214,180,108,.08)
}
.btn{
    display:inline-flex; align-items:center; gap:8px; padding:12px 18px; border-radius:12px;
    background:linear-gradient(180deg,var(--cta),var(--cta2)); color:#fff; text-decoration:none; font-weight:800;
    box-shadow:0 6px 14px rgba(255,107,61,.2)
}
.btn:hover{ transform:translateY(-1px) }
.ft-cta .btn{ min-height:44px }
.ft-cta .cta-sub{
    margin:0; align-self:center; min-height:44px;
    display:flex; align-items:center; justify-content:flex-end; white-space:nowrap; color:var(--dim)
}

/* ---------- B) NEWS (newsletter + social) ---------- */
.ft-news{ background:var(--panel); border-top:1px solid var(--border); padding:22px 0 }
.ft-news .news-grid{ display:grid; gap:20px }
@media (min-width:980px){
    .ft-news .news-grid{ grid-template-columns:2fr 1fr; align-items:center; column-gap:20px }
}
.ft-news h3{ margin:0 0 16px; font-size:1.05rem }
.nl-form{ display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start }
.nl-form input[type="email"]{
    flex:1 1 280px; min-width:240px; max-width:320px; min-height:40px;
    border-radius:10px; border:1px solid #2A3150; background:#0C1220; color:var(--text); padding:0 12px
}
.nl-form .btn{ flex:0 0 150px; min-height:40px; padding:10px 16px; font-size:15px; border-radius:10px }
.nl-form label{ flex:1 0 100%; margin-left:2px; font-size:.9rem; color:var(--dim); display:flex; gap:8px; align-items:center }
.nl-form small{ flex:1 0 100%; margin-top:6px; color:var(--dim) }

/* Social */
.ft-news .news-grid > div:last-child{ text-align:center }
.ft-news .news-grid > div:last-child h3{ text-align:center; margin:0 0 16px }
.social{ display:grid; grid-template-columns:repeat(5,56px); gap:10px; justify-content:center }
.tile{
    width:56px; height:56px; border-radius:14px; border:1px solid transparent;
    display:grid; place-items:center
}
.svg{ width:22px; height:22px; fill:#fff }
.tile.fb{ background:#1877F2; border-color:#1877F2 }
.tile.ig{ background:#E1306C; border-color:#E1306C }
.tile.tt{ background:#000000; border-color:#000000 }
.tile.tg{ background:#0088cc; border-color:#0088cc }
.tile.yt{ background:#FF0000; border-color:#FF0000 }

/* ---------- C) LINKS ---------- */
.ft-links{ background:var(--bg); border-top:1px solid var(--border); padding:24px 0 }
.links-grid{ display:grid; gap:18px }
@media (min-width:600px){ .links-grid{ grid-template-columns:repeat(2,1fr) } }
@media (min-width:980px){ .links-grid{ grid-template-columns:repeat(4,1fr) } }
.ft-links h6{ margin:0 0 10px; font-size:.95rem }
.ft-links ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px }
.ft-links a{ color:var(--dim); text-decoration:none }
.ft-links a:hover{ color:#fff }

/* ---------- D) TRUST ---------- */
.ft-trust{ background:var(--panel); border-top:1px solid var(--border); padding:20px 0 }
.ft-trust .trust-grid{ display:grid; gap:20px }
@media (min-width:980px){
    .ft-trust .trust-grid{ grid-template-columns:1.35fr 1fr; align-items:center; column-gap:20px }
}

.ft-trust .badges{ display:grid; gap:16px; grid-template-columns:1fr }
@media (min-width:980px){
    .ft-trust .badges{
        grid-template-columns:repeat(2,minmax(280px,1fr));
        justify-items:stretch;
        align-items:center;
    }
}

.ft-trust .badges .bnr{
    display:block; width:100%;
    height:120px;
    padding:12px;
    border:1px solid #2A3150;
    border-radius:14px;
    background-image:var(--src);
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    background-color:transparent;
    background-origin:content-box;
    background-clip:content-box;
    box-shadow:none;
}

@media (max-width:979.98px){
    .ft-trust .badges .bnr{
        height:90px;
        padding:10px;
    }
}

.ft-trust .assure{ list-style:none; margin:0; padding:0; display:grid; gap:8px; color:var(--dim) }
.ft-trust .assure li{ display:flex; gap:10px; align-items:flex-start }
.ft-trust .dot{
    width:10px; height:10px; border-radius:50%;
    background:linear-gradient(180deg,#D4AF37,#F6D773);
    margin-top:6px;
}

/* ---------- E) COPY ---------- */
.ft-copy{ background:var(--bg); border-top:1px solid var(--border); color:var(--dim); text-align:center; padding:12px 0 }

/* ===== CONDITIONAL VISIBILITY ===== */
.show-guest { display: block; }
.show-logged { display: none; }

body.logged-in .show-guest { display: none; }
body.logged-in .show-logged { display: block; }

/* Link-uri text simple */
.btn-link {
    color: var(--text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
}

.btn-link:hover {
    color: var(--gold);
}

.btn-link svg {
    transition: opacity 0.2s;
}

.btn-link:hover svg {
    opacity: 1 !important;
}

/* Mesaje footer newsletter */
.nl-msg {
    flex: 1 0 100%;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: .9rem;
    margin-top: 8px;
    font-weight: 500;
}

.nl-msg.success {
    background: rgba(74, 222, 128, 0.15);
    border: 1px solid rgba(74, 222, 128, 0.3);
    color: #4ADE80;
}

.nl-msg.error {
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #EF4444;
}

.nl-msg.warning {
    background: rgba(214, 180, 108, 0.15);
    border: 1px solid rgba(214, 180, 108, 0.35);
    color: #D6B46C;
}

/* FIX BUTTON reset */
.nl-form button.btn {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: none !important;
    outline: none !important;
    font-family: inherit !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* =====================================================
   RESPONSIVE MOBILE
   ===================================================== */

@media (max-width: 767px) {

    /* ===== HERO SPACING ===== */
    body.home .elementor-section.hero-section,
    body.home [class*="hero"].elementor-section {
        margin-top: 0 !important;
        padding-top: 20px !important;
    }

    body.home [class*="hero"] .elementor-widget-heading,
    body.home [class*="hero"] .elementor-widget-text-editor {
        margin-bottom: 24px !important;
    }

    body.home [class*="hero"] .elementor-button-wrapper {
        margin-bottom: 32px !important;
    }

    /* ===== HERO IMAGE ===== */
    body.home .elementor-section.hero-section .elementor-background-overlay,
    body.home [class*="hero"] .elementor-column-wrap,
    body.home [class*="hero"] .elementor-widget-wrap {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.home [class*="hero"] img,
    body.home .hero-section img {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    /* ===== HERO BUTTON ===== */
    body.home [class*="hero"] .elementor-button,
    body.home .hero-section .btn,
    body.home [class*="hero"] a.btn {
        display: block !important;
        margin: 0 auto !important;
        width: auto !important;
        max-width: 240px !important;
        text-align: center !important;
        padding: 12px 24px !important;
    }

    body.home [class*="hero"] .elementor-button-wrapper {
        text-align: center !important;
        display: block !important;
    }

    /* ===== TITLURI ALINIERE ===== */
    body.home .elementor-heading-title,
    body.home h2.elementor-heading-title,
    body.home .elementor-widget-heading {
        padding-left: 16px !important;
        padding-right: 16px !important;
        margin-left: 0 !important;
        text-align: left !important;
    }

    body.home .elementor-section > .elementor-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* ===== FOOTER CTA ===== */
    .ft-cta .cta-grid {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        gap: 16px !important;
    }

    .ft-cta .cta-grid > div {
        text-align: center !important;
    }

    .ft-cta .chips {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        justify-content: center !important;
        margin-top: 12px !important;
    }

    .ft-cta .chip {
        font-size: 11px !important;
        padding: 4px 8px !important;
        white-space: nowrap !important;
    }

    .ft-cta .cta-sub {
        text-align: center !important;
        justify-content: center !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .ft-cta .btn {
        display: block !important;
        margin: 0 auto !important;
        width: auto !important;
        max-width: 240px !important;
    }

    .ft-cta h2 {
        font-size: 20px !important;
        line-height: 1.25 !important;
    }

    /* ===== FOOTER NEWS ===== */
    .ft-news .news-grid {
        grid-template-columns: 1fr !important;
        gap: 24px;
    }

    .ft-news h3 {
        margin-bottom: 16px !important;
    }

    .nl-form input[type="email"] {
        flex: 1 1 100%;
        min-width: 100%;
        max-width: 100%;
    }

    .nl-form .btn {
        flex: 1 1 100%;
        justify-content: center;
    }

    .social {
        grid-template-columns: repeat(5, 50px);
        gap: 8px;
    }

    .tile {
        width: 50px;
        height: 50px;
    }

    .svg {
        width: 20px;
        height: 20px;
    }

    /* ===== FOOTER LINKS MOBILE 2x2 ===== */
    .ft-links .links-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px 12px !important;
        grid-template-areas:
      "concursuri ajutor"
      "caritate regulament" !important;
    }

    .ft-links .links-grid > div:nth-child(1) { grid-area: concursuri; }
    .ft-links .links-grid > div:nth-child(2) { grid-area: ajutor; }
    .ft-links .links-grid > div:nth-child(3) { grid-area: regulament; }
    .ft-links .links-grid > div:nth-child(4) { grid-area: caritate; }

    .ft-links h6 {
        font-size: 13px !important;
        margin-bottom: 8px !important;
        font-weight: 700 !important;
    }

    .ft-links ul {
        gap: 5px !important;
    }

    .ft-links a {
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    /* ===== FOOTER TRUST ===== */
    .ft-trust .badges {
        gap: 12px !important;
    }

    .ft-trust .bnr {
        height: 90px !important;
        padding: 8px !important;
    }

    .ft-trust .assure {
        gap: 8px !important;
        font-size: 12px !important;
    }

    .ft-trust .assure li {
        gap: 6px !important;
    }

    .ft-trust .dot {
        width: 7px !important;
        height: 7px !important;
        margin-top: 4px !important;
        flex-shrink: 0;
    }

    .show-logged p {
        font-size: 13px !important;
    }

    .btn-link {
        font-size: 13px;
    }
}

/* Mobile foarte mic */
@media (max-width: 379px) {
    .ft-links .links-grid {
        gap: 16px 8px !important;
    }

    .ft-links h6 {
        font-size: 12px !important;
    }

    .ft-links a {
        font-size: 11px !important;
    }

    .social {
        grid-template-columns: repeat(5, 46px);
        gap: 6px;
    }

    .tile {
        width: 46px;
        height: 46px;
    }

    .svg {
        width: 18px;
        height: 18px;
    }
}

/* Tablet */
@media (max-width: 979px) and (min-width: 768px) {
    .nl-form input[type="email"] {
        max-width: 280px;
    }

    .social {
        grid-template-columns: repeat(5, 54px);
        gap: 9px;
    }

    .tile {
        width: 54px;
        height: 54px;
    }
}