/* =============================================================
   DEVOS THEME — main.css
   Design inspired by DEVOS 15: dark photo backgrounds, white
   stat panels, gradient-text benefit cards, side-badge speakers,
   simple agenda list, horizontal partner rows, contact icon row.

   All selectors scoped under .devos-* for plugin compatibility.
   ============================================================= */


/* ─────────────────────────────────────────────────────────────
   1. DESIGN TOKENS
   ───────────────────────────────────────────────────────────── */

:root {
    /* Palette */
    --devos-primary:         #001F3F;
    --devos-primary-light:   #002D5C;
    --devos-secondary:       #0A3352;
    --devos-secondary-light: #0E3F66;
    --devos-accent:          #CFDE4B;
    --devos-accent-dark:     #B8C83A;
    --devos-accent-2:        #688947;
    --devos-accent-2-dark:   #5A7A3C;   /* olivul brandului, coborât ca să poarte text alb */
    --devos-bg-light:        #F5F7FA;
    --devos-bg-white:        #FFFFFF;
    --devos-text-dark:       #1A1A1A;
    --devos-text-muted:      #5a6a7a;
    --devos-text-light:      rgba(255,255,255,0.80);
    --devos-text-white:      #FFFFFF;
    --devos-border:          #E2E8F0;

    /* Button gradient */
    /* Textul care stă pe accent; se recalculează din admin dacă
       accentul devine închis la culoare. */
    --devos-btn-ink:           var(--devos-primary);
    --devos-btn-gradient:      linear-gradient(135deg, #CFDE4B 0%, #688947 100%);
    --devos-btn-gradient-hover:linear-gradient(135deg, #D8E862 0%, #7AA055 100%);

    /* Typography */
    --devos-font-heading: 'Montserrat', 'Poppins', system-ui, sans-serif;
    --devos-font-body:    'Inter', 'Open Sans', system-ui, sans-serif;

    /* Spacing */
    --devos-section-py: clamp(80px, 8vw, 120px);
    --devos-gutter:     clamp(1rem, 3vw, 2rem);

    /* Layout */
    --devos-max-width: 1300px;
    --devos-text-max:  700px;

    /* Radii */
    --devos-radius-sm:   8px;
    --devos-radius-md:   16px;
    --devos-radius-lg:   24px;
    --devos-radius-xl:   32px;
    --devos-radius-full: 9999px;

    /* Shadows */
    --devos-shadow-sm: 0 2px 8px rgba(0,31,63,0.06);
    --devos-shadow-md: 0 8px 32px rgba(0,31,63,0.10);
    --devos-shadow-lg: 0 20px 60px rgba(0,31,63,0.14);

    /* Transitions */
    --devos-transition:      0.3s cubic-bezier(0.4,0,0.2,1);
    --devos-transition-slow: 0.6s cubic-bezier(0.4,0,0.2,1);

    /* Z-index */
    --devos-z-header: 1000;
}


/* ─────────────────────────────────────────────────────────────
   2. GLOBAL RESET — html + body
   Elimină marginea albă implicită a browserului.
   ───────────────────────────────────────────────────────────── */

html {
    margin: 0 !important;
    padding: 0;
    box-sizing: border-box;
}

body {
    margin: 0 !important;
    padding: 0;
    overflow-x: hidden;
}

/* WordPress admin bar — compensăm cu padding pe header, nu cu margin pe body */
body.admin-bar .devos-header {
    top: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar .devos-header {
        top: 46px;
    }
}

/* ─────────────────────────────────────────────────────────────
   2b. SCOPED BASE RESET
   ───────────────────────────────────────────────────────────── */

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

.devos-site {
    font-family: var(--devos-font-body);
    font-size: var(--devos-font-size, 16px);
    line-height: 1.7;
    color: var(--devos-text-dark);
    background: var(--devos-bg-white);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.devos-main,
.devos-front {
    margin: 0;
    padding: 0;
}

/* Elimină orice margin implicit între secțiuni */
.devos-section,
.devos-hero,
.devos-about,
.devos-benefits,
.devos-speakers,
.devos-agenda,
.devos-countdown,
.devos-gallery,
.devos-stats,
.devos-partners,
.devos-tickets,
.devos-final-cta {
    margin: 0;
    display: block;
}

/* Resetul e ambalat în :where() ca să aibă specificitate 0.
   Altfel `.devos-site p` (0,1,1) învingea orice regulă de componentă
   scrisă cu o singură clasă, ex. `.devos-stats-panel__emphasis` (0,1,0) —
   și marginile, centrările și culorile din componente erau ignorate. */
:where(.devos-site img)  { max-width: 100%; height: auto; display: block; }
:where(.devos-site a)    { color: inherit; text-decoration: none; transition: color var(--devos-transition); }
:where(.devos-site ul, .devos-site ol) { list-style: none; margin: 0; padding: 0; }
:where(.devos-site h1, .devos-site h2, .devos-site h3,
       .devos-site h4, .devos-site h5, .devos-site h6) {
    font-family: var(--devos-font-heading);
    font-weight: var(--devos-heading-weight, 700);
    line-height: 1.2;
    margin: 0;
}
:where(.devos-site p) { margin: 0 0 1rem; }
:where(.devos-site p:last-child) { margin-bottom: 0; }


/* ─────────────────────────────────────────────────────────────
   3. LAYOUT
   ───────────────────────────────────────────────────────────── */

.devos-container {
    width: 100%;
    max-width: var(--devos-max-width);
    margin: 0 auto;
    padding-left: var(--devos-gutter);
    padding-right: var(--devos-gutter);
}

.devos-section {
    padding-top: var(--devos-section-py);
    padding-bottom: var(--devos-section-py);
    position: relative;
    overflow: hidden;
}

/* Section colour variants */
.devos-section--white     { background: var(--devos-bg-white); }
.devos-section--light     { background: var(--devos-bg-light); }
.devos-section--dark      { background: var(--devos-primary); }

/* Dark photo sections — real photo added via inline style="background-image:url(...)"
   The ::before overlay tints it dark navy. Without a photo it degrades gracefully. */
.devos-section--photo-dark {
    background-color: var(--devos-primary);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

/* Stats are allowed to overflow so the panel can break out */
.devos-stats.devos-section--photo-dark {
    overflow: visible;
}
.devos-section--photo-dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        160deg,
        rgba(0,20,40,0.88) 0%,
        rgba(0,31,63,0.82) 50%,
        rgba(0,15,35,0.92) 100%
    );
    z-index: 0;
}
.devos-section--photo-dark > .devos-container,
.devos-section--photo-dark > .devos-hero__overlay {
    position: relative;
    z-index: 1;
}

/* Indicatorul de derulare e deja `position: absolute`, cu `left: 50%`
   și o translatare înapoi cu jumătate din el — așa stă centrat sub
   hero. Trecut pe `relative` de regula de mai sus, `left: 50%` nu-l
   mai așeza, ci îl împingea cu jumătate din lățimea secțiunii la
   dreapta: pe telefon documentul ieșea cu ~250px mai lat decât
   ecranul și pagina se derula lateral. Are z-index propriu, deci nu
   avea ce căuta acolo. */


/* ─────────────────────────────────────────────────────────────
   4. SECTION HEADER HELPERS
   ───────────────────────────────────────────────────────────── */

.devos-section__header      { margin-bottom: clamp(2.5rem,5vw,4rem); }
.devos-section__header--centered { text-align: center; }

.devos-section__label {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--devos-accent);
    margin-bottom: .9rem;
}
.devos-section__label--light { color: var(--devos-accent); }

.devos-section__title {
    font-size: clamp(1.75rem,3.5vw,2.75rem);
    font-weight: 800;
    letter-spacing: -.02em;
    color: var(--devos-text-dark);
    margin-bottom: .9rem;
}
.devos-section__title--light { color: var(--devos-text-white); }

.devos-section__subtitle {
    font-size: clamp(1rem,1.5vw,1.1rem);
    color: var(--devos-text-muted);
    max-width: var(--devos-text-max);
    line-height: 1.7;
}
.devos-section__header--centered .devos-section__subtitle { margin: 0 auto; }
.devos-section__subtitle--light { color: var(--devos-text-light); }

.devos-section__highlight-text {
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: var(--devos-accent);
    letter-spacing: .04em;
    margin-bottom: 1rem;
}

.devos-section__footer {
    text-align: center;
    margin-top: clamp(2.5rem,5vw,4rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.devos-urgency-label {
    display: inline-block;
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--devos-accent);
}
.devos-urgency-sub {
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
}


/* ─────────────────────────────────────────────────────────────
   5. BUTTONS
   ───────────────────────────────────────────────────────────── */

.devos-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    font-family: var(--devos-font-heading);
    font-size: var(--devos-btn-fs, .9375rem);
    font-weight: 700;
    letter-spacing: var(--devos-btn-tracking, .03em);
    text-transform: var(--devos-btn-transform, none);
    padding: var(--devos-btn-py, .8em) var(--devos-btn-px, 1.75em);
    border-radius: var(--devos-radius-full);
    /* Bordura transparentă ține butonul plin și cel conturat la aceeași
       dimensiune. Orice variantă care pictează un gradient trebuie să
       redeclare background-origin DUPĂ scurtătura `background` — vezi
       .devos-btn--accent. */
    border: 2px solid transparent;
    background-origin: border-box;
    background-repeat: no-repeat;
    cursor: pointer;
    transition: all var(--devos-transition);
    white-space: nowrap;
    text-decoration: none;
}

.devos-btn--accent {
    background: var(--devos-btn-gradient);
    /*
     * Scurtătura `background` resetează background-origin la padding-box,
     * deci trebuie redeclarat DUPĂ ea, nu o dată în .devos-btn. Altfel
     * gradientul se așază pe padding-box dar se pictează pe border-box,
     * iar fâșia de 2px a bordurii se umple prin repetare cu capătul opus
     * al gradientului — conturul verde închis din jurul butonului.
     */
    background-origin: border-box;
    background-repeat: no-repeat;
    color: var(--devos-btn-ink);
    border-color: transparent;
    box-shadow: none;
}
.devos-btn--accent:hover,
.devos-btn--accent:focus-visible {
    background: var(--devos-btn-gradient-hover);
    background-origin: border-box;
    background-repeat: no-repeat;
    border-color: transparent;
    box-shadow: none;
    color: var(--devos-btn-ink);
    transform: translateY(-2px);
}

.devos-btn--outline {
    background: transparent;
    color: var(--devos-primary);
    border-color: var(--devos-primary);
}
.devos-btn--outline:hover { background: var(--devos-primary); color: #fff; transform: translateY(-2px); }

.devos-btn--ghost {
    background: rgba(255,255,255,.10);
    color: var(--devos-text-white);
    border-color: rgba(255,255,255,.30);
    backdrop-filter: blur(8px);
}
.devos-btn--ghost:hover { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.55); color: #fff; transform: translateY(-2px); }

.devos-btn--lg  { font-size: 1rem; padding: .9em 2em; }
.devos-btn--xl  { font-size: 1.05rem; padding: .95em 2.5em; }


/* ─────────────────────────────────────────────────────────────
   6. IMAGE PLACEHOLDERS
   ───────────────────────────────────────────────────────────── */

.devos-img-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #d0d8e4 0%, #b8c4d0 100%);
    color: #8a9ab0;
    font-size: .75rem;
    font-family: var(--devos-font-heading);
    border-radius: inherit;
}
.devos-img-placeholder i { font-size: 2rem; opacity: .4; }

.devos-img-placeholder--speaker {
    min-height: 180px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a3f60 0%, #0a2740 100%);
    color: rgba(255,255,255,.25);
}
.devos-img-placeholder--gallery { min-height: 240px; }


/* ─────────────────────────────────────────────────────────────
   7. REVEAL ANIMATIONS
   ───────────────────────────────────────────────────────────── */

.devos-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .65s cubic-bezier(.4,0,.2,1) var(--delay,0s),
                transform .65s cubic-bezier(.4,0,.2,1) var(--delay,0s);
}
.devos-reveal--right { transform: translate(28px,0); }
.devos-reveal.is-visible { opacity: 1; transform: translate(0,0); }
@media (prefers-reduced-motion: reduce) { .devos-reveal { opacity:1; transform:none; transition:none; } }


/* ─────────────────────────────────────────────────────────────
   8. HEADER
   ───────────────────────────────────────────────────────────── */

.devos-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: var(--devos-z-header);
    padding: 1.35rem 0;
    background: transparent;
    transition: background var(--devos-transition), padding var(--devos-transition), box-shadow var(--devos-transition);
}
.devos-header.is-scrolled {
    background: rgba(0,31,63,0.97);
    padding: .9rem 0;
    box-shadow: 0 4px 24px rgba(0,0,0,.2);
    backdrop-filter: blur(12px);
}

/* Cât timp meniul mobil e deschis, antetul nu poate filtra fundalul.
   `backdrop-filter` face din el blocul de referință pentru urmașii
   `position: fixed`, iar panoul meniului e exact asta: în loc să se
   întindă peste ecran, se așeza în interiorul antetului — înalt de
   vreo 60px, cu pagina vizibilă și peste el. Fundalul antetului e
   oricum aproape opac, deci nu se pierde nimic la privire. */
.devos-header.is-scrolled.nav-open {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
.devos-header__inner {
    display: flex;
    align-items: center;
    gap: 2rem;
}
/* Logo încărcat din „Aspect & brand” — lățimea vine din setări */
.devos-header__logo img,
.devos-header__logo .custom-logo {
    display: block;
    width: 150px;
    height: auto;
    max-width: 100%;
}

.devos-header__logo-text {
    font-family: var(--devos-font-heading);
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: -.03em;
    display: flex;
    align-items: baseline;
    gap: 2px;
}
.devos-logo-devos  { color: var(--devos-text-white); }
.devos-logo-number { color: var(--devos-accent); }

.devos-header__nav { flex: 1; }
.devos-nav__list {
    display: flex;
    align-items: center;
    gap: .2rem;
    justify-content: center;
}
.devos-nav__list a {
    display: block;
    padding: .5em .9em;
    font-family: var(--devos-font-heading);
    font-size: .875rem;
    font-weight: 600;
    color: rgba(255,255,255,.75);
    border-radius: var(--devos-radius-full);
    transition: color var(--devos-transition), background var(--devos-transition);
}
.devos-nav__list a:hover,
.devos-nav__list .current-menu-item > a { color: var(--devos-accent); background: rgba(255,255,255,.06); }

.devos-header__cta { flex-shrink: 0; padding: .6em 1.4em; font-size: .875rem; }

.devos-header__hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 28px; height: 20px;
    background: none; border: none;
    cursor: pointer; padding: 0;
    margin-left: auto; flex-shrink: 0;
}
.devos-hamburger__bar {
    display: block; width: 100%; height: 2px;
    background: var(--devos-text-white);
    border-radius: 2px;
    transition: all var(--devos-transition);
}
.devos-header__hamburger[aria-expanded="true"] .devos-hamburger__bar:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.devos-header__hamburger[aria-expanded="true"] .devos-hamburger__bar:nth-child(2) { opacity: 0; transform: scaleX(0); }
.devos-header__hamburger[aria-expanded="true"] .devos-hamburger__bar:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }


/* ─────────────────────────────────────────────────────────────
   9. HERO
   ───────────────────────────────────────────────────────────── */

.devos-hero {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding-top: 120px;
    padding-bottom: 80px;
}
.devos-hero__overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 30% 50%, rgba(207,222,75,.04) 0%, transparent 70%);
    z-index: 1;
    pointer-events: none;
}
.devos-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
    width: 100%;
}

/* Top info line */
.devos-hero__top-line {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-family: var(--devos-font-heading);
    font-size: .85rem;
    font-weight: 600;
    color: rgba(255,255,255,.7);
    letter-spacing: .06em;
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
    justify-content: center;
}
.devos-hero__top-line strong { color: var(--devos-text-white); }
.devos-hero__top-sep { color: rgba(255,255,255,.3); }

/* Theme title — fără chenar, titlul stă direct pe fundal */
.devos-hero__theme-box {
    border: 0;
    padding: 0;
    background: none;
}
.devos-hero__theme-title {
    font-size: clamp(2.5rem, 7vw, 6rem);
    font-weight: 900;
    letter-spacing: .06em;
    color: var(--devos-accent);
    line-height: 1.05;
    text-transform: uppercase;
}

.devos-hero__subtitle {
    font-size: clamp(1rem, 2vw, 1.3rem);
    color: var(--devos-text-light);
    letter-spacing: .04em;
    margin-bottom: 2.5rem;
}

.devos-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

/* Scroll indicator */
.devos-hero__scroll {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
.devos-hero__scroll-mouse {
    display: block;
    width: 24px; height: 38px;
    border: 2px solid rgba(255,255,255,.25);
    border-radius: 12px;
    position: relative;
}
.devos-hero__scroll-dot {
    position: absolute;
    top: 5px; left: 50%;
    transform: translateX(-50%);
    width: 4px; height: 7px;
    background: var(--devos-accent);
    border-radius: 2px;
    animation: devos-scroll 2s ease infinite;
}
@keyframes devos-scroll {
    0%   { opacity:1; transform:translateX(-50%) translateY(0); }
    100% { opacity:0; transform:translateX(-50%) translateY(14px); }
}


/* ─────────────────────────────────────────────────────────────
   10. ABOUT — 2 coloane: text stânga + imagine dreapta
   ───────────────────────────────────────────────────────────── */

.devos-about__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.devos-about__subtitle-q {
    font-size: 1.1rem;
    color: var(--devos-text-dark);
    margin-bottom: .75rem;
}
.devos-about__body {
    color: var(--devos-text-muted);
    line-height: 1.75;
    margin-bottom: 1rem;
}

.devos-about__highlights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem;
    margin-bottom: 2rem;
}
.devos-about__highlight-item {
    display: flex;
    align-items: center;
    gap: .5em;
    font-size: .9375rem;
    font-weight: 600;
    color: var(--devos-text-dark);
}
.devos-about__highlight-item i { color: var(--devos-accent-2); font-size: 1rem; }

.devos-about__image-wrap { position: relative; }

.devos-img-placeholder--about {
    min-height: 500px;
    border-radius: var(--devos-radius-lg);
    background: linear-gradient(135deg, #d0d8e4 0%, #b8c4d0 100%);
}

.devos-about__badge {
    position: absolute;
    bottom: -1.5rem;
    right: -1.5rem;
    background: var(--devos-btn-gradient);
    color: var(--devos-btn-ink);
    padding: 1.25rem 1.5rem;
    border-radius: var(--devos-radius-lg);
    text-align: center;
    box-shadow: none;
    line-height: 1;
}
.devos-about__badge-number {
    display: block;
    font-family: var(--devos-font-heading);
    font-size: 2.5rem;
    font-weight: 900;
}
.devos-about__badge-label {
    font-family: var(--devos-font-heading);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

/* ─────────────────────────────────────────────────────────────
   10b. STATS — panou alb break-out din secțiunea dark
   ───────────────────────────────────────────────────────────── */

/* Secțiunea stats lasă overflow vizibil ca panoul să iasă */
.devos-stats {
    overflow: visible;
    padding-bottom: 3rem;
}

/* Panoul alb se suprapune peste secțiunea următoare */
.devos-stats-panel {
    position: relative;
    z-index: 10;
    background: var(--devos-bg-white);
    border-radius: var(--devos-radius-xl);
    padding: clamp(2.5rem, 4vw, 3.5rem) clamp(2rem, 5vw, 4rem);
    margin-top: 3rem;
    margin-bottom: -6rem;
    box-shadow: 0 16px 48px rgba(0,31,63,.10), 0 4px 16px rgba(0,31,63,.06);
    text-align: center;
}

/* Secțiunea Partners primește padding-top extra pentru overlap */
.devos-partners {
    padding-top: calc(var(--devos-section-py) + 6rem);
}

.devos-stats-panel__label {
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 1.25rem;
}
.devos-stats-panel__label h3 {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--devos-text-dark);
    letter-spacing: -.01em;
}

.devos-stats-panel__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    text-align: center;
    margin-bottom: 2.5rem;
}

.devos-stats-panel__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem .5rem;
}

.devos-stats-panel__pre {
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--devos-text-muted);
    margin-bottom: .3rem;
}

.devos-stats-panel__number {
    font-family: var(--devos-font-heading);
    font-size: clamp(3rem, 6vw, 5rem);
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    /* Gradient text pentru numere */
    background: var(--devos-btn-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transition: transform .25s ease;
}
.devos-stats-panel__number.is-updating { transform: scale(1.1); }

.devos-stats-panel__label {
    font-size: .875rem;
    font-weight: 500;
    color: var(--devos-text-muted);
    margin-top: .4rem;
    line-height: 1.4;
    text-align: center;
}

.devos-stats-panel__emphasis {
    display: block;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    color: var(--devos-accent-2);
    line-height: 1.65;
    margin: .5rem auto 0;
    width: 100%;
    max-width: 640px;
    background: linear-gradient(135deg, rgba(207,222,75,.07) 0%, rgba(104,137,71,.07) 100%);
    border-radius: var(--devos-radius-md);
    padding: 1.25rem 2rem;
    box-sizing: border-box;
}
.devos-stats-panel__emphasis strong { color: var(--devos-accent-2); }


/* ─────────────────────────────────────────────────────────────
   11. BENEFITS — dark navy cards, gradient-text headings
   ───────────────────────────────────────────────────────────── */

.devos-benefits__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

.devos-benefit-card {
    background: var(--devos-primary);
    border-radius: var(--devos-radius-lg);
    padding: clamp(2rem,4vw,2.75rem);
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    transition: transform var(--devos-transition), box-shadow var(--devos-transition);
    position: relative;
    overflow: hidden;
}
.devos-benefit-card::after {
    content: none;
}
.devos-benefit-card:hover { transform: translateY(-5px); box-shadow: var(--devos-shadow-lg); }

/* Icon above heading */
.devos-benefit-card__icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(207,222,75,.18);
    color: var(--devos-accent);
    border-radius: var(--devos-radius-md);
    font-size: 1.4rem;
    flex-shrink: 0;
    transition: background var(--devos-transition), transform var(--devos-transition);
}
.devos-benefit-card:hover .devos-benefit-card__icon {
    background: rgba(207,222,75,.28);
    transform: scale(1.06);
}

/* Featured card — slightly lighter dark bg */
.devos-benefit-card--featured {
    background: var(--devos-secondary);
}
.devos-benefit-card--featured::after {
    border-color: rgba(207,222,75,.18);
}

/* Link at bottom */
.devos-benefit-card__link {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    font-family: var(--devos-font-heading);
    font-size: .875rem;
    font-weight: 700;
    color: var(--devos-accent);
    margin-top: auto;
    opacity: .9;
    transition: gap var(--devos-transition), opacity var(--devos-transition);
}
.devos-benefit-card__link:hover { gap: .7em; opacity: 1; }

/* 3-line heading: pre / KEYWORD / post */
.devos-benefit-card__heading {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.devos-benefit-card__pre {
    font-family: var(--devos-font-heading);
    font-size: .95rem;
    font-weight: 600;
    color: rgba(255,255,255,.75);
    letter-spacing: .04em;
}
.devos-benefit-card__keyword {
    font-family: var(--devos-font-heading);
    font-size: clamp(1.6rem, 3vw, 2.25rem);
    font-weight: 900;
    letter-spacing: .04em;
    /* Green gradient text */
    background: var(--devos-btn-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
}
.devos-benefit-card__post {
    font-family: var(--devos-font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    color: rgba(255,255,255,.95);
    letter-spacing: .02em;
}

.devos-benefit-card__text {
    font-size: .9375rem;
    color: rgba(255,255,255,.78);
    line-height: 1.75;
}


/* ─────────────────────────────────────────────────────────────
   12. SPEAKERS — poster cards cu overlay gradient
   ───────────────────────────────────────────────────────────── */

.devos-speakers__urgency {
    text-align: center;
    margin-bottom: 1.5rem;
}

.devos-speakers__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

/* Card poster — portrait 3:4 */
.devos-speaker-card {
    position: relative;
    border-radius: var(--devos-radius-lg);
    overflow: hidden;
    aspect-ratio: 3 / 4;
    cursor: pointer;
    background: var(--devos-primary-light);
    transition: transform var(--devos-transition), box-shadow var(--devos-transition);
}
.devos-speaker-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 24px 60px rgba(0,0,0,.55),
                0 0 0 2px var(--devos-accent);
}

/* Număr accent — colț stânga sus */
.devos-speaker-card__number {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 3;
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    color: var(--devos-accent);
    background: rgba(0,0,0,.4);
    padding: .3em .7em;
    border-radius: var(--devos-radius-full);
    backdrop-filter: blur(6px);
    line-height: 1;
}

/* Media — foto sau placeholder umple tot cardul */
.devos-speaker-card__media {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.devos-img-placeholder--speaker-card {
    width: 100%;
    height: 100%;
    border-radius: 0;
    background: linear-gradient(160deg, #0e3156 0%, #061828 100%);
    color: rgba(255,255,255,.10);
    font-size: 5rem;
    min-height: 0;
}

/* Overlay gradient din jos în sus */
.devos-speaker-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.25rem;
    background: linear-gradient(
        to top,
        rgba(0,10,25,0.95)  0%,
        rgba(0,10,25,0.70)  18%,
        rgba(0,10,25,0.18)  34%,
        transparent         46%
    );
    transition: background var(--devos-transition-slow);
}
.devos-speaker-card:hover .devos-speaker-card__overlay {
    background: linear-gradient(
        to top,
        rgba(0,10,25,0.97)  0%,
        rgba(0,10,25,0.80)  26%,
        rgba(0,10,25,0.28)  46%,
        transparent         60%
    );
}

/* Topic badge — slide-up la hover */
.devos-speaker-card__topic {
    display: inline-block;
    align-self: flex-start;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--devos-btn-ink);
    background: var(--devos-btn-gradient);
    padding: .3em .8em;
    border-radius: var(--devos-radius-full);
    margin-bottom: .6rem;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity var(--devos-transition), transform var(--devos-transition);
}
.devos-speaker-card:hover .devos-speaker-card__topic {
    opacity: 1;
    transform: translateY(0);
}

/* Nume speaker */
.devos-speaker-card__name {
    font-family: var(--devos-font-heading);
    font-size: clamp(.875rem, 1.2vw, 1.05rem);
    font-weight: 800;
    color: var(--devos-text-white);
    line-height: 1.2;
    margin: 0 0 .3rem;
    letter-spacing: .01em;
}

/* Rol */
.devos-speaker-card__role {
    font-size: .78rem;
    color: rgba(255,255,255,.6);
    line-height: 1.4;
    margin: 0;
}


/* ─────────────────────────────────────────────────────────────
   13. AGENDA — card grid layout
   ───────────────────────────────────────────────────────────── */

.devos-agenda { background: #f7f8fa; }

.devos-agenda__main-title {
    font-size: clamp(1.5rem,3vw,2.25rem);
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--devos-primary);
    text-align: center;
    margin-bottom: .5rem;
}
.devos-agenda__main-subtitle {
    font-size: 1.05rem;
    color: var(--devos-text-muted);
    text-align: center;
    margin-bottom: 3rem;
}

/* stivă de carduri late */
.devos-agenda__grid {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    max-width: 860px;
    margin: 0 auto;
}

/* ── card lat și jos ── */
.devos-agenda__card {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    background: #fff;
    border-radius: var(--devos-radius-md);
    padding: .9rem 1.5rem;
    box-shadow: 0 1px 4px rgba(0,31,63,.04);
}

.devos-agenda__card-badge {
    display: none;
}

.devos-agenda__card-time {
    font-family: var(--devos-font-heading);
    font-size: .95rem;
    font-weight: 800;
    color: var(--devos-primary);
    white-space: nowrap;
    min-width: 110px;
    letter-spacing: .01em;
}

.devos-agenda__card-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: rgba(207,222,75,.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    color: var(--devos-accent-2);
    flex-shrink: 0;
}

.devos-agenda__card-title { flex: 1; }

.devos-agenda__card-title {
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: var(--devos-primary);
    line-height: 1.3;
}

/* ── break row ── */
.devos-agenda__sep {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: .65rem 1.5rem;
    background: transparent;
    border-radius: var(--devos-radius-md);
}

.devos-agenda__sep-time {
    font-family: var(--devos-font-heading);
    font-size: .92rem;
    font-weight: 800;
    color: var(--devos-text-muted);
    white-space: nowrap;
    min-width: 110px;
}

.devos-agenda__sep-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: rgba(0,31,63,.06);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    color: var(--devos-text-muted);
    flex-shrink: 0;
}

.devos-agenda__sep-title {
    font-family: var(--devos-font-heading);
    font-size: .875rem;
    font-weight: 400;
    font-style: italic;
    color: var(--devos-text-muted);
}


/* ─────────────────────────────────────────────────────────────
   14. COUNTDOWN — light background, large numbers
   ───────────────────────────────────────────────────────────── */

.devos-countdown__event-info {
    text-align: center;
    font-family: var(--devos-font-heading);
    font-size: .9rem;
    font-weight: 600;
    color: var(--devos-text-muted);
    letter-spacing: .04em;
    margin-bottom: .75rem;
}

.devos-countdown__heading {
    text-align: center;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 700;
    color: var(--devos-text-dark);
    margin-bottom: 2.5rem;
    width: 100%;
}

.devos-countdown__timer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 3rem;
    flex-wrap: wrap;
}

.devos-countdown__unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 clamp(.75rem,2vw,2rem);
}

.devos-countdown__number {
    font-family: var(--devos-font-heading);
    font-size: clamp(3rem,8vw,7rem);
    font-weight: 900;
    color: var(--devos-text-dark);
    letter-spacing: -.05em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    transition: color .25s ease, transform .25s ease;
}
.devos-countdown__number.is-updating {
    color: var(--devos-accent-2);
    transform: scale(1.06);
}
.devos-countdown__label {
    font-family: var(--devos-font-heading);
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--devos-text-muted);
    margin-top: .5rem;
}
.devos-countdown__sep {
    font-size: clamp(3rem, 8vw, 7rem);
    font-weight: 900;
    color: var(--devos-border);
    line-height: 1;
    font-family: var(--devos-font-heading);
    /* aliniament vertical cu cifrele */
    padding-bottom: 1.75rem;
}

.devos-countdown .devos-container {
    text-align: center;
}

.devos-countdown__cta { text-align: center; }


/* ─────────────────────────────────────────────────────────────
   15. GALLERY
   ───────────────────────────────────────────────────────────── */

.devos-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-auto-rows: 240px;
    gap: 1.25rem;
}

.devos-gallery__item {
    border-radius: var(--devos-radius-lg);
    overflow: hidden;
    position: relative;
    cursor: pointer;
    background: var(--devos-bg-light);
}
.devos-gallery__item--large { grid-column: span 2; grid-row: span 1; }
.devos-gallery__item--tall  { grid-row: span 2; }

.devos-gallery__item .devos-img-placeholder--gallery { height: 100%; min-height: 0; }

/* În locul descrierii care apărea la hover, un singur semn că poza se
   poate deschide. Galeria e despre imagini, nu despre etichete. */
.devos-gallery__item-zoom {
    position: absolute;
    top: .75rem;
    right: .75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--devos-radius-full);
    background: rgba(0, 31, 63, .55);
    color: #fff;
    font-size: .8rem;
    opacity: 0;
    transform: scale(.85);
    transition: opacity var(--devos-transition), transform var(--devos-transition);
    pointer-events: none;
}
.devos-gallery__item:hover .devos-gallery__item-zoom,
.devos-gallery__item:focus-visible .devos-gallery__item-zoom {
    opacity: 1;
    transform: scale(1);
}


/* ─────────────────────────────────────────────────────────────
   16. PARTNERSHIP CTA
   ───────────────────────────────────────────────────────────── */

.devos-partnership__grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: clamp(3rem,6vw,6rem);
    align-items: start;
}

.devos-partnership__text { max-width: 520px; }
.devos-partnership__text .devos-section__title { margin-bottom: 1rem; }
.devos-partnership__text p { color: var(--devos-text-muted); line-height: 1.75; margin-bottom: 1.75rem; }

/* Hero feature card */
.devos-partnership-card--hero {
    background: var(--devos-primary);
    color: var(--devos-text-white);
    border-radius: var(--devos-radius-lg);
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.devos-partnership-card--hero i {
    font-size: 2.5rem;
    color: var(--devos-accent);
}
.devos-partnership-card--hero p {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--devos-text-white);
    line-height: 1.5;
    margin: 0;
}

.devos-partnership__mini-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1rem;
}
.devos-partnership-card--mini {
    background: var(--devos-primary);
    color: var(--devos-text-white);
    border-radius: var(--devos-radius-md);
    padding: 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .75rem;
    transition: transform var(--devos-transition);
}
.devos-partnership-card--mini:hover { transform: translateY(-4px); }
.devos-partnership-card--mini i   { font-size: 1.6rem; color: var(--devos-accent); }
.devos-partnership-card--mini p   { font-size: .825rem; color: rgba(255,255,255,.7); line-height: 1.5; margin: 0; }


/* ─────────────────────────────────────────────────────────────
   17. PARTNERS — category rows
   ───────────────────────────────────────────────────────────── */

.devos-partners__row {
    margin-bottom: 2.5rem;
}
.devos-partners__row:last-of-type { margin-bottom: 0; }

.devos-partners__row-label {
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--devos-text-muted);
    text-align: center;
    margin: 0 0 1rem;
}

/* carusel */
.devos-partners__carousel {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.devos-partners__carousel-wrap {
    overflow: hidden;
    flex: 1;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

.devos-partners__carousel-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
    transition: transform .4s cubic-bezier(.25,.46,.45,.94);
    will-change: transform;
    cursor: grab;
    user-select: none;
}
.devos-partners__carousel-track.is-dragging { cursor: grabbing; transition: none; }

.devos-partners__arrow {
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    border: 1px solid var(--devos-border);
    background: #fff;
    color: var(--devos-primary);
    font-size: .8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, border-color .2s;
    z-index: 2;
}
.devos-partners__arrow:hover { background: var(--devos-primary); color: #fff; border-color: var(--devos-primary); }
.devos-partners__arrow:disabled { opacity: .3; pointer-events: none; }

.devos-partner-logo {
    flex-shrink: 0;
    width: 150px;
    height: 72px;
    border-radius: var(--devos-radius-md);
    border: 1px solid var(--devos-border);
    background: var(--devos-bg-white);
    overflow: hidden;
}
.devos-partner-logo__inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    padding: .75rem 1rem;
    color: var(--devos-text-muted);
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 600;
}
.devos-partner-logo__inner i { font-size: 1.2rem; color: var(--devos-border); }


/* ─────────────────────────────────────────────────────────────
   18. TICKETS
   ───────────────────────────────────────────────────────────── */

.devos-tickets__plugin-area { margin-bottom: clamp(2rem,4vw,3rem); }



/* ─────────────────────────────────────────────────────────────
   19. FINAL CTA + CONTACT ROW
   ───────────────────────────────────────────────────────────── */

.devos-final-cta__top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    text-align: center;
    padding-bottom: clamp(3rem,6vw,5rem);
    margin-bottom: clamp(3rem,6vw,5rem);
}

/* Contact icon row */
.devos-contact-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    gap: 2rem;
    padding-bottom: 1rem;
}

.devos-contact-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .6rem;
    text-decoration: none;
    transition: transform var(--devos-transition);
    max-width: 120px;
    text-align: center;
}
.devos-contact-item:hover { transform: translateY(-3px); }

.devos-contact-item__icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(207,222,75,.12);
    border: 1px solid rgba(207,222,75,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    color: var(--devos-accent);
    transition: background var(--devos-transition), color var(--devos-transition);
}
.devos-contact-item:hover .devos-contact-item__icon {
    background: var(--devos-accent);
    color: var(--devos-primary);
}

.devos-contact-item__label {
    font-size: .8rem;
    font-weight: 600;
    color: rgba(255,255,255,.65);
    line-height: 1.4;
    font-family: var(--devos-font-heading);
}


/* ─────────────────────────────────────────────────────────────
   19b. FINAL CTA — titlu, subtitlu, top wrapper
   ───────────────────────────────────────────────────────────── */

.devos-final-cta__title {
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 900;
    color: var(--devos-text-white);
    letter-spacing: -.02em;
    line-height: 1.15;
    max-width: 680px;
    margin: 0 auto .75rem;
    text-align: center;
}
.devos-final-cta__subtitle {
    font-size: clamp(.95rem, 1.8vw, 1.1rem);
    color: var(--devos-text-light);
    max-width: 560px;
    margin: 0 auto 2rem;
    line-height: 1.7;
    text-align: center;
}

/* Partners CTA row */
.devos-partners__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding-top: 0;
    margin-top: 0;
}
.devos-partners__cta p {
    font-size: 1rem;
    font-weight: 500;
    color: var(--devos-text-muted);
    margin: 0;
}

/* ─────────────────────────────────────────────────────────────
   20. FOOTER
   ───────────────────────────────────────────────────────────── */

.devos-footer {
    background: #06192b;
    color: rgba(255,255,255,.7);
    font-size: .9375rem;
}
.devos-footer__top {
    padding: clamp(3rem,5vw,5rem) 0 clamp(2rem,4vw,4rem);
}
.devos-footer__grid {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1fr;
    gap: clamp(2rem,4vw,4rem);
    align-items: flex-start;
}
.devos-footer__logo--image img {
    display: block;
    width: 180px;
    height: auto;
    max-width: 100%;
}

.devos-footer__logo {
    display: inline-flex;
    font-family: var(--devos-font-heading);
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: -.03em;
    margin-bottom: 1rem;
}
.devos-footer__tagline {
    color: rgba(255,255,255,.5);
    font-size: .875rem;
    line-height: 1.65;
    margin-bottom: 1.5rem;
    max-width: 260px;
}
.devos-footer__social { display: flex; gap: .6rem; }
.devos-footer__social-link {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.1);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.6);
    font-size: .875rem;
    transition: all var(--devos-transition);
}
.devos-footer__social-link:hover {
    background: var(--devos-accent);
    border-color: var(--devos-accent);
    color: var(--devos-primary);
    transform: translateY(-2px);
}
.devos-footer__col-title {
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--devos-text-white);
    margin-bottom: 1.25rem;
}
.devos-footer__nav-list { display: flex; flex-direction: column; gap: .6rem; }
.devos-footer__nav-list a {
    color: rgba(255,255,255,.55);
    font-size: .875rem;
    transition: color var(--devos-transition), padding-left var(--devos-transition);
}
.devos-footer__nav-list a:hover { color: var(--devos-accent); padding-left: 4px; }

.devos-footer__info-list { display: flex; flex-direction: column; gap: .7rem; }
.devos-footer__info-list li {
    display: flex; align-items: flex-start;
    gap: .6em; font-size: .875rem;
    color: rgba(255,255,255,.55); line-height: 1.5;
}
.devos-footer__info-list i { color: var(--devos-accent); font-size: .875rem; margin-top: .2em; flex-shrink: 0; }
.devos-footer__info-list a { color: rgba(255,255,255,.55); transition: color var(--devos-transition); }
.devos-footer__info-list a:hover { color: var(--devos-accent); }

.devos-footer__bottom { padding: 1.5rem 0; }
.devos-footer__bottom-inner {
    display: flex; align-items: center;
    justify-content: space-between;
    flex-wrap: wrap; gap: .5rem;
}
.devos-footer__copyright, .devos-footer__credits {
    font-size: .8rem;
    color: rgba(255,255,255,.35);
    margin: 0;
}
.devos-footer__copyright a, .devos-footer__credits a { color: rgba(255,255,255,.5); }
.devos-footer__copyright a:hover, .devos-footer__credits a:hover { color: var(--devos-accent); }


/* ─────────────────────────────────────────────────────────────
   21. ARCHIVE / BLOG (index.php)
   ───────────────────────────────────────────────────────────── */

.devos-archive { padding-top: 140px; padding-bottom: var(--devos-section-py); }
.devos-archive__header { margin-bottom: 3rem; }
.devos-archive__title { font-size: clamp(1.8rem,4vw,3rem); font-weight: 800; letter-spacing: -.02em; }

.devos-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; margin-bottom: 3rem; }
.devos-post-card {
    background: var(--devos-bg-white);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    overflow: hidden;
    transition: transform var(--devos-transition), box-shadow var(--devos-transition);
}
.devos-post-card:hover { transform: translateY(-5px); box-shadow: var(--devos-shadow-lg); }
.devos-post-card__thumbnail { display: block; overflow: hidden; }
.devos-post-card__thumbnail img { width:100%; height:220px; object-fit:cover; transition: transform var(--devos-transition-slow); }
.devos-post-card:hover .devos-post-card__thumbnail img { transform: scale(1.04); }
.devos-post-card__body { padding: 1.75rem; }
.devos-post-card__meta { font-size: .8125rem; color: var(--devos-text-muted); margin-bottom: .5rem; }
.devos-post-card__title { font-size: 1.1rem; font-weight: 700; margin-bottom: .75rem; line-height: 1.35; }
.devos-post-card__title a:hover { color: var(--devos-accent-2); }
.devos-post-card__excerpt { font-size: .9rem; color: var(--devos-text-muted); margin-bottom: 1.25rem; }

.devos-pagination { text-align: center; }
.devos-pagination .nav-links { display: flex; justify-content: center; gap: .5rem; flex-wrap: wrap; }
.devos-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 40px; height: 40px; padding: 0 .75rem;
    border-radius: var(--devos-radius-full);
    font-family: var(--devos-font-heading); font-size: .875rem; font-weight: 600;
    color: var(--devos-text-dark); background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    background-origin: border-box;
    background-repeat: no-repeat;
    transition: all var(--devos-transition);
}
.devos-pagination .page-numbers:hover { background: var(--devos-primary); color: #fff; border-color: transparent; }
.devos-pagination .page-numbers.current {
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    background-repeat: no-repeat;
    color: var(--devos-btn-ink);
    border-color: transparent;
}


/* ─────────────────────────────────────────────────────────────
   22. RESPONSIVE — ≤1024px
   ───────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {

    .devos-header__nav, .devos-header__cta { display: none; }
    .devos-header__hamburger { display: flex; }

    .devos-header.nav-open .devos-header__nav {
        display: block;
        position: fixed;
        inset: 0;
        /* Marginea de jos a antetului, măsurată în JS: ține cont și
           de bara de administrare, și de faptul că antetul se strânge
           la derulare. Valoarea fixă de dinainte lăsa o fâșie de
           pagină între antet și meniu. */
        top: var(--devos-header-bottom, 70px);
        background: rgba(0,31,63,0.98);
        backdrop-filter: blur(16px);
        padding: 2rem var(--devos-gutter);
        overflow-y: auto;
        z-index: calc(var(--devos-z-header) - 1);
    }
    .devos-header.nav-open .devos-nav__list {
        flex-direction: column;
        align-items: flex-start;
        gap: .25rem;
    }
    .devos-header.nav-open .devos-nav__list a { font-size: 1.1rem; padding: .75em 1em; }

    .devos-about__grid { grid-template-columns: 1fr; gap: 3rem; }
    .devos-about__visual { order: -1; }
    .devos-about__badge { right: 1rem; bottom: -1rem; }
    .devos-about__highlights { grid-template-columns: 1fr; }

    .devos-stats-panel__grid { grid-template-columns: repeat(2,1fr); }
    .devos-stats-panel__item:nth-child(n+3) { padding-top: 1.25rem; }

    .devos-benefits__grid { grid-template-columns: 1fr 1fr; }

    .devos-speakers__grid { grid-template-columns: 1fr 1fr; }

    .devos-gallery__grid { grid-template-columns: 1fr 1fr; }
    .devos-gallery__item--large { grid-column: span 2; }
    .devos-gallery__item--tall  { grid-row: span 1; }

    .devos-partnership__grid { grid-template-columns: 1fr; gap: 3rem; }
    .devos-partnership__mini-grid { grid-template-columns: 1fr 1fr 1fr; }

    .devos-partner-logo { width: 130px; height: 64px; }

    .devos-footer__grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
    .devos-post-grid { grid-template-columns: 1fr 1fr; }
}


/* ─────────────────────────────────────────────────────────────
   23. RESPONSIVE — ≤768px
   ───────────────────────────────────────────────────────────── */

@media (max-width: 768px) {

    /* cutia titlului nu mai are chenar/padding — nimic de ajustat aici */
    .devos-section--photo-dark { background-attachment: scroll; }

    .devos-about__highlights { grid-template-columns: 1fr 1fr; }

    .devos-stats-panel__grid { grid-template-columns: repeat(2, 1fr); }

    .devos-benefits__grid { grid-template-columns: 1fr; }
    .devos-benefit-card__keyword { font-size: clamp(1.4rem,7vw,2rem); }

    .devos-speakers__grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    /* pe touch, topic-ul e vizibil fără hover */
    .devos-speaker-card__topic { opacity: 1; transform: translateY(0); }

    .devos-agenda__card,
    .devos-agenda__sep { padding: .85rem 1rem; gap: .75rem; }
    .devos-agenda__card-time,
    .devos-agenda__sep-time { min-width: 80px; font-size: .85rem; }

    .devos-countdown__sep { display: none; }
    .devos-countdown__unit { border-right: none; padding: 0 1rem; }
    .devos-countdown__timer { gap: 0; }
    .devos-countdown__unit { padding: 0 .75rem; }

    .devos-gallery__grid { grid-template-columns: 1fr; }
    .devos-gallery__item--large, .devos-gallery__item--tall { grid-column: span 1; grid-row: span 1; }

    .devos-partnership__mini-grid { grid-template-columns: 1fr; }

    .devos-contact-row { gap: 1.25rem; }
    .devos-contact-item { max-width: 90px; }

    .devos-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
    .devos-footer__bottom-inner { flex-direction: column; align-items: flex-start; }

    .devos-post-grid { grid-template-columns: 1fr; }

}


/* ─────────────────────────────────────────────────────────────
   24. RESPONSIVE — ≤480px
   ───────────────────────────────────────────────────────────── */

@media (max-width: 480px) {

    .devos-speakers__grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; }

    .devos-agenda__card-title { font-size: .9rem; }
    .devos-agenda__card { padding: 1.25rem; }

    .devos-stats-panel__grid { grid-template-columns: 1fr 1fr; }

    .devos-hero__top-line { font-size: .75rem; gap: .5rem; }
    /* idem: titlul stă direct pe fundal */
}


/* ─────────────────────────────────────────────────────────────
   25. PRINT
   ───────────────────────────────────────────────────────────── */

@media print {
    .devos-header, .devos-footer,
    .devos-hero__scroll, .devos-countdown,
    .devos-final-cta { display: none; }
    .devos-site { font-size: 12pt; }
    .devos-container { max-width: 100%; }
    .devos-section { padding: 1.5cm 0; }
    .devos-section--photo-dark::before { display: none; }
}


/* =============================================================
   26. DEVOS 16 — COMPONENTE EDIȚIE
   Business Partnership Summit · 17 mai 2027
   Blocul e appendat la final, deci suprascrie intenționat
   câteva reguli din secțiunile 9–18.
   ============================================================= */


/* ─────────────────────────────────────────────────────────────
   26.1 HERO — eyebrow, titlu pe 3 rânduri, traseul pilonilor
   ───────────────────────────────────────────────────────────── */

.devos-hero__eyebrow {
    font-family: var(--devos-font-heading);
    font-size: clamp(.75rem, 1.6vw, .9rem);
    font-weight: 700;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--devos-accent);
    margin: 0 0 1.25rem;
}

.devos-hero__theme-title-sm {
    display: block;
    font-size: .48em;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--devos-accent);
    margin-top: .35em;
}

.devos-hero__pillars {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5rem .9rem;
    margin: 1.75rem 0 2.25rem;
    font-family: var(--devos-font-heading);
    font-size: clamp(.7rem, 1.5vw, .82rem);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.88);
}
.devos-hero__pillars-sep { color: var(--devos-accent); }


/* ─────────────────────────────────────────────────────────────
   26.2 PILONI — traseul celor 4 axe

   Cardurile nu stau separat: deasupra lor trece o linie continuă
   care leagă patru noduri colorate, în ordinea Comunitate →
   Colaborare → Conștientizare → Capitalizare. Nodul poartă
   iconița pilonului, iar inelul alb din jurul lui taie linia,
   ca traseul să pară că trece PRIN nod.

   Culorile nodurilor vin din .devos-axis--* (secțiunea 32.2);
   fără axă aleasă, nodul rămâne navy.

   Segmentul de linie e ::before pe fiecare card și merge de la
   nodul propriu la următorul, așa că urmează singur aranjarea:
   4 coloane, 2 coloane sau o coloană.
   ───────────────────────────────────────────────────────────── */

.devos-pillars__grid {
    --devos-pillar-gap:  1.5rem;
    --devos-pillar-node: 3.25rem;
    --devos-pillar-stem: .75rem;
    --devos-pillar-drop: 6rem;   /* distanța pe verticală, când e o coloană */

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: var(--devos-pillar-gap);
    row-gap: 5.25rem;
    /* Loc deasupra primului rând, pentru noduri */
    margin-top: calc(var(--devos-pillar-node) + var(--devos-pillar-stem) + 1rem);
}

.devos-pillar-card {
    position: relative;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    padding: 2.5rem 1.6rem 1.9rem;
    text-align: center;
}

/* ---- Nodul de pe traseu ---- */

.devos-pillar-card__node {
    position: absolute;
    top: calc(-1 * (var(--devos-pillar-node) + var(--devos-pillar-stem)));
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--devos-pillar-node);
    height: var(--devos-pillar-node);
    border-radius: var(--devos-radius-full);
    background: var(--devos-primary);
    color: var(--devos-text-white);
    font-size: 1.15rem;
    /* Inelul alb decupează linia; cercul subțire dinafară o reia în culoare */
    box-shadow: 0 0 0 6px var(--devos-bg-white), 0 0 0 7px rgba(0,31,63,.12);
    z-index: 2;
}

/* Tija care coboară din nod în card */
.devos-pillar-card__node::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    width: 2px;
    height: var(--devos-pillar-stem);
    transform: translateX(-50%);
    background: var(--devos-primary);
}

/* ---- Segmentul de linie către nodul următor ---- */

.devos-pillar-card::before {
    content: '';
    position: absolute;
    top: calc(-1 * (var(--devos-pillar-node) / 2 + var(--devos-pillar-stem)) - 1px);
    left: 50%;
    width: calc(100% + var(--devos-pillar-gap));
    height: 2px;
    background: linear-gradient(90deg, var(--devos-primary) 0%, var(--devos-border) 85%);
    z-index: 1;
}

/* Ultimul din rând nu are către cine să continue */
.devos-pillar-card:nth-child(4n)::before,
.devos-pillar-card:last-child::before { content: none; }

/* ---- Conținutul cardului ---- */

.devos-pillar-card__step {
    display: block;
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .2em;
    color: var(--devos-text-muted);
    margin-bottom: .55rem;
}

.devos-pillar-card__title {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--devos-primary);
    margin-bottom: .6rem;
    letter-spacing: -.01em;
}

.devos-pillar-card__text {
    font-size: .9rem;
    line-height: 1.65;
    color: var(--devos-text-muted);
    margin: 0;
}


/* ─────────────────────────────────────────────────────────────
   26.3 SPEAKERS — 6 keynote (3 coloane), titlul prelegerii,
        rândul gazdă/facilitator și panelul dezbaterii
   ───────────────────────────────────────────────────────────── */

.devos-speakers__grid { grid-template-columns: repeat(3, 1fr); }

/* Titlul prelegerii, sub nume/rol */
.devos-speaker-card__talk {
    font-size: .8rem;
    line-height: 1.45;
    color: rgba(255,255,255,.72);
    margin: .5rem 0 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height var(--devos-transition), opacity var(--devos-transition), margin var(--devos-transition);
}
.devos-speaker-card:hover .devos-speaker-card__talk,
.devos-speaker-card:focus-within .devos-speaker-card__talk {
    max-height: 7rem;
    opacity: 1;
}

/* Rând gazdă + facilitator */
.devos-speakers__roles {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

.devos-role-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--devos-radius-lg);
    padding: 1.75rem;
    backdrop-filter: blur(8px);
}

.devos-role-card__tag {
    display: inline-block;
    font-family: var(--devos-font-heading);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
    color: var(--devos-accent);
    margin-bottom: .6rem;
}

.devos-role-card__name {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--devos-text-white);
    margin-bottom: .5rem;
}

.devos-role-card__text {
    font-size: .875rem;
    line-height: 1.6;
    color: var(--devos-text-light);
    margin: 0;
}

/* Panel dezbatere-interviu */
.devos-speakers__panel {
    margin-top: 2rem;
    background: rgba(0,0,0,.28);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--devos-radius-lg);
    padding: clamp(1.75rem, 3vw, 2.5rem);
}

.devos-speakers__panel-head { text-align: center; margin-bottom: 1.75rem; }

.devos-speakers__panel-title {
    font-size: clamp(1.05rem, 2.2vw, 1.45rem);
    font-weight: 800;
    color: var(--devos-text-white);
    line-height: 1.35;
    max-width: 760px;
    margin: 0 auto;
}

.devos-speakers__panel-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem 2.25rem;
}

.devos-panelist {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .35rem;
    flex: 0 1 11rem;
    padding: .5rem 0;
}

.devos-panelist__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(6rem, 11vw, 8rem);
    height: clamp(6rem, 11vw, 8rem);
    border-radius: var(--devos-radius-md);
    background: linear-gradient(160deg, #1a3f60 0%, #0a2740 100%);
    color: rgba(255,255,255,.3);
    font-size: 2rem;
    margin-bottom: .6rem;
}

.devos-panelist__name {
    font-family: var(--devos-font-heading);
    font-size: .95rem;
    font-weight: 700;
    color: var(--devos-text-white);
}

.devos-panelist__company {
    font-size: .78rem;
    color: var(--devos-accent);
    letter-spacing: .06em;
    text-transform: uppercase;
}


/* ─────────────────────────────────────────────────────────────
   26.4 AGENDA — corp multi-linie, speaker, notă, axă, badge tip
   ───────────────────────────────────────────────────────────── */

.devos-agenda__grid { max-width: 940px; }

.devos-agenda__card {
    align-items: flex-start;
    padding: 1.1rem 1.5rem;
}

.devos-agenda__card-time { padding-top: .35rem; }
.devos-agenda__card-icon { margin-top: .1rem; }

.devos-agenda__card-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.devos-agenda__card-title { display: block; }

.devos-agenda__card-speaker {
    font-family: var(--devos-font-heading);
    font-size: .82rem;
    font-weight: 600;
    color: var(--devos-accent-2);
}

.devos-agenda__card-note {
    font-size: .82rem;
    line-height: 1.55;
    color: var(--devos-text-muted);
}

.devos-agenda__card-axis {
    align-self: flex-start;
    font-family: var(--devos-font-heading);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
    background: rgba(0,31,63,.05);
    border-radius: var(--devos-radius-full);
    padding: .3em .8em;
    margin-top: .15rem;
}

/* Badge tip moment — reactivat */
.devos-agenda__card-badge {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    flex-shrink: 0;
    margin-top: .35rem;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-btn-ink);
    background: var(--devos-btn-gradient);
    border-radius: var(--devos-radius-full);
    padding: .4em .9em;
}

/* Rând de pauză — corp cu notă */
.devos-agenda__sep { align-items: flex-start; }
.devos-agenda__sep-time { padding-top: .35rem; }
.devos-agenda__sep-body {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}
.devos-agenda__sep-title { font-size: .95rem; font-weight: 600; font-style: normal; color: var(--devos-primary); }

/* Nota despre gazdă, sub program */
.devos-agenda__host {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    max-width: 940px;
    margin: 2rem auto 0;
    padding: 1.1rem 1.5rem;
    background: #fff;
    border-radius: var(--devos-radius-md);
    font-size: .95rem;
    color: var(--devos-text-muted);
    text-align: center;
    box-shadow: 0 1px 4px rgba(0,31,63,.04);
}
.devos-agenda__host i { color: var(--devos-accent-2); }
.devos-agenda__host strong { color: var(--devos-primary); }


/* ─────────────────────────────────────────────────────────────
   26.5 PRICING — 4 tipuri de acces
   ───────────────────────────────────────────────────────────── */

.devos-pricing__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.5rem;
    align-items: stretch;
}

.devos-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--devos-bg-white);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    padding: 2rem 1.5rem 1.75rem;
    transition: transform var(--devos-transition), box-shadow var(--devos-transition);
}
.devos-price-card:hover { transform: translateY(-5px); box-shadow: var(--devos-shadow-md); }

.devos-price-card--featured {
    border-color: transparent;
    background: var(--devos-primary);
    box-shadow: var(--devos-shadow-lg);
}
.devos-price-card--free { border-style: dashed; border-color: var(--devos-accent-2); }

.devos-price-card__flag {
    position: absolute;
    top: -.75rem;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .14em;
    color: var(--devos-btn-ink);
    background: var(--devos-btn-gradient);
    border-radius: var(--devos-radius-full);
    padding: .45em 1em;
}

.devos-price-card__head { text-align: center; margin-bottom: 1.5rem; }

.devos-price-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--devos-radius-md);
    background: rgba(207,222,75,.18);
    color: var(--devos-accent-2);
    font-size: 1.05rem;
    margin-bottom: .9rem;
}
.devos-price-card--featured .devos-price-card__icon {
    background: rgba(255,255,255,.1);
    color: var(--devos-accent);
}

.devos-price-card__name {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--devos-primary);
    letter-spacing: -.01em;
    margin-bottom: .3rem;
}
.devos-price-card--featured .devos-price-card__name { color: var(--devos-text-white); }

.devos-price-card__lead {
    font-size: .82rem;
    color: var(--devos-text-muted);
    margin: 0;
    line-height: 1.5;
}
.devos-price-card--featured .devos-price-card__lead { color: rgba(255,255,255,.65); }

/* Etape de preț */
.devos-price-card__tiers {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin-bottom: 1.4rem;
}

.devos-price-card__tier {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    padding: .55rem .75rem;
    border-radius: var(--devos-radius-sm);
    font-size: .82rem;
    color: var(--devos-text-muted);
}
.devos-price-card__tier.is-active {
    background: rgba(207,222,75,.18);
    color: var(--devos-primary);
    font-weight: 700;
}
.devos-price-card--featured .devos-price-card__tier { color: rgba(255,255,255,.6); }
.devos-price-card--featured .devos-price-card__tier.is-active {
    background: rgba(255,255,255,.1);
    color: var(--devos-text-white);
}

.devos-price-card__tier-name { display: flex; align-items: center; gap: .45em; }

.devos-price-card__tier-now {
    font-family: var(--devos-font-heading);
    font-size: .55rem;
    font-weight: 900;
    font-style: normal;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-primary);
    background: var(--devos-accent);
    border-radius: var(--devos-radius-full);
    padding: .25em .6em;
    line-height: 1;
}

.devos-price-card__tier-price {
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 800;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.devos-price-card__tier.is-active .devos-price-card__tier-price { font-size: 1.2rem; }
.devos-price-card--free .devos-price-card__tier.is-active .devos-price-card__tier-price { color: var(--devos-accent-2); }

/* Ce include */
.devos-price-card__includes {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin-bottom: 1.25rem;
    flex: 1;
}
.devos-price-card__includes li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-size: .82rem;
    line-height: 1.5;
    color: var(--devos-text-muted);
}
.devos-price-card__includes i {
    color: var(--devos-accent-2);
    font-size: .7rem;
    margin-top: .38em;
    flex-shrink: 0;
}
.devos-price-card--featured .devos-price-card__includes li { color: rgba(255,255,255,.75); }
.devos-price-card--featured .devos-price-card__includes i  { color: var(--devos-accent); }

.devos-price-card__exclude {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-size: .76rem;
    line-height: 1.5;
    color: #8a6d1f;
    background: rgba(230,180,40,.12);
    border-radius: var(--devos-radius-sm);
    padding: .75rem .85rem;
    margin-bottom: 1.25rem;
}
.devos-price-card__exclude i { margin-top: .15em; flex-shrink: 0; }

.devos-price-card__cta { width: 100%; justify-content: center; margin-top: auto; }
.devos-price-card--featured .devos-btn--outline {
    border-color: rgba(255,255,255,.4);
    color: var(--devos-text-white);
}


/* ─────────────────────────────────────────────────────────────
   26.6 PARTNERS — nume text când nu există logo
   ───────────────────────────────────────────────────────────── */

.devos-partner-logo__name {
    font-family: var(--devos-font-heading);
    font-size: .875rem;
    font-weight: 700;
    color: var(--devos-primary);
    text-align: center;
    line-height: 1.25;
    padding: 0 .5rem;
}


/* ─────────────────────────────────────────────────────────────
   26.7 PACHETE PARTENER — Expo / Business / Strategic
   ───────────────────────────────────────────────────────────── */

.devos-packages__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
    align-items: stretch;
    margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.devos-package-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--devos-bg-white);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    padding: 2.25rem 1.75rem 1.75rem;
    transition: transform var(--devos-transition), box-shadow var(--devos-transition);
}
.devos-package-card:hover { transform: translateY(-5px); box-shadow: var(--devos-shadow-md); }

.devos-package-card--featured {
    background: var(--devos-primary);
    border-color: transparent;
    box-shadow: var(--devos-shadow-lg);
}

.devos-package-card__flag {
    position: absolute;
    top: -.75rem;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .14em;
    color: var(--devos-btn-ink);
    background: var(--devos-btn-gradient);
    border-radius: var(--devos-radius-full);
    padding: .45em 1em;
}

.devos-package-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: var(--devos-radius-md);
    background: rgba(207,222,75,.18);
    color: var(--devos-accent-2);
    font-size: 1.15rem;
    margin-bottom: 1.1rem;
}
.devos-package-card--featured .devos-package-card__icon {
    background: rgba(255,255,255,.1);
    color: var(--devos-accent);
}

.devos-package-card__name {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--devos-primary);
    margin-bottom: .5rem;
}
.devos-package-card--featured .devos-package-card__name { color: var(--devos-text-white); }

.devos-package-card__lead {
    font-size: .875rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
    margin-bottom: 1.35rem;
}
.devos-package-card--featured .devos-package-card__lead { color: rgba(255,255,255,.7); }

.devos-package-card__list {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin-bottom: 1.35rem;
    flex: 1;
}
.devos-package-card__list li {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    font-size: .85rem;
    line-height: 1.5;
    color: var(--devos-text-dark);
}
.devos-package-card__list i {
    color: var(--devos-accent-2);
    font-size: .72rem;
    margin-top: .38em;
    flex-shrink: 0;
}
.devos-package-card--featured .devos-package-card__list li { color: rgba(255,255,255,.82); }
.devos-package-card--featured .devos-package-card__list i  { color: var(--devos-accent); }

.devos-package-card__fit {
    font-size: .78rem;
    line-height: 1.55;
    color: var(--devos-text-muted);
    background: var(--devos-bg-light);
    border-radius: var(--devos-radius-sm);
    padding: .85rem 1rem;
    margin-bottom: 1.35rem;
}
.devos-package-card__fit strong { color: var(--devos-primary); }
.devos-package-card--featured .devos-package-card__fit {
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.72);
}
.devos-package-card--featured .devos-package-card__fit strong { color: var(--devos-accent); }

.devos-package-card__cta { width: 100%; justify-content: center; margin-top: auto; }


/* ─────────────────────────────────────────────────────────────
   26.8 RESPONSIVE — componente DEVOS 16
   ───────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
    .devos-pillars__grid  { grid-template-columns: repeat(2, 1fr); }
    /* Pe două coloane, traseul se oprește la capătul fiecărui rând */
    .devos-pillar-card:nth-child(2n)::before { content: none; }
    .devos-pricing__grid  { grid-template-columns: repeat(2, 1fr); }
    .devos-packages__grid { grid-template-columns: 1fr; }
    .devos-speakers__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .devos-hero__pillars { gap: .35rem .6rem; }

    .devos-speakers__roles      { grid-template-columns: 1fr; }
    .devos-speakers__panel-grid { gap: 1.5rem; }

    /* pe touch nu există hover — titlul prelegerii rămâne vizibil */
    .devos-speaker-card__talk { max-height: none; opacity: 1; overflow: visible; }

    .devos-agenda__card,
    .devos-agenda__sep { flex-wrap: wrap; }
    .devos-agenda__card-body { flex-basis: 100%; order: 3; }
    .devos-agenda__card-badge { order: 2; margin-top: 0; margin-left: auto; }
    .devos-agenda__card-time,
    .devos-agenda__sep-time { padding-top: .5rem; }
    .devos-agenda__host { flex-direction: column; gap: .5rem; }

    .devos-pricing__grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .devos-pillars__grid {
        grid-template-columns: 1fr;
        row-gap: var(--devos-pillar-drop);
    }

    /*
     * Pe o coloană traseul se întoarce pe verticală: linia coboară
     * din marginea de jos a cardului până la nodul următor.
     */
    .devos-pillar-card:nth-child(2n)::before { content: ''; }
    .devos-pillar-card:last-child::before    { content: none; }

    .devos-pillar-card::before {
        top: 100%;
        left: 50%;
        width: 2px;
        height: calc(var(--devos-pillar-drop) - var(--devos-pillar-node) - var(--devos-pillar-stem));
        transform: translateX(-50%);
        background: linear-gradient(180deg, var(--devos-primary) 0%, var(--devos-border) 85%);
    }
    .devos-pillar-card[class*="devos-axis--"]::before {
        background: linear-gradient(180deg, var(--devos-axis) 0%, var(--devos-border) 85%);
    }
    .devos-speakers__grid { grid-template-columns: 1fr; }
    .devos-hero__theme-title-sm { font-size: .55em; }
}


/* ─────────────────────────────────────────────────────────────
   26.9 STATS PANEL — heading separat de label-urile de item
   (înainte, ambele foloseau .devos-stats-panel__label, ceea ce
   aplica margin-bottom: 2rem pe fiecare label din grid)
   ───────────────────────────────────────────────────────────── */

.devos-stats-panel__heading {
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 1.25rem;
}
.devos-stats-panel__heading h3 {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--devos-text-dark);
    letter-spacing: -.01em;
}

.devos-stats-panel__grid .devos-stats-panel__label {
    margin-bottom: 0;
    padding-bottom: 0;
}


/* ─────────────────────────────────────────────────────────────
   27. VIDEO YOUTUBE (sub galerie)
   Facade: coperta se încarcă imediat, iframe-ul doar la click.
   ───────────────────────────────────────────────────────────── */

.devos-video__frame {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    border-radius: var(--devos-radius-lg);
    overflow: hidden;
    background: var(--devos-primary);
    box-shadow: var(--devos-shadow-lg);
}

.devos-video__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
    display: block;
}

.devos-video__poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--devos-transition-slow), filter var(--devos-transition);
}
.devos-video__poster:hover img { transform: scale(1.03); filter: brightness(.85); }

.devos-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(4rem, 8vw, 5.5rem);
    height: clamp(4rem, 8vw, 5.5rem);
    border-radius: 50%;
    background: var(--devos-btn-gradient);
    color: var(--devos-btn-ink);
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    padding-left: .15em; /* centrează optic triunghiul */
    box-shadow: 0 12px 40px rgba(0,0,0,.45);
    transition: transform var(--devos-transition), box-shadow var(--devos-transition);
}
.devos-video__poster:hover .devos-video__play,
.devos-video__poster:focus-visible .devos-video__play {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow: 0 16px 50px rgba(0,0,0,.55);
}

.devos-video__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Nota „se încarcă de pe YouTube” a fost eliminată — stilurile ei odată cu ea. */


/* ─────────────────────────────────────────────────────────────
   28. AJUSTĂRI PENTRU CONȚINUT DINAMIC
   Imagini reale în locul placeholder-elor + secțiuni opționale.
   ───────────────────────────────────────────────────────────── */

/* Imaginea din secțiunea Despre */
.devos-about__image {
    width: 100%;
    border-radius: var(--devos-radius-lg);
    box-shadow: var(--devos-shadow-md);
}

/* Fotografiile speakerilor umplu cardul */
.devos-speaker-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Avatar real în panel */
.devos-panelist__avatar--photo { overflow: hidden; padding: 0; }
.devos-panelist__avatar--photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Galeria: item-ul poate fi acum <a> */
.devos-gallery__item { display: block; }
.devos-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--devos-transition-slow);
}
.devos-gallery__item:hover img { transform: scale(1.04); }
.devos-gallery__item-overlay { pointer-events: none; }

/* Logo-uri parteneri */
.devos-partner-logo__inner img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}
a.devos-partner-logo { cursor: pointer; }

/* Preț opțional pe pachetele de parteneriat */
.devos-package-card__price {
    font-family: var(--devos-font-heading);
    font-size: 1.6rem;
    font-weight: 900;
    letter-spacing: -.02em;
    color: var(--devos-accent-2);
    margin-bottom: .6rem;
}
.devos-package-card--featured .devos-package-card__price { color: var(--devos-accent); }

/* Când Statistici sau Parteneri e ascunsă, anulăm suprapunerea
   panoului alb peste secțiunea următoare. */
.devos-stats--no-overlap .devos-stats-panel { margin-bottom: 0; }
.devos-stats--no-overlap { padding-bottom: var(--devos-section-py); }
.devos-partners--no-overlap { padding-top: var(--devos-section-py); }


/* =============================================================
   29. CORECȚII DE SPECIFICITATE ȘI RITM VERTICAL

   Resetul de bază folosește selectori de tip `.devos-site p`,
   `.devos-site ul` și `.devos-site a` — specificitate (0,1,1).
   O clasă simplă precum `.devos-hero__subtitle` are (0,1,0) și
   PIERDE în fața lor, deci marginile și culorile setate pe clase
   erau ignorate. Regulile de mai jos sunt prefixate ca să câștige.
   ============================================================= */


/* ─────────────────────────────────────────────────────────────
   29.1 CULORILE BUTOANELOR
   `.devos-site a { color: inherit }` suprascria culoarea fiecărui
   buton — de aceea butonul ghost apărea gri închis pe fundal închis.
   ───────────────────────────────────────────────────────────── */

.devos-site .devos-btn--accent,
.devos-site .devos-btn--accent:hover,
.devos-site .devos-btn--accent:focus-visible { color: var(--devos-btn-ink); }

.devos-site .devos-btn--outline { color: var(--devos-primary); }
.devos-site .devos-btn--outline:hover,
.devos-site .devos-btn--outline:focus-visible { color: #fff; }

.devos-site .devos-btn--ghost { color: var(--devos-text-white); }
.devos-site .devos-btn--ghost:hover,
.devos-site .devos-btn--ghost:focus-visible { color: #fff; }

/* Butonul outline pe fundal închis (cardul VIP, pachetul evidențiat) */
.devos-price-card--featured .devos-btn--outline,
.devos-package-card--featured .devos-btn--outline { color: var(--devos-text-white); }
.devos-price-card--featured .devos-btn--outline:hover,
.devos-package-card--featured .devos-btn--outline:hover {
    background: #fff;
    color: var(--devos-primary);
}


/* ─────────────────────────────────────────────────────────────
   29.2 RITMUL VERTICAL AL HERO-ULUI
   Scara de spațiere folosește vh, ca hero-ul să respire pe ecrane
   înalte și să se strângă pe laptop-uri mici.
   ───────────────────────────────────────────────────────────── */

.devos-hero .devos-hero__top-line  { margin: 0 0 clamp(1.5rem, 4vh, 2.75rem); }
.devos-hero .devos-hero__eyebrow   { margin: 0 0 clamp(.7rem, 1.6vh, 1.1rem); }
.devos-hero .devos-hero__theme-box { margin: 0 0 clamp(1.25rem, 3vh, 2rem); }
.devos-hero .devos-hero__subtitle  { margin: 0 0 clamp(1.1rem, 2.4vh, 1.6rem); }
.devos-hero .devos-hero__pillars   { margin: 0 0 clamp(1.9rem, 4.5vh, 3rem); }
.devos-hero .devos-hero__actions   { margin: 0; }

/* Titlul: puțin mai aerisit între rânduri acum că nu mai are chenar */
.devos-hero__theme-title { line-height: 1.02; }
.devos-hero__theme-title-sm { margin-top: .28em; letter-spacing: .14em; }

/* Indicatorul de scroll să nu se suprapună peste butoane */
.devos-hero { padding-bottom: clamp(5rem, 12vh, 7.5rem); }


/* ─────────────────────────────────────────────────────────────
   29.3 ÎNTUNECAREA FUNDALULUI FOTO
   Se alege din admin, per secțiune. Fără aceste niveluri, orice
   fotografie de fundal rămânea aproape invizibilă sub overlay.
   ───────────────────────────────────────────────────────────── */

.devos-section--overlay-light::before {
    background: linear-gradient(
        160deg,
        rgba(0,20,40,0.52) 0%,
        rgba(0,31,63,0.42) 50%,
        rgba(0,15,35,0.60) 100%
    );
}

.devos-section--overlay-medium::before {
    background: linear-gradient(
        160deg,
        rgba(0,20,40,0.74) 0%,
        rgba(0,31,63,0.66) 50%,
        rgba(0,15,35,0.80) 100%
    );
}

.devos-section--overlay-dark::before {
    background: linear-gradient(
        160deg,
        rgba(0,20,40,0.90) 0%,
        rgba(0,31,63,0.85) 50%,
        rgba(0,15,35,0.94) 100%
    );
}

/* Pe fundal deschis textul are nevoie de o umbră ca să rămână lizibil */
.devos-section--overlay-light .devos-hero__subtitle,
.devos-section--overlay-light .devos-hero__top-line,
.devos-section--overlay-light .devos-hero__pillars {
    text-shadow: 0 1px 12px rgba(0,10,25,.7);
}
.devos-section--overlay-light .devos-hero__theme-title {
    text-shadow: 0 2px 24px rgba(0,10,25,.55);
}


/* ─────────────────────────────────────────────────────────────
   29.4 HERO PE ECRANE MICI
   ───────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .devos-hero { padding-top: 100px; padding-bottom: clamp(4rem, 10vh, 6rem); }
    .devos-hero .devos-hero__top-line { margin-bottom: 1.5rem; }
    .devos-hero__actions { width: 100%; }
    .devos-hero__actions .devos-btn { flex: 1 1 auto; justify-content: center; }
}

@media (max-width: 480px) {
    .devos-hero .devos-hero__pillars { margin-bottom: 1.75rem; }
    .devos-hero__actions { flex-direction: column; }
    .devos-hero__actions .devos-btn { width: 100%; }
}


/* =============================================================
   30. AJUSTĂRI CERUTE: FOTO ROLURI + SLIDER UNIC DE PARTENERI
   ============================================================= */


/* ─────────────────────────────────────────────────────────────
   30.1 CARDURI ROL (gazdă / facilitator) — cu fotografie
   ───────────────────────────────────────────────────────────── */

.devos-role-card--has-photo {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}

.devos-role-card__photo {
    flex-shrink: 0;
    width: clamp(6.5rem, 12vw, 8.5rem);
    height: clamp(6.5rem, 12vw, 8.5rem);
    border-radius: var(--devos-radius-md);
    overflow: hidden;
    background: linear-gradient(160deg, #1a3f60 0%, #0a2740 100%);
    box-shadow: 0 0 0 2px rgba(207,222,75,.35);
}
.devos-role-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.devos-role-card__body {
    display: block;
    min-width: 0;
}


/* ─────────────────────────────────────────────────────────────
   30.2 CAROUSEL PARTENERI — stare statică (totul încape)
   Fără săgeți, fără mască de margini, logo-urile centrate.
   ───────────────────────────────────────────────────────────── */

.devos-partners__carousel.is-static { justify-content: center; }

.devos-partners__carousel.is-static .devos-partners__arrow { display: none; }

.devos-partners__carousel.is-static .devos-partners__carousel-wrap {
    flex: 0 1 auto;
    -webkit-mask-image: none;
    mask-image: none;
}

.devos-partners__carousel.is-static .devos-partners__carousel-track {
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 1rem;
    cursor: default;
}

/* În modul „un singur slider” rândul e mai aerisit */
.devos-partners__row { margin-bottom: 2.5rem; }
.devos-partners__row:last-of-type { margin-bottom: 0; }


/* =============================================================
   31. ÎNCADRAREA FOTOGRAFIILOR

   Fotografiile se servesc într-o dimensiune PROPORȚIONALĂ (large /
   medium) cu srcset, nu decupate pătrat de WordPress. Tăierea la
   forma cardului o face object-fit, pe proporțiile reale — așa nu
   mai apare efectul de „zoom” dintr-un pătrat tăiat din mijloc.
   ============================================================= */

/* Fotografiile de speaker umplu cardul 3:4 */
.devos-speaker-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Punctul focal, ales per speaker din admin */
.devos-speaker-card--focus-top    .devos-speaker-card__media img { object-position: center 18%; }
.devos-speaker-card--focus-center .devos-speaker-card__media img { object-position: center center; }
.devos-speaker-card--focus-bottom .devos-speaker-card__media img { object-position: center 85%; }

/* Avatarele pătrate: încadrare spre partea de sus, unde e fața */
.devos-role-card__photo img,
.devos-panelist__avatar--photo img {
    object-fit: cover;
    object-position: center 20%;
}

/* Logo-urile partenerilor se încadrează întregi, nu se decupează */
.devos-partner-logo__inner img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Imaginea din secțiunea Despre păstrează proporțiile reale */
.devos-about__image { height: auto; }

/* Galeria: elementele au înălțime fixă în grilă, imaginea o umple */
.devos-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* wp_get_attachment_image() adaugă width/height pentru a evita saltul
   de layout; CSS-ul de mai sus trebuie să le poată suprascrie. */
.devos-speaker-card__media img,
.devos-gallery__item img,
.devos-role-card__photo img,
.devos-panelist__avatar--photo img { max-width: none; }


/* =============================================================
   32. DEVOS 16 — DIRECȚIA NOUĂ DE LANDING PAGE

   Componentele cerute în briefingul de conținut: cele 4 axe
   colorate, publicul evenimentului, experiența zilei, tabelul
   comparativ de acces, Team Pass, testimonialele, organizatorii,
   întrebările frecvente și paginile statice (Termeni, GDPR).
   ============================================================= */


/* ─────────────────────────────────────────────────────────────
   32.1 UTILITARE
   ───────────────────────────────────────────────────────────── */

/* Text citit doar de cititoarele de ecran (ex: „Da”/„Nu” din tabel) */
.devos-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Perechea de butoane: cumpără bilet / intră gratuit la Expo */
.devos-dual-cta,
.devos-final-cta__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.devos-container--narrow { max-width: 820px; }


/* ─────────────────────────────────────────────────────────────
   32.2 CELE 4 AXE — o culoare per axă, din paleta brandului

   Traseul Comunitate → Colaborare → Conștientizare → Capitalizare
   urcă pe rampa DEVOS: navy profund, albastru, oliv, lime. Toate
   patru sunt token-uri existente din :root.

   Clasa .devos-axis--* nu pictează nimic singură: setează doar
   variabilele locale, iar componentele (pilon, speaker, program)
   le citesc. Așa aceeași axă arată la fel oriunde apare.

   --devos-axis      culoarea plină (bordură, pastilă, iconiță)
   --devos-axis-on   textul care stă PE culoarea plină
   --devos-axis-ink  textul axei pe fundal deschis
   --devos-axis-soft fundalul discret al etichetei din program
   ───────────────────────────────────────────────────────────── */

.devos-axis--comunitate {
    --devos-axis:      var(--devos-primary);
    --devos-axis-on:   var(--devos-text-white);
    --devos-axis-ink:  var(--devos-primary);
    --devos-axis-soft: rgba(0,31,63,.10);
}
.devos-axis--colaborare {
    --devos-axis:      var(--devos-secondary-light);
    --devos-axis-on:   var(--devos-text-white);
    --devos-axis-ink:  var(--devos-secondary-light);
    --devos-axis-soft: rgba(14,63,102,.12);
}
.devos-axis--constientizare {
    --devos-axis:      var(--devos-accent-2-dark);
    --devos-axis-on:   var(--devos-text-white);
    --devos-axis-ink:  var(--devos-accent-2-dark);
    --devos-axis-soft: rgba(104,137,71,.16);
}
.devos-axis--capitalizare {
    --devos-axis:      var(--devos-accent);
    --devos-axis-on:   var(--devos-primary);
    --devos-axis-ink:  var(--devos-primary);
    --devos-axis-soft: rgba(207,222,75,.28);
}

/* Nodul de pe traseu, tija și segmentul de linie preiau culoarea axei */
.devos-pillar-card[class*="devos-axis--"] .devos-pillar-card__node {
    background: var(--devos-axis);
    color: var(--devos-axis-on);
    box-shadow: 0 0 0 6px var(--devos-bg-white), 0 0 0 7px var(--devos-axis);
}
.devos-pillar-card[class*="devos-axis--"] .devos-pillar-card__node::after {
    background: var(--devos-axis);
}
.devos-pillar-card[class*="devos-axis--"]::before {
    background: linear-gradient(90deg, var(--devos-axis) 0%, var(--devos-border) 85%);
}
.devos-pillar-card[class*="devos-axis--"] .devos-pillar-card__step {
    color: var(--devos-axis-ink);
}

/* Badge-ul de pe cardul de speaker */
.devos-speaker-card[class*="devos-axis--"] .devos-speaker-card__topic {
    background: var(--devos-axis);
    color: var(--devos-axis-on);
}

/* Momentul din program: bară laterală + eticheta axei */
.devos-agenda__card[class*="devos-axis--"] {
    border-left-color: var(--devos-axis);
}
.devos-agenda__card[class*="devos-axis--"] .devos-agenda__card-axis {
    background: var(--devos-axis-soft);
    color: var(--devos-axis-ink);
}


/* ─────────────────────────────────────────────────────────────
   32.3 PENTRU CINE & CU CE PLECI — două coloane de listă
   ───────────────────────────────────────────────────────────── */

/*
 * Fără carduri: cele două coloane sunt texte, despărțite de o linie.
 * Cutiile le dădeau o greutate pe care conținutul nu o cere — sunt
 * două liste scurte, nu două oferte între care alegi.
 */
.devos-audience__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-bottom: 2.5rem;
}

.devos-audience__col { padding-right: clamp(1.5rem, 4vw, 3rem); }

.devos-audience__col--get {
    padding-right: 0;
    padding-left: clamp(1.5rem, 4vw, 3rem);
}

.devos-audience__col-title {
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--devos-primary);
    margin-bottom: 1.25rem;
    letter-spacing: -.01em;
}

.devos-audience__col-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-btn-gradient);
    color: var(--devos-btn-ink);
    font-size: .95rem;
}

.devos-audience__list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.devos-audience__list li {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    font-size: .95rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
}

.devos-audience__list li i {
    flex: 0 0 auto;
    margin-top: .35em;
    font-size: .75rem;
    color: var(--devos-accent-2);
}

/* ─────────────────────────────────────────────────────────────
   32.4 EXPERIENȚA — formatele zilei, pe fundal navy
   ───────────────────────────────────────────────────────────── */

.devos-experience__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin: 0 0 2.5rem;
    padding: 0;
    list-style: none;
}

.devos-experience__item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.35rem 1.25rem;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--devos-radius-md);
}

.devos-experience__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-btn-gradient);
    color: var(--devos-btn-ink);
    font-size: 1rem;
}

.devos-experience__body {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    min-width: 0;
}

.devos-experience__title {
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 800;
    color: var(--devos-text-white);
    line-height: 1.3;
}

.devos-experience__text {
    font-size: .84rem;
    line-height: 1.55;
    color: var(--devos-text-light);
}


/* ─────────────────────────────────────────────────────────────
   32.5 TABELUL COMPARATIV DE ACCES
   ───────────────────────────────────────────────────────────── */

.devos-compare {
    margin-top: clamp(2.75rem, 5vw, 4rem);
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.devos-compare__title {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--devos-primary);
    text-align: center;
    margin-bottom: 1.25rem;
}

/* Pe mobil tabelul se derulează lateral, cu prima coloană fixă */
.devos-compare__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background: var(--devos-bg-white);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    box-shadow: var(--devos-shadow-sm);
}
.devos-compare__scroll:focus-visible {
    outline: 2px solid var(--devos-accent-2);
    outline-offset: 2px;
}

.devos-compare__table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
}

.devos-compare__table th,
.devos-compare__table td {
    padding: .85rem 1rem;
    text-align: center;
    border-bottom: 1px solid var(--devos-border);
}

.devos-compare__table thead th {
    font-family: var(--devos-font-heading);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--devos-primary);
    background: var(--devos-bg-light);
    white-space: nowrap;
}

.devos-compare__rowhead {
    text-align: left !important;
    font-weight: 600;
    color: var(--devos-text-dark);
    background: var(--devos-bg-white);
    position: sticky;
    left: 0;
    z-index: 1;
    min-width: 180px;
}
.devos-compare__table thead .devos-compare__rowhead { background: var(--devos-bg-light); }

.devos-compare__table tbody tr:last-child th,
.devos-compare__table tbody tr:last-child td { border-bottom: 0; }

.devos-compare__table tbody tr:hover td,
.devos-compare__table tbody tr:hover .devos-compare__rowhead { background: rgba(207,222,75,.07); }

.devos-compare__table td.is-yes i { color: var(--devos-accent-2); font-size: .95rem; }
.devos-compare__table td.is-no  i { color: #c3ccd6; font-size: .8rem; }

/* Coloana scoasă în evidență (implicit Full Conference) */
.devos-compare__table th.is-highlight,
.devos-compare__table td.is-highlight {
    background: rgba(207,222,75,.10);
}
.devos-compare__table thead th.is-highlight {
    background: var(--devos-primary);
    color: var(--devos-text-white);
}


/* ─────────────────────────────────────────────────────────────
   32.6 ETAPE DE PREȚ — perioada de valabilitate
   ───────────────────────────────────────────────────────────── */

.devos-price-card__tier-name { flex-wrap: wrap; }

.devos-price-card__tier-period,
.devos-team__tier-period {
    flex-basis: 100%;
    font-size: .68rem;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .02em;
    opacity: .75;
}

.devos-price-card__tier.is-past,
.devos-team__tier.is-past { opacity: .45; }
.devos-price-card__tier.is-past .devos-price-card__tier-price,
.devos-team__tier.is-past .devos-team__tier-price { text-decoration: line-through; }


/* ─────────────────────────────────────────────────────────────
   32.7 TEAM PASS — argument + card de preț
   ───────────────────────────────────────────────────────────── */

.devos-team__grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
}

.devos-team__lead {
    font-size: 1.1rem;
    line-height: 1.55;
    color: var(--devos-accent);
    margin-bottom: 1rem;
}

.devos-team__body {
    font-size: .98rem;
    line-height: 1.75;
    color: var(--devos-text-light);
    margin-bottom: 1rem;
}

.devos-team__points {
    display: flex;
    flex-direction: column;
    gap: .7rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}
.devos-team__points li {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    font-size: .92rem;
    line-height: 1.55;
    color: var(--devos-text-light);
}
.devos-team__points li i {
    flex: 0 0 auto;
    margin-top: .2em;
    color: var(--devos-accent);
}

.devos-team__card {
    background: var(--devos-bg-white);
    border-radius: var(--devos-radius-xl);
    padding: 2.25rem 2rem;
    box-shadow: var(--devos-shadow-lg);
    text-align: center;
}

.devos-team__card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-btn-gradient);
    color: var(--devos-btn-ink);
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.devos-team__card-title {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--devos-primary);
    margin-bottom: .25rem;
}

.devos-team__card-lead {
    font-size: .88rem;
    color: var(--devos-text-muted);
    margin-bottom: 1.5rem;
}

.devos-team__tiers {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
    text-align: left;
}

.devos-team__tier {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    padding: .55rem .75rem;
    border-radius: var(--devos-radius-sm);
    font-size: .82rem;
    color: var(--devos-text-muted);
}
.devos-team__tier.is-active {
    background: rgba(207,222,75,.18);
    color: var(--devos-primary);
    font-weight: 700;
}

.devos-team__tier-name { display: flex; flex-wrap: wrap; align-items: center; gap: .45em; }

.devos-team__tier-now {
    font-family: var(--devos-font-heading);
    font-size: .55rem;
    font-weight: 900;
    font-style: normal;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-primary);
    background: var(--devos-accent);
    border-radius: var(--devos-radius-full);
    padding: .25em .6em;
    line-height: 1;
}

.devos-team__tier-price {
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 800;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.devos-team__tier.is-active .devos-team__tier-price { font-size: 1.2rem; }

.devos-team__note {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    text-align: left;
    font-size: .8rem;
    line-height: 1.55;
    color: var(--devos-text-muted);
    background: var(--devos-bg-light);
    border-radius: var(--devos-radius-md);
    padding: .85rem 1rem;
    margin-bottom: 1.5rem;
}
.devos-team__note i { margin-top: .2em; color: var(--devos-accent-2); }

.devos-team__cta { width: 100%; }


/* ─────────────────────────────────────────────────────────────
   32.8 TESTIMONIALE — citate + video
   ───────────────────────────────────────────────────────────── */

.devos-quotes__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.devos-quote-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 0;
    padding: 2rem 1.75rem 1.75rem;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
}

.devos-quote-card__mark {
    font-size: 1.5rem;
    line-height: 1;
    color: var(--devos-accent);
}

.devos-quote-card__text {
    flex: 1;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: .95rem;
    line-height: 1.7;
    color: var(--devos-text-dark);
}

.devos-quote-card__author {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--devos-border);
}

.devos-quote-card__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 3rem;
    height: 3rem;
    border-radius: var(--devos-radius-full);
    overflow: hidden;
    background: var(--devos-primary);
    color: var(--devos-accent);
    font-family: var(--devos-font-heading);
    font-size: 1.05rem;
    font-weight: 800;
}
.devos-quote-card__avatar--photo { background: var(--devos-border); }
.devos-quote-card__avatar img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center 20%;
}

.devos-quote-card__who { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }

.devos-quote-card__name {
    font-family: var(--devos-font-heading);
    font-size: .95rem;
    font-weight: 800;
    color: var(--devos-primary);
}

.devos-quote-card__role {
    font-size: .8rem;
    color: var(--devos-text-muted);
}

.devos-quotes__videos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2.5rem;
}

.devos-quote-video__body { padding-top: 1rem; }

.devos-quote-video__title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--devos-primary);
    margin-bottom: .2rem;
}

.devos-quote-video__role {
    font-size: .82rem;
    color: var(--devos-text-muted);
    margin: 0;
}


/* ─────────────────────────────────────────────────────────────
   32.9 CINE ORGANIZEAZĂ
   ───────────────────────────────────────────────────────────── */

.devos-organizers__body {
    max-width: var(--devos-text-max);
    margin: 0 auto 2.5rem;
    text-align: center;
}
.devos-organizers__body p {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--devos-text-muted);
    margin-bottom: 1rem;
}
.devos-organizers__body p:last-child { margin-bottom: 0; }

.devos-organizers__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
}

.devos-organizer-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    min-width: 220px;
    padding: 1.75rem 2rem;
    background: var(--devos-bg-white);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    transition: transform var(--devos-transition), box-shadow var(--devos-transition);
}
a.devos-organizer-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--devos-shadow-md);
}

.devos-organizer-card__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
}
.devos-organizer-card__logo img {
    max-width: 180px;
    max-height: 60px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.devos-organizer-card__name-text,
.devos-organizer-card__name {
    font-family: var(--devos-font-heading);
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--devos-primary);
    letter-spacing: -.01em;
}
.devos-organizer-card__name { font-size: .9rem; }

.devos-organizer-card__role {
    font-family: var(--devos-font-heading);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-accent-2);
}


/* ─────────────────────────────────────────────────────────────
   32.10 ÎNTREBĂRI FRECVENTE — acordeon nativ <details>
   ───────────────────────────────────────────────────────────── */

.devos-faq__list {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.devos-faq__item {
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    overflow: hidden;
}

.devos-faq__q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.35rem;
    cursor: pointer;
    list-style: none;
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: var(--devos-primary);
    transition: color var(--devos-transition);
}
.devos-faq__q::-webkit-details-marker { display: none; }
.devos-faq__q:hover { color: var(--devos-accent-2); }
.devos-faq__q:focus-visible {
    outline: 2px solid var(--devos-accent-2);
    outline-offset: -2px;
}

.devos-faq__chevron {
    flex: 0 0 auto;
    font-size: .8rem;
    color: var(--devos-accent-2);
    transition: transform var(--devos-transition);
}
.devos-faq__item[open] .devos-faq__chevron { transform: rotate(180deg); }

.devos-faq__a {
    padding: 0 1.35rem 1.25rem;
}
.devos-faq__a p {
    font-size: .93rem;
    line-height: 1.7;
    color: var(--devos-text-muted);
    margin-bottom: .75rem;
}
.devos-faq__a p:last-child { margin-bottom: 0; }


/* ─────────────────────────────────────────────────────────────
   32.11 PAGINI STATICE — Termeni și condiții, GDPR
   ───────────────────────────────────────────────────────────── */

.devos-page { padding-bottom: var(--devos-section-py); }

.devos-page__header {
    background: var(--devos-primary);
    padding: clamp(7rem, 12vw, 9rem) 0 clamp(2.5rem, 5vw, 3.5rem);
    margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.devos-page__title {
    font-size: clamp(1.9rem, 4vw, 2.9rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: var(--devos-text-white);
}

.devos-page__meta {
    margin-top: .75rem;
    font-size: .82rem;
    color: var(--devos-text-light);
}

.devos-page__thumbnail {
    margin-bottom: 2rem;
    border-radius: var(--devos-radius-lg);
    overflow: hidden;
}
.devos-page__thumbnail img { width: 100%; height: auto; display: block; }

.devos-page__content {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--devos-text-dark);
}

.devos-page__content > * + * { margin-top: 1.1rem; }

.devos-page__content h2 {
    margin-top: 2.5rem;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--devos-primary);
}
.devos-page__content h3 {
    margin-top: 2rem;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--devos-primary);
}

.devos-page__content ul,
.devos-page__content ol { padding-left: 1.35rem; }
.devos-page__content li { margin-bottom: .5rem; }

.devos-page__content a {
    color: var(--devos-accent-2);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.devos-page__content a:hover { color: var(--devos-primary); }

.devos-page__content blockquote {
    border-left: 3px solid var(--devos-accent);
    padding-left: 1.25rem;
    color: var(--devos-text-muted);
    font-style: italic;
}

.devos-page__content table {
    width: 100%;
    border-collapse: collapse;
    font-size: .92rem;
}
.devos-page__content table th,
.devos-page__content table td {
    padding: .65rem .85rem;
    border: 1px solid var(--devos-border);
    text-align: left;
}
.devos-page__content table th { background: var(--devos-bg-light); font-weight: 700; }


/* ─────────────────────────────────────────────────────────────
   32.12 SUBSOL — linkurile legale
   ───────────────────────────────────────────────────────────── */

.devos-footer__legal-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.devos-footer__legal-list a {
    font-size: .8rem;
    color: var(--devos-text-light);
    transition: color var(--devos-transition);
}
.devos-footer__legal-list a:hover { color: var(--devos-accent); }


/* ─────────────────────────────────────────────────────────────
   32.13 RESPONSIVE
   ───────────────────────────────────────────────────────────── */

@media (max-width: 1024px) {
    .devos-experience__grid,
    .devos-quotes__grid,
    .devos-quotes__videos { grid-template-columns: repeat(2, 1fr); }

    .devos-team__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .devos-team__card { max-width: 520px; margin: 0 auto; }
}

@media (max-width: 768px) {
    .devos-audience__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .devos-audience__col,
    .devos-audience__col--get { padding: 0; }

    .devos-experience__grid,
    .devos-quotes__grid,
    .devos-quotes__videos { grid-template-columns: 1fr; }

    .devos-compare__table { font-size: .84rem; }
    .devos-compare__table th,
    .devos-compare__table td { padding: .7rem .8rem; }
    .devos-compare__rowhead { min-width: 150px; }

    .devos-organizer-card { min-width: 100%; }

    .devos-faq__q { font-size: .95rem; padding: 1rem 1.1rem; }
    .devos-faq__a { padding: 0 1.1rem 1.1rem; }

    /* Butoanele duble ocupă toată lățimea, ca să nu se înghesuie */
    .devos-dual-cta .devos-btn,
    .devos-final-cta__actions .devos-btn { width: 100%; }
}

@media (max-width: 480px) {
    .devos-quote-card { padding: 1.5rem 1.25rem 1.35rem; }
    .devos-team__card { padding: 1.75rem 1.35rem; }
}


/* Utilizatorii care cer mai puțină mișcare nu primesc translații */
@media (prefers-reduced-motion: reduce) {
    a.devos-organizer-card:hover { transform: none; }
}


/* =============================================================
   34. BILETELE — paginile WooCommerce

   Nu arată ca un magazin: nu există poze de produs, grile de
   catalog sau taburi. Fiecare pagină e o etapă din rezervarea
   unui loc la eveniment, pe aceleași carduri și culori ca pagina
   de prezentare.
   ============================================================= */

/* ─────────────────────────────────────────────────────────────
   34.1 CADRUL PAGINILOR
   ───────────────────────────────────────────────────────────── */

.devos-shop {
    padding-bottom: var(--devos-section-py);
    background: var(--devos-bg-white);
}

.devos-shop__header {
    position: relative;
    background: var(--devos-primary);
    padding: clamp(7.5rem, 12vw, 10rem) 0 clamp(3rem, 6vw, 4.5rem);
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
    overflow: hidden;
}

/* Aceeași pată de lumină ca în hero, ca paginile să se lege */
.devos-shop__header::after {
    content: '';
    position: absolute;
    inset: auto -10% -60% 55%;
    height: 120%;
    background: radial-gradient(circle at center, var(--devos-axis-soft, rgba(207,222,75,.16)) 0%, transparent 65%);
    pointer-events: none;
}

.devos-shop__title {
    position: relative;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.025em;
    color: var(--devos-text-white);
}

.devos-shop__lead {
    position: relative;
    margin-top: 1rem;
    max-width: 620px;
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--devos-text-light);
}

.devos-shop--single { padding-top: 0; }

.devos-shop .woocommerce-breadcrumb {
    margin-bottom: 2rem;
    padding-top: clamp(7rem, 12vw, 9rem);
    font-size: .8rem;
    letter-spacing: .02em;
    color: var(--devos-text-muted);
}
.devos-shop .woocommerce-breadcrumb a { color: var(--devos-accent-2); }

/* Titlul din arhivă e deja în antet */
.devos-shop .woocommerce-products-header { display: none; }

.devos-hidden-field { display: none !important; }


/* ─────────────────────────────────────────────────────────────
   34.2 BUTOANE
   ───────────────────────────────────────────────────────────── */

.devos-shop .button,
.devos-shop button[type="submit"],
.devos-shop input[type="submit"],
.woocommerce-message .button,
.woocommerce-info .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    font-family: var(--devos-font-heading);
    font-size: .9375rem;
    font-weight: 700;
    letter-spacing: .03em;
    padding: .85em 1.9em;
    border-radius: var(--devos-radius-full);
    border: 2px solid transparent;
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    background-repeat: no-repeat;
    color: var(--devos-btn-ink);
    cursor: pointer;
    text-decoration: none;
    line-height: 1.2;
    transition: all var(--devos-transition);
}
.devos-shop .button:hover,
.devos-shop button[type="submit"]:hover,
.devos-shop input[type="submit"]:hover {
    background: var(--devos-btn-gradient-hover);
    background-origin: border-box;
    color: var(--devos-btn-ink);
    transform: translateY(-2px);
}

.devos-shop .devos-btn--outline,
.devos-shop .button.wc-backward,
.devos-shop .woocommerce-button--previous {
    background: transparent;
    color: var(--devos-primary);
    border-color: var(--devos-primary);
}
.devos-shop .devos-btn--outline:hover,
.devos-shop .button.wc-backward:hover {
    background: var(--devos-primary);
    color: #fff;
}

.devos-shop .button.is-disabled,
.devos-shop .button:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
}


/* ─────────────────────────────────────────────────────────────
   34.3 GRILA DE TIPURI DE ACCES (/bilete)
   ───────────────────────────────────────────────────────────── */

.devos-shop ul.products {
    display: grid;
    /* Trei tipuri de acces plătite + Business Expo, adăugat de
       devos_expo_shop_card() ca al patrulea card al listei. */
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.devos-shop ul.products::before,
.devos-shop ul.products::after { content: none; }

.devos-ticket-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: auto;
    float: none;
    margin: 0;
    padding: 2.25rem 1.6rem 1.75rem;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    text-align: left;
}

/* Cardul evidențiat: navy, ca în pagina de prezentare */
.devos-ticket-card--featured {
    background: var(--devos-primary);
    border-color: transparent;
    box-shadow: var(--devos-shadow-lg);
}

.devos-ticket-card__flag {
    position: absolute;
    top: -.7rem;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-family: var(--devos-font-heading);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-primary);
    background: var(--devos-accent);
    border-radius: var(--devos-radius-full);
    padding: .4em .9em;
    line-height: 1;
}

.devos-ticket-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    color: var(--devos-btn-ink);
    font-size: 1.05rem;
    margin-bottom: 1rem;
}

.devos-ticket-card__name {
    font-family: var(--devos-font-heading);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.01em;
    margin: 0 0 .5rem;
    padding: 0;
}
.devos-ticket-card__name a { color: var(--devos-primary); }
.devos-ticket-card--featured .devos-ticket-card__name a { color: var(--devos-text-white); }

.devos-ticket-card__lead {
    font-size: .88rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
    margin: 0 0 1.25rem;
}
.devos-ticket-card--featured .devos-ticket-card__lead { color: var(--devos-text-light); }

.devos-ticket-card__price {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    padding: 1.1rem 0;
    margin-bottom: 1.25rem;
    border-top: 1px solid var(--devos-border);
    border-bottom: 1px solid var(--devos-border);
}
.devos-ticket-card--featured .devos-ticket-card__price { border-color: rgba(255,255,255,.16); }

.devos-ticket-card__tier {
    align-self: flex-start;
    font-family: var(--devos-font-heading);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-primary);
    background: var(--devos-accent);
    border-radius: var(--devos-radius-full);
    padding: .35em .8em;
    line-height: 1;
}

.devos-ticket-card__amount {
    font-family: var(--devos-font-heading);
    font-size: 1.9rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.02em;
    color: var(--devos-primary);
}
.devos-ticket-card--featured .devos-ticket-card__amount { color: var(--devos-accent); }
.devos-ticket-card--free .devos-ticket-card__amount { color: var(--devos-accent-2); }
.devos-ticket-card__amount .amount { font-weight: 900; }
.devos-ticket-card__amount del { opacity: .4; font-size: .55em; font-weight: 600; }
.devos-ticket-card__amount ins { text-decoration: none; }

.devos-ticket-card__vat {
    font-size: .72rem;
    letter-spacing: .02em;
    color: var(--devos-text-muted);
}
.devos-ticket-card--featured .devos-ticket-card__vat { color: rgba(255,255,255,.55); }

.devos-ticket-card__includes {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
}
.devos-ticket-card__includes li {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    font-size: .85rem;
    line-height: 1.5;
    color: var(--devos-text-muted);
}
.devos-ticket-card--featured .devos-ticket-card__includes li { color: var(--devos-text-light); }
.devos-ticket-card__includes li i {
    flex: 0 0 auto;
    margin-top: .25em;
    font-size: .7rem;
    color: var(--devos-accent-2);
}
.devos-ticket-card--featured .devos-ticket-card__includes li i { color: var(--devos-accent); }

/* Ce include biletul la care trimite linia de deasupra.
   Fără linie verticală: lipită de text arăta ca o greșeală de
   randare. Un punct mic spune același lucru, mai discret. */
.devos-ticket-card__sub {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    margin: .45rem 0 0;
    padding: 0;
    list-style: none;
}
.devos-ticket-card__sub li {
    position: relative;
    padding-left: .85rem;
    font-size: .79rem;
    line-height: 1.45;
    color: var(--devos-text-muted);
    opacity: .85;
}
.devos-ticket-card__sub li::before {
    content: '';
    position: absolute;
    top: .62em;
    left: 0;
    width: .25rem;
    height: .25rem;
    border-radius: var(--devos-radius-full);
    background: currentColor;
    opacity: .5;
}
.devos-ticket-card--featured .devos-ticket-card__sub li { color: rgba(255,255,255,.62); opacity: 1; }

.devos-ticket-card__exclude {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: 0 0 1.25rem;
    font-size: .78rem;
    line-height: 1.5;
    color: var(--devos-text-muted);
}
.devos-ticket-card__exclude i { flex: 0 0 auto; margin-top: .2em; color: #c89a3c; }

.devos-ticket-card__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    margin-top: auto;
}
.devos-ticket-card__cta { width: 100%; }
.devos-ticket-card--featured .devos-btn--outline {
    background: transparent;
    color: var(--devos-text-white);
    border-color: rgba(255,255,255,.4);
}
.devos-ticket-card--featured .devos-btn--outline:hover { background: #fff; color: var(--devos-primary); }

.devos-ticket-card__details {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-family: var(--devos-font-heading);
    font-size: .78rem;
    font-weight: 700;
    color: var(--devos-text-muted);
}
.devos-ticket-card__details:hover { color: var(--devos-accent-2); }
.devos-ticket-card--featured .devos-ticket-card__details { color: rgba(255,255,255,.65); }

.devos-ticket-card--sold-out { opacity: .6; }

/* WooCommerce mai injectează câte un element; le ascundem */
.devos-ticket-card .added_to_cart { display: none; }


/* ─────────────────────────────────────────────────────────────
   34.4 PAGINA UNUI TIP DE ACCES
   ───────────────────────────────────────────────────────────── */

.devos-ticket-single {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
}

.devos-ticket-single__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--devos-font-heading);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--devos-accent-2);
    margin-bottom: .9rem;
}

.devos-ticket-single__title {
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.025em;
    color: var(--devos-primary);
    margin-bottom: .9rem;
}

/* Datele evenimentului */
.devos-ticket-single__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 0 2.5rem;
    padding: 1.5rem;
    list-style: none;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
}
.devos-ticket-single__meta li { display: flex; align-items: flex-start; gap: .85rem; }
.devos-ticket-single__meta li i {
    flex: 0 0 auto;
    width: 2.1rem;
    height: 2.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--devos-radius-sm);
    background: var(--devos-bg-white);
    color: var(--devos-accent-2);
    font-size: .85rem;
}
.devos-ticket-single__meta li span { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.devos-ticket-single__meta li strong {
    font-family: var(--devos-font-heading);
    font-size: .92rem;
    font-weight: 800;
    color: var(--devos-primary);
    line-height: 1.3;
}
.devos-ticket-single__meta li em {
    font-style: normal;
    font-size: .78rem;
    color: var(--devos-text-muted);
    line-height: 1.4;
}

.devos-ticket-single__body {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--devos-text-muted);
}
.devos-ticket-single__body p { margin-bottom: 1rem; }
.devos-ticket-single__body p:last-child { margin-bottom: 0; }

/* Descrierea vine din editor, deci trece prin resetul de liste al
   temei și ieșea ca un bloc de rânduri lipite, fără marcatori. */
.devos-ticket-single__body h3 {
    margin: 1.75rem 0 .75rem;
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
    color: var(--devos-primary);
}
.devos-ticket-single__body h3:first-child { margin-top: 0; }

.devos-ticket-single__body ul {
    display: grid;
    gap: .45rem;
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}
.devos-ticket-single__body ul:last-child { margin-bottom: 0; }

.devos-ticket-single__body li {
    position: relative;
    padding-left: 1.5rem;
    line-height: 1.6;
}
.devos-ticket-single__body li::before {
    content: '';
    position: absolute;
    top: .65em;
    left: .3rem;
    width: .35rem;
    height: .35rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-accent-2);
}

.devos-ticket-single__body strong { color: var(--devos-primary); }

/* Panoul de cumpărare */
.devos-ticket-single__buy {
    position: sticky;
    /* Rămâne lipit la derulare, dar la 1.5rem sub meniu, nu de el.
       Înălțimea meniului o scrie JS-ul în `--devos-header-h`, fiindcă
       se schimbă la derulare; valoarea de rezervă acoperă momentul de
       dinainte ca JS-ul să ruleze. */
    top: calc(var(--devos-header-h, 4.25rem) + 1.5rem);
    background: var(--devos-primary);
    border-radius: var(--devos-radius-xl);
    padding: 2rem 1.75rem;
    box-shadow: var(--devos-shadow-lg);
}

.devos-ticket-single__price {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255,255,255,.16);
}
.devos-ticket-single__tier {
    align-self: flex-start;
    font-family: var(--devos-font-heading);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-primary);
    background: var(--devos-accent);
    border-radius: var(--devos-radius-full);
    padding: .38em .9em;
    line-height: 1;
}
.devos-ticket-single__amount {
    font-family: var(--devos-font-heading);
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--devos-accent);
}
.devos-ticket-single__amount del { opacity: .4; font-size: .45em; }
.devos-ticket-single__amount ins { text-decoration: none; }
.devos-ticket-single__note { font-size: .78rem; color: rgba(255,255,255,.6); }

.devos-ticket-single__includes {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}
.devos-ticket-single__includes li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-size: .88rem;
    line-height: 1.5;
    color: var(--devos-text-light);
}
.devos-ticket-single__includes li i { flex: 0 0 auto; margin-top: .25em; font-size: .72rem; color: var(--devos-accent); }

/* Ce include biletul la care trimite linia de deasupra */
.devos-ticket-single__sub {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin: .5rem 0 0;
    padding: 0;
    list-style: none;
}
.devos-ticket-single__sub li {
    position: relative;
    padding-left: .9rem;
    font-size: .82rem;
    line-height: 1.45;
    color: rgba(255,255,255,.62);
}
.devos-ticket-single__sub li::before {
    content: '';
    position: absolute;
    top: .62em;
    left: 0;
    width: .25rem;
    height: .25rem;
    border-radius: var(--devos-radius-full);
    background: currentColor;
    opacity: .6;
}

.devos-ticket-single__exclude {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin: 0 0 1.5rem;
    padding: .85rem 1rem;
    background: rgba(255,255,255,.06);
    border-radius: var(--devos-radius-md);
    font-size: .78rem;
    line-height: 1.5;
    color: rgba(255,255,255,.75);
}
.devos-ticket-single__exclude i { flex: 0 0 auto; margin-top: .15em; color: var(--devos-accent); }

.devos-ticket-single__scarcity {
    margin: 0 0 1rem;
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--devos-accent);
}

.devos-ticket-single .cart {
    /* Înălțimea se declară o dată și o iau amândouă. Lăsate pe seama
       padding-ului și a metricii fontului, caseta de cantitate și
       butonul ieșeau mereu cu câțiva pixeli diferență. */
    --devos-cta-h: 3rem;

    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: .75rem;
    margin: 0;
}
.devos-ticket-single .quantity {
    flex: 0 0 auto;
    height: var(--devos-cta-h);
    min-height: 0;
}
.devos-ticket-single .quantity input.qty {
    width: 4.5rem;
    padding: .85rem .5rem;
    text-align: center;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: var(--devos-radius-full);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-family: var(--devos-font-heading);
    font-weight: 800;
}
.devos-ticket-single .single_add_to_cart_button { flex: 1 1 auto; }


/* ─────────────────────────────────────────────────────────────
   34.5 COȘ, FINALIZARE, CONT
   ───────────────────────────────────────────────────────────── */

.devos-shop table.shop_table,
.devos-shop table.woocommerce-orders-table,
.devos-shop table.woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    overflow: hidden;
    font-size: .93rem;
    margin-bottom: 2rem;
    background: var(--devos-bg-white);
}

.devos-shop table.shop_table th,
.devos-shop table.woocommerce-orders-table th,
.devos-shop table.woocommerce-table--order-details th {
    background: var(--devos-bg-light);
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--devos-primary);
    text-align: left;
    padding: .95rem 1.1rem;
    border-bottom: 1px solid var(--devos-border);
}

.devos-shop table.shop_table td,
.devos-shop table.woocommerce-orders-table td,
.devos-shop table.woocommerce-table--order-details td {
    padding: 1.1rem;
    border-bottom: 1px solid var(--devos-border);
    vertical-align: middle;
}
.devos-shop table.shop_table tbody tr:last-child td { border-bottom: 0; }

.devos-shop td.product-name a {
    font-family: var(--devos-font-heading);
    font-weight: 800;
    color: var(--devos-primary);
}
.devos-shop td.product-thumbnail { display: none; }
.devos-shop th.product-thumbnail { display: none; }

/* Câmpurile de nume per bilet, adăugate de modulul de bilete */
.devos-shop .cart_item .variation,
.devos-shop td.product-name p,
.devos-shop td.product-name label {
    font-size: .82rem;
    color: var(--devos-text-muted);
}
.devos-shop td.product-name input[type="text"] { max-width: 320px; margin-top: .35rem; }

.devos-shop .cart_totals h2,
.devos-shop .woocommerce-checkout-review-order h3,
.devos-shop #order_review_heading,
.devos-shop .woocommerce-billing-fields h3,
.devos-shop .woocommerce-additional-fields h3,
.devos-shop .woocommerce-column__title,
.devos-shop .woocommerce-order-details__title,
.devos-shop .woocommerce-customer-details h2 {
    font-family: var(--devos-font-heading);
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--devos-primary);
    margin-bottom: 1.1rem;
}

.devos-shop .cart-collaterals { max-width: 460px; margin-left: auto; }
.devos-shop .cart-collaterals .cross-sells { display: none; }

.devos-shop form.checkout.woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(2rem, 4vw, 3rem);
    align-items: start;
}
.devos-shop form.checkout #customer_details { grid-column: 1; }
.devos-shop form.checkout #order_review_heading,
.devos-shop form.checkout #order_review { grid-column: 2; }
.devos-shop form.checkout .col2-set .col-1,
.devos-shop form.checkout .col2-set .col-2 { width: auto; float: none; }

.devos-shop .woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1rem;
}
.devos-shop .form-row-wide { grid-column: 1 / -1; }

.devos-shop .form-row { display: flex; flex-direction: column; margin: 0 0 1.1rem; padding: 0; width: auto; }
.devos-shop .form-row label {
    font-size: .85rem;
    font-weight: 600;
    color: var(--devos-primary);
    margin-bottom: .35rem;
}
.devos-shop .form-row .required { color: #c3543c; text-decoration: none; }
.devos-shop .form-row .description { font-size: .78rem; color: var(--devos-text-muted); margin-top: .3rem; }

.devos-shop input[type="text"],
.devos-shop input[type="email"],
.devos-shop input[type="tel"],
.devos-shop input[type="password"],
.devos-shop input[type="number"],
.devos-shop textarea,
.devos-shop select,
.devos-shop .select2-container .select2-selection--single {
    width: 100%;
    padding: .8rem .95rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-sm);
    background: var(--devos-bg-white);
    font-family: var(--devos-font-body);
    font-size: .95rem;
    color: var(--devos-text-dark);
    transition: border-color var(--devos-transition), box-shadow var(--devos-transition);
}
.devos-shop input:focus,
.devos-shop textarea:focus,
.devos-shop select:focus {
    outline: none;
    border-color: var(--devos-accent-2);
    box-shadow: 0 0 0 3px rgba(104,137,71,.15);
}

.devos-shop .woocommerce-checkout-review-order,
.devos-shop .cart_totals {
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    padding: 1.75rem;
}
.devos-shop .woocommerce-checkout-review-order table.shop_table,
.devos-shop .cart_totals table.shop_table {
    border: 0;
    margin-bottom: 1.25rem;
    background: transparent;
}
.devos-shop .woocommerce-checkout-review-order table.shop_table th,
.devos-shop .cart_totals table.shop_table th { background: transparent; }

.devos-shop .order-total .amount,
.devos-shop .cart_totals .order-total .amount {
    font-family: var(--devos-font-heading);
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--devos-primary);
}

.devos-shop #place_order,
.devos-shop .checkout-button { width: 100%; }

.devos-shop .wc_payment_methods { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.devos-shop .wc_payment_method label { font-weight: 700; color: var(--devos-primary); }
.devos-shop .payment_box {
    background: var(--devos-bg-white);
    border-radius: var(--devos-radius-md);
    padding: .9rem 1rem;
    margin: .5rem 0 0;
    font-size: .85rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
}

.devos-shop .woocommerce-message,
.devos-shop .woocommerce-info,
.devos-shop .woocommerce-error,
.devos-shop .woocommerce-notice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    list-style: none;
    margin: 0 0 1.75rem;
    padding: 1rem 1.25rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-light);
    font-size: .93rem;
    color: var(--devos-text-dark);
}
.devos-shop .woocommerce-message::before,
.devos-shop .woocommerce-info::before,
.devos-shop .woocommerce-error::before { content: none; }
.devos-shop .woocommerce-message .button,
.devos-shop .woocommerce-info .button { margin-left: auto; }

/* Mulțumim / comanda primită */
.devos-shop .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1rem;
    margin: 0 0 2.5rem;
    padding: 1.5rem;
    list-style: none;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
}
.devos-shop .woocommerce-order-overview li {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    border: 0;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
}
.devos-shop .woocommerce-order-overview li strong {
    font-family: var(--devos-font-heading);
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
    color: var(--devos-primary);
}

/* Contul meu */
.devos-shop .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0 0 2.25rem;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid var(--devos-border);
    list-style: none;
}
.devos-shop .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: .55rem 1.1rem;
    border-radius: var(--devos-radius-full);
    font-family: var(--devos-font-heading);
    font-size: .85rem;
    font-weight: 700;
    color: var(--devos-text-muted);
    transition: background var(--devos-transition), color var(--devos-transition);
}
.devos-shop .woocommerce-MyAccount-navigation li a:hover { background: var(--devos-bg-light); color: var(--devos-primary); }
.devos-shop .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--devos-primary);
    color: var(--devos-text-white);
}
.devos-shop .woocommerce-MyAccount-content { font-size: .98rem; line-height: 1.75; color: var(--devos-text-muted); }
.devos-shop .woocommerce-MyAccount-content a:not(.devos-btn):not(.button) {
    color: var(--devos-accent-2);
    font-weight: 600;
}

/* Cele două carduri — autentificare și înregistrare — umplu coloana
   în care stau, până la o lățime la care un formular rămâne comod de
   citit. Peste ea se centrează. Înainte aveau doar `max-width: 460px`,
   fără centrare: într-o coloană de 549px cardul stătea agățat de
   marginea din stânga, cu un gol în dreapta. */
.devos-shop .woocommerce form.woocommerce-form-login,
.devos-shop .woocommerce form.woocommerce-form-register {
    width: auto;
    max-width: none;
    margin: 1.5rem 0 0;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    padding: 1.9rem;
}
.devos-shop .u-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
.devos-shop .u-column1, .devos-shop .u-column2 { width: auto; float: none; }

/* WooCommerce așază cele două coloane cu `float` și le strânge cu un
   clearfix făcut din pseudo-elemente. Într-o grilă, pseudo-elementele
   devin ele însele celule: împingeau autentificarea în coloana din
   dreapta și înregistrarea pe rândul de dedesubt, fiecare la 47% din
   celula ei. Le scoatem din grilă, iar lățimile în procente nu mai au
   ce căuta acolo — celula le dă singură. */
.devos-shop .woocommerce .col2-set::before,
.devos-shop .woocommerce .col2-set::after {
    content: none;
    display: none;
}
.devos-shop .woocommerce .col2-set > .col-1,
.devos-shop .woocommerce .col2-set > .col-2 {
    width: auto;
    float: none;
}

/* Perechea de carduri stă centrată în pagină și nu se lățește la
   nesfârșit: un formular de autentificare cât jumătate de ecran e
   greu de parcurs din ochi. */
.devos-shop .woocommerce #customer_login {
    max-width: 960px;
    margin-inline: auto;
}


/* ─────────────────────────────────────────────────────────────
   34.6 RESPONSIVE
   ───────────────────────────────────────────────────────────── */

@media (max-width: 1200px) {
    .devos-shop ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
    .devos-ticket-single { grid-template-columns: 1fr; }
    .devos-ticket-single__buy { position: static; }
    .devos-shop form.checkout.woocommerce-checkout { grid-template-columns: 1fr; }
    .devos-shop form.checkout #customer_details,
    .devos-shop form.checkout #order_review_heading,
    .devos-shop form.checkout #order_review { grid-column: 1; }
    .devos-shop .cart-collaterals { max-width: none; }
}

@media (max-width: 768px) {
    .devos-shop ul.products { grid-template-columns: 1fr; }
    .devos-ticket-single__meta { grid-template-columns: 1fr; }
    .devos-shop .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
    .devos-shop .u-columns { grid-template-columns: 1fr; }

    .devos-shop table.shop_table thead { display: none; }
    .devos-shop table.shop_table tr { display: block; border-bottom: 1px solid var(--devos-border); }
    .devos-shop table.shop_table td {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        border: 0;
        padding: .6rem 1.1rem;
        text-align: right;
    }
    .devos-shop table.shop_table td::before {
        content: attr(data-title);
        font-weight: 700;
        color: var(--devos-primary);
        text-align: left;
    }
    .devos-shop table.shop_table td.product-remove::before { content: none; }
}


/* ─────────────────────────────────────────────────────────────
   34.7 CORECȚII PESTE CSS-UL WOOCOMMERCE

   WooCommerce își încarcă foaia de stil cu selectori de trei clase
   („.woocommerce ul.products li.product”) și cu ordine de încărcare
   care nu e garantată. Regulile de mai jos folosesc o specificitate
   mai mare, ca să câștige indiferent de ordine.
   ───────────────────────────────────────────────────────────── */

/* Cardurile erau strivite la 22% lățime, cu text pe un cuvânt pe rând:
   WooCommerce pune float și width fixe pe fiecare produs din grilă. */
.devos-shop ul.products li.product.devos-ticket-card {
    float: none;
    clear: none;
    width: auto;
    margin: 0;
    padding: 2.25rem 1.6rem 1.75rem;
}
.devos-shop ul.products::after,
.devos-shop ul.products::before { display: none; }

.devos-shop ul.products li.product.devos-ticket-card .devos-ticket-card__name,
.devos-shop ul.products li.product.devos-ticket-card h2 {
    font-size: 1.15rem;
    padding: 0;
    margin: 0 0 .5rem;
}
.devos-shop ul.products li.product.devos-ticket-card .devos-ticket-card__amount {
    font-size: 1.9rem;
    color: var(--devos-primary);
}
.devos-shop ul.products li.product.devos-ticket-card.devos-ticket-card--featured .devos-ticket-card__amount { color: var(--devos-accent); }
.devos-shop ul.products li.product.devos-ticket-card.devos-ticket-card--free .devos-ticket-card__amount { color: var(--devos-accent-2); }
.devos-shop ul.products li.product.devos-ticket-card .price { margin: 0; font-size: inherit; color: inherit; }

/* Butonul „Continuă spre plată” venea mov: WooCommerce colorează
   separat butoanele .alt cu culoarea lui de brand. */
.devos-shop a.button.alt,
.devos-shop button.button.alt,
.devos-shop input.button.alt,
.devos-shop #respond input#submit.alt,
.devos-shop .wc-proceed-to-checkout a.checkout-button,
.devos-shop #place_order {
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    background-repeat: no-repeat;
    color: var(--devos-btn-ink);
    border-color: transparent;
    text-shadow: none;
}
.devos-shop a.button.alt:hover,
.devos-shop button.button.alt:hover,
.devos-shop input.button.alt:hover,
.devos-shop .wc-proceed-to-checkout a.checkout-button:hover,
.devos-shop #place_order:hover {
    background: var(--devos-btn-gradient-hover);
    background-origin: border-box;
    color: var(--devos-btn-ink);
}

.devos-shop .wc-proceed-to-checkout { padding: 0; }
.devos-shop .wc-proceed-to-checkout a.checkout-button {
    display: flex;
    width: 100%;
    font-size: 1rem;
    padding: 1em 1.5em;
    margin: 0;
}

/* Firul de navigare: spațiul mare de sus e necesar doar pe pagina unui
   bilet, unde nu există antetul navy. */
.devos-shop .woocommerce-breadcrumb { padding-top: 0; margin-bottom: 1.5rem; }
.devos-shop--single .woocommerce-breadcrumb { padding-top: clamp(7rem, 12vw, 9rem); }

/* Cuponul: câmpul era cât un cuvânt. */
.devos-shop .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: center;
}
.devos-shop .coupon label { display: none; }
.devos-shop .coupon input#coupon_code {
    width: auto;
    min-width: 220px;
    flex: 0 1 260px;
}
.devos-shop .actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.1rem;
}
.devos-shop .actions > .button[name="update_cart"] {
    background: transparent;
    color: var(--devos-primary);
    border-color: var(--devos-border);
}
.devos-shop .actions > .button[name="update_cart"]:hover {
    background: var(--devos-primary);
    color: #fff;
    border-color: transparent;
}

/* Finalizarea: rezumatul rămânea sub titlul lui, pe un rând nou. */
.devos-shop form.checkout.woocommerce-checkout {
    grid-template-rows: auto 1fr;
}
.devos-shop form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.devos-shop form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; }
.devos-shop form.checkout #order_review { grid-column: 2; grid-row: 2; }

/* Câmpul de țară e ascuns, dar WooCommerce îi mai lasă un rând gol. */
.devos-shop .form-row.devos-hidden-field,
.devos-shop #billing_country_field { display: none !important; }

/* Titlurile formularului */
.devos-shop .woocommerce-billing-fields > h3,
.devos-shop .woocommerce-additional-fields > h3 {
    font-family: var(--devos-font-heading);
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--devos-primary);
    margin: 0 0 1.25rem;
}
.devos-shop .woocommerce-additional-fields { margin-top: 2rem; }

/* Rezumatul comenzii din finalizare: un card, nu un tabel gol */
.devos-shop .woocommerce-checkout-review-order table.shop_table td,
.devos-shop .woocommerce-checkout-review-order table.shop_table th {
    padding: .75rem 0;
    border-bottom: 1px solid var(--devos-border);
}
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr:last-child td,
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr:last-child th { border-bottom: 0; }

/* Pagina de bilet: antet navy, ca restul magazinului */
.devos-shop--single .devos-ticket-single { margin-top: 0; }

/* Mesajul „produs adăugat în coș” de pe pagina unui bilet */
.devos-shop--single .woocommerce-message { margin-top: 0; }

/* Tabelul din coș: numele participantului sub titlul biletului */
.devos-shop td.product-name .devos-ticket-name-field { margin-top: .5rem; }
.devos-shop td.product-name input.input-text {
    max-width: 320px;
    margin-top: .35rem;
    padding: .6rem .8rem;
    font-size: .9rem;
}

/* Cantitatea din coș */
.devos-shop td.product-quantity .quantity input.qty {
    width: 4.5rem;
    padding: .6rem .4rem;
    text-align: center;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-sm);
    font-family: var(--devos-font-heading);
    font-weight: 700;
}

/* „×” de ștergere, ca buton discret */
.devos-shop td.product-remove a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-light);
    color: var(--devos-text-muted) !important;
    font-size: 1.1rem;
    line-height: 1;
    text-decoration: none;
}
.devos-shop td.product-remove a.remove:hover {
    background: #c3543c;
    color: #fff !important;
}

/* Numărul de bilete din antet */
.devos-header__cta--cart { gap: .55rem; }
.devos-header__cta-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 .35rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-primary);
    color: var(--devos-accent);
    font-size: .72rem;
    font-weight: 900;
    line-height: 1;
}


/* ─────────────────────────────────────────────────────────────
   34.8 ANTET OPAC, CANTITATE ȘI RECOMANDĂRI
   ───────────────────────────────────────────────────────────── */

/*
 * Pe landing page antetul e transparent, pentru că stă peste fotografia
 * din hero. Pe paginile de bilete nu are ce sta dedesubt, deci logo-ul
 * și meniul ieșeau albe pe alb. Aici e opac din start.
 */
.devos-shop-page .devos-header,
.devos-page-light .devos-header {
    background: var(--devos-primary);
    box-shadow: 0 1px 0 rgba(255,255,255,.06);
}
.devos-shop-page .devos-header.is-scrolled,
.devos-page-light .devos-header.is-scrolled {
    background: rgba(0,31,63,.97);
    box-shadow: 0 4px 24px rgba(0,0,0,.2);
}

/* Conținutul începe sub antetul fix */
.devos-shop-page .devos-shop--single .woocommerce-breadcrumb { padding-top: 7.5rem; }

/*
 * Câmpul de cantitate: săgețile native apăreau doar la hover și săreau
 * în lățime. Le scoatem și punem butoane proprii, vizibile mereu.
 */
.devos-shop input[type="number"]::-webkit-outer-spin-button,
.devos-shop input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.devos-shop input[type="number"] { -moz-appearance: textfield; appearance: textfield; }

.devos-qty {
    display: inline-flex;
    align-items: stretch;
    border-radius: var(--devos-radius-full);
    overflow: hidden;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.22);
}
.devos-ticket-single .devos-qty { height: var(--devos-cta-h); min-height: 0; }

.devos-ticket-single .devos-qty .qty,
.devos-ticket-single .devos-qty input.qty {
    width: 2.75rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0 .1rem;
}
.devos-qty__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    border: 0;
    background: transparent;
    color: #fff;
    font-family: var(--devos-font-heading);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: background var(--devos-transition), color var(--devos-transition);
}
.devos-qty__btn:hover { background: var(--devos-accent); color: var(--devos-primary); }
.devos-qty__btn:disabled { opacity: .35; cursor: not-allowed; background: transparent; color: #fff; }

/* Aceleași butoane, pe fundal deschis (coșul) */
.devos-shop td.product-quantity .devos-qty {
    background: var(--devos-bg-white);
    border-color: var(--devos-border);
}
.devos-shop td.product-quantity .devos-qty__btn { color: var(--devos-primary); }
.devos-shop td.product-quantity .devos-qty input.qty {
    width: 2.75rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: .6rem .1rem;
}

/* ---- Celelalte tipuri de acces ---- */

.devos-upsell {
    margin-top: clamp(3rem, 7vw, 5rem);
    padding-top: clamp(2.5rem, 5vw, 3.5rem);
    border-top: 1px solid var(--devos-border);
}

.devos-upsell__head { margin-bottom: 2rem; }

.devos-upsell__title {
    font-size: clamp(1.4rem, 2.6vw, 1.9rem);
    font-weight: 900;
    letter-spacing: -.02em;
    color: var(--devos-primary);
    margin-bottom: .4rem;
}
.devos-upsell__lead { font-size: .95rem; color: var(--devos-text-muted); margin: 0; }

/*
 * O coloana, oricate variante ar fi. Asezate pe rand, se compara pe
 * verticala — ochiul merge in jos pe preturi si pe ce include fiecare,
 * fara sa sara dintr-un card inalt in altul.
 */
.devos-upsell__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.devos-upsell__card {
    display: flex;
    flex-direction: column;
    padding: 1.6rem 1.35rem;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
}
.devos-upsell__card--featured {
    background: var(--devos-primary);
    border-color: transparent;
}

.devos-upsell__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    color: var(--devos-btn-ink);
    font-size: .95rem;
    margin-bottom: .9rem;
}

.devos-upsell__name {
    font-family: var(--devos-font-heading);
    font-size: 1.05rem;
    font-weight: 800;
    margin-bottom: .4rem;
}
.devos-upsell__name a { color: var(--devos-primary); }
.devos-upsell__card--featured .devos-upsell__name a { color: var(--devos-text-white); }

.devos-upsell__card-lead {
    font-size: .84rem;
    line-height: 1.55;
    color: var(--devos-text-muted);
    margin: 0 0 1rem;
}
.devos-upsell__card--featured .devos-upsell__card-lead { color: var(--devos-text-light); }

.devos-upsell__price {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin-bottom: 1rem;
}
.devos-upsell__tier {
    align-self: flex-start;
    font-family: var(--devos-font-heading);
    font-size: .55rem;
    font-weight: 900;
    font-style: normal;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-primary);
    background: var(--devos-accent);
    border-radius: var(--devos-radius-full);
    padding: .35em .8em;
    line-height: 1;
}
.devos-upsell__price strong {
    font-family: var(--devos-font-heading);
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: -.02em;
    color: var(--devos-primary);
}
.devos-upsell__card--featured .devos-upsell__price strong { color: var(--devos-accent); }

.devos-upsell__includes {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
}
.devos-upsell__includes li {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    font-size: .8rem;
    line-height: 1.45;
    color: var(--devos-text-muted);
}
.devos-upsell__card--featured .devos-upsell__includes li { color: var(--devos-text-light); }
.devos-upsell__includes li i { flex: 0 0 auto; margin-top: .25em; font-size: .65rem; color: var(--devos-accent-2); }
.devos-upsell__card--featured .devos-upsell__includes li i { color: var(--devos-accent); }

.devos-upsell__cta { margin-top: auto; width: 100%; }
.devos-upsell__card--featured .devos-btn--outline {
    color: var(--devos-text-white);
    border-color: rgba(255,255,255,.4);
}
.devos-upsell__card--featured .devos-btn--outline:hover { background: #fff; color: var(--devos-primary); }



/* ─────────────────────────────────────────────────────────────
   34.9 NOTIFICĂRI FINE, BUTOANE MAI MICI, RESPIRAȚIE SUB ANTET
   ───────────────────────────────────────────────────────────── */

/*
 * Notificările WooCommerce veneau cât toată lățimea containerului, cu
 * chenar gros. Aici sunt o bandă discretă, îngustă, cu accentul lime
 * pe muchia din stânga și o bifă în loc de chenar.
 */
.devos-shop .woocommerce-message,
.devos-shop .woocommerce-info,
.devos-shop .woocommerce-error,
.devos-shop .woocommerce-notice,
.devos-shop ul.woocommerce-error {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    width: 100%;
    margin: 0 0 2rem;
    padding: .8rem 1.1rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-white);
    font-size: .875rem;
    line-height: 1.5;
    color: var(--devos-text-dark);
    list-style: none;
}

/* Bifa din fața mesajului */
.devos-shop .woocommerce-message::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-accent);
    color: var(--devos-primary);
    font-size: .62rem;
    position: static;
    padding: 0;
    margin: 0;
    top: auto;
    left: auto;
}

.devos-shop .woocommerce-info::before {
    content: '\f05a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    flex: 0 0 auto;
    color: var(--devos-accent-2);
    font-size: .95rem;
    position: static;
    padding: 0;
    margin: 0;
    top: auto;
    left: auto;
}

.devos-shop .woocommerce-error {
    border-color: rgba(195, 84, 60, .35);
}
.devos-shop .woocommerce-error::before {
    content: '\f06a';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    flex: 0 0 auto;
    color: #c3543c;
    font-size: .95rem;
    position: static;
    padding: 0;
    margin: 0;
    top: auto;
    left: auto;
}

/* Butonul din notificare, la fel cu cel din lista de comenzi */
.devos-shop .woocommerce-message .button,
.devos-shop .woocommerce-info .button,
.devos-shop .woocommerce-message a.button.wc-forward,
.devos-shop .woocommerce-info a.button.wc-forward {
    margin-left: auto;
    padding: .45rem 1.1rem;
    border: 1px solid var(--devos-primary);
    border-radius: var(--devos-radius-full);
    background: transparent;
    font-family: var(--devos-font-heading);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    color: var(--devos-primary);
    box-shadow: none;
}
.devos-shop .woocommerce-message .button:hover,
.devos-shop .woocommerce-info .button:hover,
.devos-shop .woocommerce-message a.button.wc-forward:hover {
    background: var(--devos-primary);
    color: #fff;
    transform: none;
}

/* ---- Butoane, în general mai strânse ---- */

.devos-shop .button,
.devos-shop button[type="submit"],
.devos-shop input[type="submit"],
.devos-shop a.button.alt,
.devos-shop .wc-proceed-to-checkout a.checkout-button,
.devos-shop #place_order {
    padding: .7em 1.45em;
    font-size: .875rem;
    letter-spacing: .04em;
}

/* Butoanele care chiar trebuie să fie late rămân late */
.devos-shop .wc-proceed-to-checkout a.checkout-button,
.devos-shop #place_order {
    padding: .85em 1.5em;
    font-size: .9375rem;
}

/* Pe pagina unui bilet, CTA-ul nu se mai întinde inutil */
.devos-ticket-single .single_add_to_cart_button {
    flex: 0 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--devos-cta-h);
    padding: 0 1.6em;
}

/* Cardurile din grilă: buton pe lățimea cardului, dar mai scund */
.devos-shop ul.products li.product.devos-ticket-card .devos-ticket-card__cta {
    padding: .7em 1.2em;
    font-size: .85rem;
}

/* „Aplică” de la cupon și „Actualizează” — discrete */
.devos-shop .coupon .button,
.devos-shop .actions > .button[name="update_cart"] {
    padding: .6em 1.2em;
    font-size: .82rem;
}

/* ---- Respirație între antet și firul de navigare ---- */

.devos-shop-page .devos-shop--single .woocommerce-breadcrumb {
    padding-top: 9.5rem;
    margin-bottom: 2.25rem;
}
.devos-shop-page .devos-shop--single .woocommerce-message,
.devos-shop-page .devos-shop--single .woocommerce-info {
    margin-bottom: 2.5rem;
}

@media (max-width: 768px) {
    .devos-shop-page .devos-shop--single .woocommerce-breadcrumb { padding-top: 7rem; }
    .devos-shop .woocommerce-message .button,
    .devos-shop .woocommerce-info .button { margin-left: 0; }
}

/*
 * WooCommerce pune butonul ÎNAINTEA textului în DOM și îl împinge la
 * dreapta cu float. Într-un container flex float-ul nu are efect, deci
 * fixăm ordinea explicit: bifă, text, buton.
 */
.devos-shop .woocommerce-message::before,
.devos-shop .woocommerce-info::before,
.devos-shop .woocommerce-error::before { order: 0; }

.devos-shop .woocommerce-message .button,
.devos-shop .woocommerce-info .button,
.devos-shop .woocommerce-message a.button.wc-forward,
.devos-shop .woocommerce-info a.button.wc-forward { order: 2; float: none; }


/* ─────────────────────────────────────────────────────────────
   34.10 NOTIFICĂRI CA TOAST

   O bandă discretă în colțul din dreapta jos: un rând de text și
   un link. Fără chenar, fără umbră, fără iconiță. Coșul și
   finalizarea fac excepție — acolo sunt erori de validare, legate
   de câmpul de alături, deci rămân în pagină.
   ───────────────────────────────────────────────────────────── */

.devos-toasts {
    position: fixed;
    left: clamp(1rem, 3vw, 2rem);
    bottom: clamp(1rem, 3vw, 2rem);
    z-index: 1250;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .4rem;
    max-width: min(26rem, calc(100vw - 2rem));
    pointer-events: none;
}

.devos-toasts .woocommerce-message,
.devos-toasts .woocommerce-info,
.devos-toasts .woocommerce-error,
.devos-toasts ul.woocommerce-error {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: auto;
    max-width: calc(100vw - 2rem);
    margin: 0;
    padding: .55rem .9rem;
    border: 0;
    border-radius: var(--devos-radius-full);
    background: var(--devos-primary);
    box-shadow: none;
    font-size: .8rem;
    line-height: 1.3;
    white-space: nowrap;
    color: var(--devos-text-white);
    list-style: none;
    pointer-events: auto;
    animation: devos-toast-in .28s cubic-bezier(.4,0,.2,1) both;
}

/* Erorile pot fi lungi: le lăsăm să curgă pe mai multe rânduri */
.devos-toasts .woocommerce-error,
.devos-toasts ul.woocommerce-error {
    white-space: normal;
    max-width: min(340px, calc(100vw - 2rem));
    border-radius: var(--devos-radius-md);
    background: #8f3527;
}

/* Fără iconițe */
.devos-toasts .woocommerce-message::before,
.devos-toasts .woocommerce-info::before,
.devos-toasts .woocommerce-error::before { content: none; }

.devos-toast__text { color: rgba(255,255,255,.88); }

/* „Vezi coșul” e link, nu buton */
.devos-toasts .devos-toast__link,
.devos-toasts .button,
.devos-toasts a.button.wc-forward {
    display: inline;
    width: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    float: none;
    /* Aceeași familie și dimensiune ca textul de lângă el: doar
       culoarea îl deosebește, nu tipografia. */
    font-family: inherit;
    font-size: inherit;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--devos-accent);
    text-decoration: none;
    transition: color var(--devos-transition);
}
.devos-toasts .devos-toast__link:hover,
.devos-toasts .button:hover {
    background: none;
    color: #fff;
    transform: none;
}

.devos-toast__close {
    flex: 0 0 auto;
    width: 1.1rem;
    height: 1.1rem;
    margin-left: .15rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.75);
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    transition: color var(--devos-transition);
}
.devos-toast__close:hover { color: var(--devos-accent); background: transparent; }

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

.devos-toasts .is-leaving { animation: devos-toast-out .24s cubic-bezier(.4,0,.2,1) both; }
@keyframes devos-toast-out {
    from { opacity: 1; transform: translateY(0); }
    to   { opacity: 0; transform: translateY(6px); }
}

@media (prefers-reduced-motion: reduce) {
    .devos-toasts .woocommerce-message,
    .devos-toasts .woocommerce-info,
    .devos-toasts .woocommerce-error,
    .devos-toasts .is-leaving { animation: none; }
}


/* ─────────────────────────────────────────────────────────────
   34.11 COȘUL — coloane, câmpuri de participant, totaluri
   ───────────────────────────────────────────────────────────── */

/*
 * Tabelul e cu lățime automată, deci spațiul rămas se ducea în prima
 * coloană: „×” stătea singur într-un gol cât jumătate de ecran.
 * Fixăm lățimile: denumirea ia tot, restul se strâng pe conținut.
 */
.devos-shop table.shop_table th.product-remove,
.devos-shop table.shop_table td.product-remove {
    width: 3.25rem;
    padding-left: 1rem;
    padding-right: 0;
    text-align: center;
}
.devos-shop table.shop_table th.product-name,
.devos-shop table.shop_table td.product-name { width: 100%; }

.devos-shop table.shop_table th.product-price,
.devos-shop table.shop_table td.product-price,
.devos-shop table.shop_table th.product-quantity,
.devos-shop table.shop_table td.product-quantity,
.devos-shop table.shop_table th.product-subtotal,
.devos-shop table.shop_table td.product-subtotal {
    width: 1%;
    white-space: nowrap;
    text-align: right;
}
.devos-shop table.shop_table th.product-quantity,
.devos-shop table.shop_table td.product-quantity { text-align: center; }

.devos-shop table.shop_table td.product-subtotal {
    font-family: var(--devos-font-heading);
    font-weight: 800;
    color: var(--devos-primary);
}

/* ---- Numele participanților ---- */

/*
 * Modulul randează câte o pereche etichetă + câmp pentru fiecare bilet.
 * La 6 bilete ieșea un zid de „Numele participantului”. Le grupăm într-o
 * casetă, cu o singură etichetă deasupra (pusă din JS) și câmpuri
 * numerotate.
 */
.devos-ticket-names {
    margin-top: .85rem;
    padding: .85rem 1rem;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
}

.devos-ticket-names__title {
    display: block;
    font-family: var(--devos-font-heading);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--devos-primary);
    margin-bottom: .15rem;
}

.devos-ticket-names__hint {
    display: block;
    font-size: .78rem;
    line-height: 1.5;
    color: var(--devos-text-muted);
    margin-bottom: .7rem;
}

.devos-ticket-names__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: .6rem;
}

.devos-shop .devos-ticket-names label {
    display: block;
    font-size: .72rem;
    font-weight: 600;
    color: var(--devos-text-muted);
    margin-bottom: .25rem;
}
.devos-shop .devos-ticket-names input.input-text {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: .55rem .75rem;
    font-size: .88rem;
}

/* ---- Rândul de acțiuni: cupon + actualizare ---- */

.devos-shop .actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    justify-content: space-between;
    padding: 1.1rem 1rem;
    background: var(--devos-bg-light);
}
.devos-shop .coupon {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: 0;
    width: auto;
    float: none;
}
.devos-shop .coupon input#coupon_code {
    width: 190px;
    min-width: 0;
    flex: 0 0 auto;
    margin: 0;
    padding: .55rem .8rem;
    font-size: .85rem;
}
.devos-shop .coupon .button { flex: 0 0 auto; margin: 0; }

/* ---- Totalurile ---- */

.devos-shop .cart-collaterals {
    width: 100%;
    max-width: 420px;
    margin: 2rem 0 0 auto;
}
/* WooCommerce îi dă 48% și float — într-o casetă de 420px ieșea o
   coloană de 200px, cu titlul și butonul rupte pe două rânduri. */
.devos-shop .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
}
.devos-shop .cart_totals h2 { white-space: nowrap; }
.devos-shop .cart_totals table.shop_table th { width: 45%; padding-left: 0; }
.devos-shop .cart_totals table.shop_table td { text-align: right; padding-right: 0; }
.devos-shop .wc-proceed-to-checkout a.checkout-button { white-space: nowrap; }

@media (max-width: 768px) {
    .devos-shop .cart-collaterals { max-width: none; }
    .devos-shop .actions { justify-content: stretch; }
    .devos-shop .coupon { width: 100%; }
    .devos-shop .coupon input#coupon_code { flex: 1 1 auto; width: auto; }
    .devos-shop .devos-ticket-names__grid { grid-template-columns: 1fr; }
}


/* ─────────────────────────────────────────────────────────────
   34.12 COȘUL — coloana de poză și resturile modulului

   Lățimile coloanelor se stabilesc mai jos, în 34.14.
   ───────────────────────────────────────────────────────────── */

/* Coloana de poză nu există la bilete */
.devos-shop .woocommerce-cart-form table.shop_table th.product-thumbnail,
.devos-shop .woocommerce-cart-form table.shop_table td.product-thumbnail { display: none; }

/* Rândul de acțiuni se întinde pe toate coloanele */
.devos-shop .woocommerce-cart-form table.shop_table td.actions { width: auto; }

/*
 * Modulul lasă în urmă rânduri goale și <br>-uri între câmpuri.
 * După ce JS-ul mută câmpurile în casetă, ele rămân și fac gaura
 * de dinaintea casetei.
 */
.devos-shop td.product-name > br,
.devos-shop td.product-name > p:empty,
.devos-shop td.product-name > div:empty { display: none; }

.devos-shop td.product-name a {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.3;
}

/* Denumirea și caseta de nume, lipite firesc */
.devos-shop td.product-name .devos-ticket-names { margin-top: .75rem; }


/* ─────────────────────────────────────────────────────────────
   34.13 RÂNDUL DE ACȚIUNI ȘI SUMARUL

   `display: flex` pe un <td> îl scoate din structura tabelului:
   celula nu mai e table-cell, nu mai respectă colspan-ul și se
   strânge la lățimea conținutului. De aceea banda cu cuponul
   ieșea îngustă, iar „Actualizează” cădea pe rândul următor.
   Celula rămâne table-cell; aranjarea o fac elementele din ea.
   ───────────────────────────────────────────────────────────── */

.devos-shop .woocommerce-cart-form table.shop_table td.actions {
    display: table-cell;
    width: auto;
    padding: 1.1rem 1rem;
    background: var(--devos-bg-light);
    border-bottom: 0;
    /* Conține float-urile din interior */
    overflow: hidden;
}

.devos-shop td.actions .coupon {
    display: flex;
    align-items: center;
    gap: .5rem;
    float: left;
    width: auto;
    margin: 0;
    padding: 0;
}
.devos-shop td.actions .coupon input#coupon_code {
    width: 190px;
    flex: 0 0 auto;
    margin: 0;
    padding: .55rem .8rem;
    font-size: .85rem;
}
.devos-shop td.actions .coupon .button { margin: 0; flex: 0 0 auto; }

.devos-shop td.actions > .button[name="update_cart"],
.devos-shop td.actions > button[name="update_cart"] {
    float: right;
    margin: 0;
}

/* ---- Sumarul ---- */

/*
 * Sumarul stătea singur în dreapta, cu jumătate de ecran gol lângă el.
 * Îl punem lângă un rezumat scurt al rezervării, ca rândul să aibă
 * greutate pe toată lățimea.
 */
.devos-shop .cart-collaterals {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
    width: 100%;
    max-width: none;
    margin: 2rem 0 0;
}
.devos-shop .cart-collaterals::before {
    content: 'Biletele se emit cu cod QR imediat ce plata e confirmată și ajung pe email. Numele participanților pot fi completate și după achiziție.';
    align-self: center;
    max-width: 38ch;
    font-size: .88rem;
    line-height: 1.7;
    color: var(--devos-text-muted);
}
.devos-shop .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
    margin: 0;
}

@media (max-width: 860px) {
    .devos-shop .cart-collaterals { grid-template-columns: 1fr; }
    .devos-shop .cart-collaterals::before { max-width: none; }

    .devos-shop td.actions .coupon,
    .devos-shop td.actions > .button[name="update_cart"] { float: none; width: 100%; }
    .devos-shop td.actions .coupon { margin-bottom: .6rem; }
    .devos-shop td.actions .coupon input#coupon_code { flex: 1 1 auto; width: auto; }
}


/* ─────────────────────────────────────────────────────────────
   34.14 COȘUL — lățimi în procente

   `table-layout: fixed` cu lățimi în rem a strâns tabelul în loc
   să-l întindă: aranjarea fixă cere ca TOATE coloanele să fie
   descrise, altfel rezultatul depinde de conținut. Revenim la
   aranjarea automată, unde procentele sunt respectate corect, iar
   coloana „×” se strânge pe conținut cu `width: 1%`.
   ───────────────────────────────────────────────────────────── */

.devos-shop .woocommerce-cart-form table.shop_table {
    table-layout: auto;
    width: 100%;
}

.devos-shop .woocommerce-cart-form table.shop_table th.product-remove,
.devos-shop .woocommerce-cart-form table.shop_table td.product-remove {
    width: 1%;
    white-space: nowrap;
    padding: 1.1rem .5rem 1.1rem 1rem;
    text-align: center;
}

.devos-shop .woocommerce-cart-form table.shop_table th.product-name,
.devos-shop .woocommerce-cart-form table.shop_table td.product-name {
    width: 55%;
    padding-left: .75rem;
    padding-right: 1.5rem;
}

.devos-shop .woocommerce-cart-form table.shop_table th.product-price,
.devos-shop .woocommerce-cart-form table.shop_table td.product-price { width: 13%; }

.devos-shop .woocommerce-cart-form table.shop_table th.product-quantity,
.devos-shop .woocommerce-cart-form table.shop_table td.product-quantity { width: 16%; }

.devos-shop .woocommerce-cart-form table.shop_table th.product-subtotal,
.devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal { width: 15%; }

/* Caseta de nume umple coloana, ca grila să aibă loc de mai multe câmpuri */
.devos-shop td.product-name .devos-ticket-names { width: 100%; }
.devos-shop .devos-ticket-names__grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}


/* ─────────────────────────────────────────────────────────────
   34.15 CÂMPURI — fără efect la focalizare

   Nicio schimbare de aspect când dai click într-un câmp: fără
   halou verde, fără bordură colorată, fără contur.

   Excepția e `:focus-visible`, care se aprinde DOAR la navigarea
   cu tastatura, nu la click. Fără el, cine se mișcă cu Tab nu mai
   vede unde se află în formular.
   ───────────────────────────────────────────────────────────── */

.devos-shop input[type="text"]:focus,
.devos-shop input[type="email"]:focus,
.devos-shop input[type="tel"]:focus,
.devos-shop input[type="password"]:focus,
.devos-shop input[type="number"]:focus,
.devos-shop input[type="search"]:focus,
.devos-shop textarea:focus,
.devos-shop select:focus,
.devos-shop .devos-ticket-names input.input-text:focus,
.devos-shop .select2-container--focus .select2-selection--single {
    outline: none;
    box-shadow: none;
    border-color: var(--devos-border);
}

/* Câmpul de cantitate de pe fundalul navy */
.devos-ticket-single .devos-qty input.qty:focus,
.devos-ticket-single .quantity input.qty:focus {
    outline: none;
    box-shadow: none;
    border-color: transparent;
    background: transparent;
}

/* Navigarea cu tastatura rămâne vizibilă */
.devos-shop input:focus-visible,
.devos-shop textarea:focus-visible,
.devos-shop select:focus-visible {
    outline: 2px solid var(--devos-primary);
    outline-offset: 1px;
}
.devos-ticket-single .quantity input.qty:focus-visible {
    outline: 2px solid var(--devos-accent);
    outline-offset: -2px;
}


/* ─────────────────────────────────────────────────────────────
   34.16 COȘUL CA UN SINGUR CARD

   WooCommerce randează totalurile într-un bloc separat, după
   formular. Nu le putem muta în tabel fără să rescriem șablonul,
   dar le putem lipi vizual: tabelul primește colțuri rotunjite
   doar sus, blocul de totaluri doar jos, iar bordura curge
   neîntrerupt între ele.
   ───────────────────────────────────────────────────────────── */

.devos-shop .woocommerce-cart-form { margin: 0; }

.devos-shop .woocommerce-cart-form table.shop_table {
    margin-bottom: 0;
    border-bottom: 0;
    border-radius: var(--devos-radius-lg) var(--devos-radius-lg) 0 0;
}

/* Rândul cu cuponul devine banda de mijloc a cardului */
.devos-shop .woocommerce-cart-form table.shop_table td.actions {
    border-top: 1px solid var(--devos-border);
    border-bottom: 0;
}

/* Blocul de totaluri închide cardul */
.devos-shop .cart-collaterals {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.6rem;
    background: var(--devos-bg-white);
    border: 1px solid var(--devos-border);
    border-top: 1px solid var(--devos-border);
    border-radius: 0 0 var(--devos-radius-lg) var(--devos-radius-lg);
}

.devos-shop .cart-collaterals::before {
    content: 'Biletele se emit cu cod QR imediat ce plata e confirmată și ajung pe email. Numele participanților pot fi completate și după achiziție.';
    align-self: center;
    max-width: 44ch;
    margin: 0;
    font-size: .88rem;
    line-height: 1.7;
    color: var(--devos-text-muted);
}

/* Caseta proprie a totalurilor dispare: e deja în card */
.devos-shop .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.devos-shop .cart_totals h2 {
    font-size: 1.05rem;
    margin-bottom: .75rem;
}

.devos-shop .cart_totals table.shop_table {
    margin-bottom: 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
}
.devos-shop .cart_totals table.shop_table th,
.devos-shop .cart_totals table.shop_table td {
    padding: .55rem 0;
    background: transparent;
}
.devos-shop .cart_totals table.shop_table tr:last-child th,
.devos-shop .cart_totals table.shop_table tr:last-child td { border-bottom: 0; }

@media (max-width: 860px) {
    .devos-shop .cart-collaterals {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    .devos-shop .cart-collaterals::before { max-width: none; }
}


/* ─────────────────────────────────────────────────────────────
   34.17 NUMELE PARTICIPANȚILOR — fără card în card

   Caseta stătea într-un rând care e deja parte dintr-un card.
   Rămâne doar structura: un titlu mic, o explicație și câmpurile.
   ───────────────────────────────────────────────────────────── */

.devos-shop td.product-name .devos-ticket-names {
    margin-top: .8rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.devos-ticket-names__title {
    font-size: .68rem;
    letter-spacing: .1em;
    color: var(--devos-text-muted);
    margin-bottom: .1rem;
}

.devos-ticket-names__hint {
    font-size: .76rem;
    margin-bottom: .55rem;
}

.devos-shop .devos-ticket-names input.input-text {
    background: var(--devos-bg-white);
}


/* ─────────────────────────────────────────────────────────────
   34.18 SUMARUL PE UN SINGUR RÂND

   Titlu, subtotal, total și butonul, toate pe orizontală. Tabelul
   de totaluri e desfăcut din structura de tabel în celule flex,
   ca rândurile să curgă unul lângă altul.
   ───────────────────────────────────────────────────────────── */

.devos-shop .cart-collaterals {
    display: block;
    padding: 1.15rem 1.6rem;
}
/* Nota explicativă ar rupe rândul; mesajul rămâne pe pagina de plată */
.devos-shop .cart-collaterals::before { content: none; }

.devos-shop .cart-collaterals .cart_totals {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.75rem;
}

.devos-shop .cart_totals h2 {
    margin: 0;
    font-size: .95rem;
    white-space: nowrap;
}

.devos-shop .cart_totals table.shop_table,
.devos-shop .cart_totals table.shop_table tbody {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.75rem;
    width: auto;
    margin: 0;
    border: 0;
    background: transparent;
}

.devos-shop .cart_totals table.shop_table tr {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    border: 0;
}

.devos-shop .cart_totals table.shop_table th,
.devos-shop .cart_totals table.shop_table td {
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    white-space: nowrap;
    text-align: left;
}

.devos-shop .cart_totals table.shop_table th {
    font-size: .68rem;
    letter-spacing: .1em;
    color: var(--devos-text-muted);
}

.devos-shop .cart_totals .order-total th { color: var(--devos-primary); }
.devos-shop .cart_totals .order-total .amount { font-size: 1.3rem; }

.devos-shop .cart_totals .wc-proceed-to-checkout {
    margin-left: auto;
    padding: 0;
}

.devos-shop .wc-proceed-to-checkout a.checkout-button {
    display: inline-flex;
    width: auto;
    margin: 0;
    padding: .8em 1.9em;
    border-radius: var(--devos-radius-full);
    white-space: nowrap;
}

@media (max-width: 980px) {
    .devos-shop .cart-collaterals .cart_totals {
        gap: 1rem;
        justify-content: space-between;
    }
    .devos-shop .cart_totals .wc-proceed-to-checkout {
        margin-left: 0;
        width: 100%;
    }
    .devos-shop .wc-proceed-to-checkout a.checkout-button {
        display: flex;
        width: 100%;
    }
}


/* ─────────────────────────────────────────────────────────────
   34.19 ALINIERI FINALE ÎN COȘ
   ───────────────────────────────────────────────────────────── */

/* „×” pe aceeași linie cu denumirea, nu centrat pe tot rândul */
.devos-shop .woocommerce-cart-form table.shop_table td.product-remove {
    vertical-align: top;
    padding-top: .9rem;
}
.devos-shop .woocommerce-cart-form table.shop_table td.product-name,
.devos-shop .woocommerce-cart-form table.shop_table td.product-price,
.devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
    vertical-align: top;
}
.devos-shop .woocommerce-cart-form table.shop_table td.product-quantity {
    vertical-align: top;
    padding-top: .95rem;
}
.devos-shop .woocommerce-cart-form table.shop_table td.product-price,
.devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
    padding-top: 1.15rem;
}

/* Totalurile pe un rând, butonul pe rândul de sub ele, la dreapta */
.devos-shop .cart_totals .wc-proceed-to-checkout {
    flex: 1 0 100%;
    display: flex;
    justify-content: flex-end;
    margin: .9rem 0 0;
    padding: 0;
}

@media (max-width: 980px) {
    .devos-shop .cart_totals .wc-proceed-to-checkout { justify-content: stretch; }
}


/* ─────────────────────────────────────────────────────────────
   34.20 SUMAR LA DREAPTA ȘI CÂMPURI ROTUNJITE
   ───────────────────────────────────────────────────────────── */

/* Totalurile se aliniază la dreapta, deasupra butonului */
.devos-shop .cart-collaterals .cart_totals {
    justify-content: flex-end;
    column-gap: 1.75rem;
    row-gap: .85rem;
}
.devos-shop .cart_totals .wc-proceed-to-checkout { margin: 0; }

/* ---- Câmpurile de text, rotunjite ---- */

.devos-shop input[type="text"],
.devos-shop input[type="email"],
.devos-shop input[type="tel"],
.devos-shop input[type="password"],
.devos-shop input[type="number"],
.devos-shop input[type="search"],
.devos-shop select,
.devos-shop .select2-container .select2-selection--single,
.devos-shop .devos-ticket-names input.input-text,
.devos-shop td.actions .coupon input#coupon_code {
    border-radius: var(--devos-radius-full);
    padding-left: 1.1rem;
    padding-right: 1.1rem;
}

/* Un textarea în formă de pastilă arată ciudat: colțuri blânde */
.devos-shop textarea {
    border-radius: var(--devos-radius-md);
    padding-left: 1.1rem;
    padding-right: 1.1rem;
}

/* Câmpul de cantitate e deja într-o pastilă; rămâne drept în interior */
.devos-shop .quantity input.qty,
.devos-shop .devos-qty input.qty {
    border-radius: 0;
    padding-left: .1rem;
    padding-right: .1rem;
}


/* ─────────────────────────────────────────────────────────────
   34.21 PREȚ, CANTITATE, SUBTOTAL — aceeași înălțime și ritm

   Cele trei coloane erau de lățimi diferite, aliniate diferit, iar
   pastila de cantitate era de două ori mai înaltă decât rândurile
   de text de lângă. Le aducem la aceeași dimensiune și le punem la
   distanțe egale.
   ───────────────────────────────────────────────────────────── */

.devos-shop .woocommerce-cart-form table.shop_table th.product-price,
.devos-shop .woocommerce-cart-form table.shop_table td.product-price,
.devos-shop .woocommerce-cart-form table.shop_table th.product-quantity,
.devos-shop .woocommerce-cart-form table.shop_table td.product-quantity,
.devos-shop .woocommerce-cart-form table.shop_table th.product-subtotal,
.devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
    width: 15%;
    text-align: center;
    padding-left: .5rem;
    padding-right: .5rem;
}

.devos-shop .woocommerce-cart-form table.shop_table td.product-price,
.devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
    padding-top: 1.15rem;
    font-size: .93rem;
    line-height: 1.5;
}

/* Pastila de cantitate, adusă la înălțimea unui rând de text */
.devos-shop .woocommerce-cart-form table.shop_table td.product-quantity {
    padding-top: .85rem;
}
.devos-shop td.product-quantity .devos-qty,
.devos-shop td.product-quantity .quantity {
    display: inline-flex;
    align-items: stretch;
}
.devos-shop td.product-quantity .devos-qty__btn {
    width: 1.9rem;
    font-size: .95rem;
}
.devos-shop td.product-quantity .devos-qty input.qty,
.devos-shop td.product-quantity .quantity input.qty {
    width: 2.1rem;
    padding-top: .35rem;
    padding-bottom: .35rem;
    font-size: .88rem;
    line-height: 1.4;
}

/* Ultima coloană nu se mai lipește de marginea cardului */
.devos-shop .woocommerce-cart-form table.shop_table th.product-subtotal,
.devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
    padding-right: 1.25rem;
}


/* ─────────────────────────────────────────────────────────────
   34.22 COLOANELE DE PREȚ, STRÂNSE

   Cele trei coloane ocupau 15% fiecare, ceea ce pe un card lat
   le împrăștia. Le strângem și dăm spațiul denumirii, care are
   de dus și caseta de participanți.
   ───────────────────────────────────────────────────────────── */

.devos-shop .woocommerce-cart-form table.shop_table th.product-name,
.devos-shop .woocommerce-cart-form table.shop_table td.product-name { width: 64%; }

.devos-shop .woocommerce-cart-form table.shop_table th.product-price,
.devos-shop .woocommerce-cart-form table.shop_table td.product-price,
.devos-shop .woocommerce-cart-form table.shop_table th.product-quantity,
.devos-shop .woocommerce-cart-form table.shop_table td.product-quantity,
.devos-shop .woocommerce-cart-form table.shop_table th.product-subtotal,
.devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
    width: 11%;
    padding-left: .35rem;
    padding-right: .35rem;
}

.devos-shop .woocommerce-cart-form table.shop_table th.product-subtotal,
.devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
    padding-right: 1rem;
}


/* =============================================================
   35. MOBIL — antet, coș, finalizare, cont

   Antetul e `position: fixed`, deci nu știe de bara de
   administrare a WordPress-ului, care împinge pagina în jos cu
   32px pe desktop și 46px pe ecrane medii. Fără corecția de mai
   jos, antetul intră sub ea.
   ============================================================= */

body.admin-bar .devos-header { top: 32px; }

@media screen and (max-width: 782px) {
    body.admin-bar .devos-header { top: 46px; }
}

/* Sub 600px bara de administrare nu mai e fixă, deci nu mai offsetăm */
@media screen and (max-width: 600px) {
    body.admin-bar .devos-header { top: 0; }
}


/* -------------------------------------------------------------
   35.1 ANTETUL PAGINILOR DE MAGAZIN
   ------------------------------------------------------------- */

@media (max-width: 782px) {

    .devos-shop__header {
        padding-top: 6.5rem;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
    }
    .devos-shop__title { font-size: 1.8rem; }
    .devos-shop__lead { font-size: .92rem; }

    .devos-shop-page .devos-shop--single .woocommerce-breadcrumb {
        padding-top: 6.5rem;
        margin-bottom: 1.25rem;
        font-size: .75rem;
    }
}


/* -------------------------------------------------------------
   35.2 COȘUL PE MOBIL — fiecare bilet devine o fișă

   Tabelul nu are cum să încapă pe un ecran de telefon. Fiecare
   rând devine o fișă: denumirea sus, butonul de ștergere în
   colț, câmpurile de nume dedesubt, apoi preț, bilete și
   subtotal ca perechi etichetă–valoare.
   ------------------------------------------------------------- */

@media (max-width: 768px) {

    .devos-shop .woocommerce-cart-form table.shop_table,
    .devos-shop .woocommerce-cart-form table.shop_table tbody,
    .devos-shop .woocommerce-cart-form table.shop_table tr,
    .devos-shop .woocommerce-cart-form table.shop_table td {
        display: block;
        width: auto;
    }

    .devos-shop .woocommerce-cart-form table.shop_table thead { display: none; }

    .devos-shop .woocommerce-cart-form table.shop_table {
        border-radius: var(--devos-radius-lg) var(--devos-radius-lg) 0 0;
    }

    .devos-shop .woocommerce-cart-form table.shop_table tr.cart_item {
        position: relative;
        padding: 1.1rem 1rem 1rem;
        border-bottom: 1px solid var(--devos-border);
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-name {
        width: auto;
        padding: 0 2.5rem 0 0;
        text-align: left;
    }
    .devos-shop .woocommerce-cart-form table.shop_table td.product-name::before { content: none; }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-remove {
        position: absolute;
        top: 1rem;
        right: .85rem;
        width: auto;
        padding: 0;
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-price,
    .devos-shop .woocommerce-cart-form table.shop_table td.product-quantity,
    .devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        width: auto;
        padding: .55rem 0 0;
        text-align: right;
        border: 0;
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-price::before,
    .devos-shop .woocommerce-cart-form table.shop_table td.product-quantity::before,
    .devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal::before {
        content: attr(data-title);
        font-family: var(--devos-font-heading);
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--devos-text-muted);
        text-align: left;
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
        margin-top: .35rem;
        padding-top: .65rem;
        border-top: 1px solid var(--devos-border);
        font-size: 1rem;
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.actions {
        padding: 1rem;
        border-top: 1px solid var(--devos-border);
    }
    .devos-shop td.actions .coupon,
    .devos-shop td.actions > .button[name="update_cart"] {
        float: none;
        width: 100%;
        margin: 0;
    }
    .devos-shop td.actions .coupon { margin-bottom: .6rem; }
    .devos-shop td.actions .coupon input#coupon_code { flex: 1 1 auto; width: auto; }
    .devos-shop td.actions > .button[name="update_cart"] { display: flex; }

    .devos-shop .cart-collaterals { padding: 1.1rem 1rem; }
    .devos-shop .cart-collaterals .cart_totals {
        justify-content: flex-start;
        column-gap: 1.1rem;
        row-gap: .75rem;
    }
    .devos-shop .cart_totals h2 { flex: 1 0 100%; }
    .devos-shop .cart_totals table.shop_table,
    .devos-shop .cart_totals table.shop_table tbody { gap: 1.1rem; }

    .devos-shop .devos-ticket-names__grid { grid-template-columns: 1fr; }
}


/* -------------------------------------------------------------
   35.3 PAGINA UNUI BILET, FINALIZARE ȘI CONT
   ------------------------------------------------------------- */

@media (max-width: 768px) {

    .devos-ticket-single__title { font-size: 1.75rem; }
    .devos-ticket-single__meta { padding: 1.1rem; gap: .85rem; }
    .devos-ticket-single__buy { padding: 1.5rem 1.25rem; }
    .devos-ticket-single__amount { font-size: 2.1rem; }
    .devos-ticket-single .cart { gap: .6rem; }
    .devos-ticket-single .single_add_to_cart_button { flex: 1 1 auto; }

    .devos-shop .woocommerce-checkout-review-order,
    .devos-shop .cart_totals { padding: 1.25rem; }

    .devos-shop .woocommerce-MyAccount-navigation ul { gap: .4rem; }
    .devos-shop .woocommerce-MyAccount-navigation li a {
        padding: .45rem .85rem;
        font-size: .8rem;
    }

    .devos-shop .woocommerce-order-overview { padding: 1.1rem; }

    .devos-toasts {
        left: 1rem;
        right: 1rem;
        /* Deasupra butonului de coș: 2.9rem butonul, 1rem cât stă el de
           marginea de jos, plus un rând de aer între ele. */
        bottom: calc(2.9rem + 1rem + .75rem);
        /* Nu `stretch`: întinsă pe toată lățimea, notificarea ieșea o
           bandă neagră peste textul paginii, cu jumătate din ea goală.
           Se oprește unde se termină ce are de spus; `left`/`right`
           rămân puse, ca un mesaj lung să aibă unde se rupe. */
        align-items: flex-start;
        max-width: none;
    }
    .devos-toasts .woocommerce-message,
    .devos-toasts .woocommerce-info {
        white-space: normal;
        border-radius: var(--devos-radius-md);
    }
}


/* -------------------------------------------------------------
   35.4 ECRANE FOARTE ÎNGUSTE
   ------------------------------------------------------------- */

@media (max-width: 420px) {

    .devos-shop__header { padding-top: 6rem; }
    .devos-shop__title { font-size: 1.55rem; }

    .devos-ticket-single__title { font-size: 1.5rem; }
    .devos-ticket-single__buy { padding: 1.25rem 1rem; }
    .devos-ticket-single .cart { flex-direction: column; align-items: stretch; }
    .devos-ticket-single .devos-qty { justify-content: center; }
    .devos-ticket-single .single_add_to_cart_button { width: 100%; }

    .devos-shop td.actions .coupon { flex-wrap: wrap; }
    .devos-shop td.actions .coupon input#coupon_code { flex: 1 0 100%; }
    .devos-shop td.actions .coupon .button { width: 100%; }

    .devos-shop .cart_totals table.shop_table,
    .devos-shop .cart_totals table.shop_table tbody {
        flex-direction: column;
        align-items: flex-start;
        gap: .5rem;
    }
    .devos-shop .cart_totals table.shop_table tr { width: 100%; justify-content: space-between; }
}


/* -------------------------------------------------------------
   35.5 NEUTRALIZAREA TABELULUI „RESPONSIVE” AL WOOCOMMERCE

   WooCommerce are propriul mod mobil pentru `shop_table_responsive`:
   aliniază tot la dreapta cu `!important`, ascunde celulele de
   antet și își lipește etichete prin `::before { content:
   attr(data-title) ": " }`. De aici textul aliniat la dreapta și
   „Subtotal:2.251,00 lei” lipit. Îl oprim și punem al nostru.
   ------------------------------------------------------------- */

@media screen and (max-width: 768px) {

    /* Alinierea la stânga, peste `!important`-ul lor */
    .devos-shop table.shop_table_responsive tr td,
    .devos-shop table.shop_table_responsive tbody th,
    .devos-shop table.shop_table_responsive tbody tr td.product-name,
    .devos-shop .devos-ticket-names,
    .devos-shop .devos-ticket-names label,
    .devos-shop .devos-ticket-names__title,
    .devos-shop .devos-ticket-names__hint {
        text-align: left !important;
    }

    /* Etichetele lor, cu două puncte și float, sunt înlocuite de ale noastre */
    .devos-shop table.shop_table_responsive tr td::before { float: none; }
    .devos-shop table.shop_table_responsive tr td.product-name::before,
    .devos-shop table.shop_table_responsive tr td.product-remove::before,
    .devos-shop table.shop_table_responsive tr td.actions::before { content: none !important; }

    /* Fără dungi alternante: fișele au deja separator */
    .devos-shop table.shop_table_responsive tbody tr:nth-child(2n) td,
    .devos-shop table.shop_table tbody tr:nth-child(2n) td { background: transparent; }

    /* Valorile stau la dreapta, dar prin flex, nu prin text-align */
    .devos-shop .woocommerce-cart-form table.shop_table td.product-price,
    .devos-shop .woocommerce-cart-form table.shop_table td.product-quantity,
    .devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
    }

    /* Denumirea biletului, cu loc pentru „×” în colț */
    .devos-shop .woocommerce-cart-form table.shop_table td.product-name a {
        font-size: 1rem;
        line-height: 1.35;
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-remove::before { content: none; }

    /* Rândul de acțiuni ocupă toată fișa */
    .devos-shop .woocommerce-cart-form table.shop_table tr:has(td.actions),
    .devos-shop .woocommerce-cart-form table.shop_table td.actions {
        display: block !important;
        width: auto !important;
        text-align: left !important;
        background: var(--devos-bg-light);
    }
    .devos-shop td.actions .coupon { display: flex; }

    /* Totalurile: etichetele noastre, nu cele lipite cu două puncte */
    .devos-shop .cart_totals table.shop_table_responsive tbody th {
        display: block !important;
        text-align: left !important;
    }
    .devos-shop .cart_totals table.shop_table_responsive tr td::before { content: none !important; }
    .devos-shop .cart_totals table.shop_table,
    .devos-shop .cart_totals table.shop_table tbody { display: flex !important; }
    .devos-shop .cart_totals table.shop_table tr {
        display: flex !important;
        width: 100%;
        align-items: baseline;
        justify-content: space-between;
        gap: .75rem;
    }
    .devos-shop .cart_totals table.shop_table th,
    .devos-shop .cart_totals table.shop_table td {
        display: block !important;
        width: auto !important;
        padding: 0 !important;
    }
    .devos-shop .cart_totals table.shop_table td { text-align: right !important; }

    .devos-shop .cart_totals h2 { margin-bottom: .25rem; }
    .devos-shop .cart_totals .wc-proceed-to-checkout { margin-top: .85rem; }
    .devos-shop .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; }
}


/* -------------------------------------------------------------
   35.6 FIȘA UNUI BILET ÎN COȘ, PE MOBIL
   ------------------------------------------------------------- */

@media screen and (max-width: 768px) {

    .devos-shop .woocommerce-cart-form table.shop_table tr.cart_item {
        padding: 1rem 1rem .9rem;
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-name {
        padding-right: 2.25rem !important;
        margin-bottom: .35rem;
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-remove {
        top: .85rem;
        right: .8rem;
    }

    .devos-shop .devos-ticket-names { margin-top: .7rem; }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-price::before,
    .devos-shop .woocommerce-cart-form table.shop_table td.product-quantity::before,
    .devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal::before {
        content: attr(data-title) !important;
        float: none !important;
        font-family: var(--devos-font-heading);
        font-size: .66rem;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
        color: var(--devos-text-muted);
    }

    .devos-shop .woocommerce-cart-form table.shop_table td.product-quantity .devos-qty { margin-left: auto; }
}


/* -------------------------------------------------------------
   36. CONTUL MEU — panou cu fișe, nu listă de linkuri
   ------------------------------------------------------------- */

.devos-account__greeting {
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--devos-text-muted);
    margin-bottom: 1.75rem;
}
.devos-account__greeting strong { color: var(--devos-primary); }

.devos-account__cards {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 1.25rem;
    margin-bottom: 1.75rem;
}

.devos-account-card {
    display: flex;
    flex-direction: column;
    padding: 1.4rem 1.35rem;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
}

.devos-account-card--event {
    background: var(--devos-primary);
    border-color: transparent;
}

.devos-account-card__label {
    font-family: var(--devos-font-heading);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
    margin-bottom: .5rem;
}
.devos-account-card--event .devos-account-card__label { color: var(--devos-accent); }

.devos-account-card__title {
    font-family: var(--devos-font-heading);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--devos-text-white);
    margin-bottom: .9rem;
}

.devos-account-card__meta {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.devos-account-card__meta li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-size: .86rem;
    line-height: 1.5;
    color: var(--devos-text-light);
}
.devos-account-card__meta li i { flex: 0 0 auto; margin-top: .2em; color: var(--devos-accent); font-size: .8rem; }

.devos-account-card__number {
    font-family: var(--devos-font-heading);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--devos-primary);
}

.devos-account-card__note {
    margin: .4rem 0 0;
    font-size: .82rem;
    color: var(--devos-text-muted);
}
.devos-account-card__note a { color: var(--devos-accent-2); font-weight: 600; }

.devos-account__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

@media (max-width: 900px) {
    .devos-account__cards { grid-template-columns: 1fr 1fr; }
    .devos-account-card--event { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
    .devos-account__actions .devos-btn { width: 100%; }
}


/* Fără linie între cantitate și subtotal: sunt părți din aceeași fișă */
@media screen and (max-width: 768px) {
    .devos-shop .woocommerce-cart-form table.shop_table td.product-subtotal {
        margin-top: 0;
        padding-top: .55rem;
        border-top: 0;
    }
}


/* -------------------------------------------------------------
   36.1 TOTALURILE PE MOBIL — sumele lipite de marginea dreaptă

   Rândurile erau flex, dar nu se întindeau pe toată lățimea, așa
   că `space-between` nu avea ce distanța: sumele rămâneau undeva
   la mijloc.
   ------------------------------------------------------------- */

@media screen and (max-width: 768px) {

    .devos-shop .cart_totals table.shop_table,
    .devos-shop .cart_totals table.shop_table tbody {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: .55rem !important;
    }

    .devos-shop .cart_totals table.shop_table tr {
        display: flex !important;
        width: 100% !important;
        align-items: baseline;
        justify-content: space-between;
        gap: 1rem;
    }

    .devos-shop .cart_totals table.shop_table td,
    .devos-shop .cart_totals table.shop_table td .amount,
    .devos-shop .cart_totals table.shop_table td .woocommerce-Price-amount {
        margin-left: auto;
        text-align: right !important;
    }

    .devos-shop .cart_totals h2 { text-align: right; }
}


/* =============================================================
   37. FINALIZAREA COMENZII

   Aceleași carduri, aceleași câmpuri rotunjite și același ritm
   ca la coș. Stânga: datele cumpărătorului. Dreapta: rezervarea,
   cu participanții listați sub fiecare tip de acces.
   ============================================================= */

.devos-shop .woocommerce-billing-fields,
.devos-shop .woocommerce-additional-fields {
    padding: 1.6rem;
    background: var(--devos-bg-white);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
}
.devos-shop .woocommerce-additional-fields { margin-top: 1.25rem; }

.devos-shop .woocommerce-billing-fields > h3,
.devos-shop .woocommerce-additional-fields > h3 {
    font-size: 1.15rem;
    margin: 0 0 1.25rem;
}

/* Rezumatul, ca un card cu antet ca la coș */
.devos-shop #order_review_heading {
    margin: 0 0 1rem;
    font-size: 1.15rem;
}

.devos-shop .woocommerce-checkout-review-order {
    padding: 0;
    background: var(--devos-bg-white);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    overflow: hidden;
}

.devos-shop .woocommerce-checkout-review-order table.shop_table {
    margin: 0;
    border: 0;
    border-radius: 0;
}
.devos-shop .woocommerce-checkout-review-order table.shop_table thead th {
    background: var(--devos-bg-light);
    padding: .85rem 1.25rem;
}
.devos-shop .woocommerce-checkout-review-order table.shop_table td,
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot th,
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot td {
    padding: .85rem 1.25rem;
}
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr:last-child th,
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr:last-child td {
    border-bottom: 0;
    padding-bottom: 1.1rem;
}
.devos-shop .woocommerce-checkout-review-order .order-total th,
.devos-shop .woocommerce-checkout-review-order .order-total td {
    background: var(--devos-bg-light);
}

.devos-shop .woocommerce-checkout-review-order td.product-name {
    font-family: var(--devos-font-heading);
    font-weight: 700;
    color: var(--devos-primary);
}
.devos-shop .woocommerce-checkout-review-order .product-quantity {
    font-family: var(--devos-font-body);
    font-weight: 600;
    color: var(--devos-text-muted);
}

/* ---- Participanții ---- */

.devos-participants {
    margin-top: .6rem;
    padding-top: .6rem;
    border-top: 1px dashed var(--devos-border);
}

.devos-participants__title {
    display: block;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
    margin-bottom: .35rem;
}

.devos-participants__list {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    margin: 0 0 .45rem;
    padding: 0;
    list-style: none;
}

.devos-participant {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    font-family: var(--devos-font-body);
    font-size: .85rem;
    font-weight: 400;
    line-height: 1.4;
    color: var(--devos-text-dark);
}

.devos-participant__index {
    flex: 0 0 auto;
    min-width: 1.15rem;
    height: 1.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-light);
    color: var(--devos-text-muted);
    font-size: .62rem;
    font-weight: 700;
}

.devos-participant--empty .devos-participant__name {
    color: var(--devos-text-muted);
    font-style: italic;
}

.devos-participants__edit {
    display: inline-block;
    font-family: var(--devos-font-heading);
    font-size: .72rem;
    font-weight: 700;
    color: var(--devos-accent-2);
}
.devos-participants__edit:hover { color: var(--devos-primary); }

/* ---- „Particip și eu” ---- */

.devos-buyer-participant {
    margin-top: .5rem;
    padding: .85rem 1rem;
    background: var(--devos-bg-light);
    border-radius: var(--devos-radius-md);
}

.devos-shop .devos-checkbox {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: 0;
    font-weight: 400;
    cursor: pointer;
}
.devos-shop .devos-checkbox input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.1rem;
    height: 1.1rem;
    margin: .15rem 0 0;
    accent-color: var(--devos-accent-2);
    cursor: pointer;
}
.devos-shop .devos-checkbox span { display: flex; flex-direction: column; gap: .15rem; }
.devos-shop .devos-checkbox strong {
    font-size: .9rem;
    font-weight: 700;
    color: var(--devos-primary);
}
.devos-shop .devos-checkbox em {
    font-style: normal;
    font-size: .8rem;
    line-height: 1.5;
    color: var(--devos-text-muted);
}

/* ---- Plata ---- */

.devos-shop #payment {
    padding: 1.25rem;
    background: var(--devos-bg-light);
    border-top: 1px solid var(--devos-border);
}
.devos-shop #payment .place-order { padding: 0; margin-top: 1rem; }
.devos-shop .woocommerce-privacy-policy-text {
    font-size: .8rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
}
.devos-shop .woocommerce-terms-and-conditions-wrapper { margin-bottom: 1rem; }

@media (max-width: 768px) {
    .devos-shop .woocommerce-billing-fields,
    .devos-shop .woocommerce-additional-fields { padding: 1.25rem; }
    .devos-shop .woocommerce-checkout-review-order table.shop_table thead th,
    .devos-shop .woocommerce-checkout-review-order table.shop_table td,
    .devos-shop .woocommerce-checkout-review-order table.shop_table tfoot th,
    .devos-shop .woocommerce-checkout-review-order table.shop_table tfoot td {
        padding: .75rem 1rem;
    }
    .devos-shop #payment { padding: 1rem; }
}


/* Coșul, cât se retrimite la server după schimbarea cantității */
.devos-shop .woocommerce-cart-form.is-updating {
    opacity: .55;
    pointer-events: none;
    transition: opacity .2s ease;
}


/* Câmpurile de participant: trei pe rând, ca un Team Pass să încapă
   exact pe o linie, nu patru plus doi. */
.devos-shop .devos-ticket-names__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    .devos-shop .devos-ticket-names__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .devos-shop .devos-ticket-names__grid { grid-template-columns: 1fr; }
}


/* -------------------------------------------------------------
   37.1 FORMULARUL DE FINALIZARE — peste CSS-ul WooCommerce

   WooCommerce stilizează formularele cu selectori de patru nivele
   (`.woocommerce form .form-row input.input-text`), care bat
   regulile mele de două. De aceea câmpurile rămâneau pătrate și
   eticheta-bifă se rupea pe două rânduri. Aici folosim aceeași
   adâncime de selector.
   ------------------------------------------------------------- */

.devos-shop form .form-row input.input-text,
.devos-shop form .form-row input[type="text"],
.devos-shop form .form-row input[type="email"],
.devos-shop form .form-row input[type="tel"],
.devos-shop form .form-row input[type="password"],
.devos-shop form .form-row select,
.devos-shop form .form-row .select2-container .select2-selection--single {
    box-sizing: border-box;
    width: 100%;
    padding: .8rem 1.1rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-white);
    font-family: var(--devos-font-body);
    font-size: .95rem;
    line-height: 1.4;
    color: var(--devos-text-dark);
}

.devos-shop form .form-row textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 6.5rem;
    padding: .85rem 1.1rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-white);
    font-family: var(--devos-font-body);
    font-size: .95rem;
    line-height: 1.6;
    color: var(--devos-text-dark);
}

.devos-shop form .form-row input:focus,
.devos-shop form .form-row textarea:focus,
.devos-shop form .form-row select:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--devos-border);
}
.devos-shop form .form-row input:focus-visible,
.devos-shop form .form-row textarea:focus-visible {
    outline: 2px solid var(--devos-primary);
    outline-offset: 1px;
}

.devos-shop form .form-row label {
    display: block;
    font-size: .85rem;
    font-weight: 600;
    color: var(--devos-primary);
    margin-bottom: .35rem;
    line-height: 1.4;
}

/* Eticheta-bifă „Particip și eu” */
.devos-shop form .form-row label.devos-checkbox {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: 0;
    font-weight: 400;
    cursor: pointer;
}
.devos-shop form .form-row label.devos-checkbox input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.1rem;
    height: 1.1rem;
    margin: .1rem 0 0;
    accent-color: var(--devos-accent-2);
    cursor: pointer;
}
.devos-shop form .form-row label.devos-checkbox span {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.devos-shop .devos-buyer-participant { padding: .9rem 1rem; }

/* -------------------------------------------------------------
   37.2 REZUMATUL — participanții, mai discreți
   ------------------------------------------------------------- */

.devos-shop .woocommerce-checkout-review-order td.product-name {
    line-height: 1.4;
}

.devos-participants {
    margin-top: .7rem;
    padding-top: .7rem;
    border-top: 1px solid var(--devos-border);
}

.devos-participants__title {
    font-size: .6rem;
    margin-bottom: .45rem;
}

.devos-participants__list { gap: .35rem; margin-bottom: .55rem; }

.devos-participants__edit {
    font-family: var(--devos-font-body);
    font-size: .78rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Un rând de rezumat nu are nevoie de două chenare */
.devos-shop .woocommerce-checkout-review-order table.shop_table td.product-total,
.devos-shop .woocommerce-checkout-review-order table.shop_table th.product-total {
    vertical-align: top;
    white-space: nowrap;
}
.devos-shop .woocommerce-checkout-review-order table.shop_table td.product-name {
    width: 70%;
}


/* -------------------------------------------------------------
   37.3 REZUMATUL — mai puține linii

   Fiecare bilet avea linie sub el, participanții aveau o linie
   deasupra, „Modifică” stătea pe rând propriu, iar totalurile
   încă două linii. Rămâne o singură linie: cea dintre bilete și
   totaluri. Restul se separă prin spațiu.
   ------------------------------------------------------------- */

.devos-shop .woocommerce-checkout-review-order table.shop_table tbody td,
.devos-shop .woocommerce-checkout-review-order table.shop_table tbody th {
    border-bottom: 0;
    padding-top: .9rem;
    padding-bottom: .9rem;
}

.devos-shop .woocommerce-checkout-review-order table.shop_table tbody tr:last-child td {
    padding-bottom: 1.1rem;
    border-bottom: 1px solid var(--devos-border);
}

.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot th,
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot td {
    border-bottom: 0;
    padding-top: .7rem;
    padding-bottom: .7rem;
}
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr:first-child th,
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr:first-child td {
    padding-top: 1rem;
}

/* ---- Participanții, fără chenar propriu ---- */

.devos-participants {
    margin-top: .45rem;
    padding-top: 0;
    border-top: 0;
}

/* Titlul „PARTICIPANȚI” dubla informația: rândurile sunt numerotate */
.devos-participants__title { display: none; }

.devos-participants__list {
    gap: .2rem;
    margin: 0;
}

.devos-participant {
    font-size: .82rem;
    color: var(--devos-text-muted);
}

.devos-participant__index {
    min-width: 1rem;
    height: 1rem;
    background: transparent;
    color: var(--devos-text-muted);
    font-size: .68rem;
    font-weight: 600;
}

.devos-participants__edit {
    display: inline-block;
    margin-top: .3rem;
    margin-left: 1.5rem;
    font-size: .74rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--devos-accent-2);
}
.devos-participants__edit::before { content: '\270E\00a0'; }
.devos-participants__edit:hover { text-decoration: underline; }

/* ---- Plata, fără casetă în casetă ---- */

.devos-shop #payment {
    background: transparent;
    border-top: 1px solid var(--devos-border);
    padding: 1.25rem;
}
.devos-shop .payment_box {
    background: var(--devos-bg-light);
    border: 0;
    margin-top: .6rem;
}
.devos-shop .payment_box::before { display: none; }
.devos-shop .wc_payment_method label { font-size: .92rem; }

/* -------------------------------------------------------------
   37.4 CÂMPURILE, PE TOATĂ LĂȚIMEA COLOANEI

   WooCommerce dă `.form-row-first` și `.form-row-last` lățime de
   47% și float. Într-o grilă de două coloane asta înseamnă 47%
   dintr-o jumătate — de aici câmpuri de o treime din loc.
   ------------------------------------------------------------- */

.devos-shop form .form-row,
.devos-shop form .form-row-first,
.devos-shop form .form-row-last,
.devos-shop form .form-row-wide {
    width: auto;
    float: none;
    margin-left: 0;
    margin-right: 0;
}

.devos-shop form .woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1rem;
}
.devos-shop form .form-row-wide,
.devos-shop form #billing_company_field,
.devos-shop form #billing_phone_field,
.devos-shop form .devos-buyer-participant { grid-column: 1 / -1; }

@media (max-width: 560px) {
    .devos-shop form .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
}


/* -------------------------------------------------------------
   37.5 CARDURI ALINIATE SUS, FĂRĂ TITLU DEASUPRA REZUMATULUI
   ------------------------------------------------------------- */

/* „Rezervarea ta” împingea cardul din dreapta mai jos decât cel
   din stânga. Titlul e redundant: tabelul spune deja ce e. */
.devos-shop #order_review_heading { display: none; }

.devos-shop form.checkout.woocommerce-checkout {
    grid-template-rows: auto;
    align-items: start;
}
.devos-shop form.checkout #customer_details { grid-column: 1; grid-row: 1; }
.devos-shop form.checkout #order_review { grid-column: 2; grid-row: 1; }

/* -------------------------------------------------------------
   37.6 CUPONUL DIN CARDUL DE REZUMAT
   ------------------------------------------------------------- */

.devos-coupon {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--devos-border);
}

.devos-coupon__toggle {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: 0;
    border: 0;
    background: none;
    font-family: var(--devos-font-body);
    font-size: .82rem;
    font-weight: 600;
    color: var(--devos-accent-2);
    cursor: pointer;
    transition: color var(--devos-transition);
}
.devos-coupon__toggle:hover { color: var(--devos-primary); }
.devos-coupon__toggle i { font-size: .75rem; }

.devos-coupon__row {
    display: flex;
    gap: .5rem;
    margin-top: .7rem;
}
.devos-coupon__row[hidden] { display: none; }

.devos-shop .devos-coupon__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: .6rem 1rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-white);
    font-size: .85rem;
}

.devos-shop .devos-coupon__apply {
    flex: 0 0 auto;
    padding: .6em 1.2em;
    font-size: .8rem;
}


/* -------------------------------------------------------------
   37.7 PARTICIPANȚI — editare pe loc
   ------------------------------------------------------------- */

/* „Modifică” e o acțiune secundară: nu concurează cu numele */
.devos-participants__edit {
    margin-top: .35rem;
    margin-left: 1.5rem;
    padding: 0;
    border: 0;
    background: none;
    font-family: var(--devos-font-body);
    font-size: .72rem;
    font-weight: 400;
    color: var(--devos-text-muted);
    text-decoration: none;
    cursor: pointer;
    transition: color var(--devos-transition);
}
.devos-participants__edit::before { content: '\270E\00a0'; opacity: .7; }
.devos-participants__edit:hover { color: var(--devos-accent-2); text-decoration: underline; }

.devos-participants.is-editing .devos-participants__edit {
    color: var(--devos-accent-2);
    font-weight: 600;
}

/* În modul de editare, numele lasă locul câmpului */
.devos-participants.is-editing .devos-participant__name { display: none; }

.devos-participants.is-editing .devos-participant { align-items: center; }

.devos-shop .devos-participant__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: .4rem .75rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-white);
    font-family: var(--devos-font-body);
    font-size: .8rem;
    line-height: 1.4;
    color: var(--devos-text-dark);
}
.devos-shop .devos-participant__input[hidden] { display: none; }

.devos-participant.is-saving { opacity: .5; }

.devos-participants__list { margin-bottom: 0; }


/* -------------------------------------------------------------
   37.8 LINKURI FĂRĂ SUBLINIERE, CÂMPURI MAI JOASE

   La finalizare sunt multe câmpuri unul sub altul; câteva sute de
   pixeli câștigați din înălțime scurtează vizibil formularul.
   ------------------------------------------------------------- */

.devos-shop a:hover,
.devos-shop .devos-participants__edit:hover,
.devos-shop .woocommerce-MyAccount-content a:hover,
.devos-shop .devos-coupon__toggle:hover,
.devos-page__content a:hover { text-decoration: none; }

/* „Salvează” e acțiunea care închide editarea: merită să se vadă */
.devos-participants__edit {
    font-size: .78rem;
}
.devos-participants.is-editing .devos-participants__edit {
    font-size: .85rem;
    font-weight: 700;
    color: var(--devos-accent-2);
}
.devos-participants.is-editing .devos-participants__edit::before { content: '\2713\00a0'; }

/* ---- Câmpuri mai joase ---- */

.devos-shop form .form-row input.input-text,
.devos-shop form .form-row input[type="text"],
.devos-shop form .form-row input[type="email"],
.devos-shop form .form-row input[type="tel"],
.devos-shop form .form-row input[type="password"],
.devos-shop form .form-row select,
.devos-shop form .form-row .select2-container .select2-selection--single {
    padding: .58rem 1.05rem;
    font-size: .9rem;
}

.devos-shop form .form-row textarea {
    min-height: 5rem;
    padding: .65rem 1.05rem;
    font-size: .9rem;
}

.devos-shop form .form-row { margin-bottom: .85rem; }
.devos-shop form .form-row label {
    font-size: .8rem;
    margin-bottom: .25rem;
}

.devos-shop .devos-coupon__input { padding: .5rem .95rem; }
.devos-shop .devos-participant__input { padding: .34rem .7rem; }


/* -------------------------------------------------------------
   37.9 TOATE CÂMPURILE, LA ACEEAȘI ÎNĂLȚIME

   Câmpul de participant și cel de cupon nu stau într-un
   `.form-row`, deci nu prindeau regula de mai sus și rămâneau mai
   înalte. Aici primesc exact aceleași valori.
   ------------------------------------------------------------- */

.devos-shop .devos-participants .devos-participant__input,
.devos-shop .devos-coupon .devos-coupon__input {
    box-sizing: border-box;
    padding: .58rem 1.05rem;
    font-size: .9rem;
    line-height: 1.4;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
}

/* Numărul participantului rămâne aliniat cu mijlocul câmpului */
.devos-participants.is-editing .devos-participant {
    align-items: center;
    gap: .6rem;
}


/* -------------------------------------------------------------
   37.10 ADRESA DE FACTURARE ȘI TEXTAREA

   Câmpurile de facturare revin (factura le cere, mai ales la plata
   pe firmă), așezate pe două coloane. Câmpul de țară nu mai e
   ascuns.
   ------------------------------------------------------------- */

.devos-shop form #billing_country_field,
.devos-shop .form-row.devos-hidden-field { display: block !important; }

.devos-shop form .form-row-first { grid-column: 1; }
.devos-shop form .form-row-last { grid-column: 2; }
.devos-shop form .form-row-wide,
.devos-shop form #billing_company_field,
.devos-shop form #billing_address_1_field,
.devos-shop form .devos-buyer-participant { grid-column: 1 / -1; }

/* Select2, la aceeași înălțime cu restul câmpurilor */
.devos-shop form .form-row .select2-container .select2-selection--single {
    height: auto;
    padding: .58rem 1.05rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-white);
}
.devos-shop form .form-row .select2-container .select2-selection__rendered {
    padding: 0;
    line-height: 1.4;
    color: var(--devos-text-dark);
    font-size: .9rem;
}
.devos-shop form .form-row .select2-container .select2-selection__arrow { height: 100%; right: .75rem; }

/* Bordura casetei de mențiuni era mai apăsată decât a câmpurilor */
.devos-shop form .form-row textarea,
.devos-shop textarea {
    border: 1px solid var(--devos-border);
    border-color: var(--devos-border);
    outline: none;
    box-shadow: none;
    resize: vertical;
}

@media (max-width: 560px) {
    .devos-shop form .form-row-first,
    .devos-shop form .form-row-last { grid-column: 1 / -1; }
}


/* -------------------------------------------------------------
   37.11 STĂRILE DE VALIDARE

   WooCommerce marchează câmpurile cu roșu aprins (#a00) și verde
   la validare. Roșul rămâne, dar discret, iar în momentul în care
   omul intră în câmp ca să repare, marcajul dispare: eroarea are
   rost cât timp nu ești acolo, nu cât scrii.
   ------------------------------------------------------------- */

.devos-shop form .form-row.woocommerce-invalid input.input-text,
.devos-shop form .form-row.woocommerce-invalid input[type="text"],
.devos-shop form .form-row.woocommerce-invalid input[type="email"],
.devos-shop form .form-row.woocommerce-invalid input[type="tel"],
.devos-shop form .form-row.woocommerce-invalid select,
.devos-shop form .form-row.woocommerce-invalid .select2-container .select2-selection--single,
.devos-shop form .form-row.woocommerce-invalid textarea {
    border-color: rgba(195, 84, 60, .5);
    box-shadow: none;
}

/* Cât timp scrii, câmpul e neutru */
.devos-shop form .form-row.woocommerce-invalid input:focus,
.devos-shop form .form-row.woocommerce-invalid select:focus,
.devos-shop form .form-row.woocommerce-invalid textarea:focus,
.devos-shop form .form-row.woocommerce-validated input:focus,
.devos-shop form .form-row.woocommerce-validated textarea:focus {
    border-color: var(--devos-border);
    outline: none;
    box-shadow: none;
}

/* Verdele de „câmp valid” nu aduce nimic: îl scoatem */
.devos-shop form .form-row.woocommerce-validated input.input-text,
.devos-shop form .form-row.woocommerce-validated select,
.devos-shop form .form-row.woocommerce-validated .select2-container .select2-selection--single,
.devos-shop form .form-row.woocommerce-validated textarea {
    border-color: var(--devos-border);
}

/* Eticheta câmpului cu eroare rămâne în culoarea obișnuită */
.devos-shop form .form-row.woocommerce-invalid label { color: var(--devos-primary); }

/* Conturul de la navigarea cu tastatura, mai blând */
.devos-shop form .form-row input:focus-visible,
.devos-shop form .form-row textarea:focus-visible,
.devos-shop form .form-row select:focus-visible {
    outline: 2px solid rgba(0, 31, 63, .3);
    outline-offset: 1px;
}

/* Țara ocupă rândul ei; județul și localitatea îl împart pe următorul */
.devos-shop form #billing_country_field { grid-column: 1 / -1; }
.devos-shop form #billing_state_field { grid-column: 1; }
.devos-shop form #billing_city_field { grid-column: 2; }


/* -------------------------------------------------------------
   37.12 AȘEZAREA CÂMPURILOR, PE ID

   Clasele `form-row-first` / `form-row-last` sunt rescrise de
   JavaScript-ul de localizare al WooCommerce la fiecare schimbare
   de țară. Poziționarea pe id, cu `order` și `grid-column`, nu
   depinde de ele și nici de ordinea din DOM.
   ------------------------------------------------------------- */

.devos-shop form .woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1rem;
}

.devos-shop form #billing_first_name_field { order: 1; grid-column: 1; }
.devos-shop form #billing_last_name_field  { order: 2; grid-column: 2; }
.devos-shop form #billing_email_field      { order: 3; grid-column: 1; }
.devos-shop form #billing_phone_field      { order: 4; grid-column: 2; }
.devos-shop form #billing_company_field    { order: 5; grid-column: 1 / -1; }
.devos-shop form #billing_country_field    { order: 6; grid-column: 1 / -1; }
.devos-shop form #billing_state_field      { order: 7; grid-column: 1; }
.devos-shop form #billing_city_field       { order: 8; grid-column: 2; }
.devos-shop form #billing_address_1_field  { order: 9; grid-column: 1 / -1; }
.devos-shop form .devos-buyer-participant  { order: 10; grid-column: 1 / -1; }

/* Câmpuri pe care localizarea le poate readuce */
.devos-shop form #billing_postcode_field,
.devos-shop form #billing_address_2_field { display: none !important; }

@media (max-width: 560px) {
    .devos-shop form .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
    .devos-shop form .woocommerce-billing-fields__field-wrapper > .form-row { grid-column: 1 !important; }
}


/* -------------------------------------------------------------
   37.13 ZERO EFECT LA FOCALIZARE PE CÂMPURI

   `:focus-visible` nu e doar pentru tastatură: browserele îl
   potrivesc și la click pe câmpurile de text, pentru că acolo
   consideră indicatorul necesar. De aceea conturul apărea în
   continuare. Îl scoatem de pe câmpuri; rămâne pe butoane și
   linkuri, unde nu deranjează pe nimeni și chiar ajută la Tab.
   ------------------------------------------------------------- */

.devos-shop input:focus,
.devos-shop input:focus-visible,
.devos-shop textarea:focus,
.devos-shop textarea:focus-visible,
.devos-shop select:focus,
.devos-shop select:focus-visible,
.devos-shop form .form-row input:focus,
.devos-shop form .form-row input:focus-visible,
.devos-shop form .form-row textarea:focus,
.devos-shop form .form-row textarea:focus-visible,
.devos-shop form .form-row select:focus,
.devos-shop form .form-row select:focus-visible,
.devos-shop .select2-container--focus .select2-selection--single,
.devos-shop .select2-container--open .select2-selection--single {
    outline: none !important;
    box-shadow: none !important;
    border-color: var(--devos-border) !important;
}

/* Câmpurile din coș și cele de participant, la fel */
.devos-shop .devos-ticket-names input:focus,
.devos-shop .devos-ticket-names input:focus-visible,
.devos-shop .devos-participant__input:focus,
.devos-shop .devos-participant__input:focus-visible,
.devos-shop .devos-coupon__input:focus,
.devos-shop .devos-coupon__input:focus-visible,
.devos-shop .quantity input.qty:focus,
.devos-shop .quantity input.qty:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}
.devos-shop .devos-ticket-names input:focus,
.devos-shop .devos-participant__input:focus,
.devos-shop .devos-coupon__input:focus { border-color: var(--devos-border) !important; }


/* Bifa „Particip și eu” stă deja într-un card: nu are nevoie de
   o casetă proprie */
.devos-shop .devos-buyer-participant {
    padding: .25rem 0 0;
    background: transparent;
    border-radius: 0;
}


/* -------------------------------------------------------------
   37.14 TOTALURILE — fără linii și fără fundal pe total
   ------------------------------------------------------------- */

.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr th,
.devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr td {
    border-top: 0;
    border-bottom: 0;
    background: transparent;
}

.devos-shop .woocommerce-checkout-review-order .order-total th,
.devos-shop .woocommerce-checkout-review-order .order-total td {
    background: transparent;
}

/* Totalul iese în evidență prin mărime, nu printr-o casetă */
.devos-shop .woocommerce-checkout-review-order .order-total th {
    color: var(--devos-primary);
}
.devos-shop .woocommerce-checkout-review-order .order-total .amount {
    font-size: 1.35rem;
}


/* Bifa „Particip și eu”, când nu mai e niciun bilet liber */
.devos-shop .devos-buyer-participant.is-disabled { opacity: .55; }
.devos-shop .devos-buyer-participant.is-disabled .devos-checkbox { cursor: not-allowed; }
.devos-shop .devos-buyer-participant.is-disabled input[type="checkbox"] { cursor: not-allowed; }


/* Caseta de mențiuni: aceeași bordură ca restul câmpurilor.
   Browserul îi dă un gri închis implicit, pe care regulile
   generale nu-l prindeau de fiecare dată. */
.devos-shop textarea,
.devos-shop form textarea,
.devos-shop form .form-row textarea,
.devos-shop #order_comments,
.devos-shop textarea#order_comments {
    border: 1px solid var(--devos-border) !important;
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-white);
    box-shadow: none;
}


/* =============================================================
   38. PAGINA DE MULȚUMIRE

   Ultima pagină din flux: confirmă comanda, spune ce urmează și
   arată biletele. Aceleași carduri ca la coș și finalizare.
   ============================================================= */

.devos-shop .woocommerce-order { max-width: 860px; }

/* Mesajul de confirmare */
.devos-shop .woocommerce-thankyou-order-received,
.devos-shop .woocommerce-notice--success {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    margin: 0 0 1.75rem;
    padding: 1.1rem 1.25rem;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    font-size: .95rem;
    line-height: 1.6;
    color: var(--devos-text-dark);
}
.devos-shop .woocommerce-thankyou-order-received::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.5rem;
    height: 1.5rem;
    margin-top: .05rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-accent);
    color: var(--devos-primary);
    font-size: .7rem;
}

/* ---- Sumarul comenzii ---- */

.devos-shop ul.woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 1.25rem 1.5rem;
    margin: 0 0 2.25rem;
    padding: 1.35rem 1.5rem;
    list-style: none;
    background: var(--devos-bg-light);
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
}

/* WooCommerce pune un clearfix pe această listă. Într-o grilă,
   `::before` și `::after` devin celule reale: prima împingea toate
   datele cu o coloană la dreapta, iar metoda de plată cădea pe rândul
   următor. */
.devos-shop ul.woocommerce-order-overview::before,
.devos-shop ul.woocommerce-order-overview::after { content: none; display: none; }

.devos-shop ul.woocommerce-order-overview li {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    float: none;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
    word-break: break-word;
}

.devos-shop ul.woocommerce-order-overview li strong {
    font-family: var(--devos-font-heading);
    font-size: .98rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
    color: var(--devos-primary);
    overflow-wrap: anywhere;
}
.devos-shop ul.woocommerce-order-overview li.email strong { font-size: .88rem; }

/* ---- Titluri ---- */

.devos-shop .woocommerce-order-details__title,
.devos-shop .woocommerce-column__title,
.devos-shop .woocommerce-customer-details h2 {
    font-family: var(--devos-font-heading);
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--devos-primary);
    margin: 0 0 1rem;
}

/* ---- Tabelul comenzii ---- */

.devos-shop table.woocommerce-table--order-details {
    width: 100%;
    margin-bottom: 2.25rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: var(--devos-bg-white);
}

.devos-shop table.woocommerce-table--order-details thead th {
    background: var(--devos-bg-light);
    padding: .9rem 1.25rem;
    border-bottom: 1px solid var(--devos-border);
}

.devos-shop table.woocommerce-table--order-details tbody td {
    padding: .9rem 1.25rem;
    border-bottom: 0;
    background: transparent;
}
.devos-shop table.woocommerce-table--order-details tbody tr:last-child td {
    padding-bottom: 1.1rem;
    border-bottom: 1px solid var(--devos-border);
}

.devos-shop table.woocommerce-table--order-details td.woocommerce-table__product-name a {
    font-family: var(--devos-font-heading);
    font-weight: 700;
    color: var(--devos-primary);
}
.devos-shop table.woocommerce-table--order-details .product-quantity {
    color: var(--devos-text-muted);
    font-weight: 600;
}

/* Totalurile: fără fundal gri, fără linii între ele */
.devos-shop table.woocommerce-table--order-details tfoot th,
.devos-shop table.woocommerce-table--order-details tfoot td {
    padding: .55rem 1.25rem;
    border: 0;
    background: transparent;
    text-align: right;
}
.devos-shop table.woocommerce-table--order-details tfoot th {
    text-align: left;
    font-family: var(--devos-font-heading);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
}
.devos-shop table.woocommerce-table--order-details tfoot tr:first-child th,
.devos-shop table.woocommerce-table--order-details tfoot tr:first-child td { padding-top: 1rem; }
.devos-shop table.woocommerce-table--order-details tfoot tr:last-child th,
.devos-shop table.woocommerce-table--order-details tfoot tr:last-child td { padding-bottom: 1.1rem; }

/* ---- Datele de facturare ---- */

.devos-shop .woocommerce-customer-details { margin-bottom: 2rem; }

.devos-shop .woocommerce-customer-details address {
    padding: 1.25rem 1.4rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-light);
    font-style: normal;
    font-size: .92rem;
    line-height: 1.75;
    color: var(--devos-text-dark);
}
.devos-shop .woocommerce-customer-details address p { margin: .5rem 0 0; }
.devos-shop .woocommerce-customer-details .woocommerce-customer-details--phone,
.devos-shop .woocommerce-customer-details .woocommerce-customer-details--email {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--devos-text-muted);
    font-size: .88rem;
}

/* ---- Biletele, dacă modulul le afișează aici ---- */

.devos-shop .saso_eventtickets_ticket_info,
.devos-shop .saso-ticket-download,
.devos-shop [class*="ticket_info_btns"] {
    margin-bottom: 2rem;
}
.devos-shop [class*="ticket"] .button {
    margin-right: .5rem;
    margin-bottom: .5rem;
}

@media (max-width: 768px) {
    .devos-shop ul.woocommerce-order-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem 1.25rem;
        padding: 1.15rem 1.25rem;
    }
    .devos-shop table.woocommerce-table--order-details thead th,
    .devos-shop table.woocommerce-table--order-details tbody td,
    .devos-shop table.woocommerce-table--order-details tfoot th,
    .devos-shop table.woocommerce-table--order-details tfoot td {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .devos-shop .woocommerce-customer-details address { padding: 1.1rem; }
}


/* -------------------------------------------------------------
   38.1 PAGINA DE MULȚUMIRE, PE TOATĂ LĂȚIMEA
   ------------------------------------------------------------- */

.devos-shop .woocommerce-order { max-width: none; }

/* Notificarea de confirmare urmează lățimea conținutului, nu pe cea
   îngustă a toast-urilor */
.devos-shop .woocommerce-order .woocommerce-thankyou-order-received,
.devos-shop .woocommerce-order .woocommerce-notice--success,
.devos-shop .woocommerce-order .woocommerce-message,
.devos-shop .woocommerce-order .woocommerce-info {
    max-width: none;
    width: 100%;
}

/* Textul de sub sumar, în ritmul paginii */
.devos-shop .woocommerce-order > p { margin-bottom: 1.75rem; }


/* -------------------------------------------------------------
   38.2 DETALIILE COMENZII — totalurile și participanții

   Șablonul WooCommerce nu pune nicio clasă pe rândurile din subsol,
   deci singurul cârlig era `tr:last-child` — iar ultimul rând e
   metoda de plată, nu totalul. Le dăm clase în șablonul propriu și
   păstrăm valorile în coloana prețurilor, ca să se alinieze cu ele.
   ------------------------------------------------------------- */

/* Valoarea stă în aceeași coloană ca prețurile biletelor, deci se
   aliniază cu ele. `nowrap` lățește coloana cât să încapă metoda de
   plată, în loc să o rupă pe cinci rânduri. */
.devos-shop table.woocommerce-table--order-details tfoot th,
.devos-shop table.woocommerce-table--order-details tfoot td {
    padding: .4rem 1.25rem;
    border: 0;
    background: transparent;
}

/* Etichetă și valoare, la aceeași scară */
.devos-shop table.woocommerce-table--order-details tfoot th {
    font-family: var(--devos-font-body);
    font-size: .92rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    text-align: left;
    white-space: nowrap;
    color: var(--devos-text-muted);
}

.devos-shop table.woocommerce-table--order-details tfoot td {
    font-family: var(--devos-font-body);
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: right;
    white-space: nowrap;
    color: var(--devos-text-dark);
}

/* Doar totalul e accentuat, și nu cu mai mult de o treaptă */
.devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--order_total th,
.devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--order_total td {
    font-family: var(--devos-font-heading);
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--devos-primary);
}

/* Metoda de plată e o informație, nu un total */
.devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--payment_method td,
.devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--note td {
    color: var(--devos-text-muted);
    font-weight: 400;
}
.devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--note td { white-space: normal; }

/* Rândul de acțiuni, din „Contul meu”, nu e un total */
.devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--actions th,
.devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--actions td {
    padding-top: .9rem;
    border-top: 1px solid var(--devos-border);
    white-space: normal;
    vertical-align: middle;
}
.devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--actions td .button {
    margin: 0 0 0 .5rem;
}

/* ---- Rândurile de bilete ---- */

.devos-shop table.woocommerce-table--order-details thead th.woocommerce-table__product-table,
.devos-shop table.woocommerce-table--order-details td.woocommerce-table__product-total { text-align: right; }
.devos-shop table.woocommerce-table--order-details thead th:first-child { text-align: left; }

.devos-shop table.woocommerce-table--order-details td.woocommerce-table__product-name {
    font-family: var(--devos-font-heading);
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--devos-primary);
}
.devos-shop table.woocommerce-table--order-details td.woocommerce-table__product-total,
.devos-shop table.woocommerce-table--order-details td.woocommerce-table__product-total .amount {
    font-family: var(--devos-font-body);
    font-size: .95rem;
    font-weight: 600;
    color: var(--devos-text-dark);
    white-space: nowrap;
}

/* ---- Participanții, sub fiecare bilet ---- */

.devos-participants--order {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin: .5rem 0 0;
    padding: 0;
    list-style: none;
    border: 0;
}

.devos-participants--order .devos-participant {
    font-family: var(--devos-font-body);
    font-size: .85rem;
    font-weight: 400;
    color: var(--devos-text-muted);
}

/* Un singur participant nu are nevoie de numerotare */
.devos-participants--order .devos-participant:only-child .devos-participant__index { display: none; }

@media (max-width: 560px) {
    .devos-shop table.woocommerce-table--order-details tfoot th,
    .devos-shop table.woocommerce-table--order-details tfoot td {
        padding-left: 1rem;
        padding-right: 1rem;
        white-space: normal;
    }
}


/* -------------------------------------------------------------
   38.3 DETALIILE COMENZII PE MOBIL

   Secțiunea 34 transformă orice `table.shop_table` în fișe: ascunde
   antetul, face din fiecare `td` un rând flex aliniat la dreapta și
   lipește eticheta din `data-title`. Funcționează pentru coș, unde
   celulele au `data-title`. Tabelul comenzii nu are: `attr()`
   întorcea gol, iar `space-between` împingea denumirea, „× 1” și
   lista de participanți una lângă alta, aliniate la dreapta.

   Aici îi dăm tabelului comenzii propria așezare pe mobil.
   ------------------------------------------------------------- */

@media (max-width: 768px) {

    .devos-shop table.woocommerce-table--order-details thead { display: none; }

    .devos-shop table.woocommerce-table--order-details tr {
        display: block;
        border-bottom: 1px solid var(--devos-border);
    }
    .devos-shop table.woocommerce-table--order-details tbody tr:last-child { border-bottom: 0; }

    /* O poziție = o fișă: denumire, participanți, preț */
    .devos-shop table.woocommerce-table--order-details tbody td {
        display: block;
        gap: 0;
        padding: 0 1rem;
        border: 0;
        text-align: left;
    }
    .devos-shop table.woocommerce-table--order-details tbody td::before { content: none; }

    .devos-shop table.woocommerce-table--order-details tbody tr.order_item { padding: .95rem 0; }

    .devos-shop table.woocommerce-table--order-details td.woocommerce-table__product-name {
        font-size: 1rem;
        line-height: 1.35;
    }

    .devos-shop table.woocommerce-table--order-details td.woocommerce-table__product-total {
        margin-top: .5rem;
        text-align: right;
        font-size: 1rem;
        font-weight: 700;
        color: var(--devos-primary);
    }

    .devos-participants--order { margin-top: .45rem; }
    .devos-participants--order .devos-participant { align-items: flex-start; }

    /* ---- Totalurile: etichetă la stânga, valoare la dreapta ---- */

    .devos-shop table.woocommerce-table--order-details tfoot { display: block; }

    .devos-shop table.woocommerce-table--order-details tfoot tr {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 1rem;
        border-bottom: 0;
    }
    .devos-shop table.woocommerce-table--order-details tfoot tr:first-child { padding-top: .5rem; }
    .devos-shop table.woocommerce-table--order-details tfoot tr:last-child { padding-bottom: .5rem; }

    .devos-shop table.woocommerce-table--order-details tfoot th,
    .devos-shop table.woocommerce-table--order-details tfoot td {
        display: block;
        padding: .35rem 1rem;
        white-space: normal;
    }
    .devos-shop table.woocommerce-table--order-details tfoot th { flex: 0 0 auto; }
    .devos-shop table.woocommerce-table--order-details tfoot td {
        flex: 1 1 auto;
        text-align: right;
    }

    /* Rândul de acțiuni, din „Contul meu”, se desface pe verticală */
    .devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--actions {
        flex-direction: column;
        align-items: stretch;
        gap: .5rem;
        padding-top: .85rem;
    }
    .devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--actions th {
        border-top: 1px solid var(--devos-border);
        padding-top: .85rem;
    }
    .devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--actions td {
        border-top: 0;
        padding-top: 0;
        text-align: left;
    }
    .devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--actions td .button {
        display: block;
        width: 100%;
        margin: 0 0 .5rem;
        text-align: center;
    }
}

@media (max-width: 420px) {

    .devos-shop ul.woocommerce-order-overview { grid-template-columns: 1fr; }

    .devos-shop table.woocommerce-table--order-details td.woocommerce-table__product-name {
        font-size: .95rem;
    }

    /* Sub 420px nu mai încape „Metodă de plată” lângă valoare */
    .devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--payment_method,
    .devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--note {
        flex-direction: column;
        align-items: stretch;
        gap: .1rem;
    }
    .devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--payment_method td,
    .devos-shop table.woocommerce-table--order-details tfoot tr.devos-total--note td {
        text-align: left;
    }

    .devos-participants--order .devos-participant { font-size: .8rem; }
}


/* =============================================================
   39. ANTETUL DE PAGINĂ — compact și centrat

   Banda albastră de sub meniu ocupa aproape un ecran pe desktop:
   până la 10rem de spațiu deasupra și un titlu de 3.2rem. Pe o
   pagină de coș sau de mulțumire, unde conținutul e ce contează,
   asta împingea totul sub linia de pliere.

   Aici o strângem și centrăm titlul. Marginea de sus rămâne cât să
   treacă de meniul fix, restul se taie.
   ============================================================= */

.devos-shop__header,
.devos-page__header {
    /* Înălțimea meniului fix (2 × 1.1rem padding + butonul de coș) și
       aerul din jurul titlului. Spațiul de sus trebuie să le conțină
       pe amândouă, altfel titlul intră sub meniu; scăzând meniul,
       rămâne exact cât e și jos. */
    /* Înălțimea reală a meniului, măsurată de JS înainte să se
       strângă. Valoarea de rezervă acoperă momentul de dinainte. */
    --devos-nav-h: var(--devos-header-h-top, 5rem);
    --devos-hero-gap: clamp(2rem, 3vw, 2.75rem);

    padding-top: calc(var(--devos-nav-h) + var(--devos-hero-gap));
    padding-bottom: var(--devos-hero-gap);
    margin-bottom: clamp(2rem, 4vw, 3rem);
    text-align: center;
}

/* Pata de lumină urmează textul, acum că e la mijloc */
.devos-shop__header::after {
    inset: auto -10% -70% -10%;
    height: 150%;
    background: radial-gradient(circle at 50% 100%, var(--devos-axis-soft, rgba(207,222,75,.16)) 0%, transparent 62%);
}

.devos-shop__title,
.devos-page__title {
    font-size: clamp(1.3rem, 2.1vw, 1.65rem);
    line-height: 1.25;
    letter-spacing: -.01em;
}

.devos-shop__lead {
    margin: .45rem auto 0;
    max-width: 620px;
    font-size: .92rem;
    line-height: 1.55;
}

.devos-page__meta { margin-top: .5rem; }

@media (max-width: 782px) {
    .devos-shop__header,
    .devos-page__header {
        --devos-nav-h: var(--devos-header-h-top, 4.6rem);
        --devos-hero-gap: 1.6rem;
        margin-bottom: 1.75rem;
    }
    .devos-shop__title,
    .devos-page__title { font-size: 1.3rem; }
    .devos-shop__lead { font-size: .88rem; }
}

@media (max-width: 420px) {
    .devos-shop__header,
    .devos-page__header {
        --devos-nav-h: var(--devos-header-h-top, 4.4rem);
        --devos-hero-gap: 1.35rem;
    }
    .devos-shop__title,
    .devos-page__title { font-size: 1.18rem; }
    .devos-shop__lead { font-size: .84rem; }
}


/* =============================================================
   40. COȘUL GOL

   Un coș gol nu e o eroare, e momentul în care omul încă alege.
   În loc de o notificare cenușie și un link, îi punem alegerea în
   față: tipurile de acces, cu prețul etapei curente.
   ============================================================= */

.devos-empty-cart {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 0 1rem;
    text-align: center;
}

.devos-empty-cart__intro { margin-bottom: 2.25rem; }

/* ---- Biletul desenat ---- */

.devos-empty-cart__stage {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 5.5rem;
    margin-bottom: 3rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-primary);
    color: var(--devos-accent);
    font-size: 1.85rem;
}

/* Două cercuri care se sting spre exterior, ca un puls oprit în loc */
.devos-empty-cart__stage::before,
.devos-empty-cart__stage::after {
    content: '';
    position: absolute;
    inset: -.75rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
    pointer-events: none;
}
.devos-empty-cart__stage::after {
    inset: -1.65rem;
    opacity: .55;
}

.devos-empty-cart__stage i { position: relative; transform: rotate(-20deg); }

.devos-empty-cart__title {
    font-family: var(--devos-font-heading);
    font-size: clamp(1.35rem, 2.4vw, 1.8rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.015em;
    color: var(--devos-primary);
    margin: 0 0 .6rem;
}

.devos-empty-cart__lead {
    max-width: 540px;
    margin: 0 auto;
    font-size: .98rem;
    line-height: 1.65;
    color: var(--devos-text-muted);
}

.devos-empty-cart__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5rem 1.5rem;
    margin: 1.1rem 0 0;
    padding: 0;
    list-style: none;
}
.devos-empty-cart__meta li {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    color: var(--devos-text-muted);
}
.devos-empty-cart__meta i { color: var(--devos-accent-2); }

/* ---- Tipurile de acces ---- */

.devos-empty-cart__picks {
    display: grid;
    gap: .6rem;
    margin-bottom: 2rem;
    text-align: left;
}

.devos-empty-pick {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-white);
    text-decoration: none;
    transition: border-color var(--devos-transition), transform var(--devos-transition);
}
.devos-empty-pick:hover,
.devos-empty-pick:focus-visible {
    border-color: var(--devos-primary);
    transform: translateX(3px);
    text-decoration: none;
}

.devos-empty-pick__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-light);
    color: var(--devos-primary);
    font-size: .95rem;
}

.devos-empty-pick__body {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
    flex: 1 1 auto;
}

.devos-empty-pick__name {
    font-family: var(--devos-font-heading);
    font-size: .98rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--devos-primary);
}

.devos-empty-pick__lead {
    font-size: .84rem;
    line-height: 1.45;
    color: var(--devos-text-muted);
}

.devos-empty-pick__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .1rem;
    flex: 0 0 auto;
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 800;
    white-space: nowrap;
    color: var(--devos-primary);
}
.devos-empty-pick__price small {
    font-family: var(--devos-font-body);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
}
.devos-empty-pick__price .woocommerce-Price-amount { font-size: inherit; }

/* ---- Butoanele ---- */

.devos-empty-cart__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .75rem;
}

@media (max-width: 560px) {

    .devos-empty-cart__stage {
        width: 4.5rem;
        height: 4.5rem;
        margin-bottom: 2.4rem;
        font-size: 1.5rem;
    }
    .devos-empty-cart__stage::after { inset: -1.25rem; }

    .devos-empty-cart__lead { font-size: .92rem; }

    .devos-empty-pick {
        flex-wrap: wrap;
        gap: .75rem;
        padding: .9rem 1rem;
    }
    .devos-empty-pick__body { flex: 1 1 60%; }
    .devos-empty-pick__price {
        flex: 1 1 100%;
        flex-direction: row;
        align-items: baseline;
        justify-content: flex-start;
        gap: .5rem;
        padding-left: 3.5rem;
    }

    .devos-empty-cart__actions { flex-direction: column; align-items: stretch; }
    .devos-empty-cart__actions .devos-btn { justify-content: center; }
}


/* =============================================================
   41. PREÎNREGISTRARE ȘI CERERI DE PARTENERIAT

   Pagina care a luat locul biletului de 0 lei. Formular în stânga,
   contextul evenimentului în dreapta. Aceleași câmpuri rotunjite ca
   la finalizarea comenzii, ca fluxul să pară același site.
   ============================================================= */

.devos-leads { padding-bottom: var(--devos-section-py); background: var(--devos-bg-white); }

.devos-leads__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
}

/* ---- Formularul ---- */

.devos-leads__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1rem;
    padding: 1.75rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-white);
}

.devos-field { margin: 0 0 .85rem; }
.devos-field--wide { grid-column: 1 / -1; }

.devos-field > label {
    display: block;
    margin-bottom: .25rem;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--devos-primary);
}
.devos-field > label abbr { border: 0; text-decoration: none; color: var(--devos-accent-2); }

.devos-field input[type="text"],
.devos-field input[type="email"],
.devos-field input[type="tel"],
.devos-field input[type="number"],
.devos-field select {
    box-sizing: border-box;
    width: 100%;
    padding: .58rem 1.05rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-white);
    font-family: var(--devos-font-body);
    font-size: .9rem;
    line-height: 1.4;
    color: var(--devos-text-dark);
}

.devos-field textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 5rem;
    padding: .65rem 1.05rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-white);
    font-family: var(--devos-font-body);
    font-size: .9rem;
    line-height: 1.6;
    color: var(--devos-text-dark);
    resize: vertical;
}

/* Aceeași decizie ca la checkout: fără halou la click */
.devos-field input:focus,
.devos-field select:focus,
.devos-field textarea:focus {
    outline: none;
    box-shadow: none;
    border-color: var(--devos-primary);
}

/* Capcana pentru roboți nu trebuie văzută, dar nici ascunsă de tot
   cu `display: none` — unele completări automate o sar atunci. */
.devos-leads__trap {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.devos-leads__consent { margin-top: .25rem; }

.devos-leads__consent .devos-checkbox {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: 0;
    font-size: .84rem;
    font-weight: 400;
    line-height: 1.55;
    color: var(--devos-text-muted);
    cursor: pointer;
}
.devos-leads__consent .devos-checkbox input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1.05rem;
    height: 1.05rem;
    margin: .15rem 0 0;
    accent-color: var(--devos-accent-2);
    cursor: pointer;
}

.devos-leads__submit { margin: .5rem 0 0; }
.devos-leads__submit .devos-btn { width: 100%; justify-content: center; }

.devos-leads__error {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: 0 0 1.25rem;
    padding: .9rem 1.1rem;
    border-radius: var(--devos-radius-md);
    border-left: 3px solid #c3543c;
    background: var(--devos-bg-light);
    font-size: .9rem;
    line-height: 1.55;
    color: var(--devos-text-dark);
}
.devos-leads__error i { color: #c3543c; margin-top: .15rem; }

/* ---- Coloana de context ---- */

.devos-leads__side {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.devos-leads__card {
    padding: 1.5rem;
    border-radius: var(--devos-radius-lg);
    background: var(--devos-primary);
    color: var(--devos-text-white);
}

.devos-leads__card-label {
    display: block;
    margin-bottom: .5rem;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--devos-accent);
}

.devos-leads__card-title {
    margin: 0 0 1rem;
    font-family: var(--devos-font-heading);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--devos-text-white);
}

.devos-leads__meta {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.devos-leads__meta li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-size: .88rem;
    line-height: 1.45;
    color: var(--devos-text-light);
}
.devos-leads__meta i { margin-top: .15rem; color: var(--devos-accent); }

/*
 * Invitatia la bilete tine locul vechii casete despre Business Expo:
 * aceeasi forma, ca bara laterala sa-si pastreze ritmul.
 */
.devos-leads__tickets {
    padding: 1.25rem 1.4rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-light);
}
.devos-leads__tickets-title {
    margin: 0 0 .5rem;
    font-family: var(--devos-font-heading);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.35;
    color: var(--devos-primary);
}

.devos-leads__tickets p {
    margin: 0 0 1.1rem;
    font-size: .89rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
}

/* Pe latimea textului, nu a casetei: intins pe tot randul arata ca o bara. */
.devos-leads__tickets-cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.devos-leads__packages {
    padding: 1.25rem 1.4rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
}
.devos-leads__packages .devos-leads__card-label { color: var(--devos-text-muted); }
.devos-leads__packages ul {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}
.devos-leads__packages li { display: flex; flex-direction: column; gap: .1rem; }
.devos-leads__packages strong {
    font-family: var(--devos-font-heading);
    font-size: .92rem;
    font-weight: 800;
    color: var(--devos-primary);
}
.devos-leads__packages span {
    font-size: .84rem;
    line-height: 1.5;
    color: var(--devos-text-muted);
}
.devos-leads__packages-link {
    font-size: .85rem;
    font-weight: 600;
    color: var(--devos-accent-2);
    text-decoration: none;
}
.devos-leads__packages-link:hover { color: var(--devos-primary); }

/* ---- După trimitere ---- */

.devos-leads__done {
    max-width: 560px;
    margin: 0 auto;
    padding: 2.5rem 2rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-light);
    text-align: center;
}
.devos-leads__done-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    margin-bottom: 1rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-accent);
    color: var(--devos-primary);
    font-size: 1.15rem;
}
.devos-leads__done h2 {
    margin: 0 0 .5rem;
    font-family: var(--devos-font-heading);
    font-size: 1.35rem;
    font-weight: 900;
    color: var(--devos-primary);
}
.devos-leads__done p {
    margin: 0 0 1.5rem;
    font-size: .96rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
}

.devos-leads__extra {
    margin-top: 2.5rem;
    font-size: .96rem;
    line-height: 1.75;
    color: var(--devos-text-dark);
}

@media (max-width: 900px) {
    .devos-leads__grid { grid-template-columns: 1fr; }
    .devos-leads__side { order: -1; }
}

@media (max-width: 560px) {
    .devos-leads__form {
        grid-template-columns: 1fr;
        padding: 1.25rem;
    }
    .devos-leads__card,
    .devos-leads__tickets,
    .devos-leads__packages { padding: 1.15rem 1.25rem; }
    .devos-leads__done { padding: 2rem 1.25rem; }
}


/* -------------------------------------------------------------
   41.2 „CE TE INTERESEAZĂ” — butoane, nu listă derulantă

   Lista derulantă nativă se deschide cu stilul sistemului: colțuri
   drepte, rând albastru de selecție, font propriu. Nu se poate
   stiliza, deci am scos-o. Cinci opțiuni încap oricum pe ecran.
   ------------------------------------------------------------- */

.devos-choices {
    margin: 0 0 1.1rem;
    padding: 0;
    border: 0;
}

.devos-choices legend {
    display: block;
    width: 100%;
    margin-bottom: .4rem;
    padding: 0;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--devos-primary);
}

.devos-choices__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: .5rem;
}

.devos-choice {
    position: relative;
    display: flex;
    align-items: center;
    gap: .6rem;
    min-height: 100%;
    padding: .6rem .8rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-white);
    cursor: pointer;
    transition: border-color var(--devos-transition), background var(--devos-transition);
}

/* Butonul radio rămâne acolo pentru tastatură și cititoare de ecran,
   dar desenăm noi cercul, ca să arate la fel în toate browserele. */
.devos-choice input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.devos-choice__mark {
    flex: 0 0 auto;
    width: 1.05rem;
    height: 1.05rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-white);
    transition: border-color var(--devos-transition), box-shadow var(--devos-transition);
}

.devos-choice:hover { border-color: var(--devos-text-muted); }

/* Punctul din cerc merge în orice browser; evidențierea cardului e un
   plus, unde `:has()` există. */
.devos-choice input:checked ~ .devos-choice__mark {
    border-color: var(--devos-primary);
    box-shadow: inset 0 0 0 4px var(--devos-primary);
}

.devos-choice:has( input:checked ) {
    border-color: var(--devos-primary);
    background: var(--devos-bg-light);
}

/* Conturul de tastatură se mută de pe input pe tot butonul */
.devos-choice:has( input:focus-visible ) {
    outline: 2px solid var(--devos-primary);
    outline-offset: 2px;
}

.devos-choice__body {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 0;
}

.devos-choice__name {
    font-size: .85rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--devos-primary);
}

.devos-choice__note {
    font-size: .74rem;
    line-height: 1.3;
    color: var(--devos-text-muted);
}

@media (max-width: 560px) {
    .devos-choices__list { grid-template-columns: 1fr; }
}


/* =============================================================
   42. ACCESUL GRATUIT, SUB BILETE

   Business Expo nu se cumpără: nu are preț, nu intră în coș, se ia
   prin preînregistrare. Într-o grilă cu biletele plătite, invita la
   o comparație care n-are sens. Aici stă într-o bandă proprie, cu
   alt ritm, ca să se vadă că e altceva.
   ============================================================= */

.devos-free-access {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2rem;
    align-items: center;
    margin-bottom: 0;
    padding: 1.75rem;
    border: 1px dashed var(--devos-border);
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-white);
}

.devos-free-access__body {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
}

.devos-free-access__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-light);
    color: var(--devos-primary);
    font-size: 1rem;
}

.devos-free-access__text { min-width: 0; }

.devos-free-access__label {
    display: block;
    margin-bottom: .3rem;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--devos-accent-2);
}

.devos-free-access__name {
    margin: 0 0 .35rem;
    font-family: var(--devos-font-heading);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--devos-primary);
}

.devos-free-access__lead {
    margin: 0 0 .75rem;
    font-size: .92rem;
    line-height: 1.55;
    color: var(--devos-text-muted);
}

.devos-free-access__list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.devos-free-access__list li {
    display: flex;
    align-items: flex-start;
    gap: .45rem;
    font-size: .85rem;
    line-height: 1.45;
    color: var(--devos-text-muted);
}
.devos-free-access__list i {
    flex: 0 0 auto;
    margin-top: .3em;
    font-size: .65rem;
    color: var(--devos-accent-2);
}

.devos-free-access__action {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .6rem;
    max-width: 17rem;
}
.devos-free-access__action .devos-btn { justify-content: center; }

.devos-free-access__note {
    margin: 0;
    font-size: .76rem;
    line-height: 1.5;
    color: var(--devos-text-muted);
}

@media (max-width: 900px) {
    .devos-free-access {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
    .devos-free-access__action { max-width: none; }
}

@media (max-width: 560px) {
    .devos-free-access { padding: 1.25rem; }
    .devos-free-access__body { gap: .85rem; }
    .devos-free-access__list { gap: .35rem; flex-direction: column; }
}


/* -------------------------------------------------------------
   34.23 LINKUL „VEZI COȘUL” DE SUB BUTON

   WooCommerce îl adaugă după butonul de adăugare în coș, prin AJAX.
   În card împinge restul în jos și rămâne acolo până la reîncărcare.
   Răspunsul îl dă notificarea din dreapta jos, ca peste tot.
   ------------------------------------------------------------- */

.devos-shop ul.products a.added_to_cart,
.devos-ticket-card a.added_to_cart { display: none !important; }


/* =============================================================
   43. CONTUL MEU — REFACUT

   WooCommerce așază pagina pe floats: meniul pe 30% în stânga,
   conținutul pe 68% în dreapta. În 30% dintr-un ecran larg, un rând
   de pastile se rupea în trei rânduri inegale — de aici meniul
   dezordonat. Trecem pe grilă și facem meniul vertical, cum arată
   orice panou de cont.

   Grila se aplică doar când există meniul: pagina de autentificare
   folosește același container, iar acolo formularul ar fi fost
   strivit în coloana îngustă.
   ============================================================= */

.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
    gap: 2.5rem;
    align-items: start;
}

/* Clearfix-ul WooCommerce ar deveni celulă în grilă */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::before,
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation)::after {
    content: none;
    display: none;
}

.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
    float: none;
    width: auto;
    margin: 0;
}

/* Notificările rămase inline trec peste ambele coloane */
.woocommerce-account .woocommerce > .woocommerce-message,
.woocommerce-account .woocommerce > .woocommerce-info,
.woocommerce-account .woocommerce > .woocommerce-error { grid-column: 1 / -1; }

/* ---- Meniul ---- */

.devos-shop .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin: 0;
    padding: 0;
    border-bottom: 0;
    list-style: none;
}

.devos-shop .woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .68rem .9rem;
    border-radius: var(--devos-radius-md);
    font-family: var(--devos-font-heading);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--devos-text-muted);
    text-decoration: none;
}

.devos-shop .woocommerce-MyAccount-navigation li a i {
    flex: 0 0 auto;
    width: 1.1rem;
    font-size: .85rem;
    text-align: center;
    color: var(--devos-text-muted);
    transition: color var(--devos-transition);
}

.devos-shop .woocommerce-MyAccount-navigation li a:hover {
    background: var(--devos-bg-light);
    color: var(--devos-primary);
    text-decoration: none;
}
.devos-shop .woocommerce-MyAccount-navigation li a:hover i { color: var(--devos-accent-2); }

.devos-shop .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--devos-primary);
    color: var(--devos-text-white);
}
.devos-shop .woocommerce-MyAccount-navigation li.is-active a i { color: var(--devos-accent); }

/* Dezautentificarea nu e o destinație ca celelalte */
.devos-shop .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: .45rem;
    padding-top: .45rem;
    border-top: 1px solid var(--devos-border);
}

/* ---- Antetul panoului ---- */

.devos-account__head { margin-bottom: 1.5rem; }

.devos-account__greeting {
    margin: 0 0 .3rem;
    font-family: var(--devos-font-heading);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.015em;
    color: var(--devos-primary);
}

.devos-account__status {
    margin: 0;
    font-size: .94rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
}

/* ---- Fișele ---- */

.devos-account__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.devos-account-card--event {
    grid-column: 1 / -1;
    padding: 1.5rem;
}

.devos-account-card--stat {
    gap: .15rem;
    padding: 1.25rem 1.35rem;
    background: var(--devos-bg-white);
}

.devos-account-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: .7rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-light);
    color: var(--devos-primary);
    font-size: .85rem;
}

.devos-account-card--stat .devos-account-card__label { margin-bottom: .2rem; }
.devos-account-card--stat .devos-account-card__number { font-size: 2rem; }

/* Evenimentul, pe două coloane: numele la stânga, datele la dreapta */
.devos-account-card--event {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem 2rem;
    align-items: center;
}
.devos-account-card--event .devos-account-card__label { grid-column: 1; margin-bottom: .35rem; }
.devos-account-card--event .devos-account-card__title { grid-column: 1; grid-row: 2; margin-bottom: 0; }
.devos-account-card--event .devos-account-card__meta { grid-column: 2; grid-row: 1 / span 2; }

@media (max-width: 900px) {
    .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
        /* `minmax(0, 1fr)`, nu `1fr`: altfel pista crește până la
           lățimea minimă a conținutului, iar banda meniului — care nu
           se mai rupe pe rânduri — ar fi lățit pagina în loc să se
           deruleze. */
        grid-template-columns: minmax(0, 1fr);
        gap: 1.75rem;
    }
    /* Meniul devine o bandă pe un singur rând, derulabilă lateral.
       Pe rânduri care se rup unde apucă — trei, două, unul — ocupa un
       sfert de ecran înainte să înceapă conținutul, iar coloanele
       neegale citeau greu. */
    .devos-shop .woocommerce-MyAccount-navigation {
        position: relative;
        min-width: 0;
    }

    .devos-shop .woocommerce-MyAccount-navigation ul {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: .4rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .devos-shop .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }

    .devos-shop .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .devos-shop .woocommerce-MyAccount-navigation li a {
        border: 1px solid var(--devos-border);
        white-space: nowrap;
    }
    .devos-shop .woocommerce-MyAccount-navigation li.is-active a { border-color: transparent; }

    /* Umbra din dreapta spune că banda continuă dincolo de margine. */
    .devos-shop .woocommerce-MyAccount-navigation::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 2.25rem;
        pointer-events: none;
        background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--devos-bg-white));
    }

    .devos-shop .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
    .devos-account-card--event {
        grid-template-columns: 1fr;
        gap: .9rem;
    }
    .devos-account-card--event .devos-account-card__meta { grid-column: 1; grid-row: auto; }
}

@media (max-width: 560px) {
    /* Cele două fișe cu numere rămân una lângă alta. Sunt scurte —
       un cuvânt și o cifră — iar una sub alta împingeau butoanele
       dincolo de marginea de jos a ecranului. Fișa evenimentului
       trece în continuare peste amândouă coloanele. */
    .devos-account-card--event { padding: 1.25rem; }
    .devos-account-card--stat { padding: 1rem 1.05rem; }
    .devos-account-card--stat .devos-account-card__number { font-size: 1.7rem; }
    .devos-account__greeting { font-size: 1.2rem; }
}


/* =============================================================
   44. LISTA DE COMENZI DIN CONT

   Prima celulă a fiecărui rând e un `<th scope="row">`, nu un `<td>`.
   Prindea stilul de antet — fundal gri, majuscule mici, spațiere de
   titlu — și ieșea o casetă cenușie cu „NR.105” în mijlocul rândului.
   ============================================================= */

.devos-shop table.woocommerce-orders-table tbody th {
    background: transparent;
    font-family: var(--devos-font-body);
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--devos-primary);
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--devos-border);
    vertical-align: middle;
}
.devos-shop table.woocommerce-orders-table tbody tr:last-child th { border-bottom: 0; }

.devos-shop table.woocommerce-orders-table tbody th a {
    font-family: var(--devos-font-heading);
    font-weight: 800;
    color: var(--devos-primary);
    text-decoration: none;
}
.devos-shop table.woocommerce-orders-table tbody th a:hover { color: var(--devos-accent-2); }

.devos-shop table.woocommerce-orders-table td { vertical-align: middle; }

/* ---- Starea, ca etichetă ---- */

.devos-shop .woocommerce-orders-table__cell-order-status {
    font-size: .82rem;
}
.devos-shop tr.woocommerce-orders-table__row .woocommerce-orders-table__cell-order-status {
    color: var(--devos-text-muted);
}
.devos-shop tr[class*="status-on-hold"] .woocommerce-orders-table__cell-order-status { color: #a1701a; }
.devos-shop tr[class*="status-processing"] .woocommerce-orders-table__cell-order-status { color: var(--devos-accent-2); }
.devos-shop tr[class*="status-completed"] .woocommerce-orders-table__cell-order-status { color: #2f7a4f; }
.devos-shop tr[class*="status-cancelled"] .woocommerce-orders-table__cell-order-status,
.devos-shop tr[class*="status-failed"] .woocommerce-orders-table__cell-order-status { color: #c3543c; }

/* ---- Total și acțiuni ---- */

.devos-shop .woocommerce-orders-table__header-order-total,
.devos-shop .woocommerce-orders-table__cell-order-total,
.devos-shop .woocommerce-orders-table__header-order-actions,
.devos-shop .woocommerce-orders-table__cell-order-actions { text-align: right; }

.devos-shop .woocommerce-orders-table__cell-order-total {
    font-size: .9rem;
    color: var(--devos-text-muted);
    white-space: nowrap;
}
.devos-shop .woocommerce-orders-table__cell-order-total .amount {
    font-family: var(--devos-font-heading);
    font-size: .98rem;
    font-weight: 800;
    color: var(--devos-primary);
}

/* Butonul de acțiune al WooCommerce n-avea niciun stil al nostru */
.devos-shop .woocommerce-orders-table a.woocommerce-button,
.devos-shop .woocommerce-MyAccount-content a.woocommerce-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .45rem 1.1rem;
    border: 1px solid var(--devos-primary);
    border-radius: var(--devos-radius-full);
    background: transparent;
    font-family: var(--devos-font-heading);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--devos-primary);
    text-decoration: none;
    transition: background var(--devos-transition), color var(--devos-transition);
}
.devos-shop .woocommerce-orders-table a.woocommerce-button:hover,
.devos-shop .woocommerce-MyAccount-content a.woocommerce-button:hover {
    background: var(--devos-primary);
    color: var(--devos-text-white);
}
.devos-shop .woocommerce-orders-table a.woocommerce-button + a.woocommerce-button { margin-left: .4rem; }

/* ---- Notificarea de deasupra ---- */

/* WooCommerce pune butonul înaintea textului în marcaj */
.devos-shop .woocommerce-MyAccount-content .woocommerce-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
}
.devos-shop .woocommerce-MyAccount-content .woocommerce-info > a.button { order: 2; }

@media (max-width: 768px) {
    .devos-shop table.woocommerce-orders-table tbody th {
        padding: .9rem 1rem .2rem;
        border-bottom: 0;
    }
    .devos-shop .woocommerce-orders-table__cell-order-total,
    .devos-shop .woocommerce-orders-table__cell-order-actions { text-align: left; }
    .devos-shop .woocommerce-orders-table__cell-order-actions a.woocommerce-button { width: 100%; }
}


/* -------------------------------------------------------------
   44.1 TITLURILE DIN PANOUL CONTULUI

   „Adresă de facturare”, „Detaliile contului” și celelalte ies din
   șabloanele WooCommerce ca `<h2>` sau `<legend>` simple, fără stil
   de la noi: culoare moștenită de la text și niciun spațiu între ele
   și primul câmp.
   ------------------------------------------------------------- */

.devos-shop .woocommerce-MyAccount-content > h2,
.devos-shop .woocommerce-MyAccount-content > h3,
.devos-shop .woocommerce-MyAccount-content form > h2,
.devos-shop .woocommerce-MyAccount-content form > h3,
.devos-shop .woocommerce-MyAccount-content fieldset > legend {
    display: block;
    width: 100%;
    margin: 0 0 1.5rem;
    padding: 0;
    font-family: var(--devos-font-heading);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.015em;
    color: var(--devos-primary);
}

/* Al doilea grup de câmpuri are nevoie de o pauză față de primul */
.devos-shop .woocommerce-MyAccount-content fieldset {
    margin: 2rem 0 0;
    padding: 0;
    border: 0;
}
.devos-shop .woocommerce-MyAccount-content fieldset > legend {
    font-size: 1.1rem;
    margin-bottom: 1.1rem;
}

/* Ultimul rând, cu butonul de salvare, desprins de câmpuri */
.devos-shop .woocommerce-MyAccount-content form .form-row:last-child { margin-top: .75rem; }


/* =============================================================
   45. BILETELE MELE

   Un bilet nu e un rând de tabel: are un capăt de rupt, un cod și un
   nume. Fișele de aici păstrează forma aia, ca lista să semene cu ce
   primești pe email, nu cu un extras de cont.
   ============================================================= */

.devos-tickets-intro {
    margin: 0 0 1.5rem;
    font-size: .95rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
}
.devos-tickets-intro strong { color: var(--devos-primary); }

/* `.devos-my-tickets`, nu `.devos-tickets`: al doilea e sectiunea de
   bilete din pagina de prezentare, careia regula asta ii stergea
   spatierea de sectiune. */
.devos-my-tickets {
    display: grid;
    gap: .75rem;
    margin: 0 0 1.75rem;
    padding: 0;
    list-style: none;
}

.devos-ticket {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1.1rem;
    align-items: center;
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-white);
}

/* Capătul de rupt al biletului */
.devos-ticket__stub {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: var(--devos-radius-md);
    background: var(--devos-primary);
    color: var(--devos-accent);
    font-size: 1.15rem;
}

.devos-ticket__body {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
}

.devos-ticket__access {
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
}

.devos-ticket__name {
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--devos-primary);
    overflow-wrap: anywhere;
}

.devos-ticket__code {
    font-family: var(--devos-font-body);
    font-size: .8rem;
    letter-spacing: .06em;
    color: var(--devos-text-muted);
    overflow-wrap: anywhere;
}

.devos-ticket__side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .55rem;
}

.devos-ticket__status {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .78rem;
    font-weight: 600;
    white-space: nowrap;
    color: #2f7a4f;
}
.devos-ticket__status i { font-size: .7rem; }

/* Un bilet care nu mai deschide poarta arată altfel decât unul valabil */
.devos-ticket--redeemed,
.devos-ticket--inactive,
.devos-ticket--expired,
.devos-ticket--blocked { background: var(--devos-bg-light); }

.devos-ticket--redeemed .devos-ticket__stub,
.devos-ticket--inactive .devos-ticket__stub,
.devos-ticket--expired .devos-ticket__stub,
.devos-ticket--blocked .devos-ticket__stub {
    background: var(--devos-text-muted);
    color: var(--devos-bg-white);
}

.devos-ticket--redeemed .devos-ticket__status,
.devos-ticket--inactive .devos-ticket__status { color: var(--devos-text-muted); }

.devos-ticket--expired .devos-ticket__status,
.devos-ticket--blocked .devos-ticket__status { color: #c3543c; }

.devos-ticket__actions {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
}

.devos-ticket__pdf {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .8rem;
    font-weight: 600;
    color: var(--devos-text-muted);
    text-decoration: none;
    white-space: nowrap;
}
.devos-ticket__pdf:hover { color: var(--devos-primary); }

/* ---- Nota de sub listă ---- */

.devos-tickets-note {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: 0;
    padding: .9rem 1.1rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    background: var(--devos-bg-light);
    font-size: .85rem;
    line-height: 1.55;
    color: var(--devos-text-muted);
}
.devos-tickets-note i { margin-top: .2em; color: var(--devos-accent-2); }

/* ---- Când nu există niciun bilet ---- */

.devos-tickets-empty {
    padding: 2.5rem 1.75rem;
    border: 1px dashed var(--devos-border);
    border-radius: var(--devos-radius-lg);
    text-align: center;
}
.devos-tickets-empty__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    margin-bottom: 1rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-primary);
    color: var(--devos-accent);
    font-size: 1.1rem;
}
.devos-tickets-empty h3 {
    margin: 0 0 .5rem;
    font-family: var(--devos-font-heading);
    font-size: 1.15rem;
    font-weight: 900;
    color: var(--devos-primary);
}
.devos-tickets-empty p {
    max-width: 30rem;
    margin: 0 auto 1.5rem;
    font-size: .93rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
}

@media (max-width: 640px) {
    .devos-ticket {
        grid-template-columns: auto minmax(0, 1fr);
        gap: .85rem 1rem;
        padding: 1rem;
    }
    .devos-ticket__side {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding-top: .85rem;
        border-top: 1px solid var(--devos-border);
    }
    .devos-tickets-empty { padding: 2rem 1.25rem; }
}


/* =============================================================
   46. PAGINA UNUI BILET

   Modulul o servește din folderul lui, cu marcaj propriu, dar în
   interiorul temei. Antetul fix se suprapunea peste conținut, iar
   linkurile de acțiune ieșeau ca text simplu, lipite unul de altul.
   ============================================================= */

.devos-ticket-page {
    background: var(--devos-bg-light);
}

/* Modulul își pune conținutul într-un panou alb cu chenar. Peste
   biletul nostru, care e deja un card, ieșeau două carduri unul în
   altul. Îl golim de înfățișare și îl păstrăm doar ca să ducă
   spațierea: el e elementul care atinge meniul fix. */
.devos-ticket-page .saso-ticket,
.devos-ticket-page .ticket_content {
    max-width: none;
    margin: 0 auto;
    /* Rezerva e 7rem, cât ține meniul nederulat pe această pagină —
       4.25rem era înălțimea lui strâns, deci prea mică aici. Când JS-ul
       apucă să măsoare, valoarea exactă o înlocuiește. */
    padding: calc(var(--devos-header-h, 7rem) + 3.5rem) 1rem 3.5rem;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* ---- Biletul ---- */

.dv-ticket {
    max-width: 34rem;
    margin: 0 auto 3rem;
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-white);
    box-shadow: 0 18px 48px rgba(0, 31, 63, .1);
    overflow: hidden;
    text-align: left;
}

.dv-ticket__head {
    padding: 1.75rem;
    background: var(--devos-primary);
    color: var(--devos-text-white);
}

.dv-ticket__eyebrow {
    display: block;
    margin-bottom: .5rem;
    font-family: var(--devos-font-heading);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--devos-accent);
}

.dv-ticket__event {
    margin: 0 0 .9rem;
    font-family: var(--devos-font-heading);
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.015em;
    color: var(--devos-text-white);
}

.dv-ticket__access {
    display: inline-block;
    padding: .35rem .85rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-accent);
    font-family: var(--devos-font-heading);
    font-size: .82rem;
    font-weight: 800;
    color: var(--devos-primary);
}

.dv-ticket__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem 1.25rem;
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
}
.dv-ticket__meta-label {
    display: block;
    margin-bottom: .2rem;
    font-family: var(--devos-font-heading);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
}
.dv-ticket__meta-value {
    font-size: .88rem;
    line-height: 1.45;
    color: var(--devos-text-light);
}
.dv-ticket__expired {
    display: block;
    margin-top: .2rem;
    font-style: normal;
    font-weight: 700;
    color: #ff9f8c;
}

/* ---- Codul QR, pe partea ruptă a biletului ---- */

.dv-ticket__stub {
    position: relative;
    padding: 2rem 1.75rem 1.5rem;
    background: var(--devos-bg-white);
    text-align: center;
}

/* Perforația dintre antet și cod */
.dv-ticket__stub::before {
    content: '';
    position: absolute;
    top: 0;
    left: 1.75rem;
    right: 1.75rem;
    border-top: 2px dashed var(--devos-border);
}

.dv-ticket__qr {
    display: inline-flex;
    padding: .9rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-md);
    background: #fff;
}
.dv-ticket__qr canvas,
.dv-ticket__qr img { display: block; }

.dv-ticket__scan {
    margin: .9rem 0 .2rem;
    font-family: var(--devos-font-heading);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
}

.dv-ticket__number {
    margin: 0;
    font-size: .78rem;
    letter-spacing: .05em;
    color: var(--devos-text-muted);
    overflow-wrap: anywhere;
}

/* ---- Datele ---- */

.dv-ticket__body { padding: 0 1.75rem 1.75rem; }

.dv-ticket__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.25rem;
    padding: 1.1rem 0;
    border-top: 1px solid var(--devos-border);
}

.dv-ticket__field { min-width: 0; }

.dv-ticket__label {
    display: block;
    margin-bottom: .3rem;
    font-family: var(--devos-font-heading);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--devos-text-muted);
}

.dv-ticket__value {
    display: block;
    font-family: var(--devos-font-heading);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
    color: var(--devos-primary);
    overflow-wrap: anywhere;
}
.dv-ticket__value--code { letter-spacing: .04em; }

.dv-ticket__hint,
.dv-ticket__text {
    display: block;
    margin-top: .25rem;
    font-size: .82rem;
    line-height: 1.5;
    color: var(--devos-text-muted);
    overflow-wrap: anywhere;
}

.dv-ticket__grid--muted .dv-ticket__text { margin-top: 0; }

.dv-ticket__note {
    margin: .75rem 0 0;
    font-size: .82rem;
    line-height: 1.55;
    color: var(--devos-text-muted);
}

/* ---- Acțiunile de sub bilet ----

   Modulul le scoate ca linkuri cu clasele din admin-ul WordPress
   (`.button.button-primary`), unul lângă altul, fără separare: ieșea
   „Descarcă biletul PDF Adaugă în calendar” ca o singură frază. */

.devos-ticket-page .saso-ticket a.button,
.devos-ticket-page .saso-et-share a.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: .3rem;
    padding: .55rem 1.2rem;
    border: 1px solid var(--devos-primary);
    border-radius: var(--devos-radius-full);
    background: transparent;
    box-shadow: none;
    font-family: var(--devos-font-heading);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--devos-primary);
    text-decoration: none;
    text-shadow: none;
}
.devos-ticket-page .saso-ticket a.button:hover,
.devos-ticket-page .saso-et-share a.button:hover {
    background: var(--devos-primary);
    color: var(--devos-text-white);
}

.devos-ticket-page .saso-ticket a.button-primary {
    border-color: transparent;
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    background-repeat: no-repeat;
    color: var(--devos-btn-ink);
}
.devos-ticket-page .saso-ticket a.button-primary:hover {
    background: var(--devos-btn-gradient-hover);
    background-origin: border-box;
    background-repeat: no-repeat;
    color: var(--devos-btn-ink);
}

.devos-ticket-page .saso-et-share {
    max-width: 34rem;
    margin: 1.25rem auto 0 !important;
}
.devos-ticket-page .saso-et-share a.button {
    font-size: .78rem;
    padding: .45rem 1rem;
}

/* Telegram nu e un canal pe care îl folosește publicul evenimentului.
   Linkul e scris în modul, fără opțiune care să-l stingă, deci îl
   ascundem aici — la o actualizare a modulului regula rămâne. */
.devos-ticket-page .saso-et-share a[href*="t.me"] { display: none; }

@media (max-width: 560px) {
    .dv-ticket { margin-bottom: 2rem; }
    .dv-ticket__head { padding: 1.4rem 1.25rem; }
    .dv-ticket__stub { padding: 1.6rem 1.25rem 1.25rem; }
    .dv-ticket__stub::before { left: 1.25rem; right: 1.25rem; }
    .dv-ticket__body { padding: 0 1.25rem 1.4rem; }
    .dv-ticket__meta,
    .dv-ticket__grid { grid-template-columns: 1fr; }
}


/* =============================================================
   47. LIGHTBOX

   Galeria se deschide peste pagină. Fundalul e aproape opac, ca
   ochiul să rămână pe fotografie, iar comenzile stau în colțuri,
   unde nu acoperă imaginea.
   ============================================================= */

body.devos-lightbox-open { overflow: hidden; }

.devos-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 4vw, 3rem);
    background: rgba(0, 10, 25, .94);
    animation: devos-lightbox-in .2s ease-out both;
}
.devos-lightbox[hidden] { display: none; }

@keyframes devos-lightbox-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.devos-lightbox__stage {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
}

.devos-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    border-radius: var(--devos-radius-md);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .5);
}

/* ---- Comenzi ---- */

.devos-lightbox__close,
.devos-lightbox__nav {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: var(--devos-radius-full);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    cursor: pointer;
    transition: background var(--devos-transition), border-color var(--devos-transition);
}
.devos-lightbox__close:hover,
.devos-lightbox__nav:hover {
    background: var(--devos-accent);
    border-color: transparent;
    color: var(--devos-primary);
}

.devos-lightbox__close {
    top: clamp(.75rem, 2vw, 1.5rem);
    right: clamp(.75rem, 2vw, 1.5rem);
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1.5rem;
    line-height: 1;
}

.devos-lightbox__nav {
    top: 50%;
    transform: translateY(-50%);
    width: 3rem;
    height: 3rem;
    font-size: 1.85rem;
    line-height: 1;
    padding-bottom: .2rem;
}
.devos-lightbox__nav--prev { left: clamp(.5rem, 2vw, 1.5rem); }
.devos-lightbox__nav--next { right: clamp(.5rem, 2vw, 1.5rem); }

.devos-lightbox__count {
    position: absolute;
    bottom: clamp(.75rem, 2vw, 1.5rem);
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    font-family: var(--devos-font-heading);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .1em;
    color: rgba(255, 255, 255, .7);
}

@media (max-width: 560px) {
    .devos-lightbox { padding: 3.5rem .75rem 3rem; }
    .devos-lightbox__nav {
        top: auto;
        bottom: clamp(.75rem, 2vw, 1.5rem);
        transform: none;
        width: 2.5rem;
        height: 2.5rem;
        font-size: 1.5rem;
    }
    .devos-lightbox__nav--prev { left: 25%; }
    .devos-lightbox__nav--next { right: 25%; }
}


/* -------------------------------------------------------------
   48. SECȚIUNI CU ACELAȘI FUNDAL, UNA DUPĂ ALTA

   Fiecare secțiune are spațiu sus și jos. Când două vecine au
   fundaluri diferite, muchia dintre ele se vede și cele două spații
   citesc ca unul singur. Când au același fundal — video și „Cine
   organizează”, ambele deschise — muchia dispare și rămâne un gol
   cât două secțiuni. Aici îl reducem la unul.
   ------------------------------------------------------------- */

.devos-section--light + .devos-section--light,
.devos-section--white + .devos-section--white,
.devos-section--dark + .devos-section--dark {
    padding-top: 0;
}


/* -------------------------------------------------------------
   49. TEXT SCRIS ÎN EDITORUL VIZUAL

   Paragrafele veneau înainte gata învelite din PHP, fiecare cu clasa
   lui. Acum editorul produce marcajul, deci stilul se pune pe ce e
   înăuntru.
   ------------------------------------------------------------- */

.devos-rich > :first-child { margin-top: 0; }
.devos-rich > :last-child { margin-bottom: 0; }

.devos-rich ul,
.devos-rich ol {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
}
.devos-rich li { margin-bottom: .35rem; }

.devos-rich a { text-decoration: underline; text-underline-offset: 2px; }


/* -------------------------------------------------------------
   50. FUNDALUL SECȚIUNII CTA

   Fotografia stă pe secțiune, iar culoarea aleasă din admin se așază
   peste ea ca un strat cu opacitate proprie. Conținutul urcă deasupra
   amândurora.
   ------------------------------------------------------------- */

.devos-final-cta {
    background-color: var(--devos-cta-bg, var(--devos-primary));
}

.devos-final-cta--photo {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: transparent;
}

.devos-final-cta--photo::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--devos-cta-bg, var(--devos-primary));
    opacity: var(--devos-cta-opacity, .85);
    pointer-events: none;
}

.devos-final-cta > .devos-container {
    position: relative;
    z-index: 1;
}


/* -------------------------------------------------------------
   51. BANNERE DE CONFORMITATE ÎN SUBSOL

   ANPC SAL și SOL. Imaginile vin de la autoritate, cu proporții
   fixe, deci le dăm o lățime maximă și le lăsăm să-și păstreze
   raportul.
   ------------------------------------------------------------- */

.devos-footer__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin-top: 1.5rem;
}

.devos-footer__badge {
    display: inline-flex;
    max-width: 10rem;
    border-radius: var(--devos-radius-sm, 4px);
    overflow: hidden;
    transition: opacity var(--devos-transition);
}
.devos-footer__badge:hover { opacity: .85; }

.devos-footer__badge img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 560px) {
    .devos-footer__badge { max-width: 8.5rem; }
}


/* =============================================================
   52. COȘUL PLUTITOR ȘI PANOUL LATERAL
   ============================================================= */

.devos-cart-fab {
    position: fixed;
    right: clamp(1rem, 3vw, 2rem);
    bottom: clamp(1rem, 3vw, 2rem);
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    padding: 0;
    border: 0;
    border-radius: var(--devos-radius-full);
    background: var(--devos-primary);
    color: var(--devos-accent);
    font-size: .95rem;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(0, 31, 63, .28);
    transition: transform var(--devos-transition), background var(--devos-transition);
}
.devos-cart-fab:hover {
    transform: translateY(-2px);
    background: #002c58;
}

.devos-cart-fab__count {
    position: absolute;
    top: -.25rem;
    right: -.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 .3rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-accent);
    color: var(--devos-primary);
    font-family: var(--devos-font-heading);
    font-size: .66rem;
    font-weight: 900;
    line-height: 1;
}
/* Coșul gol nu are ce număra */
.devos-cart-fab__count.is-empty { display: none; }

/* ---- Panoul ---- */

body.devos-cart-open { overflow: hidden; }

.devos-cart-drawer {
    position: fixed;
    inset: 0;
    z-index: 1300;
}
.devos-cart-drawer[hidden] { display: none; }

.devos-cart-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 10, 25, .55);
    opacity: 0;
    transition: opacity .25s ease;
}
.devos-cart-drawer.is-open .devos-cart-drawer__backdrop { opacity: 1; }

.devos-cart-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    width: min(24rem, 100%);
    height: 100%;
    background: var(--devos-primary);
    color: var(--devos-text-light);
    box-shadow: -18px 0 48px rgba(0, 0, 0, .4);
    transform: translateX(100%);
    transition: transform .25s ease;
}
.devos-cart-drawer.is-open .devos-cart-drawer__panel { transform: translateX(0); }

.devos-cart-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.4rem;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.devos-cart-drawer__title {
    margin: 0;
    font-family: var(--devos-font-heading);
    font-size: 1.05rem;
    font-weight: 900;
    color: var(--devos-text-white);
}

.devos-cart-drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: var(--devos-radius-full);
    background: transparent;
    color: var(--devos-text-white);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    transition: background var(--devos-transition), border-color var(--devos-transition), color var(--devos-transition);
}
.devos-cart-drawer__close:hover {
    background: var(--devos-accent);
    border-color: transparent;
    color: var(--devos-primary);
}

.devos-cart-drawer__body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 1.25rem 1.4rem 1.6rem;
}

/* ---- Mini-coșul WooCommerce, pe fundal închis ----

   Clasa `.widget_shopping_cart_content` e ținta fragmentului pe care
   WooCommerce îl rescrie la fiecare adăugare, deci stilurile stau pe
   învelișul din jur, care supraviețuiește. */

.devos-cart-drawer__body ul.cart_list {
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
}

.devos-cart-drawer__body ul.cart_list li {
    position: relative;
    margin: 0 0 .85rem;
    padding: 0 2rem .85rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    font-size: .88rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, .7);
}
.devos-cart-drawer__body ul.cart_list li:last-child {
    margin-bottom: 0;
    border-bottom: 0;
}
.devos-cart-drawer__body ul.cart_list li img { display: none; }

.devos-cart-drawer__body ul.cart_list a:not(.remove) {
    display: block;
    margin-bottom: .2rem;
    font-family: var(--devos-font-heading);
    font-size: .93rem;
    font-weight: 800;
    line-height: 1.35;
    color: var(--devos-text-white);
    text-decoration: none;
}
.devos-cart-drawer__body ul.cart_list a:not(.remove):hover { color: var(--devos-accent); }

.devos-cart-drawer__body .quantity {
    display: block;
    font-size: .84rem;
    color: rgba(255, 255, 255, .62);
}

.devos-cart-drawer .devos-cart-drawer__body .cart_list li a.remove,
.devos-cart-drawer .devos-cart-drawer__body a.remove {
    position: absolute;
    top: .15rem;
    right: 0;
    left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.15rem;
    height: 1.15rem;
    min-width: 1.15rem;
    padding: 0;
    border: 0;
    border-radius: var(--devos-radius-full);
    background: rgba(255, 255, 255, .14);
    color: var(--devos-text-white) !important;
    font-size: .78rem;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}
.devos-cart-drawer .devos-cart-drawer__body .cart_list li a.remove:hover,
.devos-cart-drawer .devos-cart-drawer__body a.remove:hover {
    background: #c3543c;
    color: #fff !important;
}

.devos-cart-drawer__body .total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1.25rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
    font-size: .85rem;
    color: rgba(255, 255, 255, .7);
}
.devos-cart-drawer__body .total strong {
    font-family: var(--devos-font-heading);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .55);
}
.devos-cart-drawer__body .total .amount {
    font-family: var(--devos-font-heading);
    font-size: 1.15rem;
    font-weight: 900;
    color: var(--devos-accent);
}

.devos-cart-drawer__body .buttons {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin: 0;
}
.devos-cart-drawer__body .buttons a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .72rem 1.2rem;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: var(--devos-radius-full);
    background: transparent;
    font-family: var(--devos-font-heading);
    font-size: .86rem;
    font-weight: 700;
    color: var(--devos-text-white);
    text-decoration: none;
    transition: background var(--devos-transition), color var(--devos-transition);
}
.devos-cart-drawer__body .buttons a.button:hover {
    background-color: rgba(255, 255, 255, .14);
    background-image: none;
    border-color: rgba(255, 255, 255, .55);
    color: var(--devos-text-white);
}
.devos-cart-drawer__body .buttons a.button.checkout {
    border-color: transparent;
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    background-repeat: no-repeat;
    color: var(--devos-btn-ink);
}
.devos-cart-drawer__body .buttons a.button.checkout:hover {
    background: var(--devos-btn-gradient-hover);
    background-origin: border-box;
    background-repeat: no-repeat;
    border-color: transparent;
    color: var(--devos-btn-ink);
}

.devos-cart-drawer__body .woocommerce-mini-cart__empty-message {
    margin: 0;
    font-size: .92rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, .62);
}

@media (max-width: 560px) {
    .devos-cart-fab {
        width: 2.4rem;
        height: 2.4rem;
        font-size: .9rem;
    }
    .devos-cart-drawer__panel { width: 100%; }
}


/* -------------------------------------------------------------
   52.1 COȘUL DIN PANOU — CANTITATE, CUPON, TOTALURI
   ------------------------------------------------------------- */

.devos-cart-drawer__body.is-busy {
    opacity: .55;
    pointer-events: none;
}

.devos-mini-item { padding-bottom: 1rem !important; }

.devos-mini-item__name {
    display: block;
    margin-bottom: .2rem;
    font-family: var(--devos-font-heading);
    font-size: .93rem;
    font-weight: 800;
    line-height: 1.35;
    color: var(--devos-text-white);
}
.devos-mini-item__name a { color: inherit; text-decoration: none; }
.devos-mini-item__name a:hover { color: var(--devos-accent); }

.devos-mini-item__unit {
    display: block;
    font-size: .8rem;
    color: rgba(255, 255, 255, .55);
}

.devos-mini-item__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: .6rem;
}

.devos-mini-item__total {
    font-family: var(--devos-font-heading);
    font-size: .95rem;
    font-weight: 800;
    color: var(--devos-text-white);
    white-space: nowrap;
}

/* ---- Cantitatea ---- */

.devos-mini-qty {
    display: inline-flex;
    align-items: stretch;
    height: 2rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: var(--devos-radius-full);
    background: rgba(255, 255, 255, .06);
    overflow: hidden;
}

.devos-mini-qty__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    border: 0;
    background: transparent;
    color: var(--devos-text-white);
    font-family: var(--devos-font-heading);
    font-size: .95rem;
    line-height: 1;
    cursor: pointer;
    transition: background var(--devos-transition), color var(--devos-transition);
}
.devos-mini-qty__btn:hover { background: var(--devos-accent); color: var(--devos-primary); }

.devos-mini-qty__input {
    width: 2.1rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--devos-text-white);
    font-family: var(--devos-font-heading);
    font-size: .85rem;
    font-weight: 800;
    text-align: center;
    -moz-appearance: textfield;
}
.devos-mini-qty__input::-webkit-outer-spin-button,
.devos-mini-qty__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.devos-mini-qty__input:focus { outline: none; }

/* ---- Cuponul ---- */

.devos-mini-coupon {
    margin: 0 0 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.devos-mini-coupon__applied {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 0 0 .7rem;
    padding: 0;
    list-style: none;
}
.devos-mini-coupon__applied li {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .25rem .3rem .25rem .7rem;
    border-radius: var(--devos-radius-full);
    background: rgba(207, 222, 75, .16);
    font-size: .78rem;
    color: var(--devos-accent);
}
.devos-mini-coupon__remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.1rem;
    height: 1.1rem;
    border: 0;
    border-radius: var(--devos-radius-full);
    background: rgba(255, 255, 255, .15);
    color: var(--devos-text-white);
    font-size: .75rem;
    line-height: 1;
    cursor: pointer;
}
.devos-mini-coupon__remove:hover { background: #c3543c; }

.devos-mini-coupon__toggle {
    padding: 0;
    border: 0;
    background: none;
    color: rgba(255, 255, 255, .7);
    font-size: .82rem;
    text-decoration: none;
    cursor: pointer;
}
.devos-mini-coupon__toggle:hover { color: var(--devos-accent); }

.devos-mini-coupon__form {
    display: flex;
    gap: .4rem;
    margin-top: .6rem;
}
.devos-mini-coupon__form[hidden] { display: none; }

.devos-mini-coupon__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: .5rem .85rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: var(--devos-radius-full);
    background: rgba(255, 255, 255, .06);
    color: var(--devos-text-white);
    font-size: .85rem;
}
.devos-mini-coupon__input::placeholder { color: rgba(255, 255, 255, .4); }
.devos-mini-coupon__input:focus { outline: none; border-color: var(--devos-accent); }

.devos-mini-coupon__apply {
    flex: 0 0 auto;
    padding: .5rem 1rem;
    border: 1px solid var(--devos-accent);
    border-radius: var(--devos-radius-full);
    background: transparent;
    color: var(--devos-accent);
    font-family: var(--devos-font-heading);
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
}
.devos-mini-coupon__apply:hover { background: var(--devos-accent); color: var(--devos-primary); }

.devos-mini-coupon__msg {
    margin: .5rem 0 0;
    font-size: .8rem;
    line-height: 1.5;
    color: var(--devos-accent);
}
.devos-mini-coupon__msg.is-error { color: #ff9f8c; }
.devos-mini-coupon__msg:empty { display: none; }

/* ---- Totalurile ---- */

.devos-mini-totals {
    margin: 0 0 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
}

.devos-mini-totals__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 .45rem;
    font-size: .85rem;
    color: rgba(255, 255, 255, .7);
}
.devos-mini-totals__row strong {
    font-family: var(--devos-font-heading);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
}
.devos-mini-totals__row--discount span { color: var(--devos-accent); }

.devos-mini-totals__row--total {
    margin-bottom: 0;
    padding-top: .55rem;
}
.devos-mini-totals__row--total strong { color: rgba(255, 255, 255, .7); }
.devos-mini-totals__row--total span,
.devos-mini-totals__row--total .amount {
    font-family: var(--devos-font-heading);
    font-size: 1.15rem;
    font-weight: 900;
    color: var(--devos-accent);
}


/* -------------------------------------------------------------
   52.2 PANOUL CU COȘUL GOL

   Un panou gol cu o singură propoziție e un capăt de drum. Cu un
   buton, devine punctul din care se începe alegerea.
   ------------------------------------------------------------- */

.devos-mini-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2rem 0 0;
}

.devos-mini-empty__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    border-radius: var(--devos-radius-full);
    background: rgba(255, 255, 255, .08);
    color: var(--devos-accent);
    font-size: 1.05rem;
}

.devos-mini-empty .woocommerce-mini-cart__empty-message {
    margin: 0 0 1.4rem;
    font-size: .92rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, .62);
}

.devos-mini-empty__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .7rem 1.4rem;
    border-radius: var(--devos-radius-full);
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    background-repeat: no-repeat;
    font-family: var(--devos-font-heading);
    font-size: .86rem;
    font-weight: 700;
    color: var(--devos-btn-ink);
    text-decoration: none;
}
.devos-mini-empty__cta:hover {
    background: var(--devos-btn-gradient-hover);
    background-origin: border-box;
    background-repeat: no-repeat;
    color: var(--devos-btn-ink);
}


/* -------------------------------------------------------------
   52.3 ALEGEREA TIPULUI DE ACCES, DIN PANOUL GOL
   ------------------------------------------------------------- */

.devos-mini-picks {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    width: 100%;
    margin: 0 0 1.4rem;
    padding: 0;
    list-style: none;
    text-align: left;
}

.devos-mini-pick {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .65rem .8rem;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: var(--devos-radius-md);
    background: rgba(255, 255, 255, .05);
    text-decoration: none;
    transition: border-color var(--devos-transition), background var(--devos-transition);
}
.devos-mini-pick:hover {
    border-color: var(--devos-accent);
    background: rgba(255, 255, 255, .09);
}

.devos-mini-pick__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: var(--devos-radius-sm, 6px);
    background: rgba(255, 255, 255, .1);
    color: var(--devos-accent);
    font-size: .75rem;
}

.devos-mini-pick__name {
    flex: 1 1 auto;
    min-width: 0;
    font-family: var(--devos-font-heading);
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--devos-text-white);
}

.devos-mini-pick__price {
    flex: 0 0 auto;
    font-family: var(--devos-font-heading);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
    color: var(--devos-accent);
}
.devos-mini-pick__price .amount { font-size: inherit; color: inherit; }

.devos-mini-empty__cta { width: 100%; }


/* -------------------------------------------------------------
   46.1 MESAJELE DE STARE ALE MODULULUI DE BILETE

   Modulul le scoate ca o bandă lată, nestilizată, lipită de meniu.
   Le aducem la forma cardului de bilet: aceeași lățime, aceleași
   colțuri, același ritm — ca omul care primește un refuz să vadă
   tot site-ul nostru, nu o pagină de eroare străină.
   ------------------------------------------------------------- */

.devos-ticket-page .saso-status {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    max-width: 34rem;
    margin: 0 auto;
    padding: 1.5rem 1.6rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-lg);
    background: var(--devos-bg-white);
    box-shadow: 0 14px 40px rgba(0, 31, 63, .08);
    text-align: left;
}

.devos-ticket-page .saso-status__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--devos-radius-full);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
}

.devos-ticket-page .saso-status__body { min-width: 0; }

.devos-ticket-page .saso-status__title {
    font-family: var(--devos-font-heading);
    font-size: 1.1rem;
    font-weight: 900;
    line-height: 1.3;
    color: var(--devos-primary);
}

.devos-ticket-page .saso-status__detail {
    margin-top: .35rem;
    font-size: .92rem;
    line-height: 1.6;
    color: var(--devos-text-muted);
    overflow-wrap: anywhere;
}

/* Culoarea spune despre ce fel de veste e vorba */
.devos-ticket-page .saso-status--error { border-color: rgba(195, 84, 60, .35); }
.devos-ticket-page .saso-status--error .saso-status__icon {
    background: rgba(195, 84, 60, .12);
    color: #c3543c;
}

.devos-ticket-page .saso-status--success { border-color: rgba(47, 122, 79, .35); }
.devos-ticket-page .saso-status--success .saso-status__icon {
    background: rgba(47, 122, 79, .12);
    color: #2f7a4f;
}

.devos-ticket-page .saso-status--warning .saso-status__icon {
    background: rgba(161, 112, 26, .14);
    color: #a1701a;
}

.devos-ticket-page .saso-status--info .saso-status__icon {
    background: var(--devos-bg-light);
    color: var(--devos-primary);
}

@media (max-width: 560px) {
    .devos-ticket-page .saso-status { padding: 1.25rem; gap: .85rem; }
    .devos-ticket-page .saso-status__icon { width: 2.1rem; height: 2.1rem; }
    .devos-ticket-page .saso-status__title { font-size: 1rem; }
}

/* -------------------------------------------------------------
   52.3 PANOUL PE ECRANE ÎNGUSTE

   Panoul e lat cât ecranul pe telefon, deci fiecare rând trebuie
   să încapă în el. Un preț cu `nowrap` lângă selectorul de
   cantitate, sau câmpul de cupon lângă butonul lui, depășeau
   lățimea și panoul se derula lateral: denumirile biletelor
   ieșeau din vedere spre stânga, iar textul butoanelor apărea
   descentrat. Aici nu mai lăsăm nimic să depășească.
   ------------------------------------------------------------- */

.devos-cart-drawer__body {
    overflow-x: hidden;
    overscroll-behavior: contain;
}

/* Într-un rând flexibil, un element nu coboară sub lățimea
   conținutului lui decât dacă i se spune explicit. */
.devos-cart-drawer__body * { min-width: 0; }

.devos-mini-item__name,
.devos-mini-item__unit {
    overflow-wrap: anywhere;
}

/* Când nu mai încap pe un rând, cantitatea și totalul trec unul
   sub altul în loc să împingă panoul. */
.devos-mini-item__row { flex-wrap: wrap; }
.devos-mini-qty { flex: 0 0 auto; }
.devos-mini-item__total { flex: 0 0 auto; margin-left: auto; }

.devos-mini-coupon__form { flex-wrap: wrap; }
.devos-mini-coupon__input { flex: 1 1 7rem; }
.devos-mini-coupon__apply { flex: 0 0 auto; }

.devos-mini-coupon__applied li { flex-wrap: wrap; }

.devos-mini-totals__row { flex-wrap: wrap; }

/* Butoanele din capătul panoului: textul centrat pe lățimea
   reală, fără să iasă din ele. */
.devos-cart-drawer__body .buttons a {
    width: 100%;
    text-align: center;
    overflow-wrap: anywhere;
}

@media (max-width: 380px) {
    .devos-cart-drawer__head { padding: 1rem 1.1rem; }
    .devos-cart-drawer__body { padding: 1rem 1.1rem 1.3rem; }
}



/* =============================================================
   53. SUBSOLUL RĂMÂNE JOS

   Pe paginile cu puțin conținut — o eroare, coșul gol, un mesaj de
   confirmare — subsolul se oprea la jumătatea ecranului, cu o bandă
   albă dedesubt.

   Prima încercare a fost să facem din `body` o coloană flexibilă.
   A rezolvat subsolul, dar a stricat altceva: un element flex nu
   poate coborî sub lățimea minimă a conținutului lui, deci pe
   telefon pagina ieșea mai lată decât ecranul și se derula lateral.

   Aici nu atingem deloc felul în care e așezată pagina. Îi dăm doar
   zonei de conținut o înălțime minimă: cât rămâne din ecran după ce
   scădem bara de administrare și subsolul. Cele două măsuri vin din
   JavaScript, unde pot fi citite exact, indiferent de înălțimea
   subsolului sau de bara de sus.
   ============================================================= */

body > main,
body > .devos-main,
.devos-ticket-page > div:not([class]) {
    min-height: var(--devos-fill-h, 0px);
}

/* Un mesaj scurt stă mai bine la mijlocul spațiului rămas decât
   agățat de marginea de sus, cu gol dedesubt. */
.devos-ticket-page > div:not([class]) {
    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* =============================================================
   54. BUTOANELE PE TELEFON — O SINGURĂ DIMENSIUNE

   Butoanele s-au adunat în timp din mai multe familii: cele ale
   temei, cele ale WooCommerce, cele din panoul coșului. Fiecare cu
   propriul `font-size` și propriul padding — pe ecran mare
   diferențele nu se văd, dar pe telefon, unde stau unul sub altul
   și ocupă toată lățimea, ies în evidență.

   Aici le aducem pe toate la aceeași înălțime și la același corp de
   literă. Înălțimea nu vine din padding, ci din `min-height`: așa
   iese identică indiferent de fontul sau de metrica fiecărei
   familii. 2.75rem înseamnă 44px, pragul de la care o țintă se
   apasă comod cu degetul.

   Controalele mărunte — pașii de cantitate, butoanele din rândurile
   tabelelor, legăturile de sub bilet — rămân cum sunt: ele nu sunt
   chemări la acțiune, iar mărite ar fi acoperit ce au lângă.
   ============================================================= */

@media (max-width: 768px) {

    :root { --devos-btn-h: 2.75rem; }

    .devos-btn,
    .devos-btn--lg,
    .devos-btn--xl,
    .devos-shop .button,
    .devos-shop button[type="submit"],
    .devos-shop input[type="submit"],
    .devos-shop a.button.alt,
    .devos-shop .wc-proceed-to-checkout a.checkout-button,
    .devos-shop #place_order,
    .devos-shop ul.products li.product.devos-ticket-card .devos-ticket-card__cta,
    .devos-mini-empty__cta,
    .devos-cart-drawer__body .buttons a.button,
    .devos-shop .coupon .button,
    .devos-shop .actions > .button[name="update_cart"],
    .devos-shop .woocommerce-message .button,
    .devos-shop .woocommerce-info .button,
    .devos-shop .woocommerce-error .button,
    .devos-shop .woocommerce-orders-table a.woocommerce-button,
    .devos-shop .woocommerce-MyAccount-content a.woocommerce-button,
    .devos-ticket-page .saso-ticket a.button,
    .devos-ticket-page .saso-et-share a.button {
        min-height: var(--devos-btn-h);
        padding-block: 0;
        padding-inline: 1.35rem;
        font-size: .875rem;
        line-height: 1.25;
    }

    /* Pe pagina unui bilet, caseta de cantitate și butonul își iau
       înălțimea din aceeași variabilă. O schimbăm pe ea, ca să nu se
       desfacă perechea. */
    .devos-ticket-single .cart { --devos-cta-h: var(--devos-btn-h); }

    /* Butoanele care stau singure pe rând rămân late; se schimbă
       doar cât de înalte sunt. */
    .devos-shop .wc-proceed-to-checkout a.checkout-button,
    .devos-shop #place_order { width: 100%; }
}


/* =============================================================
   55. CORECTURI DIN AUDITUL PE ECRANE MICI

   Măsurate automat pe toate paginile, la 320 / 360 / 412 / 768 /
   1024px. Sub 360px ieșeau două lucruri din ecran, iar două ținte
   de atins rămâneau mai mici decât degetul.
   ============================================================= */

/* ---- Titlul din hero ----

   `clamp(2.5rem, 7vw, 6rem)` are podeaua la 40px. La 320px lățimea
   utilă e 288px, iar „PARTENERIATE" scris cu 40px și spațiere de
   literă trece de 320px: titlul ieșea cu 19px de fiecare parte și
   lățea documentul. Sub 400px coborâm podeaua. */

@media (max-width: 400px) {

    .devos-hero__theme-title {
        font-size: clamp(1.9rem, 9vw, 2.5rem);
        /* Plasă de siguranță: dacă cineva scrie în admin un cuvânt și
           mai lung, se rupe în loc să spargă pagina. */
        overflow-wrap: break-word;
    }
}

/* ---- Tipurile de acces din coșul gol ----

   Eticheta treptei de preț („TEAM PASS EARLY BIRD") moștenea
   `white-space: nowrap` de la preț. Pe un rând, cardul nu mai
   încăpea în 288px. Prețul rămâne pe un rând; eticheta se rupe. */

.devos-empty-pick__price small,
.devos-mini-pick__price small { white-space: normal; }

/* ---- Butonul de meniu ----

   Caseta lui avea 28×20px — sub pragul la care o țintă se nimerește
   cu degetul. Creștem doar suprafața de atins, prin padding: cele
   trei linii rămân de 28×20, exact cum arătau. */

.devos-header__hamburger {
    width: 44px;
    height: 44px;
    padding: 12px 8px;
}

/* ---- Ochiul care arată parola ----

   Butonul WooCommerce din câmpul de parolă avea 22×22px. Îi lărgim
   suprafața fără să mărim pictograma. */

.devos-shop .woocommerce form .show-password-input,
.devos-shop .woocommerce-form .show-password-input {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    top: 50%;
    right: .25rem;
    transform: translateY(-50%);
}


/* ---- Formularul de căutare ----

   Apare în pagina 404 și în rezultatele căutării, și era lăsat gol:
   câmpul și butonul arătau ca în browserul brut, iar butonul avea
   21px înălțime. Îl aducem la fel cu restul formularelor. */

.search-form {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: stretch;
    max-width: 30rem;
    margin: 1.5rem 0 0;
}
.search-form label {
    flex: 1 1 12rem;
    display: block;
    margin: 0;
    min-width: 0;
}
.search-form .search-field {
    width: 100%;
    min-height: 2.75rem;
    padding: .6rem 1rem;
    border: 1px solid var(--devos-border);
    border-radius: var(--devos-radius-full);
    background: var(--devos-bg-white);
    font-family: var(--devos-font-body);
    font-size: .95rem;
    color: var(--devos-text-dark);
}
.search-form .search-field:focus {
    outline: none;
    border-color: var(--devos-accent-2);
}
.search-form .search-submit {
    flex: 0 0 auto;
    min-height: 2.75rem;
    padding: 0 1.5rem;
    border: 2px solid transparent;
    border-radius: var(--devos-radius-full);
    background: var(--devos-btn-gradient);
    background-origin: border-box;
    background-repeat: no-repeat;
    font-family: var(--devos-font-heading);
    font-size: .875rem;
    font-weight: 700;
    color: var(--devos-btn-ink);
    cursor: pointer;
}
.search-form .search-submit:hover {
    background: var(--devos-btn-gradient-hover);
    background-origin: border-box;
    background-repeat: no-repeat;
}


/* ---- Ținte de atins, pe telefon ----

   Două controale rămăseseră sub pragul degetului: pașii de cantitate
   din coș (30×31) și legătura „modifică" de lângă participanți
   (67×16). Le creștem suprafața, fără să schimbe altceva în jur. */

/* `pointer: coarse` prinde și tableta în modul orizontal, unde ecranul
   e lat, dar degetul e tot deget. Lățimea singură n-ar fi fost de
   ajuns. */
@media (max-width: 768px), (pointer: coarse) {

    .devos-shop td.product-quantity .devos-qty { height: 2.75rem; }
    .devos-shop td.product-quantity .devos-qty__btn { width: 2.4rem; }

    .devos-participants__edit,
    .devos-coupon__toggle,
    .devos-mini-coupon__toggle {
        display: inline-flex;
        align-items: center;
        min-height: 2.75rem;
        padding: 0 .2rem;
    }
}


/* =============================================================
   56. FINALIZAREA COMENZII PE TELEFON — O SINGURĂ COLOANĂ

   Grila formularului de comandă e declarată în trei locuri din
   foaia asta: o dată la construcție, o dată ca să lipească
   rezumatul de titlul lui, a treia oară ca să alinieze cardurile
   sus. Regula pentru ecrane mici stătea la mijloc, între a doua și
   a treia.

   `@media` nu adaugă specificitate. La specificitate egală câștigă
   ultima declarație, deci `#order_review { grid-column: 2 }` de la
   a treia rundă bătea `grid-column: 1` din regula pentru mobil.
   Rezultatul: pe telefon rămâneau două coloane — datele de
   facturare strivite în 155px, iar rezumatul, împins într-o
   coloană implicită, ieșea din ecran cu totalurile tăiate.

   De aceea corectura stă aici, la capătul fișierului: după toate
   cele trei.
   ============================================================= */

@media (max-width: 1024px) {

    .devos-shop form.checkout.woocommerce-checkout {
        /* `minmax(0, 1fr)`, nu `1fr`: pista nu trebuie să crească
           după lățimea minimă a tabelului de comandă. */
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
    }

    .devos-shop form.checkout #customer_details,
    .devos-shop form.checkout #order_review_heading,
    .devos-shop form.checkout #order_review {
        grid-column: 1;
        grid-row: auto;
        min-width: 0;
    }
}


/* ---- Rezumatul comenzii pe telefon ----

   Tabelele magazinului se stivuiesc pe telefon: fiecare celulă
   devine un rând cu eticheta la stânga, scoasă din `data-title`.
   Asta e potrivit pentru coș, unde un rând are șapte coloane.

   Rezumatul comenzii însă are deja doar două: denumire și sumă.
   Stivuit, ieșea ce se vede în captură — „SUBTOTAL" pe un rând și
   valoarea pe următorul, iar numele biletului și lista de
   participanți împinse unul lângă altul, fiindcă celula devenise la
   rândul ei un rând flexibil. Aici îl scoatem din acel tratament:
   rândul e rândul, denumirea la stânga, suma la dreapta.

   Tot de aici vine și încadrarea la 320px: numele are voie să se
   rupă, deci tabelul nu mai are o lățime minimă mai mare decât
   cardul, iar sumele nu mai sunt tăiate de colțurile rotunjite. */

@media (max-width: 768px) {

    /* Tabelul iese din regimul de tabel. Cât timp rămâne tabel, are
       `border-collapse`, iar chenarele celulelor se contopesc și sunt
       pictate de tabel la marginea fiecărei celule — nu a rândului.
       Cu celulele devenite elemente flexibile, de înălțimi diferite,
       ieșea o linie ruptă: o bucată sub sumă, alta, mai jos, sub
       denumire. `getComputedStyle` arăta 0 pe ele, fiindcă întoarce
       valoarea de după contopire, nu pe cea desenată. */
    .devos-shop .woocommerce-checkout-review-order table.shop_table,
    .devos-shop .woocommerce-checkout-review-order table.shop_table tbody,
    .devos-shop .woocommerce-checkout-review-order table.shop_table tfoot {
        display: block;
        border-collapse: separate;
        border-spacing: 0;
    }

    .devos-shop .woocommerce-checkout-review-order table.shop_table tr {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: .75rem;
        border-bottom: 1px solid var(--devos-border);
    }
    /* Doar ultimul rând al subsolului rămâne fără linie — cel de
       după ultimul bilet o păstrează, ca despărțitor de totaluri. */
    .devos-shop .woocommerce-checkout-review-order table.shop_table tfoot tr:last-child {
        border-bottom: 0;
    }

    /* Ultimul rând de bilete își primea chenarul pe celule, printr-o
       regulă mai specifică (secțiunea 37). Celulele n-au aceeași
       înălțime aici, deci linia ieșea în două bucăți decalate: una
       scurtă sub sumă, alta, mai jos, sub denumire. O mutăm pe rând. */
    .devos-shop .woocommerce-checkout-review-order table.shop_table tbody tr:last-child td,
    .devos-shop .woocommerce-checkout-review-order table.shop_table tbody tr:last-child th {
        border-bottom: 0;
    }

    .devos-shop .woocommerce-checkout-review-order table.shop_table td,
    .devos-shop .woocommerce-checkout-review-order table.shop_table th {
        display: block;
        padding: .85rem 1.25rem;
        border-bottom: 0;
        text-align: left;
    }

    /* Etichetele scoase din `data-title` sunt ale coșului. */
    .devos-shop .woocommerce-checkout-review-order table.shop_table td::before,
    .devos-shop .woocommerce-checkout-review-order table.shop_table th::before {
        content: none;
    }

    /* Denumirea ia spațiul rămas și se rupe dacă trebuie. */
    .devos-shop .woocommerce-checkout-review-order table.shop_table td.product-name,
    .devos-shop .woocommerce-checkout-review-order table.shop_table tfoot th {
        flex: 1 1 auto;
        min-width: 0;
        padding-right: 0;
        overflow-wrap: anywhere;
    }

    /* Suma stă pe un rând, la dreapta. */
    .devos-shop .woocommerce-checkout-review-order table.shop_table td.product-total,
    .devos-shop .woocommerce-checkout-review-order table.shop_table tfoot td {
        flex: 0 0 auto;
        padding-left: 0;
        text-align: right;
        white-space: nowrap;
    }

    /* Participanții stau sub denumire, nu alături de ea. */
    .devos-shop .woocommerce-checkout-review-order table.shop_table td.product-name > * {
        display: block;
    }
}


/* ---- Subsolul cardului de plată ----

   Sub butonul de trimitere se adunau patru spații puse de trei
   autori diferiți: marginea de jos a butonului (14px), padding-ul
   rândului (16px), marginea lui de jos (13.6px) și padding-ul
   secțiunii de plată (20px) — 64px, față de 36px deasupra.

   Regula temei pentru rând nu apuca să se aplice: WooCommerce o
   scrie cu `.woocommerce-checkout #payment div.form-row`, adică un
   `id`, două clase și un element — cu un element mai mult decât
   avea selectorul nostru, deci câștiga. Aici îl depășim. */

.devos-shop #payment div.form-row.place-order {
    padding: 1rem;
    margin: 1rem 0 0;
}
.devos-shop #payment div.form-row.place-order #place_order {
    margin-bottom: 0;
}


/* ---- Aer în capul cardului de rezumat ----

   Primul bilet începea la 13,6px de marginea de sus — padding-ul
   celulei și atât. Cardul are colțuri rotunjite, iar un titlu care
   pornește din muchie le contrazice. Spațiul îl punem pe card, nu
   pe primul rând: așa ține la orice lățime, indiferent dacă rândul
   de sus e capul de tabel (pe ecran mare) sau primul bilet (pe
   telefon). */

.devos-shop .woocommerce-checkout-review-order {
    padding-top: .75rem;
}


/* ---- Cuponul din coș: câmp și buton, aceeași înălțime ----

   Butonul își lua înălțimea din text și padding, câmpul din ale lui:
   36px față de 35 pe ecran mare și 36 față de 44 pe telefon, după ce
   butoanele au fost aduse la o singură dimensiune. Le legăm de
   aceeași valoare, în loc să le lăsăm să iasă fiecare cum se
   nimerește. */

.devos-shop .coupon input#coupon_code,
.devos-shop .coupon .button {
    min-height: 2.25rem;
}

/* Pe telefon urmează dimensiunea comună a butoanelor (secțiunea 54). */
@media (max-width: 768px) {

    .devos-shop .coupon input#coupon_code,
    .devos-shop .coupon .button {
        min-height: var(--devos-btn-h, 2.75rem);
    }
}


/* ---- Biletele fără nume, la finalizare ----

   Numele e obligatoriu înainte de plată: biletul se emite pe el și
   se verifică la intrare. Cât timp lipsește, rândul trebuie să se
   vadă că lipsește — „nume necompletat" scris cu gri se citește ca
   o notă, nu ca o cerință. */

.devos-participant--empty .devos-participant__name {
    color: #c3543c;
    font-style: italic;
}

.devos-participant--empty .devos-participant__index {
    background: rgba(195, 84, 60, .12);
    color: #c3543c;
}

/* Câmpul gol, cât timp editorul e deschis. */
.devos-participants.is-editing .devos-participant--empty .devos-participant__input {
    border-color: #c3543c;
}
.devos-participants.is-editing .devos-participant--empty .devos-participant__input:focus {
    border-color: var(--devos-accent-2);
}


/* ---- Refuzul comenzii, în capul formularului ----

   Când serverul respinge comanda, WooCommerce adaugă notificarea ca
   prim copil al formularului. Formularul e însă o grilă, iar cele
   două coloane își cer explicit rândul 1 — deci notificarea era
   împinsă pe un rând de sub ele, într-o singură coloană: apărea jos
   de tot, în stânga, cu un gol imens lângă ea.

   O punem peste ambele coloane, pe primul rând, și le coborâm pe
   celelalte două. `:has()` face mutarea doar când notificarea chiar
   există — altfel rămânea un rând gol în capul paginii, cu spațiul
   grilei sub el. */

.devos-shop form.checkout.woocommerce-checkout > .woocommerce-NoticeGroup {
    grid-column: 1 / -1;
    grid-row: 1;
}

/* Numai unde grila chiar are două coloane. Pe telefon e o singură
   coloană, iar un `grid-row: 2` dat amândurora le-ar fi pus în
   aceeași celulă, una peste alta: rezumatul comenzii se desena
   peste datele de facturare, cu două chenare suprapuse și metoda de
   plată căzută peste câmpul de județ. */
@media (min-width: 1025px) {

    .devos-shop form.checkout.woocommerce-checkout:has( > .woocommerce-NoticeGroup ) #customer_details,
    .devos-shop form.checkout.woocommerce-checkout:has( > .woocommerce-NoticeGroup ) #order_review {
        grid-row: 2;
    }
}

/* Un refuz nu e o informare: se vede din prima că e ceva de dres. */
.devos-shop .woocommerce-NoticeGroup ul.woocommerce-error {
    margin: 0;
    border-color: rgba(195, 84, 60, .35);
    background: rgba(195, 84, 60, .07);
}

/* Mai multe motive de refuz, unul sub altul.

   Caseta e un rând flexibil, iar fiecare mesaj e un `<li>` — adică
   un element al rândului. La două motive, stăteau alături, în două
   coloane înguste, ca și cum ar fi fost o listă pe orizontală.

   Trecem caseta pe grilă: pictograma într-o coloană, mesajele în
   cealaltă, fiecare pe rândul lui. Pictograma rămâne sus, lângă
   primul motiv, nu centrată pe toată înălțimea. */
.devos-shop ul.woocommerce-error {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .3rem .6rem;
}
.devos-shop ul.woocommerce-error::before {
    grid-column: 1;
    grid-row: 1;
    margin-top: .1em;
}
.devos-shop ul.woocommerce-error li,
.devos-shop ul.woocommerce-error .button {
    grid-column: 2;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* WooCommerce mută cursorul pe notificare, ca să fie citită de un
   cititor de ecran. Browserul o încadrează atunci cu inelul lui de
   focalizare — de unde chenarul dublu care apărea din prima și la
   fiecare clic pe casetă.

   Am încercat întâi să-l las doar pe `:focus-visible`, dar măsurat în
   browser starea aceea iese adevărată și la focalizarea făcută de
   script — deci inelul apărea tot din prima.

   Îl scoatem cu totul. Un inel de focalizare e util pe ceva ce poți
   acționa; caseta nu e nici buton, nici câmp, iar mesajul ajunge
   oricum la cititoarele de ecran prin `role="alert"` de pe învelișul
   ei. Cine navighează din tastatură nu pierde nimic: nu există aici
   nimic de apăsat. */
.devos-shop .woocommerce-NoticeGroup ul.woocommerce-error:focus,
.devos-shop .woocommerce-NoticeGroup ul.woocommerce-error:focus-visible {
    outline: none;
}


/* ---- Refuzul, pe telefon ----

   Caseta e un rând flexibil care se rupe: pe ecran îngust textul nu
   mai încăpea lângă pictogramă, trecea pe rândul următor și lăsa
   pictograma singură sus — de trei ori mai înaltă decât avea nevoie.
   Aici nu se mai rupe: pictograma își ține locul, textul curge lângă
   ea. Mesajele de eroare n-au buton, deci `nowrap` nu strânge nimic
   altceva. */

@media (max-width: 768px) {

    /* `ul.woocommerce-error`, nu doar clasa: caseta e chiar un `<ul>`,
       iar regula care o desenează (secțiunea 34) e scrisă așa. Cu un
       element în plus, e mai specifică — fără el, ce scriem aici n-ar
       ajunge la ea. */
    .devos-shop ul.woocommerce-error {
        gap: .3rem .55rem;
        padding: .7rem .85rem;
        font-size: .85rem;
        line-height: 1.45;
    }

    .devos-shop ul.woocommerce-error::before {
        font-size: .85rem;
    }
}


/* ---- Cardul de cumpărare, primul pe telefon ----

   Pe ecran mare cardul stă în coloana din dreapta, la înălțimea
   titlului. Pe o singură coloană ajungea după toată descrierea, deci
   prețul și butonul se vedeau abia după o derulare bună.

   `order` îl urcă în capul grilei, fără să schimbe ordinea din
   marcaj — deci cititoarele de ecran și navigarea din tastatură merg
   mai departe pe firul firesc: ce e biletul, apoi cât costă. */

@media (max-width: 1024px) {

    .devos-ticket-single__buy { order: -1; }
    .devos-ticket-single__main { order: 0; }
}


/* =============================================================
   32. BILETE — cele patru tipuri de acces pe un rând
   Business Expo stă în aceeași grilă cu cele plătite, ca să poată
   fi comparat dintr-o privire. Blocul e la final ca pragurile de
   mai jos să bată regulile mai vechi din secțiunea 26.8.
   ============================================================= */

/* Patru carduri lizibile au nevoie de ~290px fiecare. */
@media (max-width: 1200px) {
    .devos-pricing__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
    .devos-pricing__grid { grid-template-columns: 1fr; }
}

/* Cardul gratuit: aceeași înălțime, dar fără greutatea vizuală a
   unui preț — accentul rămâne pe biletele plătite. */
.devos-price-card--free .devos-price-card__tier.is-active {
    background: rgba(104,137,71,.12);
}
.devos-price-card--free .devos-price-card__tier-price {
    color: var(--devos-accent-2);
}


/* =============================================================
   33. BUSINESS EXPO ÎN GRILA DIN /bilete
   Al patrulea card nu e produs: nu are preț, nu are pagină proprie
   și duce în formularul de preînregistrare.
   ============================================================= */

/* Patru carduri au nevoie de ~290px fiecare ca textul să nu se rupă. */
@media (max-width: 1280px) {
    .devos-shop ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
    .devos-shop ul.products { grid-template-columns: 1fr; }
}

/* Cardul gratuit nu e produs, deci nu primește clasele WooCommerce
   care aduc float și lățimi fixe — le neutralizăm oricum, ca să se
   comporte identic cu celelalte dacă se schimbă ordinea de încărcare. */
.devos-shop ul.products li.product.devos-ticket-card--expo {
    float: none;
    clear: none;
    width: auto;
    margin: 0;
}

/* Bordură punctată: semnalează că e alt tip de acces, nu un bilet. */
.devos-ticket-card--expo {
    border-style: dashed;
    border-color: var(--devos-accent-2);
}
.devos-ticket-card--expo .devos-ticket-card__amount { color: var(--devos-accent-2); }

/* Fără link „Ce include” dedesubt, butonul rămâne lipit de bază. */
.devos-ticket-card--expo .devos-ticket-card__actions { margin-top: auto; }


/* =============================================================
   42. FORMULARUL DE CERERI — coloane egale, margini simetrice
   ============================================================= */

/*
 * `align-items: start` lăsa fiecare coloană la înălțimea conținutului
 * ei, deci cele două se terminau la linii diferite. Acum rândul se
 * întinde, iar în interiorul fiecărei coloane ultimul element preia
 * spațiul rămas — se termină amândouă pe aceeași linie, indiferent
 * care are mai mult conținut.
 */
.devos-leads__grid { align-items: stretch; }

.devos-leads__form-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.devos-leads__form-col > .devos-leads__form { flex: 1 1 auto; }

.devos-leads__side > :last-child { flex: 1 1 auto; }

/*
 * Spațiul de sub antet era clamp(2.5rem, 5vw, 4rem), iar cel de sub
 * carduri var(--devos-section-py) — aproape dublu. Acum sunt egale.
 */
.devos-leads { padding-bottom: clamp(2.5rem, 5vw, 4rem); }

/* Pe mobil coloanele stau una sub alta: nu mai e nimic de egalat,
   iar întinderea ultimului card ar lăsa un gol în josul lui. */
@media (max-width: 900px) {
    .devos-leads__form-col > .devos-leads__form,
    .devos-leads__side > :last-child { flex: 0 0 auto; }
}


/* =============================================================
   43. GALERIE — MASONRY

   Grila uniformă tăia fiecare fotografie la aceeași casetă: un cadru
   lat de sală și un portret ajungeau identice, iar pagina devenea un
   șir de dreptunghiuri egale. Aici coloanele au lățime fixă, dar
   fiecare imagine își păstrează înălțimea reală.

   Implementat cu multi-column, nu cu grid: `grid-template-rows:
   masonry` încă nu e suportat larg, iar varianta JS ar fi adus salturi
   de layout la încărcarea pozelor.
   ============================================================= */

.devos-gallery__grid--masonry {
    display: block;
    column-count: 3;
    column-gap: 1.25rem;
}

.devos-gallery__grid--masonry .devos-gallery__item {
    display: block;
    width: 100%;
    margin: 0 0 1.25rem;
    /* Fără asta, o fotografie s-ar rupe între două coloane. */
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

/* Proporțiile reale ale fotografiei — nimic nu mai e decupat.
   Specificitate mai mare decât regulile de `object-fit: cover`
   scrise pentru grila uniformă. */
.devos-gallery__grid--masonry .devos-gallery__item img {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: fill;
}

/* Placeholder-ul n-are proporții proprii, deci îi dăm una. */
.devos-gallery__grid--masonry .devos-img-placeholder--gallery {
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 2;
}

@media (max-width: 1024px) {
    .devos-gallery__grid--masonry { column-count: 2; }
}
@media (max-width: 600px) {
    .devos-gallery__grid--masonry { column-count: 1; }
}


/* =============================================================
   44. GALERIE — „VEZI MAI MULTE”
   ============================================================= */

/*
 * ESENȚIAL: `.devos-gallery__grid--masonry .devos-gallery__item`
 * pune `display: block`. Regulile autorului bat foaia de stil a
 * browserului indiferent de specificitate, deci fără regula asta
 * fotografiile marcate cu `hidden` s-ar vedea în continuare.
 */
.devos-gallery__grid .devos-gallery__item[hidden] { display: none; }

.devos-gallery__more {
    display: flex;
    justify-content: center;
    margin-top: clamp(1.5rem, 3vw, 2.25rem);
}


/* Fotografiile noi nu apar brusc: o intrare scurtă arată de unde
   s-a continuat lista. */
.devos-gallery__item.is-revealed {
    animation: devos-gallery-in .45s cubic-bezier(.25,.46,.45,.94) both;
}

@keyframes devos-gallery-in {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: none; }
}

/* Focusul programat pe prima fotografie nouă nu trebuie să deseneze
   un contur, dar navigarea reală de la tastatură da. */
.devos-gallery__item[tabindex="-1"]:focus { outline: none; }
.devos-gallery__item[tabindex="-1"]:focus-visible {
    outline: 2px solid var(--devos-accent);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .devos-gallery__item.is-revealed { animation: none; }
}


/* =============================================================
   45. RECOMANDĂRI PE PAGINA UNUI BILET

   Numărul de coloane urmează numărul de recomandări: trei carduri
   pe un rând de două ar fi lăsat unul singur, lat, pe al doilea rând.
   ============================================================= */

/* Numarul de variante nu mai schimba asezarea: toate stau pe un rand
   fiecare, una sub alta. Clasele --1 … --4 raman in marcaj, dar nu mai
   au nimic de facut aici. */


/* =============================================================
   46. BUSINESS EXPO — secțiunea pentru companii

   Peste 40 de categorii, una singură disponibilă pentru fiecare.
   Trei liste de text nu spun asta, așa că secțiunea e un panou
   de locuri: cifre mari sus, file pe domenii, iar fiecare
   categorie e un loc cu stare — liber sau ocupat.

   Fundalul e închis (.devos-section--dark), deci tot ce e aici
   scrie pe navy, nu pe alb.
   ============================================================= */

.devos-expo { position: relative; overflow: hidden; }

/*
 * Pata de lumină din spate scoate banda din platitudinea unui
 * navy plin. Stă sub conținut și nu prinde clicuri.
 */
.devos-expo__glow {
    position: absolute;
    top: -30%;
    left: 50%;
    width: min(1100px, 120%);
    aspect-ratio: 1;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(207,222,75,.13) 0%, rgba(207,222,75,0) 62%);
    pointer-events: none;
    z-index: 0;
}

.devos-expo > .devos-container { position: relative; z-index: 1; }

/* ── Cifrele ──────────────────────────────────────────────── */

/*
 * Numerele sunt calculate din listele din panou, nu scrise de
 * mână, ca să nu rămână în urmă când se adaugă o categorie.
 */
.devos-expo__counters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    max-width: 920px;
    margin: 0 auto clamp(1.75rem, 3vw, 2.5rem);
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--devos-radius-lg);
    overflow: hidden;
}

.devos-expo__counter {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2rem;
    padding: 1.4rem .9rem 1.25rem;
    background: rgba(0,31,63,.55);
    text-align: center;
}

.devos-expo__counter-num {
    font-family: var(--devos-font-heading);
    font-size: clamp(1.9rem, 4.5vw, 2.9rem);
    font-weight: 800;
    line-height: 1;
    color: var(--devos-text-white);
    font-variant-numeric: tabular-nums;
}

/* Cifra care duce povestea secțiunii: câte categorii încap în expo. */
.devos-expo__counter--lead .devos-expo__counter-num { color: var(--devos-accent); }

.devos-expo__counter-label {
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    line-height: 1.35;
    color: var(--devos-text-light);
}

/* ── Panoul cu file ───────────────────────────────────────── */

/*
 * Panoul n-are cutie proprie: chenarul lui peste filele-card și peste
 * casetele categoriilor dădea trei niveluri de cutii una în alta.
 * Cardurile dinăuntru rămân — ele poartă structura.
 */

.devos-expo__tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
    margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
}

.devos-expo__tab {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .95rem 1.1rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--devos-radius-md);
    background: rgba(0,31,63,.45);
    color: var(--devos-text-light);
    /* Un <button> nu moștenește fontul, iar tema n-are reset global. */
    font-family: var(--devos-font-body);
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
    transition: background var(--devos-transition), border-color var(--devos-transition), transform var(--devos-transition);
}

.devos-expo__tab:hover {
    background: rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.26);
    transform: translateY(-2px);
}

.devos-expo__tab.is-active {
    background: var(--devos-btn-gradient);
    border-color: transparent;
    color: var(--devos-primary);
}

.devos-expo__tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    flex-shrink: 0;
    border-radius: var(--devos-radius-sm);
    background: rgba(255,255,255,.1);
    color: var(--devos-accent);
    font-size: .95rem;
}
.devos-expo__tab.is-active .devos-expo__tab-icon {
    background: rgba(0,31,63,.14);
    color: var(--devos-primary);
}

.devos-expo__tab-text { display: flex; flex-direction: column; gap: .12rem; min-width: 0; }

.devos-expo__tab-name {
    font-family: var(--devos-font-heading);
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.3;
    color: var(--devos-text-white);
}
.devos-expo__tab.is-active .devos-expo__tab-name { color: var(--devos-primary); }

.devos-expo__tab-count {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    opacity: .72;
}

.devos-expo__panel-lead {
    max-width: 760px;
    margin: 0 0 1.25rem;
    font-size: .89rem;
    line-height: 1.65;
    color: var(--devos-text-light);
}

/* ── Locurile ─────────────────────────────────────────────── */

/*
 * Grila se umple singură: `auto-fill` ține rândurile pline
 * oricâte categorii are domeniul, fără praguri scrise de mână.
 */
.devos-expo__slots {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.devos-expo__slot {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    padding: .8rem .95rem;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--devos-radius-sm);
    background: rgba(0,31,63,.4);
    transition: background var(--devos-transition), border-color var(--devos-transition);
}

.devos-expo__slot:hover {
    background: rgba(255,255,255,.07);
    border-color: rgba(207,222,75,.35);
}

/* Punctul de dinaintea numelui ține ritmul coloanei. */
.devos-expo__slot-state {
    width: 7px;
    height: 7px;
    margin-top: .45em;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--devos-accent);
    box-shadow: 0 0 0 3px rgba(207,222,75,.18);
}

.devos-expo__slot-body { display: flex; flex-direction: column; gap: .1rem; min-width: 0; flex: 1; }

.devos-expo__slot-name {
    font-size: .87rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--devos-text-white);
}

.devos-expo__slot-detail {
    font-size: .75rem;
    line-height: 1.45;
    color: rgba(255,255,255,.58);
}

/* Eticheta apare doar pe o categorie marcată ocupată. */
.devos-expo__slot-tag {
    flex-shrink: 0;
    align-self: center;
    padding: .2em .6em;
    border-radius: var(--devos-radius-full);
    background: rgba(207,222,75,.14);
    color: var(--devos-accent);
    font-family: var(--devos-font-heading);
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* O categorie luată rămâne vizibilă, dar nu mai cere atenție. */
.devos-expo__slot.is-taken { opacity: .45; }
.devos-expo__slot.is-taken .devos-expo__slot-state {
    background: rgba(255,255,255,.4);
    box-shadow: none;
}
.devos-expo__slot.is-taken .devos-expo__slot-tag {
    background: rgba(255,255,255,.1);
    color: var(--devos-text-light);
}

/* ── Setup-ul standului ───────────────────────────────────── */

.devos-expo__setup {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    margin: 1.5rem 0 0;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255,255,255,.1);
    font-size: .82rem;
    line-height: 1.6;
    color: rgba(255,255,255,.62);
}
.devos-expo__setup i { color: var(--devos-accent); margin-top: .3em; flex-shrink: 0; }
.devos-expo__setup strong { color: var(--devos-text-white); }

/* ── Business Tables: planul sălii ────────────────────────── */

.devos-expo__tables {
    margin-top: clamp(2rem, 4vw, 3rem);
    text-align: center;
}

/* ── Antetul dinăuntrul sălii ─────────────────────────────── */

.devos-expo__hall-head {
    max-width: 720px;
    /*
     * Distanța până la mese o dădea marginea scenei. Fără ea, titlul
     * ar sta lipit de primul rând.
     */
    margin: 0 auto clamp(2rem, 4vw, 3rem);
}

.devos-expo__tables-title {
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    font-weight: 800;
    line-height: 1.35;
    color: var(--devos-text-white);
    margin-bottom: 0;
}

.devos-expo__tables-lead {
    margin: .6rem 0 0;
    font-size: .88rem;
    line-height: 1.65;
    color: var(--devos-text-light);
}

/*
 * Planul sălii: cadrul camerei, caroiajul podelei și mesele rotunde.
 * Mesele stau în rânduri drepte — o sală de banchet chiar așa e
 * aranjată, iar decalajul alternant pe care îl încercasem făcea
 * cercurile să pară împrăștiate.
 */
.devos-expo__hall {
    position: relative;
    /* Pe lățimea containerului, ca restul secțiunii. */
    padding: clamp(1.4rem, 3vw, 2.25rem) clamp(1rem, 2.4vw, 2rem) clamp(1.75rem, 3.5vw, 2.5rem);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--devos-radius-lg);
    background:
        /* caroiajul podelei */
        repeating-linear-gradient(0deg,  rgba(255,255,255,.035) 0 1px, transparent 1px 38px),
        repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 38px),
        rgba(0,31,63,.55);
    box-shadow: inset 0 0 0 6px rgba(255,255,255,.028);
    overflow: hidden;
}

/* ── Podeaua cu mese ──────────────────────────────────────── */

/*
 * auto-fit ține rândurile pline oricâte mese are lista. Podeaua se
 * oprește la 820px: fără limită, grila întinde 7 mese pe primul rând
 * și 3 pe al doilea, ceea ce arată ca o listă, nu ca o sală.
 */
/*
 * Flex, nu grid: la grid, un ultim rând incomplet rămâne lipit la
 * stânga, iar un plan de sală cu două mese într-un colț arată rupt.
 * Flex cu justify-content:center îl centrează singur.
 *
 * Baza scade continuu cu lățimea, nu în trepte: cu o bază fixă apărea
 * o bandă între 700 și 900px cu trei mese pe rând și una singură pe
 * ultimul, iar la 680px sărea înapoi la patru. Așa ies 5 → 4 → 2,
 * adică numai împărțiri în care ultimul rând nu rămâne cu o masă.
 */
.devos-expo__floor {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(1rem, 2.2vw, 1.75rem) clamp(.75rem, 1.6vw, 1.25rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.devos-expo__table {
    display: flex;
    justify-content: center;
    flex: 0 1 clamp(132px, 14vw, 182px);
}

/* ── Masa rotundă ─────────────────────────────────────────── */

.devos-expo__table-disc {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    width: 100%;
    max-width: 186px;
    aspect-ratio: 1;
    padding: 1.1rem 1rem;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.22);
    background:
        /* lumina care cade dinspre scenă, de sus */
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.13) 0%, rgba(255,255,255,0) 62%),
        rgba(5,38,71,.92);
    text-align: center;
    box-shadow:
        /* umbra care o ridică de pe podea */
        0 12px 26px rgba(0,0,0,.34),
        /* muchia blatului */
        inset 0 1px 0 rgba(255,255,255,.07);
    transition: transform var(--devos-transition), border-color var(--devos-transition), box-shadow var(--devos-transition);
}

/* Blatul mesei: un inel continuu, subțire. Punctat citea ca zgomot. */
.devos-expo__table-disc::before {
    content: '';
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.07);
    pointer-events: none;
}

.devos-expo__table:hover .devos-expo__table-disc {
    transform: translateY(-5px);
    border-color: rgba(207,222,75,.6);
    box-shadow:
        0 16px 34px rgba(0,0,0,.4),
        inset 0 1px 0 rgba(255,255,255,.1);
}

.devos-expo__table-no {
    font-family: var(--devos-font-heading);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .14em;
    color: var(--devos-accent);
    opacity: .85;
}

.devos-expo__table-name {
    font-size: .84rem;
    font-weight: 600;
    line-height: 1.3;
    /* Numele lung se rupe în cerc, nu îl sparge. */
    overflow-wrap: anywhere;
    hyphens: auto;
    color: var(--devos-text-white);
}

/* ── Întrebările de calificare + apelul la acțiune ────────── */

.devos-expo__apply {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: center;
    margin-top: clamp(2rem, 4vw, 3rem);
    padding: clamp(1.75rem, 3vw, 2.5rem);
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--devos-radius-lg);
}

.devos-expo__questions-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--devos-text-white);
    margin-bottom: .95rem;
}

.devos-expo__qlist {
    counter-reset: devos-q;
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.devos-expo__qlist li {
    counter-increment: devos-q;
    position: relative;
    padding-left: 2.1rem;
    font-size: .89rem;
    line-height: 1.55;
    color: var(--devos-text-light);
}
.devos-expo__qlist li::before {
    content: counter(devos-q);
    position: absolute;
    left: 0;
    top: -.05em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: rgba(207,222,75,.14);
    border: 1px solid rgba(207,222,75,.3);
    color: var(--devos-accent);
    font-family: var(--devos-font-heading);
    font-size: .72rem;
    font-weight: 800;
}

.devos-expo__cta { text-align: center; }
.devos-expo__cta .devos-btn { width: 100%; justify-content: center; }

.devos-expo__visitor {
    margin: .9rem 0 0;
    font-size: .8rem;
    line-height: 1.55;
    color: rgba(255,255,255,.6);
}
.devos-expo__visitor a {
    display: inline-flex;
    align-items: center;
    gap: .3em;
    color: var(--devos-accent);
    font-weight: 600;
    white-space: nowrap;
}
.devos-expo__visitor a:hover { color: var(--devos-text-white); }
.devos-expo__visitor i { font-size: .7em; }

/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 1024px) {

    .devos-expo__counters { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /*
     * Contoarele sunt trei (sau două, dacă nu există mese), iar pe
     * două coloane un număr impar lasă ultima celulă goală — un
     * dreptunghi cu chenar, lângă nimic. Ultimul se întinde pe toată
     * lățimea exact când numărul lor e impar.
     */
    .devos-expo__counter:last-child:nth-child(odd) { grid-column: 1 / -1; }

    .devos-expo__apply { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {

    .devos-expo__slots { grid-template-columns: 1fr; }

    /* Abia pe telefon filele se stivuiesc; pe tabletă e loc de trei. */
    .devos-expo__tabs { grid-template-columns: 1fr; gap: .5rem; }
    .devos-expo__tab  { padding: .75rem .9rem; gap: .7rem; }

    .devos-expo__tab-icon { width: 2.1rem; height: 2.1rem; font-size: .85rem; }
    .devos-expo__tab-name { font-size: .88rem; }

    /* Contoarele nu au nevoie de atâta înălțime pentru două rânduri. */
    .devos-expo__counter       { padding: 1.1rem .7rem 1rem; }
    .devos-expo__counter-num   { font-size: clamp(1.75rem, 9vw, 2.3rem); }
    .devos-expo__counter-label { font-size: .68rem; letter-spacing: .05em; }

    /*
     * Exact două mese pe rând, prin procent: o bază fixă dădea trei
     * mese pe rând la ~600px, cu una singură pe ultimul.
     */
    .devos-expo__floor { gap: .9rem .7rem; }
    .devos-expo__table { flex: 0 1 calc(50% - .35rem); }
    .devos-expo__hall  { box-shadow: inset 0 0 0 4px rgba(255,255,255,.03); }
    .devos-expo__table-name { font-size: .72rem; }
}

/*
 * Decalajul meselor și ridicarea la hover sunt decor. Cine a cerut
 * mai puțină mișcare primește planul așezat drept, fără zigzag.
 */
@media (prefers-reduced-motion: reduce) {
    .devos-expo__table-disc { transition: none; }
    .devos-expo__table:hover .devos-expo__table-disc { transform: none; }
}


/* ── Limita unui pachet de partener ───────────────────────── */

/*
 * Aceeași formă ca avertismentul de la bilete: o limită spusă din start
 * se citește ca onestitate, nu ca lipsă — dar numai dacă nu stă printre
 * bifele verzi.
 */
.devos-package-card__exclude {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin-bottom: 1.1rem;
    padding: .75rem .9rem;
    border-radius: var(--devos-radius-sm);
    background: rgba(230,180,40,.12);
    color: #8a6d1f;
    font-size: .78rem;
    line-height: 1.5;
}
.devos-package-card__exclude i { margin-top: .15em; flex-shrink: 0; }

.devos-package-card--featured .devos-package-card__exclude {
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.82);
}


/* =============================================================
   47. CAROUSEL PARTENERI PE ECRANE MICI

   Săgețile stau de o parte și de alta a pistei. Pe un telefon îi
   iau aproape 100px din cei ~360 disponibili: rămâne loc pentru un
   logo și jumătate, iar al treilea se vede tăiat sub săgeată.
   ============================================================= */

@media (max-width: 680px) {

    /*
     * Pista ia tot rândul, iar săgețile sar pe rândul următor și se
     * centrează. Mutarea e din `order`, nu din marcaj: JS-ul leagă
     * butoanele după clasă, iar schimbarea ordinii în DOM ar fi
     * riscat să inverseze „înapoi” cu „înainte”.
     */
    .devos-partners__carousel {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.15rem .9rem;
    }

    .devos-partners__carousel-wrap { flex: 0 0 100%; order: 1; }

    /* Pe atingere, ținta trebuie să fie mai mare decât pe mouse. */
    .devos-partners__arrow {
        order: 2;
        width: 2.6rem;
        height: 2.6rem;
        font-size: .85rem;
    }

    /*
     * Fără săgeți care să mănânce din lățime, logo-urile pot crește:
     * la 390px intră două întregi plus o felie din al treilea, care
     * e semnul că lista continuă.
     */
    .devos-partner-logo { width: 138px; height: 68px; }

    .devos-partners__carousel-track { gap: .85rem; }

    /*
     * Marginile topite ascundeau tocmai felia care arată că mai e
     * conținut. Pe lat rămân, pe îngust le strâng.
     */
    .devos-partners__carousel-wrap {
        -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 90%, transparent 100%);
                mask-image: linear-gradient(90deg, #000 0%, #000 90%, transparent 100%);
    }

    .devos-partners__row { margin-bottom: 2rem; }

    .devos-partners__row-label { margin-bottom: .9rem; }
}


/* =============================================================
   48. PANOUL DE STATISTICI PE MOBIL ȘI TABLETĂ

   Panoul alb iese peste secțiunea următoare. Doar că aceea e tot
   albă: suprapunerea nu se vede ca efect, se vede doar ce rămâne
   în jurul ei — fâșiile de navy de lângă colțurile rotunjite de
   jos, care arată a greșeală, și un gol alb lung până la titlul
   secțiunii de parteneri.
   ============================================================= */

@media (max-width: 1024px) {

    /*
     * Fără suprapunere: panoul stă întreg în secțiunea închisă, cu
     * colțurile pe navy, unde se citesc ca intenție.
     */
    .devos-stats-panel { margin-bottom: 0; }

    /*
     * Spațiul de sub panou nu mai trebuie să acopere ieșitura.
     *
     * Restrans cu :not(), fiindca regulile .devos-stats--no-overlap au
     * aceeasi specificitate si stau mai sus in fisier: fara asta le-as
     * fi batut, iar cand sectiunea de parteneri e ascunsa statisticile
     * ar fi ramas cu spatiere de mobil in loc de cea intreaga.
     */
    .devos-stats:not(.devos-stats--no-overlap)       { padding-bottom: clamp(2rem, 5vw, 3rem); }
    .devos-partners:not(.devos-partners--no-overlap) { padding-top: clamp(2.5rem, 6vw, 4.5rem); }
}

@media (max-width: 680px) {

    /*
     * Panoul ocupă aproape toată lățimea ecranului, deci marginile
     * lui interioare de 40px mâncau o cincime din ea.
     */
    .devos-stats-panel {
        margin-top: 2rem;
        padding: 2rem 1.35rem;
        border-radius: var(--devos-radius-lg);
    }

    .devos-stats-panel__heading {
        margin-bottom: 1.5rem;
        padding-bottom: 1.1rem;
    }

    .devos-stats-panel__grid {
        gap: .5rem;
        margin-bottom: 1.75rem;
    }

    .devos-stats-panel__item { padding: .8rem .25rem; }

    /* Cifra rămâne eroul, dar nu mai atinge marginile coloanei. */
    .devos-stats-panel__number { font-size: clamp(2.6rem, 12vw, 3.4rem); }

    .devos-stats-panel__pre   { font-size: .64rem; letter-spacing: .1em; }

    .devos-stats-panel__grid .devos-stats-panel__label { font-size: .8rem; }

    .devos-stats-panel__emphasis {
        padding: 1.1rem 1.2rem;
        font-size: .92rem;
        line-height: 1.6;
    }
}


/* =============================================================
   49. UPSELL ÎN COȘ, ÎN BARA LATERALĂ ȘI LA FINALIZARE

   Același bloc în trei locuri cu fundaluri diferite: bara laterală
   e navy, coșul și finalizarea sunt albe. Culorile vin din
   modificatorul de context, restul e comun.
   ============================================================= */

.devos-cart-upsell {
    margin: 1.25rem 0 0;
}

.devos-cart-upsell__title {
    font-family: var(--devos-font-heading);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0 0 .85rem;
}

.devos-cart-upsell__list {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.devos-cart-upsell__item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem .85rem;
    border-radius: var(--devos-radius-md);
    border: 1px solid transparent;
    transition: border-color var(--devos-transition), background var(--devos-transition);
}

.devos-cart-upsell__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    flex-shrink: 0;
    border-radius: var(--devos-radius-sm);
    font-size: .85rem;
}

/* `min-width: 0` ca un nume lung să se rupă, nu să împingă prețul afară. */
.devos-cart-upsell__body {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    flex: 1;
    min-width: 0;
}

.devos-cart-upsell__name {
    font-family: var(--devos-font-heading);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.devos-cart-upsell__perk {
    font-size: .74rem;
    line-height: 1.4;
    /* O singură linie: în bara laterală nu e loc de mai mult. */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.devos-cart-upsell__side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .35rem;
    flex-shrink: 0;
}

.devos-cart-upsell__price {
    font-family: var(--devos-font-heading);
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}

.devos-cart-upsell__add {
    display: inline-flex;
    align-items: center;
    padding: .34em .9em;
    border-radius: var(--devos-radius-full);
    font-family: var(--devos-font-heading);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--devos-transition), color var(--devos-transition);
}

/* ── Pe fundal închis: bara laterală a coșului ────────────── */

.devos-cart-upsell--minicart {
    margin-top: 1.1rem;
    /*
     * Marginea de jos nu e decor: dupa acest bloc urmeaza direct
     * butoanele cosului, iar fara ea ultimul card se lipea de
     * „Vezi cosul”.
     */
    margin-bottom: 1.35rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(255,255,255,.12);
}

.devos-cart-upsell--minicart .devos-cart-upsell__title {
    color: var(--devos-accent);
    margin-bottom: .7rem;
    font-size: .72rem;
}

/*
 * Spațiul dintre carduri e mai mare decât cel dinăuntrul lor: așa
 * lista se citește ca trei lucruri separate, nu ca un bloc.
 */
.devos-cart-upsell--minicart .devos-cart-upsell__list { gap: .45rem; }

.devos-cart-upsell--minicart .devos-cart-upsell__item {
    gap: .6rem;
    padding: .45rem .7rem;
    background: rgba(255,255,255,.04);
    border-color: rgba(255,255,255,.09);
}
.devos-cart-upsell--minicart .devos-cart-upsell__item:hover {
    background: rgba(255,255,255,.07);
    border-color: rgba(207,222,75,.45);
}

/* Fără pastilă de fundal: rămâne doar semnul, aliniat cu numele. */
.devos-cart-upsell--minicart .devos-cart-upsell__icon {
    width: auto;
    height: auto;
    background: none;
    font-size: .92rem;
    color: rgba(207,222,75,.75);
}

.devos-cart-upsell--minicart .devos-cart-upsell__name {
    color: var(--devos-text-white);
    font-size: .84rem;
}
.devos-cart-upsell--minicart .devos-cart-upsell__perk {
    color: rgba(255,255,255,.5);
    font-size: .71rem;
}
.devos-cart-upsell--minicart .devos-cart-upsell__price {
    color: var(--devos-text-white);
    font-size: .78rem;
}


/* Randurile din card, cat mai aproape: inaltimea cardului o dau ele. */
.devos-cart-upsell--minicart .devos-cart-upsell__body { gap: .05rem; }
.devos-cart-upsell--minicart .devos-cart-upsell__name { line-height: 1.25; }
.devos-cart-upsell--minicart .devos-cart-upsell__perk { line-height: 1.3; }

.devos-cart-upsell--minicart .devos-cart-upsell__side { gap: .25rem; }

.devos-cart-upsell--minicart .devos-cart-upsell__add {
    padding: .3em .75em;
    font-size: .66rem;
    background: var(--devos-btn-gradient);
    color: var(--devos-primary);
}
.devos-cart-upsell--minicart .devos-cart-upsell__add:hover { filter: brightness(1.08); }

/* ── Pe fundal deschis: coșul și finalizarea ──────────────── */

/*
 * Fara cutie proprie: chenarul ei peste cardurile de acces dadea
 * card in card. Titlul si cardurile poarta singure structura.
 */
.devos-cart-upsell--cart,
.devos-cart-upsell--checkout {
    padding: 0;
    border: 0;
    background: none;
}

.devos-cart-upsell--cart     { margin-bottom: 1.75rem; }
.devos-cart-upsell--checkout { margin-bottom: 1.5rem; }

.devos-cart-upsell--cart     .devos-cart-upsell__title,
.devos-cart-upsell--checkout .devos-cart-upsell__title { color: var(--devos-accent-2); }

.devos-cart-upsell--cart     .devos-cart-upsell__item,
.devos-cart-upsell--checkout .devos-cart-upsell__item {
    background: var(--devos-bg-light);
    border-color: var(--devos-border);
}
.devos-cart-upsell--cart     .devos-cart-upsell__item:hover,
.devos-cart-upsell--checkout .devos-cart-upsell__item:hover { border-color: var(--devos-accent-2); }

.devos-cart-upsell--cart     .devos-cart-upsell__icon,
.devos-cart-upsell--checkout .devos-cart-upsell__icon {
    background: rgba(104,137,71,.12);
    color: var(--devos-accent-2);
}

.devos-cart-upsell--cart     .devos-cart-upsell__name,
.devos-cart-upsell--checkout .devos-cart-upsell__name  { color: var(--devos-primary); }
.devos-cart-upsell--cart     .devos-cart-upsell__perk,
.devos-cart-upsell--checkout .devos-cart-upsell__perk  { color: var(--devos-text-muted); }
.devos-cart-upsell--cart     .devos-cart-upsell__price,
.devos-cart-upsell--checkout .devos-cart-upsell__price { color: var(--devos-primary); }

.devos-cart-upsell--cart     .devos-cart-upsell__add,
.devos-cart-upsell--checkout .devos-cart-upsell__add {
    background: var(--devos-btn-gradient);
    color: var(--devos-primary);
}
.devos-cart-upsell--cart     .devos-cart-upsell__add:hover,
.devos-cart-upsell--checkout .devos-cart-upsell__add:hover { filter: brightness(1.08); }

/*
 * Pe pagina coșului e lățime pentru mai multe pe un rând; în bara
 * laterală și la finalizare, niciodată.
 */
@media (min-width: 781px) {
    .devos-cart-upsell--cart .devos-cart-upsell__list {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .devos-cart-upsell--cart .devos-cart-upsell__item {
        flex: 1 1 260px;
    }
}

/* ── Ecrane mici ──────────────────────────────────────────── */

/*
 * Numai coșul și finalizarea: ele se întind cu fereastra. Sertarul are
 * 384px fixe pe orice dispozitiv, deci aranjamentul lui nu se leagă de
 * lățimea ferestrei — vezi mai jos.
 */
@media (max-width: 420px) {

    /*
     * Sub 420px, numele plus prețul plus butonul pe același rând lasă
     * numelui vreo 90px. Butonul coboară sub el, pe toată lățimea.
     */
    .devos-cart-upsell--cart .devos-cart-upsell__item,
    .devos-cart-upsell--checkout .devos-cart-upsell__item {
        flex-wrap: wrap;
        row-gap: .6rem;
    }

    .devos-cart-upsell--cart .devos-cart-upsell__side,
    .devos-cart-upsell--checkout .devos-cart-upsell__side {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        width: 100%;
    }

    .devos-cart-upsell--cart .devos-cart-upsell__add,
    .devos-cart-upsell--checkout .devos-cart-upsell__add { padding: .45em 1.2em; }

    /* Fără înghesuială, descrierea poate ocupa două rânduri. */
    .devos-cart-upsell--cart .devos-cart-upsell__perk,
    .devos-cart-upsell--checkout .devos-cart-upsell__perk {
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
}


/* =============================================================
   50. CASETA „NU SUNT ROBOT”

   Widgetul Google vine cu lățime fixă (302px) și nu se poate stila
   pe dinăuntru — e într-un iframe. Ce putem face e să-l așezăm
   corect și, pe ecrane înguste, să-l micșorăm cu `transform`, ca
   să nu iasă din formular.
   ============================================================= */

.devos-recaptcha {
    margin: 0 0 1.25rem;
}

/* Pe pagina de finalizare stă chiar deasupra butonului de plată. */
.devos-recaptcha--checkout { margin: 1.25rem 0; }

.devos-recaptcha--leads { margin-bottom: 1.5rem; }

/*
 * Widgetul are 302px lățime. Sub ~340px de spațiu util, îl scalăm —
 * `transform` nu afectează funcționarea iframe-ului, iar originea în
 * stânga-sus îl ține aliniat cu restul câmpurilor.
 */
@media (max-width: 400px) {
    .devos-recaptcha .g-recaptcha {
        transform: scale(.87);
        transform-origin: 0 0;
    }
    /* Scalarea nu micșorează spațiul ocupat, deci îl ajustăm noi. */
    .devos-recaptcha { height: 68px; }
}

/*
 * În formularul de lead-uri câmpurile sunt pe două coloane; caseta
 * trebuie să treacă peste amândouă, altfel rupe grila.
 */
.devos-leads__form .devos-recaptcha { grid-column: 1 / -1; }


/* =============================================================
   51. DESIGNUL PER SECȚIUNE

   Panoul genera clasele astea de la bun început — fundal, lățime,
   linii despărțitoare, ascundere pe telefon — dar nu le stila
   nimeni. Reglajele existau și nu făceau nimic.

   `:where()` ține specificitatea la zero, ca o secțiune care are
   deja culorile ei să nu se bată cu alegerea din panou: aici
   contează ce a ales omul, nu ce scrie în șablon.
   ============================================================= */

/* ── Fundal ───────────────────────────────────────────────── */

.devos-site .devos-sx--bg-white  { background-color: var(--devos-bg-white); }
.devos-site .devos-sx--bg-light  { background-color: var(--devos-bg-light); }
.devos-site .devos-sx--bg-dark   { background-color: var(--devos-primary); }
.devos-site .devos-sx--bg-accent { background-color: rgba(207,222,75,.08); }

/*
 * Pe fundal închis, textul scris pentru fundal deschis ar dispărea.
 * Culorile se întorc, fără să atingem șablonul secțiunii.
 */
.devos-site .devos-sx--bg-dark :where(h1, h2, h3, h4, .devos-section__title) { color: var(--devos-text-white); }
.devos-site .devos-sx--bg-dark :where(p, li, .devos-section__subtitle)       { color: var(--devos-text-light); }

/* Fotografia și voalul vin din panou, ca reguli pe id. */
.devos-site .devos-sx--bg-image { background-attachment: scroll; }
.devos-site .devos-sx--bg-image :where(h1, h2, h3, h4, .devos-section__title) { color: var(--devos-text-white); }
.devos-site .devos-sx--bg-image :where(p, li, .devos-section__subtitle)       { color: var(--devos-text-light); }

/* ── Lățimea conținutului ─────────────────────────────────── */

.devos-site .devos-sx--w-narrow .devos-container { max-width: 820px; }
.devos-site .devos-sx--w-wide   .devos-container { max-width: 1500px; }
.devos-site .devos-sx--w-full   .devos-container { max-width: 100%; }

/* ── Linii despărțitoare ──────────────────────────────────── */

.devos-site .devos-sx--sep-top    { border-top: 1px solid rgba(0,31,63,.1); }
.devos-site .devos-sx--sep-bottom { border-bottom: 1px solid rgba(0,31,63,.1); }

/* Pe navy, o linie neagră nu se vede; o facem albă. */
.devos-site .devos-sx--bg-dark.devos-sx--sep-top,
.devos-site .devos-sx--bg-image.devos-sx--sep-top    { border-top-color: rgba(255,255,255,.14); }
.devos-site .devos-sx--bg-dark.devos-sx--sep-bottom,
.devos-site .devos-sx--bg-image.devos-sx--sep-bottom { border-bottom-color: rgba(255,255,255,.14); }

/* ── Alinierea textului ───────────────────────────────────── */

.devos-site .devos-sx--align-left   :where(.devos-section__header) { text-align: left; }
.devos-site .devos-sx--align-center :where(.devos-section__header) { text-align: center; }

/* Un antet centrat are nevoie și de margini automate, nu doar de text centrat. */
.devos-site .devos-sx--align-center :where(.devos-section__subtitle) { margin-left: auto; margin-right: auto; }
.devos-site .devos-sx--align-left   :where(.devos-section__subtitle) { margin-left: 0; }

/* ── Mărimea titlului ─────────────────────────────────────── */

.devos-site .devos-sx--h-sm :where(.devos-section__title) { font-size: clamp(1.4rem, 3vw, 2rem); }
.devos-site .devos-sx--h-lg :where(.devos-section__title) { font-size: clamp(2.2rem, 5vw, 3.4rem); }
.devos-site .devos-sx--h-xl :where(.devos-section__title) { font-size: clamp(2.6rem, 6.5vw, 4.4rem); }

/* ── Ascundere ────────────────────────────────────────────── */

@media (max-width: 680px) {
	.devos-site .devos-sx--hide-mobile { display: none; }
}
@media (min-width: 681px) {
	.devos-site .devos-sx--hide-desktop { display: none; }
}

/* ── Fără animație ────────────────────────────────────────── */

/*
 * Secțiunea apare dintr-odată. Regula trebuie să bată `.devos-reveal`,
 * care e pusă pe elementele dinăuntru, nu pe secțiune.
 */
.devos-site .devos-sx--no-anim .devos-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}


/* =============================================================
   52. CONTROL ACCES — ECRANUL DE LA INTRARE

   Se folosește pe telefon, ținut într-o mână, în fața unei cozi,
   adesea în lumină proastă. De aici toate alegerile: fundal
   închis, cifre mari, ținte de apăsare late, nimic care să ceară
   precizie cu degetul.
   ============================================================= */

/*
 * Ecranul ăsta nu e o pagină obișnuită a site-ului, deci nu poartă
 * clasa de care atârnă resetul de mai sus. Fără el, fiecare element cu
 * lățime de 100% și margine interioară iese în afara ecranului, iar
 * pagina se taie în dreapta pe telefon. Îl repetăm aici.
 */
.devos-door,
.devos-door *,
.devos-door *::before,
.devos-door *::after { box-sizing: border-box; }

.devos-door {
	margin: 0;
	background: var(--devos-primary);
	color: var(--devos-text-light);
	font-family: var(--devos-font-body);
	-webkit-font-smoothing: antialiased;

	/* Nimic nu are voie să lățească pagina peste ecran. */
	overflow-x: hidden;
}

.devos-door__shell {
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

/* ── Autentificarea ───────────────────────────────────────── */

.devos-door__gate {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.25rem;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	padding: 2rem 1.25rem;
}

.devos-door__brand { text-align: center; }

.devos-door__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	margin-bottom: 1rem;
	border-radius: var(--devos-radius-lg);
	background: var(--devos-btn-gradient);
	color: var(--devos-primary);
	font-size: 1.6rem;
}

.devos-door__title {
	margin: 0 0 .3rem;
	font-family: var(--devos-font-heading);
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--devos-text-white);
}

.devos-door__event {
	margin: 0;
	font-size: .9rem;
	color: rgba(255,255,255,.6);
}

.devos-door__form {
	display: flex;
	flex-direction: column;
	gap: .9rem;
}

.devos-door__field { display: flex; flex-direction: column; gap: .35rem; }

.devos-door__field span {
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .03em;
	color: rgba(255,255,255,.65);
}

/*
 * 16px e pragul sub care Safari pe iPhone mărește singur pagina când
 * intri într-un câmp — exact ce nu-ți trebuie cu o coadă în față.
 */
.devos-door__field input {
	width: 100%;
	min-height: 52px;
	padding: 0 1rem;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: var(--devos-radius-md);
	background: rgba(255,255,255,.06);
	color: var(--devos-text-white);
	font-size: 16px;
}
.devos-door__field input:focus {
	border-color: var(--devos-accent);
	box-shadow: 0 0 0 3px rgba(207,222,75,.18);
	outline: none;
}

.devos-door__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 1.4rem;
	border: 0;
	border-radius: var(--devos-radius-full);
	background: var(--devos-btn-gradient);
	color: var(--devos-primary);
	font-family: var(--devos-font-heading);
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.devos-door__btn--ghost {
	background: none;
	border: 1px solid rgba(255,255,255,.22);
	color: var(--devos-text-white);
}

.devos-door__btn--sm {
	min-height: 40px;
	padding: 0 1rem;
	font-size: .85rem;
}

.devos-door__note {
	margin: 0;
	padding: .9rem 1.1rem;
	border-radius: var(--devos-radius-md);
	background: rgba(255,255,255,.06);
	border-left: 3px solid rgba(255,255,255,.3);
	font-size: .9rem;
	line-height: 1.6;
}
.devos-door__note p { margin: 0 0 .5rem; }
.devos-door__note p:last-child { margin: 0; }
.devos-door__note.is-error { border-left-color: #d63638; }
.devos-door__note.is-warn  { border-left-color: var(--devos-accent); }

/* ── Bara de sus ──────────────────────────────────────────── */

.devos-door__bar {
	position: sticky;
	top: 0;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .9rem 1.1rem;
	background: rgba(0,31,63,.96);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(255,255,255,.1);
}

.devos-door__bar-name {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	font-family: var(--devos-font-heading);
	font-weight: 800;
	color: var(--devos-text-white);
}
.devos-door__bar-name i { color: var(--devos-accent); }

.devos-door__out {
	font-size: .85rem;
	color: rgba(255,255,255,.65);
	text-decoration: none;
}

.devos-door__main {
	flex: 1;
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
	padding: 1.1rem 1.1rem 3rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

/* ── Cifrele serii ────────────────────────────────────────── */

.devos-door__counts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	border-radius: var(--devos-radius-lg);
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.12);
	overflow: hidden;
}

.devos-door__count {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .15rem;
	padding: 1.1rem .5rem;
	background: rgba(0,31,63,.6);
	text-align: center;
}

.devos-door__count-num {
	font-family: var(--devos-font-heading);
	font-size: 2rem;
	font-weight: 800;
	line-height: 1;
	color: var(--devos-text-white);
	font-variant-numeric: tabular-nums;
}
.devos-door__count.is-in .devos-door__count-num { color: var(--devos-accent); }

.devos-door__count-label {
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
}

/* ── Pe tipuri de acces ───────────────────────────────────── */

.devos-door__types {
	display: flex;
	flex-direction: column;
	gap: .7rem;
}

.devos-door__type {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .3rem .75rem;
	align-items: baseline;
}

.devos-door__type-name {
	font-size: .88rem;
	color: var(--devos-text-light);
	overflow-wrap: anywhere;
}

.devos-door__type-num {
	font-family: var(--devos-font-heading);
	font-size: .85rem;
	color: rgba(255,255,255,.55);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.devos-door__type-num strong { color: var(--devos-accent); }

.devos-door__bar-track {
	grid-column: 1 / -1;
	height: 4px;
	border-radius: var(--devos-radius-full);
	background: rgba(255,255,255,.1);
	overflow: hidden;
}
.devos-door__bar-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--devos-btn-gradient);
}

/* ── Titluri de bloc ──────────────────────────────────────── */

.devos-door__h {
	margin: 0 0 .6rem;
	font-family: var(--devos-font-heading);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--devos-accent);
}

.devos-door__hint {
	margin: 0 0 .8rem;
	font-size: .85rem;
	line-height: 1.55;
	color: rgba(255,255,255,.55);
}

/* ── Scanerul ─────────────────────────────────────────────── */

/*
 * Scanerul vine din modulul de bilete. Scurtcodul lui pune în pagină
 * marcajul și scripturile, dar nu cere foaia de stil care le dă formă;
 * o cerem noi, în doorman.php. Restul se face de aici.
 *
 * Culorile lui stau în variabile, așa că le rescriem pe cadrul nostru
 * și se îmbracă singur în culorile evenimentului — fără să ne luptăm
 * cu regulile lui, una câte una.
 *
 * Cadrul rămâne alb, nu închis ca restul ecranului, din două motive.
 * Unul: biletul citit arată ca un bilet pus pe masă, iar ochiul vede
 * imediat unde e răspunsul. Doi: modulul scrie verdele și roșul
 * rezultatului direct în atributul style, cu „!important” — nicio
 * foaie de stil nu le poate schimba, deci avem nevoie de un fundal pe
 * care cele două culori se citesc cum trebuie.
 *
 * Și rămân verde și roșu. La ușă, cu o coadă în față, culoarea se
 * citește înaintea textului; n-o trecem în paleta evenimentului doar
 * ca să se potrivească.
 */
.devos-door__scanner {
	--saso-primary: var(--devos-primary);
	--saso-primary-hover: #002d5c;
	--saso-surface-alt: #f4f6ee;
	--saso-border: #dde2d2;
	--saso-neutral-bg: #f7f8f2;
	--saso-text: var(--devos-text-dark);
	--saso-font-family: var(--devos-font-body);
	--saso-radius: var(--devos-radius-md);
	--saso-radius-sm: 12px;
	--saso-radius-lg: var(--devos-radius-lg);
	--saso-shadow: 0 16px 40px rgba(0,0,0,.26);
	--saso-shadow-sm: none;

	/* Cardul modulului are 2rem de margine interioară; pe telefon e mult. */
	--saso-space-xl: 1.1rem;
}

/* Marcajul vine din modul; îl ținem doar în interiorul cadrului. */
.devos-door__scanner :where(img, video, canvas) { max-width: 100%; height: auto; }

/* Modulul se centrează cu <center> și o lățime de 90% — aici, tot. */
.devos-door__scanner center,
.devos-door__scanner .saso-scanner__wrapper { width: 100%; max-width: none; }
.devos-door__scanner center > div { width: 100% !important; max-width: none !important; }

/* Cardul alb în care intră tot. */
.devos-door__scanner .saso-ticket { max-width: none; }

/* ── Chenarul camerei ─────────────────────────────────────── */

/*
 * Până pornește camera, chenarul e gol; închis, se înțelege că acolo
 * urmează imaginea. Pe lângă ea, modulul mai pune aici lista de
 * camere și butonul de pornire — implicit toate pe un rând, unde se
 * înghesuie, așa că le punem unul sub altul.
 */
.devos-door__scanner #reader {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	padding: .6rem;
	border-radius: var(--devos-radius-md);
	background: var(--devos-primary);
	overflow: hidden;
}

/* Gol, chenarul n-are ce arăta: nu lăsăm un dreptunghi degeaba. */
.devos-door__scanner #reader:empty { display: none; }

.devos-door__scanner #reader video {
	width: 100%;
	border-radius: var(--devos-radius-sm);
	background: #000;
}

/* Lista de camere, pentru telefoanele cu mai multe obiective. */
.devos-door__scanner select {
	width: 100%;
	min-height: 48px;
	padding: 0 .75rem;
	border: 1px solid var(--saso-border);
	border-radius: 12px;
	background: #fff;
	color: var(--devos-primary);
	font-family: var(--devos-font-body);
	font-size: 16px;
}

/* ── Butoanele ────────────────────────────────────────────── */

/*
 * Se apasă cu degetul mare, dintr-o mână, cu o coadă în față: late,
 * înalte și rotunde, ca ale noastre din restul ecranului.
 */
.devos-door__scanner .button-ticket-options {
	width: 100%;
	min-height: 48px;
	margin: .3rem 0 0;
	padding: 0 1.3rem;
	border-radius: var(--devos-radius-full);
	font-family: var(--devos-font-heading);
	font-weight: 700;
}

.devos-door__scanner .button-ticket-options.button-primary,
.devos-door__scanner .button-ticket-options.button-primary:hover {
	border-color: transparent;
	background: var(--devos-btn-gradient);
	color: var(--devos-primary);
}
.devos-door__scanner .button-ticket-options.button-primary:hover { filter: brightness(1.07); }

/* ── Mesajul de stare ─────────────────────────────────────── */

/*
 * Linia care spune „Cod citit — se trimite…”, plus rotița. Golită de
 * script, nu trebuie să lase un dreptunghi în pagină.
 */
.devos-door__scanner #reader_output:not(:empty) {
	margin-top: .7rem;
	padding: .7rem .9rem;
	border-radius: 12px;
	background: var(--saso-surface-alt);
	font-size: .92rem;
	text-align: center;
}

.devos-door__scanner #ticket_scanner_info_area:not(:empty) { margin-bottom: .8rem; }

/* ── Răspunsul ────────────────────────────────────────────── */

/*
 * Cele patru zone pe care le umple scriptul: biletul, detaliile,
 * codul și butoanele. Le despărțim cu o linie, altfel curg una în
 * alta și nu se vede unde se termină răspunsul.
 */
.devos-door__scanner :where(#ticket_info, #ticket_info_retrieved, #ticket_add_info, #order_info):not(:empty) {
	margin-top: .9rem;
	padding-top: .9rem;
	border-top: 1px solid var(--saso-border);
}

.devos-door__scanner #ticket_info_btns:not(:empty) { margin-top: .9rem; }
.devos-door__scanner #reader_options:not(:empty) { margin-top: .9rem; }

/*
 * Scriptul așază detaliile pe două coloane de 50%, scrise în atributul
 * style. Pe lățimea unui telefon, două coloane de etichete nu încap —
 * le punem una sub alta.
 */
.devos-door__scanner [style*="width:50%"] {
	width: 100% !important;
	display: block !important;
}

.devos-door__scanner .saso-scanner__ticket-card { border-radius: var(--devos-radius-md); }

/* Codul biletului — se citește cu voce tare, deci cât mai limpede. */
.devos-door__scanner .saso-scanner__ticket-code {
	font-size: 1.15rem;
	letter-spacing: .08em;
	color: var(--devos-primary);
}

/* Titlurile și paragrafele scrise de script direct în card. */
.devos-door__scanner :where(h1, h2, h3, h4, h5) {
	margin: 0 0 .5rem;
	font-family: var(--devos-font-heading);
	line-height: 1.3;
}
.devos-door__scanner :where(h1, h3) { font-size: 1.3rem; }
.devos-door__scanner p { margin: 0 0 .6rem; }
.devos-door__scanner p:last-child { margin-bottom: 0; }

/* Lista de bilete a unei comenzi. */
.devos-door__scanner #order_info ul { margin: 0; padding-left: 1.1rem; }
.devos-door__scanner #order_info li { margin-bottom: .3rem; }

/* ── Fereastra de confirmare cu cod ───────────────────────── */

.devos-door__scanner .saso-ticket-overlay__title { font-family: var(--devos-font-heading); }

.devos-door__scanner .saso-cvv-input-wrap input {
	min-height: 52px;
	border-radius: 12px;
	font-size: 16px;
	text-align: center;
	letter-spacing: .25em;
}



/* Sectiunea de scanare isi aseaza elementele una sub alta. */
.devos-door__scan {
	display: flex;
	flex-direction: column;
}

/* Butonul care duce la ecranul de scanare: cel mai apăsat de la ușă. */
.devos-door__btn--lg {
	width: 100%;
	min-height: 58px;
	gap: .6rem;
	font-size: 1.05rem;
}

.devos-door__stop {
	align-self: flex-start;
	margin-bottom: .7rem;
}

/* ── Când camera nu poate porni ───────────────────────────── */

.devos-door__insecure {
	display: flex;
	flex-direction: column;
	gap: .8rem;
}
.devos-door__insecure[hidden] { display: none; }
.devos-door__insecure .devos-door__hint { margin: 0; }

/* ── Comutatorul de validare pe loc ───────────────────────── */

/*
 * Singura setare de la ușă, deci stă la vedere și se apasă ușor: toată
 * linia e țintă, nu doar pătratul.
 */
.devos-door__switch {
	display: flex;
	align-items: flex-start;
	gap: .8rem;
	margin-top: .9rem;
	padding: .9rem 1rem;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: var(--devos-radius-md);
	background: rgba(255,255,255,.05);
	cursor: pointer;
}
.devos-door__switch[hidden] { display: none; }

.devos-door__switch input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.devos-door__switch-track {
	position: relative;
	flex-shrink: 0;
	width: 46px;
	height: 28px;
	margin-top: .1rem;
	border-radius: var(--devos-radius-full);
	background: rgba(255,255,255,.16);
	transition: background .15s ease;
}
.devos-door__switch-track::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	transition: transform .15s ease;
}

.devos-door__switch input:checked + .devos-door__switch-track { background: var(--devos-accent-2); }
.devos-door__switch input:checked + .devos-door__switch-track::after { transform: translateX(18px); }

.devos-door__switch input:focus-visible + .devos-door__switch-track {
	box-shadow: 0 0 0 3px rgba(207,222,75,.3);
}

.devos-door__switch-text {
	display: flex;
	flex-direction: column;
	gap: .15rem;
}
.devos-door__switch-text strong {
	font-size: .95rem;
	color: var(--devos-text-white);
}
.devos-door__switch-text em {
	font-style: normal;
	font-size: .8rem;
	line-height: 1.5;
	color: rgba(255,255,255,.55);
}

/* ── Ce rămâne din panoul modulului ───────────────────────── */

/*
 * După ce am stins lista lui de bife, aici mai rămân căsuța pentru
 * codul tastat, schimbarea camerei și ecranul complet. Le așezăm ca
 * pe restul paginii.
 */
.devos-door__scanner #reader_options > div { text-align: left; }

.devos-door__scanner #reader_options label.form-label {
	display: block;
	margin-bottom: .35rem;
	color: var(--devos-text-muted);
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
}

.devos-door__scanner #reader_options input[type='text'] {
	width: 100%;
	min-height: 50px;
	padding: 0 .9rem;
	border: 1px solid var(--saso-border);
	border-radius: 12px;
	background: #fff;
	color: var(--devos-primary);
	font-family: var(--devos-font-heading);
	font-size: 16px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.devos-door__scanner #reader_options input[type='text']:focus {
	border-color: var(--devos-accent-2);
	box-shadow: 0 0 0 3px rgba(104,137,71,.18);
	outline: none;
}

/* Cele două butoane de dedesubt sunt rar folosite: discrete, nu late. */
.devos-door__scanner #reader_options button.button-ticket-options {
	width: auto;
	min-height: 42px;
	margin: .4rem .3rem 0 0;
	padding: 0 1rem;
	font-size: .85rem;
	font-weight: 600;
}

/* ── Căutarea ─────────────────────────────────────────────── */

.devos-door__search {
	display: flex;
	gap: .5rem;
	margin-bottom: 1rem;
}

.devos-door__search input {
	flex: 1;
	min-width: 0;
	min-height: 52px;
	padding: 0 1rem;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: var(--devos-radius-md);
	background: rgba(255,255,255,.06);
	color: var(--devos-text-white);
	font-size: 16px;
}
.devos-door__search input:focus {
	border-color: var(--devos-accent);
	box-shadow: 0 0 0 3px rgba(207,222,75,.18);
	outline: none;
}

.devos-door__search button {
	flex-shrink: 0;
	min-height: 52px;
	padding: 0 1.2rem;
	border: 0;
	border-radius: var(--devos-radius-md);
	background: var(--devos-btn-gradient);
	color: var(--devos-primary);
	font-family: var(--devos-font-heading);
	font-weight: 700;
	cursor: pointer;
}

.devos-door__results {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.devos-door__result {
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .9rem 1rem;
	border-radius: var(--devos-radius-md);
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(255,255,255,.05);
}

/* Cine a intrat deja se vede dintr-o privire, fără să citești. */
.devos-door__result.is-used {
	border-color: rgba(207,222,75,.35);
	background: rgba(207,222,75,.08);
}

.devos-door__result-state { flex-shrink: 0; color: rgba(255,255,255,.3); }
.devos-door__result.is-used .devos-door__result-state { color: var(--devos-accent); }

.devos-door__result-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .15rem; }

.devos-door__result-name {
	font-weight: 600;
	line-height: 1.35;
	color: var(--devos-text-white);
	overflow-wrap: anywhere;
}

.devos-door__result-meta {
	font-size: .78rem;
	line-height: 1.45;
	color: rgba(255,255,255,.5);
	overflow-wrap: anywhere;
}

.devos-door__result-side { flex-shrink: 0; }

.devos-door__tag {
	display: inline-flex;
	padding: .3em .7em;
	border-radius: var(--devos-radius-full);
	background: rgba(207,222,75,.16);
	color: var(--devos-accent);
	font-family: var(--devos-font-heading);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	white-space: nowrap;
}


/* ── Lista tuturor biletelor ──────────────────────────────── */

.devos-door__list {
	display: flex;
	flex-direction: column;
	gap: .7rem;
}

/*
 * Filtrele se derulează pe orizontală când sunt multe tipuri de acces.
 * Pe telefon e singura așezare care nu împinge pagina în lături.
 */
/*
 * Filtrele se așază pe mai multe rânduri, nu într-o bandă care se
 * derulează lateral. Banda tăia ultimul tip de acces exact la
 * marginea ecranului, fără niciun semn că mai e ceva după el — iar
 * un filtru pe care nu-l vezi e un filtru pe care nu-l folosești.
 */
.devos-door__filters {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.devos-door__chip {
	display: inline-flex;
	align-items: center;
	gap: .4rem;

	/* Își păstrează lățimea și trece pe rândul următor; doar un nume
	   mai lat decât ecranul se rupe în el însuși, ca să nu iasă afară. */
	flex-shrink: 0;
	max-width: 100%;

	min-height: 38px;
	padding: .3rem .9rem;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: var(--devos-radius-full);
	background: rgba(255,255,255,.05);
	color: rgba(255,255,255,.75);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.devos-door__chip:hover { border-color: rgba(255,255,255,.3); color: var(--devos-text-white); }

.devos-door__chip.is-on {
	border-color: transparent;
	background: var(--devos-btn-gradient);
	color: var(--devos-primary);
}

/* Cifra de lângă tip: câte bilete sunt de felul acela. */
.devos-door__chip b {
	padding: .1em .45em;
	border-radius: var(--devos-radius-full);
	background: rgba(255,255,255,.12);
	font-size: .78rem;
	font-weight: 700;
}
.devos-door__chip.is-on b { background: rgba(0,31,63,.16); }

.devos-door__list .devos-door__hint { margin: 0; }
.devos-door__list .devos-door__hint strong { color: var(--devos-accent); }

/* Cine n-a ajuns încă: etichetă stinsă, ca să nu concureze cu „a intrat”. */
.devos-door__tag.is-waiting {
	background: rgba(255,255,255,.1);
	color: rgba(255,255,255,.6);
}

.devos-door__pages {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-top: .4rem;
}

.devos-door__pages-num {
	font-size: .8rem;
	color: rgba(255,255,255,.5);
	font-variant-numeric: tabular-nums;
}

/* Cu o singură legătură, aceasta rămâne la capătul ei. */
.devos-door__pages > a:only-of-type { margin-left: auto; }
.devos-door__pages > a:first-child:not(:only-of-type) { margin-right: auto; }


/* ── Lista strânsă ────────────────────────────────────────── */

/*
 * Cu câteva sute de bilete, lista desfășurată acoperă tot ecranul și
 * împinge restul paginii departe. Rămâne strânsă, iar capul ei spune
 * câte sunt — atât e nevoie să știi dintr-o privire.
 */
.devos-door__fold { display: block; }

.devos-door__fold-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	min-height: 48px;
	padding: 0 1rem;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: var(--devos-radius-md);
	background: rgba(255,255,255,.05);
	color: var(--devos-text-light);
	font-size: .9rem;
	cursor: pointer;
	list-style: none;
}
.devos-door__fold-head::-webkit-details-marker { display: none; }
.devos-door__fold-head:hover { border-color: rgba(255,255,255,.26); }

.devos-door__fold-head strong { color: var(--devos-accent); }

.devos-door__fold-head em {
	font-style: normal;
	font-size: .82rem;
	font-weight: 600;
	color: rgba(255,255,255,.5);
}
.devos-door__fold[open] .devos-door__fold-head {
	margin-bottom: .7rem;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.devos-door__fold[open] .devos-door__fold-head em { color: var(--devos-accent); }

/* ── Ultimii intrați ──────────────────────────────────────── */

.devos-door__recent ul {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.devos-door__recent li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .75rem;
	padding: .55rem 0;
	border-bottom: 1px solid rgba(255,255,255,.07);
	font-size: .88rem;
	color: var(--devos-text-light);
}
.devos-door__recent li:last-child { border-bottom: 0; }

.devos-door__recent em {
	flex-shrink: 0;
	font-style: normal;
	font-size: .76rem;
	color: rgba(255,255,255,.45);
}

/* =============================================================
   53. EDIȚIILE DE PÂNĂ ACUM

   Pe aici ajung toate adresele vechi ale edițiilor, fiecare cu
   ancora ei. Cine aterizează la ediția a șaptea n-a văzut nimic
   din ce e deasupra, deci fiecare bloc trebuie să se țină singur:
   nume, dată, loc, temă, oameni, cifre — toate la vedere.

   De aceea nu e o listă de carduri pe o linie, ci o succesiune de
   benzi care alternează, fiecare cu numărul ediției scris mare în
   fundal, ca reper vizual.
   ============================================================= */

.devos-hist {
	position: relative;
	background: var(--devos-primary);
	overflow-x: clip;

	/*
	 * Antetul sta peste continut, deci pagina incepe sub el. Cand e si
	 * bara de administrare, antetul insusi e coborat — iar banda de
	 * sus intra sub el. Pragurile sunt aceleasi pe care le foloseste
	 * tema ca sa coboare antetul.
	 */
	padding-top: calc(var(--devos-header-h-top, 84px) + .9rem);
}

/* ── Antetul paginii ──────────────────────────────────────── */

.devos-hist__top {
	position: relative;
	padding: 0 0 clamp(2rem, 5vw, 3.5rem);
	text-align: center;
}

/* O lumină difuză în spate, ca pe secțiunile închise din restul site-ului. */
/*
 * Lumina de sus porneste din capul paginii, nu de sub antet: asezata
 * acolo, lasa o dunga orizontala care trece chiar pe sub butonul din
 * meniu si-l face sa para taiat.
 */
.devos-hist::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 40rem;
	background: radial-gradient(70% 100% at 50% 0%, rgba(207,222,75,.13) 0%, rgba(207,222,75,0) 70%);
	pointer-events: none;
}

.devos-hist__top > * { position: relative; }

.devos-hist__kicker {
	margin: 0 0 .7rem;
	font-family: var(--devos-font-heading);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--devos-accent);
}

.devos-hist__h1 {
	margin: 0;
	font-family: var(--devos-font-heading);
	font-size: clamp(2rem, 6.5vw, 3.6rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.02em;
	color: var(--devos-text-white);
}

.devos-hist__lead {
	max-width: 44rem;
	margin: 1.1rem auto 0;
	font-size: clamp(1rem, 2.4vw, 1.12rem);
	line-height: 1.7;
	color: var(--devos-text-light);
}
.devos-hist__lead p:last-child { margin-bottom: 0; }

/* ── Cifrele de ansamblu ──────────────────────────────────── */

.devos-hist__totals {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	max-width: 54rem;
	margin: clamp(1.8rem, 5vw, 3rem) auto 0;
	padding: 0;
	list-style: none;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: var(--devos-radius-lg);
	background: rgba(255,255,255,.1);
	overflow: hidden;
}

@media (min-width: 720px) {
	.devos-hist__totals { grid-template-columns: repeat(4, 1fr); }
}

.devos-hist__totals li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .2rem;
	padding: 1.2rem .8rem;
	background: var(--devos-primary);
	text-align: center;
}

.devos-hist__totals strong {
	font-family: var(--devos-font-heading);
	font-size: clamp(1.8rem, 5vw, 2.6rem);
	font-weight: 800;
	line-height: 1;
	color: var(--devos-accent);
	font-variant-numeric: tabular-nums;
}

/* Un cuvant in locul cifrei are nevoie de alta marime. */
.devos-hist__totals strong.is-word { font-size: clamp(1.2rem, 3.4vw, 1.7rem); }

.devos-hist__totals span {
	font-size: .8rem;
	line-height: 1.4;
	color: rgba(255,255,255,.6);
}

/* ── Săritura la o ediție ─────────────────────────────────── */

/*
 * Cu cincisprezece ediții, derularea de sus până jos e lungă. Banda
 * asta rămâne lipită sub antet și duce direct unde vrei.
 */
.devos-hist__jump {
	position: sticky;
	top: var(--devos-header-bottom, 84px);
	z-index: 20;
	padding: .9rem 0;
	background: rgba(0,31,63,.94);
	backdrop-filter: blur(10px);
	border-top: 1px solid rgba(255,255,255,.1);
	border-bottom: 1px solid rgba(207,222,75,.18);
	box-shadow: 0 10px 24px rgba(0,0,0,.28);
}

/*
 * Numerele se impart latimea containerului, ca restul sectiunilor —
 * ingramadite la stanga lasau jumatate de rand gol si se citeau greu.
 * Pe ecrane inguste nu mai incap toate, deci randul se deruleaza.
 */
.devos-hist__jump ul {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	gap: .4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 760px) {
	.devos-hist__jump ul {
		grid-auto-columns: minmax(44px, auto);
		overflow-x: auto;
		scrollbar-width: none;
		padding-bottom: .15rem;
	}
	.devos-hist__jump ul::-webkit-scrollbar { display: none; }
}

.devos-hist__jump a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 44px;
	height: 44px;
	padding: 0 .5rem;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: var(--devos-radius-full);
	color: rgba(255,255,255,.7);
	font-family: var(--devos-font-heading);
	font-size: .9rem;
	font-weight: 700;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}
.devos-hist__jump a:hover,
.devos-hist__jump a:focus-visible {
	border-color: var(--devos-accent);
	background: rgba(207,222,75,.12);
	color: var(--devos-accent);
}

/* ── O ediție ─────────────────────────────────────────────── */

.devos-hist__ed {
	position: relative;
	padding: clamp(2.5rem, 6vw, 4.5rem) 0;
	border-bottom: 1px solid rgba(255,255,255,.07);
	scroll-margin-top: calc(var(--devos-header-bottom, 84px) + 58px);
	overflow: hidden;
}

/* Benzile alternează, ca ochiul să prindă unde se termină una. */
.devos-hist__ed.is-flipped { background: rgba(255,255,255,.025); }

/*
 * Numărul ediției, scris uriaș în fundal. E reperul după care te
 * orientezi derulând — mai rapid decât citind un titlu.
 */
.devos-hist__ghost {
	position: absolute;
	top: 50%;
	right: -.08em;
	transform: translateY(-50%);
	font-family: var(--devos-font-heading);
	font-size: clamp(9rem, 26vw, 20rem);
	font-weight: 800;
	line-height: .8;
	letter-spacing: -.05em;
	color: rgba(255,255,255,.035);
	pointer-events: none;
	user-select: none;
}
.devos-hist__ed.is-flipped .devos-hist__ghost {
	right: auto;
	left: -.08em;
}

.devos-hist__grid {
	position: relative;
	display: grid;
	gap: clamp(1.4rem, 4vw, 2.6rem);
	align-items: center;
}

@media (min-width: 900px) {
	.devos-hist__ed.has-photo .devos-hist__grid { grid-template-columns: 1.15fr .85fr; }
	.devos-hist__ed.has-photo.is-flipped .devos-hist__body { order: 2; }
}

/* ── Antetul blocului ─────────────────────────────────────── */

.devos-hist__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem .9rem;
	margin: 0 0 .7rem;
}

.devos-hist__badge {
	display: inline-flex;
	align-items: center;
	padding: .35em .85em;
	border-radius: var(--devos-radius-full);
	background: var(--devos-btn-gradient);
	color: var(--devos-primary);
	font-family: var(--devos-font-heading);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.devos-hist__date {
	font-size: .9rem;
	font-weight: 600;
	color: rgba(255,255,255,.62);
}

.devos-hist__title {
	margin: 0 0 .6rem;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.45rem, 3.6vw, 2.15rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.015em;
	color: var(--devos-text-white);
	text-wrap: balance;
}

.devos-hist__place {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 .9rem;
	font-size: .92rem;
	color: rgba(255,255,255,.58);
}
.devos-hist__place i { color: var(--devos-accent-2); }

.devos-hist__text {
	max-width: 40rem;
	margin: 0 0 1.2rem;
	font-size: 1.02rem;
	line-height: 1.75;
	color: var(--devos-text-light);
}

/* ── Cine a vorbit ────────────────────────────────────────── */

.devos-hist__people { margin-bottom: 1rem; }

.devos-hist__people-head {
	margin: 0 0 .5rem;
	font-family: var(--devos-font-heading);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
}

.devos-hist__people ul {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.devos-hist__people li {
	padding: .4em .85em;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: var(--devos-radius-full);
	background: rgba(255,255,255,.04);
	font-size: .86rem;
	color: var(--devos-text-light);
}

/* Primul nume e capul de afiș al ediției. */
.devos-hist__people li.is-lead {
	border-color: rgba(207,222,75,.45);
	background: rgba(207,222,75,.1);
	color: var(--devos-accent);
	font-weight: 600;
}

/* ── Nota ─────────────────────────────────────────────────── */

.devos-hist__note {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
	margin: 0;
	font-size: .88rem;
	line-height: 1.6;
	color: rgba(255,255,255,.6);
}
.devos-hist__note i {
	margin-top: .2em;
	color: var(--devos-accent);
	font-size: .78rem;
}

/* ── Fotografia ───────────────────────────────────────────── */

.devos-hist__photo {
	position: relative;
	margin: 0;
	border-radius: var(--devos-radius-lg);
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.devos-hist__photo img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* Un văl subțire, ca fotografiile vechi să nu bată culorile paginii. */
.devos-hist__photo::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(0,31,63,0) 40%, rgba(0,31,63,.45) 100%);
	pointer-events: none;
}

/* ── Evenimentele din jurul seriei ────────────────────────── */

.devos-hist__side { padding: clamp(2.5rem, 7vw, 4.5rem) 0; }

.devos-hist__side-title {
	margin: 0 0 1.5rem;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.3rem, 3.5vw, 1.9rem);
	font-weight: 800;
	color: var(--devos-text-white);
	text-align: center;
}

.devos-hist__side-list {
	display: grid;
	gap: .9rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) { .devos-hist__side-list { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .devos-hist__side-list { grid-template-columns: repeat(4, 1fr); } }

.devos-hist__side-item {
	padding: 1.2rem 1.3rem;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--devos-radius-lg);
	background: rgba(255,255,255,.035);
}
.devos-hist__side-item h3 {
	margin: 0 0 .3rem;
	font-family: var(--devos-font-heading);
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--devos-text-white);
}
.devos-hist__side-item p {
	margin: 0;
	font-size: .86rem;
	line-height: 1.6;
	color: rgba(255,255,255,.58);
}
.devos-hist__side-meta {
	margin-bottom: .45rem !important;
	color: var(--devos-accent-2) !important;
	font-weight: 600;
}

/* ── Banda de sus: ediția care urmează ────────────────────── */

/*
 * Pagina asta e capătul la care ajung toate adresele vechi. Omul caută
 * ceva ce a trecut, deci primul lucru pe care îl vede trebuie să fie
 * că seria merge mai departe.
 *
 * E o bandă, nu o secțiune: pe telefon, un bloc întreg aici ar împinge
 * titlul paginii sub marginea ecranului.
 */
/*
 * Un card, nu o banda cap la cap: asezata asa, se lipea de randul de
 * deasupra si cele doua se citeau ca un singur bloc.
 */
.devos-hist__next {
	position: relative;
	padding: clamp(1.6rem, 4vw, 2.6rem) 0;
}

.devos-hist__next-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	padding: 1.1rem 1.4rem;
	border: 1px solid rgba(207,222,75,.28);
	border-radius: var(--devos-radius-lg);
	background: linear-gradient(100deg, rgba(207,222,75,.12) 0%, rgba(104,137,71,.08) 100%);
}

.devos-hist__next-txt {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .3rem .8rem;
	min-width: 0;
}

.devos-hist__next-kicker {
	margin: 0;
	font-family: var(--devos-font-heading);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--devos-accent);
}

.devos-hist__next-title {
	margin: 0;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.05rem, 2.6vw, 1.35rem);
	font-weight: 800;
	line-height: 1.25;
	color: var(--devos-text-white);
}

.devos-hist__next-when {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin: 0;
	font-size: .88rem;
	font-weight: 600;
	color: var(--devos-text-light);
	white-space: nowrap;
}
.devos-hist__next-when i { color: var(--devos-accent-2); }

.devos-hist__next-cta { flex-shrink: 0; }

/*
 * Pe telefon banda se desface pe verticală, iar butonul ia toată
 * lățimea: la lățimea aia, un buton scurt lângă text se ratează.
 */
@media (max-width: 640px) {
	.devos-hist__next-in { flex-direction: column; align-items: stretch; }
	.devos-hist__next-txt { flex-direction: column; align-items: flex-start; gap: .15rem; }
	.devos-hist__next-cta { width: 100%; justify-content: center; }
}

/* Antetul paginii vine imediat sub bandă, deci fără spațiul de sus. */
.devos-hist__top { padding-top: clamp(2.2rem, 6vw, 4rem); }

/* ── Aceeași invitație, la capătul de jos ─────────────────── */

.devos-hist__end {
	position: relative;
	padding: clamp(3rem, 8vw, 5rem) 0 clamp(3.5rem, 10vw, 6rem);
	text-align: center;
	border-top: 1px solid rgba(255,255,255,.1);
}
.devos-hist__end::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(60% 100% at 50% 100%, rgba(207,222,75,.12) 0%, rgba(207,222,75,0) 70%);
	pointer-events: none;
}
.devos-hist__end > * { position: relative; }

.devos-hist__end-kicker {
	margin: 0 0 .5rem;
	font-family: var(--devos-font-heading);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--devos-accent);
}

.devos-hist__end-title {
	margin: 0 0 .4rem;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.5rem, 4.5vw, 2.4rem);
	font-weight: 800;
	color: var(--devos-text-white);
}

.devos-hist__end-when {
	margin: 0 0 1.6rem;
	color: var(--devos-text-light);
}

/* ── Ediția spre care tocmai a sărit cineva ───────────────── */

/*
 * Cine vine de pe o adresă veche aterizează direct în mijlocul
 * paginii. Fără un semn, nu se vede unde a căzut.
 */
.devos-hist__ed:target { background: rgba(207,222,75,.05); }
.devos-hist__ed:target .devos-hist__ghost { color: rgba(207,222,75,.07); }

@media (prefers-reduced-motion: no-preference) {
	.devos-hist__ed:target .devos-hist__title { animation: devos-hist-wake 1.6s ease-out; }
}

@keyframes devos-hist-wake {
	0%, 100% { color: var(--devos-text-white); }
	25%      { color: var(--devos-accent); }
}


/* =============================================================
   54. DOCUMENTELE LEGALE

   Termeni, confidențialitate, cookie-uri. Sunt texte lungi, pe
   care cineva chiar le citește când are o problemă — deci o
   singură coloană îngustă, rânduri rare și titluri care se văd
   de la distanță, ca să poată fi parcurse rapid până la capitolul
   căutat.
   ============================================================= */

.devos-legal {
	/*
	 * Spatiu fix, nu calculat dintr-o variabila pusa de JavaScript.
	 * Masuratoarea aceea poate intarzia sau poate ramane de la alta
	 * latime, iar atunci titlul ajunge sub antet. Tema foloseste
	 * aceeasi solutie pe paginile de bilete, care sunt tot deschise.
	 */
	padding-top: 8rem;
	background: #fff;
	color: var(--devos-text-dark);
}




@media (max-width: 782px) {
	.devos-legal { padding-top: 7rem; }
}

@media (max-width: 480px) {
	.devos-legal { padding-top: 6.5rem; }
}

.devos-legal__head {
	padding: clamp(1.8rem, 5vw, 3.5rem) 0 clamp(1rem, 3vw, 1.6rem);
}

.devos-legal__head h1 {
	margin: 0 0 .5rem;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.8rem, 5.5vw, 2.8rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.02em;
	color: var(--devos-primary);
}

.devos-legal__updated {
	margin: 0;
	font-size: .88rem;
	color: var(--devos-text-muted);
}

.devos-legal__body {
	padding: clamp(1.8rem, 5vw, 3rem) 0 clamp(3rem, 9vw, 5rem);
	font-size: 1rem;
	line-height: 1.75;
	color: var(--devos-text-muted);
}

.devos-legal__intro {
	padding: 1.3rem 1.5rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-md);
	background: var(--devos-bg-light);
	font-size: 1.02rem;
}

.devos-legal__body h2 {
	margin: 2.4rem 0 .8rem;
	padding-top: .6rem;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.2rem, 3vw, 1.5rem);
	font-weight: 800;
	line-height: 1.3;
	color: var(--devos-primary);
	scroll-margin-top: calc(var(--devos-header-h-top, 84px) + 1rem);
}

.devos-legal__body h3 {
	margin: 1.6rem 0 .6rem;
	font-family: var(--devos-font-heading);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--devos-primary);
}

.devos-legal__body p { margin: 0 0 1rem; }

.devos-legal__body ul {
	margin: 0 0 1.2rem;
	padding-left: 1.3rem;
	list-style: disc;
}

/* Resetul general al temei scoate cifrele; într-un document legal,
   numerele pașilor contează. */
.devos-legal__body ol {
	margin: 0 0 1.2rem;
	padding-left: 1.5rem;
	list-style: decimal;
}
.devos-legal__body li { margin-bottom: .5rem; }

.devos-legal__body a {
	color: var(--devos-accent-2);
	text-underline-offset: .2em;
}
.devos-legal__body a:hover { color: var(--devos-primary); }

.devos-legal__body strong { color: var(--devos-text-dark); }

/* ── Datele de identificare ───────────────────────────────── */

.devos-legal__ident {
	display: grid;
	gap: .1rem;
	margin: 0 0 1.4rem;
	padding: 1.1rem 1.3rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-md);
	background: var(--devos-bg-light);
}

.devos-legal__ident > div {
	display: grid;
	grid-template-columns: 14rem 1fr;
	gap: .3rem 1rem;
	padding: .45rem 0;
	border-bottom: 1px solid var(--devos-border);
}
.devos-legal__ident > div:last-child { border-bottom: 0; }

.devos-legal__ident dt {
	margin: 0;
	font-size: .88rem;
	font-weight: 600;
	color: var(--devos-text-muted);
}

.devos-legal__ident dd {
	margin: 0;
	font-weight: 600;
	color: var(--devos-text-dark);
	overflow-wrap: anywhere;
}

@media (max-width: 560px) {
	.devos-legal__ident > div { grid-template-columns: 1fr; }
}

/* ── Avertismentul care nu trebuie ratat ──────────────────── */

/*
 * Lipsa dreptului de retragere e lucrul pe care cumpărătorul îl
 * reclamă cel mai des dacă nu l-a văzut. De aceea iese din pagină.
 */
.devos-legal__note {
	margin: 1.2rem 0 1.4rem;
	padding: 1.3rem 1.5rem;
	border: 1px solid rgba(207,222,75,.55);
	border-radius: var(--devos-radius-md);
	background: rgba(207,222,75,.12);
}
.devos-legal__note p:last-child { margin-bottom: 0; }

/* ── Tabele ───────────────────────────────────────────────── */

/*
 * Pe telefon un tabel de patru coloane nu încape. Îl lăsăm să se
 * deruleze în locul lui, în loc să lățească toată pagina.
 */
.devos-legal__table {
	display: block;
	width: 100%;
	margin: 0 0 1.5rem;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: .92rem;
	-webkit-overflow-scrolling: touch;
}

.devos-legal__table thead { background: var(--devos-bg-light); }

.devos-legal__table th,
.devos-legal__table td {
	padding: .7rem .9rem;
	border: 1px solid var(--devos-border);
	text-align: left;
	vertical-align: top;
	line-height: 1.55;
}

.devos-legal__table th {
	font-family: var(--devos-font-heading);
	font-size: .85rem;
	font-weight: 700;
	color: var(--devos-primary);
	white-space: nowrap;
}

.devos-legal__table code {
	font-size: .85em;
	overflow-wrap: anywhere;
}

/* ── Legăturile dintre documente ──────────────────────────── */

.devos-legal__links {
	margin-top: 2.5rem;
	font-size: .92rem;
}


/* =============================================================
   55. SPEAKERI PE TELEFON ȘI TABLETĂ

   Pe ecran mare, cardul e o fotografie peste care stă textul,
   iar titlul prelegerii apare la trecerea cursorului. Pe touch
   nu există cursor, deci textul e forțat vizibil tot timpul —
   și atunci nu mai încape sub gradient: urcă peste nume, peste
   insignă și peste fața omului.

   Aici cardul se desface: fotografia într-o parte, textul în
   alta, pe fundal plin. Nimic nu mai stă peste nimic.
   ============================================================= */

@media (max-width: 1024px) {

	.devos-speaker-card {
		aspect-ratio: auto;
		background: rgba(255,255,255,.05);
		border: 1px solid rgba(255,255,255,.1);
		cursor: default;
	}

	/* Fără cursor nu există nici ridicarea la trecerea peste el. */
	.devos-speaker-card:hover {
		transform: none;
		box-shadow: none;
	}

	/* Fotografia își ia locul ei, nu mai umple cardul pe dedesubt. */
	.devos-speaker-card__media {
		position: relative;
		inset: auto;
	}

	.devos-speaker-card__media img,
	.devos-img-placeholder--speaker-card {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Textul curge normal, pe fundal, nu peste imagine. */
	.devos-speaker-card__overlay,
	.devos-speaker-card:hover .devos-speaker-card__overlay {
		position: relative;
		inset: auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		padding: 1rem 1.1rem;
		background: none;
	}

	/* Insigna de axă se vede din prima: n-are cine să treacă peste ea. */
	.devos-speaker-card__topic {
		opacity: 1;
		transform: none;
		margin-bottom: .5rem;
		font-size: .6rem;
	}

	.devos-speaker-card__talk {
		max-height: none;
		opacity: 1;
		overflow: visible;
		margin-top: .5rem;
	}

	/* Numărul rămâne pe fotografie, singurul lucru care stă peste ea. */
	.devos-speaker-card__number {
		top: .6rem;
		left: .6rem;
	}
}

/* ── Tabletă: două coloane, fotografia deasupra textului ──── */

@media (min-width: 641px) and (max-width: 1024px) {

	.devos-speakers__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.1rem;
	}

	.devos-speaker-card {
		display: flex;
		flex-direction: column;
	}

	/*
	 * Proportia se pune pe imagine, nu pe cutia din jur: cutia isi ia
	 * inaltimea din continut, deci acolo  e ignorat.
	 */
	.devos-speaker-card__media img,
	.devos-img-placeholder--speaker-card {
		aspect-ratio: 4 / 3;
		height: auto;
	}

	.devos-speaker-card__overlay { flex: 1; }
}

/* ── Telefon: un singur rând pe speaker, poza lângă text ──── */

/*
 * Cu șase sau mai mulți speakeri, cardurile pe toată lățimea ar
 * însemna o derulare lungă. Așezate pe rânduri, se parcurg dintr-o
 * privire, ca o listă de oameni.
 */
@media (max-width: 640px) {

	.devos-speakers__grid {
		grid-template-columns: 1fr;
		gap: .8rem;
	}

	.devos-speaker-card {
		display: grid;
		grid-template-columns: 7.5rem 1fr;
		align-items: stretch;
	}

	.devos-speaker-card__media {
		height: 100%;
		min-height: 9.5rem;
	}

	.devos-speaker-card__overlay { padding: .9rem 1rem; }

	.devos-speaker-card__name { font-size: 1rem; }

	.devos-speaker-card__role {
		font-size: .76rem;
		margin-top: .15rem;
	}

	.devos-speaker-card__talk {
		font-size: .8rem;
		line-height: 1.5;
	}
}

/* Sub 380px, poza se subțiază ca textul să nu rămână pe două cuvinte. */
@media (max-width: 380px) {
	.devos-speaker-card { grid-template-columns: 5.75rem 1fr; }
	.devos-speaker-card__media { min-height: 8.5rem; }
	.devos-speaker-card__number { font-size: .6rem; padding: .25em .5em; }
}

/* ── Panelul de dezbatere, pe telefon și tabletă ───────────── */

/*
 * Pe lat, cei din panel stau unul lângă altul, centrați. Pe un ecran
 * îngust nu încap decât doi pe rând, iar al treilea rămâne singur sub
 * ei, centrat — o așezare care arată a greșeală, nu a intenție.
 *
 * Sub 640px fiecare om primește rândul lui: poza în stânga, numele și
 * firma în dreapta. Se citesc ca o listă, oricâți ar fi.
 */
@media (max-width: 640px) {

	.devos-speakers__panel { padding: 1.25rem 1.1rem; }

	.devos-speakers__panel-head { margin-bottom: 1.25rem; }

	.devos-speakers__panel-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
	}

	/*
	 * Trei copii, doua coloane: fara asezare explicita, firma cade sub
	 * fotografie in loc sa stea sub nume. Poza tine ambele randuri.
	 */
	.devos-panelist {
		flex: none;
		display: grid;
		grid-template-columns: 4.25rem 1fr;
		grid-template-rows: auto auto;
		align-items: center;
		align-content: center;
		column-gap: .9rem;
		row-gap: .1rem;

		/* Panelul e deja un card; oamenii din el nu mai primesc unul. */
		padding: .75rem 0;
		border: 0;
		background: none;
		text-align: left;
	}

	/* O linie subțire ține locul marginilor, fără să mai adauge cutii. */
	.devos-panelist + .devos-panelist {
		border-top: 1px solid rgba(255,255,255,.1);
	}

	.devos-panelist__avatar {
		grid-area: 1 / 1 / 3 / 2;
		align-self: center;
		width: 4.25rem;
		height: 4.25rem;
	}

	.devos-panelist__name {
		grid-area: 1 / 2 / 2 / 3;
		align-self: end;
		font-size: .95rem;
		line-height: 1.3;
	}

	.devos-panelist__company {
		grid-area: 2 / 2 / 3 / 3;
		align-self: start;
		font-size: .74rem;
		line-height: 1.4;
	}
}

/* ── Tabletă: toți pe un rând, mai strâns ──────────────────── */

@media (min-width: 641px) and (max-width: 1024px) {

	.devos-speakers__panel-grid { gap: 1rem 1.4rem; }

	.devos-panelist { flex: 0 1 9rem; }

	.devos-panelist__avatar {
		width: clamp(5rem, 13vw, 7rem);
		height: clamp(5rem, 13vw, 7rem);
	}
}


/* =============================================================
   56. PAGINA DE CONTACT
   ============================================================= */

.devos-contact {
	padding-top: 8rem;
	background: #fff;
	color: var(--devos-text-dark);
}

@media (max-width: 782px) { .devos-contact { padding-top: 7rem; } }
@media (max-width: 480px) { .devos-contact { padding-top: 6.5rem; } }

.devos-contact__head {
	padding: clamp(1.8rem, 5vw, 3.5rem) 0 clamp(1.5rem, 4vw, 2.5rem);
	max-width: 42rem;
}

.devos-contact__kicker {
	margin: 0 0 .6rem;
	font-family: var(--devos-font-heading);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--devos-accent-2);
}

.devos-contact__title {
	margin: 0;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.9rem, 5.5vw, 2.9rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.02em;
	color: var(--devos-primary);
}

.devos-contact__lead {
	margin-top: .9rem;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--devos-text-muted);
}
.devos-contact__lead p:last-child { margin-bottom: 0; }

/* ── Așezarea ─────────────────────────────────────────────── */

.devos-contact__grid {
	display: grid;
	gap: clamp(2rem, 5vw, 3.5rem);
	padding-bottom: clamp(3rem, 9vw, 5rem);
}

@media (min-width: 900px) {
	.devos-contact__grid { grid-template-columns: 1.35fr 1fr; align-items: start; }
}

/* ── Formularul ───────────────────────────────────────────── */

.devos-contact__form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.devos-contact__row {
	display: grid;
	gap: 1rem;
}
@media (min-width: 560px) {
	.devos-contact__row { grid-template-columns: 1fr 1fr; }
}

.devos-contact__field {
	display: flex;
	flex-direction: column;
	gap: .35rem;
}

.devos-contact__field > span {
	font-size: .88rem;
	font-weight: 600;
	color: var(--devos-primary);
}
.devos-contact__field b { color: var(--devos-accent-2); }

/*
 * 16px e pragul sub care Safari pe iPhone mărește singur pagina la
 * intrarea în câmp, mutând restul formularului sub deget.
 */
.devos-contact__field input,
.devos-contact__field select,
.devos-contact__field textarea {
	width: 100%;
	min-height: 50px;
	padding: .7rem .9rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-md);
	background: #fff;
	color: var(--devos-text-dark);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
}

.devos-contact__field textarea {
	min-height: 9rem;
	resize: vertical;
}

.devos-contact__field input:focus,
.devos-contact__field select:focus,
.devos-contact__field textarea:focus {
	border-color: var(--devos-accent-2);
	box-shadow: 0 0 0 3px rgba(104,137,71,.15);
	outline: none;
}

/* Capcana pentru programe: scoasă din pagină, nu ascunsă cu display. */
.devos-contact__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.devos-contact__consent {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	font-size: .88rem;
	line-height: 1.6;
	color: var(--devos-text-muted);
}
.devos-contact__consent input {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin-top: .15rem;
	accent-color: var(--devos-accent-2);
}
.devos-contact__consent a { color: var(--devos-accent-2); }

.devos-contact__send { align-self: flex-start; }

@media (max-width: 560px) {
	.devos-contact__send { align-self: stretch; justify-content: center; }
}

/* ── Mesajele de după trimitere ───────────────────────────── */

.devos-contact__msg {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	margin: 0 0 1.3rem;
	padding: 1rem 1.2rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-md);
	font-size: .95rem;
	line-height: 1.6;
}
.devos-contact__msg.is-ok {
	border-color: rgba(104,137,71,.4);
	background: rgba(207,222,75,.12);
	color: #2f4a1f;
}
.devos-contact__msg.is-ok i { color: var(--devos-accent-2); }
.devos-contact__msg.is-error {
	border-color: rgba(214,54,56,.35);
	background: rgba(214,54,56,.07);
	color: #8a2124;
}

/* ── Coloana cu datele ────────────────────────────────────── */

/*
 * Datele de contact stau intr-un card subtire: pe o pagina alba, fara
 * el, coloana din dreapta parea text ramas pe langa formular. Cardul
 * e discret — fundal abia schimbat si o bordura subtire — ca sa nu
 * concureze cu formularul, care e lucrul principal.
 */
.devos-contact__side {
	padding: clamp(1.4rem, 3vw, 1.9rem);
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-lg);
	background: var(--devos-bg-light);
}

/* Lipit de marginea de sus a formularului, nu de randul lui de titlu. */
@media (min-width: 900px) {
	.devos-contact__side { position: sticky; top: calc(var(--devos-header-h, 84px) + 1.5rem); }
}

.devos-contact__side-title {
	margin: 0 0 .4rem;
	font-family: var(--devos-font-heading);
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--devos-primary);
}

.devos-contact__side-lead {
	margin: 0 0 1.3rem;
	font-size: .9rem;
	line-height: 1.6;
	color: var(--devos-text-muted);
}

.devos-contact__list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.devos-contact__list li {
	display: flex;
	align-items: flex-start;
	gap: .8rem;
	font-size: .92rem;
	line-height: 1.6;
	color: var(--devos-text-muted);
}

.devos-contact__list i {
	flex-shrink: 0;
	width: 2.2rem;
	height: 2.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--devos-radius-md);
	border: 1px solid var(--devos-border);
	background: #fff;
	color: var(--devos-accent-2);
	font-size: .85rem;
}

.devos-contact__list span {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	min-width: 0;
	overflow-wrap: anywhere;
}
.devos-contact__list strong { color: var(--devos-primary); }
.devos-contact__list a { color: var(--devos-accent-2); }

.devos-contact__map {
	border-radius: var(--devos-radius-md);
	overflow: hidden;
	border: 1px solid var(--devos-border);
	background: #fff;
}
.devos-contact__map iframe {
	display: block;
	width: 100%;
	height: 17rem;
	border: 0;
}

/* ── Caseta reCAPTCHA ─────────────────────────────────────── */

/* La v3 nu există nimic de arătat, deci blocul nici nu apare. */
.devos-contact__form .devos-recaptcha { margin: .2rem 0; }


/* =============================================================
   57. UPSELL — VARIANTELE DE ACCES, UNA SUB ALTA

   Înainte stăteau alături, în două sau trei coloane. Când rămânea
   una singură, atârna îngustă în mijloc, cu loc gol lângă ea.

   Acum fiecare ia un rând întreg: cine e în stânga, ce include la
   mijloc, cât costă și unde apeși în dreapta. Se compară pe
   verticală — ochiul coboară pe prețuri și pe liste, fără să sară
   dintr-un card înalt în altul.
   ============================================================= */

@media (min-width: 880px) {

	.devos-upsell__card {
		display: grid;
		grid-template-columns: auto minmax(0, 1.1fr) minmax(0, 1fr) auto;
		grid-template-areas:
			"icon name includes price"
			"icon lead includes cta";
		align-items: center;
		column-gap: 1.75rem;
		row-gap: .3rem;
		padding: 1.5rem 1.75rem;
	}

	.devos-upsell__icon {
		grid-area: icon;
		align-self: center;
		margin: 0;
	}

	.devos-upsell__name {
		grid-area: name;
		align-self: end;
		margin: 0;
	}

	.devos-upsell__card-lead {
		grid-area: lead;
		align-self: start;
		margin: 0;
	}

	.devos-upsell__includes {
		grid-area: includes;
		margin: 0;
	}

	/* Prețul și eticheta de etapă, aliniate la dreapta, deasupra butonului. */
	/*
	 * Eticheta de etapa avea  din asezarea
	 * verticala, deci statea lipita de marginea stanga a coloanei de
	 * pret. La o eticheta scurta — „ONE BIRD” — asta se citea ca si cum
	 * ar fi centrata. Aici le aliniem pe amandoua la dreapta.
	 */
	.devos-upsell__price {
		grid-area: price;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		align-self: end;
		justify-self: end;
		margin: 0;
		text-align: right;
	}

	.devos-upsell__price .devos-upsell__tier { align-self: flex-end; }

	.devos-upsell__cta {
		grid-area: cta;
		align-self: start;
		justify-self: end;
		width: auto;
		margin: .85rem 0 0;
		white-space: nowrap;
	}
}

/* Un text lung se rupe în el, în loc să împingă prețul în afara rândului. */
.devos-upsell__includes li { overflow-wrap: anywhere; }


/* =============================================================
   58. CONTUL — ICONIȚA DIN ANTET ȘI PANOUL EI
   ============================================================= */

/*
 * Iconița vine după butonul de acțiune, lipită de el. Butonul e cel
 * care împinge grupul spre dreapta, nu iconița.
 */
.devos-account {
	position: relative;
	flex-shrink: 0;

	/*
	 * Antetul are 2rem spațiu între elementele lui. Între buton și
	 * iconiță nu e nevoie de atât — sunt două părți ale aceluiași
	 * lucru. Scădem spațierea și punem în loc cât trebuie.
	 */
	margin-left: calc(.65rem - 2rem);
}

.devos-header__cta { margin-left: auto; }

/*
 * Fără cerc în jur: iconița desenată în linie e de ajuns ca semn, iar
 * un buton rotund lângă unul alungit arată ca două lucruri diferite
 * puse din greșeală alături.
 */
.devos-account__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	padding: 0;
	border: 0;
	background: none;
	color: rgba(255,255,255,.75);
	cursor: pointer;
	transition: color .15s ease;
}
.devos-account__btn svg {
	width: 1.3rem;
	height: 1.3rem;
}
.devos-account__btn:hover,
.devos-account.is-open .devos-account__btn { color: var(--devos-accent); }
.devos-account__btn:focus-visible {
	outline: none;
	border-radius: var(--devos-radius-sm);
	box-shadow: 0 0 0 3px rgba(207,222,75,.3);
}

/* ── Panoul ───────────────────────────────────────────────── */

.devos-account__panel {
	position: absolute;
	top: calc(100% + .7rem);
	right: 0;
	z-index: 60;
	width: min(20rem, calc(100vw - 2rem));
	padding: 1.1rem 1.15rem;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: var(--devos-radius-lg);
	background: rgba(0,24,48,.98);
	backdrop-filter: blur(14px);
	box-shadow: 0 22px 50px rgba(0,0,0,.45);
	color: var(--devos-text-light);
}
.devos-account__panel[hidden] { display: none; }

/* Un vârf mic spre iconiță, ca să se vadă de unde a ieșit. */
.devos-account__panel::before {
	content: '';
	position: absolute;
	top: -6px;
	right: 1rem;
	width: 11px;
	height: 11px;
	transform: rotate(45deg);
	border-left: 1px solid rgba(255,255,255,.14);
	border-top: 1px solid rgba(255,255,255,.14);
	background: rgba(0,24,48,.98);
}

.devos-account__title,
.devos-account__hi {
	margin: 0 0 .9rem;
	font-family: var(--devos-font-heading);
	font-size: .95rem;
	font-weight: 800;
	color: var(--devos-text-white);
}

/* ── Formularul ───────────────────────────────────────────── */

.devos-account__form {
	display: flex;
	flex-direction: column;
	gap: .7rem;
}

.devos-account__field {
	display: flex;
	flex-direction: column;
	gap: .3rem;
}

.devos-account__field > span {
	font-size: .78rem;
	font-weight: 600;
	color: rgba(255,255,255,.65);
}

/* 16px e pragul sub care Safari pe iPhone mărește singur pagina. */
.devos-account__field input {
	width: 100%;
	min-height: 44px;
	padding: 0 .8rem;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: var(--devos-radius-md);
	background: rgba(255,255,255,.07);
	color: var(--devos-text-white);
	font-size: 16px;
}
.devos-account__field input:focus {
	border-color: var(--devos-accent);
	box-shadow: 0 0 0 3px rgba(207,222,75,.18);
	outline: none;
}

.devos-account__remember {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .82rem;
	color: rgba(255,255,255,.6);
	cursor: pointer;
}
.devos-account__remember input {
	width: 17px;
	height: 17px;
	accent-color: var(--devos-accent-2);
}

.devos-account__submit {
	width: 100%;
	justify-content: center;
	min-height: 44px;
}

.devos-account__forgot {
	align-self: center;
	font-size: .8rem;
	color: rgba(255,255,255,.55);
	text-decoration: none;
}
.devos-account__forgot:hover { color: var(--devos-accent); }

/*
 * Caseta „Nu sunt robot” are 304px lățime, mai mult decât panoul.
 * O micșorăm cât să intre, fără s-o rupem.
 */
.devos-account__captcha {
	transform: scale(.88);
	transform-origin: left top;
	height: 68px;
	overflow: hidden;
}
.devos-account__captcha:empty { display: none; }

/* ── Creează cont ─────────────────────────────────────────── */

.devos-account__new {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	margin-top: 1rem;
	padding-top: .9rem;
	border-top: 1px solid rgba(255,255,255,.1);
	font-size: .82rem;
	color: rgba(255,255,255,.55);
}

.devos-account__create {
	padding: .4em .9em;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: var(--devos-radius-full);
	color: var(--devos-text-white);
	font-size: .82rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.devos-account__create:hover {
	border-color: var(--devos-accent);
	color: var(--devos-accent);
}

/* ── Când e deja autentificat ─────────────────────────────── */

.devos-account__links {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.devos-account__links a {
	display: flex;
	align-items: center;
	gap: .65rem;
	padding: .6rem .7rem;
	border-radius: var(--devos-radius-md);
	color: var(--devos-text-light);
	font-size: .88rem;
	text-decoration: none;
}
.devos-account__links a:hover {
	background: rgba(255,255,255,.07);
	color: var(--devos-text-white);
}
.devos-account__links-out {
	margin-top: .3rem;
	padding-top: .4rem;
	border-top: 1px solid rgba(255,255,255,.1);
}

.devos-account__links i {
	width: 1.1rem;
	text-align: center;
	color: var(--devos-accent-2);
	font-size: .85rem;
}

/* ── Pe telefon ───────────────────────────────────────────── */

/*
 * Butonul de acțiune dispare sub 900px și rămâne hamburgerul. Iconița
 * de cont stă între ele, deci își ia o margine proprie.
 */
@media (max-width: 900px) {
	.devos-account { margin-left: auto; margin-right: calc(.4rem - 2rem); }
	.devos-account__panel { right: -2.5rem; }
}

@media (max-width: 420px) {
	.devos-account__panel {
		right: -3.5rem;
		width: calc(100vw - 1.5rem);
	}
}


/* =============================================================
   59. PAGINA 404

   Cine ajunge aici a venit pe un link stricat. N-are rost să-i
   explicăm de ce — are rost să-i dăm repede drumurile pe care
   le căuta, așa că ele ocupă cea mai mare parte a paginii.
   ============================================================= */

.devos-404 {
	padding-top: 8rem;
	background: #fff;
	color: var(--devos-text-dark);
}

@media (max-width: 782px) { .devos-404 { padding-top: 7rem; } }
@media (max-width: 480px) { .devos-404 { padding-top: 6.5rem; } }

.devos-404__wrap {
	padding-bottom: clamp(3rem, 9vw, 5.5rem);
	text-align: center;
}

/*
 * Cifra stă în fundal, mare și abia vizibilă: dă tonul paginii fără
 * să fure locul textului care chiar ajută.
 */
.devos-404__code {
	margin: 0 0 -.35em;
	font-family: var(--devos-font-heading);
	font-size: clamp(7rem, 22vw, 14rem);
	font-weight: 800;
	line-height: .85;
	letter-spacing: -.04em;
	color: rgba(0,31,63,.07);
	user-select: none;
}

.devos-404__title {
	position: relative;
	margin: 0 0 .7rem;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.7rem, 5vw, 2.6rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.02em;
	color: var(--devos-primary);
}

.devos-404__lead {
	max-width: 34rem;
	margin: 0 auto clamp(1.6rem, 4vw, 2.4rem);
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--devos-text-muted);
}

/* ── Căutarea ─────────────────────────────────────────────── */

.devos-404__search {
	max-width: 32rem;
	margin: 0 auto clamp(2rem, 5vw, 3rem);
}

.devos-404__search form {
	display: flex;
	gap: .6rem;
}

.devos-404__search label { flex: 1; min-width: 0; }

.devos-404__search input[type="search"],
.devos-404__search input[type="text"] {
	width: 100%;
	min-height: 50px;
	padding: 0 1rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-md);
	background: #fff;
	color: var(--devos-text-dark);
	font-size: 16px;
}
.devos-404__search input:focus {
	border-color: var(--devos-accent-2);
	box-shadow: 0 0 0 3px rgba(104,137,71,.15);
	outline: none;
}

.devos-404__search button,
.devos-404__search input[type="submit"] {
	flex-shrink: 0;
	min-height: 50px;
	padding: 0 1.4rem;
	border: 0;
	border-radius: var(--devos-radius-full);
	background: var(--devos-btn-gradient);
	color: var(--devos-btn-ink);
	font-family: var(--devos-font-heading);
	font-weight: 700;
	cursor: pointer;
}

@media (max-width: 480px) {
	.devos-404__search form { flex-direction: column; }
	.devos-404__search button,
	.devos-404__search input[type="submit"] { width: 100%; }
}

/* ── Drumurile ────────────────────────────────────────────── */

.devos-404__links {
	display: grid;
	grid-template-columns: 1fr;
	gap: .7rem;
	max-width: 52rem;
	margin: 0 auto;
	text-align: left;
}

@media (min-width: 620px) {
	.devos-404__links { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 980px) {
	.devos-404__links { grid-template-columns: repeat(3, 1fr); }
}

.devos-404__link {
	display: flex;
	align-items: center;
	gap: .9rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-lg);
	background: var(--devos-bg-light);
	color: var(--devos-text-dark);
	text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}
.devos-404__link:hover {
	border-color: var(--devos-accent-2);
	transform: translateY(-2px);
}

.devos-404__link i {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: var(--devos-radius-md);
	background: #fff;
	border: 1px solid var(--devos-border);
	color: var(--devos-accent-2);
	font-size: .9rem;
}

.devos-404__link span {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	min-width: 0;
}

.devos-404__link strong {
	font-family: var(--devos-font-heading);
	font-size: .95rem;
	font-weight: 700;
	color: var(--devos-primary);
}

.devos-404__link em {
	font-style: normal;
	font-size: .8rem;
	line-height: 1.45;
	color: var(--devos-text-muted);
	overflow-wrap: anywhere;
}


/* =============================================================
   60. BUTONUL DE WHATSAPP

   Aceeași mărime și același colț ca butonul de coș, așezat exact
   deasupra lui. Cele două se citesc ca o pereche, nu ca două
   lucruri lipite separat peste pagină.
   ============================================================= */

.devos-wa-fab {
	position: fixed;
	right: clamp(1rem, 3vw, 2rem);
	bottom: clamp(1rem, 3vw, 2rem);
	z-index: 1200;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: var(--devos-radius-full);
	background: #25D366;
	color: #fff;
	box-shadow: 0 6px 18px rgba(0,0,0,.28);
	transition: transform .15s ease, box-shadow .15s ease;
}

/*
 * Când există și coșul, urcă deasupra lui: înălțimea butonului plus
 * un spațiu, peste marginea de jos pe care o au amândouă.
 */
.devos-wa-fab--above-cart {
	bottom: calc(clamp(1rem, 3vw, 2rem) + 2.6rem + .55rem);
}

.devos-wa-fab svg {
	width: 1.3rem;
	height: 1.3rem;
}

.devos-wa-fab:hover,
.devos-wa-fab:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(37,211,102,.4);
	color: #fff;
}

.devos-wa-fab:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(37,211,102,.45), 0 10px 24px rgba(0,0,0,.28);
}

/* Pe ecrane mici, butonul de coș se micșorează. Îl urmăm, ca să rămână
   o pereche de aceeași mărime. */
@media (max-width: 560px) {

	.devos-wa-fab {
		width: 2.4rem;
		height: 2.4rem;
	}

	.devos-wa-fab svg {
		width: 1.2rem;
		height: 1.2rem;
	}

	.devos-wa-fab--above-cart {
		bottom: calc(clamp(1rem, 3vw, 2rem) + 2.4rem + .55rem);
	}
}


/* =============================================================
   61. PARTICIPANȚII — ADRESA LOR ȘI BILETUL LOR

   Trei locuri, aceeași idee: la finalizare se completează adresa
   fiecărui participant, în „Biletele mele” cumpărătorul vede ce s-a
   întâmplat cu invitația, iar pe pagina de revendicare participantul
   își ia biletul.
   ============================================================= */

/* ---- 61.1 Rândul de participant, la finalizare ---- */

/*
 * Numele și adresa, una sub alta. Până acum rândul avea un singur
 * copil după numerotare, deci coloana nu exista.
 */
.devos-participant__cols {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: .15rem;
}

.devos-participant__mail {
	font-size: .76rem;
	line-height: 1.35;
	color: var(--devos-text-muted);
	overflow-wrap: anywhere;
}

/* Gol, nu lasă un rând alb în urma lui. */
.devos-participant__mail:empty {
	display: none;
}

.devos-shop .devos-participant__email {
	flex: 0 0 auto;
	width: 100%;
	min-width: 0;
	margin-top: .15rem;
	padding: .35rem .75rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-full);
	background: var(--devos-bg-white);
	font-family: var(--devos-font-body);
	font-size: .76rem;
	line-height: 1.4;
	color: var(--devos-text-dark);
}

.devos-shop .devos-participant__email[hidden] {
	display: none;
}

/* O adresă respinsă de server se vede pe loc, pe câmpul ei. */
.devos-participant.has-error .devos-participant__email {
	border-color: var(--devos-error, #c0392b);
}

/* În editare, adresa salvată lasă locul câmpului, ca și numele. */
.devos-participants.is-editing .devos-participant__mail {
	display: none;
}

/* Rândul nu mai e aliniat pe linia de bază: are două etaje. */
.devos-participants.is-editing .devos-participant {
	align-items: flex-start;
}


/* ---- 61.2 Participantul, în „Biletele mele” ---- */

/*
 * Un etaj în plus sub codul biletului, nu un card separat: cardul
 * biletului e deja un card, iar participantul e o informație despre
 * el, nu un obiect de sine stătător.
 */
.devos-ticket__participant {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem .65rem;
	margin-top: .4rem;
	padding-top: .4rem;
	border-top: 1px dashed var(--devos-border);
	font-size: .78rem;
	line-height: 1.4;
}

.devos-ticket__participant-who {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	min-width: 0;
	color: var(--devos-text-dark);
	overflow-wrap: anywhere;
}

.devos-ticket__participant-who i {
	flex: 0 0 auto;
	font-size: .7rem;
	color: var(--devos-text-muted);
}

.devos-ticket__participant-state {
	display: inline-flex;
	align-items: center;
	gap: .28rem;
	padding: .1rem .5rem;
	border-radius: var(--devos-radius-full);
	background: var(--devos-bg-light);
	color: var(--devos-text-muted);
	font-size: .7rem;
	white-space: nowrap;
}

.devos-ticket__participant-state i {
	font-size: .65rem;
}

/* Formularul stă strâns până e cerut: un <details>, fără JavaScript. */
.devos-ticket__reassign {
	flex: 1 1 100%;
}

.devos-ticket__reassign > summary {
	display: inline-block;
	cursor: pointer;
	font-size: .74rem;
	color: var(--devos-accent-2);
	list-style: none;
}

.devos-ticket__reassign > summary::-webkit-details-marker {
	display: none;
}

.devos-ticket__reassign > summary::before {
	content: '\270E\00a0';
	opacity: .7;
}

.devos-ticket__reassign > summary:hover {
	text-decoration: underline;
}

.devos-ticket__reassign[open] > summary {
	margin-bottom: .45rem;
	font-weight: 600;
}

.devos-ticket__reassign-form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: .5rem;
}

.devos-ticket__reassign-form label {
	flex: 1 1 14rem;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: .2rem;
}

.devos-ticket__reassign-form label span {
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--devos-text-muted);
}

.devos-ticket__reassign-form input[type="email"] {
	width: 100%;
	padding: .45rem .75rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-full);
	background: var(--devos-bg-white);
	font-family: var(--devos-font-body);
	font-size: .8rem;
	color: var(--devos-text-dark);
}

.devos-ticket__reassign-form em {
	flex: 1 1 100%;
	font-size: .72rem;
	font-style: normal;
	line-height: 1.5;
	color: var(--devos-text-muted);
}


/* ---- 61.3 Pagina de revendicare ---- */

/*
 * O singură coloană îngustă, centrată. Pe pagina asta omul are de
 * făcut exact un lucru; orice altceva alături l-ar trage de acolo.
 */
.devos-claim {
	padding-top: 8rem;
	background: #fff;
	color: var(--devos-text-dark);
}

@media (max-width: 782px) { .devos-claim { padding-top: 7rem; } }
@media (max-width: 480px) { .devos-claim { padding-top: 6.5rem; } }

.devos-claim__wrap {
	max-width: 34rem;
	padding-top: clamp(1.8rem, 5vw, 3.2rem);
	padding-bottom: clamp(3rem, 9vw, 5rem);
}

.devos-claim__title {
	margin: 0;
	font-family: var(--devos-font-heading);
	font-size: clamp(1.7rem, 4.8vw, 2.5rem);
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -.02em;
	color: var(--devos-primary);
}

.devos-claim__lead {
	margin: .85rem 0 0;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--devos-text-muted);
}

.devos-claim__actions {
	margin-top: 1.6rem;
}

.devos-claim__note {
	margin: 0;
	font-size: .8rem;
	line-height: 1.6;
	color: var(--devos-text-muted);
}

/* ── Cartonașul biletului ─────────────────────────────────── */

.devos-claim__ticket {
	display: flex;
	align-items: center;
	gap: .9rem;
	margin-bottom: 1.6rem;
	padding: .9rem 1.1rem;
	border: 1px solid var(--devos-border);
	border-left: 3px solid var(--devos-accent-2);
	border-radius: var(--devos-radius-md);
	background: var(--devos-bg-light);
}

.devos-claim__ticket-icon {
	flex: 0 0 auto;
	width: 2.1rem;
	height: 2.1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--devos-radius-full);
	background: var(--devos-bg-white);
	color: var(--devos-accent-2);
	font-size: .9rem;
}

.devos-claim__ticket-body {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	min-width: 0;
}

.devos-claim__ticket-access {
	font-family: var(--devos-font-heading);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--devos-accent-2);
}

.devos-claim__ticket-name {
	font-size: .98rem;
	font-weight: 700;
	color: var(--devos-text-dark);
	overflow-wrap: anywhere;
}

.devos-claim__ticket-code {
	font-size: .78rem;
	letter-spacing: .04em;
	color: var(--devos-text-muted);
	overflow-wrap: anywhere;
}


/* ── Formularul de revendicare ────────────────────────────── */

.devos-claim__form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1.7rem;
}

.devos-claim__row {
	display: grid;
	gap: 1rem;
}
@media (min-width: 520px) {
	.devos-claim__row { grid-template-columns: 1fr 1fr; }
}

.devos-claim__field {
	display: flex;
	flex-direction: column;
	gap: .35rem;
}

.devos-claim__field > span {
	font-family: var(--devos-font-heading);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--devos-text-dark);
}

.devos-claim__field > span b {
	color: var(--devos-accent-2);
}

.devos-claim__field input {
	width: 100%;
	padding: .8rem 1rem;
	border: 1px solid var(--devos-border);
	border-radius: var(--devos-radius-md);
	background: #fff;
	font-family: var(--devos-font-body);
	font-size: .95rem;
	color: var(--devos-text-dark);
	transition: border-color var(--devos-transition);
}

.devos-claim__field input:focus {
	outline: none;
	border-color: var(--devos-accent-2);
}

.devos-claim__field > em {
	font-size: .76rem;
	font-style: normal;
	line-height: 1.5;
	color: var(--devos-text-muted);
}

.devos-claim__consent {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	font-size: .84rem;
	line-height: 1.6;
	color: var(--devos-text-muted);
}

.devos-claim__consent input {
	flex: 0 0 auto;
	margin-top: .22rem;
	width: 1rem;
	height: 1rem;
	accent-color: var(--devos-accent-2);
}

.devos-claim__consent a {
	color: var(--devos-accent-2);
}

.devos-claim__submit {
	align-self: flex-start;
}

.devos-claim__forgot {
	font-size: .8rem;
	color: var(--devos-text-muted);
}
.devos-claim__forgot:hover { color: var(--devos-accent-2); }

/* ── Mesajele ─────────────────────────────────────────────── */

.devos-claim__msg {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	margin: 0 0 1.4rem;
	padding: .85rem 1.1rem;
	border-radius: var(--devos-radius-md);
	font-size: .9rem;
	line-height: 1.6;
}

.devos-claim__msg i {
	flex: 0 0 auto;
	margin-top: .15rem;
}

.devos-claim__msg.is-ok {
	background: rgba(39, 174, 96, .1);
	color: #1e7e44;
}

.devos-claim__msg.is-error {
	background: rgba(192, 57, 43, .09);
	color: #a93226;
}
