@charset "utf-8";
/* ── Itemul 48 — serii, tarife, locuri ─────────────────────────────────────
   Componentele comune hubului Oferte (secțiunea și cardurile de extrasezon,
   panoul pliabil de pe cardurile de vară), paginii de tabără (secțiunea
   „Date, tarife și locuri”, box-urile de locație) și paginii de partener.
   Se încarcă după styles.css; culorile pe grupe de vârstă stau în oferte.css,
   de aceea culorile de public sunt definite aici, cu valorile lor. */

:root {
    --extrasezon-color: #b8651b;      /* toamnă: chihlimbar-brun, între verde și accentul terracotta */
    --pub-copii: #2d9e69;             /* = --primar-color */
    --pub-adulti: #7c3fb5;            /* = --liceu-color */
    --pub-adulti-familii: #2a7ab8;    /* = --gimnaziu-color */
    --stare-deschis: #2d6a4f;
    --stare-ultimele: #d3421d;
    --stare-complet: #756a5c;
}

/* ── Hub: secțiunea Extrasezon, tab-ul, separatorul „Vara 2027” ── */
.age-section-header.extrasezon { border-color: var(--extrasezon-color); }
.age-section-header.vara { border-color: var(--accent-on-dark); }
.pill-extrasezon { background: var(--extrasezon-color); }
.tab-link.tab-extrasezon:hover,
.tab-link.tab-extrasezon.active { border-color: var(--extrasezon-color); color: var(--extrasezon-color); }
.tab-sep {
    align-self: center;
    padding: 0 0.6rem 0 1rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--text-muted);
    white-space: nowrap;
    border-left: 1px solid rgba(45, 30, 15, 0.12);
}
.vara-gol .age-header-text p { max-width: 640px; }

/* ── Cardul de extrasezon: culoarea vine din public, nu din grupa de vârstă ── */
.prog-card.extrasezon.pub-copii { border-top-color: var(--pub-copii); }
.prog-card.extrasezon.pub-adulti { border-top-color: var(--pub-adulti); }
.prog-card.extrasezon.pub-adulti-familii { border-top-color: var(--pub-adulti-familii); }
.prog-tag.pub-copii { background: rgba(45, 158, 105, 0.12); color: var(--pub-copii); }
.prog-tag.pub-adulti { background: rgba(124, 63, 181, 0.12); color: var(--pub-adulti); }
.prog-tag.pub-adulti-familii { background: rgba(42, 122, 184, 0.12); color: var(--pub-adulti-familii); }
.prog-card-link.pub-copii:hover { color: var(--pub-copii); }
.prog-card-link.pub-adulti:hover { color: var(--pub-adulti); }
.prog-card-link.pub-adulti-familii:hover { color: var(--pub-adulti-familii); }
.meta-chip-pret { background: rgba(211, 66, 29, 0.10); color: var(--accent); font-weight: 700; }

/* Starea seriei, pe colțul imaginii (.prog-card-img e deja position: relative) */
.card-stare {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding: 0.3rem 0.8rem;
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--white);
    background: var(--stare-deschis);
}
.card-stare.stare-ultimele { background: var(--stare-ultimele); }
.card-stare.stare-complet { background: var(--stare-complet); }

/* ── Panoul pliabil de pe cardul de vară (48.7): <details>, deci fără JS ── */
.serii-panou {
    margin: 0 0 1.2rem;
    border: 1px solid rgba(45, 30, 15, 0.08);
    border-radius: var(--radius-md);
    background: var(--bg-main);
}
.serii-panou summary {
    list-style: none;
    cursor: pointer;
    padding: 0.8rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.serii-panou summary::-webkit-details-marker { display: none; }
.serii-panou summary:focus-visible { outline: 3px solid var(--primary-dark); outline-offset: 2px; border-radius: var(--radius-md); }
.serii-panou-eticheta {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--primary);
}
.serii-panou-eticheta::before { content: '\25B8'; transition: transform 0.2s ease; }
.serii-panou[open] .serii-panou-eticheta::before { transform: rotate(90deg); }
.serii-panou-sumar { font-size: 0.78rem; color: var(--text-muted); line-height: 1.5; }
.serii-panou .serii-locatii { padding: 0 1rem 1rem; gap: 0.8rem; }
.serii-panou .box-locatie-img { display: none; } /* pe card e loc doar pentru cifre */

/* ── Box-ul unei locații ── */
.serii-locatii { display: grid; gap: 1.2rem; }
.serii-locatii-pagina {
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    margin-top: 1.5rem;
}
.box-locatie {
    background: var(--white);
    border: 1px solid rgba(45, 30, 15, 0.08);
    border-radius: var(--radius-md);
    padding: 1rem 1.1rem;
    box-shadow: var(--shadow-sm);
}
.box-locatie-img {
    height: 150px;
    margin: -1rem -1.1rem 0.9rem;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    overflow: hidden;
}
.box-locatie-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.box-locatie-cap h4 { font-size: 1.05rem; color: var(--primary-dark); margin: 0 0 0.2rem; }
.box-locatie-cap h4 a { color: inherit; }
.box-locatie-cap h4 a:hover { color: var(--primary); }
.box-locatie-tag { font-size: 0.8rem; color: var(--text-muted); }
.box-locatie-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 1rem;
    margin: 0.6rem 0 0.8rem;
    font-size: 0.85rem;
    color: var(--text-muted);
}
.box-locatie-pret { font-family: var(--font-heading); font-weight: 800; font-size: 1.25rem; color: var(--accent); }
.box-locatie-pret small { font-size: 0.75rem; font-weight: 600; color: var(--text-muted); }
.box-locatie-nota { margin: 0.6rem 0 0; font-size: 0.8rem; color: var(--text-muted); }

/* ── Lista de serii ── */
.serii-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
.serie {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0.8rem;
    padding: 0.5rem 0.7rem;
    border-radius: 8px;
    border-left: 3px solid var(--stare-deschis);
    background: var(--bg-main);
    font-size: 0.85rem;
}
.serie.stare-ultimele { border-left-color: var(--stare-ultimele); }
.serie.stare-complet { border-left-color: var(--stare-complet); opacity: 0.75; }
.serie-date { font-weight: 700; color: var(--text-main); }
.serie-durata,
.serie-locatie,
.serie-locuri { color: var(--text-muted); }
.serie-nota { color: var(--text-muted); font-style: italic; }
.serie-pret { font-weight: 700; color: var(--accent); }
.serie-stare {
    margin-left: auto;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: var(--stare-deschis);
}
.serie.stare-ultimele .serie-stare { color: var(--stare-ultimele); }
.serie.stare-complet .serie-stare { color: var(--stare-complet); }
.serii-lista-mare .serie { padding: 0.8rem 1rem; font-size: 0.95rem; }
.serii-gol { margin: 0; font-size: 0.9rem; color: var(--text-muted); }

/* ── Pagina taberei: „Date, tarife și locuri” (extrasezon) ── */
.serii-sectiune .serii-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 2rem;
    align-items: start;
}
.serii-locatie-principala { margin: 1rem 0 0; font-size: 0.95rem; color: var(--text-muted); }
.serii-locatie-principala a,
.serii-rezerva a { color: var(--primary); font-weight: 700; text-decoration: underline; }
.serii-locatie-principala a:hover,
.serii-rezerva a:hover { color: var(--accent); }
.serii-rezerva { margin: 0.4rem 0 0; font-size: 0.9rem; color: var(--text-muted); }
.serii-cta { margin-top: 2rem; text-align: center; }
.serii-titlu-vara { margin: 2.5rem 0 0; font-size: 1.6rem; color: var(--primary-dark); }

/* ── Blocul de preț ── */
.pret-bloc {
    background: var(--white);
    border-radius: var(--radius-lg);
    border-top: 4px solid var(--accent);
    padding: 1.8rem;
    box-shadow: var(--shadow-md);
}
.pret-bloc-compact { padding: 1rem; }
.pret-suma {
    margin: 0 0 0.4rem;
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 2.2rem;
    line-height: 1.1;
    color: var(--primary-dark);
}
.pret-de-la,
.pret-per { font-size: 1rem; font-weight: 600; color: var(--text-muted); }
.pret-justificare {
    margin: 0 0 1rem;
    padding: 0.6rem 0.8rem;
    border-radius: 8px;
    background: var(--bg-light);
    font-size: 0.92rem;
    color: var(--text-main);
}
.pret-include,
.pret-nota { margin: 0 0 0.5rem; font-size: 0.88rem; line-height: 1.6; color: var(--text-muted); }
.pret-linii { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.5rem; }
.pret-linii li {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.2rem 0.8rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(45, 30, 15, 0.08);
    font-size: 0.95rem;
}
.pret-linie-suma { font-family: var(--font-heading); font-weight: 800; color: var(--accent); }
.pret-linie-nota { grid-column: 1 / -1; font-size: 0.8rem; color: var(--text-muted); }

@media (max-width: 800px) {
    .serii-sectiune .serii-grid { grid-template-columns: 1fr; }
    .serie-stare { margin-left: 0; width: 100%; }
}
