/* ==========================================================================
   TEMA "blackfriday" - suprascrie tokenii din themes/default.css
   Se incarca DUPA store.css cand store.theme.active = blackfriday.
   Zona GENERATED vine din tools/theme-generate-dark.py; ajustarile de mana merg in zona MANUAL.
   ========================================================================== */
:root {
    /* >>> GENERATED (tools/theme-generate-dark.py - nu edita) */
    /* semantici */
    --store-bg: #0b0b0c;
    --store-surface: #1c1c1f;
    --store-text: #f5f5f5;
    --store-text-muted: #a1a1aa;
    --store-border: #2a2a2e;
    --store-accent: #e03131;
    --store-accent-hover: #c92a2a;
    --store-accent-light: #2a1214;
    --store-dark: #000000;
    --store-dark-muted: #18181b;
    --store-success: #34c46a;
    --store-sale: #ff5a4d;
    --store-shadow-sm: 0 1px 3px rgba(0,0,0,0.5);
    --store-shadow: 0 4px 16px rgba(0,0,0,0.55);
    --store-shadow-lg: 0 8px 32px rgba(0,0,0,0.6);
    --store-shadow-hover: 0 8px 24px rgba(0,0,0,0.6);
    /* mecanici (generati din tokenii implicitii dupa rol) */
    /* bg */
    --bg-9ca3af: #494c51;
    --bg-ccfbf1: #183f36;
    --bg-d1d5db: #303236;
    --bg-dbeafe: #152437;
    --bg-dcfce7: #163721;
    --bg-e0e7ff: #141c35;
    --bg-e0f2fe: #142835;
    --bg-e2e8f0: #22272f;
    --bg-e5e7eb: #26282b;
    --bg-efefef: #252525;
    --bg-eff6ff: #121f2f;
    --bg-f0eeeb: #282623;
    --bg-f0f4ff: #12192f;
    --bg-f0f7ff: #121f2f;
    --bg-f0fdf4: #142d1c;
    --bg-f1f5f9: #1b2228;
    --bg-f3e8ff: #221332;
    --bg-f3f4f6: #1f2124;
    --bg-f5f3ff: #16112d;
    --bg-f5f5f3: #242421;
    --bg-f5f6f8: #1e2024;
    --bg-f8f9fa: #1d1f22;
    --bg-f8fafc: #191f25;
    --bg-f9fafb: #1c1f22;
    --bg-fafafa: #1f1f1f;
    --bg-fce7f3: #311625;
    --bg-fecaca: #3e1818;
    --bg-fee2e2: #351414;
    --bg-fef2f2: #2e1212;
    --bg-fef3c7: #3f3818;
    --bg-fef9c3: #413e19;
    --bg-fef9ec: #312812;
    --bg-ffedd5: #392a16;
    --bg-fff1f2: #2e1214;
    --bg-fff5f5: #2d1111;
    --bg-fff7ed: #302312;
    --bg-ffffff: #1c1c1c;
    --bg-rgba-0-0-0-0p03: rgba(255,255,255,0.039);
    --bg-rgba-0-0-0-0p04: rgba(255,255,255,0.052);
    --bg-rgba-0-0-0-0p06: rgba(255,255,255,0.078);
    --bg-rgba-0-0-0-0p15: rgba(255,255,255,0.195);
    --bg-rgba-0-0-0-0p2: rgba(255,255,255,0.26);
    --bg-rgba-255-255-255-0p7: rgba(28,28,31,0.7);
    --bg-rgba-255-255-255-0p82: rgba(28,28,31,0.82);
    --bg-rgba-255-255-255-0p9: rgba(28,28,31,0.9);
    --bg-rgba-255-255-255-0p92: rgba(28,28,31,0.92);
    /* text */
    --text-0077cc: #42a7f0;
    --text-0369a1: #21a2e9;
    --text-047857: #17cb98;
    --text-059669: #1ce5a7;
    --text-065f46: #19b287;
    --text-0891b2: #3ac5e6;
    --text-0d9488: #2bdccc;
    --text-0ea5e9: #72c5eb;
    --text-111111: #efefef;
    --text-111827: #e5e8ee;
    --text-15803d: #31ca6a;
    --text-166534: #33ae62;
    --text-16a34a: #47d87d;
    --text-1d4ed8: #7994e2;
    --text-1e293b: #dce0e6;
    --text-1f2937: #dee1e6;
    --text-212529: #e3e5e6;
    --text-28a745: #66cf7e;
    --text-333333: #dedede;
    --text-334155: #d0d4db;
    --text-374151: #d1d4d9;
    --text-3c4043: #d7d8d9;
    --text-475569: #c6cad0;
    --text-4b5563: #c8cbcf;
    --text-64748b: #b6bbc1;
    --text-6b21a8: #9d5cd3;
    --text-6b7280: #babcc0;
    --text-6c757d: #bbbdc0;
    --text-7e22ce: #af78de;
    --text-7f1d1d: #c43e3e;
    --text-8b1a1a: #cc3f3f;
    --text-900010: #e4122a;
    --text-92400e: #da6e2c;
    --text-94a3b8: #9ba3ae;
    --text-991b1b: #d14949;
    --text-9ca3af: #a0a3a9;
    --text-a16207: #e49829;
    --text-adb5bd: #989da2;
    --text-b45309: #e6863d;
    --text-b91c1c: #db6060;
    --text-c2410c: #e67a4e;
    --text-c8102e: #e55970;
    --text-d62828: #df8585;
    --text-d97706: #eda858;
    --text-e11d48: #e57f96;
    --text-e5a100: #f2c459;
    --text-ea580c: #ec9a70;
    --text-rgba-0-0-0-0p35: rgba(255,255,255,0.45);
    --text-rgba-0-0-0-0p75: rgba(255,255,255,0.85);
    /* line */
    --line-cbd5e1: #282d34;
    --line-ced4da: #2c2f32;
    --line-d1d5db: #2b2d31;
    --line-dadce0: #292a2c;
    --line-e2e8f0: #1f242a;
    --line-e2e8ff: #14192e;
    --line-e5e5e5: #262626;
    --line-e5e7eb: #232427;
    --line-eeeeee: #222222;
    --line-f0f0f0: #212121;
    --line-f3f4f6: #1d1e21;
    --line-f9fafb: #191c1f;
    --line-ffffff: #1a1a1a;
    --line-rgba-0-0-0-0p1: rgba(255,255,255,0.13);
    /* x */
    --x-212529: #f5f5f5;
    --x-6c757d: #a1a1aa;
    --x-b91c1c: #e03131;
    --x-e9ecef: #2a2a2e;
    --x-f5f6f8: #0b0b0c;
    --x-ffffff: #1c1c1f;
    /* <<< GENERATED */
}

/* >>> MANUAL (ajustari scrise de mana - pastrate la regenerare) */
/* Controale native (select, scrollbar, input autofill) in schema inchisa */
:root { color-scheme: dark; }

/* Bootstrap se incarca dupa store.css si isi impune propriul body (alb / #212529): il batem cu specificitate mai mare */
html[data-theme="blackfriday"] body { background-color: var(--store-bg); color: var(--store-text); }

/* Bootstrap 5.1 (modale in storefront) nu foloseste tokenii nostri */
html[data-theme="blackfriday"] .modal-content { background-color: var(--store-surface); color: var(--store-text); border-color: var(--store-border); }
html[data-theme="blackfriday"] .modal-header,
html[data-theme="blackfriday"] .modal-footer { border-color: var(--store-border); }
html[data-theme="blackfriday"] .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
html[data-theme="blackfriday"] .form-control,
html[data-theme="blackfriday"] .form-select { background-color: var(--store-surface); color: var(--store-text); border-color: var(--store-border); }

/* Butonul de favorite (inima) pe imaginea produsului: in tema inchisa culoarea lui devenea alba si dispărea pe pozele cu fundal alb.
   Cerc negru semi-opac cu inima alba - vizibil pe orice fundal; favoritul activ ramane in culoarea accentului. */
html[data-theme="blackfriday"] .store-fav-btn {
    background: rgba(0,0,0,0.72) !important;
    color: #ffffff;
}
html[data-theme="blackfriday"] .store-fav-btn:hover { color: var(--store-accent); }
html[data-theme="blackfriday"] .store-fav-btn svg { stroke: currentColor; }

/* Tag BLACK FRIDAY pe produsele din categoria BLACK FRIDAY: negru cu text galben, in locul tagului albastru de reducere */
html[data-theme="blackfriday"] .store-bf-corner { display: block; }
/* Restul produselor cu reducere: tagul REDUCERE x% devine BLACK FRIDAY (aceeasi forma), negru cu text si chenar galbene */
html[data-theme="blackfriday"] .store-card__discount-badge:not(.is-bf-product),
html[data-theme="blackfriday"] .store-card__discount-badge--sq {
    background: var(--store-bf-badge-bg);
    color: var(--store-bf-badge-text);
    border: 1px solid var(--store-bf-badge-text);
    border-left: none;
    font-weight: 800;
    box-shadow: none;
}
html[data-theme="blackfriday"] .store-card__discount-badge:not(.is-bf-product) .store-card__badge-sale,
html[data-theme="blackfriday"] .store-card__discount-badge--sq .store-card__badge-sale { display: none; }
/* Badge patrat: procentul mare (negru, text galben) cu banda BLACK FRIDAY (galben, text negru) sub el, ca un soundbar sub un televizor */
html[data-theme="blackfriday"] .store-card__discount-badge:not(.is-bf-product),
html[data-theme="blackfriday"] .store-card__discount-badge--sq {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: max-content;
    min-width: 3.6rem;
    padding: 0;
    border: 2px solid var(--store-bf-badge-text);
    border-left: none;
    border-radius: 0;
    text-align: center;
    overflow: hidden;
    letter-spacing: 0;
}
html[data-theme="blackfriday"] .store-card__discount-badge:not(.is-bf-product) .store-card__badge-pct,
html[data-theme="blackfriday"] .store-card__discount-badge--sq .store-card__badge-pct {
    display: block;
    padding: 0.5rem 0.45rem 0.4rem;
    font-size: 1.25rem;
    white-space: nowrap;
    font-weight: 900;
    line-height: 1;
}
html[data-theme="blackfriday"] .store-card__discount-badge:not(.is-bf-product) .store-card__badge-bf,
html[data-theme="blackfriday"] .store-card__discount-badge--sq .store-card__badge-bf {
    display: block;
    padding: 0.18rem 0;
    background: var(--store-bf-badge-text);
    color: var(--store-bf-badge-bg);
    font-size: 0.46rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: 0.02em;
    white-space: nowrap;
}
html[data-theme="blackfriday"] .store-card__discount-badge.is-bf-product:not(.store-card__discount-badge--bf):not(.store-card__discount-badge--sq) { display: none; }

/* Cardul produselor BF: banda MEGA REDUCERE devine orizontala, lipita de marginea de jos a pozei, pe toata latimea
   (badge-ul patrat cu procent e sus, ca la celelalte produse). Pe paginile de produs ramane panglica oblica. */
html[data-theme="blackfriday"] .store-card__img-wrap .store-bf-corner {
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    aspect-ratio: auto;
    overflow: visible;
    container-type: normal;
}
html[data-theme="blackfriday"] .store-card__img-wrap .store-bf-corner__ribbon {
    position: static;
    width: 100%;
    height: auto;
    padding: 0.32rem 0;
    transform: none;
    border-left: none;
    border-right: none;
    font-size: 0.82rem;
    box-shadow: none;
}

/* Produse din categoria BLACK FRIDAY: pretul de reducere (rosu) devine galben (card, pagina de produs desktop/mobil, bare lipicioase, produse similare) */
html[data-theme="blackfriday"] .is-bf-price .store-card__price--sale,
html[data-theme="blackfriday"] .is-bf-price .store-product-info__price,
html[data-theme="blackfriday"] .is-bf-price .store-product-info__price--sale,
html[data-theme="blackfriday"] .is-bf-price .mpd__price--sale,
html[data-theme="blackfriday"] .mpd__similar-card__price--sale.is-bf-price { color: var(--store-bf-price); }

/* Butonul de adaugare in cos (toate produsele, cu tema BF) - 30% din stanga negru cu icon % galben, restul galben cu text negru
   (card, pagina de produs desktop - buton principal si bara de jos, mobil - bara lipicioasa si produse similare).
   Indisponibil (disabled): aspectul obisnuit, cu icon de carucior. */
html[data-theme="blackfriday"] .store-bf-btn .store-bf-hide-icon { display: none; }
html[data-theme="blackfriday"] .store-bf-btn .store-bf-icon { display: inline-block; }
html[data-theme="blackfriday"] .store-bf-btn:disabled .store-bf-icon { display: none; }
html[data-theme="blackfriday"] .store-bf-btn:disabled .store-bf-hide-icon { display: inline-block; }

html[data-theme="blackfriday"] .store-btn.store-bf-btn:not(:disabled),
html[data-theme="blackfriday"] .mpd__sticky-add.store-bf-btn:not(:disabled),
html[data-theme="blackfriday"] .mpd__similar-card__add.store-bf-btn:not(:disabled) {
    position: relative;
    background: linear-gradient(90deg,
        var(--store-bf-button-block) 0, var(--store-bf-button-block) 30%,
        var(--store-bf-button-bg) 30%, var(--store-bf-button-bg) 100%);
    color: var(--store-bf-button-text);
    border-color: var(--store-bf-button-bg);
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
    gap: 0;
    overflow: hidden;
}
/* Distantier de 30% (flex-basis se raporteaza la latimea butonului, spre deosebire de padding in %, care se raporteaza la parinte):
   grupul distantier + text este centrat in buton, deci textul cade exact in mijlocul zonei galbene. */
html[data-theme="blackfriday"] .store-btn.store-bf-btn:not(:disabled)::before,
html[data-theme="blackfriday"] .mpd__sticky-add.store-bf-btn:not(:disabled)::before,
html[data-theme="blackfriday"] .mpd__similar-card__add.store-bf-btn:not(:disabled)::before {
    content: "";
    flex: 0 0 30%;
}
html[data-theme="blackfriday"] .store-btn.store-bf-btn:not(:disabled):hover,
html[data-theme="blackfriday"] .mpd__sticky-add.store-bf-btn:not(:disabled):hover,
html[data-theme="blackfriday"] .mpd__similar-card__add.store-bf-btn:not(:disabled):hover {
    background: linear-gradient(90deg,
        var(--store-bf-button-block) 0, var(--store-bf-button-block) 30%,
        var(--store-bf-button-hover-bg) 30%, var(--store-bf-button-hover-bg) 100%);
    color: var(--store-bf-button-text);
}
/* Bara lipicioasa de pe pagina de produs desktop: butonul nu are latime proprie (e in <form>, element flex), iar blocul de 30% se
   raporteaza la latimea butonului; fara latime minima, butonul se strange sub textul lung din mijloc si textul iese taiat. */
html[data-theme="blackfriday"] .store-sticky-bar__inner > form { flex-shrink: 0; }
html[data-theme="blackfriday"] .store-sticky-bar__inner .store-bf-btn { min-width: 11.5rem; }

/* iconul % sta in blocul negru (30% din stanga), centrat, galben */
html[data-theme="blackfriday"] .store-bf-btn:not(:disabled) .store-bf-icon {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--store-bf-button-bg);
    font-size: 1.15em;
}
/* <<< MANUAL */
