/* GENERAT AUTOMAT din style.css + lanțul lui de @import — NU edita manual.
   Regenerare: bash tools/build_css_bundle.sh (rulează automat la tools/deploy_zip.sh). */

/* ===== /css/fonts.css ===== */
/* Montserrat GĂZDUIT LOCAL (variabil, greutăți 300-700) — înlocuiește Google Fonts
   (26 iul 2026). Motivele: site-ul depindea în întregime de fonts.googleapis.com pentru
   înfățișare (blocat/lent = tot site-ul în fontul implicit al browserului), request extern
   render-blocking pe calea critică la fiecare primă vizită, plus IP-ul fiecărui vizitator
   transmis la Google (relevant GDPR / legea 195/2024 din 23.08.2026).
   Fișierele: /fonts/montserrat-*.woff2 — un fișier VARIABIL per subset de caractere, cu
   unicode-range: browserul descarcă doar subseturile de care are nevoie pe pagină
   (ro/en → latin+latin-ext, ru → chirilicele). Sursa: Google Fonts v31, descărcat 26 iul 2026.
   Importat PRIMUL în style.css, deci primul în bundle — declarațiile de font preced folosirea.
   ATENȚIE server: .htaccess trebuie să aibă woff2 în regex-ul de servire directă a staticelor,
   altfel cererea cade în routerul CMS și dă 404 (reparat în același commit). */

/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/montserrat-cyrillic-ext.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/montserrat-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/montserrat-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== /css/reset.css ===== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
a{
	font-size: 100%;
	font: inherit;
	text-decoration: none;
	color: unset;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	display: flex;
    flex-direction: column;
	background: #F5F5F6;
	/* fontul site-ului era setat doar pe .page_wrapper și per-element → orice element din afara
	   lor (404, popup-uri/dialoguri atașate la body, notificări) cădea pe serif-ul browserului */
	font-family: 'Montserrat', sans-serif;
}
html{
	height: 100%;
	width: 100%;
}
body{
	height: 100%;
	width: 100%;
	overflow-x: hidden;
}
main {
    flex: auto;
}

button{
	border: none;
	background: unset;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

/* form controls nu moștenesc fontul paginii (browserul le dă propriul font de sistem / monospace
   la textarea) → fără asta, inputul cantității, cashback-ul, câmpurile din cont etc. ies ne-Montserrat */
input, button, textarea, select {
	font-family: inherit;
}

textarea {
    resize: none;
}

ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

.container{
	max-width: 1475px;
	margin: 0 auto;
	padding: 0 15px;
	position: relative;
}
main{
	margin-top: 82px;
}

.page_wrapper{
	background: #fff;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-top: 40px;
	padding-left: 35px;
	padding-right: 35px;
	padding-bottom: 40px;
	max-width: 1300px;
	font-family: 'Montserrat', sans-serif;
}

/* conținutul CMS (ws_pages/ws_pages_inc) poate veni cu font-family inline din CKEditor —
   s-a întâmplat istoric (Times New Roman, snapshot DB 2024) → forțăm fontul site-ului */
.page_wrapper [style*="font-family"],
.page_wrapper font {
	font-family: 'Montserrat', sans-serif !important;
}

/* reset.css zeroează margin pe <p>/<ul>/<ol> global → conținutul CMS al paginilor de text
   (T&C, contacte, rezultat plată — din CKEditor) apărea cu paragrafele lipite, fără spațiere.
   Restaurăm spațierea documentului DOAR în interiorul conținutului paginii. */
.page_wrapper p { margin-bottom: 0.85em; }
.page_wrapper ul,
.page_wrapper ol { margin-bottom: 0.85em; }
.page_wrapper li { margin-bottom: 0.25em; }

/* ===== /css/header.css ===== */
.header{
    height: 82px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.03);
    background: #FFFFFF;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
}

.header_wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    /* D6 (2026-06-02): height fix + box-sizing border-box → wrapper-ul (fundal alb opac, z-index 101) se termină exact la 82px = .header. Înainte: padding 20+20 + logo 45px = 85px → wrapper ieșea 3px sub header → albul lui acoperea primii 3px de umbră DOAR pe lățimea wrapper-ului (19→1494px), lăsând o treaptă de 3px în linia de umbră la marginile lui = denivelările "jos/stânga/dreapta" semnalate. Acum wrapper = header → umbră uniformă pe toată lățimea. */
    height: 82px;
    box-sizing: border-box;
    /* B12 (2026-06-02): bara header (logo/search) acoperă partea de sus a mega-menu (z-index 100) când pagina e scrolată → mega-menu apare TĂIAT sub header, la fel ca hamburgerul. Fundal opac + z-index > mega. */
    position: relative;
    z-index: 101;
    background: #FFFFFF;
}

.header_logo{
    margin-right: 160px;
}
.header_logo img{
    height: 45px;
    width: auto;
    display: block;
}
.header_off{
    display: none;  
}

.header_elem{
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.header_elem_category{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
    cursor: pointer;
}
.header_elem_category span{
    margin-right: 15px;
}

/* D5 (2026-06-02): buton "Produse" — ascuns implicit; vizibil DOAR 1060-1430px (vezi media_header.css, bloc D5). Deschide drawer-ul mobil .menu_mob. */
.header_products_btn{
    display: none;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
    white-space: nowrap;
    user-select: none;
}
.header_products_btn_ico{
    display: flex;
    margin-right: 10px;
}
.header_products_btn:hover{
    color: #0A587E;
}

.header_elem_search{
    position: relative;
    display: flex;
    align-items: center;
    max-width: 500px;
    width: 100%;
}

.header_elem_search input{
    width: 100%;
    background: #FFFFFF;
    border: 1px solid #E6E6ED;
    border-radius: 36px;
    padding: 10px 20px;
    outline: none;
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: 13px;
    line-height: 21px;
    color: #434242;
}

.header_elem_search input::placeholder{
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: 13px;
    line-height: 21px;
    color: #8D8D8D;
}

.header_elem_search .magnifier_icons{
    position: absolute;
    right: 13px;
    top: 50%;
    cursor: pointer;
    transform: translateY(-50%);
}

.header_elem_action{
    display: flex;
    flex-direction: row;
    align-items: center;
}

.header_elem_action_item{
    margin-right: 13px;
    position: relative;
    width: 31px;
    height: 28px;
    display: flex;
    align-items: center;
}

.header_elem_action_item .header_elem_action_item_counter{
    position: absolute;
    top: 0;
    right: 0;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 15px;
    color: #828282;

}

.header_elem_phone{
    background: #9BC04F;
    border-radius: 100px;
    padding: 10px 24px;
    display: flex;
    align-items: center;
    justify-content: center;

}

.header_elem_phone .header_elem_phone_link{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    color: #FFFFFF;
}

.header_elem_phone span{
    margin-right: 7px;
}

/* Dropdown program de lucru pe telefonul din header (model ultra.md) */
.header_phone_wrap{
    position: relative;
    z-index: 11;
}
.header_phone_arrow{
    margin-right: 0 !important;
    margin-left: 8px;
    display: flex;
    align-items: center;
    transition: transform .2s ease;
}
.header_phone_arrow img{
    filter: brightness(0) invert(1); /* săgeata (neagră în SVG) devine albă pe fundalul verde */
}
.header_phone_wrap.phone_open .header_phone_arrow{
    transform: rotate(180deg);
}
.header_phone_dropdown{
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 230px;
    width: max-content; /* crește după cel mai lung rând (programul nu se mai rupe pe desktop) */
    max-width: min(420px, calc(100vw - 40px)); /* plafon: nu iese din ecran la programe foarte lungi */
    background: #FFFFFF;
    border: 1px solid #E6E6ED;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,.14);
    padding: 16px 20px;
    font-family: 'Montserrat', sans-serif;
}
.header_phone_wrap.phone_open .header_phone_dropdown{
    display: block;
}
.header_phone_dropdown_title{
    font-weight: 700;
    font-size: 14px;
    color: #000000;
    margin-bottom: 6px;
}
.header_phone_dropdown_schedule{
    font-size: 14px;
    color: #434242;
    margin-bottom: 12px;
    white-space: pre; /* pe desktop rândurile NU se rup — modalul crește după cel mai lung rând */
    line-height: 1.45; /* spațiu între rândurile unui program pe mai multe linii (desktop + mobil) */
}
/* «Contacte» + numărul = un singur link clicabil pe toată lățimea modalului (model ultra.md).
   Marginile negative scot blocul din padding-ul dropdown-ului → evidențierea la hover ajunge
   din margine în margine, iar colțurile de jos se rotunjesc ca ale modalului. */
.header_phone_dropdown_contact{
    display: block;
    margin: 0 -10px -6px; /* spațiu ~10px până la marginile modalului (nu edge-to-edge) */
    padding: 10px 10px 12px;
    border-radius: 8px; /* card rotunjit pe toate colțurile */
    transition: background-color .15s ease;
}
.header_phone_dropdown_contact:hover{
    background: #EAF4FA; /* tentă deschisă din albastrul brand #2790C5 */
}
.header_phone_dropdown_contact .header_phone_dropdown_title{
    margin-bottom: 6px; /* același spațiu titlu↔valoare ca la «Program de lucru» */
}
.header_phone_dropdown_tel{
    font-weight: 700;
    font-size: 15px;
    color: #2790C5;
}
.header_phone_dropdown_contact:hover .header_phone_dropdown_tel{
    color: #0A587E;
}

/* Programul de lucru în drawer-ul mobil, sub butonul de telefon — stilul dropdown-ului desktop */
.header_mob_schedule{
    font-family: 'Montserrat', sans-serif;
    padding: 24px 20px 20px 26px; /* top = spațiu față de buton; bottom = spațiu față de limbi; left 26px = aliniat cu butonul */
    text-align: left;
}
.header_mob_schedule .header_phone_dropdown_schedule{
    margin-bottom: 0;
    white-space: pre-line; /* program multi-linie consistent cu dropdown-ul desktop */
}

.header_lang{
    position: relative;
    z-index: 10;
}

.header_elem_lang{
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background: #F5F5F6;
    border: 1px solid #E6E6ED;
    cursor: pointer;
    position: relative;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
}
.header_elem_lang span{
    height: 18px;
    margin-left: 2px;
}

.lang_select{
    border-radius: 0;
    border-top-right-radius: 50%;
    border-top-left-radius: 50%;
    border-bottom: 0;
}

.header_lang_select{
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
    background: #F5F5F6;
    border: 1px solid #E6E6ED;
    border-top: 0;
    cursor: pointer;
}

.header_elem_lang_item{
    position: relative;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
    width: 100%;
    text-align: center;
    padding-bottom: 5px;
}

.header_elem_lang_item:hover{
    background: rgba(0,0,0,0.35);
}

.lang_select_active{
    display: flex;
    position: absolute;
    width: 40px;
}

.header_elem_lang_item:last-child{
    border-bottom-left-radius: 18px;
    border-bottom-right-radius: 18px;
}

/* mega menu catalog */
.header_catalog{
    position: relative;
}
/* Opțiunea A (2026-06-02): mega-menu e acum în interiorul .index_main_block (banner, position:relative).
   Ocupă exact banner-ul (overlay absolut inset:0, 100%) → aceeași înălțime ca banner-ul = hamburgerul, fără JS de dimensionare.
   Fiind în fluxul paginii, scrollează NATIV (fără lag JS-on-scroll). Header-ul fix (z-index 1000) îl taie când urcă sub el. */
.menu_wrapper{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
}
.menu_wrapper_active{
    display: block;
}

.header_menu{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 45px 30px;
    z-index: 100;
    background: rgba(255, 255, 255, 1);
    border-radius: 6px; /* colțuri rotunjite ca bannerul de sub el (.index_main_block_img) */
    /* fără umbră în starea NATURALĂ (în capul paginii, ca hamburgerul); umbra apare DOAR
       când meniul e fixat sub header la scroll — vezi body.hdr-cat-fixed (media_header.css) */
    box-sizing: border-box;
    /* plasă de siguranță dacă o categorie depășește înălțimea banner-ului (rar) */
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #D0D0D8 transparent;
}

.header_menu_item{
    display: block;
    width: 100%;
    margin-bottom: 28px;
    /* grupurile normale rămân ÎNTREGI; doar un grup mai înalt decât o coloană se rupe (forțat de browser) */
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}

.header_menu_item_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
    margin-bottom: 7px;
    display: block;                  /* bloc, ca să se așeze peste lista L3 */
    break-after: avoid;             /* titlul nu rămâne orfan la baza coloanei (rămâne cu lista lui) */
    -webkit-column-break-after: avoid;
}

.header_menu_item_title:hover{
    color: #0A587E;
    text-decoration: underline;
}

.header_menu_item_link{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    margin-top: 12px;
    line-height: 20px;
    color: #0A587E;
}

.header_menu_item_link:hover{
    text-decoration: underline;
}

.header_menu_subtree{
    height: 100%;
}
.header_menu_list{
    /* Coloane BALANSATE pe înălțime auto. column-fill:auto + height:100% (fix) împingea
       surplusul ORIZONTAL când o rădăcină avea >4 coloane de conținut (după re-importul ULTRA:
       Birotică 8, Computere 7, Smartphone 6...) → a 5-a coloană ieșea din panou și era tăiată.
       Acum surplusul crește panoul în JOS (= intenția originală: scroll, nu tăiere — vezi
       overflow-y:auto pe .header_menu). min-height:100% → categoriile mici umplu tot banner-ul.
       break-inside:avoid pe grupuri (mai jos) le ține întregi; balance distribuie egal în 4 coloane. */
    column-count: 4;
    column-gap: 18px;
    column-fill: balance;
    height: auto;
    min-height: 100%;
}

/* L3 rămâne pe O SINGURĂ coloană; dacă un grup nu încape pe înălțime, lista lui
   se CONTINUĂ în coloana următoare (în loc de scroll). Elementele L3 nu se rup la mijloc. */
.header_menu_item ul li{
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}

/* Grupurile FOARTE lungi (≥13 subcategorii — clasa e pusă de PHP în getCatalogSubtreeForMegaMenu)
   au voie să CURGĂ în coloana următoare: fără asta, balansarea ridică tot panoul la înălțimea
   grupului atomic cel mai înalt și coloanele din dreapta rămân goale. Titlul rămâne lipit de
   listă (break-after:avoid pe titlu), rândurile nu se rup la mijloc (break-inside:avoid pe li). */
.header_menu_item_long{
    break-inside: auto;
    -webkit-column-break-inside: auto;
}

.menu_mob{
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    right: 0;   
    bottom: 0;
    z-index: 999;
    background-color: rgba(0,0,0,0.5);
    cursor: pointer;
}

.menu_mob_wrapper{
    /* D7-fix (2026-06-02): 100vh include zona din spatele barei de adrese pe mobil →
       partea de jos (telefon + limbi) ajungea sub ecran și nu se putea scrolla.
       .menu_mob e position:fixed; inset:0 (= viewport VIZIBIL), deci height:100% e corect și scrollabil. */
    height: 100%;
    background: #fff;
    width: 400px;
    padding-top: 100px;
    padding-bottom: 40px;
    box-sizing: border-box;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

.menu_mob_wrapper .index_catalog_item_wrapper{
    font-size: 18px;
}

.menu_mob_wrapper .index_catalog_item_arrow{
    cursor: pointer;
    display: flex;
    justify-content: flex-end;
    height: 20px;
    align-items: center;
    transition: transform 0.3s ease;
}
.menu_mob_wrapper .index_catalog_item_wrapper.expanded .index_catalog_item_arrow{
    transform: rotate(90deg);
}
.menu_mob_wrapper .index_catalog_item{
    cursor: unset;
}
.menu_mob_wrapper .index_catalog_item_name{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #434242;
    flex: 1;
    overflow: hidden;
    margin-right: 8px;
}

.menu_mob_wrapper .index_catalog_item{
    font-size: 16px;
}

.menu_mob_wrapper .index_catalog_menu{
    padding-left: 0;
    padding-right: 8px;
}

.menu_mob_wrapper .index_catalog_submenu{
    padding-left: 35px;
}

/* ============================================================
   D7 (2026-06-02): Drawer catalog mobil pe 3 niveluri, model eMAG.
   L1 = drill-down (panou glisant) · L2 = accordion inline · L3 = frunze fundal gri.
   ============================================================ */
.drawer_cat{ position: relative; }
.drawer_panel{ display: none; }
.drawer_panel.drawer_panel_active{ display: block; }
/* slide-in: înainte (drill L1→L2) din dreapta, înapoi din stânga */
.drawer_panel_sub.drawer_panel_active{ animation: drawerFwd .22s ease; }
.drawer_panel.slide_back{ animation: drawerBack .22s ease; }
@keyframes drawerFwd{ from{ transform: translateX(70px); opacity: 0; } to{ transform: translateX(0); opacity: 1; } }
@keyframes drawerBack{ from{ transform: translateX(-70px); opacity: 0; } to{ transform: translateX(0); opacity: 1; } }

.drawer_list{ list-style: none; margin: 0; padding: 0; }
.drawer_item{ border-bottom: 1px solid #eee; }

/* pictogramă categorie rădăcină în drawerul mobil (același set Lucide ca pe desktop) */
.drawer_item_ico{
    width: 22px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;   /* spațiu suplimentar între pictogramă și text (peste gap-ul de 12px) */
}
.drawer_item_ico img{ width: 100%; height: auto; }

/* rând cu copii (L1 parent) + cap accordion (L2) = flex cu săgeată */
.drawer_item_parent,
.drawer_acc_head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 20px;
    cursor: pointer;
}
.drawer_item_parent .drawer_item_name,
.drawer_acc_head .drawer_item_name{
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.3;
    color: #434242;
    flex: 1;
}
/* frunză (link direct la produse) */
.drawer_item_leaf .drawer_item_name{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.3;
    color: #434242;
    text-decoration: none;
}
.drawer_item_parent:hover .drawer_item_name,
.drawer_item_leaf .drawer_item_name:hover,
.drawer_acc_head:hover .drawer_item_name{ color: #0A587E; }

/* săgeată › (drill L1) */
.drawer_item_arrow{
    width: 9px; height: 9px;
    border-right: 2px solid #9a9a9a;
    border-top: 2px solid #9a9a9a;
    transform: rotate(45deg);
    flex-shrink: 0;
}
/* buton înapoi „‹ [nume L1]" în capul panoului L2 */
.drawer_back{
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    background: none;
    border: none;
    border-bottom: 1px solid #eee;
    padding: 15px 20px;
    text-align: left;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #434242;
}
.drawer_back::before{
    content: '';
    width: 10px; height: 10px;
    border-left: 2px solid #434242;
    border-bottom: 2px solid #434242;
    transform: rotate(45deg);
    flex-shrink: 0;
}
/* chevron accordion L2 (⌄ → ⌃ la open) */
.drawer_acc_arrow{
    width: 9px; height: 9px;
    border-right: 2px solid #9a9a9a;
    border-bottom: 2px solid #9a9a9a;
    transform: rotate(45deg);
    margin-top: -4px;
    flex-shrink: 0;
    transition: transform .2s ease;
}
.drawer_acc.open .drawer_acc_arrow{ transform: rotate(-135deg); margin-top: 4px; }

/* lista L3 — accordion inline, fundal gri, indentat */
.drawer_l3{
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    background: #f5f5f6;
    transition: max-height .28s ease;
}
.drawer_acc.open .drawer_l3{ max-height: 1600px; }
.drawer_l3_link{
    display: block;
    padding: 13px 20px 13px 36px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.3;
    color: #434242;
    text-decoration: none;
}
.drawer_l3_link:hover{ color: #0A587E; }

.autocomplite {
    position: absolute;
    top: 100%;
    background: white;
    z-index: 2;
    width: 88%;
    padding: 0 30px;
    display: none;
}

.autocomplite_result {
    padding: 10px 0;
    border-bottom: 1px solid #CECECE;
    color: #333333;
    /* fontul site-ului e setat per-element, nu pe body → fără asta, textele simple din dropdown
       (ex. „Nu s-a găsit nimic…") cădeau pe serif-ul implicit al browserului; 14px = intenția t_14 */
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
}

.autocomplite_result a{
    display: flex;
    align-items: center;
}

.autocomplite_img img{
    width: 75px;
    height: 75px;
    object-fit: contain;
    object-position: center;
}
/* ===== /css/scrumbs.css ===== */
.scrumbs{
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: 20px;
    /* Fix breadcrumb >580px (varianta A): rămâne pe o singură linie + scroll orizontal subtil,
       consistent cu mobilul. Anterior textul căii wrap-uia pe ecrane >580px pentru că
       `white-space: nowrap` exista doar în @media(max-width:580px). */
    white-space: nowrap;
    overflow-x: auto;
    scrollbar-width: none;        /* Firefox */
    -ms-overflow-style: none;     /* Edge legacy */
}
.scrumbs::-webkit-scrollbar{ display: none; }   /* WebKit (Chrome/Safari) */

/* Sub header-ul mobil (≤680px): 15px uniform → vizual 8px (gap main) + 15 = 23px
   până la text pe toată plaja mobilă. Fostul bloc 560–680px cu 25px (commit 5f8b44c)
   compensa suprapunerea de 5px a conținutului sub header, reparată la rădăcină
   (main margin-top 148px în media_header.css) — fără fix textul cădea cu ~10px
   mai jos decât la 559px/681px. */
@media(max-width: 680px) {
    .scrumbs {
        margin-top: 15px;
    }
}

.scrumb_item, .scrumb_delimiter{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #565656;
}

.scrumb_delimiter{
    margin-right: 10px;
    margin-left: 8px;
}

.scrumb_last{
    font-weight: 700;
}
.scrumb_wrapper{
    justify-content: flex-end;
}

.scrumb_wrapper div:first-child .scrumb_delimiter{
    display: none;
}
/* ===== /css/index/main.css ===== */
.index_main{
    max-width: 1105px;
    width: 100%;
    position: relative;
}

.index_wrapper{
    display: flex;
    flex-direction: row;
    margin-top: 20px;
    align-items: stretch;
}

.toptop{
    width: 37px;
    height: 37px;
    background: #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    right: 85px;
    bottom: 100px;
    cursor: pointer;
    border-radius: 50%;
    opacity: 0;
    /* ascunsă = și NE-clicabilă: fără asta, cercul invizibil (fixed, right:85/bottom:100,
       z-index:99) înghițea clickurile pe butonul de coș al coloanei a 4-a din grila de produse
       (bug raportat 23 iul 2026). script.js comută pointer-events împreună cu opacity. */
    pointer-events: none;
    z-index: 99;
}

/* Butonul „înapoi sus" e ASCUNS deliberat (26 iul 2026, decizia proprietarului).
   Motivele, în ordinea greutății:
   - se bate pe colțul dreapta-jos cu bula de chat: pe mobil, când banda de cookie e afișată,
     bula urcă cu înălțimea benzii și cade PESTE el (măsurat 518 px² suprapunere la 375px);
   - are z-index 99, iar fereastra Jivo 2147483646 — cu chatul deschis dispare complet sub ea,
     deci era oricum nefiabil exact când pagina e lungă și ar fi fost util;
   - a mai produs un bug o dată: cercul invizibil înghițea clickurile pe butonul de coș al
     coloanei a 4-a (23 iul 2026, vezi comentariul de mai sus);
   - darwin.md, enter.online și eMAG nu au un asemenea buton — toate lasă colțul doar chatului.
   Se ascunde, NU se șterge: markup-ul (24 de șabloane) și handlerul din js/script.js rămân pe loc.
   REACTIVARE = ștergi această regulă; restul stilului de mai sus e neatins, iar regula
   `body.nemo-fan-open .toptop{opacity:0}` din blocks/footer.php redevine relevantă. */
.toptop{
    display: none;
}
/* ===== /css/index/catalog.css ===== */
.index_catalog{
    height: 100%;
    max-width: 350px;
    width: 100%;
    margin-right: 20px;
}

.index_catalog_content{
    background: #FFFFFF;
    border-radius: 6px; 
    width: 100%;
    padding-bottom: 20px;
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    box-sizing: border-box;
    scrollbar-width: thin;
    scrollbar-color: #D0D0D8 transparent;
}

.index_catalog_title{
    padding-top: 30px;
    padding-left: 26px;
    padding-right: 24px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
}

.index_catalog_menu{
    padding-left: 26px;
    padding-right: 24px;
    margin-top: 34px;
    display: flex;
    flex-direction: column;
}

.index_catalog_item{
    width: 100%;
    position: relative;
    /* 16px: cu pictograma de 20px, pasul total rămâne 36px (ca înainte: text 17 + 19) → fără scroll */
    margin-bottom: 16px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    color: #0A587E;
    cursor: pointer;
}

.index_catalog_item_wrapper{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-right: 20px;
}

.index_catalog_item_ico{
    margin-left: 10px;
    margin-right: 13px;
    width: 20px;
    display: flex;
    justify-content: center;
}
.index_catalog_item_ico img{
    width: 100%;
}

.index_catalog_item_arrow{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.index_catalog_submenu{
    padding-left: 60px;
    margin-top: 10px;
}

.index_catalog_subitem{
    margin-bottom: 10px;
    color: #434242;
    display: block;
}

.index_catalog_subitem:hover{
    color: #000;
}

.index_catalog_item_arrow.index_submenu_active{
    transform: translateY(-50%) rotate(90deg);
}

.index_catalog_submenu{
    display: none;
}

.index_submenu_active{
    display: block;
}

/* ===== /css/index/banner_slider.css ===== */
.index_main_block{
    position: relative;
    padding-bottom: 0;
}

.index_main_block_img{
  position: relative;
  background: #FFFFFF;
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 43 / 20;
}

.index_main_block_slider .swiper-slide,
.index_main_block_slider .swiper-wrapper{
  height: auto !important;
}

.img_block{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.index_main_box_item{
  position: absolute;
  top: 130px;
  left: 37px;
}

.index_main_box_item_title{
  color: #434242;
  font-size: 36px;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  line-height: 132.9%;
  max-width: 450px;
  width: 100%;
}

.index_main_box_item_btn{
  color: #FFF;
  font-size: 14px;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  border-radius: 36px;
  background: #459DC9;
  padding: 13px 26px 16px 26px;
  margin-top: 26px;
}

.index_main_block_img video{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.simple_swiper_btns{
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    width: auto;
    max-width: 80%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    z-index: 10;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 4px 15px;
    margin-top: 0;
}

.bullets{
    display: none;
}

.bullets .swiper-pagination-bullet {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #3C3C3C;
    opacity: unset;
}
.bullets .swiper-pagination-bullet-active{
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #F5F5F6;
    border: 2.5px solid #3B3B3B;
}

.arrow_left, .arrow_right{
    cursor: pointer;
}

/* ===== /css/index/category_cards.css ===== */
/* ═══════════════════════════════════════════
   Category Cards Row — Homepage
   Rând orizontal de carduri categorii sub banner
   ═══════════════════════════════════════════ */

.category_cards_row {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    /* overflow-x:auto forțează calculat overflow-y la 'auto' → rândul devenea scroll-container
       și pe verticală, iar pe iOS putea fi tras/rubber-band pe verticală în timpul inerției
       orizontale (intra sub banner/produse). overflow-y:hidden elimină axa verticală.
       ATENȚIE: touch-action NU „rutează" gesturile — restricționează ce poate face browserul
       cu atingerile pornite pe element. pan-x (istoric) INTERZICEA pan-ul vertical → pagina
       nu se mai scrolla deloc din drag vertical pornit pe slider (vizibil mai ales pe tabletă).
       manipulation = pan ambele axe + pinch-zoom (verticala se înlănțuie la pagină, căci
       overflow-y:hidden face rândul nescrollabil vertical) și taie delay-ul de double-tap. */
    overflow-y: hidden;
    touch-action: manipulation;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    /* Vertical spacing — phones */
    margin-top: 10px;
    margin-bottom: 10px;
    /* Lateral: match banner's 8px margins on mobile */
    margin-left: 8px;
    margin-right: 8px;
}
.category_cards_row::-webkit-scrollbar {
    display: none;
}

/* Card — pătrat, dimensiune relativă la banner */
.category_card {
    flex-shrink: 0;
    width: var(--card-size, 110px);
    height: var(--card-size, 110px);
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    transition: transform 0.2s ease;
    text-decoration: none;
    display: block;
}
.category_card:hover {
    transform: scale(1.05);
}

.category_card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* D4 (2026-06-03): placeholder literă când categoria n-are imagine (nici card_image, nici produse) */
.category_card_noimg {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F5F5F6;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: calc(var(--card-size, 110px) * 0.4);
    color: #C4C4CC;
}

/* Label — overlay la baza cardului */
.category_card_label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 4px 6px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

/* Label vizibil pe toate ecranele */

/* Ecrane medii (tablet): spacing egal cu bannerul */
@media(min-width: 561px) and (max-width: 890px) {
    .category_cards_row {
        margin-top: 20px;
        margin-bottom: 20px;
        margin-left: 0;
        margin-right: 0;
    }
}

/* Carduri vizibile pe mobile + tablet (≤890px), ascunse pe desktop */
@media(min-width: 891px) {
    .category_cards_row {
        display: none;
    }
}

/* ═══════════════════════════════════════════
   D4 (2026-06-03): Pagina "category landing" — grid de carduri
   subcategorii (catalog.php smart). Stil eMAG/Ultra: imagine + nume + nr. produse.
   ═══════════════════════════════════════════ */
.cat_landing_title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    color: #434242;
    margin: 18px 0 20px;
}
.cat_cards_grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 16px;
    margin-bottom: 34px;
}
.cat_card {
    display: flex;
    flex-direction: column;
    border: 1px solid #E6E6ED;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    background: #fff;
    transition: box-shadow .2s ease, transform .2s ease;
}
.cat_card:hover {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
}
.cat_card_img {
    aspect-ratio: 1 / 1;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.cat_card_img img {
    width: 100%;
    height: 100%;
    /* D4 ajustare v2 (2026-06-03): contain + padding pe fundal ALB → imaginea nu se lipește de margine,
       dar chenarul e "invizibil" (alb, nu gri) — ca la cardurile de produs. */
    object-fit: contain;
    padding: 16px;
    box-sizing: border-box;
    display: block;
}
.cat_card_noimg {
    /* placeholder literă — fundal gri (distinct, doar când n-avem imagine) */
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F5F5F6;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 48px;
    color: #C4C4CC;
}
.cat_card_body {
    padding: 12px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.cat_card_name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.3;
    color: #434242;
}
.cat_card_count {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 13px;
    color: #8D8D8D;
}

@media(max-width: 560px) {
    .cat_cards_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .cat_landing_title {
        font-size: 22px;
        margin: 12px 0 14px;
    }
    .cat_card_name { font-size: 14px; }
    .cat_card_body { padding: 10px 12px 12px; }
}

/* ===== /css/index/products.css ===== */
.index_product {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border-radius: 6px;
    width: 100%;
    padding-bottom: 84px;
    margin-top: 20px;
}

.index_product_new,
.index_product_popular {
    padding-left: 19px;
    padding-right: 25px;
}

.index_product_new {
    position: relative;
    padding-bottom: 40px;
    border-bottom: 1px solid #F0F0F8;
}

.index_product_popular {
    position: relative;
}

.index_product_title {
    padding-top: 48px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: #434242;
    padding-left: 19px;
}

.index_product_item {
    position: relative;
    width: 90%;
}

.index_product_wrapper {
    margin-top: 17px;
}

.index_poduct_new_slider_wrapper {
    padding-left: 17px;
    overflow: hidden;
}

/* Hide slider until Swiper initializes to prevent FOUC */
.index_poduct_new_slider_wrapper .swiper{
    opacity: 0;
    transition: opacity 0.2s ease;
}
.index_poduct_new_slider_wrapper .swiper-initialized{
    opacity: 1;
}

.index_product_item {
    padding-right: 13px;
    padding-left: 13px;
    border-right: 1px solid #F0F0F8;
}

.index_product_img {
    position: relative;
}

.index_product_img>img {
    width: 100%;
}

.index_product_heart {
    position: absolute;
    top: 23px;
    right: 15px;
    width: 28px;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #fff;
}

.index_product_cod {
    margin-top: 18px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #565656;
    padding-right: 15px;
}

.index_product_name {
    margin-top: 6px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    max-width: 219px;
    color: #252525;
    padding-right: 15px;
    height: 64px;
    overflow: hidden;
    background-image: linear-gradient(180deg, #000 50%, transparent 100%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    position: relative;
}

.index_product_stock {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 12px;
    line-height: 18px;
    color: #5BB4A6;
    padding-right: 15px;
}

.index_product_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 15px;
}

.index_product_detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.index_product_price {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 22px;
    color: #434242;
}

.index_product_old {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 19px;
    color: #565656;
    margin-left: 10px;
    position: relative;
}

.index_product_old::after {
    content: '';
    display: flex;
    position: absolute;
    height: 1px;
    width: 100%;
    bottom: 8px;
    left: 0;
    background: #E00000;
    transform: rotate(-15deg);
}

.index_product_discount {
    margin-left: 5px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 19px;
    color: #E00000;
}

.index_product_cashback {
    display: flex;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #434242;
    margin-top: 5px;
}

.index_product_cashback span {
    margin-right: 4px;
}

.produs_left,
.produs_right {
    position: absolute;
    top: 234px;
    width: 37px;
    height: 37px;
    background: #FFFFFF;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 3;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
}

.produs_left {
    left: 19px;
}

.produs_right {
    right: 5px;
}
/* ===== /css/index/partner.css ===== */
.partner_wrapper{
    padding-top: 0;
    padding-bottom: 60px;
}

.partner_title{
    padding-top: 48px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: #252525;
}

.partner_wrapper_slider{
    margin-top: 17px;
}

.partner_slider{
    padding-bottom: 5px;
}

.partner_slide{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 226px;
    height: 118px;
    border: 1px solid #DDDDE3;
    border-radius: 6px;
    box-sizing: border-box;
    background-color: #fff;
    -webkit-tap-highlight-color: transparent;
}
.partner_slide img{
    max-width: 80%;
    max-height: 70%;
    object-fit: contain;
}
.partner_clickable{
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: flex;
}
@media (hover: hover) and (pointer: fine) {
    .partner_clickable:hover{
        box-shadow: 0 2px 8px rgba(0,0,0,0.12);
        transform: translateY(-2px);
        transition: box-shadow 0.2s ease, transform 0.2s ease;
    }
}
/* .tap_pressed = clona lui :active pentru click-urile recuperate programatic pe mobil
   (browserul nu aplică pseudo-clasa :active la click() sintetic — vezi js/script.js,
   blocul „recuperare tap"); ține cele două selectoare mereu în oglindă */
.partner_clickable:active,
.partner_clickable.tap_pressed{
    transform: scale(0.97);
    opacity: 0.85;
}
/* ===== /css/index/call_popup.css ===== */
.call_popup{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 320px;
    z-index: 999;
    background: rgba(39,144,197,0.85);
    border-radius: 10px;
    padding: 20px;
    display: none;
}

.call_popup input{
    margin-bottom: 10px;
}

.call_popup input, .call_popup textarea{
    /*width: 320px;*/
    width: 92%;
}

.call_popup .compare_close{
    cursor: pointer;
    position: absolute;
    width: 35px;
    height: 35px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    top: -10px;
    right: -10px;
    box-shadow: 1px 0px 10px #0d6aad;
}

.call_popup .footer_title{
    font-size: 17px;
    line-height: 22px;
    margin-bottom: 10px;
    color: #fff;
}
.call_popup .footer_form_submit{
    background: rgb(255, 255, 255);
    color: #434242;
}

.call_popup .footer_form_submit:hover{
    color: #0A587E;
    background: #fff;
}

@media(max-width: 390px){
    .call_popup{
        width: 250px;
    }
}
/* ===== /css/catalog/main.css ===== */
.catalog{
    padding-top: 18px;
    padding-bottom: 50px;
}

.catalog_wrapper{
    display: flex;
    flex-direction: row;
    position: relative;
}
/* ===== /css/catalog/filter.css ===== */
.catalog_filter{
    position: relative;
    /* gutter filtru→produse = egal cu padding-ul container-ului (15px) → spațiere uniformă */
    margin-right: 15px;
    /* Lățime fixă pe desktop, aliniată la lățimea EFECTIVĂ a drawer-ului mobil (86vw ≈ 320px pe un
       telefon tipic), ca filtrul să nu pară mai lat pe desktop decât pe mobil. Oprește filtrul să se
       extindă după conținut — pe categorii cu specificații lungi (ex. 9077) textele lărgeau sidebar-ul.
       Pe ≤890px, media_catalog.css suprascrie cu drawer-ul (86vw), deci mobilul rămâne neatins. */
    width: 320px;
    flex-shrink: 0;
}

.catalog_filter_reset{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 16px;
    cursor: pointer;
    text-decoration-line: underline;
    color: #3C7693;
}

.catalog_range{
    margin-top: 16px;
}

.catalog_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 24px;
    color: #252525;

}

.catalog_price_range_input {
    width: 100%;
    display: flex;
    margin-top: 17px;
}
.catalog_price_range_input .catalog_range_field {
    display: flex;
    width: 100%;
    height: 45px;
    align-items: center;
}
.catalog_range_field input {
    font-family: "Montserrat", sans-serif;
    max-width: 119px;
    height: 40px;
    outline: none;
    font-size: 19px;
    margin-right: 7px;
    margin-bottom: 12px;
    border: 1px solid #ECECF5;
    background: #FFFFFF;
    border-radius: 4px;
    text-align: center;
    -moz-appearance: textfield;
}
.catalog_range_field:last-child input{
    margin-right: 0;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.catalog_range_slider {
    height: 2px;
    position: relative;
    background: #E4E4F5;
    border-radius: 46px;
    margin-top: 12px;
}

.catalog_range_slider .catalog_range_progress {
    height: 100%;
    left: 0%;
    right: 0%;
    position: absolute;
    border-radius: 5px;
    background: #80C8EC;
}

.catalog_range_input {
    position: relative;
}

.catalog_range_input input {
    position: absolute;
    width: 100%;
    height: 5px;
    top: -5px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type="range"]::-webkit-slider-thumb {
    height: 17px;
    width: 17px;
    background: #F5F5F6;
    border: 2px solid #80C8EC;
    border-radius: 50%;
    pointer-events: auto;
    -webkit-appearance: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
}

input[type="range"]::-moz-range-thumb {
    height: 17px;
    width: 17px;
    border: none;
    border-radius: 50%;
    background: #F5F5F6;
    border: 2px solid #80C8EC;
    border-radius: 50%;
    pointer-events: auto;
    -moz-appearance: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
}

.catalog_prod{
    margin-top: 35px;
}

.catalog_prod_item{
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.catalog_prod_list{
    margin-top: 11px;
}

.catalog_prod_checkbox{
    position: relative;
}
.catalog_prod_checkbox>input{
    position: absolute;
}

.catalog_prod_checkbox label {
    width: 13px;
    height: 13px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    background: white;
    background: #FFFFFF;
    border: 1px solid #459DC9;
    border-radius: 4px;
    margin-right: 8px;
}
.catalog_prod_checkbox label:after {
    content: '';
    position: absolute;
    background: #5BB4A6;
    box-shadow: inset 4px 2px 4px rgba(0, 0, 0, 0.1);
    width: 7px;
    height: 7px;
    padding: 2px;
    border-radius: 4px;
    opacity: 0;
}
.catalog_prod_checkbox label:hover::after {
    opacity: 0.3;
}
.catalog_prod_checkbox input[type=checkbox] {
    visibility: hidden;
}
.catalog_prod_checkbox input[type=checkbox]:checked + label:after {
     opacity: 1;
}

.catalog_prod_label{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    color: #000000;
    /* texte lungi de specificații se rup pe mai multe rânduri în loc să lărgească filtrul */
    overflow-wrap: anywhere;
}

.catalog_tip, .catalog_principiu, .catalog_frecventa, .catalog_conectare, .catalog_conectori{
    margin-top: 30px;
}

.catalog_conectori{
    margin-bottom: 40px;
}

/* Grupuri de caracteristici în filtru (model Ultra) */
.catalog_group{
    margin-bottom: 26px;
}
.catalog_group_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    color: #000000;
    padding-bottom: 8px;
    margin-top: 24px;
    /* linie mai discretă: 1px + albastrul brandului la opacitate redusă (nu mai apasă vizual când grupurile sunt închise) */
    border-bottom: 1px solid rgba(69, 157, 201, 0.45);
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
}
.catalog_group_arrow{
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    margin-left: 12px;
    margin-bottom: 4px;
    border-right: 2px solid #459DC9;
    border-bottom: 2px solid #459DC9;
    transform: rotate(45deg);
    transition: transform .25s ease;
}
.catalog_group_collapsed .catalog_group_arrow{
    transform: rotate(-45deg);
    margin-bottom: 0;
    margin-left: 9px;
}
/* caracteristicile din interiorul unui grup — spațiere mai compactă */
.catalog_group .catalog_conectori,
.catalog_group .catalog_tip,
.catalog_group .catalog_principiu,
.catalog_group .catalog_frecventa,
.catalog_group .catalog_conectare{
    margin-top: 18px;
    margin-bottom: 0;
}

/* Shared button styles */
.catalog_filter_btn_reset{
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 17px;
    color: #459DC9;
    background: #fff;
    border: 1.5px solid #459DC9;
    border-radius: 36px;
    padding: 10px 14px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}

.catalog_filter_btn_reset:hover{
    background: #f0f8fc;
}

.catalog_filter_btn_apply{
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 17px;
    color: #fff;
    background: #459DC9;
    border: none;
    border-radius: 36px;
    padding: 11px 16px;
    cursor: pointer;
    flex: 1;
    text-align: center;
    white-space: nowrap;
}

.catalog_filter_btn_apply:hover{
    background: #3689b3;
}

/* Header "Filtru" — vizibil pe toate ecranele (sus în sidebar pe desktop, în drawer pe mobil) */
.catalog_filter_top_bar{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.catalog_filter_top_title{
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #434242;
    display: flex;
    align-items: center;
}
.catalog_filter_top_ico{
    width: 20px;
    margin-right: 8px;
    flex-shrink: 0;
}
.catalog_filter_close{
    display: none;          /* doar pe mobil (drawer) */
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    color: #434242;
    padding: 0 4px;
}
.catalog_filter_close:hover{ color: #0A587E; }

/* Mobile drawer backdrop (vizibil doar ≤890 când filtrul e deschis) */
.catalog_filter_overlay{
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1000;
}

/* Bottom bar - visible on all screens */
.catalog_filter_bottom_bar{
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

@media(max-width: 890px){
    .catalog_filter_bottom_bar{
        flex-shrink: 0;
        padding: 12px 16px;
        background: #fff;
        border-top: 1px solid #ECECF5;
        margin-top: 0;
    }
    /* Centură de siguranță: drawer-ul nu lasă conținut să „scape" lateral
       (scroll-ul real e pe .catalog_filter_scroll, nu pe container) */
    .catalog_filter{
        overflow: hidden;
    }
}

/* Ecrane foarte înguste (ex. iPhone SE 375px): butoanele filtrului încap
   în drawer. Textul RU e lung („Сбросить/Применить фильтр"), așa că le
   stivuim vertical și permitem micșorarea sub lățimea textului. */
@media(max-width: 419px){
    .catalog_filter_bottom_bar{
        flex-direction: column;
        gap: 8px;
    }
    /* Scopat la bara filtrului: .catalog_filter_btn_reset e refolosit și pe poarta
       de checkout (/auth/?from=cart) ca buton „Autentificare"; width:100% global îl
       umfla la toată lățimea sub 420px și împingea „Continuă fără cont" în afara
       ecranului. Restrângem la descendenții barei de filtru. */
    .catalog_filter_bottom_bar .catalog_filter_btn_reset,
    .catalog_filter_bottom_bar .catalog_filter_btn_apply{
        flex: 0 0 auto;
        width: 100%;
        min-width: 0;
        white-space: normal;
    }
}

/* Desktop (>890px): filtru limitat la înălțimea ecranului, butoane fixate jos (model Ultra) */
@media(min-width: 891px){
    .catalog_filter{
        align-self: flex-start;
        position: sticky;
        /* top = poziția naturală a filtrului (sub breadcrumb) → filtrul NU se mișcă la derulare,
           butoanele rămân MEREU complet vizibile jos (accesibile fără scroll), fără salturi.
           Cei ~50px de slack (breadcrumb) apar ca spațiu deasupra filtrului când derulezi. */
        top: 138px;
        max-height: calc(100vh - 150px);
        display: flex;
        flex-direction: column;
    }
    .catalog_filter_top_bar{
        flex-shrink: 0;
        padding-bottom: 14px;
        border-bottom: 1px solid #ECECF5;
    }
    .catalog_filter_scroll{
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        /* spațiu pe dreapta ca scrollbar-ul (overlay) să nu acopere chevron-urile grupurilor */
        padding-right: 16px;
    }
    .catalog_filter_bottom_bar{
        flex-shrink: 0;
        margin-top: 0;
        padding-top: 14px;
        border-top: 1px solid #ECECF5;
        /* transparent → arată același fundal ca filtrul (gri-ul paginii), nu o dungă albă */
        background: transparent;
    }
}

/* ===== /css/catalog/catalog.css ===== */
.catalog_main{
    position: relative;
    width: 100%;
}

.catalog_main_wrapper{
    position: relative;
    background: #FFFFFF;
    border-radius: 6px;
    padding: 48px 40px;
    padding-bottom: 0px;
}

.catalog_main_info{
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.catalog_main_tilte{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: #434242;
}

.catalog_main_select{
    background: none;
    border: unset;
    border-bottom: 1px solid #F0F0F8;
    width: 247px;
    appearance:unset;
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: 13px;
    line-height: 21px;
    color: #8D8D8D;
    cursor: pointer;
    outline: none;
    position: relative;
}

.catalog_main_info::after{
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0px;
    background-image: url('/icons/catalog/arrow_select.svg');
    width: 7px;
    height: 4px;
}


.catalog_main_products{
    margin-top: 55px;
    display: grid;
    grid-template-columns: repeat(4, 25%);
}

.catalog_main_products .index_product_item:nth-child(4n){
    border-right: unset;
}

.catalog_main_products .index_product_item{
    margin-bottom: 80px;
}
.index_product_item_link{
    display: flex;
    flex-direction: column;
}
.index_product_compare{
    top: 58px;
}

.pagination {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.pagination .backlink, .pagination .forwardlink{
    position: relative;
    width: 35px;
    height: 23px;
    cursor: pointer;
}

.pagination .backlink a::after, .pagination .forwardlink a::after{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 5px;
    height: 9px;
    background-repeat: no-repeat;
}

.pagination .backlink a::after{
    left: 0;
    background-image: url("/icons/catalog/prev_pagination.svg");
}

.pagination .forwardlink a::after{
    right: 0;
    background-image: url("/icons/catalog/next_pagination.svg");
}

.pagination {
	margin-top: 15px;
	padding: 0;
	list-style: none;
	text-align: center;
}

pagination li {
	display: inline-block;
}


.pagination li a {
	font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 160%;
    color: #252525;
    margin-right: 15px;
    margin-left: 15px;
}

.activepage{
	background: #fff;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 0;
    margin-left: 0;
}

.simple-pagination .prev{
    margin-right: 34px;
    margin-left: 0;
}

.simple-pagination .next{
    margin-left: 34px;
    margin-right: 0;
}

.simple-pagination .prev.current,
.simple-pagination .next.current {
	background: unset;
}

.index_product_img a{
    max-width: 235px;
    object-fit: cover;
}
.index_product_img a>img{
    width: 100%;
    height: 240px;
    object-fit: contain;
}

/* ===== /css/catalog/compare_bar.css ===== */
/* ========================================
   Compare Bar — Bara inline de comparare
   Vizibilă doar pe mobil (sub 560px)
   ======================================== */

.compare_bar{
    display: none; /* ascunsă implicit, vizibilă prin JS și media query */
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border-radius: 8px;
    padding: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid #EAEAF0;
    box-shadow: none;
    border-radius: 6px;
    position: sticky;
    /* 560–680px: header mobil fix = 140px (82 wrapper + 43 search_mob + 15 padding-bottom) → 140+8 */
    top: 148px;
    z-index: 50;
    gap: 10px;
    animation: compareBarSlideDown 0.3s ease;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.compare_bar.active{
    display: flex;
}

@keyframes compareBarSlideDown{
    from{
        opacity: 0;
        transform: translateY(-10px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

.compare_bar_items{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
}

.compare_bar_thumb{
    position: relative;
    width: 50px;
    height: 50px;
    min-width: 50px;
    border: 1px solid #eee;
    border-radius: 6px;
    overflow: hidden;
    background: #fafafa;
}

.compare_bar_thumb img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.compare_bar_remove{
    position: absolute;
    top: -2px;
    right: -2px;
    width: 18px;
    height: 18px;
    background: #e74c3c;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
    cursor: pointer;
    border: 1px solid #fff;
    z-index: 2;
}

.compare_bar_remove:hover{
    background: #c0392b;
}

.compare_bar_actions{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.compare_bar_count{
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #666;
    white-space: nowrap;
}

.compare_bar_btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    background: #459DC9;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    border-radius: 20px;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.compare_bar_btn:hover{
    background: #3688b0;
    transform: scale(1.03);
}

/* Responsive: ecrane foarte mici */
@media(max-width: 380px){
    .compare_bar{
        padding: 6px 8px;
        gap: 6px;
    }
    .compare_bar_thumb{
        width: 40px;
        height: 40px;
        min-width: 40px;
    }
    .compare_bar_btn{
        padding: 6px 12px;
        font-size: 12px;
    }
    .compare_bar_count{
        font-size: 11px;
    }
}

/* Ecrane mici: header mobil = 127px (82 wrapper + 35 search_mob + 10 padding-bottom,
   reduse de blocul @media(max-width:559.98px) din media_index.css) → 127+8,
   aliniat cu main{margin-top:135px} (D7-fix). */
@media(max-width: 559.98px){
    .compare_bar{
        top: 135px;
    }
}

/* Medium+ screens: desktop header is 82px, sticky at 82+8=90px */
@media(min-width: 681px){
    .compare_bar{
        top: 90px;
    }
}

/* ===== /css/detail/main.css ===== */
.produs{
    position: relative;
    max-width: 1460px;
    margin: 0 auto;
    margin-top: 18px;
    margin-bottom: 40px;
    background: #FFFFFF;
}

.produs_wrapper{
    position: relative;
    border-radius: 6px;
    padding: 53px 40px;
    padding-bottom: 0;
}
.produs_wrapper:nth-child(2){
    padding-top: 0;
    padding-bottom: 97px;
}

.specification_wrapper{
    padding-bottom: 48px;
}

.produs_similar .index_product_title{
    padding-top: 0;
}

.index_product_wrapper .produs_right2{
    right: 0 !important;
}

/* Mobile/compact: reduce perimeter spacing — aliniat cu layout-ul column (care începe la ≤930px) */
@media(max-width: 930px){
    .produs{
        margin-left: -7px;
        margin-right: -7px;
        margin-top: 20px;
        margin-bottom: 15px;
    }
    .produs_wrapper{
        padding: 10px 0;
        padding-bottom: 0;
    }
    .produs_wrapper:nth-child(2){
        padding-bottom: 30px;
    }
    /* denumire + cod + zona de specificații: aceleași spații laterale */
    .produs_cod,
    .produs_title,
    .produs_specs_section{
        padding-left: 5px;
        padding-right: 5px;
    }
}
/* ===== /css/detail/detail.css ===== */
.produs_cod{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #565656;
}

.produs_title{
    margin-top: 4px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: #434242;
}

.produs_container{
    position: relative;
    display: flex;
    border-bottom: 1px solid #F0F0F8;
    padding-bottom: 50px;
}

.produs_detail{
    margin-top: 39px;
    display: flex;
    position: relative;
}
.produs_detail_slide{
    position: relative;
}
.produs_horizontal .produs_detail_slide .index_product_heart img{
    width: 17px;
    height: 15px;
}
.produs_vertical .produs_detail_slide.slick-active{
    border: 1px solid #F0F0F8;
}

.produs_horizontal{
    margin-left: 17px;
    max-width: 447px;
}

.produs_horizontal .produs_detail_slide{
    border: 1px solid #F0F0F8;
    /*height: 410px;*/
    margin-right: 5px;
    margin-left: 5px;
}

.produs_horizontal .produs_detail_slide img{
    width: 435px;
    object-fit: contain;
    height: 458px;
}

.produs_vertical .produs_detail_slide{
    margin-bottom: 12px;
}

.produs_vertical .produs_detail_slide:last-child{
    margin-bottom: 0;
}

.produs_vertical .produs_detail_slide.slick-current{
    border: 1px solid #80C8EC;
}

.produs_vertical {
    width: 102px;
    height: 460px;
    position: relative;
    overflow: hidden;
}

.produs_vertical:not(.slick-initialized){
    display: flex;
    flex-direction: column;
}
.produs_vertical:not(.slick-initialized) .produs_detail_slide{
    flex-shrink: 0;
    cursor: pointer;
}
.produs_vertical:not(.slick-initialized) .produs_detail_slide.slick-current{
    border: 1px solid #80C8EC;
}

.produs_vertical img{
    width: 100px;
    object-fit: contain;
    height: 102px;
}



.produs_vertical .swiper-slide {
    text-align: center;
    font-size: 48px;
    font-weight: 500;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.produs_vertical_btns{
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 10;
    top: -18px;
    left: 33px;
    height: 452px;
}

.produs_detail_carousel_vertical{
  position: relative;
}

.prod_vert_prev, .prod_vert_next{
    position: absolute;
    left: 33px;
    width: 37px;
    height: 37px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background: #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
}
.prod_vert_prev{
  top: -18px;
  z-index: 3;
}

.prod_vert_next{
  bottom: 10px;
  z-index: 3;
}

.produs_about{
    margin-left: 16px;
    margin-right: 30px;
    margin-top: 39px;
    max-width: 464px;
    width: 100%;
}

.produs_about_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 24px;
    color: #252525;
}

.produs_about_message{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 21px;
    color: #252525;
    max-width: 464px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin-top: 10px;
}
.produs_about_message_all{
    -webkit-line-clamp: unset;
}

.podus_about_btn{
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
    font-weight: 700;
    font-size: 12px;
    line-height: 19px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #252525;
    margin-top: 10px;
    max-width: 102px;
    cursor: pointer;
}

.btn_hidden{
    display: none;
}

.produs_about_btn span{
    margin-left: 5px;
}

.produs_about_spec{
    margin-top: 20px;
}

.produs_about_list{
    max-width: 370px;
    margin-top: 15px;
    overflow: hidden;
    display: -webkit-box;
    max-height: 275px;
    -webkit-box-orient: vertical;
}

.produs_about_mob .produs_about_list{
    max-height: unset;
}

.produs_about_item{
    display: flex;
    /*justify-content: space-between;*/
    width: 100%;
    padding-bottom: 8px;
    border-bottom: 1px solid #F0F0F8;
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    color: #000000;

}

.produs_info{
    background: #FFFFFF;
    border: 1px solid #9AC4D9;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.07);
    border-radius: 6px;
    max-width: 310px;
    width: 100%;
    height: 295px;
    margin-top: 39px;
    padding: 27px 16px 56px 21px;
}

.produs_info_detail{
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.produs_about_item_specification{
    /*text-align: right;*/
    margin-right: 27px;
    /*max-width: 255px;*/
}
.produs_about_item_title{
  min-width: 218px;
  margin-right: 10px;
}

/* Grupuri de specificații (model Ultra) */
.produs_about_group{
    margin-bottom: 16px;
}
.produs_about_group_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    color: #000000;
    padding-bottom: 7px;
    margin-bottom: 11px;
    border-bottom: 2px solid #9AC4D9;
}

/* Descrierea Ultra ca tabel (sumar specs de bază) */
.produs_desc_table{
    width: 100%;
    max-width: 440px;
    border-collapse: collapse;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
}
.produs_desc_table tr{ border-bottom: 1px solid #F0F0F8; }
.produs_desc_table td{ padding: 7px 2px; vertical-align: top; line-height: 1.4; }
.produs_desc_key{ color: #6B7280; padding-right: 14px; width: 52%; }
.produs_desc_val{ color: #000000; font-weight: 600; text-align: right; }
.produs_desc_full{ color: #252525; }
/* descrierea-tabel nu se trunchiază (line-clamp era pentru text liber) */
.produs_about_message:has(.produs_desc_table){
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
}
.produs_about:has(.produs_desc_table) .produs_about_message_more,
.produs_about:has(.produs_desc_table) .produs_about_message_less{ display: none; }

/* Specificații full-width sub container (model Ultra) */
.produs_specs_section{
    margin-top: 34px;
    padding-top: 6px;
    width: 100%;
    box-sizing: border-box;
}
.produs_specs_grid{ column-gap: 56px; margin-top: 12px; }
.produs_specs_grid .produs_about_group{
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    margin-bottom: 22px;
}
/* itemii de specs: cheie și valoare în DOUĂ COLOANE EGALE (50/50) pe toate ecranele
   → aliniate și proporționale indiferent de lățime (ca Ultra); titlurile lungi se rup pe rânduri */
.produs_specs_section .produs_about_item{
    align-items: flex-start;
}
.produs_specs_section .produs_about_item_title{
    flex: 0 0 50%;
    max-width: 50%;
    min-width: 0;
    margin-right: 0;
    padding-right: 14px;
    box-sizing: border-box;
    word-break: break-word;
}
.produs_specs_section .produs_about_item_specification{
    flex: 0 0 50%;
    max-width: 50%;
    min-width: 0;
    margin-right: 0;
    word-break: break-word;
}
/* coloane multiple de grupuri pe ecrane late → umplu lățimea. Sub 931px = o singură coloană (layout compact) */
@media(min-width: 931px){
    .produs_specs_grid{ column-count: 2; }
}
@media(min-width: 1400px){
    .produs_specs_grid{ column-count: 3; }
}

.produs_info_detail_stock{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 12px;
    color: #5BB4A6;
}

.produs_info_detail_cashback{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 12px;
    display: flex;
    align-items: center;
    color: #434242;
}

.produs_info_detail_cashback span{
    margin-left: 6px;
}

.produs_info_prices{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 35px;
}
.produs_info_prices_old{
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 100px;
}

.produs .produs_info_prices_old{
    max-width: unset;
}

.produs_info_prices_old .index_product_old, .produs_info_prices_old .index_product_discount{
    font-size: 16px;
}

.produs_info_prices .index_product_price{
    font-size: 30px;
    margin-top: 5px;
}

.produs_info_counter{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width: 80px;
    height: 40px;
    align-items: center;
    margin: 0 auto;
    margin-top: 20px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: #252525;
}

.minus, .plus{
    font-size: 24px;
    cursor: pointer;
    outline: none;
    user-select: none;
}

.produs_info_cart_btn{
    background: #9BC04F;
    border-radius: 36px;
    max-width: 246px;
    padding-top: 17px;
    padding-bottom: 17px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    margin: 0 auto;
    color: #FFFFFF;
    cursor: pointer;
    margin-top: 10px;
}

.produs_info_cart_btn span{
    margin-left: 20px;
}

/* butonul mare „Stoc epuizat” — același stil contur verde ca .index_product_soldout,
   dimensiuni egale cu .produs_info_cart_btn (padding 17→15.5 compensează borderul de 1.5px) */
.produs_info_cart_btn_soldout{
    background: #fff;
    border: 1.5px solid #9BC04F;
    border-radius: 36px;
    max-width: 246px;
    padding-top: 15.5px;
    padding-bottom: 15.5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    margin: 10px auto 0;
    color: #9BC04F;
    cursor: pointer;
}

.produs_info_credit_btn{
    background: #FFFFFF;
    border: 1px solid #9AC4D9;
    border-radius: 36px;
    font-family: 'Montserrat', sans-serif;
    max-width: 245px;
    padding-top: 17px;
    padding-bottom: 17px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 18px;
    margin-top: 12px;
    color: #3C7693;
    cursor: pointer;
}
.produs_info_credit_btn.disabled,
.produs_info_credit_btn.disabled:hover {
    color: #DFDFDF;
    border: 1px solid #DFDFDF;
    cursor: default;
}

.produs_similar{
    position: relative;
    /* spațiu deasupra titlului „Produse similare” — altfel e lipit de specificațiile de deasupra
       (wrapper-ul nth-child(2) și titlul au padding-top:0) */
    padding-top: 40px;
}

@media(max-width: 930px){
    .produs_similar{
        padding-top: 24px;
    }
}

.specification_element{
    position: relative;
    display: inline-block;
}

.specification_element::before{
    content: ', ';
    display: inline-block;
    position: absolute;
    right: -2px;
}

.specification_element:last-child::before{
    display: none;
}

.prod_info_number_curr {
    outline: none;
    border: none;
    background: none;
    width: 40px;
    margin-left: -10px;
    text-align: right;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
    color: #252525;
}

@media(max-width: 890px){
    .produs_detail{
        margin-top: 15px;
    }
    .produs_container{
        padding-bottom: 15px;
    }
}


/* ===== /css/cookie.css ===== */
/* Banda de consimțământ cookie — pe toată lățimea, ancorată jos (pattern darwin.md / enter.online).
   Înainte era o casetă de ~406px în dreapta-jos, care se bătea pe același colț cu bula de chat:
   panoul Jivo auto-deschis acoperea 82% din ea, INCLUSIV ambele butoane, deci vizitatorul nu putea
   nici accepta, nici refuza. Acum consimțământul are banda lui jos, iar bula de chat urcă deasupra
   ei (regulile .nemo-fan / #jcont de la finalul fișierului) — cele două nu se mai suprapun deloc. */
.wrapper_cookie{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  /* peste Jivo (2147483646 = maximul int32 minus 1, lăsat deliberat liber). Plasă de siguranță:
     chiar dacă ridicarea de mai jos n-ar mai prinde după o schimbare de-a lor, butoanele de
     consimțământ rămân clicabile. Restul site-ului nu urcă peste 999999. */
  z-index: 2147483647;
  background: #FFFFFF;
  border-top: 1px solid #9AC4D9;
  box-shadow: 0px -4px 20px rgba(0, 0, 0, 0.07);
}

/* Conținutul benzii — mesaj și butoane grupate pe centru, ca la darwin.md / enter.online.
   Nu „text stânga / butoane dreapta": pe ecrane late butoanele ar fugi la zeci de centimetri
   de mesajul la care se referă. */
.cookie{
  max-width: 1475px;
  margin: 0 auto;
  padding: 14px 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 22px;
}

.cookie_text{
  font-family: 'Montserrat', sans-serif;
  font-style: normal;
  font-size: 13px;
  line-height: 18px;
  color: #4B4B4B;
  text-align: center;
}

.cookie_descr{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: #4B4B4B;
}

.cookie_btns{
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-shrink: 0;
}

.cookie_accept{
    margin-right: 18px;
    background: #9BC04F;
    border: none;
    border-radius: 36px;
    width: 107px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    color: #FFFFFF;
    cursor: pointer;
    padding-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 11px;
}

.cookie_ignore{
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    text-decoration-line: underline;
    color: #4B4B4B;
    white-space: nowrap;
}

/* ── Chatul urcă deasupra benzii ────────────────────────────────────────────────────────────
   Cât timp banda e afișată, bula de contact și fereastra Jivo se ridică exact cu înălțimea ei,
   ca să rămână mereu vizibile. `--cookie-bar-h` e setată din JS (blocks/cookie.php) cu înălțimea
   REALĂ a benzii — variază cu lățimea ecranului, unde textul trece pe mai multe rânduri.
   Ridicarea se face cu `margin-bottom`, nu prin suprascrierea lui `bottom` și nu cu `transform`:
   - `transform` ar rupe animația de deschidere/închidere a ferestrei Jivo, care e chiar un
     transform pe #jcont;
   - `bottom` ne-ar obliga să reproducem valoarea de bază a fiecărui element, iar aceea diferă
     pe breakpoint-uri (.nemo-fan e la 22px pe desktop și 14px sub 600px) și e a lor la Jivo.
   Pe un element poziționat fix, `margin-bottom` e un decalaj RELATIV față de orice `bottom` ar
   avea — deci urcă exact cu înălțimea benzii oriunde, fără să presupunem nimic.
   Când banda dispare, clasa de pe <body> se scoate și chatul coboară la loc. */
body.has-cookie-bar .nemo-fan{
  margin-bottom: var(--cookie-bar-h, 0px);
  transition: margin-bottom .25s ease;
}

body.has-cookie-bar #jcont{
  margin-bottom: var(--cookie-bar-h, 0px) !important;
}

/* ===== /css/popup.css ===== */
.popup{
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.5);
    overflow-y: auto;
}

.popup:not(.btn_hidden){
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.popup_wrapper{
    position: relative;
    background: #FFFFFF;
    border: 1px solid #9AC4D9;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.07);
    border-radius: 6px;
    width: 991px;
    max-height: 90vh;
    overflow-y: auto;
    margin: 5vh auto;
    flex-shrink: 0;
}

.close_popup{
    position: absolute;
    top: 15px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
}

.prod_wrapper{
    max-width: 722px;
    margin: 0 auto;
    margin-top: 55px;
}

.prod_info{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 25px;
    border-bottom: 1px solid #F0F0F8;
}

.prod_info_detail{
    display: flex;
    flex-direction: row;
}

.prod_info_detail_descr{
    margin-top: 35px;
    margin-left: 22px;
}

.prod_info_detail_cod{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #565656;
}

.prod_info_detail_img{
    width: 127px;
    height: 131px;
}

.prod_info_detail_img img{
    width: 100%;
}

.prod_info_detail_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    margin-top: 4px;
    max-width: 259px;
    color: #434242;
}

.prod_info_detail_price{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 30px;
    color: #434242;
}

.prod_info_avans{
    margin-top: 13px;
    height: 40px;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #317DA3;
    justify-content: flex-end;
}

.prod_info_avans_counter{
    display: flex;
    align-items: center;
    margin-left: 20px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 26px;
    color: #252525;
    max-width: 130px;
    width: 100%;
    justify-content: space-between;
}

.prod_info_minus, .prod_info_plus{
    user-select: none;
    cursor: pointer;
}

.prod_credit, .prod_credit_wrapper{
    position: relative;
}

.prod_credit_wrapper{
    padding-top: 52px;
}

.credit_tabs{
    position: absolute;
    display: flex;
    align-items: center;
    top: 0;
}

.credit_tab{
    background: #F5F5F6;
    border-radius: 6px;
    border: 1px solid #D3D3D3;
    margin-right: 3px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #434242;
    padding: 17px 36px;
    height: 50px;
    cursor: pointer;
    position: relative;
    z-index: 10;
}
.credit_tab1{
    padding-left: 54px;

}

.credit_tab_off{
    z-index: unset;
    background: #fff;
}

.credit_list{
    position: relative;
    border-radius: 6px;
    background: #F5F5F6;
    border: 1px solid #D3D3D3;
}

.credit_list_wrapper{
    position: relative;
    background: #F5F5F6;
    z-index: 99;
    padding: 33px;
    display: flex;
    flex-direction: row;
    /* justify-content: space-between; */
    justify-content: flex-start;
    align-items: center;
}

.credit_item{
    background: #F5F5F6;
    border: 1px solid #C2C2C2;
    border-radius: 6px;
    padding: 30px;
    padding-bottom: 26px;
    text-align: center;
    cursor: pointer;
    margin-right: 10px;
}

.credit_item_active{
    border: 3px solid #459DC9;
    padding: 26px;
    padding-left: 30px;
    padding-right: 30px;
}

.credit_item_price{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 30px;
    line-height: 37px;
    color: #434242;
}

.credit_item_month{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 12px;
    line-height: 18px;
    color: #565656;
    margin-top: 2px;
}

.prod_contact{
    background: #F5F5F6;
    height: 323px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

.prod_contact_wrapper{
    padding-top: 47px;

}

.prod_contact_input{
    display: grid;
    grid-template-columns: repeat(2, 48.6%);
    gap: 18px 20px;
}

.prod_contact_input input{
    padding: 0 12px;
    background: #FFFFFF;
    border: 1px solid #ECECF5;
    border-radius: 4px;
    height: 42px;
    border: none;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 26px;
    color: #434242;
}

.prod_contact_input input::placeholder{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 26px;
    color: #8C8C8C;

}

.prod_contact_agree{
    margin-top: 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.prod_contact_condition{
    margin-left: 7px;
    font-family: 'Montserrat', sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #565656;
}

.prod_contact_condition a{
    text-decoration: underline;
}

.prod_contact_btn{
    width: 202px;
    background: #9BC04F;
    border-radius: 36px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 18px;
    padding: 17px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    color: #FFFFFF;
}

.popup .prod_contact_input input:nth-child(3){
  width: 170px;
}

/* ===== Modal „Anunță-mă când apare în stoc" (lead capture pe produse epuizate) =====
   Clasă proprie .notify_popup (NU .popup) ca să nu interfereze cu JS-ul popup-ului de credit. */
.notify_popup{
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 10001;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.45);
    overflow-y: auto;
}

.notify_popup:not(.btn_hidden){
    display: flex;
    align-items: center;
    justify-content: center;
}

.notify_popup_wrapper{
    position: relative;
    background: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    width: 420px;
    max-width: calc(100% - 32px);
    box-sizing: border-box;       /* include padding-ul în max-width → spațiu lateral pe <500px */
    padding: 34px 28px 28px;
    margin: 5vh auto;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.notify_popup_close{
    position: absolute;
    top: 8px;
    right: 16px;
    font-size: 28px;
    line-height: 1;
    color: #9A9A9A;
    cursor: pointer;
}
.notify_popup_close:hover{ color: #434242; }

.notify_popup_title{
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.45;
    color: #3E3E3E;
    text-align: center;
    margin-bottom: 22px;
    padding: 0 6px;
}

/* câmpul de telefon — același template ca pe /livrare/ (.raf_row + .raf_inp_label + .raf_inp + mască) */
.notify_popup_field{
    margin-bottom: 18px;
}
.notify_popup .raf_inp{
    width: 100%;
    box-sizing: border-box;
}
.notify_popup .raf_inp:focus{ border-color: #9BC04F; }

.notify_popup_submit{
    width: 100%;
    height: 46px;
    border: none;
    border-radius: 36px;
    background: #9BC04F;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    margin-bottom: 10px;
}
.notify_popup_submit:hover{ background: #73A807; }

.notify_popup_continue{
    width: 100%;
    height: 46px;
    border: 1.5px solid #459DC9;
    border-radius: 36px;
    background: #FFFFFF;
    color: #459DC9;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
}
.notify_popup_continue:hover{ background: #F0F8FC; }

/* ===== /css/footer.css ===== */
.footer{
    /*height: 360px;*/
    background: #FFFFFF;
}

.footer_wrapper{
    padding: 60px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}

.footer_wrapper_box{
    max-width: 600px;
    width: 100%;
    margin-right: 20px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.footer_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 32px;
    color: #434242;
}

.footer_contact_phone{
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
    margin-top: 30px;
}

.footer_contact_mail{
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 13px;
    line-height: 26px;
    color: #434242;
}

.footer_contact_street{
    margin-top: 15px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 22px;
    color: #000000;
    max-width: 165px;
}

.footer_contact_social{
    margin-top: 50px;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.footer_contact_social_item{
    margin-right: 9px;
}

.footer_info{
    max-width: 228px;
    width: 100%;
}

.footer_info_list{
    display: flex;
    flex-direction: column;
    padding-bottom: 13px;
    border-bottom: 1px solid #F0F0F8;
    margin-top: 25px;
}

.footer_info_item{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 26px;
    color: #000000;
}

.footer_info_partner{
    margin-top: 42px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 14px;
    align-items: center;
}

.footer_info_partner_item{
    margin-right: 14px;
    display: flex;
    align-items: center;
}

/* Rândul de acțiuni al formularului: butonul „Trimite mesaj" + branding-ul reCAPTCHA în dreapta lui,
   pe aceeași linie (centrat vertical). margin-top mutat aici de pe buton, ca poziția butonului să nu
   se schimbe (și când reCAPTCHA e OFF, containerul are un singur copil — butonul). */
.footer_form_actions{
    margin-top: 38px;
    display: flex;
    align-items: center;
    gap: 18px;
}
.footer_form_actions .footer_form_submit{
    margin-top: 0;
    flex-shrink: 0;
}

/* Branding reCAPTCHA (cerință Google când badge-ul e ascuns, cf. politicii lor) — pe aceeași linie cu
   butonul „Trimite mesaj", împins la marginea dreaptă a rândului (margin-left:auto). DOAR când
   reCAPTCHA e activ; fără chei div-ul lipsește. */
.footer_recaptcha{
    margin-left: auto;
    text-align: right;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 26px;
    color: #8C8C8C;
    max-width: 420px;
}
.footer_recaptcha a{
    color: #8C8C8C;
    text-decoration: underline;
}
.footer_recaptcha a:hover{
    color: #459DC9;
}

/* Bloc doar-mobil (logo-uri plată + branding reCAPTCHA la fundul footer-ului pe ecrane stivuite).
   Ascuns pe desktop; activat în media_footer.css la <1190px. Aceeași lățime ca .footer_wrapper_box
   (max-width 600, centrat/stânga după breakpoint) ca marginea stângă să coincidă cu blocurile footer. */
.footer_mobile_bottom{
    display: none;
    max-width: 600px;
    width: 100%;
}

/* Badge-urile Visa Secure / MC ID Check (cerință maib) — SVG-urile oficiale au dimensiuni
   native mari (198pt / 504px), le normalizăm la înălțimea rândului de logo-uri */
.footer_badge_secure{
    height: 26px;
    width: auto;
}

/* Logo maib (cerință #20 — acquirer/gateway, primul în rând). PNG transparent 156×44;
   afișat la 24px înălțime → optic echilibrat cu cardurile, sursă 44px destul de clară. */
.footer_logo_maib{
    height: 22px;
    width: auto;
}

/* Logo-urile Google Pay / Apple Pay (cerință maib SIP, iul 2026) — mărci oficiale cu
   dimensiuni native diferite (badge cu contur vs wordmark), normalizate optic la rând */
.footer_logo_gpay{
    height: 26px;
    width: auto;
}
.footer_logo_applepay{
    height: 20px;
    width: auto;
}

.footer_form{
    max-width: 720px;
    width: 100%;
}

.footer_form_general{
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(3, 234px);
    gap: 10px;
}

.footer_form_input{
    background: #FFFFFF;
    border: 1px solid #E0E0E9;
    border-radius: 4px;
    padding: 0px 12px;
    height: 42px;
    outline: none;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 26px;
    color: #8C8C8C;

}

.footer_form_textarea{
    display: flex;
    margin-top: 10px;
    padding: 8px 12px;
    height: 40px;
    max-width: 696px;
    width: 100%;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 26px;
    color: #8C8C8C;

}

.footer_form_submit{
    margin-top: 38px;
    width: 161px;
    background: #459DC9;
    border-radius: 36px;
    padding: 14px 5px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: #FFFFFF;
    border: none;
    cursor: pointer;
}
/* ===== /css/register/register.css ===== */
.reg_wrapper{
    background: #fff;
    width: 100%;
    margin-top: 40px;
    padding-top: 20px;
    padding-bottom: 40px;
    margin-bottom: 40px;
}

.reg_auth_header{
    background: #ffffff;
    /*height: 68px;*/
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 20px;
    line-height: 38px;
    color: #434242;
}

.rp_subtitle{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 16px;
    line-height: 20px;
    max-width: 500px;
    text-align: center;
    margin-top: 10px;
    color: #434242;
    margin-bottom: 5px;
}

.reg_auth_form{
    background: #fff;
    max-width: 425px;
    width: 100%;
    margin: 40px auto 0 auto;
}

.raf_inp_label, .rp_inp_label{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
    margin-bottom: 5px;
}

.raf_row, .raf {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
}

.raf_inp{
    font-family: 'Montserrat', sans-serif;
    /* font-size explicit: fără el, Safari folosește un default UA mai mic decât Chrome
       (Chrome=13.33px). Setat explicit ca să fie identic în ambele browsere. */
    font-size: 13.33px;
    background: #FFFFFF;
    border: 1px solid #E0E0E9;
    border-radius: 4px;
    padding: 0px 12px;
    height: 42px;
    outline: none;
    width: 94%;
}

.reg_check{
    display: flex;

}

.reg_check .catalog_prod_checkbox{
    margin-right: 3px;
}

.hidden_inp_label{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 12px;
    line-height: 16px;
    color: #434242;
}

.btn_main{
    background: #459DC9;
    border-radius: 100px;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    color: #FFFFFF;
    margin-top: 15px;
}

.btn_main:hover{
    background: #2790C5;
}

.or_block{
    margin-top: 25px;
    text-align: center;
    position: relative;
    height: 20px;
}

.or_block::before{
    content: '';
    display: block;
    position: absolute;
    top: 12px;
    width: 100%;
    height: 1px;
    left: 0;
    background: #E0E0E9;
}

.or_title {
    display: inline-block;
    color: #0A587E;
    padding: 0 15px;
    background: white;
    position: relative;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    z-index: 2;
}

.non_acc {
    margin-bottom: 15px;
    text-align: center;
    color: #E0E0E9;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #333333;
    margin-top: 10px;
}


.reg_link {
    display: block;
    text-align: center;
    color: #333333;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    cursor: pointer;
}

.auth_wrapper{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.restore_pass{
    color: #D12027;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    cursor: pointer;
}

.rp_inp_block{
    position: relative;
    margin-top: 5px;
}

.subscribe_btn{
    width: 60px;
    height: 44px;
    border: none;
    cursor: pointer;
    background: #92BA53;
    position: absolute;
    top: 0;
    right: 0;
    transition: all 0.3s ease;
}
.subscribe_btn img {
    filter: brightness(0) invert(1);
}

.private_favorite_data{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    color: #252525;
}

.d_favorite_content{
    border-top: 1px solid #E0E0E9;
    padding-top: 25px;
    padding-bottom: 10px;
}

.pfd_link{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-decoration: underline;
    font-weight: 500;
}

.pfd_link img{
    margin-left: 5px;
}

.password_block{
  position: relative;
}

.password_block button{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

/* ===== /css/private_area/date.css ===== */
.date_wrapper{
    display: flex;
    flex-direction: row;
    background: #fff;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
    padding-top: 40px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 40px;
    max-width: 1300px;
}
.date_general{
    max-width: 410px;
    width: 100%;
    margin-right: 20px;
}
.date_settings{
    display: grid;
    grid-template-columns: repeat(2, 48.7%);
    width: 100%;
    gap: 10px 20px;
}

.wellcome_block{
    padding: 20px;
    background: #FFFFFF;
    border: 1px solid #E0E0E9;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
    margin-bottom: 20px;
}

.wellcome_block + .index_product_cashback{
    margin-bottom: 20px;
    font-weight: 600;
}

.user_name{
    font-weight: 700;
}

.am_links li a.active::before{
    content: '';
    display: inline-block;
    width: 30px;
    height: 2px;
    margin-right: 20px;
    background: #CECECE;
    vertical-align: middle;

}
.am_links li a.active{
    color: #0A587E;
}

.am_links li a:hover{
    color: #0d6aad;
}
.am_links li a{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 32px;
    color: #434242;

}
.am_links li{
    margin-bottom: 15px;
}

.am_links{
    margin-bottom: 30px;
}

.blue{
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    background: #2790C5;;
}

.dbbh_img svg{
    width: 17px;
    height: 17px;
}
.dbbh_img svg>path{
    fill: white;
    stroke: white;
}

.dashboard_block{
    padding: 15px 30px;
    border: 1px solid #E0E0E9;
}

.dashboard_block_header{
    display: flex;
    flex-direction: row;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
    margin-bottom: 15px;
}

.dbbh_title{
    margin-left: 10px;
}

.d_private_data {
    padding-top: 30px;
    padding-bottom: 25px;
    border-top: 1px solid #E0E0E9;
}

.d_private_links {
    display: flex;
    flex-direction: column;
    border-top: 1px solid #CECECE;
    padding-top: 20px;
}

.bddc_name{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
}

.user_mail{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    color: #434242;
    margin-top: 5px;
}

.private_link{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
    color: #0A587E;
    margin-bottom: 10px;

}

.private_link:hover{
    color: #434242;
    text-decoration: underline;
}

.p_comanda_block{
    margin-top: 20px;
}

.private_comanda_data{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.see_comanda{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-decoration: underline;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-size: 15px;
    line-height: 24px;
    color: #252525;
}

.see_comanda img{
    margin-left: 5px;
}

.pfd_count{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    color: #252525;
}

/* date change */

.block_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 36px;
    color: #434242;
}

.change_data_form_wrapper{
    max-width: 500px;
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, 48.6%);
    gap: 20px 20px;
}

.change_data_form_row{
    margin-right: 24px;
    position: relative;
}

.change_data_input{
    background: #FFFFFF;
    border: 1px solid #E0E0E9;
    border-radius: 4px;
    padding: 0px 12px;
    height: 42px;
    outline: none;
    width: 100%;
    position: relative;
    /* font-size explicit: fără el, Safari afișa textul mai mic decât Chrome (13.33px) */
    font-size: 13.33px;
}


.change_data_label {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 22px;
    color: #434242;
    margin-bottom: 5px;
}

.change_data_form_row{
    position: relative;
}

.pass_absolute{
    position: absolute;
    top: 33px;
    right: -20px;
}


.cashback_price{
  margin-left: 5px;
}

/* ===== /css/private_area/orders.css ===== */
/* =================================================================
   Pagina /comenzi/ — listă comenzi cu expand inline
   Versiune nouă (2026-05-05): listă în loc de mega-tabel cu produse
   ================================================================= */

/* ---------- Layout principal — main să se întindă pe lățimea liberă ---------- */
.orders_wrapper .date_change {
    flex: 1 1 auto;
    min-width: 0; /* permite shrinking corect în flex */
}

/* ---------- Mesaj listă goală ---------- */
.orders-empty {
    margin-top: 20px;
    padding: 30px 20px;
    text-align: center;
    background: #f5f7fa;
    border: 1px dashed #c5cdd6;
    border-radius: 8px;
    color: #5a6573;
    font-size: 16px;
}

/* ---------- Container listă ---------- */
.orders-list {
    margin-top: 20px;
    font-family: 'Montserrat', sans-serif;
}

/* Box-sizing border-box pentru a preveni overflow cu width:100% + padding */
.orders-list,
.orders-list * {
    box-sizing: border-box;
}

/* ---------- Antet listă (desktop) ---------- */
.orders-list__head {
    display: flex;
    align-items: stretch;
    background: #459DC9;
    color: #fff;
    border-radius: 6px 6px 0 0;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.orders-list__head .ol-cell {
    padding: 14px 12px;
    border-right: 1px solid rgba(255,255,255,0.25);
}
.orders-list__head .ol-cell:last-child {
    border-right: none;
}

/* ---------- Celule pe rândul rezumat (lățimi flexibile, shrinkable) ---------- */
.ol-cell {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 10px;
    font-size: 14px;
    min-width: 0; /* permite text truncare */
}
.ol-cell--id      { flex: 0 1 90px;  justify-content: flex-start; }
.ol-cell--date    { flex: 1 1 140px; }
.ol-cell--items   { flex: 0 1 60px; }
.ol-cell--total   { flex: 0 1 110px; }
.ol-cell--status  { flex: 1 1 130px; }
.ol-cell--toggle  { flex: 0 0 40px; }

.ol-id {
    font-weight: 700;
    color: #0d6aad;
}

/* ---------- Card comandă ---------- */
.order-row {
    background: #fff;
    border: 1px solid #d6dde5;
    border-top: none;
    transition: box-shadow 0.2s ease;
}
.order-row:first-of-type {
    /* prima comandă vine după head-ul colorat — păstrăm separator */
}
.order-row:last-of-type {
    border-radius: 0 0 6px 6px;
}
.order-row.expanded {
    box-shadow: 0 2px 8px rgba(13, 106, 173, 0.12);
}

/* ---------- Rândul rezumat (clickable) ---------- */
.order-row__summary {
    display: flex;
    align-items: stretch;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s ease;
}
.order-row__summary:hover {
    background: #f5f9fc;
}
.order-row.expanded .order-row__summary {
    background: #eef5fb;
    border-bottom: 1px solid #d6dde5;
}

/* Săgeata (chevron) ▼ */
.order-row__chevron {
    display: inline-block;
    font-size: 12px;
    color: #459DC9;
    transition: transform 0.2s ease;
}
.order-row.expanded .order-row__chevron {
    transform: rotate(180deg);
}

/* Labels-mobile (.ol-mlabel) — ascunse pe desktop, vizibile pe mobil */
.ol-mlabel {
    display: none;
}

/* ---------- Badge-uri status (semantic universal) ---------- */
.order-status {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    letter-spacing: 0.2px;
}
/* Nuanțe pastelate (un pic mai intense): fundal + text în aceeași nuanță, închisă (lizibil) */
.order-status--new       { background: #bfdbfe; color: #1e40af; }   /* albastru     */
.order-status--pending   { background: #fde68a; color: #92400e; }   /* galben       */
.order-status--paid      { background: #a7f3d0; color: #047857; }   /* verde deschis */
.order-status--shipped   { background: #fed7aa; color: #c2410c; }   /* portocaliu   */
.order-status--delivered { background: #bbf7d0; color: #15803d; }   /* verde        */
.order-status--canceled  { background: #fecaca; color: #b91c1c; }   /* roșu         */
.order-status--returned  { background: #ddd6fe; color: #6d28d9; }   /* mov          */
.order-status--errored   { background: #fca5a5; color: #7f1d1d; }   /* roșu închis  */
.order-status--unknown   { background: #e5e7eb; color: #4b5563; }   /* gri          */

/* ---------- Zona expandată ---------- */
.order-row__details {
    padding: 20px;
    background: #fafbfc;
}

/* Tabel produse interior */
.order-items {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 6px;
    font-size: 14px;
}
.order-items thead th {
    padding: 10px 12px;
    background: #e9eef3;
    color: #2a3540;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.2px;
}
.order-items thead th:first-child { border-radius: 4px 0 0 4px; }
.order-items thead th:last-child  { border-radius: 0 4px 4px 0; text-align: right; }

.order-items__td {
    padding: 12px;
    background: #fff;
    border-top: 1px solid #e6ebf0;
    border-bottom: 1px solid #e6ebf0;
    vertical-align: middle;
}
.order-items__td:first-child { border-left: 1px solid #e6ebf0; border-radius: 4px 0 0 4px; }
.order-items__td:last-child  { border-right: 1px solid #e6ebf0; border-radius: 0 4px 4px 0; text-align: right; }
.order-items__td--img        { width: 80px; }

/* Prețul vechi + "-X%" rămân o singură unitate (nu se rup pe rânduri la lățimi înguste) */
.oi-old-wrap {
    white-space: nowrap;
    display: inline-block;
}

/* Prețul vechi tăiat + "-X%" nu se micșorează sub 560px (suprascrie regula globală de 11px) */
.order-items__td .index_product_old,
.order-items__td .index_product_discount {
    font-size: 13px;
    line-height: 19px;
}

.order-items__thumb {
    display: inline-block;
}
.order-items__thumb img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    display: block;
}
.order-items__title {
    color: #0d6aad;
    text-decoration: none;
    font-weight: 500;
}
.order-items__title:hover {
    text-decoration: underline;
}

/* Labels-mobile pentru tabel (ascunse pe desktop) */
.oi-mlabel {
    display: none;
}

/* ---------- Bloc totalizare (sub tabelul de produse) ---------- */
.order-totals {
    margin-top: 20px;
    margin-left: auto;
    max-width: 380px;
    background: #fff;
    border: 1px solid #e6ebf0;
    border-radius: 6px;
    padding: 14px 18px;
    font-size: 14px;
}
.order-totals__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    color: #2a3540;
}
.order-totals__row + .order-totals__row {
    border-top: 1px dashed #eef2f5;
}
.ot-label {
    color: #6b7280;
}
.ot-value {
    font-weight: 600;
    text-align: right;
}
.order-totals__row--cashback .ot-value {
    color: #10b981;            /* verde — economie */
}
.ot-free {
    color: #10b981;
    font-weight: 600;
}
.order-totals__row--final {
    margin-top: 6px;
    padding-top: 12px;
    border-top: 2px solid #459DC9 !important;
    font-size: 16px;
}
.order-totals__row--final .ot-label {
    color: #2a3540;
    font-weight: 700;
}
.order-totals__row--final .ot-value {
    color: #0d6aad;
    font-weight: 700;
    font-size: 18px;
}

/* ---------- Meta-blocks (livrare / plată / comentariu) ---------- */
.order-row__meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 20px;
}
.order-row__meta-block {
    background: #fff;
    border: 1px solid #e6ebf0;
    border-radius: 6px;
    padding: 14px 16px;
}
.orm-title {
    margin: 0 0 8px 0;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #6b7280;
}
.orm-method {
    font-weight: 600;
    color: #2a3540;
    margin-bottom: 8px;
}
.orm-line {
    font-size: 14px;
    color: #2a3540;
    line-height: 1.5;
    margin-top: 2px;
}
.orm-line--name {
    font-weight: 600;
}
.orm-store {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #e6ebf0;
}
.orm-store__name {
    font-weight: 600;
    color: #0d6aad;
    margin-bottom: 4px;
}
.orm-store__addr,
.orm-store__phone {
    font-size: 14px;
    color: #2a3540;
    line-height: 1.5;
}
.orm-comment {
    font-style: italic;
    color: #4b5563;
}

/* ===== /css/cart/main.css ===== */
.cart_container{
    background: #fff;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 20px;
    padding-top: 40px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 40px;
    max-width: 1300px;
    border-radius: 6px;
}

.cart_container .index_product_cashback{
    margin-top: 20px;
    font-weight: 600;
    font-size: 13.33px;
}

.cart_container .catalog_prod_checkbox{
    margin-left: 10px;
}
.t_20{
    font-family: "Montserrat", sans-serif;
}

.red {
    color: red;
}


/* ===== /css/cart/step_1.css ===== */
.basket_steps{
    display: flex;
    flex-direction: row;
}

.step_title{
    width: calc(100%/2);
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 24px;
    color: #252525;
}

.step_title.active{
    color: #0d6aad;
}

.basket_progress_bar{
    width: 100%;
    height: 10px;
    border-radius: 5px;
    background: #F9F9F9;
    margin-top: 10px;
}

.basket_progress.step_1{
    width: 50%;
}

.basket_progress{
    border-radius: 5px;
    background: #80C8EC;
    height: 10px;
}

.basket_steps{
    margin-top: 20px;
}

.basket_content{
    display: flex;
    flex-direction: row;
    margin-top: 40px;
}

.basket_prods {
    width: calc(100% - 360px);
}

.basket_prod {
    border: 1px solid #CECECE;
    padding: 20px 20px 20px 80px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.bi_left, .bi_right{
    display: flex;
    align-items: center;
}

.bi_right{
    justify-content: flex-end;
    align-self: center;
    gap: 15px;
    margin-left: 30px;
}

.bi_price{
    display: none !important;
}

.bi_item_total{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    white-space: nowrap;
}

.bi_total_old_box{
    display: flex;
    flex-direction: row;
    align-items: center;
    line-height: 1;
    margin-bottom: 3px;
}

.bi_total_old_box .index_product_old{
    margin-left: 0;
}

/* Preț vechi tăiat + "-X%" — mărime intermediară (vizibil, dar subordonat prețului) */
.bi_total_old_box .index_product_old,
.bi_total_old_box .index_product_discount{
    font-size: 15px;
    line-height: 20px;
}

.bi_total_now{
    display: flex;
    align-items: center;
}

.bi_item_total .t_20{
    font-size: 18px;
    line-height: 22px;
    margin-left: 5px;
}

.basket_item_img{
    width: 175px;
    height: 120px;
    margin-right: 10px;
}

.basket_item_img img{
    width: 100%;
    object-fit: contain;
    height: 100%;
}
.basket_item_title {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 22px;
    color: #333333;
}

.bi_counter_inp{
    border: none;
    background: none;
    width: 40px;
    text-align: center;
    /* font-size explicit: fără el, Safari afișa textul mai mic decât Chrome (13.33px) */
    font-size: 13.33px;
}

/* font-size explicit: fără el, Safari afișa textul mai mic decât Chrome (13.33px) */
#cashback_input{
    font-size: 13.33px;
}

.bi_counter{
    display: flex;
    align-items: center;
    border: 1px solid #CECECE;
    padding: 10px;
    margin-right: 10px;
}

.counter_btn{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 26px;
    color: #252525;
}
.del_basket_item {
    border: none;
    background: #459DC9;
    opacity: 0.4;
    cursor: pointer;
    width: 60px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0.3s ease;
}
.del_basket_item:hover{
    opacity: 1;
}
.del_basket_item img {
    filter: brightness(0) invert(1);
}

.basket_option_btn{
    display: flex;
    align-items: center;
}

.basket_option_btn span{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 18px;
    cursor: pointer;
    text-decoration-line: underline;
    color: #3C7693;
}

.basket_sidebar {
    width: 380px;
    margin-left: 30px;
    float: right;
    border: 1px solid #CECECE;
    padding: 10px 0;
    padding-bottom: 30px;
    height: fit-content;
}

.sidebar_head_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    padding: 0 30px;
}

/* uniformizare rânduri sumar (Costul produselor / Numărul de produse / Reducere / Cashback):
   tot rândul la 15px — cifra era 13px, iar unitatea MDL/buc. moștenea 16px */
.sidebar_head_row,
.sidebar_head_row .shr_title,
.sidebar_head_row .t_18_b {
    font-size: 15px;
}

.shr_title {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
    color: #252525;
}
.shr_value{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 13px;
    line-height: 24px;
    color: #252525;
}

.sidebar_head {
    padding-bottom: 20px;
    border-bottom: 1px solid #CECECE;
}

.sidebar_total {
    padding: 25px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.total_title {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    color: #252525;
}

.total_value {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 29px;
    color: #252525;
}
.sidebar_btns{
    width: 310px;
    margin: 0 auto;
}

.sidebar_btns .continue{
    background: #9BC04F;
}

.sidebar_btns .continue:hover{
    background: #73A807;
}

.bi_price_wrapper{
    display: flex;
    flex-direction: column;
}

.bi_price_wrapper .index_product_price{
    display: flex;
    flex-direction: row;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 22px;
    line-height: 27px;
    color: #252525;
}
.bi_price_wrapper .index_product_old{
    width: fit-content;
}
.bi_price_wrapper_box{
    display: flex;
    flex-direction: row;
    align-items: center;
}

.bi_price_wrapper .index_product_old{
    margin-left: 0;
}

.bi_price, .bi_qty_price{
    margin-right: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    color: #252525;
}

.bi_price .t_20, .bi_qty_price .t_20{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    margin-left: 5px;
    color: #333333;
}

/* ===== /css/cart/step_2.css ===== */
.cart_delivery{
    margin-top: 20px;
    display: flex;
    flex-direction: column-reverse;
}

.cart_delivery .cart_delivery_box{
    width: calc(100%/2);
    margin-bottom: 20px;
}

.cart_delivery .catalog_prod_list{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
}

.cart_delivery .catalog_prod_item{
    width: calc(100%/2);
}

.cart_delivery .catalog_prod_checkbox input[type=radio] {
    visibility: hidden;
}

.cart_delivery .catalog_prod_checkbox input[type=radio]:checked + label:after {
    opacity: 1;
}

.cart_container .raf_inp{
    max-width: 474px;
    width: 100%;
    box-sizing: border-box;
}


.city_select{
    background: #FFFFFF;
    border: 1px solid #E0E0E9 !important;
    font-family: "Montserrat", sans-serif !important;
    /* font-size explicit: fără el, Safari afișa textul mai mic decât Chrome (13.33px) */
    font-size: 13.33px;
    border-radius: 4px;
    padding: 0px 12px;
    height: 44px !important;
    outline: none !important;
    line-height: 44px !important;
    max-width: 500px;
    margin-top: 5px;
}


/* widget nice-select pentru „Localitate" — aliniere la 13.33px (plugin-ul îl seta la 14px);
   specificitate .nice-select.city_select > .nice-select vendor, deci prinde container + text + opțiuni */
.nice-select.city_select,
.nice-select.city_select .current,
.nice-select.city_select .option {
    font-size: 13.33px;
}

.city_select.open{
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.cart_container .reg_wrapper, .delivery_home{
    display: grid;
    grid-template-columns: repeat(1, 50%);
    gap: 0px 40px;
}

.cart_container .reg_wrapper{
    padding-bottom: 0px;
    margin-bottom: 0px;
    padding-left: 0;
    padding-right: 0;
}

.delivery_home{
display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 100%;
}



.delivery_store{
display: none;
}

.cart_container .reg_wrapper {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}

/* ===== Combobox (forced selection dropdown) ===== */
.combobox-wrapper {
    position: relative;
    cursor: pointer;
}
.combobox-wrapper .combobox-display {
    cursor: pointer;
    background: #FFFFFF;
    padding-right: 30px;
}
.combobox-wrapper .combobox-display[disabled] {
    background: #F5F5F8;
    cursor: not-allowed;
    color: #999;
}
.combobox-wrapper .combobox-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #6B7280;
    font-size: 14px;
    pointer-events: none;
    user-select: none;
}

/* Overlay backdrop on mobile */
.combobox-overlay {
    position: fixed;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.4);
    inset: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 20px;
    overflow-y: auto;
}
.combobox-overlay[hidden] { display: none !important; }

.combobox-panel {
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: 520px;
    margin-top: 60px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 120px);
}

.combobox-header {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 18px 50px;
    border-bottom: 1px solid #F0F0F4;
}
.combobox-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #222;
    text-align: center;
}
.combobox-close {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    font-size: 26px;
    line-height: 1;
    color: #6B7280;
    cursor: pointer;
    padding: 4px 8px;
}
.combobox-close:hover { color: #222; }

.combobox-search-row {
    position: relative;
    margin: 16px 18px 0;
}
.combobox-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #6B7280;
    pointer-events: none;
    display: flex;
    align-items: center;
}
.combobox-search {
    width: 100%;
    background: #F5F5F8;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 12px 40px 12px 42px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    color: #222;
    box-sizing: border-box;
    outline: none;
}
.combobox-search:focus { border-color: #459DC9; background: #fff; }
.combobox-clear {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: #C9CDD6;
    color: #fff;
    border: 0;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.combobox-spinner {
    position: absolute;
    right: 12px;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    border: 2px solid #E0E0E9;
    border-top-color: #459DC9;
    border-radius: 50%;
    animation: combobox-spin 0.7s linear infinite;
    pointer-events: none;
}
@keyframes combobox-spin {
    to { transform: rotate(360deg); }
}

.combobox-min-note {
    margin: 8px 18px 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #9CA3AF;
}

.combobox-section {
    padding: 8px 0 4px;
}
.combobox-section + .combobox-section {
    border-top: 1px solid #F5F5F8;
}
.combobox-section-title {
    padding: 8px 18px 4px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    color: #9CA3AF;
    text-transform: uppercase;
}
.combobox-results-section {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
}
.combobox-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.combobox-list li {
    padding: 12px 18px;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    color: #222;
    border-bottom: 1px solid #F5F5F8;
    display: flex;
    align-items: center;
    gap: 12px;
}
.combobox-list li:last-child { border-bottom: 0; }
.combobox-list li:hover,
.combobox-list li.combobox-active { background: #F5F5F8; }
.combobox-list li .combobox-pin {
    color: #9CA3AF;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.combobox-add-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    cursor: pointer;
}
.combobox-add-item:hover { background: #F5F5F8; }
.combobox-add-icon {
    color: #9CA3AF;
    display: flex;
    align-items: center;
}
.combobox-add-text {
    flex: 1;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    color: #222;
}
.combobox-add-plus {
    color: #6B7280;
    font-size: 22px;
    line-height: 1;
}

.combobox-empty,
.combobox-loading {
    padding: 16px 18px;
    color: #9CA3AF;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-align: center;
}

@media (max-width: 600px) {
    .combobox-overlay { padding: 0; }
    .combobox-panel {
        margin-top: 0;
        max-width: none;
        height: 100vh;
        max-height: 100vh;
        border-radius: 0;
    }
}

/* Linkul „Termeni și condiții" din acordul de la checkout — diferențiat de restul propoziției */
.catalog_prod_label .terms_link{
    font-weight: 700;
    font-style: italic;
}

/* Blocul „Sunt de acord cu Termeni și condiții" — full width + o singură linie (nu rupe pe ecrane mici).
   Spre deosebire de metodele de livrare/plată (2 coloane), aici e un singur item. */
.agree_row .catalog_prod_item{
    width: 100%;
}
.agree_row .catalog_prod_label{
    white-space: nowrap;
}

/* ===== /css/cart/step_3.css ===== */
.ht_2 {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 36px;
    line-height: 44px;
    color: #434242;
}

.order_details_header{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.od_back_link img{
    margin-right: 10px;
}
.od_back_link{
    display: flex;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    color: #434242;
}

.order_details_adress{
    margin-top: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid #CECECE;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 22px;
    color: #434242;
}

.pic_title_top, .odah{
    font-weight: 600;
    font-size: 22px;
    line-height: 27px;
}

.pic_clarification {
    padding-bottom: 10px;
    border-bottom: 2px solid #D12027;
    color: #D12027;
    font-size: 18px;
    font-weight: 600;
}

.order_details_adress>div, .pic_data>div{
    margin-bottom: 10px;
}

.pic_data{
    padding-top: 20px;
}

.order_details_paymethod {
    padding: 40px 0;
    border-bottom: 1px solid #CECECE;
}

.odph {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 22px;
    line-height: 27px;
    color: #434242;
}

.pic_pm{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 19px;
    color: #434242;
}

.order_details_prods {
    padding: 40px 0;
    border-bottom: 1px solid #CECECE;
}

.odp_header {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 22px;
    line-height: 27px;
    color: #434242;
}

.order_item {
    position: relative;
    padding: 20px;
    padding-right: 70px;
    border: 1px solid #CECECE;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.order_item_left {
    display: flex;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    color: #434242;
}

/* Spațiu între denumirea produsului și zona de preț/cantitate */
.order_item_right {
    margin-left: 30px;
}

.order_item_buy_price {
    display: flex;
    align-items: center;
    justify-content: end;
    flex-wrap: wrap;
    row-gap: 2px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    color: #434242;
}

/* Prețul vechi + "-X%" rămân o singură unitate și coboară împreună pe al doilea rând la ecrane mici */
.order_item_buy_price .oi-old-wrap {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}
.order_item_buy_price .index_product_price {
    font-size: 18px;
    font-weight: 600;
    line-height: 22px;
}

/* Preț vechi tăiat + "-X%" — mărime intermediară (vizibil, dar subordonat prețului), ca pe coș */
.order_item_buy_price .index_product_old,
.order_item_buy_price .index_product_discount {
    font-size: 15px;
    line-height: 20px;
}
.order_item_weight, .opqty {
    margin-left: 50px;
}

.order_details_total {
    padding: 40px 0;
    border-bottom: 1px solid #CECECE;
}

.odt_header {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 22px;
    line-height: 27px;
    color: #434242;
    margin-bottom: 20px;
}
.odt_row{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 22px;
    color: #434242;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.odt_total_row {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 22px;
    line-height: 27px;
    color: #434242;
}

.pic_pm{
    margin-top: 10px;
}

.order_item_img{
    width: 170px;
    margin-right: 10px;
}

.order_item_img img{
    width: 100%;
    height: 100%;
}

.order_item_title{
    max-width: 500px;
    width: 100%;
    font-weight: 400;
}

/* "MDL" rămâne normal; bold doar pe preț (ca pe coș) */
.order_item_buy_price .oi-mdl{
    font-weight: 400;
}

.order_item_buy_price {
    max-width: 100%;
}

/* Ecrane mici: blocul de preț devine vertical, aliniat la dreapta — prețul vechi + "-X%"
   coboară integral sub preț (lângă el), fără ca "x N" să-l împingă la stânga.
   width: max-content păstrează prețul pe un rând (titlul se comprimă în schimb). */
@media (max-width: 820px) {
    .order_item_buy_price {
        flex-direction: column;
        align-items: flex-end;
        width: max-content;
    }
    .order_item_buy_price .opqty {
        margin-left: 0;
    }
}

/* Sub 520px .order_item devine coloană (titlu sus, zona de preț jos pe toată lățimea):
   acolo e loc pentru preț + reducere + cantitate pe un singur rând. */
@media (max-width: 520px) {
    .order_item_buy_price {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        width: auto;
    }
    .order_item_buy_price .opqty {
        margin-left: 15px;
    }
}
/* ===== /css/cart/thx.css ===== */
.thx_block{
    max-width: 500px;
    margin: 50px auto 100px auto;
    text-align: center;
}

.thx_title {
    color: #92BA53;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 36px;
    line-height: 44px;
    color: #92BA53;
}

.thx_txt{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 22px;
    margin-top: 10px;
    color: #434343;
}
.thx_continue_btn{
    display: inline-flex;
    margin-top: 24px;
}

/* ===== /css/favorite.css ===== */
.favorite_wrapper{
    max-width: 1105px;
    margin: 0 auto;
    padding-bottom: 50px;
}

@media(max-width: 560px){
    .favorite_wrapper{
        padding-bottom: 15px;
    }
}
/* ===== /css/contacts.css ===== */
.page_box{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    /* separă coloana de contacte de formular: orizontal când stau alături (>600px),
       vertical când sunt stivuite (≤600px); coloanele width:50% se strâng prin flex-shrink */
    gap: 30px;
}
.page_box_info{
    width: 50%;
}

.page_box .footer_form_input{
    display: block;
    width: 100%;
    /* border-box (fix 18 iul 2026): cu content-box, width:100% + padding 12px×2 + bordură 1px×2
       dădea 301px într-o coloană de 275px — câmpurile treceau peste marginea dreaptă a paginii
       (vizibil sub ~700px, unde depășirea ieșea din zona de conținut). */
    box-sizing: border-box;
    margin-bottom: 10px;
}

.page_box .footer_form_textarea{
    /* completarea fix-ului border-box (18 iul 2026): height:40px moștenit din footer.css devenea,
       în border-box, 24px de conținut — sub line-height-ul de 26px → textarea GOALĂ avea scroll
       (bara gri vizibilă în emularea DevTools). 58px = exact aceeași mărime vizuală ca în footer
       (40px conținut + 16px padding + 2px bordură). */
    height: 58px;
}

.page_box .footer_form_submit{
    margin-top: 20px;
}

.page_box_info_item{
    padding-bottom: 10px;
    font-family: "Montserrat", sans-serif;
    max-width: 400px;
    font-weight: 500;
    line-height: 20px;
}

.page_box_title{
    font-size: 24px;
    font-family: 'Montserrat', sans-serif;
    line-height: 36px;
    margin-bottom: 10px;
    font-weight: 600;
}
.page_wrapper iframe{
    margin-top: 30px;
}

@media(max-width: 600px){
    .page_box{
        flex-direction: column;
    }
    .page_box_info{
        width: 100%;
    }
    .page_box_info_item{
        max-width: unset;
        width: 100%;
    }
    /* sub 600px formularul paginii arată identic cu cel din footer (același titlu, aceleași
       câmpuri, unul sub altul) → impresie de dublură (decizia userului, 18 iul 2026): pe ecrane
       mici rămâne DOAR formularul din footer; peste 600px cele două arată diferit și coexistă. */
    .page_box .footer_form{
        display: none;
    }
}
/* ===== /css/compare/compare.css ===== */
.compare_wrapper{
    display: block;
}
/* Allow the compare wrapper to grow wider than the inherited .date_wrapper
   max-width: 1300px so that 4 product cards (max for compare) fit fully
   without horizontal scroll on large viewports.
   Width math: 220 (desc max-width) + 4 × 282 (card min-width 260 + 20 td
   padding + 2 border) = 1330px → set to 1360px for breathing room. */
.date_wrapper.compare_wrapper{
    max-width: 1360px;
}
.btn-differences span{
    display: none;
}
.btn-differences .active{
    display: block;
}

/* Toolbar above the table — currently holds only the "show only differences"
   toggle. Stays above #table1 on all viewports. */
.compare_toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 10px 0 16px;
    flex-wrap: wrap;
}
.compare_diff_toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #2d6a8a;
    padding: 8px 14px;
    border: 2px solid #459DC9;
    border-radius: 4px;
    background: #ffffff;
    transition: background 0.2s, color 0.2s;
}
.compare_diff_toggle input {
    margin: 0;
    cursor: pointer;
}
.compare_diff_toggle:hover {
    background: #f0f7fb;
}
.compare_head_intro {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: #252525;
}
#table1.diff-only tr.row-identical {
    display: none;
}

/* Phase C: zebra striping & difference highlighting */
#table1 tr.row-different .parameters {
    background: #fff8e1;
}
#table1 tr.row-different .characteristics {
    background: #fff3c4;
}
#table1 tr:nth-child(odd of .spec-row) .parameters {
    background-color: #fafcfd;
}
#table1 tr.row-different:nth-child(odd of .spec-row) .parameters {
    background: #fff8e1;
}

.compare_head {
    text-align: left;
    vertical-align: top;
}
.compare_head p {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 22px;
    color: #252525;
}

#table1 {
    border-spacing: 0 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    margin-top: 10px;
    /* Make the table itself the horizontal scroll container so sticky cells
       can pin to its left edge. Cards keep homepage-like dimensions; when they
       don't all fit, the user scrolls horizontally and the label column stays
       in view. */
    display: block;
    overflow-x: auto;
    width: 100%;
    max-width: 100%;
    white-space: normal;
}

/* Product columns: minimum width matching homepage card slot at desktop
   (~262px). Tablet/mobile reduce in steps via media queries below.
   The table grows wider than the viewport when products don't all fit,
   triggering horizontal scroll. */
#table1 td:not(.compare_head):not(.characteristics) {
    min-width: 260px;
}

/* Tablet (768-1023px): cards shrink to 200px so 3 still fit comfortably */
@media (min-width: 768px) and (max-width: 1023px) {
    #table1 td:not(.compare_head):not(.characteristics) {
        min-width: 200px;
    }
    #table1 .index_product_img img {
        max-height: 180px;
        object-fit: contain;
    }
    #table1 .index_product_name {
        font-size: 13px;
        line-height: 18px;
        height: 54px;
    }
}

/* Label column (first column): scrolls together with the rest of the table
   when there's horizontal overflow (eMAG-style — not sticky). */
#table1 .compare_head,
#table1 .characteristics {
    background: #ffffff;
    min-width: 180px;
    max-width: 220px;
}
#table1 th {
    padding: 10px 20px;
    background: #459DC9;
    color: #ffffff;
    border-right: 2px solid;
    font-size: 0.9em;
}
#table1 th:first-child {
    text-align: left;
}
#table1 th:last-child {
    border-right: none;
}
#table1 tr{
    border-left: 2px solid #459DC9;
    border-right: 2px solid #459DC9;
}
#table1 td{
    vertical-align: middle;
    padding: 10px;
    font-size: 14px;
    text-align: left;
    max-width: 250px;
    border-top: 2px solid #459DC9;
    border-bottom: 2px solid #459DC9;
    border-right: 2px solid #459DC9;
}
#table1 td:first-child {
    border-left: 2px solid #459DC9;
}

#table1 td .index_product_item{
    position: relative;
    border-right: 0;
}

#table1 td .index_product_item .compare_close{
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    z-index: 2;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #fff;
}

#table1 td .index_product_item .compare_close img{
    object-fit: none;
}

.popup_compare{
    width: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #CECECE;
    padding: 10px 13px 10px 10px;
    position: fixed;
    top: 100px;
    right: 100px; /* fallback, JS overrides */
    z-index: 50;
    background: rgba(255, 255, 255, 0.33);
    transition: right 0.3s ease, opacity 0.3s ease;
}
.popup_compare img{
    width: 100%;
    height: 100%;
    background-size: contain;
}

.popup_compare .popup_compare_img{
    background: #fff;
    height: 100%;
    width: 100%;
    border: 1px solid #CECECE;
}

.popup_compare .popup_compare_item{
    position: relative;
    margin-bottom: 10px;
}
.popup_compare .popup_compare_item .popup_compare_item_close{
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ff0000;
    width: 15px;
    height: 15px;
    border-radius: 50px;
    top: 3px;
    right: 3px;
    cursor: pointer;
}
.popup_compare .popup_compare_item .popup_compare_item_close img {
    width: 7px;
    height: 7px;

}

.popup_compare .compare_btn{
    font-size: 14px;
    line-height: 16px;
    cursor: pointer;
    padding: 10px 15px;
}

.popup_compare .compare_limit{
    font-family: "Montserrat", sans-serif;
    text-align: center;
}
.popup_compare_wrapper{
    position: relative;
}
.compare_show{
    width: 37px;
    height: 37px;
    background: #FFFFFF;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 3;position: absolute;
    user-select: none;
    top: -25px;
    left: -25px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
}

.compare_show img{
    width: 5px;
    transform: rotate(90deg);

}

.compare_show.__active img{
    transform: rotate(-90deg);
}

/* Mobile (<768px): keep the same table layout as desktop, just shrink
   cards and the sticky description column. eMAG-inspired uniform table. */
@media (max-width: 767px) {
    #table1 td:not(.compare_head):not(.characteristics) {
        min-width: 170px;
    }
    #table1 .compare_head,
    #table1 .characteristics {
        min-width: 130px;
        max-width: 150px;
    }
    #table1 td {
        padding: 8px;
        font-size: 12px;
    }

    /* Compact product card on mobile: smaller image and text.
       Override homepage media_index.css min-height: 260px on the wrapper
       so the card hugs the actual image height instead of leaving 140px
       of empty space above/below the small image. */
    #table1 .index_product_img {
        min-height: 0;
    }
    #table1 .index_product_img img {
        max-height: 120px;
        height: auto;
        object-fit: contain;
    }
    #table1 .index_product_name {
        font-size: 12px;
        line-height: 16px;
        max-width: 100%;
        height: 48px;
        padding-right: 0;
    }
    #table1 .index_product_price {
        font-size: 14px;
        line-height: 18px;
    }
    #table1 .index_product_cod,
    #table1 .index_product_cashback,
    #table1 .index_product_stock {
        font-size: 11px;
        line-height: 14px;
        padding-right: 0;
    }
    #table1 .compare_close {
        width: 26px !important;
        height: 26px !important;
        top: 2px !important;
        right: 2px !important;
    }
    #table1 .compare_close img {
        width: 12px;
        height: 12px;
    }

    .compare_diff_toggle {
        font-size: 13px;
        padding: 7px 12px;
    }
    .compare_head_intro {
        font-size: 12px;
        line-height: 16px;
    }

    .popup_compare {
        right: 15px;
        top: 175px;
    }
}

/* Mobile: reduce lateral spacing on compare page.
   Selector .date_wrapper.compare_wrapper bumps specificity to override
   media_register.css which loads after compare.css and resets these. */
@media(max-width: 560px){
    .date_wrapper.compare_wrapper{
        margin-left: -7px;
        margin-right: -7px;
        padding-left: 8px;
        padding-right: 8px;
        padding-top: 15px;
        padding-bottom: 15px;
        margin-top: 20px;
        margin-bottom: 10px;
    }
    #table1{
        margin-left: 0;
        margin-right: 0;
    }
    /* On small mobile, media_index.css hides .index_product_cod and
       collapses name margin to 3px, leaving the image touching the name.
       Restore the gap by bumping name margin so it visually matches the
       layout above 560px (where the cod text provides 18px of breathing). */
    #table1 .index_product_name {
        margin-top: 14px;
    }
}

/* Small mobile (<480px): even more compact cards (eMAG-inspired sizing) */
@media (max-width: 479px) {
    #table1 td:not(.compare_head):not(.characteristics) {
        min-width: 150px;
        padding: 6px;
    }
    #table1 .compare_head,
    #table1 .characteristics {
        min-width: 110px;
        max-width: 130px;
    }
    #table1 .index_product_img img {
        max-height: 100px;
    }
    #table1 .index_product_name {
        font-size: 11px;
        line-height: 14px;
        height: 42px;
    }
    #table1 .index_product_price {
        font-size: 13px;
    }
    .compare_diff_toggle {
        font-size: 12px;
        padding: 6px 10px;
    }
}
/* ===== /css/gui.css ===== */
.header_elem_category:hover{
    color: #0A587E;
}

.hover_off{
    display: none;
}

.magnifier_icons{
    width: 17px;
    height: 20px;
}

.magnifier_icons:hover .hover_on{
    display: none;
}
.magnifier_icons:hover .hover_off{
    display: block;
    width: 17px;
    height: 17px;
}

.header_elem_action_item{
    cursor: pointer;
}

.header_elem_action_item:hover .hover_on{
    display: none;
}
.header_elem_action_item:hover .hover_off{
    display: block;
}

.header_elem_phone{
    cursor: pointer;
}

.header_elem_phone:hover, .produs_info_cart_btn:hover{
    background: #73A807;
}

.header_elem_lang:hover{
    background: #FFFFFF;
}
.lang_select:hover{
    background: #F5F5F6;
}

.index_catalog_item_wrapper:hover{
    color: #434242;
}

.index_main_banner_item_btn:hover{
    background: #2790C5;
}

.index_product_cart{
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    box-sizing: border-box;
    flex-shrink: 0;
    /* afișaj unic: permanent verde-plin cu coșul alb (starea „apăsat” de dinainte, acum fixă) */
    background: #9BC04F url('/icons/poducts/cart_hover_prod.svg') no-repeat center;
    background-size: 22px auto;
}

/* coșul vechi (cele 2 imagini cu swap pe hover) este înlocuit de iconul alb din background */
.index_product_cart img{
    display: none;
}

.index_product_cart:hover{
    background-color: #73A807;
}

/* buton „Epuizat" — același stil contur verde ca .index_product_cart, dar pastilă cu text */
.index_product_soldout{
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    flex-shrink: 0;
    padding: 0 16px;
    border: 1.5px solid #9BC04F;
    border-radius: 36px;
    background: #fff;
    color: #9BC04F;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}

.produs_info_credit_btn:hover{
    color: #3E3E3E;
    border: 1px solid #DFDFDF;
}

.minus:hover, .plus:hover, .prod_info_plus:hover, .prod_info_minus:hover{
    color: rgba(37, 37, 37, 0.6);
}

.scrumb_item:hover{
    font-weight: 700;
}

.index_product_heart:hover .hover_on{
    display: none;
}
.index_product_heart:hover .hover_off{
    display: block;
}
.index_product_name:hover{
    color: #0A587E;
    cursor: pointer;
}
.hover_active{
    display: none;
}

.not_selected{
    display: none;
}

.produs_left:hover, .produs_right:hover{
    box-shadow: none;
}

.footer_info_item:hover{
    color: rgba(0, 0, 0, 0.6);
    text-decoration: underline;
}

.footer_form_submit:hover{
    background: #2790C5;
}

.cookie_accept:hover, .prod_contact_btn:hover{
    background: #73A807;
}

.footer_contact_social_item{
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer_contact_social_item:hover .hover_on{
    display: none;
}
.footer_contact_social_item:hover .hover_off{
    display: block;
}

.produs_detail_action .hover_off{
    display:none;
}
.index_product_heart .heart:hover path, .index_product_heart .compare:hover path{
     fill: #525252;
}
.index_product_heart .active path{
    fill: #5BB4A6;
}.index_product_heart .active:hover path{
    fill: #5BB4A6;
}
.produs_detail_action .index_product_heart:hover .hover_on{
    display: none;
}
.produs_detail_action .index_product_heart:hover .hover_off{
    display: block;
}

.index_main_block_item_btn:hover{
    background: #2790C5;
}
/* ===== /css/media/media_header.css ===== */
@media(max-width: 1480px){
    .header_logo{
        margin-right: 20px;
    }
}

@media(max-width: 1300px){
    .header_elem_action_item{
        width: unset;
    }
    .header_elem_action_item .header_elem_action_item_counter{
        top: -3px;
        right: -6px;
    }
    
}

@media(max-width: 1270px){
    .header_elem_search{
        max-width: 380px;
    }
}

@media(max-width: 1140px){
    .header_menu{
        width: 850px;
        right: 0;
        left: unset;
    }
    .header_menu_list{
        /* panou mai îngust (850px) → 3 coloane (mai late, lizibile). Înainte: grid-template-columns,
           cod mort (lista e multicolumn, nu grid) → rămâneau 4 coloane înghesuite. */
        column-count: 3;
    }
    .header_elem_search{
        max-width: 300px;
    }
}

@media(min-width: 1060px){
    .menu_mob, .header_burger{
        display: none;
    }
}

@media(max-width: 1060px){
    /* .header_phone_wrap: ascundem și wrap-ul dropdown-ului de program, nu doar pastila —
       altfel rămâne flex-item gol în .header_elem, iar dropdown-ul deschis ar supraviețui resize-ului */
    .header_elem_phone, .header_phone_wrap, .header_lang, .header_catalog{
        display: none;
    }
    .header_elem_search{
        max-width: unset;
        margin: 0 30px;
    }
    .header_elem_action_item{
        margin-right: 20px;
    }
    .header_burger{
        display: block;
    }
    .header_burger{
        margin-right: 20px;
        cursor: pointer;
    }
    .header_burger_active .header_on{
        display: none;
    }
    .header_burger_active .header_off{
        display: block;
    }
    /* D5 (2026-06-02): regulile .elem_mob (telefon 160px + limbi orizontal din drawer) au fost
       MUTATE în @media(max-width:1430px) de mai jos, ca drawer-ul mobil să arate identic și în
       intervalul 1060-1430px (deschis prin butonul "Produse"), nu doar ≤1060px. */
}

@media(min-width: 680px){
    .search_mob{
        display: none;
    }
}


@media(max-width: 680px){
    .header{
        height: unset;
        padding-bottom: 15px;
    }
    main{
        /* 560–680px: header mobil = 140px (82 wrapper + 43 search_mob + 15 padding-bottom) + 8px.
           Sub 560px header-ul scade la 127px, iar media_index.css (încărcat după) suprascrie la 135px. */
        margin-top: 148px;
    }
    .header_elem_search{
        display: none;
    }
    .search_mob{
        display: flex;
        margin: 0 !important;
    }
    .header_elem{
        justify-content: flex-end;
    }
    .menu_mob_wrapper{
        padding-top: 140px;
    }
}

@media(min-width: 400px){
    .elem_mob_action{
        display: none;
    }
}

@media(max-width: 400px){
    .elem_mob_wrapper{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .header_elem_action{
        /* display: none; */
    }
    .elem_mob_action{
        display: none;
        /* display: flex; */
    }
    .menu_mob_wrapper{
        max-width: 400px;
        width: 100%;
    }
}

/* ============================================================
   D3 (2026-06-02): reechilibrare header desktop după eliminarea
   butonului "Catalog" (B1). Se aplică pe TOT intervalul ≥1431px, cât
   timp combinația hamburger (.index_catalog) + mega-menu e vizibilă
   (hamburgerul se ascunde la max-width:1430px). Sub 1431px = D5.

   Aliniere search ↔ banner, INVARIANTĂ la lățimea ferestrei:
   În .index_wrapper de dedesubt, banner-ul (.index_main) e CONSTANT 1105px
   pe tot intervalul (conținut slider rigid), iar hamburgerul absoarbe restul:
   hamburger_width = wrapper − 1105 − 20 (deci 350px la ≥1475px, dar se
   STRÂNGE sub 350 când fereastra scade — ex. 277px la 1432px).
   Replicăm structura în header (header_wrapper === index_wrapper ca lățime):
   - .header_elem = lățime FIXĂ 1105px (oglindește banner-ul constant);
   - .header_logo ia RESTUL (flex-grow) = exact lățimea coloanei hamburgerului
     → search-ul (primul din .header_elem) începe fix pe linia marginii stângi
     a banner-ului, la ORICE viewport ≥1431px (nu doar la 1475+).
   - search-ul crește (flex-grow) ca să umple → header "plin" spre dreapta;
     cont/coș/telefon/limbă grupate dreapta, lang lipit de marginea dreaptă.
   ============================================================ */
@media(min-width: 1431px){
    .header_logo{
        flex: 1 1 auto;        /* ia restul = lățimea coloanei hamburgerului (variabilă sub 1475px) */
        margin-right: 20px;    /* = .index_catalog margin-right (gap coloană → banner) */
    }
    .header_elem{
        flex: 0 0 1105px;      /* = .index_main (banner) constant → logo oglindește EXACT hamburgerul → search.left = banner.left la orice lățime */
        justify-content: flex-start;   /* era space-between */
        column-gap: 40px;              /* spațiere rezonabilă, uniformă */
    }
    .header_elem_search{
        flex: 1 1 0;           /* search crește să umple spațiul → header plin spre dreapta */
        max-width: none;       /* ridică plafonul de 500px din .header_elem_search base */
    }
}

/* ============================================================
   D5 (2026-06-02): interval 1060-1430px — hamburgerul desktop
   (.index_catalog) e ascuns (max-width:1430px) și NU mai există acces
   la catalog în header. Soluție (decizia B5): buton "Produse" în header
   care deschide drawer-ul MOBIL (.menu_mob), nu mega-menu-ul desktop.
   Sub 1060px rămâne modul mobil clasic (icon .header_burger). Remodelarea
   drawer-ului pe 3 niveluri = sarcină separată ulterioară.
   ============================================================ */
@media(max-width: 1430px){
    /* drawer-ul mobil devine vizibil la click pe TOT intervalul ≤1430px (mutat din @max-width:1060px);
       declanșat de butonul "Produse" (1061-1430px) sau de .header_burger (≤1060px) */
    .menu_mob_active{
        display: block;
        transition: 0.5s all;
    }
    /* Drawer-ul mobil arată IDENTIC pe tot ≤1430px (nu doar ≤1060px) — telefon 160px (nu full-width)
       + limbi ORIZONTAL. Mutate din @max-width:1060px ca să acopere și intervalul 1060-1430px. */
    .elem_mob{
        display: flex;
        width: 160px;
        margin-left: 26px;
        margin-top: 15px;
    }
    /* spațiul deasupra butonului de telefon = egal cu cel de sub el (24px până la program) */
    .header_elem_phone.elem_mob{
        margin-top: 24px;
    }
    .elem_mob .header_elem_lang{
        margin-right: 10px;
    }
    .elem_mob .header_elem_action_item{
        width: 30px;
    }
}
@media(min-width: 1061px) and (max-width: 1430px){
    .header_products_btn{
        display: flex;       /* butonul "Produse" apare DOAR în acest interval */
    }
    .header_elem{
        justify-content: flex-start;   /* "Produse" + search grupate stânga, restul împins dreapta */
        column-gap: 28px;
    }
    .header_elem_search{
        flex: 1 1 auto;      /* search umple spațiul dintre "Produse" și grupul din dreapta */
        max-width: none;     /* ridică plafoanele 500/380/300px din breakpoint-urile de mai sus */
    }
    /* telefonul din header nu se strânge → textul "0 (69) 229 229" rămâne pe 1 rând (nu se rupe în 2)
       (.header_phone_wrap e acum flex-item-ul direct, după împachetarea cu dropdown-ul de program) */
    .header_elem_phone, .header_phone_wrap{
        flex-shrink: 0;
    }
    .header_elem_phone_link{
        white-space: nowrap;
    }
    /* Telefon + limbi sunt deja vizibile în HEADER la aceste lățimi (>1060px) → ascundem dublurile
       din drawerul mobil (deschis de butonul "Produse"). La ≤1060px header-ul le ascunde, deci
       .elem_mob rămân vizibile acolo (singurul acces la telefon/limbi). */
    .header_elem_phone.elem_mob,
    .header_lang.elem_mob,
    .header_mob_schedule{
        display: none;
    }
    /* după ascunderea telefon/limbi, drawerul își ia înălțimea conținutului (catalog) în loc de
       full-height → se termină exact sub ultima categorie, fără gol alb. Se limitează la viewport
       și scrollează dacă e mai înalt. padding-bottom 0 = niciun spațiu de prisos sub ultima categorie. */
    .menu_mob_wrapper{
        height: auto;
        max-height: 100%;
        padding-bottom: 0;
    }
}

/* ============================================================
   >1430 (2026-07-21, v2): butonul "Produse" apare în header DOAR când pagina e
   scrollată dincolo de hamburgerul din pagină (clasa .pbtn-scrolled e pusă de
   JS, doar pe homepage — unde există .index_catalog). Click → ACELEAȘI meniuri
   desktop (hamburgerul + megamenu-ul REALE din pagină, fixate temporar sub
   header de JS — nu drawerul mobil; două tipuri de meniu pe aceeași pagină
   derutau). Alinierea search↔banner din header se decalează doar CÂT butonul
   e vizibil — moment în care bannerul oricum nu mai e pe ecran.
   ============================================================ */
@media(min-width: 1431px){
    /* butonul stă ABSOLUT lângă logo (în zona-oglindă a hamburgerului, lățime 350px):
       nu participă la flexul din .header_elem → search-ul NU se mai decalează la apariție */
    .header_wrapper{
        position: relative;
    }
    .header_products_btn.pbtn-scrolled{
        display: flex;
        position: absolute;
        left: 196px;              /* imediat după logo (172px + 24px gap) */
        top: 50%;
        transform: translateY(-50%);
    }
    /* stratul de închidere al panoului de catalog deschis din header: TRANSPARENT
       (cerința owner — pagina nu se mai întunecă); prinde doar click-ul de închidere.
       z 995/996 < header 1000 — headerul rămâne deasupra. */
    .hdr-cat-backdrop{
        position: fixed;
        inset: 0;
        z-index: 995;
        background: transparent;
        display: none;
        cursor: default;
    }
    .hdr-cat-backdrop.on{
        display: block;
    }
    /* umbră DOAR când meniurile sunt fixate sub header la scroll (deschise din «Produse») —
       ca să se evidențieze peste cardurile produselor. În starea naturală (în capul paginii)
       niciunul nu are umbră. Se aplică pe AMBELE panouri (hamburger + megamenu). */
    body.hdr-cat-fixed .index_catalog_content,
    body.hdr-cat-fixed .header_menu{
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    }
}
/* ===== /css/media/media_cookie.css ===== */
/* Banda se rearanjează singură: .cookie e flex cu wrap și centrare, deci pe ecrane înguste
   mesajul se înfășoară și butoanele coboară pe rândul următor, tot centrate — fără reguli
   de layout separate pe breakpoint. Aici rămân doar marginile interioare, mai strânse. */
@media(max-width: 760px){
    .cookie{
        padding: 12px 16px;
        gap: 10px 18px;
    }
}

/* ===== /css/media/media_index.css ===== */
@media(max-width: 1490px) {
  .partner_slide {
    margin: 0 auto;
  }
}

@media(max-width: 1430px) {
  .index_catalog {
    display: none;
  }

  .index_main,
  .menu_wrapper {
    margin: 0 auto;
  }

  /* vitrinele stau ACUM în afara coloanei .index_main (full-width la >1430px, sub meniul
     hamburger); aici, unde hamburgerul e ascuns, le readucem la lățimea istorică 1105px
     centrată — vizual identic cu înainte (regulile mobile de mai jos suprascriu marginile) */
  .index_product {
    max-width: 1105px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media(max-width: 1100px) {
  .index_main_block_item_title {
    font-size: 30px;
    line-height: 38px;
  }
}

@media(max-width: 1020px) {

  .index_main_box_img img {
    width: 100%;
  }

  .index_product_wrapper .produs_right2 {
    right: 25px;
  }
}

@media(max-width: 950px) {
  .index_main_block_slider_item {
    flex-direction: column-reverse;
    height: unset;
  }

  .index_main_block_img {
    justify-content: center;
  }

  .index_main_block_item_title {
    margin-top: 0;
    font-size: 24px;
    line-height: 36px;
    max-width: 400px;
  }

  .index_main_block_slider_item {
    padding-right: 0;
  }

  .img_block {
    width: 100%;
    padding: 0;
  }

  .index_main_box_item_title {
    font-size: 24px;
    max-width: 300px;
  }

  .index_main_box_item_btn {
    padding: 9px 20px 14px 20px;
  }
}

@media(max-width: 860px) {
  .produs_right {
    right: 0;
  }

  .index_product_wrapper .produs_right2 {
    right: 0px;
  }

  .simple_swiper_btns {
    max-width: 160px;
  }
}

@media(max-width: 850px) {
  .index_main_box_item {
    top: 95px;
  }
}

@media(max-width: 720px) {
  .index_product_item {
    margin: 0 auto;
  }

  .toptop {
    right: 20px;
  }

  .index_main_box_item {
    top: 80px;
  }
}

@media(max-width: 690px) {
  .index_main_box_item_title {
    font-size: 19px;
    max-width: 300px;
  }
}

@media(max-width: 650px) {
  .index_main_box_item_btn {
    margin-top: 10px;
  }
}

@media(max-width: 559.98px) {
  .index_product_item {
    border-right: 0;
    border-bottom: 0;
    padding-right: 4px;
    padding-left: 4px;
    padding-bottom: 8px;
    width: 100%;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .index_product .swiper-slide {
    border-right: 1px solid #EAEAF0;
    overflow: hidden;
  }

  .index_product_item_link {
    display: flex;
    flex-direction: column;
  }

  .index_main_block_item {
    padding-bottom: 0;
  }

  .index_wrapper {
    margin-top: 0;
  }

  .index>.container {
    padding: 0;
  }

  .index_main_block_img {
    max-height: none;
    margin-left: 8px;
    margin-right: 8px;
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 43 / 20;
  }

  .img_block {
    padding: 0 !important;
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
  }

  .index_main_block_img video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .index_main_box_item {
    top: 58px;
  }

  .index_main_box_item_title {
    font-size: 15px;
    max-width: 215px;
  }

  .index_main_box_item_btn {
    padding: 8px 10px 10px 10px;
    font-size: 11px;
  }

  .index_main_box_item {
    left: 30px;
  }

  .header_logo {
    min-width: 130px;
    max-width: 130px;
  }

  .header_logo>img {
    width: 100%;
  }

  .header_wrapper {
    padding: 5px 0;
  }

  .header_elem_search input {
    padding: 6px 20px;
  }

  .header {
    padding-bottom: 10px;
  }

  main {
    /* D7-fix (2026-06-02): sub 560px header-ul mobil = 127px (82 wrapper + 35 search_mob + 10
       padding-bottom — reduse de acest bloc); 135px = 127 + 8px → spațiu deasupra banner-ului =
       spațiul lateral (8px). Suprascrie 148px din media_header.css (valabil doar 560–680px,
       unde header-ul e 140px). */
    margin-top: 135px;
  }

  .simple_swiper_btns {
    display: none;
  }

  .index_main {
    margin-bottom: 0;
  }

  .index_product {
    margin-top: 8px;
    padding-bottom: 0;
    margin-left: 8px;
    margin-right: 8px;
    width: calc(100% - 16px);
  }

  .index_product_title {
    padding-top: 18px;
    padding-left: 10px;
  }

  .index_product_new,
  .index_product_popular {
    padding-left: 0;
    padding-right: 0;
  }

  .index_poduct_new_slider_wrapper {
    padding-left: 0;
  }

  .index_product_img a>img {
    object-fit: contain;
  }

  .index_product_img img {
    display: flex;
    justify-content: center;
    max-width: 100%;
    max-height: 329px;
    margin: 0 auto;
  }

  .index_product_img {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 260px;
    padding: 0;
  }

  .index_product_heart {
    top: 10px;
    right: 10px;
    width: 26px;
    height: 26px;
  }

  .index_product_compare {
    top: 42px;
  }

  .index_product_heart svg {
    width: 15px;
    height: 13px;
  }

  .index_product_cod {
    margin-top: 2px;
    font-size: 10px;
    line-height: 14px;
    padding-right: 0;
    display: none;
  }

  .index_product_name {
    margin-top: 3px;
    font-size: 13px;
    line-height: 17px;
    height: 36px;
    max-width: 100%;
    padding-right: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    background-image: none;
    color: #252525;
  }

  .index_product_stock {
    font-size: 11px;
    line-height: 16px;
    padding-right: 0;
    margin-top: 4px;
  }

  .index_product_info {
    padding-right: 0;
    margin-top: 3px;
    /* rezervă înălțimea pentru preț pe 2 rânduri (2×22px): când pastila „Epuizat” strânge
       prețul și-l rupe, rândul nu se mai înalță inconsistent față de cardul vecin, deci
       cercul și pastila rămân pe aceeași axă (preț + buton rămân centrate) */
    min-height: 44px;
  }

  .index_product_price {
    font-size: 16px;
    line-height: 22px;
  }

  .index_product_old {
    font-size: 11px;
    line-height: 16px;
    margin-left: 5px;
  }

  .index_product_discount {
    font-size: 11px;
    line-height: 16px;
    margin-left: 4px;
  }

  .index_product_cashback {
    font-size: 11px;
    line-height: 16px;
    margin-top: 2px;
  }

  .index_product_cart {
    width: 32px;
    height: 32px;
    margin-right: 6px;
    background-size: 18px auto;
  }

  .index_product_soldout {
    height: 32px;
    padding: 0 12px;
    font-size: 12px;
  }

  .index_product_title {
    padding-top: 8px;
    font-size: 17px;
    line-height: 22px;
    padding-left: 4px;
  }

  .index_poduct_new_slider.swiper,
  .index_poduct_popular_slider.swiper,
  .index_shelf_slider.swiper {
    overflow: visible;
    overflow-x: clip;
  }

  .index_product_wrapper {
    margin-top: 4px;
  }

  .index_product_new {
    padding-bottom: 0;
    border-bottom: none;
  }

  .produs_left,
  .produs_right {
    width: 32px;
    height: 32px;
    top: 186px;
  }

  .produs_left {
    left: 2px;
  }

  .produs_right {
    right: 2px;
  }

  .produs_left img,
  .produs_right img {
    width: 12px;
  }

  .produs {
    margin-bottom: 15px;
  }

  .catalog_main_products .index_product_item {
    margin-bottom: 40px;
  }

  .menu_mob_wrapper {
    padding-top: 75px;
  }
}

/* Partner/Brands section: phone spacing = same as product section */
@media(max-width: 559.98px) {
  .partner_wrapper {
    padding-top: 0;
    padding-bottom: 18px;
    margin-left: 8px;
    margin-right: 8px;
  }

  .partner_title {
    padding-top: 18px;
  }

  .partner_wrapper_slider {
    margin-top: 10px;
  }

  .partner_slide {
    width: auto !important;
    height: 80px;
  }

  .partner_slider .swiper-wrapper {
    padding-right: 1px;
  }
}

@media(max-width: 470px) {

  .produs_about_item_title {
    min-width: 110px;
  }
}

@media(max-width: 450px) {
  .index_main_box_item_btn {
    font-size: 9px;
  }

  .index_main_box_item_title {
    font-size: 12px;
    max-width: 155px;
  }
}

@media(max-width: 410px) {
  .index_main_banner_item {
    margin-top: 10px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .index_main_box_item {
    top: 40px;
    left: 25px;
  }

}

@media(max-width: 360px) {
  .index_main_box_item_btn {
    font-size: 8px;
    padding: 5px 7px 5px 7px;
    margin-top: 6px;
  }

  .index_main_box_item_title {
    font-size: 11px;
  }
}

@media(max-width: 350px) {
  .index_main_banner_slider_item {
    max-height: 420px;
  }

  .img_banner {
    object-fit: contain;
    max-height: 270px;
  }
}

@media(max-width: 330px) {
  .index_main_box_item_title {
    font-size: 10px;
  }

  .index_main_box_item_btn {
    font-size: 6px;
  }
}
/* ===== /css/media/media_catalog.css ===== */
@media(max-width: 1500px){
    .catalog_filter{
        margin-right: 15px;
    }
}

@media(max-width:1300px){
    .catalog_main_products{
        grid-template-columns: repeat(3, 33.99%);
    }
    .catalog_main_products .index_product_item:nth-child(4n){
        border-right: 1px solid #F0F0F8;
    }
}
@media(max-width:1100px){
    .catalog_main_products{
        grid-template-columns: repeat(2, 50%);
    }
    .index_product_item{
        margin: 0 auto;
    }
}

@media(min-width: 890px){
    .catalog_filter_btn{
        display: none;
    }
}

@media(max-width:890px){
    .catalog_wrapper{
        flex-direction: column;
    }
    .catalog_main_products{
        grid-template-columns: repeat(3, 33.99%);
    }
    .catalog_item{
        display: block;
    }
    .catalog_range{
        max-width: none;
    }
    .catalog_filter_reset:last-child{
        display: none;
    }
    /* Drawer din stânga peste produse — produsele NU se mai deplasează în jos */
    .catalog_filter{
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 86vw;
        max-width: 360px;
        margin-right: 0;
        background: #fff;
        z-index: 1001;
        transform: translateX(-100%);
        transition: transform .3s ease;
        box-shadow: 2px 0 18px rgba(0,0,0,.18);
        max-height: none;
    }
    .catalog_filter.catalog_on{
        transform: translateX(0);
    }
    .catalog_filter_top_bar{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px;
        border-bottom: 1px solid #ECECF5;
        flex-shrink: 0;
    }
    .catalog_filter_close{
        display: block;
    }
    .catalog_filter_scroll{
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        padding: 0 16px;
    }
    .catalog_filter_overlay.active{
        display: block;
    }
    body.catalog_filter_open{
        overflow: hidden;
    }
    .catalog_filter_btn{
        display: block;
        font-family: 'Montserrat', sans-serif;
        font-style: normal;
        font-weight: 700;
        font-size: 18px;
        line-height: 24px;
        color: #434242;
        display: flex;
        align-items: center;
        cursor: pointer;
        margin-bottom: 20px;
    }
    .catalog_filter_btn:hover{
        color: #0A587E;
    }
    .catalog_filter_btn span{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .catalog_filter_btn .filter_ico{
        width: 20px;
        margin-right: 5px;
    }
    .catalog_filter_btn .filter_arrow{
        margin-left: 20px;
        display: flex;
        width: 10px;
        align-items: center;
    }
    .filter_on .filter_arrow{
        transform: rotate(180deg);
    }
}

@media(max-width: 720px){
    .catalog_main_products{
        grid-template-columns: repeat(2, 50%);
    }
}

@media(max-width: 560px){
    .catalog_main_products{
        grid-template-columns: repeat(2, 50%);
        gap: 0;
    }
    .catalog_main_products .index_product_item{
        border-right: none !important;
        border-bottom: 1px solid #F0F0F8;
        padding-bottom: 10px;
        padding-right: 4px;
        padding-left: 4px;
    }
    .catalog_main_products .index_product_item:nth-child(odd){
        border-right: 1px solid #EAEAF0 !important;
    }
    .catalog_item{
        grid-template-columns: repeat(2, 50%);
    }
    .catalog_main_products{
        margin-top: 15px;
    }
}

@media(max-width: 560px){
    .catalog{
        padding-bottom: 15px;
    }
    .catalog_main_wrapper{
        padding: 15px 0;
        padding-bottom: 0;
        margin-left: -7px;
        margin-right: -7px;
    }
    .catalog_main .compare_bar{
        margin-left: -7px;
        margin-right: -7px;
    }
    .container > .compare_bar{
        margin-left: -7px;
        margin-right: -7px;
        margin-top: 20px;
        margin-bottom: 0;
    }
    .compare_bar.active + .produs{
        margin-top: 8px;
    }
    .catalog_main_tilte{
        margin-right: 10px;
        padding-left: 5px;
    }
    /* Hide floating popup on mobile — replaced by inline bar */
    .popup_compare{
        display: none !important;
    }
}

/* popup_compare: hidden by default, JS adds .popup_compare_visible when space allows */
.popup_compare{
    display: none !important;
}
.popup_compare.popup_compare_visible{
    display: flex !important;
}

/* Hide inline compare_bar when floating popup is visible */
.compare_bar.compare_bar_desktop_hidden{
    display: none !important;
}

/* Product page: compare bar spacing (all screen sizes) */
.container > .compare_bar{
    margin-top: 15px;
    margin-bottom: 0;
}
.compare_bar.active + .produs{
    margin-top: 8px;
}
/* ===== /css/media/media_produs.css ===== */
@media(min-width: 1460.98px){
    .produs_about_mob{
        display: none;
    }
}
@media(max-width: 1460px){
    .produs_container{
        justify-content: center;
        gap: 30px;
    }
    .produs_about{
        display: none;
    }
    .produs_info{
        margin-left: 0;
    }
    .produs_about_mob{
        display: block;
        max-width: unset;
        width: unset;
    }
    .specification_wrapper{
        display: grid;
        grid-template-columns: repeat(2, 50%);
        gap: 15px;
    }
    .produs_about_mob .produs_about_message{
        overflow: none;
        height: unset;
        -webkit-line-clamp: unset;
        max-width: 800px;
    }
}

/* (eliminat padding-right:0 — zona de specificații full-width trebuie să aibă spațiu egal stânga/dreapta pe >930px) */

@media(max-width: 930px){
    /* Layout: cardul cu preț trece desubt */
    .produs_container{
        flex-direction: column;
    }
    .produs_detail{
        justify-content: center;
    }
    .produs_wrapper{
        padding-left: 0;
        padding-right: 0;
    }

    /* Card info/preț sub imagine */
    .produs_info{
        margin-left: 0;
        width: 100%;
        max-width: 430px;
        margin: 0 auto;
        margin-top: 25px;
        padding-left: 0;
        padding-right: 0;
        padding-top: 10px;
        padding-bottom: 10px;
        height: 260px;
    }
    .produs_info_prices{
        margin-top: 15px;
    }
    .produs_info_counter{
        margin-top: 10px;
    }
    .produs_info_detail{
        padding-left: 21px;
        padding-right: 16px;
    }
}

@media(max-width: 560px){
    /* Imagine principală — fluid, compact */
    .produs_detail .produs_horizontal .produs_detail_slide img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .produs_horizontal .produs_detail_slide{
        height: 300px;
    }
    .produs_horizontal{
        max-width: calc(100% - 100px);
    }

    /* Thumbnails verticale — compact */
    .produs_vertical{
        height: 310px;
    }
    .produs_vertical_btns{
        height: 345px;
    }
    .prod_vert_next{
        bottom: -18px;
        z-index: 3;
    }
}

@media(max-width: 515px){
    .specification_wrapper{
        grid-template-columns: repeat(1, 100%);
    }
}

@media(max-width: 580px){

    .scrumbs{
      /* D7-fix v2 (2026-06-02): păstrez overflow:scroll (centrarea verticală a textului era corectă așa);
         ascund DOAR scrollbar-ul vizibil ("linia străină" de sub cale) — fără a schimba înălțimea/centrarea. */
      overflow: scroll;
      white-space: nowrap;
      flex-wrap: nowrap;
      scrollbar-width: none;
      -ms-overflow-style: none;
    }
    .scrumbs::-webkit-scrollbar{ display: none; width: 0; height: 0; }
    .scrumb_wrapper{
        flex-direction: row-reverse !important;
        align-items: flex-start;
    }

    .scrumb_wrapper div{
      display: flex;
    }
    .scrumb_last{
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
}

@media(max-width: 515px){
    .produs_detail .produs_horizontal .produs_detail_slide img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .produs_horizontal .produs_detail_slide {
        height: 220px;
    }
    .produs_horizontal {
        max-width: calc(100% - 80px);
    }
    .produs_vertical {
        height: 220px;
    }
    .produs_vertical_btns {
        height: 240px;
    }
}


@media(max-width: 400px){
    .produs_title {
        font-size: 18px;
        line-height: 22px;
    }
    .produs_wrapper{
        padding: 15px 0;
    }
}
@media(max-width: 370px){
    .produs_title {
        font-size: 18px;
        line-height: 22px;
    }
    .produs_wrapper{
        padding: 15px 0;
    }
    .produs_horizontal {
        max-width: 120px;
      margin-left: 10px;
    }
  .produs_detail .produs_horizontal .produs_detail_slide img{
    object-fit: contain;
  }
  .produs_horizontal .produs_detail_slide{
    height: unset;
  }
    .produs_horizontal .produs_detail_slide img {
        width: 155px;
    }
    .produs_horizontal .produs_detail_slide {
        height: 175px;
    }
  .produs_info_cart_btn, .produs_info_credit_btn{
    max-width: 200px;
  }
}

/* ===== /css/media/media_popup.css ===== */
@media(max-width: 1045px){
    .popup_wrapper{
        width: 790px;
        height: unset;
    }
    .prod_contact{
        height: unset;
        padding-bottom: 20px;
    }
    .prod_wrapper{
        margin-top: 20px;
    }
}

@media(max-width: 820px){
    .popup_wrapper{
        width: 650px;
    }
    .prod_wrapper{
        max-width: 615px;
    }
    .close_popup{
        right: 12px;
    }
    .prod_contact_input{
        max-width: 600px;
    }
    .credit_list_wrapper{
        display: grid;
        grid-template-columns: repeat(2, 50%);
    }
    .credit_item{
      margin-right: 0;
    }
}

@media(max-width: 680px){
    .credit_list_wrapper{
        padding: 7px;
        gap: 10px 5px;
    }
    .credit_tab1{
        padding-left: 17px;
    }
    .popup .prod_contact_input input:nth-child(3) {
      width: 114px;
    }
    .credit_tab{
        padding: 10px 5px;
        height: 25px;
        font-size: 16px;
    }
    .prod_credit_wrapper {
        padding-top: 40px;
    }
    .credit_item{
        padding: 5px 0px;
        margin-right: 10px;
    }
    .popup_wrapper {
        width: 490px;
    }
    .prod_contact_wrapper {
        padding-top: 20px;
    }
    .prod_wrapper{
        padding-left: 10px;
        padding-right: 10px;
        max-width: 421px;
    }
    .prod_contact_btn{
        padding: 12px 0;
    }
    .prod_info_detail_descr{
        margin-left: 10px;
    }
    .prod_info_detail_title, .prod_info_detail_price{
        font-size: 16px;
        line-height: 20px;
    }
    .prod_info{
        padding-bottom: 0;
    }
    .prod_info_avans{
        margin-top: 0;
    }

}

@media(max-width: 520px){
    .prod_wrapper{
        padding: 5px;
    }
    .prod_info_detail_img img{
        width: 75px;
    }
    .prod_info_detail_descr{
        margin-top: 7px;
    }
    .credit_item_price{
        font-size: 18px;
        line-height: 24px;
    }
    .prod_contact{
        padding-top: 5px;
        margin-top: 5px;
    }
    .prod_contact_input {
        max-width: 325px;
    }
    .popup_wrapper {
        width: 360px;
    }
    .prod_info_avans{
        font-size: 14px;
    }
    .credit_tab{
        font-size: 14px;
        line-height: 18px;
    }
    .prod_info_detail_title, .prod_info_detail_price{
        font-size: 13px;
    }
}

@media(max-width: 370px){
    .prod_info_detail_title{
        max-width: 120px;
    }
    .prod_contact_input{
        gap: 5px;
    }
    .popup_wrapper {
        width: 305px;
    }
    .prod_contact_input {
        max-width: 286px;
    }
    .prod_contact_btn{
        font-size: 13px;
    }
    .prod_info_avans_counter{
        font-size: 14px;
        max-width: 100px;
    }
}

/* ===== /css/media/media_footer.css ===== */
@media(max-width: 1190px){
    .footer{
        height: unset;
    }
    .footer_wrapper{
        flex-direction: column-reverse;
    }
    .footer_wrapper_box{
        margin-right: 0;
        margin: 0 auto;
        margin-top: 20px;
    }
    .footer_form{
        max-width: 606px;
        margin: 0 auto;
    }
    .footer_form_general {
        grid-template-columns: repeat(3, 33.67%);
      }
    /* Footer stivuit: logo-urile de plată + branding-ul reCAPTCHA se mută la FUNDUL footer-ului
       (blocul .footer_mobile_bottom), iar copiile din coloana Informație / de lângă buton se ascund. */
    .footer_mobile_bottom{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        row-gap: 16px;
        margin: 30px auto 0;
    }
    .footer_mobile_bottom .footer_info_partner{
        margin-top: 0;
        justify-content: flex-start;
    }
    .footer_mobile_bottom .footer_recaptcha{
        margin-left: 0;
        text-align: left;
        max-width: 100%;
    }
    .footer_info > .footer_info_partner{
        display: none;
    }
    .footer_form_actions .footer_recaptcha{
        display: none;
    }
}

@media(max-width: 700px){
    .footer_wrapper{
        padding: 20px 0;
    }
    .footer_form{
        margin: 0;
    }
    .footer_wrapper_box{
        margin: 0;
        margin-top: 20px;
    }
    .footer_mobile_bottom{
        margin-left: 0;
        margin-right: 0;
    }
}

@media(max-width: 660px){
    .footer_form_general{
        grid-template-columns: repeat(1, 100%);
    }
    .footer_form_textarea{
        display: flex;
        max-width: unset;
        width: calc(100% - 24px);
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media(max-width: 435px){
    .footer_wrapper_box{
        flex-direction: column-reverse;
    }
    .footer_contact{
        margin-top: 15px;
    }
}
/* ===== /css/media/media_register.css ===== */
@media(max-width: 1350px){
    .date_wrapper{
        flex-direction: column;
    }
    .date_general{
        max-width: unset;
        margin-bottom: 30px;
    }
    .wellcome_block{
        margin-bottom: 30px;
    }
}

@media(max-width: 700px){
    .date_settings{
        display: grid;
        grid-template-columns: repeat(1, 100%);
        gap: 10px 0;
    }
    .p_comanda_block{
        margin-top: 10px;
    }
}

@media(max-width: 559.98px){
    .date_wrapper{
        padding: 8px;
        margin-top: 0;
        margin-bottom: 8px;
    }
    .date_general{
        margin-bottom: 8px;
    }
    .wellcome_block{
        padding: 16px;
        margin-bottom: 8px;
    }
    .index_product_cashback,
    .am_links{
        padding-left: 7px;
    }
    .exit_btn.btn_main{
        margin-left: 7px;
    }
    .reg_wrapper{
        margin: 20px -7px 15px;
        padding: 16px 7px;
        width: unset;
    }
    .reg_auth_header{
        margin: 20px -7px 0;
        width: unset;
    }
    .reg_auth_form{
        margin: 16px auto 0;
        width: unset;
    }
}


/* ===== /css/media/media_cart.css ===== */
@media(max-width: 1190px) {
    .basket_content {
        flex-direction: column;
    }

    .basket_prods {
        width: 100%;
    }

    .basket_sidebar {
        width: 100%;
        margin-top: 20px;
        margin-left: 0;
    }
}

@media(max-width: 770px) {
    .basket_item_img {
        width: 125px;
    }

    .basket_prod {
        padding-left: 50px;
    }

    .del_basket_item {
        width: 45px;
    }

    .bi_left {
        margin-right: 5px;
    }

    .basket_item_title {
        font-size: 16px;
        line-height: 20px;
    }
}

@media(max-width: 700px) {
    .basket_prod {
        flex-direction: column;
    }
    /* pe mobil (coloană) păstrăm zona dreaptă aliniată la dreapta, ca înainte */
    .bi_right {
        align-self: flex-end;
    }
}

@media(max-width: 690px) {
    .cart_container .reg_wrapper {
        margin: 0;
        padding-top: 0;
    }
}

@media(max-width: 600px) {
    .cart_delivery .cart_delivery_box {
        width: 100%;
    }

}

@media(max-width: 520px) {
    .opqty {
        margin-left: 20px;
    }

    .order_item {
        padding-right: 15px;
        flex-direction: column;
    }

    .odt_header,
    .odt_total_row {
        font-size: 15px;
        line-height: 20px;
    }

    .odt_header {
        margin-bottom: 10px;
    }

    .odt_row {
        font-size: 14px;
        line-height: 15px;
        margin-bottom: 10px;
    }

    .odt_total_row {
        margin-top: 10px;
    }
}

@media(max-width: 440px) {
    .basket_prod {
        padding-top: 20px;
        padding-left: 40px;
    }

    .del_basket_item {
        width: 35px;
        height: 100%;
    }

    .sidebar_btns {
        width: 80%;
    }

    .sidebar_btns a {
        font-size: 14px;
        padding: 10px 10px;
    }


}

@media(max-width: 400px) {
    .order_item_left {
        flex-direction: column;
    }

    .ht_2 {
        font-size: 22px;
        line-height: 38px;
    }

    .od_back_link {
        font-size: 16px;
    }

    .pic_title_top,
    .odah,
    .odph,
    .odp_header {
        font-size: 18px;
    }

    .pic_clarification {
        font-size: 16px;
    }
}

@media(max-width: 560px) {
    .cart_container {
        margin-left: -7px;
        margin-right: -7px;
        padding: 15px 5px;
    }

    .sidebar_head_row {
        padding: 0 10px;
    }

    .sidebar_total {
        padding: 20px 10px;
    }
    .bi_right {
        margin-top: 10px;
    }
}

@media(max-width: 360px) {
    .block_title {
        font-size: 20px;
        line-height: 28px;
    }

    .step_title {
        font-size: 13px;
        line-height: 18px;
    }

    .cart_container {
        padding-left: 5px;
        padding-right: 5px;
    }

    .basket_prod {
        padding-right: 0;
        padding-left: 0;
    }
}
/* ===== /css/media/media_orders.css ===== */
/* =================================================================
   Media queries pentru pagina /comenzi/
   Layout responsive listă comenzi cu expand inline
   ================================================================= */

/* ---------- Sidebar contul meu — pe mobile devine vertical ---------- */
@media(max-width: 1240px){
    .orders_wrapper{
        flex-direction: column;
    }
    .orders_wrapper .date_change{
        margin-top: 30px;
    }
}

/* ---------- Tabel produse interior — desktop pattern ---------- */
@media(min-width: 768px){
    .oi-mlabel,
    .ol-mlabel {
        display: none;
    }
}

/* ---------- Mobil (<768px): card layout ---------- */
@media(max-width: 767px){

    /* Antetul listei (capul de tabel) — ascuns, label-urile apar inline */
    .orders-list__head {
        display: none;
    }

    /* Rândul rezumat devine card vertical */
    .order-row__summary {
        flex-direction: column;
        align-items: stretch;
        position: relative;
        padding: 14px 40px 14px 16px;
    }
    .ol-cell {
        flex: 1 1 auto !important;
        justify-content: flex-start !important;
        padding: 6px 0;
        border: none !important;
    }
    .ol-cell--toggle {
        position: absolute;
        top: 14px;
        right: 12px;
        flex: 0 0 auto !important;
        padding: 0;
    }

    /* Labels mobile — vizibile, în fața valorii */
    .ol-mlabel,
    .oi-mlabel {
        display: inline-block;
        font-weight: 600;
        color: #6b7280;
        margin-right: 6px;
        font-size: 13px;
    }

    /* Statusul badge — păstrează aspect compact */
    .ol-cell--status {
        flex-direction: row;
        align-items: center;
    }

    /* Borderul comenzii pe mobile */
    .order-row {
        border-radius: 6px;
        margin-bottom: 12px;
        border-top: 1px solid #d6dde5;
    }
    .order-row.expanded {
        border-color: #459DC9;
    }

    /* Tabelul intern de produse → carduri verticale */
    .order-items thead {
        display: none;
    }
    .order-items,
    .order-items tbody,
    .order-items tr,
    .order-items td {
        display: block;
        width: 100%;
    }
    .order-items {
        border-spacing: 0;
    }
    .order-items__row {
        border: 1px solid #e6ebf0;
        border-radius: 6px;
        margin-bottom: 12px;
        padding: 12px;
        background: #fff;
    }
    .order-items__td {
        border: none !important;
        background: transparent !important;
        padding: 6px 0 !important;
        text-align: left !important;
        border-radius: 0 !important;
    }
    .order-items__td--img {
        width: auto;
        text-align: center !important;
        padding-bottom: 12px !important;
    }
    .order-items__td--img .oi-mlabel {
        display: block;
        text-align: left;
        margin-bottom: 6px;
    }
    .order-items__thumb img {
        width: 100px;
        height: 100px;
    }
    .order-items__td--title {
        border-bottom: 1px solid #f0f3f6 !important;
        padding-bottom: 10px !important;
        margin-bottom: 6px;
    }

    /* Meta-blocks — 1 coloană pe mobil */
    .order-row__meta {
        grid-template-columns: 1fr;
    }

    /* Totalizare — full width pe mobile */
    .order-totals {
        max-width: 100%;
        margin-left: 0;
    }
}

/* ---------- Foarte mic (<500px) ---------- */
@media(max-width: 500px){
    .order-row__details {
        padding: 14px 12px;
    }
    .order-row__summary {
        padding: 12px 36px 12px 12px;
    }
}

/* ===== /css/media/media_pages.css ===== */
/* ============================================================
   Spacing mobil pentru paginile statice (.page_wrapper):
   despre-noi / termeni-si-conditii / politica-confidentiala
   (page.php), contacte (contacts.php) + rezultatele plății
   (maib_return.php, maib_callback.php).

   Baza (reset.css): .page_wrapper{ padding: 40px 35px } + .container 15px
   → ramă de 50px/parte pe mobil, față de footer (15px la ≤700px) și
   cardurile catalog/produs/coș (8px, margin -7px — vezi skill-ul
   mobile-page-spacing). Blocurile de mai jos aliniază paginile statice
   la aceeași logică, în 2 trepte.
   ============================================================ */

/* 561–700px: rama internă scade — aliniat cu footer-ul, care respiră la ≤700px */
@media(max-width: 700px){
    .page_wrapper{
        padding: 25px 20px;
    }
}

/* ≤560px: cardul alb se extinde ca la catalog/coș (8px de la ecran);
   12px intern = confort de lectură pentru text lung (aceeași valoare ca
   inputurile footer-ului la ≤660px) → textul la 20px de la ecran. */
@media(max-width: 560px){
    .page_wrapper{
        margin-left: -7px;
        margin-right: -7px;
        padding: 20px 12px;
    }
}

/* ===== /css/vendor_shake.css ===== */
/* Extras din lib/animatecss/animate.css (singura animație folosită de site — blocks.js
   adaugă 'animated shake' la validarea formularelor). Restul fișierului de 25KB era balast
   încărcat pe fiecare pagină → eliminat la Lot 3 (audit F3). */
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.fa-phone.animated{
	animation-duration: 2.5s !important;
}

@keyframes shake {
  from, to {
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  animation-name: shake;
}

/* ===== style.css (reguli proprii, după importuri) ===== */
/* fonturi — PRIMUL import: declarațiile @font-face trebuie să preceadă orice folosire */

/* reset styles */

/* ------------------------------- */

/* header section */
/* header section end */

/* ------------------------------- */

/* scrumbs */
/* scrumbs end */

/* ------------------------------- */

/* index page */

/* main style(wrappers, containers) */

/* catalog */

/* banner_slider */

/* category cards */

/* products */

/* partner */

/* call popup */

/* index page end */

/* ------------------------------- */

/* catalog page */

/* main style(wrappers, containers) */

/* filter block */

/* catalog block */

/* catalog page end */

/* ------------------------------- */

/* products detail page */

/* main style(wrapperrs) */

/* detail block */

/* products detail page end */

/* ------------------------------- */

/* cookie */
/* cookie end */

/* ------------------------------- */

/* popup */
/* popup end */

/* ------------------------------- */

/* footer section */
/* footer section end */

/* ------------------------------- */

/* register */

/* register end */

/* ------------------------------- */

/* private area */

/* private area end */

/* ------------------------------- */

/* cart */

/* cart end */

/* ------------------------------- */

/* favorite */

/* favorite end */

/* ------------------------------- */

/* contacts */

/* contacts end */

/* ------------------------------- */

/* compare */

/* compare end */

/* ------------------------------- */

/* gui */
/* gui end */

/* ------------------------------- */

/* Media Files */
/* Media Files end */

/* animația shake (validare formulare, blocks.js) — extrasă din animate.css (Lot 3, audit F3) */

@media(max-width: 600px){
    .produs_detail_carousel_vertical{
        width: 102px;
        min-width: 102px;
        max-width: 102px;
        flex-shrink: 0;
    }
    .produs_detail_carousel_horizontal{
        width: calc(100% - 107px) !important;
        max-width: calc(100% - 107px);
        min-width: 0;
        overflow: hidden;
    }
    .produs_vertical{
        height: 460px !important;
    }
    .produs_vertical .slick-list{
        height: 460px !important;
    }
    .produs_horizontal{
        max-width: calc(100% - 5px) !important;
        width: calc(100% - 5px) !important;
        margin-left: 5px;
    }
    .produs_horizontal .produs_detail_slide{
        height: 458px;
    }
    .produs_horizontal .produs_detail_slide img{
        width: 100% !important;
        height: 458px !important;
    }
    .produs_info{
        padding-bottom: 20px;
        height: 250px;
    }
    .produs_info_prices, .produs_info_counter{
        margin-top: 10px;
    }
    .produs_info_cart_btn, .produs_info_credit_btn{
        padding-top: 14px;
        padding-bottom: 14px;
    }
}

@media(max-width: 500px){
    .produs_detail_carousel_vertical{
        width: 80px;
        min-width: 80px;
        max-width: 80px;
        flex-shrink: 0;
    }
    .produs_detail_carousel_horizontal{
        width: calc(100% - 83px) !important;
        max-width: calc(100% - 83px);
    }
    .produs_vertical{
        height: 332px !important;
        width: 80px !important;
    }
    .produs_vertical .slick-list{
        height: 332px !important;
    }
    .produs_detail_carousel_vertical{
        height: 332px;
    }
    .produs_vertical .produs_detail_slide{
        width: 80px !important;
        height: 80px !important;
        margin: 0 0 3px 0;
        box-sizing: border-box;
    }
    .produs_horizontal{
        margin-left: 3px !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .produs_vertical .produs_detail_slide img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 4px;
    }
    .produs_vertical_btns{
        height: 340px;
    }
    .prod_vert_prev, .prod_vert_next{
        width: 28px;
        height: 28px;
        left: 28px;
    }
    .prod_vert_prev img, .prod_vert_next img{
        width: 10px;
    }
    .prod_vert_next{
        bottom: 0;
    }
    .produs_info{
        margin-top: 25px;
    }
    .produs_horizontal .produs_detail_slide{
        height: 330px;
    }
    .produs_horizontal .produs_detail_slide img{
        height: 100% !important;
        object-fit: contain;
    }
}

@media(max-width: 320px){
    .produs_vertical, .prod_vert_next, .prod_vert_prev{
        display: none !important;
    }
    .produs_detail_carousel_horizontal{
        width: 100%;
    }
    .produs_horizontal{
        max-width: unset;
        width: 100%;
        margin-left: 0;
    }
}

/* ------------------------------- */

/* override-uri vendor: glightbox.min.css (CDN, head.php) pune font-family:arial pe titlul/descrierea
   slide-urilor din lightbox; style.css se încarcă după el, deci la specificitate egală câștigăm noi */
.glightbox-clean .gslide-title,
.glightbox-clean .gslide-desc{
    font-family: 'Montserrat', sans-serif;
}
