/* ===== Party ===== */
.hs-party-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.25rem; border-radius: 1rem; background: linear-gradient(135deg, rgba(177, 0, 52, .85), rgba(225, 29, 72, .75)); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 20px 60px -20px rgba(225, 29, 72, .6); }
.hs-party-bar h1 { display: flex; align-items: center; gap: .5rem; font-family: Outfit, sans-serif; font-size: 22px; font-weight: 800; color: #fff; }
.hs-party-bar h1 b { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; padding: 0 8px; border-radius: 9999px; background: #fff; color: #e11d48; font-size: 13px; }
/* grila tip Pinterest: coloane umplute de JS (party.js) dupa inaltimea reala a afiselor; fara JS cade pe CSS columns */
.hs-party-grid { column-count: 2; column-gap: .75rem; }
@media (min-width: 640px) { .hs-party-grid { column-count: 3; } }
@media (min-width: 1024px) { .hs-party-grid { column-count: 4; } }
.hs-party-grid > .hs-party-card { break-inside: avoid; margin-bottom: .75rem; }
.hs-party-grid.is-masonry { column-count: auto; display: flex; gap: .75rem; align-items: flex-start; }
.hs-party-grid.is-masonry .hs-party-col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: .75rem; }
.hs-party-grid.is-masonry > .hs-party-card { margin: 0; }
.hs-party-card { --pc: #e11d48; display: flex; flex-direction: column; border-radius: 1rem; overflow: hidden; background: rgba(27, 27, 30, .85); border: 1px solid rgba(255, 255, 255, .08); transition: transform .2s, box-shadow .2s; }
.hs-party-card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -20px var(--pc); }
.hs-party-img { display: block; background: #141417; min-height: 120px; }
.hs-party-img img { width: 100%; height: auto; display: block; }
.hs-party-cap { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: .7rem .6rem; background: var(--pc); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.3; text-transform: uppercase; }
.hs-party-cap .is-date { font-weight: 800; font-size: 14px; }
/* ani */
.hs-years { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
@media (min-width: 640px) { .hs-years { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .hs-years { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.hs-year { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: 1.5rem .75rem 1rem; border-radius: 1rem; background: rgba(27, 27, 30, .8); border: 1px solid rgba(255, 255, 255, .08); transition: all .2s; }
.hs-year:hover { border-color: rgba(225, 29, 72, .6); transform: translateY(-3px); box-shadow: 0 20px 40px -20px rgba(225, 29, 72, .7); }
.hs-year-n { font-family: Outfit, sans-serif; font-size: 40px; font-weight: 800; color: #fff; line-height: 1; }
.hs-year-c { width: 100%; text-align: center; padding: .3rem .5rem; border-radius: .4rem; background: #e11d48; color: #fff; font-size: 12px; font-weight: 700; }
/* pagina petrecerii */
.hs-party-page { --pc: #e11d48; border-radius: 1.25rem; background: rgba(14, 14, 17, .85); border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 20px 60px -15px rgba(225, 29, 72, .25); overflow: hidden; }
.hs-party-hero { display: grid; grid-template-columns: 1fr; gap: 1.5rem; padding: 1.25rem; background: radial-gradient(ellipse at top left, color-mix(in srgb, var(--pc) 35%, transparent), transparent 60%); }
@media (min-width: 768px) { .hs-party-hero { grid-template-columns: 340px minmax(0, 1fr); padding: 1.75rem; } }
.hs-party-poster { display: block; border-radius: .9rem; overflow: hidden; border: 1px solid rgba(255, 255, 255, .15); box-shadow: 0 24px 50px -20px #000; background: #141417; }
.hs-party-poster img { width: 100%; display: block; }
.hs-party-head { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.hs-party-badge { align-self: flex-start; display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .7rem; border-radius: 9999px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.hs-party-badge.is-upcoming { background: rgba(16, 185, 129, .15); color: #6ee7b7; border: 1px solid rgba(16, 185, 129, .4); }
.hs-party-badge.is-past { background: rgba(255, 255, 255, .06); color: #ac8889; border: 1px solid rgba(92, 63, 64, .4); }
.hs-party-title { display: flex; flex-direction: column; font-family: Outfit, sans-serif; font-weight: 800; font-size: 24px; line-height: 1.2; color: #fff; text-transform: uppercase; }
@media (min-width: 768px) { .hs-party-title { font-size: 30px; } }
.hs-party-title .is-date { color: #ffb3b6; font-size: .8em; }
.hs-party-facts { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.hs-party-facts > div { display: flex; align-items: center; gap: .5rem; font-size: 13px; }
.hs-party-facts dt { display: flex; align-items: center; gap: .3rem; color: #ac8889; }
.hs-party-facts dt .material-symbols-outlined { font-size: 18px; color: #ffb3b6; }
.hs-party-facts dd { color: #fff; font-weight: 700; }
.hs-party-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding-top: .5rem; border-top: 1px solid rgba(255, 255, 255, .08); }
.hs-party-mine { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .9rem; border-radius: .7rem; background: rgba(16, 185, 129, .12); border: 1px solid rgba(16, 185, 129, .35); color: #d1fae5; font-size: 13px; font-weight: 600; }
.hs-party-mine small { color: #6ee7b7; font-weight: 500; }
.hs-party-contacts { width: 100%; display: flex; flex-direction: column; gap: .5rem; }
.hs-party-contacts > span { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #ac8889; }
.hs-party-contacts .hs-members.is-compact { display: flex; flex-wrap: wrap; gap: .75rem; }
.hs-party-contacts .hs-members.is-compact .hs-member { width: 150px; }
.hs-party-info { padding: 1.5rem 1.25rem; border-top: 1px solid rgba(255, 255, 255, .08); color: #e4e1e6; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
@media (min-width: 768px) { .hs-party-info { padding: 1.75rem 2rem; } }
.hs-party-info img { max-width: 100%; height: auto; border-radius: .75rem; margin: .5rem 0; }
.hs-party-info a { color: #ffb3b6; text-decoration: underline; }
.hs-party-info big { font-size: 1em; }
.hs-party-info font[color] { color: inherit !important; }
.hs-party-info b, .hs-party-info strong { color: #fff; }
.hs-party-map, .hs-party-section { padding: 1.5rem 1.25rem; border-top: 1px solid rgba(255, 255, 255, .08); }
@media (min-width: 768px) { .hs-party-map, .hs-party-section { padding: 1.5rem 2rem; } }
.hs-party-map h2, .hs-party-section h2 { display: flex; align-items: center; gap: .5rem; font-family: Outfit, sans-serif; font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 1rem; }
.hs-party-section h2 .material-symbols-outlined, .hs-party-map h2 .material-symbols-outlined { color: #e11d48; }
.hs-party-section h2 b { font-size: 12px; padding: 0 8px; min-width: 22px; height: 22px; border-radius: 9999px; background: #e11d48; display: inline-flex; align-items: center; justify-content: center; }
.hs-party-people { display: flex; flex-wrap: wrap; gap: .5rem; }
.hs-party-person { display: inline-flex; align-items: center; gap: .5rem; padding: .3rem .8rem .3rem .3rem; border-radius: 9999px; background: rgba(42, 42, 45, .7); border: 1px solid rgba(92, 63, 64, .4); color: #e4e1e6; font-size: 13px; font-weight: 600; transition: border-color .15s; }
.hs-party-person:hover { border-color: rgba(225, 29, 72, .6); }
.hs-party-person.is-pending { opacity: .6; }
.hs-party-person .hs-ava { width: 32px; height: 32px; }
.hs-party-person .hs-ava .material-symbols-outlined { font-size: 18px; }
.hs-party-comment-form { display: flex; flex-direction: column; align-items: flex-end; gap: .6rem; margin-bottom: 1.25rem; }
.hs-party-comments { display: flex; flex-direction: column; gap: .75rem; }
.hs-party-comment { display: flex; gap: .75rem; padding: .85rem 1rem; border-radius: .9rem; background: rgba(27, 27, 30, .8); border: 1px solid rgba(92, 63, 64, .3); }
.hs-party-comment.is-pending { border-style: dashed; opacity: .75; }

/* Editarea petrecerii de catre organizatori (petrecere-editare.php): previzualizarea afiselor */
.pe-poster { display: flex; align-items: center; justify-content: center; min-height: 160px; border-radius: .9rem; overflow: hidden; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); margin-bottom: .5rem; }
.pe-poster img { width: 100%; height: auto; display: block; }
.pe-poster.is-small { max-width: 180px; min-height: 110px; }
.pe-poster.is-empty { border-style: dashed; color: #ac8889; font-size: 13px; }
.pe-file { display: block; width: 100%; font-size: 12px; color: #c9a3a4; }
.pe-file::file-selector-button { margin-right: .6rem; padding: .4rem .8rem; border-radius: .5rem; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #e5e1e4; font-weight: 600; cursor: pointer; }
.hs-party-locked-img { display: block; width: 100%; max-width: 260px; margin: 0 auto; border-radius: .9rem; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 40px -12px rgba(0,0,0,.7); filter: saturate(.9); }
