/* ========== CRITICAL CSS (≤ ~3–5 KiB) ========== */
/* 1) Font local: Poppins 400/600 (fără Google Fonts) */
@font-face{
  font-family:'Poppins';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/fonts/poppins-400.woff2') format('woff2');
}
/* Fallback cu metrici apropiate de Poppins – reduce saltul la swap */
@font-face{
  font-family: "Poppins Fallback";
  src: local("Arial");
  ascent-override: 92%;
  descent-override: 24%;
  line-gap-override: 0%;
  size-adjust: 101%;
}



/* Folosește Poppins, apoi fallback-ul ajustat */
html{
  font-family: "Poppins","Poppins Fallback",system-ui,-apple-system,"Segoe UI",
               Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size-adjust: 0.5;
}



*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
}

/* imaginile să nu cauzeze reflow când se încarcă */
img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* 3) HERO / SLIDER (rezervă înălțimea) */
.banner-carousel{ min-height: clamp(360px, 56vh, 780px); }
.banner-carousel .swiper-wrapper,
.banner-carousel .swiper-slide{ height:100%; }
.main-slider .hero-img{ display:block; width:100%; height:auto; }

/* 4) Titlu pagină fără imagine (tab gri) */
.page-title.no-hero-img {
    background: #0a2a43;
    /* gri închis */
    padding: px 0;
}

.page-title .page-title-heading {
    margin: 0;
    font-size: clamp(20px, 3.2vw, 28px);
    line-height: 1.2;
    color: #fff;
    text-shadow: 0 2px 10px rgba(17, 28, 80, 0.843);
}

/* 5) Container safe (mic padding pe mobil) */
.auto-container {
    padding-left: 16px;
    padding-right: 16px;
}

 /* === Cookie banner: un singur card alb, fără NICI o umbră/chenar === */
 html body #cookie-banner {
     position: fixed;
     left: 50%;
     transform: translateX(-50%);
     bottom: 12px;
     width: min(560px, 92vw);
     z-index: 9999;

     /* anulează tot ce vine din tema/plugin */
     margin: 0 !important;
     padding: 0 !important;
     background: transparent !important;
     border: 0 !important;
     box-shadow: none !important;
 }

 html body #cookie-banner::before,
 html body #cookie-banner::after {
     display: none !important;
 }

 /* wrapperul intern pe care tema îl bagă (ex. .auto-container) */
 html body #cookie-banner>.auto-container {
     padding: 0 !important;
     margin: 0 !important;
     background: transparent !important;
     border: 0 !important;
     box-shadow: none !important;
 }

 /* cardul efectiv (primul copil) – doar el e „alb” */
 html body #cookie-banner>* {
     background: #fff !important;
     border: 0 !important;
     /* fără chenar */
     border-radius: 12px !important;
     padding: 14px !important;
     box-shadow: none !important;
     /* fără umbră */
 }

 /* siguranță: nimic din interior să nu reintroducă umbre/borduri */
 html body #cookie-banner * {
     box-shadow: none !important;
     border: 0;
     /* lăsăm butoanele să-și pună borderul lor */
     box-sizing: border-box;
 }

 /* text */
 html body #cookie-banner p,
 html body #cookie-banner .cm-text,
 html body #cookie-banner .text {
     margin: 0 0 10px;
     color: #344054;
     line-height: 1.45;
     font-size: 14px;
 }

 /* containere butoane (compatibile cu diverse pluginuri) */
 html body #cookie-banner .cm-buttons,
 html body #cookie-banner .buttons,
 html body #cookie-banner .btns,
 html body #cookie-banner .cc-compliance {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
     margin-top: 8px;
 }

 /* butoane */
 html body #cookie-banner button,
 html body #cookie-banner .btn,
 html body #cookie-banner a[role="button"] {
     flex: 1 1 calc(50% - 5px);
     min-width: calc(50% - 5px);
     height: 42px;
     padding: 10px 12px;
     border-radius: 10px;
     border: 1px solid #d0d5dd;
     /* doar pe butoane, nu pe card */
     background: #fff;
     color: #0a2a43;
     font-weight: 600;
     text-align: center;
 }

 /* butonul principal */
 html body #cookie-banner .btn-primary,
 html body #cookie-banner .accept,
 html body #cookie-banner [data-action="accept"] {
     background: #2cb67d;
     border-color: #2cb67d;
     color: #fff;
 }

 /* --- Cookie: fix pentru mobil (butone 100% pe rând) --- */
 @media (max-width: 480px) {
     html body #cookie-banner>* {
         padding: 12px !important;
     }

     /* containerul de butoane devine coloană */
     html body #cookie-banner .cm-buttons,
     html body #cookie-banner .buttons,
     html body #cookie-banner .btns,
     html body #cookie-banner .cc-compliance {
         flex-direction: column;
         gap: 8px;
     }

     /* fiecare buton ocupă toată lățimea cardului */
     html body #cookie-banner button,
     html body #cookie-banner .btn,
     html body #cookie-banner a[role="button"] {
         display: block;
         width: 100%;
         max-width: 100%;
         min-width: 0;
         /* previne overflow-ul din cauza textului */
         flex: 1 1 auto;
         /* ignoră calc-urile setate pentru desktop */
         height: 44px;
     }
 }

 /* dacă ai bara fixă jos pe mobil, ridică bannerul puțin ca să nu se calce */
 @supports (padding: env(safe-area-inset-bottom)) {
     html body #cookie-banner {
         bottom: calc(12px + env(safe-area-inset-bottom));
     }
 }
 /* Banda de clienți: rezervă înălțimea & nu lăsa imaginile să „sară” */
 .logo-marquee {
     min-height: 84px;
 }

 /* 56px img + spații */
 .logo-track img {
     display: block;
     height: 56px;
     /* păstrăm înălțimea, lățimea se calculează din aspect ratio */
     width: auto;
     object-fit: contain;
 }
 /* === Cookie banner: card simplu, fără umbră/overlay, fără CLS === */
 #cookie-banner {
     position: fixed !important;
     left: 50% !important;
     right: auto !important;
     bottom: 12px !important;
     top: auto !important;
     transform: translate(-50%, 120%) !important;
     /* pregătit off-screen, nu împinge layout */
     will-change: transform;
     width: min(560px, 92vw) !important;
     margin: 0 !important;
     padding: 0 !important;
     border: 0 !important;
     box-shadow: none !important;
     background: transparent !important;
     z-index: 99999 !important;
 }

 /* cardul intern */
 #cookie-banner>* {
     background: #fff !important;
     border: 1px solid #e6eef5 !important;
     border-radius: 12px !important;
     padding: 14px !important;
     box-shadow: none !important;
     /* fără umbră mare */
 }

 /* text */
 #cookie-banner p,
 #cookie-banner .cm-text,
 #cookie-banner .text {
     margin: 0 0 10px;
     color: #344054;
     line-height: 1.45;
     font-size: 14px;
 }

 /* grup butoane */
 #cookie-banner .cm-buttons,
 #cookie-banner .buttons,
 #cookie-banner .btns,
 #cookie-banner .cc-compliance {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
     margin-top: 8px;
 }

 /* butoane desktop: 2 pe rând */
 #cookie-banner button,
 #cookie-banner .btn,
 #cookie-banner a[role="button"] {
     flex: 1 1 calc(50% - 5px);
     min-width: calc(50% - 5px);
     height: 42px;
     padding: 10px 12px;
     border-radius: 10px;
     border: 1px solid #d0d5dd;
     background: #fff;
     color: #0a2a43;
     font-weight: 600;
     text-align: center;
 }

 /* principal */
 #cookie-banner .btn-primary,
 #cookie-banner .accept,
 #cookie-banner [data-action="accept"] {
     background: #2cb67d;
     border-color: #2cb67d;
     color: #fff;
 }

 /* mobil: butoane pe o singură coloană, nu ies din card */
 @media (max-width: 480px) {
     #cookie-banner>* {
         padding: 12px !important;
     }

     #cookie-banner .cm-buttons,
     #cookie-banner .buttons,
     #cookie-banner .btns,
     #cookie-banner .cc-compliance {
         flex-direction: column;
         gap: 8px;
     }

     #cookie-banner button,
     #cookie-banner .btn,
     #cookie-banner a[role="button"] {
         display: block;
         width: 100%;
         max-width: 100%;
         min-width: 0;
         flex: 1 1 auto;
         height: 44px;
     }
 }

 /* dacă ai safe area pe iPhone + bară jos, ridică puțin bannerul */
 @supports (padding: env(safe-area-inset-bottom)) {
     #cookie-banner {
         bottom: calc(12px + env(safe-area-inset-bottom)) !important;
     }
 }

 /* intrare fără CLS (doar transform) */
 #cookie-banner.is-visible {
     transform: translate(-50%, 0) !important;
     transition: transform .25s ease;
 }
 /* === Contrast AA quick-fix === */

 /* text implicit pe alb: foarte închis (≈ #0a0a0a) */
 body {
     color: #0a0a0a;
 }

 /* texte „muted” folosite prin site – toate trecute pe nuanțe cu contrast bun */
 .text-muted,
 .muted,
 .post-info,
 .views,
 .share,
 .small,
 .placeholder,
 .form-text,
 #cookie-banner p,
 #cookie-banner .cm-text,
 #cookie-banner .text {
     color: #344054;
     /* ~ slate-700 */
 }

 /* linkuri pe fundal deschis: contrast bun */
 a {
     color: #175d86;
 }

 /* ≈ #175d86 pe alb > 4.5:1 */
 a:hover,
 a:focus {
     color: #0f4e75;
     text-decoration: underline;
 }

 /* secțiunea cu tab gri (page title fără imagine) – totul alb, linkuri albastre deschise */
 .page-title.no-hero-img,
 .page-title.no-hero-img .page-title-heading,
 .page-title.no-hero-img .breadcrumbs,
 .page-title.no-hero-img .breadcrumbs a {
     color: #ffffff !important;
 }

 .page-title.no-hero-img .breadcrumbs a:hover {
     color: #cfe7ff !important;
     text-decoration: underline;
 }

 /* butonul „primar” (în multe locuri) – fundal închis, text alb */
 .theme-btn.btn-style-one,
 button.btn-primary,
 #cookie-banner .btn-primary,
 #cookie-banner .accept,
 #cookie-banner [data-action="accept"] {
     background: #0a2a43 !important;
     border-color: #0a2a43 !important;
     color: #fff !important;
 }

 /* butoane secundare/outline: text suficient de închis */
 button,
 .btn,
 .btn-outline,
 .btn-default,
 #cookie-banner button,
 #cookie-banner .btn,
 #cookie-banner a[role="button"] {
     color: #0a2a43;
     border-color: #d0d5dd;
     background: #fff;
 }

 /* bara de jos (pictograme + etichete) – etichete mai închise */
 .sbb .sbb-tab span {
     color: #0a2a43;
 }

 /* iconițe FA/Flaticon când sunt pe fundal închis */
 [class*="fa-"],
 .fab,
 .fas,
 .flaticon,
 .page-title.no-hero-img [class*="fa-"] {
     color: inherit;
 }

 /* focus vizibil (accesibilitate) */
 a:focus,
 button:focus,
 .btn:focus {
     outline: 2px solid #175d86;
     outline-offset: 2px;
 }
 /* Contrast de bază: text închis pe fundal alb */
 html,
 body {
     background: #ffffff;
     color: #0a2a43;
     /* ~#0A2A43 - contrast foarte bun pe alb */
 }

 /* Link-uri: albastru mai închis, suficient contrast pe alb */
 a {
     color: #175d86;
     text-decoration: none;
 }

 a:hover,
 a:focus {
     color: #0c4a6e;
     text-decoration: underline;
 }

 /* Griurile „palide” devin un pic mai închise (evită < 4.5:1) */
 .text-muted,
 .muted,
 .note,
 .small,
 .help,
 .form-text,
 p[style*="color:#6"],
 p[style*="color: #6"],
 span[style*="color:#6"],
 span[style*="color: #6"] {
     color: #475467 !important;
     /* contrast ok pe alb */
 }

 /* Butonul din bara de jos + iconițe: culori lizibile */
 .sbb {
     background: #fff;
 }

 .sbb .sbb-tab {
     color: #0a2a43;
 }

 .sbb .sbb-tab.call {
     color: #0a2a43;
 }
 /* Breadcrumbs pe fundal închis */
.page-title.no-hero-img,
.page-title.no-hero-img .auto-container{ color:#fff; }

.page-title.no-hero-img a{ color:#ffffff; }
.page-title.no-hero-img a:hover,
.page-title.no-hero-img a:focus{ color:#ffffff; text-decoration:underline; }
/* Breadcrumbs pe fundal închis */
.page-title.no-hero-img,
.page-title.no-hero-img .auto-container {
    color: #fff;
}

.page-title.no-hero-img a {
    color: #ffffff;
}

.page-title.no-hero-img a:hover,
.page-title.no-hero-img a:focus {
    color: #ffffff;
    text-decoration: underline;
}
/* dacă ai text peste imagine în slider, aplică un overlay discret */
.main-slider .swiper-slide::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.18));
  pointer-events:none;
}
.main-slider .swiper-slide .caption, 
.main-slider .swiper-slide h1, 
.main-slider .swiper-slide h2, 
.main-slider .swiper-slide p{
  color:#fff;
  text-shadow:0 1px 2px rgba(255, 255, 255, 0.35);
  position:relative; /* peste overlay */
}
/* 1) Wrapper-ul fiecărui buton (li/div) devine flex item corect */
#cookie-banner .cm-buttons>*,
#cookie-banner .buttons>*,
#cookie-banner .btns>*,
#cookie-banner .cc-compliance>* {
    display: flex !important;
    flex: 1 1 calc(50% - 5px) !important;
    /* 2 pe rând pe desktop */
    min-width: calc(50% - 5px) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* 2) Elementul clicabil din interior (button/a) ocupă toată lățimea */
#cookie-banner .cm-buttons>*>*,
#cookie-banner .buttons>*>*,
#cookie-banner .btns>*>*,
#cookie-banner .cc-compliance>*>* {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    /* nu mai forțează pe un singur rând */
    overflow-wrap: anywhere !important;
    /* rupe corect textele lungi */
    text-align: center !important;
}

/* 3) Pe mobil: 1 buton pe rând, fără calc-uri care pot produce overflow */
@media (max-width: 480px) {

    #cookie-banner .cm-buttons>*,
    #cookie-banner .buttons>*,
    #cookie-banner .btns>*,
    #cookie-banner .cc-compliance>* {
        flex: 1 1 100% !important;
        min-width: 100% !important;
    }
}

/* Nu mai descărca FA Brands/Regular dacă nu sunt folosite */
@font-face {
    font-family: "Font Awesome 5 Brands";
    src: local("x");
    font-display: optional;
}

@font-face {
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    src: local("x");
    font-display: optional;
}
/* ========== MUTAT din app.blade.php ========== */

/* HAMBURGER – CSS only, fără icon font */
.mobile-nav-toggler {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    background: #fff;
}

.mobile-nav-toggler .icon {
    display: none !important;
}

.mobile-nav-toggler::before {
    content: "";
    width: 18px;
    height: 2px;
    background: #0a2a43;
    box-shadow: 0 6px 0 #0a2a43, 0 -6px 0 #0a2a43;
    border-radius: 2px;
}

/* BUTOANE "X" (căutare, categorii, meniu mobil) */
.close-btn,
.search-popup .close,
.category-close,
.filter-close {
    appearance: none;
    -webkit-appearance: none;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
    cursor: pointer;
}

.close-btn span,
.close-btn .icon {
    display: none !important;
}

.close-btn::before,
.search-popup .close::before,
.category-close::before,
.filter-close::before {
    content: "×";
    font-size: 18px;
    line-height: 1;
    color: #475467;
    font-family: inherit;
}

.search-popup .close,
.category-close {
    position: relative;
    margin: 6px 12px;
}

/* MOBILE MENU – off-canvas */
.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 86%;
    max-width: 360px;
    background: #fff;
    z-index: 99999;
    overflow: auto;
    transform: translateX(110%);
    transition: transform .25s ease;
}

body.mobile-menu-visible .mobile-menu {
    transform: translateX(0);
}

.menu-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
    z-index: 99998;
}

body.mobile-menu-visible .menu-backdrop {
    opacity: 1;
    pointer-events: auto;
}

body.mobile-menu-visible {
    overflow: hidden;
}