/* Valori default pentru CSS variables — folosite înainte ca JS să le actualizeze.
   Asta previne calculele greșite ale position:sticky/fixed la prima încărcare pe iOS Chrome. */
:root {
    --omn-vh: 100vh;
    --omn-header-h: 0px;
    --omn-wlbar-h: 80px;
}

.omn-lp-page { background: #fdfbf7; min-height: 100vh; padding-bottom: 80px; }
.omn-lp-container { max-width: 1200px; margin: 0 auto; padding: 0; }

.omn-lp-hero { background: linear-gradient(180deg, #f0ede5 0%, #fdfbf7 100%); padding: 36px 18px 28px; text-align: center; }
.omn-lp-hero__eyebrow { margin: 0 0 12px; font-size: 12px; letter-spacing: 2px; color: #888; text-transform: uppercase; }
.omn-lp-hero__title { margin: 0 auto 10px; font-size: 26px; line-height: 1.2; color: #1a1a1a; font-family: Georgia, serif; font-weight: 500; max-width: 640px; }
.omn-lp-hero__subtitle { margin: 0 auto 24px; font-size: 16px; color: #5a5a5a; line-height: 1.55; max-width: 480px; padding: 0 4px; }
.omn-lp-hero__highlight { color: #D85A30; font-weight: 700; }

.omn-lp-hero__steps {
    display: flex; gap: 8px;
    margin: 0 auto 20px;
    max-width: 520px;
}

.omn-lp-hero__step {
    flex: 1; min-width: 0;
    background: #fff; border: 1px solid #ebe4d6;
    border-radius: 12px;
    padding: 14px 6px 12px;
    text-align: center;
}

.omn-lp-hero__step-icon {
    width: 34px; height: 34px;
    border-radius: 50%; background: #fdf5ef;
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 8px;
}
.omn-lp-hero__step-icon svg { width: 20px; height: 20px; stroke: #E8A88C; stroke-width: 2; }

.omn-lp-hero__step-num { margin: 0 0 3px; font-size: 12px; color: #888; letter-spacing: 0.5px; text-transform: uppercase; }
.omn-lp-hero__step-text { margin: 0; font-size: 14px; color: #1a1a1a; font-weight: 500; line-height: 1.3; }

.omn-lp-hero__bonuses {
    display: flex; flex-direction: column; gap: 6px;
    max-width: 480px; margin: 0 auto;
}

.omn-lp-hero__bonus {
    background: #f0f5ee; border: 1px solid #c8d9c8;
    border-radius: 8px; padding: 12px 14px;
    font-size: 14px; color: #5a8a7a;
    line-height: 1.45;
    display: flex; align-items: center; gap: 8px;
    text-align: left;
}
.omn-lp-hero__bonus svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 2; flex-shrink: 0; }

.omn-lp-hero__bonus--gold {
    background: #fff8ee; border-color: #d4a860; color: #8b6f3a;
}
.omn-lp-hero__bonus--gold strong { color: #b8860b; font-weight: 500; }

/* Animații intro hero — secvențial: pași 1-2-3, apoi bonusuri */
@keyframes omnStepRise {
    0%   { transform: translateY(0) scale(1); }
    40%  { transform: translateY(-14px) scale(1.06); }
    100% { transform: translateY(0) scale(1); }
}
@keyframes omnBonusPop {
    0%   { transform: scale(1); opacity: 0.6; }
    50%  { transform: scale(1.08); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}
.omn-lp-hero__step.omn-anim-rise {
    animation: omnStepRise 1.1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.omn-lp-hero__bonus.omn-anim-pop {
    animation: omnBonusPop 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.omn-lp-hero__step-icon, .omn-lp-hero__bonus svg {
    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.omn-lp-hero__step.omn-anim-rise .omn-lp-hero__step-icon {
    transform: scale(1.2);
}

.omn-lp-grid-section { position: relative; padding: 20px 14px 0 56px; }

/* Bara sticky — centrată în spațiul liber stâng */
.omn-lp-milestone-bar {
    position: sticky;
    top: calc(var(--omn-header-h, 110px) + 10px);
    float: left;
    margin-left: -29px;
    width: 2px;
    /* Înălțime STABILĂ — folosim 100vh fix (nu --omn-vh care variază la scroll pe iOS).
       Bara stă fixă, nu se redimensionează la scroll. La scroll în sus poate fi acoperită
       puțin de bara de unelte iOS, dar e preferabil unei bare care saltă continuu. */
    height: calc(100vh - var(--omn-header-h, 110px) - 10px - var(--omn-wlbar-h, 220px) - 20px);
    background: #ebe4d6;
    border-radius: 2px;
    z-index: 1;
    /* Fără tranziție pe height: --omn-vh se actualizează des pe iOS (bara de unelte
       alunecă), iar o tranziție s-ar bate cu aceste update-uri = lag. Urmărirea directă
       e netedă pentru că mișcarea barei de unelte iOS e ea însăși lină. */
}

/* Desktop: wishlist bar e jos dar bara verticală e sticky în stânga,
   nu trebuie scurtată pentru ea */
@media (min-width: 768px) {
    .omn-lp-milestone-bar {
        height: calc(100vh - var(--omn-header-h, 110px) - 30px);
    }
}
.omn-lp-milestone-bar.is-jiggle {
    animation: omnBarJiggle 0.7s ease-in-out;
}
@keyframes omnBarJiggle {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-3px); }
    40% { transform: translateX(3px); }
    60% { transform: translateX(-2px); }
    80% { transform: translateX(2px); }
}

/* Progress fill coral care se umple de sus în jos */
.omn-lp-milestone-bar__fill {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0%;
    background: linear-gradient(180deg, #E8A88C 0%, #d4a860 100%);
    border-radius: 2px;
    z-index: 1;
}

.omn-lp-milestone {
    position: absolute;
    left: -16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #ebe4d6;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.3s ease;
    z-index: 2;
}

.omn-lp-milestone.is-jiggle {
    animation: omnMilestoneJiggle 1.3s ease-in-out;
}
@keyframes omnMilestoneJiggle {
    0%, 100% { transform: scale(1) rotate(0); }
    10% { transform: scale(1.3) rotate(-12deg); }
    20% { transform: scale(1.25) rotate(12deg); }
    30% { transform: scale(1.3) rotate(-10deg); }
    40% { transform: scale(1.25) rotate(10deg); }
    50% { transform: scale(1.28) rotate(-8deg); }
    60% { transform: scale(1.2) rotate(6deg); }
    70% { transform: scale(1.22) rotate(-4deg); }
    80% { transform: scale(1.15) rotate(3deg); }
    90% { transform: scale(1.08) rotate(-1deg); }
}

.omn-lp-milestone svg {
    width: 14px; height: 14px;
    stroke: #bbb;
    fill: none;
    stroke-width: 2;
    transition: stroke 0.4s ease, fill 0.4s ease;
}

/* Milestone activ — peste el a trecut linia coral */
.omn-lp-milestone.is-active {
    transform: scale(1.15);
    box-shadow: 0 2px 8px rgba(232, 168, 140, 0.3);
}

.omn-lp-milestone.is-active.omn-lp-milestone--sage {
    background: #85B1A5;
    border-color: #85B1A5;
}

.omn-lp-milestone.is-active.omn-lp-milestone--gold {
    background: #d4a860;
    border-color: #d4a860;
}

.omn-lp-milestone.is-active svg {
    stroke: #fff;
}

.omn-lp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

/* Carduri narrative — ocupă toată lățimea grid-ului */
.omn-lp-narrative {
    grid-column: 1 / -1;
    background: #fff;
    border: 1px solid #ebe4d6;
    border-radius: 16px;
    padding: 20px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 8px 0;
    opacity: 1;
}

.omn-lp-narrative.is-revealed {
    opacity: 1;
}

@keyframes omnNarrativePop {
    0% { transform: scale(0.95); }
    50% { transform: scale(1.03); }
    100% { transform: scale(1); }
}

@keyframes omnIconBounce {
    0% { transform: scale(1); }
    40% { transform: scale(1.25) rotate(-8deg); }
    100% { transform: scale(1) rotate(0); }
}

.omn-lp-narrative__icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.omn-lp-narrative__icon svg {
    width: 22px;
    height: 22px;
    stroke: #fff;
    fill: none;
    stroke-width: 2;
}

.omn-lp-narrative--sage { background: linear-gradient(135deg, #f0f5ee 0%, #fff 100%); }
.omn-lp-narrative--sage .omn-lp-narrative__icon { background: #85B1A5; }
.omn-lp-narrative--sage { border-color: #c8d9c8; }

.omn-lp-narrative--gold { background: linear-gradient(135deg, #fff8ee 0%, #fff 100%); }
.omn-lp-narrative--gold .omn-lp-narrative__icon { background: #d4a860; }
.omn-lp-narrative--gold { border-color: #e6d4a0; }

.omn-lp-narrative__content { flex: 1; min-width: 0; }

.omn-lp-narrative__eyebrow {
    margin: 0 0 3px;
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #888;
    font-weight: 500;
}

.omn-lp-narrative--sage .omn-lp-narrative__eyebrow { color: #5a8a7a; }
.omn-lp-narrative--gold .omn-lp-narrative__eyebrow { color: #b8860b; }

.omn-lp-narrative__title {
    margin: 0 0 2px;
    font-size: 18px;
    color: #1a1a1a;
    font-weight: 500;
}

.omn-lp-narrative__desc {
    margin: 0;
    font-size: 14px;
    color: #5a5a5a;
    line-height: 1.45;
}

.omn-lp-card {
    background: #fff; border-radius: 12px; overflow: hidden;
    border: 1px solid #ebe4d6; position: relative; cursor: pointer;
    transition: border-color 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

/* Efectul de "apăsare" doar pe desktop (mouse). Pe touch, :active se declanșa
   și la începutul scroll-ului, făcând cardul să clipească micșorat — eliminat. */
@media (hover: hover) {
    .omn-lp-card:active { transform: scale(0.98); }
}
.omn-lp-card.is-saved { border: 2px solid #E8A88C; }

/* Card-uri tutorial - primul cu hint salvare, al doilea cu hint quickview */
/* Chenar verde apare DOAR dacă hint-ul corespunzător nu a fost consumat (evită FOUC la refresh) */
html:not(.omn-hint-save-done) .omn-lp-card--lure-save:not(.is-hint-closed),
html:not(.omn-hint-qv-done) .omn-lp-card--lure-qv:not(.is-hint-closed) {
    border: 2px solid #8FB59E;
    box-shadow: 0 4px 16px rgba(143, 181, 158, 0.25);
}
html:not(.omn-hint-save-done) .omn-lp-card--lure-save:not(.is-hint-closed) .omn-lp-card__heart {
    animation: omnHeartPulse 2s ease-in-out infinite;
}
html:not(.omn-hint-qv-done) .omn-lp-card--lure-qv:not(.is-hint-closed) .omn-lp-card__quickview {
    animation: omnHeartPulse 2s ease-in-out infinite;
}

/* Când hint-ul e închis, cardul devine normal — DAR dacă e salvat, păstrăm border-ul coral */
.omn-lp-card--lure.is-hint-closed:not(.is-saved) { 
    border: 1px solid #ebe4d6; 
    box-shadow: none; 
}

/* Hint-uri integrate pe primele 2 carduri */
.omn-lp-card__hint {
    position: absolute;
    z-index: 4;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    color: #fff;
    padding: 10px 28px 10px 12px;
    border-radius: 10px;
    text-align: left;
    width: 86%;
    min-height: 56px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    animation: omnHintFadeIn 0.4s ease 0.5s both;
}

@keyframes omnHintFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.omn-lp-card__hint::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
}

/* Buton X de închidere */
.omn-lp-card__hint-close {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease;
}
.omn-lp-card__hint-close:hover {
    background: rgba(255, 255, 255, 0.35);
}
.omn-lp-card__hint-close svg {
    width: 10px;
    height: 10px;
    stroke: #fff;
}

/* Hint Salvare — pe centrul cardului */
.omn-lp-card__hint--save {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #E8A88C;
    box-shadow: 0 4px 14px rgba(232, 168, 140, 0.5);
}

/* Hint Quickview — sub butonul VEZI (stânga-sus), săgeată în sus spre buton */
.omn-lp-card__hint--qv {
    top: 56px;
    left: 10px;
    background: #1a1a1a;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}
.omn-lp-card__hint--qv::before {
    top: -6px;
    left: 24px;
    border-bottom: 7px solid #1a1a1a;
}

@keyframes omnHeartPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.15); }
}

.omn-lp-card__image-wrap { 
    aspect-ratio: 1; 
    position: relative; 
    overflow: hidden;
    background: #fff;
}
.omn-lp-card__image { 
    position: relative;
    width: 100%; height: 100%; object-fit: cover; display: block;
    opacity: 0;
    transition: opacity 0.4s ease;
}
/* Când imaginea s-a încărcat (browser-ul îi setează atributul) */
.omn-lp-card__image.is-loaded,
.omn-lp-card__image[data-loaded="true"] {
    opacity: 1;
}
/* Fallback: imagini deja cache-uite (complete) sunt vizibile imediat */
.omn-lp-card__image[loading="eager"] {
    opacity: 1;
}

/* Buton quick view în colțul stânga-sus — pill cu text "VEZI" și shadow elevat */
.omn-lp-card__quickview {
    position: absolute;
    top: 6px; left: 6px;
    padding: 4px 7px 3px !important;
    background: #fff !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    border-radius: 100px !important;
    cursor: pointer;
    z-index: 3;
    display: flex !important;
    align-items: center;
    gap: 3px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12), 0 1px 3px rgba(0,0,0,0.08) !important;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
    height: auto !important;
    line-height: 1 !important;
}
.omn-lp-card__quickview svg {
    width: 9px; height: 9px;
    stroke: #1a1a1a;
    fill: none;
    stroke-width: 2;
    display: block;
    flex-shrink: 0;
}
.omn-lp-card__quickview span {
    font-size: 8px;
    font-weight: 600;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1;
    display: block;
}
/* Hover pe quickview DOAR pe device-uri cu hover real (desktop) */
@media (hover: hover) {
    .omn-lp-card__quickview:hover,
    .omn-lp-card__quickview:focus {
        background: #f4f1eb !important;
        border-color: rgba(0,0,0,0.12) !important;
        box-shadow: 0 6px 16px rgba(0,0,0,0.18), 0 2px 4px rgba(0,0,0,0.1) !important;
        transform: translateY(-1px);
    }
}
.omn-lp-card__quickview:active { transform: scale(0.96); }

/* COMPACT — pentru cardurile 13+ butoanele devin doar iconițe rotunde */
.omn-lp-card.is-compact .omn-lp-card__quickview {
    padding: 0 !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    justify-content: center !important;
    gap: 0 !important;
    aspect-ratio: 1 / 1 !important;
}
.omn-lp-card.is-compact .omn-lp-card__quickview svg {
    width: 14px !important;
    height: 14px !important;
}
.omn-lp-card.is-compact .omn-lp-card__quickview span {
    display: none !important;
}

.omn-lp-card__heart {
    position: absolute; top: 6px; right: 6px;
    padding: 4px 7px 3px;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 100px;
    display: flex;
    align-items: center;
    gap: 3px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12), 0 1px 3px rgba(0,0,0,0.08);
    /* Tranziție specifică (nu 'all') — mai puțin costisitor pentru scroll */
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    pointer-events: auto;
    cursor: pointer;
    z-index: 3;
}
/* Hover-ul pe inimă DOAR pe device-uri cu hover real (desktop), nu pe touch */
@media (hover: hover) {
    .omn-lp-card:hover .omn-lp-card__heart:not(.is-saved) {
        background: #E8A88C;
        border-color: #E8A88C;
        box-shadow: 0 4px 12px rgba(232, 168, 140, 0.4), 0 1px 3px rgba(232, 168, 140, 0.3);
    }
    .omn-lp-card:hover .omn-lp-card__heart:not(.is-saved) svg {
        stroke: #fff;
        fill: #fff;
    }
    .omn-lp-card:hover .omn-lp-card__heart:not(.is-saved) .omn-lp-card__heart-label-save {
        color: #fff;
    }
}

.omn-lp-card__heart svg {
    width: 9px; height: 9px;
    stroke: #1a1a1a; fill: none; stroke-width: 2;
    transition: stroke 0.2s ease, fill 0.2s ease;
    flex-shrink: 0;
}
.omn-lp-card__heart:active { transform: scale(0.94); }
/* Zonă de tap extinsă invizibil pe mobil — inima arată la fel, dar e mult mai ușor de nimerit.
   Acoperă ~44px (recomandarea pentru touch) fără să schimbe aspectul vizual. */
.omn-lp-card__heart::before {
    content: "";
    position: absolute;
    top: -20px; right: -14px; bottom: -40px; left: -20px;
}

.omn-lp-card__heart-label-save,
.omn-lp-card__heart-label-saved {
    font-size: 8px;
    font-weight: 600;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1;
}
.omn-lp-card__heart-label-saved { display: none; }

.omn-lp-card.is-saved .omn-lp-card__heart {
    background: #E8A88C;
    border-color: #E8A88C;
    box-shadow: 0 4px 12px rgba(232, 168, 140, 0.4), 0 1px 3px rgba(232, 168, 140, 0.3);
    animation: omnHeartPop 0.4s ease;
}
.omn-lp-card.is-saved .omn-lp-card__heart svg { stroke: #fff; fill: #fff; }
.omn-lp-card.is-saved .omn-lp-card__heart-label-save { display: none; }
.omn-lp-card.is-saved .omn-lp-card__heart-label-saved {
    display: inline;
    color: #fff;
}

/* COMPACT — heart devine doar iconiță rotundă */
.omn-lp-card.is-compact .omn-lp-card__heart {
    padding: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    justify-content: center;
    gap: 0;
}
.omn-lp-card.is-compact .omn-lp-card__heart svg {
    width: 14px; height: 14px;
}
.omn-lp-card.is-compact .omn-lp-card__heart-label-save,
.omn-lp-card.is-compact .omn-lp-card__heart-label-saved {
    display: none !important;
}

@keyframes omnHeartPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* Butonul nativ Elessi din card - invizibil dar funcțional */
.omn-lp-card__native-wishlist {
    position: absolute !important;
    top: 0; left: 0;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

.omn-lp-card__info { padding: 10px 12px; }
.omn-lp-card__name {
    margin: 0 0 4px; font-size: 12px; color: #1a1a1a; line-height: 1.35;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.omn-lp-card__price { margin: 0; font-size: 13px; color: #1a1a1a; font-weight: 500; }
.omn-lp-card__price del { color: #999; font-weight: 400; margin-right: 4px; }
.omn-lp-card__price ins { text-decoration: none; }

.omn-lp-placeholder {
    grid-column: 1 / -1; padding: 60px 20px; text-align: center;
    color: #888; background: #fff; border: 1px dashed #ebe4d6;
    border-radius: 12px; font-size: 13px;
}

.omn-lp-summary {
    background: #fff; padding: 32px 20px 36px;
    margin: 32px 14px 0; border-radius: 16px;
    border: 1px solid #ebe4d6; text-align: center;
}
.omn-lp-summary__icon {
    width: 64px; height: 64px; background: #E8A88C; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.omn-lp-summary__icon svg { width: 32px; height: 32px; stroke: #fff; fill: none; stroke-width: 2.5; }
.omn-lp-summary__title { margin: 0 0 6px; font-size: 22px; color: #1a1a1a; font-family: Georgia, serif; font-weight: 500; }
.omn-lp-summary__subtitle { margin: 0 0 20px; font-size: 14px; color: #5a5a5a; }
.omn-lp-summary__subtitle strong { color: #1a1a1a; }

.omn-lp-summary__benefits {
    background: #fdfbf7; border: 1px solid #ebe4d6; border-radius: 12px;
    padding: 14px 12px; margin: 0 auto 14px; max-width: 420px; text-align: left;
}
.omn-lp-summary__benefits-title {
    margin: 0 0 10px; font-size: 11px; color: #888;
    text-transform: uppercase; letter-spacing: 0.5px; text-align: center;
}
.omn-lp-summary__benefit { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f4f1eb; }
.omn-lp-summary__benefit:last-child { border-bottom: none; padding-bottom: 0; }
.omn-lp-summary__benefit-icon {
    width: 30px; height: 30px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.omn-lp-summary__benefit-icon svg { width: 14px; height: 14px; stroke: #fff; fill: none; stroke-width: 2; }
.omn-lp-summary__benefit-icon--sage { background: #85B1A5; }
.omn-lp-summary__benefit-icon--gold { background: #d4a860; }
.omn-lp-summary__benefit-icon--coral { background: #E8A88C; }
.omn-lp-summary__benefit-label { margin: 0; flex: 1; font-size: 13px; color: #1a1a1a; font-weight: 500; }
.omn-lp-summary__benefit-label small { display: block; font-size: 11px; font-weight: 400; color: #888; margin-top: 1px; }
.omn-lp-summary__benefit-check { width: 16px; height: 16px; stroke: #4a8a63; fill: none; stroke-width: 2.5; flex-shrink: 0; }

.omn-lp-summary__cta {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; max-width: 420px; margin: 14px auto 0;
    background: #E8A88C; color: #fff; padding: 16px;
    border-radius: 100px; border: none;
    font-size: 13px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase;
    cursor: pointer; text-decoration: none; transition: background 0.2s ease;
}
.omn-lp-summary__cta:hover, .omn-lp-summary__cta:active { background: #DD9778; color: #fff; }
.omn-lp-summary__cta svg { width: 16px; height: 16px; stroke: #fff; fill: #fff; stroke-width: 2; }
.omn-lp-summary__cta-hint { margin: 10px 0 0; font-size: 11px; color: #888; }

.omn-lp-wishlist-bar {
    position: fixed;
    bottom: 0;
    left: 0; right: 0;
    background: #fff;
    border-top: 1px solid #ebe4d6;
    padding: 8px 14px 12px;
    display: flex; flex-direction: column;
    z-index: 9999;
    box-shadow: 0 -4px 12px rgba(0,0,0,0.06);
    transition: background 0.3s ease;
}
.omn-lp-wishlist-bar.is-complete,
.omn-lp-wishlist-bar.is-celebrating {
    background: #E8A88C;
}
/* Înălțime egală în toate stările cu produse (1-4, celebrare, complete).
   Doar starea goală (0 produse) e mai scundă, fără has-items. Conținutul centrat. */
.omn-lp-wishlist-bar.has-items {
    min-height: 172px;
    justify-content: center;
}

.omn-lp-wishlist-bar__header {
    display: flex; align-items: center; gap: 12px;
}

.omn-lp-wishlist-bar__icon {
    background: #E8A88C; width: 40px; height: 40px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    transition: background 0.3s ease;
    position: relative;
}
/* Inel progres SVG — peste fundalul rotund, sub iconița inimă */
.omn-lp-wishlist-bar__icon-ring {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
    pointer-events: none;
}
.omn-lp-wishlist-bar__icon-ring-track {
    stroke: rgba(255, 255, 255, 0.25);
}
.omn-lp-wishlist-bar__icon-ring-fill {
    stroke: #fff;
    stroke-dasharray: 113.1; /* 2 * π * r (r=18) ≈ 113.1 */
    stroke-dashoffset: 113.1; /* Start gol */
    transition: stroke-dashoffset 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.omn-lp-wishlist-bar__icon-heart {
    width: 16px; height: 16px;
    stroke: #fff; fill: #fff; stroke-width: 2;
    position: relative;
    z-index: 1;
}
/* Override pentru SVG-uri în general */
.omn-lp-wishlist-bar__icon > svg.omn-lp-wishlist-bar__icon-heart {
    width: 16px; height: 16px;
}

.omn-lp-wishlist-bar__content { flex: 1; min-width: 0; }
.omn-lp-wishlist-bar__label { 
    margin: 0 0 5px; font-size: 14px; color: #1a1a1a; font-weight: 500; 
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.omn-lp-wishlist-bar__progress { background: #f4f1eb; height: 4px; border-radius: 2px; overflow: hidden; }
.omn-lp-wishlist-bar__progress-fill { background: #E8A88C; height: 100%; border-radius: 2px; transition: width 0.4s ease; }
.omn-lp-wishlist-bar__hint { margin: 5px 0 0; font-size: 11px; color: #888; }
.omn-lp-wishlist-bar__counter { 
    margin: 0; font-size: 13px; color: #888; flex-shrink: 0; font-weight: 500;
}

/* Pozele produselor (scroll orizontal) */
.omn-lp-wishlist-bar__thumbs {
    display: flex; gap: 8px;
    overflow-x: auto;
    overflow-y: visible;
    padding: 8px 4px 2px;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.omn-lp-wishlist-bar__thumbs::-webkit-scrollbar { display: none; }

.omn-lp-wishlist-bar__thumb {
    width: 38px; height: 38px;
    border-radius: 8px;
    overflow: visible;
    flex-shrink: 0;
    background: #f4f1eb;
    border: 1px solid #ebe4d6;
    position: relative;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.15s ease;
}
.omn-lp-wishlist-bar__thumb:active { transform: scale(0.95); }
.omn-lp-wishlist-bar__thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}

/* X mic permanent în colț dreapta-sus al miniaturii */
.omn-lp-wishlist-bar__thumb-remove {
    position: absolute;
    top: -5px; right: -5px;
    width: 16px; height: 16px;
    background: #1a1a1a;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
    pointer-events: none;
    z-index: 2;
}
.omn-lp-wishlist-bar__thumb-remove svg {
    width: 10px; height: 10px;
    stroke: #fff;
    stroke-width: 3;
}

/* Pe stare COMPLETĂ (coral), X-ul ramâne închis la culoare pentru contrast */
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__thumb-remove,
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__thumb-remove {
    background: #fff;
}
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__thumb-remove svg,
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__thumb-remove svg {
    stroke: #1a1a1a;
}

/* CTA button "Vezi produsele salvate" */
.omn-lp-wishlist-bar__cta {
    margin-top: 8px;
    width: 100%;
    background: #E8A88C;
    color: #fff;
    border: none;
    padding: 11px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.15s ease, background 0.15s ease;
}
.omn-lp-wishlist-bar__cta:hover { color: #fff; background: #DD9778; }
.omn-lp-wishlist-bar__cta:active { transform: scale(0.98); }
.omn-lp-wishlist-bar__cta svg { width: 16px; height: 16px; stroke: #fff; }
/* Stare inactivă (0 produse salvate) — vizibil ca buton, dar șters */
.omn-lp-wishlist-bar__cta.is-disabled {
    background: #f2f2f0;
    color: #b0b0b0;
    border: 1px solid #e2e2de;
    cursor: default;
}
.omn-lp-wishlist-bar__cta.is-disabled:hover { background: #f2f2f0; color: #b0b0b0; }
.omn-lp-wishlist-bar__cta.is-disabled:active { transform: none; }
.omn-lp-wishlist-bar__cta.is-disabled svg { display: none; }
/* La complete bara devine coral — butonul devine alb ca să rămână vizibil */
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__cta,
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__cta {
    background: #fff;
    color: #c77b57;
}
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__cta:hover,
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__cta:hover {
    background: #fff; color: #b56a48;
}
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__cta svg,
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__cta svg { stroke: #c77b57; }

/* Stare COMPLETĂ (5+) */
.omn-lp-wishlist-bar.is-complete { background: #E8A88C; border-top-color: #E8A88C; }
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__icon { background: rgba(255,255,255,0.25); }
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__label { color: #fff; }
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__counter { color: rgba(255,255,255,0.85); }
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__progress { display: none; }
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__label {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.4;
}
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__hint { 
    color: rgba(255,255,255,0.85);
    margin: 4px 0 0;
}
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__label strong {
    background: #fff;
    color: #c97548;
    padding: 1px 6px;
    border-radius: 3px;
    font-weight: 700;
    font-family: 'Courier New', monospace;
    letter-spacing: 0.5px;
    font-size: 11px;
    margin-left: 3px;
    white-space: nowrap;
    display: inline-block;
    line-height: 1.4;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
.omn-lp-wishlist-bar.is-complete .omn-lp-wishlist-bar__thumb { 
    background: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.3);
}

/* Stare CELEBRARE — identică vizual cu is-complete (acelasi background coral + dimensiuni) */
.omn-lp-wishlist-bar.is-celebrating { background: #E8A88C; border-top-color: #E8A88C; }
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__icon { background: rgba(255,255,255,0.25); }
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__label,
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__counter { color: #fff; }
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__counter { color: rgba(255,255,255,0.85); }
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__hint {
    color: rgba(255,255,255,0.85);
    margin: 4px 0 0;
}
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__progress { display: none; }
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__label {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.4;
}
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__label strong {
    background: #fff;
    color: #c97548;
    padding: 1px 6px;
    border-radius: 3px;
    font-weight: 700;
    font-family: 'Courier New', monospace;
    letter-spacing: 0.5px;
    font-size: 11px;
    margin-left: 3px;
    white-space: nowrap;
    display: inline-block;
    line-height: 1.4;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
.omn-lp-wishlist-bar.is-celebrating .omn-lp-wishlist-bar__thumb { 
    background: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.3);
}

/* ========== WISHLIST DRAWER ========== */
.omn-wld {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    /* Respect safe area pe iOS — top notch + bottom home indicator */
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    z-index: 10000;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.omn-wld.is-open {
    pointer-events: auto;
    opacity: 1;
}
.omn-wld__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
    cursor: pointer;
}
.omn-wld__panel {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    background: #fff;
    border-radius: 16px;
    width: calc(100% - 24px);
    max-width: 480px;
    /* Blochează pinch-zoom de pagină în drawer (permite scroll/swipe normal) */
    touch-action: pan-x pan-y;
    /* Folosim --omn-vh (setat de JS) — mai precis decât 100vh pe iOS */
    max-height: calc(var(--omn-vh, 100vh) - 20px);
    height: calc(var(--omn-vh, 100vh) - 20px);
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    overflow: hidden;
    transition: transform 0.3s ease;
}
.omn-wld.is-open .omn-wld__panel {
    transform: translate(-50%, -50%) scale(1);
}

/* Desktop: drawer mai lat + carduri în 2 coloane */
@media (min-width: 768px) {
    .omn-wld__panel {
        max-width: 840px;
        height: calc(var(--omn-vh, 100vh) - 40px);
        max-height: calc(var(--omn-vh, 100vh) - 40px);
    }
    .omn-wld__body-inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
    .omn-wld-item {
        margin-bottom: 0;
    }
}

/* Header */
.omn-wld__header {
    padding: 18px 20px;
    border-bottom: 1px solid #ebe4d6;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    background: #fff;
}
.omn-wld__title {
    margin: 0 0 2px;
    font-size: 17px;
    font-weight: 500;
    color: #1a1a1a;
    font-family: Georgia, serif;
}
.omn-wld__subtitle {
    margin: 0;
    font-size: 12px;
    color: #888;
}
.omn-wld__close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #f4f1eb !important;
    border: none !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s ease;
    flex-shrink: 0;
}
.omn-wld__close:hover { background: #ebe4d6 !important; }
.omn-wld__close svg { 
    width: 18px !important; 
    height: 18px !important; 
    stroke: #1a1a1a !important;
    fill: none !important;
    display: block;
}

/* Banner cod activat */
.omn-wld__banner {
    padding: 12px 20px;
    background: linear-gradient(90deg, #fdf6f0 0%, #fef7e8 100%);
    border-bottom: 1px solid #ebe4d6;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.omn-wld__banner-icon {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: #E8A88C;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.omn-wld__banner-icon svg { width: 16px; height: 16px; stroke: #fff; }
.omn-wld__banner-text { flex: 1; }
.omn-wld__banner-title { margin: 0 0 1px; font-size: 12px; font-weight: 600; color: #1a1a1a; }
.omn-wld__banner-sub { margin: 0; font-size: 11px; color: #888; }
.omn-wld__banner-sub strong { font-family: 'Courier New', monospace; color: #1a1a1a; letter-spacing: 1px; }

/* Stage = container relative, conține barele (în spate) și body-ul (deasupra) */
.omn-wld__stage {
    flex: 1;
    position: relative;
    overflow: hidden;
}

/* Bare progres — fixe în spate, în partea de sus */
.omn-wld__bare {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 12px 16px;
    background: #fff;
    z-index: 1;
}
.omn-wld__bare:empty { display: none; }
/* "Vezi cadou" nu funcționează în drawer (barele stau în spatele body-ului), deci îl ascundem aici.
   Rămâne activ în quick view, vezi coșul și narrative. */
.omn-wld__bare .omn-vezi-cadou { display: none; }
.omn-wld__bare .bare-progres-wrap {
    margin-bottom: 0 !important;
    padding: 12px !important;
}

/* Body cu produsele — deasupra barelor, are propriul scroll, fundal alb opac */
.omn-wld__body {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* Previne scroll-ul să se propage la body pe iOS Chrome */
    background: transparent;
    z-index: 2;
}
/* Spacer la începutul body-ului — ține produsele sub bare la început */
.omn-wld__body::before {
    content: '';
    display: block;
    height: var(--omn-wld-bare-h, 0px);
    pointer-events: none;
}
/* Conținutul real al body-ului — fundal alb opac, acoperă barele când scrolezi */
.omn-wld__body-inner {
    padding: 14px 16px;
    background: #fff;
    min-height: 100%;
}
.omn-wld__loading,
.omn-wld__empty {
    text-align: center;
    padding: 40px 20px;
    color: #888;
    font-size: 13px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    width: 100%;
    box-sizing: border-box;
    grid-column: 1 / -1; /* ocupă toate coloanele când body-inner e grid pe desktop */
}

/* Titlu deasupra barelor de progres */
.omn-wld__bare-title {
    margin: 0 0 10px;
    padding: 0 4px;
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    font-family: inherit;
}

.omn-wld__empty > svg {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px !important;
    max-height: 56px !important;
    stroke: #c98c6c !important;
    fill: none !important;
    stroke-width: 1.5 !important;
    margin-bottom: 16px !important;
    opacity: 0.5;
    flex-shrink: 0;
    display: block !important;
}
.omn-wld__empty-icon {
    width: 64px; height: 64px;
    margin: 0 auto 16px;
    background: #f4f1eb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.omn-wld__empty-icon svg { width: 28px; height: 28px; stroke: #c98c6c; fill: none; stroke-width: 1.5; }
.omn-wld__empty-title { margin: 0 0 6px; font-size: 15px; color: #1a1a1a; font-weight: 500; text-align: center; }
.omn-wld__empty-text { margin: 0; font-size: 13px; color: #888; max-width: 280px; line-height: 1.5; text-align: center; }

/* Produs card mare */
.omn-wld-item {
    border: 1px solid #ebe4d6;
    border-radius: 12px;
    margin-bottom: 10px;
    overflow: hidden;
    position: relative;
    background: #fff;
    transition: border-color 0.3s ease, background 0.3s ease;
}
.omn-wld-item.is-in-cart {
    border: 2px solid #6FA086;
    background: #f5faf7;
}
.omn-wld-item__remove {
    position: absolute;
    top: 8px; right: 8px;
    z-index: 2;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.95) !important;
    border: none !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s ease;
}
.omn-wld-item__remove:hover { background: #fff !important; }
.omn-wld-item__remove svg { 
    width: 14px !important; 
    height: 14px !important; 
    stroke: #1a1a1a !important;
    fill: none !important;
    display: block;
}

/* Galerie principală */
.omn-wld-item__gallery {
    position: relative;
    background: #fff;
    aspect-ratio: 1/1;
    overflow: hidden;
}
.omn-wld-item__gallery-track {
    display: flex;
    height: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.omn-wld-item__gallery-track::-webkit-scrollbar { display: none; }
.omn-wld-item__gallery-slide {
    flex: 0 0 100%;
    height: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    display: flex;
    align-items: center;
    justify-content: center;
}
.omn-wld-item__gallery-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.omn-wld-item__gallery-dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 5px;
    background: rgba(0,0,0,0.35);
    padding: 5px 10px;
    border-radius: 100px;
    pointer-events: none;
    z-index: 10;
}
.omn-wld-item__gallery-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    transition: background 0.2s ease, width 0.2s ease;
}
.omn-wld-item__gallery-dot.is-active {
    background: #fff;
    width: 18px;
    border-radius: 100px;
}

/* Săgeți navigare galerie */
/* Săgeți navigare galerie — design identic cu Quick View */
.omn-wld-item__gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 24px; height: 24px;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease, transform 0.15s ease;
}
.omn-wld-item__gallery-nav:hover { background: #fff; transform: translateY(-50%) scale(1.05); }
.omn-wld-item__gallery-nav:active { transform: translateY(-50%) scale(0.95); }
.omn-wld-item__gallery-nav svg {
    width: 12px; height: 12px;
    stroke: #1a1a1a;
    fill: none;
}
.omn-wld-item__gallery-nav--prev { left: 8px; }
.omn-wld-item__gallery-nav--next { right: 8px; }

/* ===== UNDO TOAST după ștergere wishlist ===== */
.omn-wld-undo {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #1a1a1a;
    color: #fff;
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    z-index: 10005;
    min-width: 320px;
    max-width: calc(100% - 32px);
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
    font-size: 14px;
}
.omn-wld-undo.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.omn-wld-undo__icon {
    width: 18px; height: 18px;
    stroke: rgba(255,255,255,0.8);
    fill: none;
    flex-shrink: 0;
}
.omn-wld-undo__text {
    flex: 1;
    color: #fff;
}
.omn-wld-undo__btn {
    background: none;
    border: none;
    color: #ffba8c;
    font-size: 14px;
    font-weight: 600;
    padding: 4px 6px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    -webkit-tap-highlight-color: transparent;
}
.omn-wld-undo__btn:hover { color: #fff; }
.omn-wld-undo__count {
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    font-variant-numeric: tabular-nums;
    min-width: 14px;
    text-align: center;
}
.omn-wld-undo__progress {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255,255,255,0.1);
    border-radius: 0 0 12px 12px;
    overflow: hidden;
}
.omn-wld-undo__progress-fill {
    height: 100%;
    background: #ffba8c;
    width: 100%;
    transition: width 5s linear;
}
@media (max-width: 480px) {
    .omn-wld-undo {
        min-width: 0;
        width: calc(100% - 24px);
        padding: 10px 14px;
        font-size: 13px;
    }
}

/* Thumbnails */
.omn-wld-item__thumbs {
    display: flex;
    gap: 5px;
    padding: 6px 10px 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.omn-wld-item__thumbs::-webkit-scrollbar { display: none; }
.omn-wld-item__thumb {
    width: 36px; height: 36px;
    background: #f4f1eb;
    border: 1px solid #ebe4d6;
    border-radius: 6px;
    flex-shrink: 0;
    overflow: hidden;
    cursor: pointer;
    padding: 0;
    transition: border-color 0.2s ease;
}
.omn-wld-item__thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.omn-wld-item__thumb.is-active { border: 2px solid #E8A88C; }

/* Info zone */
.omn-wld-item__info {
    padding: 8px 10px 10px;
}
.omn-wld-item__name {
    margin: 0 0 2px;
    font-size: 12px;
    color: #1a1a1a;
    line-height: 1.3;
    font-weight: 500;
}
.omn-wld-item__price {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
}
.omn-wld-item__attr-label {
    margin: 0 0 4px;
    font-size: 9.5px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.omn-wld-item__options {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.omn-wld-item__option {
    font-size: 10px !important;
    padding: 4px 8px !important;
    border: 1px solid #ebe4d6 !important;
    background: #fff !important;
    border-radius: 6px !important;
    color: #888 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.15s ease !important;
    -webkit-tap-highlight-color: transparent;
    min-height: auto !important;
    height: auto !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}
.omn-wld-item__option:hover:not(.is-selected):not(.is-disabled),
.omn-wld-item__option:focus:not(.is-selected):not(.is-disabled) {
    border-color: #6FA086 !important;
    color: #6FA086 !important;
    background: #fff !important;
}
.omn-wld-item__option.is-selected,
.omn-wld-item__option.is-selected:hover,
.omn-wld-item__option.is-selected:focus,
.omn-wld-item__option.is-selected:active,
button.omn-wld-item__option.is-selected {
    background: #6FA086 !important;
    color: #fff !important;
    border-color: #6FA086 !important;
}
.omn-wld-item__option.is-disabled {
    opacity: 0.4;
    cursor: not-allowed;
    text-decoration: line-through;
}

.omn-wld-item__cart-info {
    margin: 0 0 10px;
    font-size: 11px;
    color: #6FA086;
    font-weight: 500;
}

/* Buton adăugare */
.omn-wld-item__cta {
    width: 100%;
    padding: 9px;
    background: #8FB59E;
    color: #fff;
    border: none;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    line-height: 1;
    transition: background 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}
.omn-wld-item__cta:hover:not(:disabled) { background: #7BA38C; }
.omn-wld-item__cta:active:not(:disabled) { transform: scale(0.98); }
.omn-wld-item__cta:disabled,
.omn-wld-item__cta[disabled],
button.omn-wld-item__cta:disabled {
    background: #c7d4cc !important;
    color: #fff !important;
    cursor: not-allowed !important;
    border: none !important;
    opacity: 1 !important;
}
.omn-wld-item__cta:disabled svg,
.omn-wld-item__cta[disabled] svg { stroke: #fff !important; }
.omn-wld-item__cta svg { width: 14px; height: 14px; stroke: #fff; flex-shrink: 0; }
.omn-wld-item.is-in-cart .omn-wld-item__cta {
    background: #6FA086;
    color: #fff;
    border: none;
}
.omn-wld-item.is-in-cart .omn-wld-item__cta svg { stroke: #fff; }
.omn-wld-item.is-in-cart .omn-wld-item__cta:hover { background: #5e8d75; }

/* Footer */
.omn-wld__footer {
    padding: 14px 20px;
    border-top: 1px solid #ebe4d6;
    background: #fdfbf7;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.omn-wld__footer-info {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.omn-wld__footer-count {
    margin: 0;
    font-size: 12px;
    color: #888;
}
.omn-wld__footer-total {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
}
.omn-wld__total-old {
    font-size: 13px;
    font-weight: 500;
    color: #999;
    text-decoration: line-through;
    margin-right: 4px;
}
.omn-wld__footer-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}
.omn-wld__footer-cta {
    flex: 1;
    padding: 12px 20px;
    background: #E8A88C;
    color: #fff;
    border: none;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}
.omn-wld__footer-cta:hover { background: #DD9778; color: #fff; }
.omn-wld__footer-cta:active { transform: scale(0.98); }
.omn-wld__footer-cta svg { width: 14px; height: 14px; stroke: #fff; flex-shrink: 0; }

/* Buton "Vezi coșul" lângă butonul Finalizează */
.omn-wld__footer-cart {
    flex: 1;
    padding: 12px 14px !important;
    background: #fff !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d4c8 !important;
    border-radius: 100px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease !important;
    line-height: 1 !important;
    height: auto !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    font-family: inherit !important;
}
.omn-wld__footer-cart:hover { background: #f4f1eb !important; color: #1a1a1a !important; border-color: #b8b3a5 !important; }
.omn-wld__footer-cart:active { transform: scale(0.98); }

/* ========== MODAL COȘ ========== */
.omn-cm {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    /* iOS safe area */
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    z-index: 10003;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.25s, opacity 0.25s ease;
}
.omn-cm.is-open {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.25s ease;
}
.omn-cm__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.omn-cm__panel {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    background: #fff;
    border-radius: 16px;
    touch-action: pan-x pan-y;
    width: calc(100% - 24px);
    max-width: 480px;
    max-height: calc(var(--omn-vh, 100vh) - 20px);
    height: min(720px, calc(var(--omn-vh, 100vh) - 20px));
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 80px rgba(0,0,0,0.5);
    overflow: hidden;
    transition: transform 0.3s ease;
}
.omn-cm.is-open .omn-cm__panel {
    transform: translate(-50%, -50%) scale(1);
}

/* Header */
.omn-cm__header {
    padding: 16px 18px;
    border-bottom: 1px solid #f0ede4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
}
.omn-cm__header-text { flex: 1; min-width: 0; }
.omn-cm__title {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
}
.omn-cm__subtitle {
    font-size: 12px;
    color: #888;
    margin: 2px 0 0;
}
.omn-cm__subtitle-old {
    color: #bbb;
    text-decoration: line-through;
    margin-right: 4px;
    font-weight: 400;
}
.omn-cm__close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #f4f1eb !important;
    border: none !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: none !important;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s ease;
}
.omn-cm__close:hover { background: #ebe4d6 !important; }
.omn-cm__close svg { width: 18px !important; height: 18px !important; stroke: #1a1a1a !important; fill: none; }

/* Body */
.omn-cm__body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px 18px;
}
.omn-cm__loading,
.omn-cm__empty {
    text-align: center;
    padding: 60px 20px;
    color: #888;
    font-size: 13px;
}

/* Bare progres din modal coș — folosesc stilul existent .bare-progres-wrap */
.omn-cm__body .bare-progres-wrap {
    margin-bottom: 14px;
}

/* Titlu secțiune */
.omn-cm__section-title {
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
    margin: 0 0 10px;
    padding: 0 4px;
}

/* Item produs */
.omn-cm-item {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f0ebe0;
}
.omn-cm-item:last-of-type { border-bottom: none; }
.omn-cm-item__image {
    width: 64px; height: 64px;
    background: #fafaf7;
    border-radius: 8px;
    flex-shrink: 0;
    overflow: hidden;
}
.omn-cm-item__image img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.omn-cm-item__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.omn-cm-item__name {
    font-size: 13px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0 0 2px;
    line-height: 1.3;
    text-decoration: none;
}
.omn-cm-item__variation {
    font-size: 11px;
    color: #888;
    margin: 0 0 6px;
}
.omn-cm-item__bottom {
    display: flex;
    align-items: center;
    gap: 8px;
}
.omn-cm-item__qty {
    display: inline-flex;
    border: 0.5px solid #e5e2db;
    border-radius: 6px;
    background: #fafaf7;
    overflow: hidden;
    height: 26px;
}
.omn-cm-item__qty-btn {
    width: 24px;
    height: 26px;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    color: #1a1a1a;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease;
}
.omn-cm-item__qty-btn:hover { background: #f0ede4; }
.omn-cm-item__qty-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.omn-cm-item__qty-btn svg { width: 12px; height: 12px; stroke: #1a1a1a; fill: none; }
.omn-cm-item__qty-value {
    width: 24px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    color: #1a1a1a;
}
.omn-cm-item__price {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
    margin-left: auto;
    white-space: nowrap;
}
.omn-cm-item__remove {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: transparent;
    border: 0.5px solid #e5e2db;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    align-self: flex-start;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.omn-cm-item__remove:hover { background: #1a1a1a; border-color: #1a1a1a; }
.omn-cm-item__remove:hover svg { stroke: #fff; }
.omn-cm-item__remove svg { width: 11px; height: 11px; stroke: #888; fill: none; }

/* Cupon expandabil */
.omn-cm__coupon-box {
    margin-top: 14px;
    padding: 10px 12px;
    background: #fafaf7;
    border: 0.5px dashed #d8d4c8;
    border-radius: 8px;
}
.omn-cm__coupon-summary {
    font-size: 12px;
    color: #666;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 6px;
    -webkit-tap-highlight-color: transparent;
}
.omn-cm__coupon-summary::-webkit-details-marker { display: none; }
.omn-cm__coupon-summary svg { width: 14px; height: 14px; stroke: currentColor; fill: none; }
.omn-cm__coupon-summary .omn-cm__coupon-chevron { margin-left: auto; transition: transform 0.2s ease; }
.omn-cm__coupon-box[open] .omn-cm__coupon-chevron { transform: rotate(180deg); }
.omn-cm__coupon-form {
    display: flex;
    gap: 6px;
    margin-top: 10px;
}
.omn-cm__coupon-input {
    flex: 1;
    padding: 8px 10px;
    border: 0.5px solid #e5e2db;
    border-radius: 6px;
    background: #fff;
    font-size: 13px;
    color: #1a1a1a;
    outline: none;
}
.omn-cm__coupon-input:focus { border-color: #3a4558; }
.omn-cm__coupon-apply {
    background: #1a1a1a;
    color: #fff;
    border: none;
    padding: 0 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease;
}
.omn-cm__coupon-apply:hover { background: #333; }
.omn-cm__coupon-apply:disabled { opacity: 0.5; cursor: not-allowed; }
.omn-cm__coupon-error {
    font-size: 11px;
    color: #cc2200;
    margin-top: 6px;
    display: none;
}
.omn-cm__coupon-error.is-visible { display: block; }

/* Cupoane aplicate (sub form) */
.omn-cm__applied-coupons {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.omn-cm__applied-coupon {
    background: #f0f5f1;
    border: 1px solid #d8e5dc;
    padding: 8px 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}
.omn-cm__applied-coupon-code {
    background: #8FB59E;
    color: #fff;
    padding: 3px 8px;
    border-radius: 100px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    flex-shrink: 0;
}
.omn-cm__applied-coupon-label {
    flex: 1;
    color: #2c4733;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
}
.omn-cm__applied-coupon-value {
    color: #6FA086;
    font-weight: 600;
    white-space: nowrap;
}
.omn-cm__applied-coupon-remove {
    background: rgba(143,181,158,0.12);
    border: none;
    color: #6FA086;
    opacity: 1;
    cursor: pointer;
    padding: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease;
    flex-shrink: 0;
}
.omn-cm__applied-coupon-remove:hover {
    background: #E8A88C;
    color: #fff;
}
.omn-cm__applied-coupon-remove:active { transform: scale(0.9); }
.omn-cm__applied-coupon-remove svg { width: 12px; height: 12px; stroke: currentColor; fill: none; }

/* BENEFICII INCLUSE (înlocuiesc bare progres) */
.omn-cm__benefits {
    margin-bottom: 18px;
}
.omn-cm__benefits-title {
    font-size: 11px;
    font-weight: 500;
    color: #aaa;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin: 0 0 8px 0;
}
.omn-cm__benefit-row {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f0f5f1;
    border: 1px solid #d8e5dc;
    border-radius: 8px;
    padding: 10px 12px;
    margin-bottom: 6px;
}
.omn-cm__benefit-row:last-child { margin-bottom: 0; }
.omn-cm__benefit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    color: #6FA086;
    line-height: 1;
}
.omn-cm__benefit-icon svg {
    width: 18px;
    height: 18px;
    display: block;
}
.omn-cm__benefit-name {
    font-size: 13px;
    font-weight: 500;
    color: #2c4733;
    flex: 1;
}
.omn-cm__benefit-val {
    font-size: 12px;
    font-weight: 600;
    color: #6FA086;
    white-space: nowrap;
}

/* Footer */
.omn-cm__footer {
    padding: 14px 18px;
    background: #fdfbf7;
    border-top: 1px solid #ebe4d6;
    flex-shrink: 0;
}
.omn-cm__totals { margin-bottom: 12px; }
.omn-cm__total-row {
    display: flex;
    justify-content: space-between;
    padding: 3px 0;
    font-size: 13px;
    color: #666;
}
.omn-cm__total-row span:last-child { color: #1a1a1a; }
.omn-cm__total-row--discount { color: #3B6D11; }
.omn-cm__total-row--discount span:last-child { color: #3B6D11; font-weight: 500; }
.omn-cm__total-row--free span:last-child { color: #3B6D11; font-weight: 500; }
.omn-cm__total-final {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-top: 10px;
    margin-top: 6px;
    border-top: 1px solid #ebe4d6;
}
.omn-cm__total-final-label {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}
.omn-cm__total-final-value {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
}

.omn-cm__actions {
    display: flex;
    gap: 8px;
}
.omn-cm__continue {
    flex: 1;
    padding: 12px 14px !important;
    background: #fff !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d4c8 !important;
    border-radius: 100px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease !important;
    line-height: 1 !important;
    height: auto !important;
    box-shadow: none !important;
}
.omn-cm__continue:hover { background: #f4f1eb !important; color: #1a1a1a !important; border-color: #b8b3a5 !important; }
.omn-cm__continue:active { transform: scale(0.98); }
.omn-cm__checkout {
    flex: 1.3;
    padding: 12px 14px !important;
    background: #E8A88C !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease !important;
    line-height: 1 !important;
    height: auto !important;
    box-shadow: none !important;
}
.omn-cm__checkout:hover { background: #DD9778 !important; color: #fff !important; }
.omn-cm__checkout:active { transform: scale(0.98); }
.omn-cm__checkout svg { width: 14px; height: 14px; stroke: #fff; fill: none; }

@media (max-width: 480px) {
    .omn-cm__panel {
        height: calc(100vh - 24px);
        max-height: calc(100vh - 24px);
    }
}

/* ========== CHIPS CARACTERISTICI + RATING INLINE ========== */
.omn-wld-item__price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}
.omn-wld-item__rating {
    background: none;
    border: none;
    padding: 4px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    border-radius: 6px;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease;
    flex-shrink: 0;
    margin-right: -4px;
}
.omn-wld-item__rating:hover { background: #f4f1eb; padding: 4px 8px; margin-right: -12px; }
.omn-wld-item__rating-stars {
    display: flex;
    gap: 1px;
}
.omn-wld-item__rating-stars svg {
    width: 11px;
    height: 11px;
    fill: #f5b400;
}
.omn-wld-item__rating-stars svg.is-empty { fill: #e0d8c8; }
.omn-wld-item__rating-num {
    font-size: 11px;
    color: #1a1a1a;
    font-weight: 600;
}
.omn-wld-item__rating-count {
    font-size: 11px;
    color: #888;
}
.omn-wld-item__rating-chevron {
    width: 11px;
    height: 11px;
    stroke: #888;
    fill: none;
    stroke-width: 2;
}

.omn-wld-item__chips {
    display: flex;
    gap: 5px;
    overflow-x: auto;
    padding-bottom: 4px;
    margin-bottom: 8px;
    scrollbar-width: none;
}
.omn-wld-item__chips::-webkit-scrollbar { display: none; }
.omn-wld-item__chip {
    font-size: 10px;
    padding: 4px 8px;
    background: #f4f1eb;
    border-radius: 100px;
    color: #6b5b48;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ========== MODAL REVIEWURI ========== */
.omn-rvm {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    /* iOS safe area */
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    z-index: 10001; /* peste drawer */
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.omn-rvm.is-open {
    pointer-events: auto;
    opacity: 1;
}
.omn-rvm__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    cursor: pointer;
}
.omn-rvm__panel {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    background: #fff;
    border-radius: 16px;
    touch-action: pan-x pan-y;
    width: calc(100% - 24px);
    max-width: 480px;
    max-height: calc(var(--omn-vh, 100vh) - 20px);
    height: calc(var(--omn-vh, 100vh) - 20px);
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 80px rgba(0,0,0,0.5);
    overflow: hidden;
    transition: transform 0.3s ease;
}
.omn-rvm.is-open .omn-rvm__panel {
    transform: translate(-50%, -50%) scale(1);
}

/* Header */
.omn-rvm__header {
    padding: 16px 18px;
    border-bottom: 1px solid #ebe4d6;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.omn-rvm__back,
.omn-rvm__close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #f4f1eb !important;
    border: none !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}
.omn-rvm__back:hover,
.omn-rvm__close:hover { background: #ebe4d6 !important; }
.omn-rvm__back svg,
.omn-rvm__close svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #1a1a1a !important;
    fill: none !important;
    display: block;
}
.omn-rvm__header-text {
    flex: 1;
    min-width: 0;
}
.omn-rvm__product-name {
    margin: 0 0 2px;
    font-size: 11px;
    color: #888;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.omn-rvm__title {
    margin: 0;
    font-size: 16px;
    color: #1a1a1a;
    font-weight: 500;
    font-family: Georgia, serif;
}

/* Summary */
.omn-rvm__summary {
    padding: 16px 18px;
    border-bottom: 1px solid #ebe4d6;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}
.omn-rvm__summary-left {
    text-align: center;
    flex-shrink: 0;
}
.omn-rvm__rating-big {
    margin: 0 0 4px;
    font-size: 32px;
    font-weight: 600;
    color: #1a1a1a;
    font-family: Georgia, serif;
    line-height: 1;
}
.omn-rvm__stars {
    display: flex;
    gap: 1px;
    justify-content: center;
    margin-bottom: 2px;
}
.omn-rvm__stars svg {
    width: 12px;
    height: 12px;
    fill: #f5b400;
}
.omn-rvm__stars svg.is-empty { fill: #e0d8c8; }
.omn-rvm__total {
    margin: 0;
    font-size: 10px;
    color: #888;
}
.omn-rvm__summary-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.omn-rvm__bar-row {
    display: flex;
    align-items: center;
    gap: 6px;
}
.omn-rvm__bar-label {
    font-size: 10px;
    color: #888;
    width: 16px;
    flex-shrink: 0;
}
.omn-rvm__bar-track {
    flex: 1;
    height: 5px;
    background: #f4f1eb;
    border-radius: 100px;
    overflow: hidden;
}
.omn-rvm__bar-fill {
    height: 100%;
    background: #f5b400;
    transition: width 0.5s ease;
}
.omn-rvm__bar-count {
    font-size: 10px;
    color: #888;
    width: 20px;
    text-align: right;
    flex-shrink: 0;
}

/* List */
.omn-rvm__list {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px 18px;
}
.omn-rvm__loading {
    text-align: center;
    padding: 40px 20px;
    color: #888;
    font-size: 13px;
}
.omn-rvm__empty {
    text-align: center;
    padding: 60px 20px;
    color: #888;
    font-size: 13px;
}

/* Review item */
.omn-rvm-item {
    padding: 12px 14px;
    background: #fdfbf7;
    border-radius: 10px;
    margin-bottom: 10px;
}
.omn-rvm-item__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    gap: 8px;
}
.omn-rvm-item__author {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.omn-rvm-item__avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    flex-shrink: 0;
}
.omn-rvm-item__name {
    font-size: 12px;
    color: #1a1a1a;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.omn-rvm-item__stars {
    display: flex;
    gap: 1px;
    flex-shrink: 0;
}
.omn-rvm-item__stars svg {
    width: 11px;
    height: 11px;
    fill: #f5b400;
}
.omn-rvm-item__stars svg.is-empty { fill: #e0d8c8; }
.omn-rvm-item__text {
    margin: 0 0 4px;
    font-size: 12px;
    color: #555;
    line-height: 1.5;
}
.omn-rvm-item__date {
    margin: 0;
    font-size: 10px;
    color: #aaa;
}

/* Link Ghid mărimi lângă label MĂRIME */
.omn-wld-item__size-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}
.omn-wld-item__size-guide-btn {
    background: none !important;
    border: none !important;
    padding: 4px 0 !important;
    cursor: pointer;
    font-size: 10px !important;
    color: #6b5b48 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
    transition: none !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    height: auto !important;
}
.omn-wld-item__size-guide-btn:hover,
.omn-wld-item__size-guide-btn:focus,
.omn-wld-item__size-guide-btn:active {
    background: none !important;
    color: #6b5b48 !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
}
.omn-wld-item__size-guide-btn svg {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
}

/* ========== MODAL GHID MĂRIMI ========== */
.omn-sgm {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    /* iOS safe area */
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    z-index: 10002;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.omn-sgm.is-open {
    pointer-events: auto;
    opacity: 1;
}
.omn-sgm__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    cursor: pointer;
}
.omn-sgm__panel {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0.95);
    background: #fff;
    border-radius: 16px;
    touch-action: pan-x pan-y;
    width: calc(100% - 24px);
    max-width: 460px;
    max-height: calc(var(--omn-vh, 100vh) - 20px);
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 80px rgba(0,0,0,0.5);
    overflow: hidden;
    transition: transform 0.3s ease;
}
.omn-sgm.is-open .omn-sgm__panel {
    transform: translate(-50%, -50%) scale(1);
}

.omn-sgm__header {
    padding: 16px 18px;
    border-bottom: 1px solid #ebe4d6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
}
.omn-sgm__title {
    margin: 0;
    font-size: 16px;
    color: #1a1a1a;
    font-weight: 500;
    font-family: Georgia, serif;
}
.omn-sgm__close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #f4f1eb !important;
    border: none !important;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}
.omn-sgm__close:hover { background: #ebe4d6 !important; }
.omn-sgm__close svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #1a1a1a !important;
    fill: none !important;
    display: block;
}

.omn-sgm__body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px;
}

/* Tabel mărimi */
.omn-sgm__table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #ebe4d6;
}
.omn-sgm__table thead {
    background: #f4f1eb;
}
.omn-sgm__table th {
    padding: 10px 8px;
    font-size: 11px;
    color: #6b5b48;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    border-bottom: 1px solid #ebe4d6;
}
.omn-sgm__table td {
    padding: 10px 8px;
    font-size: 13px;
    color: #1a1a1a;
    text-align: center;
    border-bottom: 1px solid #f4f1eb;
}
.omn-sgm__table tbody tr:last-child td {
    border-bottom: none;
}
.omn-sgm__table tbody tr:nth-child(even) {
    background: #fdfbf7;
}

/* Ghid măsurare */
.omn-sgm__guide-title {
    margin: 0 0 10px;
    font-size: 14px;
    color: #1a1a1a;
    font-weight: 600;
    font-family: Georgia, serif;
}
.omn-sgm__guide-list {
    margin: 0 0 14px;
    padding-left: 18px;
    font-size: 13px;
    color: #555;
    line-height: 1.6;
}
.omn-sgm__guide-list li {
    margin-bottom: 6px;
}
.omn-sgm__guide-list strong {
    color: #1a1a1a;
}
.omn-sgm__guide-tips {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.omn-sgm__guide-tip {
    margin: 0;
    padding: 10px 12px;
    background: #fdf6f0;
    border-radius: 8px;
    font-size: 12px;
    color: #6b5b48;
    line-height: 1.5;
}
.omn-sgm__guide-tip strong {
    color: #1a1a1a;
}

/* ===== QUICK VIEW ===== */
.omn-lp-quickview {
    position: fixed;
    top: 0; left: 0; right: 0;
    /* Folosim înălțimea REALĂ vizibilă (--omn-vh, setată de JS din visualViewport)
       în loc de bottom:0 — altfel, când bara de unelte iOS e deschisă, baza panoului
       (și butoanele sticky) ajungeau sub ea. Acum se ancorează la marginea vizibilă. */
    height: var(--omn-vh, 100vh);
    /* iOS safe area pentru top notch — bottom e gestionat separat pe panel */
    padding-top: env(safe-area-inset-top, 0px);
    z-index: 10000;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.omn-lp-quickview.is-open {
    pointer-events: auto;
    opacity: 1;
}

.omn-lp-quickview__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.55);
    cursor: pointer;
}

.omn-lp-quickview__panel {
    position: absolute;
    background: #fff;
    overflow: hidden;
    display: flex;
    /* Blochează pinch-zoom de pagină în quick view (altfel pinch mărea tot, inclusiv LP-ul
       din spate). Permite scroll/swipe normal. */
    touch-action: pan-x pan-y;
    flex-direction: column;
}

/* Mobile: drawer urcă de jos */
.omn-lp-quickview__panel {
    bottom: 0;
    left: 0;
    right: 0;
    max-height: calc(var(--omn-vh, 100vh) * 0.9);
    border-radius: 20px 20px 0 0;
    background: #fff;
    box-shadow: 0 -10px 30px rgba(0,0,0,0.15);
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.32, 0.72, 0.24, 1);
}
.omn-lp-quickview.is-open .omn-lp-quickview__panel {
    transform: translateY(0);
}

.omn-lp-quickview__handle {
    width: 44px; height: 5px;
    background: #d4d4d4;
    border-radius: 100px;
    margin: 8px auto 4px;
    flex-shrink: 0;
    cursor: grab;
    /* Zonă touch mai mare cu padding invizibil prin pseudo-element */
    position: relative;
}
.omn-lp-quickview__handle::before {
    content: '';
    position: absolute;
    top: -10px;
    left: -20px;
    right: -20px;
    bottom: -10px;
}
.omn-lp-quickview__handle:active {
    cursor: grabbing;
    background: #aaa;
}

.omn-lp-quickview__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: #f4f1eb !important;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease;
}
.omn-lp-quickview__close:hover { background: #ebe4d6 !important; }
.omn-lp-quickview__close svg {
    width: 16px; height: 16px;
    stroke: #1a1a1a !important;
    fill: none;
    stroke-width: 2;
}
.omn-lp-quickview__close:hover svg { stroke: #1a1a1a !important; }

/* Butonul share — lângă close, în stânga lui (14px + 32px lățime + 10px gap = 56px) */
.omn-lp-quickview__share {
    position: absolute;
    top: 14px;
    right: 56px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: #f4f1eb !important;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
    color: #1a1a1a;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease;
}
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
    color: #1a1a1a;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease;
}
.omn-lp-quickview__share:hover {
    background: #85B1A5 !important;
    color: #fff !important;
}
.omn-lp-quickview__share:active { transform: scale(0.92); }
.omn-lp-quickview__share svg {
    width: 16px; height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
}

.omn-lp-quickview__body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 20px 24px;
    flex: 1;
}

.omn-lp-quickview__loading {
    text-align: center;
    padding: 80px 20px;
    color: #888;
    font-size: 13px;
    grid-column: 1 / -1;
    width: 100%;
}

.omn-lp-quickview__gallery {
    background: #f4f1eb;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
    margin-bottom: 12px;
    aspect-ratio: 1;
}

/* Slider cu swipe */
.omn-lp-quickview__slides {
    display: flex;
    width: 100%;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.omn-lp-quickview__slides::-webkit-scrollbar { display: none; }

.omn-lp-quickview__slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}
.omn-lp-quickview__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Dots indicatori */
.omn-lp-quickview__dots {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 5px;
    background: rgba(0,0,0,0.35);
    padding: 5px 10px;
    border-radius: 100px;
    pointer-events: none;
}
.omn-lp-quickview__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    transition: background 0.2s ease, width 0.2s ease;
}
.omn-lp-quickview__dot.is-active {
    background: #fff;
    width: 18px;
    border-radius: 100px;
}
.omn-lp-quickview__gallery-main {
    width: 100%; height: 100%;
    object-fit: cover;
}

/* Săgeți navigare galerie Quick View */
.omn-lp-quickview__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 24px; height: 24px;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease, transform 0.15s ease;
}
.omn-lp-quickview__nav:hover { background: #fff; transform: translateY(-50%) scale(1.05); }
.omn-lp-quickview__nav:active { transform: translateY(-50%) scale(0.95); }
.omn-lp-quickview__nav svg {
    width: 12px; height: 12px;
    stroke: #1a1a1a;
    fill: none;
}
.omn-lp-quickview__nav--prev { left: 8px; }
.omn-lp-quickview__nav--next { right: 8px; }

.omn-lp-quickview__thumbs {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.omn-lp-quickview__thumbs::-webkit-scrollbar { display: none; }
.omn-lp-quickview__thumb {
    width: 44px; height: 44px;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid transparent;
    flex-shrink: 0;
    cursor: pointer;
    background: #f4f1eb;
    transition: border-color 0.15s ease;
}
.omn-lp-quickview__thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.omn-lp-quickview__thumb.is-active {
    border-color: #E8A88C;
}

.omn-lp-quickview__title {
    margin: 0 0 4px;
    font-size: 17px;
    color: #1a1a1a;
    font-weight: 500;
    line-height: 1.3;
    padding-right: 40px;
}

.omn-lp-quickview__price {
    margin: 0 0 12px;
    font-size: 20px;
    color: #1a1a1a;
    font-weight: 500;
}
/* Box-uri beneficii în quick view (sus + jos) — refolosesc barele existente (.bp-item) */
.omn-qv-bare-box {
    background: #fdfbf7;
    border: 1px solid #ebe4d6;
    border-radius: 12px;
    padding: 4px 14px;
    margin: 0 0 12px;
}
.omn-qv-bare-box--top { margin: 52px 0 12px; }
.omn-qv-bare-box--bottom { margin: 14px 0 0; }
.omn-qv-bare__head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
    cursor: pointer;
    user-select: none;
}
.omn-qv-bare__title {
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}
.omn-qv-bare__chevron {
    width: 16px; height: 16px;
    stroke: #aaa;
    flex-shrink: 0;
    transition: transform 0.25s ease;
}
.omn-qv-bare-box.is-expanded .omn-qv-bare__chevron { transform: rotate(180deg); }
/* Bulină verde care pulsează — semnalizează că box-ul (compact) poate fi deschis.
   Vizibilă DOAR când e compact; dispare când e expandat. */
.omn-qv-bare__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #6FA086;
    flex-shrink: 0;
    box-shadow: 0 0 0 0 rgba(111, 160, 134, 0.6);
    animation: omnBareDotPulse 1.6s ease-out infinite;
}
.omn-qv-bare-box.is-expanded .omn-qv-bare__dot { display: none; }
@keyframes omnBareDotPulse {
    0%   { box-shadow: 0 0 0 0 rgba(111, 160, 134, 0.6); opacity: 1; }
    70%  { box-shadow: 0 0 0 7px rgba(111, 160, 134, 0); opacity: 1; }
    100% { box-shadow: 0 0 0 0 rgba(111, 160, 134, 0); opacity: 0.7; }
}
/* Când e COMPACT, chevron-ul rămâne discret (bulina verde e semnalul flashy) */
.omn-qv-bare-box:not(.is-expanded) .omn-qv-bare__chevron {
    stroke: #aaa;
}
/* Body colapsat by default; expandat când are clasa */
.omn-qv-bare__body {
    display: none;
    padding-bottom: 10px;
}
.omn-qv-bare-box.is-expanded .omn-qv-bare__body { display: block; }
/* Preț tăiat (vechi) — discret, mai mic, gri. Preț redus (nou) — proeminent.
   Aceeași ierarhie ca pe carduri, ca să nu mai arate aglomerat. */
.omn-lp-quickview__price del {
    color: #999;
    font-weight: 400;
    font-size: 0.7em;
    margin-right: 6px;
    text-decoration: line-through;
}
.omn-lp-quickview__price ins {
    text-decoration: none;
    font-weight: 600;
    color: #1a1a1a;
}

/* Preț + Rating pe aceeași linie în Quick View */
.omn-qv-price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.omn-qv-price-row .omn-lp-quickview__price {
    margin: 0;
}

.omn-lp-quickview__desc {
    margin: 0 0 18px;
    font-size: 13px;
    color: #5a5a5a;
    line-height: 1.5;
}

.omn-lp-quickview__main-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 10px;
}
.omn-lp-quickview__main-row .omn-lp-quickview__cta {
    flex: 1;
    margin-bottom: 0;
}
.omn-lp-quickview__wishlist {
    width: 42px;
    height: auto;
    background: #fff;
    color: #1a1a1a;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    padding: 0;
}
.omn-lp-quickview__wishlist svg {
    width: 18px;
    height: 18px;
    stroke: #1a1a1a;
    fill: none;
    transition: all 0.2s ease;
}
.omn-lp-quickview__wishlist:hover {
    background: #faf0eb;
    border-color: #E8A88C;
}
.omn-lp-quickview__wishlist:hover svg {
    stroke: #E8A88C;
}
.omn-lp-quickview__wishlist.is-saved {
    background: #E8A88C;
    border-color: #E8A88C;
}
.omn-lp-quickview__wishlist.is-saved svg {
    stroke: #fff;
    fill: #fff;
}
.omn-lp-quickview__wishlist:active { transform: scale(0.92); }

.omn-lp-quickview__cta {
    width: 100%;
    padding: 9px;
    background: #8FB59E;
    color: #fff;
    border: none;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}
.omn-lp-quickview__cta:hover:not(:disabled) { background: #7BA38C; }
.omn-lp-quickview__cta:active:not(:disabled) { transform: scale(0.98); }
.omn-lp-quickview__cta svg {
    width: 14px;
    height: 14px;
    stroke: #fff;
    fill: none;
    stroke-width: 2;
    flex-shrink: 0;
    display: block;
}

.omn-lp-quickview__cta.is-added {
    background: #6FA086 !important;
    color: #fff !important;
    border: none !important;
}
.omn-lp-quickview__cta.is-added svg { stroke: #fff !important; }
.omn-lp-quickview__cta.is-added:hover { background: #5e8d75 !important; }

.omn-lp-quickview__cta:disabled,
.omn-lp-quickview__cta[disabled],
button.omn-lp-quickview__cta:disabled {
    background: #c7d4cc !important;
    color: #fff !important;
    cursor: not-allowed !important;
    border: none !important;
    opacity: 1 !important;
}
.omn-lp-quickview__cta:disabled svg,
.omn-lp-quickview__cta[disabled] svg { stroke: #fff !important; }

/* Container pentru butoanele CTA + Checkout */
.omn-lp-quickview__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* Footer real al panoului — body-ul derulează deasupra, footer-ul stă fix la bază.
   Parte din layout-ul flex al panoului (nu sticky), deci nu rămâne nicio bandă jos. */
.omn-lp-quickview__footer {
    flex-shrink: 0;
    background: #fff;
    padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -8px 16px -8px rgba(0,0,0,0.12);
    border-radius: 0 0 0 0;
}

/* Wrapper pentru butoanele checkout + vezi coș (apare după add to cart) */
.omn-lp-quickview__checkout-row {
    display: none;
    width: 100%;
    gap: 8px;
    align-items: stretch;
    box-sizing: border-box;
}
.omn-lp-quickview__checkout-row.is-visible {
    display: flex;
    animation: omnCheckoutFadeIn 0.3s ease;
}

/* Buton "Vezi coșul" — identic cu cel din drawer (omn-wld__footer-cart) */
.omn-lp-quickview__cart-btn {
    flex: 1;
    padding: 12px 14px !important;
    background: #fff !important;
    color: #1a1a1a !important;
    border: 1px solid #d8d4c8 !important;
    border-radius: 100px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s ease !important;
    line-height: 1 !important;
    height: auto !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    font-family: inherit !important;
}
.omn-lp-quickview__cart-btn:hover { background: #f4f1eb !important; color: #1a1a1a !important; border-color: #b8b3a5 !important; }
.omn-lp-quickview__cart-btn:active { transform: scale(0.98); }

.omn-lp-quickview__checkout {
    flex: 1;
    padding: 12px 20px;
    background: #E8A88C;
    color: #fff;
    border: none;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}
@keyframes omnCheckoutFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}
.omn-lp-quickview__checkout:hover { background: #DD9778; color: #fff; }
.omn-lp-quickview__checkout:active { transform: scale(0.98); }
.omn-lp-quickview__checkout svg {
    width: 16px; height: 16px;
    stroke: #fff;
    fill: none;
    stroke-width: 2;
    display: block;
    flex-shrink: 0;
}

/* Variante - butoane pătrate pentru opțiuni */
.omn-lp-quickview__variations {
    margin-bottom: 16px;
}
.omn-lp-quickview__attribute {
    margin-bottom: 14px;
}
.omn-lp-quickview__attribute-label {
    margin: 0 0 8px;
    font-size: 12px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.omn-lp-quickview__options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.omn-lp-quickview__option {
    font-size: 10px !important;
    padding: 4px 8px !important;
    border: 1px solid #ebe4d6 !important;
    background: #fff !important;
    border-radius: 6px !important;
    color: #888 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.15s ease !important;
    min-height: auto !important;
    height: auto !important;
    line-height: 1.2 !important;
    min-width: auto !important;
    text-align: center;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}
.omn-lp-quickview__option:hover:not(.is-disabled):not(.is-selected),
.omn-lp-quickview__option:focus:not(.is-disabled):not(.is-selected) {
    border-color: #6FA086 !important;
    color: #6FA086 !important;
    background: #fff !important;
}
.omn-lp-quickview__option.is-selected,
.omn-lp-quickview__option.is-selected:hover,
.omn-lp-quickview__option.is-selected:focus,
.omn-lp-quickview__option.is-selected:active,
button.omn-lp-quickview__option.is-selected {
    background: #6FA086 !important;
    color: #fff !important;
    border-color: #6FA086 !important;
}
.omn-lp-quickview__option.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    text-decoration: line-through;
}

.omn-lp-quickview__cta:disabled:active {
    transform: none;
}

/* Desktop: modal centrat în loc de drawer */
@media (min-width: 768px) {
    .omn-lp-quickview__panel {
        bottom: auto;
        top: 50%;
        left: 50%;
        right: auto;
        transform: translate(-50%, -50%) scale(0.95);
        max-width: 720px;
        width: 90%;
        max-height: 85vh;
        border-radius: 16px;
        opacity: 0;
        transition: transform 0.25s cubic-bezier(0.32, 0.72, 0.24, 1), opacity 0.25s ease;
    }
    .omn-lp-quickview.is-open .omn-lp-quickview__panel {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    .omn-lp-quickview__handle { display: none; }
    .omn-lp-quickview__body {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        padding: 24px 28px 24px 24px;
        align-items: start;
    }
    /* Box-ul de beneficii de sus se întinde pe ambele coloane (full width) pe desktop */
    .omn-lp-quickview__body > .omn-qv-bare-box--top {
        grid-column: 1 / -1;
        margin-top: 38px;
    }
    .omn-lp-quickview__gallery-section {
        position: sticky;
        top: 0;
    }
    .omn-lp-quickview__close {
        top: 14px;
        right: 14px;
    }
    .omn-lp-quickview__share {
        top: 14px;
        right: 54px;
    }
}

.omn-toast {
    position: fixed; bottom: 90px; left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #1a1a1a; color: #fff;
    padding: 12px 18px; border-radius: 100px;
    font-size: 13px; font-weight: 500;
    z-index: 10000; opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    display: flex; align-items: center; gap: 8px;
    max-width: 90%; box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}
.omn-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.omn-toast svg { width: 16px; height: 16px; stroke: #E8A88C; fill: #E8A88C; stroke-width: 2; flex-shrink: 0; }

/* Toast warning — pentru erori (stoc, etc.) */
.omn-toast.omn-toast--warning {
    background: #fff;
    color: #1a1a1a;
    border: 1px solid #ebe4d6;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.omn-toast.omn-toast--warning svg {
    stroke: #d97706;
    fill: none;
}

.omn-onboarding {
    position: fixed; bottom: 90px; left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #fff; border: 1px solid #ebe4d6;
    padding: 16px 20px; border-radius: 16px;
    font-size: 14px; color: #1a1a1a;
    z-index: 10000; opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    max-width: 320px; box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    text-align: center;
}
.omn-onboarding.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }
.omn-onboarding__title { margin: 0 0 6px; font-size: 15px; font-weight: 500; color: #1a1a1a; }
.omn-onboarding__text { margin: 0; font-size: 13px; color: #5a5a5a; line-height: 1.5; }
.omn-onboarding__text strong { color: #1a1a1a; }

@media (min-width: 768px) {
    .omn-lp-hero { padding: 48px 24px 36px; }
    .omn-lp-hero__title { font-size: 36px; }
    .omn-lp-grid-section { padding: 32px 24px 0 80px; }
    .omn-lp-milestone-bar { margin-left: -56px; }
    .omn-lp-milestone { left: -16px; width: 34px; height: 34px; }
    .omn-lp-milestone svg { width: 16px; height: 16px; }
    .omn-lp-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
    .omn-lp-card__name { font-size: 13px; }
    .omn-lp-card__price { font-size: 14px; }
    
    /* Desktop: pill-uri VEZI / SALVEAZĂ mai mari */
    .omn-lp-card__quickview {
        top: 10px !important; left: 10px !important;
        padding: 8px 14px 7px !important;
        gap: 6px !important;
    }
    .omn-lp-card__quickview svg { width: 13px !important; height: 13px !important; }
    .omn-lp-card__quickview span { font-size: 11px !important; letter-spacing: 0.5px !important; }
    .omn-lp-card__heart {
        top: 10px; right: 10px;
        padding: 8px 14px 7px;
        gap: 6px;
    }
    .omn-lp-card__heart svg { width: 13px; height: 13px; }
    .omn-lp-card__heart-label-save,
    .omn-lp-card__heart-label-saved {
        font-size: 11px;
        letter-spacing: 0.5px;
    }
    .omn-lp-narrative { padding: 28px 32px; gap: 20px; margin: 12px 0; }
    .omn-lp-narrative__icon { width: 56px; height: 56px; }
    .omn-lp-narrative__icon svg { width: 26px; height: 26px; }
    .omn-lp-narrative__title { font-size: 20px; }
    .omn-lp-narrative__desc { font-size: 15px; }
    .omn-lp-summary { margin: 40px 24px 0; padding: 48px 32px 56px; }
    .omn-lp-summary__title { font-size: 28px; }
    .omn-lp-wishlist-bar {
        max-width: 520px; left: 50%; transform: translateX(-50%);
        border-radius: 16px 16px 0 0; border: 1px solid #ebe4d6; border-bottom: none;
        bottom: 0;
    }
    
    /* Desktop: quick view ca modal centrat */
    .omn-lp-quickview__panel {
        position: absolute;
        top: 50%; left: 50%;
        bottom: auto; right: auto;
        transform: translate(-50%, -50%) scale(0.95);
        max-width: 1080px;
        width: 92%;
        max-height: 88vh;
        border-radius: 16px;
        opacity: 0;
        transition: transform 0.3s cubic-bezier(0.32, 0.72, 0.24, 1), opacity 0.2s ease;
    }
    .omn-lp-quickview.is-open .omn-lp-quickview__panel {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    .omn-lp-quickview__handle { display: none; }
    
    .omn-lp-quickview__body {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 36px;
        padding: 32px;
        align-items: center;
    }
    
    .omn-lp-quickview__gallery-section {
        grid-column: 1;
    }
    .omn-lp-quickview__info-section {
        grid-column: 2;
        align-self: center;
    }
    
    /* Galerie mai mare pe desktop */
    .omn-lp-quickview__gallery {
        aspect-ratio: 1/1;
        max-height: 560px;
    }
    
    .omn-lp-quickview__title { font-size: 24px; padding-right: 50px; }
    .omn-lp-quickview__price { font-size: 26px; }
}

body.page-template-template-omn-lp .nasa-fixed-add-cart-mobile,
body.page-template-template-omn-lp .nasa-fixed-mobile-single-add-to-cart,
body.page-template-template-omn-lp .nasa-bottom-bar,
body.page-template-template-omn-lp .nasa-static-group-btn,
body.page-template-template-omn-lp .nasa-static-group-btn *,
body.page-template-template-omn-lp #nasa-back-to-top,
body.page-template-template-omn-lp .nasa-bottom-bar-icons,
body.page-template-template-omn-lp .nasa-bot-item,
body.page-template-template-omn-lp .nasa-bottom-fixed,
body.page-template-template-omn-lp .nasa-mobile-fixed,
body.page-template-template-omn-lp .nasa-tab-mobile,
body.page-template-template-omn-lp .nasa-mobile-bottom-fixed,
body.page-template-template-omn-lp #nasa-tab-mobile {
    display: none !important;
    visibility: hidden !important;
}

/* Ascunde notificările default Elessi pe LP (avem toast-ul nostru) */
body.page-template-template-omn-lp .woocommerce-notices-wrapper,
body.page-template-template-omn-lp .nasa-notice-popup,
body.page-template-template-omn-lp .woocommerce-message,
body.page-template-template-omn-lp #yith-wcwl-popup-message,
body.page-template-template-omn-lp .nasa-message-popup,
body.page-template-template-omn-lp .nasa-notice {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ========== HEADER DRAWER ACTIONS (share + close) ========== */
.omn-wld__header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.omn-wld__share {
    width: 36px;
    height: 36px;
    min-width: 36px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    background: #f4f1eb;
    border: none;
    color: #1a1a1a;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}
.omn-wld__share:hover {
    background: #85B1A5;
    color: #fff;
}
.omn-wld__share:active { transform: scale(0.92); }
.omn-wld__share svg { width: 16px; height: 16px; stroke: currentColor; fill: none; }

/* ========== MODAL SHARE WISHLIST ========== */
.omn-share-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    /* iOS safe area pentru evitarea bareelor de sus/jos */
    padding-top: calc(24px + env(safe-area-inset-top, 0px));
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    padding-left: 24px;
    padding-right: 24px;
    background: rgba(26,26,26,0.5);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 1000000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: omnShareFadeIn 0.25s ease;
}
@keyframes omnShareFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
.omn-share-modal {
    background: #fdfbf7;
    border: 1px solid #ebe4d6;
    border-radius: 20px;
    padding: 32px 28px;
    max-width: 440px;
    width: 100%;
    text-align: center;
    position: relative;
    box-shadow: 0 20px 60px rgba(26,26,26,0.18), 0 4px 16px rgba(26,26,26,0.08);
    animation: omnShareModalIn 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes omnShareModalIn {
    from { opacity: 0; transform: scale(0.92) translateY(20px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}
.omn-share-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    background: #f4f1eb;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}
.omn-share-close:hover { background: #ebe4d6; }
.omn-share-close svg { width: 14px; height: 14px; stroke: #1a1a1a; fill: none; }
.omn-share-hero {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto 14px;
}
.omn-share-hero-icon {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.omn-share-hero-icon--heart {
    width: 48px;
    height: 48px;
    background: rgba(232,168,140,0.18);
    color: #E8A88C;
}
.omn-share-hero-icon--send {
    width: 42px;
    height: 42px;
    background: rgba(143,181,158,0.18);
    color: #6FA086;
}
.omn-share-hero-icon svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    fill: none;
}
.omn-share-hero-icon--send svg { width: 19px; height: 19px; }
.omn-share-hero-line {
    width: 20px;
    height: 2px;
    background: #ebe4d6;
    border-radius: 1px;
}

.omn-share-section-label {
    margin: 18px 0 10px !important;
    font-size: 10px !important;
    color: #999 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    text-align: center !important;
}

.omn-share-buttons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 0 0 16px;
}
@media (min-width: 420px) {
    .omn-share-buttons {
        grid-template-columns: repeat(4, 1fr);
    }
}
.omn-share-modal .omn-share-buttons .omn-share-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 12px 4px !important;
    background: #fff !important;
    border: 1px solid #ebe4d6 !important;
    border-radius: 14px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: transform 0.15s ease, border-color 0.2s ease !important;
    -webkit-tap-highlight-color: transparent;
    height: auto !important;
    min-height: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: #1a1a1a !important;
}
.omn-share-modal .omn-share-buttons .omn-share-btn:hover {
    border-color: #d8d4c8 !important;
    background: #fff !important;
    transform: translateY(-1px);
}
.omn-share-modal .omn-share-buttons .omn-share-btn:active { transform: scale(0.96); }
.omn-share-modal .omn-share-buttons .omn-share-btn-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
}
.omn-share-modal .omn-share-buttons .omn-share-btn-icon svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    flex-shrink: 0 !important;
}
.omn-share-modal .omn-share-buttons .omn-share-btn span {
    font-size: 10px !important;
    color: #1a1a1a !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.omn-share-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
}
.omn-share-divider-line {
    flex: 1;
    height: 1px;
    background: #ebe4d6;
}
.omn-share-divider-text {
    font-size: 10px !important;
    color: #999 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 500;
}

.omn-share-modal h3 {
    margin: 0 0 8px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
}
.omn-share-modal p {
    margin: 0 0 4px !important;
    color: #5a5a5a !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}
.omn-share-url-box {
    display: flex;
    gap: 8px;
    background: #fff;
    border: 1px solid #ebe4d6;
    border-radius: 12px;
    padding: 4px 4px 4px 12px;
    align-items: center;
}
.omn-share-url {
    flex: 1;
    border: none !important;
    background: transparent !important;
    color: #5a5a5a !important;
    font-size: 12px !important;
    font-family: inherit !important;
    outline: none !important;
    padding: 8px 0 !important;
    min-width: 0;
    height: auto !important;
    box-shadow: none !important;
}
.omn-share-copy {
    flex-shrink: 0;
    padding: 9px 14px !important;
    background: #85B1A5 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: background 0.2s ease, transform 0.15s ease !important;
    line-height: 1 !important;
    -webkit-tap-highlight-color: transparent;
}
.omn-share-copy:hover { background: #6FA086 !important; }
.omn-share-copy:active { transform: scale(0.96); }
.omn-share-copy svg { width: 13px; height: 13px; stroke: currentColor; fill: none; flex-shrink: 0; }

@media (max-width: 480px) {
    .omn-share-modal { padding: 28px 20px; }
    .omn-share-url-box { flex-direction: column; align-items: stretch; padding: 8px; }
    .omn-share-url { padding: 6px 4px !important; text-align: center; }
    .omn-share-copy { justify-content: center; padding: 11px 14px !important; }
}

/* ========== CARD SHARE ÎN DRAWER (sub bare, deasupra produselor) ========== */
.omn-wld__share-card,
.omn-wld__share-card-inline {
    margin: 12px 16px 0;
    padding: 14px 14px;
    background: linear-gradient(135deg, #fdfbf7 0%, rgba(133,177,165,0.12) 100%);
    border: 1px solid rgba(133,177,165,0.28);
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
}
/* Variant inline — în body-inner, ocupă întreaga lățime (grid-column: 1 / -1) */
.omn-wld__share-card-inline {
    margin: 0 0 14px;
    grid-column: 1 / -1;
    width: 100%;
}
.omn-wld__share-card-icon {
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    background: rgba(133,177,165,0.18);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #85B1A5;
}
.omn-wld__share-card-icon svg { width: 18px; height: 18px; stroke: currentColor; fill: none; }
.omn-wld__share-card-content {
    flex: 1;
    min-width: 0;
}
.omn-wld__share-card-title {
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    line-height: 1.3 !important;
}
.omn-wld__share-card-subtitle {
    margin: 2px 0 0 !important;
    font-size: 10px !important;
    color: #888 !important;
    line-height: 1.4 !important;
}
.omn-wld__share-card-btn {
    flex-shrink: 0;
    padding: 9px 14px !important;
    background: #85B1A5 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 100px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    transition: background 0.2s ease, transform 0.15s ease !important;
    line-height: 1 !important;
    -webkit-tap-highlight-color: transparent;
}
.omn-wld__share-card-btn:hover { background: #6FA086 !important; }
.omn-wld__share-card-btn:active { transform: scale(0.96); }
.omn-wld__share-card-btn svg { width: 12px; height: 12px; stroke: currentColor; fill: none; flex-shrink: 0; }

@media (max-width: 380px) {
    .omn-wld__share-card { padding: 12px; gap: 10px; }
    .omn-wld__share-card-icon { width: 34px; height: 34px; }
    .omn-wld__share-card-btn { padding: 8px 12px !important; }
    .omn-wld__share-card-btn span { display: none; }
}
/* ===== LINK "VEZI CADOU" + MODAL CADOU ===== */
.omn-vezi-cadou {
    display: inline-block;
    font-size: 0.85em;
    color: #b8860b;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    margin-left: 4px;
    white-space: nowrap;
}
.omn-vezi-cadou:hover { color: #9a7009; }

.omn-gift-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.omn-gift-modal.is-open { display: flex; }
.omn-gift-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(2px);
}
.omn-gift-modal__panel {
    position: relative;
    background: #fff;
    border-radius: 18px;
    padding: 28px 24px 24px;
    max-width: 360px;
    width: 100%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    animation: omnGiftPop 0.28s cubic-bezier(0.16,1,0.3,1);
}
@keyframes omnGiftPop {
    from { opacity: 0; transform: scale(0.92) translateY(10px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}
.omn-gift-modal__close {
    position: absolute;
    top: 12px; right: 12px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: #f4f1eb;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.omn-gift-modal__close svg { width: 16px; height: 16px; stroke: #1a1a1a; }
.omn-gift-modal__badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: #b8860b;
    background: #fdf6e3;
    border-radius: 100px;
    padding: 5px 14px;
    margin-bottom: 16px;
}
.omn-gift-modal__img {
    width: 100%;
    aspect-ratio: 1;
    background: #f4f1eb;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 16px;
}
.omn-gift-modal__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.omn-gift-modal__title {
    font-size: 16px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 0 0 10px;
    line-height: 1.3;
}
.omn-gift-modal__price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
}
.omn-gift-modal__price del {
    color: #999;
    font-size: 15px;
    text-decoration: line-through;
}
.omn-gift-modal__price ins {
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
    color: #6FA086;
    letter-spacing: 0.03em;
}
/* Santinela lazy-load — invizibilă, ocupă tot rândul grid-ului ca să nu strice layout */
#omn-lp-sentinel {
    grid-column: 1 / -1;
    height: 1px;
    width: 100%;
    pointer-events: none;
}