/* =================================================================
 eVaslui — Widget Styles (v1.5.1)
 CSS identic cu mockup-ul — clasele PHP render() = clasele CSS.
 ================================================================= */

:root {
 --blue-900: #0B3D6B;
 --blue-700: #1A5FA4;
 --blue-500: #2B7BD4;
 --blue-400: #378ADD;
 --blue-200: #85B7EB;
 --blue-100: #B5D4F4;
 --blue-50: #E6F1FB;
 --gold-800: #7A5A0A;
 --gold-600: #B08C12;
 --gold-500: #D4A017;
 --gold-400: #E4B52E;
 --gold-300: #F0C84D;
 --gold-100: #FAC775;
 --gold-50: #FAEEDA;
 --neutral-900: #1A1A19;
 --neutral-700: #2C2C2A;
 --neutral-500: #5F5E5A;
 --neutral-400: #888780;
 --neutral-300: #B4B2A9;
 --neutral-200: #D3D1C7;
 --neutral-100: #F1EFE8;
 --neutral-50: #F8F7F3;
 --white: #FFFFFF;
 --green-500: #1D9E75;
 --green-50: #E1F5EE;
 --purple-500: #534AB7;
 --purple-50: #EEEDFE;
 --coral-500: #D85A30;
 --coral-50: #FAECE7;
 --pink-500: #D4537E;
 --pink-50: #FBEAF0;
 --red-500: #E24B4A;
}

/* ===== HERO ===== */
/* ═════ HIDE EMPTY ELEMENTS (from display toggle) ═════ */
.ev-blog__cat:empty, .ev-blog__title:empty, .ev-blog__excerpt:empty, .ev-ev__cat:empty,
.ev-blog__meta:empty, .event-tag:empty, .tourism-card__type:empty,
.mp-card__type:empty, .dir-card__type:empty, .route-name:empty,
.route-time:empty { display: none !important; }

/* ═════ SHARED CARD TYPOGRAPHY ═════ */
/* All widgets inherit these — consistent across blog, directory, marketplace, events, tourism, transport */
/* Section titles use theme h2. Card content uses these shared sizes. */
/* Elementor Style tab overrides these via inline selectors (higher specificity). */
:root {
  --card-title-size: 16px;
  --card-title-weight: 600;
  --card-title-lh: 1.35;
  --card-excerpt-size: 14px;
  --card-excerpt-color: var(--neutral-500);
  --card-meta-size: 13px;
  --card-meta-color: var(--neutral-400);
  --card-badge-size: 11px;
  --card-badge-weight: 600;
  --card-section-title-size: 28px;
  --card-section-title-weight: 700;
  --card-section-sub-size: 15px;
  --card-cta-size: 13px;
  --card-cta-weight: 600;
  --card-icon-size: 11px;
}

/* ═════ MOBILE TEXT VARIANTS (desktop/mobile word limits) ═════ */
.ev-m { display: none; }
.ev-d { display: inline; }
@media (max-width: 767px) {
  .ev-m { display: inline; }
  .ev-d { display: none; }
}

/* ═════ IMAGE LINK (inside card) ═════ */
.ev-blog__img-link { display: block; width: 100%; height: 100%; }
.ev-blog__img-link img { width: 100%; height: 100%; object-fit: cover; }
/* When image_link is OFF, title gets link styling */
.ev-blog__title a { color: inherit; text-decoration: none; }
.ev-blog__title a:hover { color: var(--blue-500, #1A5FA4); }

/* Author + meta icons */
.ev-blog__author i, .ev-blog__read-time i { font-size: var(--card-icon-size); margin-right: 2px; }
.ev-blog__meta span + span::before { content: '·'; margin: 0 6px; color: var(--neutral-300); }
.ev-blog__meta--hero span + span::before { color: rgba(255,255,255,0.4); }
.ev-blog__meta--light span + span::before { color: rgba(255,255,255,0.3); }

/* ═════ WIDGET META ROWS (author, date, read_time) ═════ */
.dir-card__meta, .tourism-card__meta, .route-meta,
.event-author, .ev-ev__excerpt, .mp-card__excerpt {
  font-size: 12px; color: var(--neutral-400); display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
}
.dir-card__meta { margin: 6px 0 10px; }
.dir-card__meta i, .tourism-card__meta i, .mp-card__meta i { font-size: 11px; }
.dir-card__meta span, .tourism-card__meta span { display: inline-flex; align-items: center; gap: 3px; }

/* ═════ SHARED HERO OVERLAY (used by all CPT widgets) ═════ */
.ev-hero-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 12px; min-height: 420px; }
.ev-hero-main { position: relative; border-radius: 16px; overflow: hidden; background: var(--neutral-900); }
.ev-hero-main__img { position: absolute; inset: 0; }
.ev-hero-main__img img, .ev-hero-main__img picture, .ev-hero-main__img picture img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.ev-hero-main:hover .ev-hero-main__img img { transform: scale(1.03); }
.ev-hero-main__img a { display: block; width: 100%; height: 100%; }
.ev-hero-main__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 50%, transparent 100%); z-index: 1; }
.ev-hero-main__content { position: absolute; bottom: 0; left: 0; right: 0; z-index: 2; padding: 28px; }
.ev-hero-main__badge { display: inline-block; font-size: var(--card-badge-size); font-weight: var(--card-badge-weight); padding: 4px 10px; border-radius: 6px; background: rgba(255,255,255,0.9); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.ev-hero-main__title { font-size: 24px; font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ev-hero-main__title a { color: inherit; text-decoration: none; }
.ev-hero-main__title a:hover { opacity: 0.9; }
/* Stretched link — entire hero card clickable */
.ev-hero-link { position: absolute; inset: 0; z-index: 3; display: block; }
.ev-hero-main { cursor: pointer; }
.ev-hero-sidebar__item { cursor: pointer; }
.ev-hero-main__excerpt { font-size: var(--card-excerpt-size); color: rgba(255,255,255,0.75); margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-hero-main__meta { font-size: var(--card-meta-size); color: rgba(255,255,255,0.6); display: flex; gap: 0; flex-wrap: nowrap; }
.ev-hero-main__meta span { display: inline-flex; align-items: center; gap: 3px; }
.ev-hero-main__meta span + span::before { content: '·'; margin: 0 6px; color: rgba(255,255,255,0.3); }
.ev-hero-main__meta i { font-size: var(--card-icon-size); }
.ev-hero-sidebar { display: flex; flex-direction: column; gap: 12px; }
.ev-hero-sidebar__item { position: relative; flex: 1; border-radius: 14px; overflow: hidden; background: var(--neutral-900); min-height: 0; transition: all 0.2s; }
.ev-hero-sidebar__item:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(0,0,0,0.15); }
.ev-hero-sidebar__img { position: absolute; inset: 0; }
.ev-hero-sidebar__img img, .ev-hero-sidebar__img picture, .ev-hero-sidebar__img picture img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.ev-hero-sidebar__img a { display: block; width: 100%; height: 100%; }
.ev-hero-sidebar__item:hover .ev-hero-sidebar__img img { transform: scale(1.04); }
.ev-hero-sidebar__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.15) 60%, transparent 100%); z-index: 1; }
.ev-hero-sidebar__content { position: relative; z-index: 2; padding: 16px; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.ev-hero-sidebar__badge { display: inline-block; font-size: 10px; font-weight: var(--card-badge-weight); padding: 3px 8px; border-radius: 5px; background: rgba(255,255,255,0.85); margin-bottom: 4px; align-self: flex-start; text-transform: uppercase; }
.ev-hero-sidebar__title { font-size: 15px; font-weight: 600; color: #fff; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 4px; }
.ev-hero-sidebar__title a { color: inherit; text-decoration: none; }
.ev-hero-sidebar__meta { font-size: 12px; color: rgba(255,255,255,0.5); display: flex; gap: 0; }
.ev-hero-sidebar__meta span { display: inline-flex; align-items: center; gap: 3px; }
.ev-hero-sidebar__meta span + span::before { content: '·'; margin: 0 6px; color: rgba(255,255,255,0.25); }
.ev-hero-sidebar__meta i { font-size: 10px; }
@media (max-width: 900px) { .ev-hero-grid { grid-template-columns: 1fr; min-height: auto; } .ev-hero-main { min-height: 300px; } }
@media (max-width: 600px) { .ev-hero-main { min-height: 250px; } .ev-hero-main__title { font-size: 20px; } .ev-hero-main__content { padding: 20px; } .ev-hero-sidebar { flex-direction: row; gap: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 8px; } .ev-hero-sidebar__item { min-width: 220px; min-height: 180px; flex-shrink: 0; } }

/* ═════ LEAFLET MAPS (ev_single_leaflet_map + ev_transport_route_map) ═════ */
.ev-map { border: 1px solid var(--neutral-200); z-index: 1; position: relative; }
.ev-map--route { margin-bottom: 16px; }
.ev-single__map-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.ev-single__map-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--blue-500); text-decoration: none; padding: 8px 16px; border-radius: 8px; background: var(--blue-50, #E8F0FA); transition: all 0.2s; }
.ev-single__map-link:hover { background: var(--blue-500); color: #fff; }
.ev-single__map-link--nav { color: var(--green-600); background: var(--green-50, #E8F5F0); }
.ev-single__map-link--nav:hover { background: var(--green-500); color: #fff; }
.ev-single__map-link i { font-size: 14px; }
/* Leaflet controls — Google Maps style */
.ev-map .leaflet-control-zoom { border: none; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); overflow: hidden; }
.ev-map .leaflet-control-zoom a { width: 36px; height: 36px; line-height: 36px; font-size: 18px; color: #333; background: #fff; border-bottom: 1px solid #eee; }
.ev-map .leaflet-control-zoom a:hover { background: #f5f5f5; color: #111; }
.ev-map .leaflet-control-zoom a:last-child { border-bottom: none; }
.ev-map .leaflet-control-attribution { font-size: 10px; background: rgba(255,255,255,0.7); padding: 2px 6px; }
.ev-map .leaflet-control-attribution a { color: #666; }
/* Leaflet popup override */
.leaflet-popup-content-wrapper { border-radius: 10px; box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
.leaflet-popup-content { margin: 10px 14px; font-family: var(--font-body); }
/* Fix Leaflet z-index inside WordPress */
.ev-map .leaflet-pane { z-index: 1; }
.ev-map .leaflet-top, .ev-map .leaflet-bottom { z-index: 2; }
/* Hero map (transport single — replaces featured image) */
.ev-single__hero-map { margin-bottom: 16px; }
.ev-single__hero-map .ev-map--route { height: 450px; border-radius: 16px; border: 1px solid var(--neutral-200); }
@media (max-width: 900px) { .ev-single__hero-map .ev-map--route { height: 350px; } }
@media (max-width: 600px) { .ev-map { height: 250px !important; } .ev-map--route { height: 300px !important; } .ev-single__hero-map .ev-map--route { height: 300px !important; border-radius: 12px; } }

/* ═════ COMMENT RATING SYSTEM (stars in comments) ═════ */
/* Rating summary (above comments) */
.ev-rating-summary { display: flex; gap: 32px; align-items: flex-start; padding: 20px 24px; background: var(--white, #fff); border: 1px solid var(--neutral-100); border-radius: 12px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.ev-rating-summary__score { text-align: center; min-width: 100px; }
.ev-rating-summary__num { font-size: 44px; font-weight: 700; line-height: 1; display: block; color: var(--neutral-900); }
.ev-rating-summary__stars { margin: 8px 0; }
.ev-rating-summary__count { font-size: 13px; color: var(--neutral-500); }
.ev-rating-summary__bars { flex: 1; max-width: 300px; display: flex; flex-direction: column; gap: 5px; }
.ev-rating-summary__bar { display: flex; align-items: center; gap: 8px; }
.ev-rating-summary__bar-label { font-size: 12px; font-weight: 600; width: 36px; text-align: right; color: var(--neutral-500); flex-shrink: 0; display: inline-flex; align-items: center; gap: 2px; }
.ev-rating-summary__bar-track { flex: 1; height: 8px; background: var(--neutral-200); border-radius: 4px; overflow: hidden; }
.ev-rating-summary__bar-fill { height: 100%; background: var(--gold-500); border-radius: 4px; transition: width 0.3s; }
.ev-rating-summary__bar-count { font-size: 12px; color: var(--neutral-400); width: 20px; flex-shrink: 0; }

/* Star input (in comment form) */
.ev-star-input { margin-bottom: 16px; }
.ev-star-input__label { font-size: 14px; font-weight: 600; color: var(--neutral-700); display: block; margin-bottom: 6px; }
.ev-star-input__stars { display: flex; gap: 6px; }
.ev-star-input__btn { font-size: 32px; cursor: pointer; color: var(--neutral-300); transition: color 0.1s, transform 0.1s; user-select: none; line-height: 1; }
.ev-star-input__btn:hover { transform: scale(1.15); }
.ev-star-input__btn i.bi-star-fill { color: var(--gold-500); }

/* Stars shown on comments */
.ev-comment__rating { margin: 2px 0 6px; }
.ev-comment-rating { margin-bottom: 6px; }
.ev-stars i { margin-right: 1px; }

@media (max-width: 600px) {
  .ev-rating-summary { flex-direction: column; gap: 16px; }
  .ev-rating-summary__score { text-align: left; }
  .ev-rating-summary__bars { max-width: 100%; }
  .ev-star-input__btn { font-size: 28px; }
}

/* ═════ MESSAGING SYSTEM ═════ */
/* Header */
.ev-msg__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }

/* Layout: list + thread side by side */
.ev-msg__layout { display: grid; grid-template-columns: 320px 1fr; gap: 0; border: 1px solid var(--neutral-200); border-radius: 14px; overflow: hidden; min-height: 500px; background: var(--white, #fff); }

/* Conversation list */
.ev-msg__list { border-right: 1px solid var(--neutral-200); overflow-y: auto; max-height: 600px; background: var(--neutral-50, #F8F7F3); }
.ev-msg__empty { text-align: center; padding: 48px 24px; color: var(--neutral-400); }
.ev-msg__item { display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; transition: background 0.15s; border-bottom: 1px solid var(--neutral-100); }
.ev-msg__item:hover { background: var(--blue-50, #E6F1FB); }
.ev-msg__item--active { background: var(--blue-50, #E6F1FB); border-left: 3px solid var(--blue-500); }
.ev-msg__item--unread { background: var(--white, #fff); }
.ev-msg__item--unread .ev-msg__preview strong { color: var(--neutral-900); }

/* Avatar */
.ev-msg__avatar { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: var(--blue-100); display: flex; align-items: center; justify-content: center; }
.ev-msg__avatar img { width: 100%; height: 100%; object-fit: cover; }
.ev-msg__avatar span { font-size: 14px; font-weight: 700; color: var(--blue-600); }

/* Preview */
.ev-msg__preview { flex: 1; min-width: 0; }
.ev-msg__preview-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2px; }
.ev-msg__preview strong { font-size: 14px; color: var(--neutral-700); }
.ev-msg__preview time { font-size: 11px; color: var(--neutral-400); flex-shrink: 0; }
.ev-msg__preview p { font-size: 13px; color: var(--neutral-500); margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-msg__badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--blue-500); color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* Thread panel */
.ev-msg__thread { display: flex; flex-direction: column; }
.ev-msg__thread-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: var(--neutral-400); gap: 8px; font-size: 14px; }
.ev-msg__loading { display: flex; align-items: center; justify-content: center; height: 100%; }

/* Thread header */
.ev-msg__thread-header { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--neutral-200); background: var(--white, #fff); }
.ev-msg__thread-header strong { font-size: 15px; }
.ev-msg__back { background: none; border: none; cursor: pointer; font-size: 18px; color: var(--neutral-500); padding: 4px; display: none; }
.ev-msg__thread-avatar { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; background: var(--blue-100); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ev-msg__thread-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ev-msg__thread-avatar span { font-size: 12px; font-weight: 700; color: var(--blue-600); }

/* Thread body (messages) */
.ev-msg__thread-body { flex: 1; padding: 20px; overflow-y: auto; max-height: 420px; display: flex; flex-direction: column; gap: 10px; }
.ev-msg__thread-start { text-align: center; color: var(--neutral-400); font-size: 13px; margin: auto 0; }

/* Bubbles */
.ev-msg__bubble { max-width: 75%; padding: 10px 16px; border-radius: 16px; position: relative; }
.ev-msg__bubble--mine { align-self: flex-end; background: var(--blue-500); color: #fff; border-bottom-right-radius: 4px; }
.ev-msg__bubble--theirs { align-self: flex-start; background: var(--neutral-100); color: var(--neutral-800); border-bottom-left-radius: 4px; }
.ev-msg__bubble-text { font-size: 14px; line-height: 1.5; word-break: break-word; }
.ev-msg__bubble-time { font-size: 11px; opacity: 0.6; margin-top: 4px; display: block; }
.ev-msg__bubble--mine .ev-msg__bubble-time { text-align: right; }
.ev-msg__ref { font-size: 12px; color: var(--blue-500); margin-bottom: 4px; }
.ev-msg__ref a { color: var(--blue-500); text-decoration: underline; }

/* Reply form */
.ev-msg__reply { display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--neutral-200); background: var(--white, #fff); align-items: flex-end; }
.ev-msg__reply textarea { flex: 1; border: 1px solid var(--neutral-200); border-radius: 20px; padding: 10px 16px; font-size: 14px; font-family: var(--font-body); resize: none; outline: none; min-height: 40px; max-height: 120px; transition: border-color 0.2s; }
.ev-msg__reply textarea:focus { border-color: var(--blue-400); }
.ev-msg__send-btn { width: 40px; height: 40px; border-radius: 50%; background: var(--blue-500); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 16px; flex-shrink: 0; transition: background 0.2s; }
.ev-msg__send-btn:hover { background: var(--blue-700); }

/* Compose */
.ev-msg__compose { display: flex; flex-direction: column; height: 100%; }
.ev-msg__compose-search { padding: 16px; border-bottom: 1px solid var(--neutral-200); }
.ev-msg__compose-search input { width: 100%; border: 1px solid var(--neutral-200); border-radius: 10px; padding: 10px 14px; font-size: 14px; font-family: var(--font-body); outline: none; }
.ev-msg__compose-search input:focus { border-color: var(--blue-400); }
.ev-msg__search-result { display: flex; align-items: center; gap: 10px; padding: 10px 0; cursor: pointer; transition: background 0.1s; }
.ev-msg__search-result:hover { background: var(--neutral-50); border-radius: 8px; padding-left: 8px; }
.ev-msg__search-result .ev-msg__avatar { width: 36px; height: 36px; }
.ev-msg__no-results { font-size: 13px; color: var(--neutral-400); padding: 12px 0; }
.ev-msg__compose-body { padding: 16px; flex: 1; display: flex; flex-direction: column; gap: 12px; }
.ev-msg__compose-body textarea { flex: 1; border: 1px solid var(--neutral-200); border-radius: 10px; padding: 12px; font-family: var(--font-body); font-size: 14px; resize: none; outline: none; }

/* Contact button (on single pages) */
.ev-contact-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 14px 20px; border-radius: 12px; background: var(--blue-500); color: #fff; border: none; cursor: pointer; font-size: 15px; font-weight: 600; font-family: var(--font-body); transition: all 0.2s; margin-bottom: 16px; }
.ev-contact-btn:hover { background: var(--blue-700); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(26,95,164,0.2); }

/* Fixed floating contact button */
.ev-contact-fixed { position: fixed; bottom: 24px; right: 24px; width: 56px; height: 56px; border-radius: 50%; background: var(--blue-500); color: #fff; border: none; cursor: pointer; font-size: 22px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(26,95,164,0.3); z-index: 9990; transition: all 0.2s; }
.ev-contact-fixed:hover { background: var(--blue-700); transform: scale(1.08); box-shadow: 0 6px 28px rgba(26,95,164,0.4); }
@media (max-width: 768px) { .ev-contact-fixed { bottom: 16px; right: 16px; width: 50px; height: 50px; font-size: 20px; } }

/* ═════ OPEN NOW BADGE ═════ */
.dir-card__open { font-size: 11px; font-weight: 600; display: inline-flex; align-items: center; gap: 3px; }
.ev-open-badge { margin-bottom: 8px; }

/* ═════ EXPIRY BADGE ═════ */
.ev-expiry-badge { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; }

/* ═════ PHONE REVEAL (anti-scrape) ═════ */
.ev-contact-sidebar { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.ev-phone-reveal { }
.ev-phone-reveal__btn { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 16px; border-radius: 12px; background: var(--white, #fff); border: 2px solid var(--green-200, #A7E8C5); cursor: pointer; font-family: var(--font-body); transition: all 0.2s; text-align: left; }
.ev-phone-reveal__btn:hover { border-color: var(--green-500); background: var(--green-50, #E8F5F0); }
.ev-phone-reveal__btn--revealed { border-color: var(--green-500); background: var(--green-50, #E8F5F0); }
.ev-phone-reveal__btn i { font-size: 20px; color: var(--green-500); flex-shrink: 0; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--green-100, #C6F0D8); border-radius: 10px; }
.ev-phone-reveal__text { flex: 1; display: flex; flex-direction: column; }
.ev-phone-reveal__label { font-size: 11px; font-weight: 600; color: var(--neutral-400); text-transform: uppercase; letter-spacing: 0.5px; }
.ev-phone-reveal__number { font-size: 16px; font-weight: 700; color: var(--neutral-800); letter-spacing: 0.5px; }
.ev-phone-reveal__btn--revealed .ev-phone-reveal__number { color: var(--green-600); }
.ev-phone-reveal__action { font-size: 12px; font-weight: 600; color: var(--green-500); background: var(--green-100, #C6F0D8); padding: 4px 12px; border-radius: 6px; flex-shrink: 0; }
.ev-phone-reveal__btn--revealed .ev-phone-reveal__action { background: var(--green-500); color: #fff; }
.ev-checkbox-inline { display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }
.ev-checkbox-inline input { width: 16px; height: 16px; cursor: pointer; }

/* Contact modal */
.ev-contact-modal { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 20px; }
.ev-contact-modal__card { background: #fff; border-radius: 16px; width: 100%; max-width: 500px; box-shadow: 0 20px 60px rgba(0,0,0,0.15); overflow: hidden; }
.ev-contact-modal__header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--neutral-100); }
.ev-contact-modal__header h3 { font-size: 16px; font-weight: 600; margin: 0; display: flex; align-items: center; gap: 8px; }
.ev-contact-modal__close { background: none; border: none; font-size: 24px; cursor: pointer; color: var(--neutral-400); padding: 0 4px; }
.ev-contact-modal__body { padding: 24px; }
.ev-contact-modal__ref { font-size: 13px; color: var(--neutral-500); margin-bottom: 12px; padding: 8px 12px; background: var(--neutral-50); border-radius: 8px; }
.ev-contact-modal__body textarea { width: 100%; border: 1px solid var(--neutral-200); border-radius: 10px; padding: 12px 14px; font-size: 14px; font-family: var(--font-body); resize: vertical; outline: none; min-height: 100px; }
.ev-contact-modal__body textarea:focus { border-color: var(--blue-400); }
.ev-contact-modal__footer { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; }
.ev-contact-modal__feedback { font-size: 13px; font-weight: 500; }

@media (max-width: 768px) {
  .ev-msg__layout { grid-template-columns: 1fr; }
  .ev-msg__list { max-height: none; }
  .ev-msg__thread { display: none; }
  .ev-msg__layout--thread-open .ev-msg__list { display: none; }
  .ev-msg__layout--thread-open .ev-msg__thread { display: flex; }
  .ev-msg__back { display: block; }
  .ev-msg__bubble { max-width: 85%; }
}

/* ═════ GLOBAL: <picture> element fix for ALL widgets ═════ */
/* WebP optimization wraps <img> in <picture>. This breaks height:100% chains. */
/* Fix: make picture a block element that inherits container dimensions. */
[class*="__img"] picture,
[class*="__img-link"] picture,
.ev-blog__img-link picture,
.ev-ev__img-link picture,
.dir-card__img-link picture,
.mp-card__img-link picture {
  display: block; width: 100%; height: 100%;
}
[class*="__img"] picture img,
[class*="__img-link"] picture img,
.ev-blog__img-link picture img,
.ev-ev__img-link picture img,
.dir-card__img-link picture img,
.mp-card__img-link picture img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* ═════ OVERRIDE ELEMENTOR: .elementor img { height: auto } ═════ */
/* Load order: elementor-frontend.css → widgets.css (dependency in functions.php)
   Specificity: .elementor .xxx img = 0-2-1 beats .elementor img = 0-1-1 */
.elementor [class*="__img"] img,
.elementor [class*="__img-"],
.elementor .ev-ev__img-el {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
/* picture element must also be block+full inside .elementor */
.elementor [class*="__img"] picture,
.elementor [class*="__img-link"] picture {
  display: block; width: 100%; height: 100%;
}


.hero {
 padding: 80px 24px 72px;
 position: relative;
 overflow: hidden;
}
.hero::before {
 content: '';
 position: absolute;
 top: -50%; right: -20%;
 width: 600px; height: 600px;
 background: radial-gradient(circle, rgba(212,160,23,0.12) 0%, transparent 70%);
 pointer-events: none;
}
.hero-inner {
 
 
 position: relative;
 z-index: 1;
}
.hero h1 {
 font-size: 48px;
 font-weight: 700;
 line-height: 1.15;
 max-width: 620px;
 letter-spacing: -1px;
}
.hero h1 .accent { }
.hero p {
 font-size: 18px;
 margin-top: 20px;
 max-width: 520px;
 line-height: 1.7;
}
.hero-actions { display: flex; gap: 12px; margin-top: 32px; }
.btn-hero {
 padding: 14px 28px;
 border-radius: 12px;
 font-size: 15px;
 font-weight: 600;
 cursor: pointer;
 font-family: inherit;
 transition: all 0.2s;
 border: none;
 text-decoration: none;
 display: inline-block;
}
.btn-hero-secondary {
 border-width: 1.5px; border-style: solid;
}
.hero-stats {
 display: flex;
 gap: 48px;
 margin-top: 48px;
 padding-top: 32px;
 border-top: 1px solid rgba(255,255,255,0.12);
}
.hero-stat-num { font-size: 28px; font-weight: 700; }
.hero-stat-label { font-size: 13px; margin-top: 4px; }
@media (max-width: 900px) {
 .hero h1 { font-size: 36px; }
}
@media (max-width: 600px) {
 .hero { padding: 40px 16px 32px; }
 .hero h1 { font-size: 28px; }
 .hero p { font-size: 15px; margin-top: 12px; }
 .hero-stats { flex-direction: column; gap: 16px; margin-top: 24px; padding-top: 20px; }
 .hero-stats--mobile-scroll { flex-direction: row; overflow-x: auto; gap: 24px; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; padding-bottom: 8px; }
 .hero-stats--mobile-scroll > div { flex-shrink: 0; scroll-snap-align: start; min-width: 100px; }
 .hero-stats--mobile-scroll::-webkit-scrollbar { height: 3px; }
 .hero-stats--mobile-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.3); border-radius: 2px; }
 .hero-stat-num { font-size: 22px; }
 .hero-actions { flex-direction: column; margin-top: 20px; gap: 8px; }
 .btn-hero { padding: 12px 24px; font-size: 14px; text-align: center; }
}

/* ===== COUNTER (inside hero or standalone) ===== */
.fr-counter__grid {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 24px;
}
.fr-counter__grid--dividers .fr-counter__item + .fr-counter__item {
 border-left: 1px solid rgba(255,255,255,0.12);
 padding-left: 24px;
}
.fr-counter__item { text-align: left; }
.fr-counter__num {
 font-size: 28px;
 font-weight: 700;
 font-variant-numeric: tabular-nums;
 color: inherit;
}
.fr-counter__label {
 font-size: 13px;
 margin-top: 4px;
 color: inherit;
 opacity: 0.7;
}
.fr-counter__icon { font-size: 20px; margin-bottom: 8px; }
@media (max-width: 860px) {
 .fr-counter__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
 .fr-counter__grid--dividers .fr-counter__item + .fr-counter__item { border-left: none; padding-left: 0; }
}

/* ===== MODULES GRID ===== */
.modules {
 padding: 48px 24px 56px;
 
 
}
.section-title {
 font-size: 32px;
 font-weight: 700;
 letter-spacing: -0.5px;
 text-align: center;
}
.section-subtitle {
 font-size: 16px;
 color: var(--neutral-500);
 text-align: center;
 margin-top: 12px;
 max-width: 500px;
 margin-left: auto;
 margin-right: auto;
}
.modules-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 20px;
 margin-top: 48px;
}
.module-card {
 background: var(--white);
 border: 1px solid var(--neutral-200);
 border-radius: 16px;
 padding: 28px 24px;
 transition: all 0.25s;
 cursor: pointer;
 position: relative;
 overflow: hidden;
 text-decoration: none;
 color: inherit;
 display: block;
}
.module-card:hover {
 border-color: var(--neutral-300);
 transform: translateY(-3px);
 box-shadow: 0 12px 40px rgba(0,0,0,0.06);
}
.module-card::before {
 content: '';
 position: absolute;
 top: 0; left: 0;
 width: 100%; height: 3px;
}
.module-card.portal::before { background: var(--blue-700); }
.module-card.marketplace::before { background: var(--green-500); }
.module-card.director::before { background: var(--gold-500); }
.module-card.transport::before { background: var(--purple-500); }
.module-card.turism::before { background: var(--coral-500); }
.module-card.evenimente::before { background: var(--pink-500); }
.module-icon {
 width: 44px; height: 44px;
 border-radius: 12px;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 20px;
 margin-bottom: 16px;
}
.portal .module-icon { background: var(--blue-50); }
.marketplace .module-icon { background: var(--green-50); }
.director .module-icon { background: var(--gold-50); }
.transport .module-icon { background: var(--purple-50); }
.turism .module-icon { background: var(--coral-50); }
.evenimente .module-icon { background: var(--pink-50); }
.module-card h3 {
 font-size: 18px;
 font-weight: 600;
 margin-bottom: 8px;
}
.module-card p {
 font-size: 14px;
 color: var(--neutral-500);
 line-height: 1.6;
}
.module-tag {
 display: inline-block;
 font-size: 12px;
 font-weight: 500;
 padding: 4px 10px;
 border-radius: 6px;
 margin-top: 16px;
}
.portal .module-tag { background: var(--blue-50); color: var(--blue-700); }
.marketplace .module-tag { background: var(--green-50); color: #0F6E56; }
.director .module-tag { background: var(--gold-50); color: var(--gold-800); }
.transport .module-tag { background: var(--purple-50); color: #3C3489; }
.turism .module-tag { background: var(--coral-50); color: #993C1D; }
.evenimente .module-tag { background: var(--pink-50); color: #993556; }
@media (max-width: 900px) { .modules-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .modules-grid { grid-template-columns: 1fr; } }

/* ===== BLOG CARDS — 6 LAYOUTS ===== */
.ev-blog { }
.ev-blog__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.ev-blog__header h2 { font-size: var(--card-section-title-size); font-weight: var(--card-section-title-weight); letter-spacing: -0.5px; }

/* Keep .view-all for backward compat */
.view-all { color: var(--blue-700); font-size: 14px; font-weight: 500; text-decoration: none; }
.view-all:hover { text-decoration: underline; }

/* ── Shared card base ── */
.ev-blog__card { display: block; text-decoration: none; color: inherit; background: var(--white, #fff); border: 1px solid var(--neutral-200, #D3D1C7); border-radius: 16px; overflow: hidden; transition: all 0.25s; cursor: pointer; }
.ev-blog__card:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(0,0,0,0.06); }
.ev-blog__img { position: relative; overflow: hidden; height: 180px; background: var(--neutral-50); }
.ev-blog__img img, .ev-blog__img-el { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.ev-blog__card:hover .ev-blog__img img, .ev-blog__card:hover .ev-blog__img-el { transform: scale(1.04); }
.ev-blog__img-ph { height: 100%; display: flex; align-items: center; justify-content: center; color: var(--neutral-300); font-size: 32px; background: var(--neutral-50); }
.ev-blog__cat { position: absolute; top: 12px; left: 12px; font-size: var(--card-badge-size); font-weight: var(--card-badge-weight); padding: 4px 10px; border-radius: 6px; background: var(--white); color: var(--blue-700, #1A5FA4); text-transform: uppercase; letter-spacing: 0.5px; z-index: 2; }
.ev-blog__cat--small { position: static; display: inline-block; font-size: 10px; margin-bottom: 4px; background: var(--neutral-100); }
.ev-blog__cat--light { background: rgba(255,255,255,0.15); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; }
.ev-blog__body { padding: 20px; }
.ev-blog__title { font-size: var(--card-title-size); font-weight: var(--card-title-weight); line-height: var(--card-title-lh); margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ev-blog__excerpt { font-size: var(--card-excerpt-size); color: var(--card-excerpt-color); line-height: 1.6; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-blog__meta { font-size: var(--card-meta-size); color: var(--card-meta-color); display: flex; gap: 0; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ev-blog__meta::-webkit-scrollbar { display: none; }
.ev-blog__meta span { display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; }
.ev-blog__meta--light { color: rgba(255,255,255,0.5); }
.ev-blog__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 50%, transparent 100%); z-index: 1; }

/* ── L1: Featured Grid (1 mare + 2 mici, mockup original) ── */
.ev-blog--featured-grid .ev-blog__grid--featured { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 20px; }
.ev-blog__card--featured .ev-blog__img { height: 240px; }
.ev-blog__card--featured .ev-blog__title { font-size: 20px; -webkit-line-clamp: 4; }

/* ── L2: Hero Overlay + Sidebar (like old hero-card + hero-sidebar) ── */
.ev-blog__grid--hero { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; align-items: stretch; }
.ev-blog__card--hero-main { position: relative; border-radius: 16px; overflow: hidden; min-height: 420px; border: none; background: var(--neutral-900); cursor: pointer; }
.ev-blog__card--hero-main .ev-blog__img--hero { position: absolute; inset: 0; height: 100%; }
.ev-blog__card--hero-main:hover .ev-blog__img--hero img { transform: scale(1.03); }
.ev-blog__hero-content { position: absolute; bottom: 0; left: 0; right: 0; z-index: 2; padding: 32px; }
.ev-blog__title--hero { font-size: 28px; font-weight: 700; color: #fff; -webkit-line-clamp: 4; margin-bottom: 8px; line-height: 1.15; letter-spacing: -0.3px; }
.ev-blog__title--hero a, .ev-blog__title--sidebar a { color: inherit; text-decoration: none; }
.ev-blog__title--hero a:hover, .ev-blog__title--sidebar a:hover { color: inherit; opacity: 0.9; }
.ev-blog__excerpt--hero { color: rgba(255,255,255,0.75); font-size: 15px; margin-bottom: 10px; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.ev-blog__meta--hero { color: rgba(255,255,255,0.5); }
.ev-blog__sidebar { display: flex; flex-direction: column; gap: 12px; }
.ev-blog__card--sidebar-item { position: relative; flex: 1; border-radius: 14px; overflow: hidden; min-height: 0; border: none; background: var(--neutral-900); cursor: pointer; }
.ev-blog__card--sidebar-item:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(0,0,0,0.15); }
.ev-blog__sidebar-img { position: absolute; inset: 0; }
.ev-blog__sidebar-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.ev-blog__card--sidebar-item:hover .ev-blog__sidebar-img img { transform: scale(1.04); }
.ev-blog__sidebar-content { position: relative; z-index: 2; padding: 20px; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.ev-blog__title--sidebar { font-size: 15px; font-weight: 600; color: #fff; -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; margin-bottom: 4px; line-height: 1.3; }

/* ── L3: Magazine (1 stânga mare + listă dreapta cu thumb) ── */
.ev-blog__grid--magazine { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; align-items: start; }
.ev-blog__card--magazine-main .ev-blog__img { height: 320px; }
.ev-blog__card--magazine-main .ev-blog__title { font-size: 22px; -webkit-line-clamp: 3; }
.ev-blog__card--magazine-main .ev-blog__body { padding: 24px; }
.ev-blog__list-col { display: flex; flex-direction: column; gap: 0; }
.ev-blog__card--list-item { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--neutral-200); border-radius: 0; border-left: 0; border-right: 0; border-top: 0; background: transparent; }
.ev-blog__card--list-item:first-child { padding-top: 0; }
.ev-blog__card--list-item:last-child { border-bottom: none; }
.ev-blog__card--list-item:hover { transform: none; box-shadow: none; background: var(--neutral-50); margin: 0 -12px; padding: 16px 12px; border-radius: 10px; border-color: transparent; }
.ev-blog__list-thumb { width: 88px; height: 88px; border-radius: 10px; overflow: hidden; flex-shrink: 0; }
.ev-blog__list-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ev-blog__list-body { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.ev-blog__title--list { font-size: 14px; font-weight: 600; -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; margin-bottom: 4px; line-height: 1.35; }

/* ── L4: Grid Uniform (coloane egale, clasic) ── */
.ev-blog--grid-equal .ev-blog__grid--equal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ev-blog__card--equal .ev-blog__img { height: 180px; }
.ev-blog__card--equal .ev-blog__title { font-size: 16px; -webkit-line-clamp: 2; }

/* ── L5: List (rânduri orizontale cu imagine stânga) ── */
.ev-blog__grid--list { display: flex; flex-direction: column; gap: 0; }
.ev-blog__card--row { display: flex; border-radius: 0; border-left: none; border-right: none; border-top: none; border-bottom: 1px solid var(--neutral-200); padding: 24px 0; background: transparent; }
.ev-blog__card--row:first-child { border-top: 1px solid var(--neutral-200); }
.ev-blog__card--row:hover { transform: none; box-shadow: none; background: var(--neutral-50); margin: 0 -16px; padding: 24px 16px; border-radius: 14px; border-color: transparent; }
.ev-blog__row-img { width: 220px; height: 150px; border-radius: 12px; overflow: hidden; flex-shrink: 0; margin-right: 24px; }
.ev-blog__row-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.ev-blog__card--row:hover .ev-blog__row-img img { transform: scale(1.03); }
.ev-blog__row-body { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.ev-blog__title--row { font-size: 19px; font-weight: 600; -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; margin-bottom: 6px; line-height: 1.35; }

/* ── L6: Mosaic (1 mare span 2 + 1 mic, alternează) ── */
.ev-blog__grid--mosaic { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ev-blog__card--mosaic-big { grid-column: span 2; }
.ev-blog__card--mosaic-big .ev-blog__img { height: 280px; }
.ev-blog__card--mosaic-big .ev-blog__title { font-size: 22px; -webkit-line-clamp: 3; }
.ev-blog__card--mosaic-small .ev-blog__img { height: 160px; }
.ev-blog__card--mosaic-small .ev-blog__title { font-size: 15px; -webkit-line-clamp: 2; }

/* ── Backward compat: old .news-* classes redirect ── */
.news-section { background: var(--neutral-50); padding: 48px 24px 56px; }
.news-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 36px; }
.news-header h2 { font-size: 28px; font-weight: 700; letter-spacing: -0.5px; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .ev-blog__grid--featured, .ev-blog__grid--hero, .ev-blog__grid--magazine { grid-template-columns: 1fr; }
  .ev-blog__card--hero-main { min-height: 300px; }
  .ev-blog--grid-equal .ev-blog__grid--equal { grid-template-columns: repeat(2, 1fr); }
  .ev-blog__grid--mosaic { grid-template-columns: 1fr 1fr; }
  .ev-blog__card--mosaic-big { grid-column: span 2; }
  .ev-blog__row-img { width: 140px; height: 100px; margin-right: 16px; }
  .ev-blog__title--hero { font-size: 22px; }
}
@media (max-width: 600px) {
  .ev-blog--grid-equal .ev-blog__grid--equal, .ev-blog__grid--mosaic { grid-template-columns: 1fr; }
  .ev-blog__card--mosaic-big { grid-column: span 1; }
  .ev-blog__card--row { flex-direction: column; }
  .ev-blog__row-img { width: 100%; height: 180px; margin-right: 0; margin-bottom: 12px; }
  .ev-blog__sidebar { flex-direction: row; gap: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 8px; }
  .ev-blog__card--sidebar-item { min-width: 240px; min-height: 200px; flex-shrink: 0; }
  .ev-blog__hero-content { padding: 20px; }
}

/* ===== EVENTS STRIP ===== */
.events-strip {
 padding: 48px 24px 56px;
 
 
}
.events-strip > div:first-child {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.events-strip h2 {
 font-size: 28px;
 font-weight: 700;
 letter-spacing: -0.5px;
}
.events-row {
 display: flex;
 gap: 16px;
 margin-top: 36px;
 overflow-x: auto;
 padding-bottom: 8px;
 scroll-snap-type: x mandatory;
 -webkit-overflow-scrolling: touch;
}
.events-row::-webkit-scrollbar { height: 4px; }
.events-row::-webkit-scrollbar-thumb { background: var(--neutral-200); border-radius: 4px; }
.event-card {
 min-width: 260px;
 background: var(--white);
 border: 1px solid var(--neutral-200);
 border-radius: 14px;
 padding: 20px;
 flex-shrink: 0;
 transition: all 0.2s;
 cursor: pointer;
 text-decoration: none;
 color: inherit;
 display: block;
 scroll-snap-align: start;
}
.event-card:hover {
 border-color: var(--pink-500);
 transform: translateY(-2px);
}
.event-date {
 display: flex;
 align-items: center;
 gap: 12px;
 margin-bottom: 14px;
}
.event-day {
 width: 48px; height: 48px;
 background: var(--pink-50);
 border-radius: 10px;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 line-height: 1;
}
.event-day-num { font-size: 20px; font-weight: 700; color: var(--pink-500); }
.event-day-month { font-size: 11px; font-weight: 500; color: #993556; text-transform: uppercase; }
.event-dow { font-size: 13px; color: var(--neutral-400); }
.event-time { font-size: 13px; color: var(--neutral-500); font-weight: 500; }
.event-card h4 { font-size: var(--card-title-size); font-weight: var(--card-title-weight); margin-bottom: 6px; }
.event-card .event-loc { font-size: var(--card-meta-size); color: var(--neutral-500); }
.event-tag {
 display: inline-block;
 font-size: 11px;
 font-weight: 500;
 padding: 3px 8px;
 border-radius: 5px;
 margin-top: 10px;
 background: var(--pink-50);
 color: #993556;
}

/* ===== EVENTS GRID LAYOUTS (poster/cards) ===== */
.ev-ev-grid { display: grid; gap: 16px; }
.ev-ev { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--neutral-200); border-radius: 14px; overflow: hidden; transition: all 0.2s; text-decoration: none; color: inherit; }
.ev-ev:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(0,0,0,0.06); border-color: var(--pink-500); }
.ev-ev__img { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--pink-50), #FBEAF0); }
.ev-ev--poster .ev-ev__img { height: 220px; }
.ev-ev__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-ev__img-ph { height: 100%; min-height: 180px; display: flex; align-items: center; justify-content: center; font-size: 36px; color: var(--pink-500); }
.ev-ev__date-badge { position: absolute; top: 10px; left: 10px; background: var(--pink-500); color: #fff; border-radius: 10px; padding: 6px 12px; text-align: center; line-height: 1; min-width: 48px; box-shadow: 0 2px 8px rgba(212,83,126,0.3); }
.ev-ev__day { display: block; font-size: 22px; font-weight: 700; }
.ev-ev__month { display: block; font-size: 10px; font-weight: 600; text-transform: uppercase; opacity: 0.9; }
.ev-ev__sold { position: absolute; bottom: 8px; right: 8px; background: var(--red-500); color: #fff; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 5px; text-transform: uppercase; }
.ev-ev__body { padding: 14px 16px; flex: 1; display: flex; flex-direction: column; }
.ev-ev__title { font-size: var(--card-title-size); font-weight: var(--card-title-weight); margin-bottom: 6px; line-height: var(--card-title-lh); }
.ev-ev__loc { font-size: var(--card-meta-size); color: var(--neutral-500); margin-bottom: 2px; }
.ev-ev__loc i, .ev-ev__time i { font-size: var(--card-icon-size); margin-right: 2px; }
.ev-ev__time { font-size: var(--card-meta-size); color: var(--card-meta-color); }
.ev-ev__body .event-tag { margin-top: auto; align-self: flex-start; }

/* ── Event badges (past/sold) — replaces opacity ── */
.ev-ev__badge { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 600; padding: 3px 8px; border-radius: 5px; text-transform: uppercase; letter-spacing: 0.3px; position: absolute; z-index: 3; }
.ev-ev__badge--sold { bottom: 8px; right: 8px; background: var(--red-500, #D63638); color: #fff; }
.ev-ev__badge--past { top: 8px; right: 8px; background: rgba(0,0,0,0.6); color: #fff; }
.ev-ev__body .ev-ev__badge { position: static; margin-top: 6px; display: inline-flex; }

/* ── Event category pill (in body) ── */
.ev-ev__cat { display: inline-block; font-size: var(--card-badge-size); font-weight: var(--card-badge-weight); padding: 3px 10px; border-radius: 6px; background: var(--pink-50, #FBEAF0); color: var(--pink-500, #D4537E); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 6px; }

/* ── Event info block (location + time grouped) ── */
.ev-ev__info { display: flex; flex-direction: column; gap: 2px; margin: 6px 0; }

/* ── Event meta line (date + author + read_time) — horizontal scroll ── */
.ev-ev__meta-line { display: flex; align-items: center; gap: 0; font-size: var(--card-meta-size); color: var(--card-meta-color); margin-top: 8px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ev-ev__meta-line::-webkit-scrollbar { display: none; }
.ev-ev__meta-item { display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; }
.ev-ev__meta-item + .ev-ev__meta-item::before { content: '·'; margin: 0 8px; color: var(--neutral-300); }
.ev-ev__meta-item i { font-size: var(--card-icon-size); }

/* ── Event image link ── */
.ev-ev__img-link { display: block; width: 100%; height: 100%; }
.ev-ev__img-link img, .ev-ev__img-el { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-ev__title a { color: inherit; text-decoration: none; }
.ev-ev__title a:hover { color: var(--pink-500, #D4537E); }

/* ── Excerpt ── */
.ev-ev__excerpt { font-size: var(--card-excerpt-size); color: var(--card-excerpt-color); margin: 4px 0 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ── Section header ── */
.ev-ev__section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.ev-ev__section-title { font-size: var(--card-section-title-size); font-weight: var(--card-section-title-weight); letter-spacing: -0.5px; }

/* Cards (landscape row) layout */
.ev-ev--card { flex-direction: row; }
.ev-ev__row { display: flex; align-items: stretch; width: 100%; }
.ev-ev__date-side { width: 60px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--pink-500); color: #fff; flex-shrink: 0; padding: 12px 8px; }
.ev-ev__date-side .ev-ev__day { font-size: 24px; font-weight: 700; }
.ev-ev__date-side .ev-ev__month { font-size: 11px; font-weight: 600; text-transform: uppercase; opacity: 0.9; }
.ev-ev__img--side { width: 120px; flex-shrink: 0; overflow: hidden; }
.ev-ev__img--side img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-ev--card .ev-ev__body { padding: 12px 16px; justify-content: center; }
@media (max-width: 900px) { .ev-ev-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .ev-ev-grid { grid-template-columns: 1fr !important; } .ev-ev--poster .ev-ev__img { height: 180px; } }

/* ===== TRANSPORT ===== */
.transport-section {
 background: var(--purple-50);
 padding: 60px 24px;
}
.transport-inner {
 
 
 display: grid;
 grid-template-columns: 1fr 1.2fr;
 gap: 48px;
 align-items: center;
}
.transport-info h2 {
 font-size: var(--card-section-title-size);
 font-weight: var(--card-section-title-weight);
 color: #26215C;
 letter-spacing: -0.5px;
}
.transport-info p {
 font-size: 15px;
 color: #3C3489;
 margin-top: 12px;
 line-height: 1.7;
}
.route-operator { width: 56px; height: 56px; border-radius: 12px; background: var(--purple-50, #EEEDF8); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; }
.route-operator__logo { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.route-operator__name { font-size: 10px; font-weight: 700; color: var(--purple-500, #534AB7); text-align: center; line-height: 1.2; padding: 4px; word-break: break-word; }
.route-num { font-size: 16px; font-weight: 800; color: var(--purple-500, #534AB7); }
.route-card {
 background: var(--white);
 border-radius: 14px;
 padding: 16px 20px;
 display: flex;
 align-items: center;
 gap: 16px;
 margin-top: 16px;
 border: 1px solid rgba(83,74,183,0.12);
 text-decoration: none;
 color: inherit;
 transition: all 0.2s;
}
.route-card:hover {
 border-color: var(--purple-500);
 transform: translateY(-1px);
 box-shadow: 0 4px 16px rgba(83,74,183,0.1);
}
.route-num {
 width: 44px; height: 44px;
 border-radius: 10px;
 background: var(--purple-500);
 color: var(--white);
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 14px;
 font-weight: 700;
 flex-shrink: 0;
}
.route-details { flex: 1; }
.route-name { font-size: 14px; font-weight: 600; }
.route-sub { font-size: 13px; color: var(--neutral-500); }
.route-time {
 font-size: 13px;
 font-weight: 600;
 color: var(--purple-500);
 background: var(--purple-50);
 padding: 4px 10px;
 border-radius: 6px;
 flex-shrink: 0;
 display: inline-flex;
 align-items: center;
 gap: 4px;
}
.route-time i { font-size: 12px; }
@media (max-width: 900px) { .transport-inner { grid-template-columns: 1fr; } }

/* ===== BUSINESS DIRECTORY ===== */
.directory {
 padding: 48px 24px 56px;
 
 
}
.directory > div:first-child {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: 8px;
}
.directory h2 {
 font-size: 28px;
 font-weight: 700;
 letter-spacing: -0.5px;
}
.directory > p {
 font-size: 15px;
 color: var(--neutral-500);
 margin-bottom: 8px;
}
.dir-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
.dir-section-title { font-size: var(--card-section-title-size); font-weight: var(--card-section-title-weight); letter-spacing: -0.5px; }
.dir-section-sub { font-size: var(--card-section-sub-size); color: var(--neutral-500); margin-top: 4px; }
.dir-grid {
  display: grid; gap: 20px;
}
.dir-card {
  background: var(--white); border: 1px solid var(--neutral-200); border-radius: 16px;
  overflow: hidden; text-decoration: none; color: inherit;
  display: flex; flex-direction: column; transition: all 0.25s; position: relative;
}
.dir-card:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0,0,0,0.08); border-color: var(--gold-500); }
.dir-card__img-wrap { position: relative; height: 160px; background: var(--neutral-50); overflow: hidden; }
.dir-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.dir-card:hover .dir-card__img { transform: scale(1.05); }
.dir-card__img-ph { height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--gold-50, #FAEEDA), var(--neutral-50)); }
.dir-card__initials { font-size: 32px; font-weight: 700; color: var(--gold-500); }
.dir-card__badge { position: absolute; top: 10px; left: 10px; display: inline-flex; align-items: center; gap: 4px; font-size: var(--card-badge-size); font-weight: var(--card-badge-weight); padding: 4px 10px; border-radius: 6px; background: rgba(29,158,117,0.9); color: #fff; }
.dir-card__body { padding: 16px 18px; flex: 1; display: flex; flex-direction: column; }
.dir-card__type { font-size: var(--card-badge-size); font-weight: var(--card-badge-weight); text-transform: uppercase; letter-spacing: 0.5px; color: var(--gold-600, #B08C12); margin-bottom: 4px; }
.dir-card__name { font-size: var(--card-title-size); font-weight: var(--card-title-weight); margin-bottom: 6px; line-height: var(--card-title-lh); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dir-card__excerpt { font-size: var(--card-excerpt-size); color: var(--card-excerpt-color); line-height: 1.4; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dir-card__footer { margin-top: auto; display: flex; gap: 12px; align-items: center; font-size: var(--card-meta-size); color: var(--card-meta-color); flex-wrap: wrap; }
.dir-card__rating { color: var(--gold-500); font-weight: 600; display: inline-flex; align-items: center; gap: 3px; }
.dir-card__rating i { font-size: var(--card-icon-size); }
.dir-card__loc { display: inline-flex; align-items: center; gap: 3px; }
.dir-card__loc i { font-size: var(--card-icon-size); }
/* ── Logo layout ── */
.dir-card--logo { text-align: center; }
.dir-card__logo-wrap { padding: 24px 20px 16px; display: flex; flex-direction: column; align-items: center; position: relative; background: var(--neutral-50); border-bottom: 1px solid var(--neutral-100); min-height: 100px; justify-content: center; }
.dir-card__logo-link { display: block; }
.dir-card__logo { width: 100%; max-width: 200px; height: auto; max-height: 80px; object-fit: contain; display: block; }
.dir-card__logo--initials { width: 72px; height: 72px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; color: var(--gold-500); background: linear-gradient(135deg, var(--gold-50, #FAEEDA), var(--neutral-50)); border: 1px solid var(--neutral-200); }
.dir-card__badge--logo { position: absolute; top: 16px; right: 12px; }
/* Logo layout: picture needs contain, not cover */
.dir-card__logo-link picture,
.dir-card__logo-wrap picture { display: block; width: 100%; max-width: 200px; height: auto; }
.dir-card__logo-link picture img,
.dir-card__logo-wrap picture img { width: 100%; max-width: 200px; height: auto; max-height: 80px; object-fit: contain; display: block; }

.dir-card__body--logo { text-align: center; }
.dir-card__body--logo .dir-card__footer { justify-content: center; }
.dir-card__body--logo .dir-card__type { display: inline-block; }

/* ── Image link ── */
.dir-card__img-link { display: block; width: 100%; height: 100%; }
.dir-card__img-link img { width: 100%; height: 100%; object-fit: cover; }
.dir-card__name a { color: inherit; text-decoration: none; }
.dir-card__name a:hover { color: var(--gold-500); }

/* ── CTA button ── */
.dir-card__cta { display: block; text-align: center; padding: 8px 16px; margin-top: 10px; font-size: var(--card-cta-size); font-weight: var(--card-cta-weight); color: var(--gold-600, #B08C12); background: var(--gold-50, #FAEEDA); border-radius: 8px; text-decoration: none; transition: all 0.2s; }
.dir-card__cta:hover { background: var(--gold-500); color: #fff; }

@media (max-width: 900px) { .dir-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .dir-grid { grid-template-columns: 1fr !important; } }

/* ===== NEWSLETTER ===== */
.newsletter {
 background: var(--neutral-50);
 border-radius: 16px;
 padding: 40px;
 text-align: center;
}
.newsletter__inner { max-width: 560px; margin: 0 auto; }
.newsletter__icon { font-size: 24px; color: var(--blue-700); margin-bottom: 12px; display: block; }
.newsletter__title { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
.newsletter__desc {
 font-size: 15px;
 color: var(--neutral-500);
 margin-bottom: 24px;
 max-width: 460px;
 margin-left: auto;
 margin-right: auto;
}
.newsletter__form {
 max-width: 480px; margin: 0 auto;
 display: flex;
 gap: 8px;
 max-width: 480px;
 
}
.newsletter__input {
 flex: 1;
 padding: 12px 16px;
 border: 1px solid var(--neutral-200);
 border-radius: 10px;
 font-size: 14px;
 font-family: inherit;
 background: var(--white);
 outline: none;
 transition: border-color 0.2s;
}
.newsletter__input:focus { border-color: var(--blue-400); }
.newsletter__btn {
 background: var(--blue-700);
 color: var(--white);
 border: none;
 padding: 12px 24px;
 border-radius: 10px;
 font-size: 14px;
 font-weight: 600;
 cursor: pointer;
 font-family: inherit;
 transition: background 0.2s;
 white-space: nowrap;
}
.newsletter__btn:hover { background: var(--blue-900); }
@media (max-width: 600px) {
 .newsletter { padding: 24px; }
 .newsletter__form {
 max-width: 480px; margin: 0 auto; flex-direction: column; }
}
.newsletter__text { margin-bottom: 24px; }
.newsletter__form-wrap { width: 100%; }
.newsletter__msg { margin-top: 12px; font-size: 14px; text-align: center; }
.newsletter__msg--success { color: var(--green-500); }
.newsletter__msg--error { color: var(--red-500); }
.newsletter__gdpr { font-size: 12px; color: var(--neutral-400); margin-top: 12px; text-align: center; }
.newsletter__gdpr a { color: var(--blue-700); }
.evaslui-spinner { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: ev-spin 0.6s linear infinite; }
@keyframes ev-spin { to { transform: rotate(360deg); } }

/* ===== FAQ ===== */
.section__header.t-center { text-align: center; margin-bottom: 40px; }
.section__label {
 font-size: 13px;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 1.5px;
 color: var(--blue-700);
 margin-bottom: 12px;
}
.section__title { margin-bottom: 0; }
.t-h1 { font-size: 32px; font-weight: 700; letter-spacing: -0.5px; }
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--neutral-200); }
.faq-item:first-child { border-top: 1px solid var(--neutral-200); }
.faq-question {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 20px 0;
 cursor: pointer;
 font-size: 16px;
 font-weight: 600;
 color: var(--neutral-900);
 background: none;
 border: none;
 width: 100%;
 text-align: left;
 font-family: inherit;
 transition: color 0.2s;
}
.faq-question:hover { color: var(--blue-700); }
.faq-question i {
 transition: transform 0.3s;
 flex-shrink: 0;
 margin-left: 16px;
 font-size: 18px;
}
.faq-item.is-open .faq-question i { transform: rotate(45deg); }
.faq-answer {
 max-height: 0;
 overflow: hidden;
 transition: max-height 0.35s ease;
}
.faq-answer__inner,
.faq-answer > div {
 padding: 0 0 20px;
 font-size: 15px;
 color: var(--neutral-500);
 line-height: 1.7;
}
.faq-item.is-open .faq-answer { max-height: 600px; }

/* ===== TITLE WIDGET ===== */
.ev-title--center { text-align: center; }
.ev-title__title { font-size: 28px; font-weight: 700; letter-spacing: -0.5px; }
.ev-title__subtitle { font-size: 15px; color: var(--neutral-500); margin-top: 8px; line-height: 1.6; }

/* ===== BUTTON WIDGET (.ev-btn) ===== */
.ev-btn-wrap { line-height: 1; }
.ev-btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 font-family: inherit;
 font-weight: 600;
 text-decoration: none;
 cursor: pointer;
 border: none;
 outline: none;
 transition: all 0.2s ease;
 line-height: 1;
 white-space: nowrap;
 -webkit-font-smoothing: antialiased;
}
.ev-btn__icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; line-height: 1; }
.ev-btn__icon svg { display: block; }

/* ── Sizes ── */
.ev-btn--xs { padding: 6px 12px; font-size: 12px; }
.ev-btn--sm { padding: 8px 16px; font-size: 13px; }
.ev-btn--md { padding: 12px 24px; font-size: 14px; }
.ev-btn--lg { padding: 14px 28px; font-size: 15px; }
.ev-btn--xl { padding: 16px 36px; font-size: 16px; }

/* ── Shapes ── */
.ev-btn--square { border-radius: 0; }
.ev-btn--rounded { border-radius: 10px; }
.ev-btn--pill { border-radius: 980px; }
.ev-btn--circle { border-radius: 50%; padding: 12px; }

/* ── Full width ── */
.ev-btn--full { display: flex; width: 100%; }

/* ── Icon only ── */
.ev-btn--icon-only { padding: 12px; }
.ev-btn--icon-only.ev-btn--xs { padding: 6px; }
.ev-btn--icon-only.ev-btn--sm { padding: 8px; }
.ev-btn--icon-only.ev-btn--lg { padding: 14px; }
.ev-btn--icon-only.ev-btn--xl { padding: 16px; }

/* ── Preset: Primary (albastru) ── */
.ev-btn--primary { background: var(--blue-700); color: var(--white); }
.ev-btn--primary:hover { background: var(--blue-900); color: var(--white); }

/* ── Preset: Gold ── */
.ev-btn--gold { background: var(--gold-500); color: var(--white); }
.ev-btn--gold:hover { background: var(--gold-400); color: var(--white); }

/* ── Preset: Dark ── */
.ev-btn--dark { background: var(--neutral-900); color: var(--white); }
.ev-btn--dark:hover { background: var(--neutral-700); color: var(--white); }

/* ── Preset: White ── */
.ev-btn--white { background: var(--white); color: var(--neutral-900); }
.ev-btn--white:hover { background: var(--neutral-50); color: var(--neutral-900); }

/* ── Preset: Outline (albastru) ── */
.ev-btn--outline { background: transparent; color: var(--blue-700); border: 1.5px solid var(--blue-700); }
.ev-btn--outline:hover { background: var(--blue-700); color: var(--white); }

/* ── Preset: Outline Dark ── */
.ev-btn--outline-dark { background: transparent; color: var(--neutral-900); border: 1.5px solid var(--neutral-200); }
.ev-btn--outline-dark:hover { background: var(--neutral-900); color: var(--white); border-color: var(--neutral-900); }

/* ── Preset: Outline Light (pentru fundal închis) ── */
.ev-btn--outline-light { background: rgba(255,255,255,0.1); color: var(--white); border: 1.5px solid rgba(255,255,255,0.25); }
.ev-btn--outline-light:hover { background: rgba(255,255,255,0.2); color: var(--white); }

/* ── Preset: Outline Gold ── */
.ev-btn--outline-gold { background: transparent; color: var(--gold-500); border: 1.5px solid var(--gold-500); }
.ev-btn--outline-gold:hover { background: var(--gold-500); color: var(--white); }

/* ── Preset: Ghost (text + arrow) ── */
.ev-btn--ghost { background: transparent; color: var(--blue-700); padding-left: 0; padding-right: 0; }
.ev-btn--ghost:hover { color: var(--blue-900); }
.ev-btn--ghost .ev-btn__icon { transition: transform 0.2s; }
.ev-btn--ghost:hover .ev-btn__icon { transform: translateX(4px); }

/* ── Preset: Ghost Light (pentru fundal închis) ── */
.ev-btn--ghost-light { background: transparent; color: var(--white); padding-left: 0; padding-right: 0; opacity: 0.85; }
.ev-btn--ghost-light:hover { opacity: 1; }
.ev-btn--ghost-light .ev-btn__icon { transition: transform 0.2s; }
.ev-btn--ghost-light:hover .ev-btn__icon { transform: translateX(4px); }

/* ── Preset: Gradient Blue→Purple ── */
.ev-btn--gradient { background: linear-gradient(135deg, var(--blue-700) 0%, var(--purple-500) 100%); color: var(--white); border: none; }
.ev-btn--gradient:hover { filter: brightness(1.1); color: var(--white); }

/* ── Preset: Gradient Gold→Coral ── */
.ev-btn--gradient-gold { background: linear-gradient(135deg, var(--gold-500) 0%, var(--coral-500) 100%); color: var(--white); border: none; }
.ev-btn--gradient-gold:hover { filter: brightness(1.1); color: var(--white); }

/* ── Custom hover effects ── */
.ev-btn--hover-lift:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
.ev-btn--hover-scale:hover { transform: scale(1.03); }
.ev-btn--hover-shadow:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.15); }
.ev-btn--hover-darken:hover { filter: brightness(0.9); }

/* ── Backward compat: old .btn classes from mockup ── */
.btn-primary { background: var(--blue-700); color: var(--white); border: none; padding: 9px 18px; border-radius: 10px; font-size: 14px; font-weight: 500; cursor: pointer; font-family: inherit; transition: background 0.2s; text-decoration: none; display: inline-block; }
.btn-primary:hover { background: var(--blue-900); }
.btn-hero { padding: 14px 28px; border-radius: 12px; font-size: 15px; font-weight: 600; cursor: pointer; font-family: inherit; transition: all 0.2s; border: none; text-decoration: none; display: inline-block; }
.btn-hero-secondary { border-width: 1.5px; border-style: solid; }
.view-all { color: var(--blue-700); font-size: 14px; font-weight: 500; text-decoration: none; }
.view-all:hover { text-decoration: underline; }

/* ===== FOOTER ===== */
.footer-brand .logo { font-size: 22px; margin-bottom: 12px; }
.footer-brand .logo .rest { color: var(--neutral-300); }
.footer-brand p { font-size: 14px; color: var(--neutral-400); line-height: 1.7; max-width: 280px; }
.footer h4 { font-size: 13px; font-weight: 600; color: var(--neutral-200); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; }
.footer ul { list-style: none; }
.footer li { margin-bottom: 10px; }
.footer a { color: var(--neutral-400); text-decoration: none; font-size: 14px; transition: color 0.2s; }
.footer a:hover { color: var(--gold-300); }
.footer-bottom { border-top: 1px solid var(--neutral-700); margin-top: 40px; padding-top: 24px; display: flex; justify-content: space-between; font-size: 13px; color: var(--neutral-500); }
@media (max-width: 900px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }

/* ===== LATEST POSTS (reuses .news-card styles) ===== */
.latest-posts__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .latest-posts__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .latest-posts__grid { grid-template-columns: 1fr; } }

/* ===== MARKETPLACE GRID ===== */
.mp-section { }
.mp-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
.mp-title { font-size: var(--card-section-title-size); font-weight: var(--card-section-title-weight); letter-spacing: -0.5px; }
.mp-subtitle { font-size: var(--card-section-sub-size); color: var(--neutral-500); margin-top: 4px; }
.mp-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.mp-card { background: var(--white); border: 1px solid var(--neutral-200); border-radius: 14px; overflow: hidden; transition: all 0.2s; text-decoration: none; color: inherit; display: flex; flex-direction: column; }
.mp-card:hover { border-color: var(--green-500); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(0,0,0,0.06); }
.mp-card--promoted { border-color: var(--gold-500); box-shadow: 0 2px 12px rgba(212,160,23,0.15); }
.mp-card__img-wrap { position: relative; height: 160px; background: var(--neutral-50); overflow: hidden; }
.mp-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mp-card__img-placeholder { height: 100%; display: flex; align-items: center; justify-content: center; }
.mp-card__type { position: absolute; top: 8px; left: 8px; font-size: var(--card-badge-size); font-weight: var(--card-badge-weight); padding: 3px 8px; border-radius: 5px; background: var(--green-500); color: var(--white); text-transform: uppercase; letter-spacing: 0.3px; }
.mp-card__promo { position: absolute; top: 8px; right: 8px; font-size: 10px; font-weight: 600; padding: 3px 6px; border-radius: 5px; background: var(--gold-500); color: var(--white); }
.mp-card__body { padding: 12px 14px 14px; display: flex; flex-direction: column; flex: 1; }
.mp-card__info { font-size: var(--card-meta-size); color: var(--neutral-500); margin-top: 8px; line-height: 1.4; }
.mp-card__bottom { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 10px; }
.mp-card__price { font-size: 16px; font-weight: 700; color: var(--neutral-900); }
.mp-card__price small { font-weight: 400; font-size: 12px; color: var(--neutral-400); margin-left: 2px; }
.mp-card__fav { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--neutral-400); transition: all 0.2s; text-decoration: none; flex-shrink: 0; }
.mp-card__fav:hover { color: var(--coral-500, #D85A30); background: var(--coral-50, #FBEEE8); }
.mp-card__fav i { font-size: 18px; }
.mp-card__excerpt { font-size: var(--card-excerpt-size); color: var(--card-excerpt-color); margin: 4px 0 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mp-card__img-link { display: block; width: 100%; height: 100%; }
.mp-card__img-link img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mp-card__title a { color: inherit; text-decoration: none; }
.mp-card__title a:hover { color: var(--green-500); }
.mp-card__cta { display: block; text-align: center; padding: 8px 16px; margin-top: 10px; font-size: var(--card-cta-size); font-weight: var(--card-cta-weight); color: var(--green-600, #167A5B); background: var(--green-50, #E8F5F0); border-radius: 8px; text-decoration: none; transition: all 0.2s; }
.mp-card__cta:hover { background: var(--green-500); color: #fff; }


.mp-card__title { font-size: var(--card-title-size); font-weight: var(--card-title-weight); margin-bottom: 8px; line-height: var(--card-title-lh); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mp-card__meta { font-size: 12px; color: var(--neutral-400); display: flex; gap: 0; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-top: 8px; }
.mp-card__meta::-webkit-scrollbar { display: none; }
.mp-card__meta span { display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; }
.mp-card__meta span + span::before { content: '·'; margin: 0 8px; color: var(--neutral-300); }
.mp-card__meta i { font-size: 11px; }
.mp-card__excerpt { font-size: var(--card-excerpt-size); color: var(--card-excerpt-color); margin: 4px 0 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mp-card__img-link { display: block; width: 100%; height: 100%; overflow: hidden; }

.mp-card__title a { color: inherit; text-decoration: none; }
.mp-card__title a:hover { color: var(--green-500); }
.mp-card__cta { display: block; text-align: center; padding: 8px 16px; margin-top: 10px; font-size: var(--card-cta-size); font-weight: var(--card-cta-weight); color: var(--green-600, #167A5B); background: var(--green-50, #E8F5F0); border-radius: 8px; text-decoration: none; transition: all 0.2s; }
.mp-card__cta:hover { background: var(--green-500); color: #fff; }
@media (max-width: 900px) { .mp-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .mp-grid { grid-template-columns: 1fr !important; } }

/* ===== EVENTS: Poster layout (portret/A4) ===== */
.events-row--poster { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; overflow-x: visible; margin-top: 36px; }
.event-card--poster { min-width: unset; border-radius: 16px; overflow: hidden; padding: 0; display: flex; flex-direction: column; }
.event-card--poster .event-card__body { padding: 16px; flex: 1; }
.event-card__poster { position: relative; height: 220px; overflow: hidden; background: linear-gradient(135deg, var(--pink-50) 0%, #FBEAF0 100%); }
.event-card__poster img { width: 100%; height: 100%; object-fit: cover; display: block; }
.event-card__poster-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.35) 0%, transparent 50%); pointer-events: none; }
.event-card__poster--gradient { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--pink-500) 0%, #993556 100%); }
.event-card__poster-date { position: absolute; top: 12px; left: 12px; background: var(--white); border-radius: 10px; padding: 8px 12px; text-align: center; line-height: 1; min-width: 48px; }
.event-card__poster-date--large { position: static; background: rgba(255,255,255,0.2); border-radius: 12px; padding: 16px 20px; }
.event-card__poster-date--large .event-day-num { font-size: 36px; color: var(--white); }
.event-card__poster-date--large .event-day-month { color: rgba(255,255,255,0.8); }
.event-card__sold { position: absolute; bottom: 12px; right: 12px; background: var(--red-500); color: var(--white); font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 6px; text-transform: uppercase; }
.event-card--sold-out { opacity: 0.7; }
.event-card--poster h4 { font-size: 15px; font-weight: 600; margin-bottom: 6px; }
.event-card--poster .event-loc { font-size: 13px; color: var(--neutral-500); }
.event-card--poster .event-loc i { font-size: 12px; margin-right: 2px; }
.event-dow-time { font-size: 12px; color: var(--neutral-400); margin-top: 4px; }
.event-card--poster .event-tag { margin: auto 0 0; }
@media (max-width: 900px) { .events-row--poster { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .events-row--poster { grid-template-columns: 1fr; } .event-card__poster { height: 180px; } }

/* ===== TOURISM SHOWCASE ===== */
.tourism-section { }
.tourism-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 32px; }
.tourism-title { font-size: var(--card-section-title-size); font-weight: var(--card-section-title-weight); letter-spacing: -0.5px; }
.tourism-subtitle { font-size: var(--card-section-sub-size); color: var(--neutral-500); margin-top: 4px; }
.tourism-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tourism-grid--featured { grid-template-columns: 1.6fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; height: 480px; }
.tourism-grid--featured .tourism-card--main { grid-row: span 2; position: relative; overflow: hidden; }
.tourism-grid--featured .tourism-card:not(.tourism-card--main) { display: flex; flex-direction: column; overflow: hidden; }
.tourism-card { border-radius: 16px; overflow: hidden; text-decoration: none; color: inherit; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--neutral-200); transition: all 0.25s; }
.tourism-card:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0,0,0,0.08); border-color: var(--coral-500); }
.tourism-card__img-wrap { position: relative; height: 180px; overflow: hidden; flex-shrink: 0; }
.tourism-grid--featured .tourism-card:not(.tourism-card--main) .tourism-card__img-wrap { height: auto; flex: 1; min-height: 120px; }
.tourism-card--main .tourism-card__img-wrap { position: absolute; inset: 0; height: auto; }
.tourism-card__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s; }
.tourism-card:hover .tourism-card__img { transform: scale(1.05); }
.tourism-card__img-placeholder { height: 100%; display: flex; align-items: center; justify-content: center; background: var(--coral-50); }
.tourism-card__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 40%); pointer-events: none; }
.tourism-card__type { position: absolute; top: 12px; left: 12px; font-size: var(--card-badge-size); font-weight: var(--card-badge-weight); padding: 4px 10px; border-radius: 6px; background: var(--white); color: var(--coral-500); text-transform: uppercase; letter-spacing: 0.5px; }
.tourism-card__body { padding: 16px 20px; flex: 1; display: flex; flex-direction: column; }
.tourism-card__body--main { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px; color: var(--white); max-height: 50%; overflow: hidden; }
.tourism-card__title { font-size: var(--card-title-size); font-weight: var(--card-title-weight); margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tourism-card__title--main { font-size: 22px; color: var(--white); }
.tourism-card__desc { font-size: var(--card-excerpt-size); color: var(--card-excerpt-color); line-height: 1.5; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tourism-card__loc { font-size: var(--card-meta-size); color: var(--neutral-500); margin-top: auto; }
.tourism-card__loc i { font-size: var(--card-icon-size); margin-right: 2px; }
.tourism-card--main .tourism-card__loc { color: rgba(255,255,255,0.75); }
@media (max-width: 900px) { .tourism-grid, .tourism-grid--featured { grid-template-columns: 1fr; height: auto; } .tourism-grid--featured .tourism-card--main { grid-row: auto; min-height: 280px; } .tourism-card--main .tourism-card__img-wrap { min-height: 280px; position: absolute; inset: 0; height: auto; } .tourism-grid--featured .tourism-card:not(.tourism-card--main) .tourism-card__img-wrap { height: 180px; flex: none; } }

/* ===== PROMOTION LEVELS ===== */

/* ── Promo Badge (shared) ── */
.ev-promo__badge {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase;
  padding: 4px 10px; border-radius: 6px; position: absolute; top: 8px; right: 8px; z-index: 3;
}
.ev-acard--dir .ev-promo__badge,
.ev-acard--tr .ev-promo__badge { position: static; margin-top: 8px; display: inline-flex; }
.ev-promo__badge svg { flex-shrink: 0; }

/* ── HIGHLIGHT — subtle gold accent ── */
.ev-promo--highlight { border-color: var(--gold-400, #E4B52E) !important; }
.ev-promo--highlight::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--gold-400), var(--gold-300)); border-radius: 14px 14px 0 0; z-index: 2;
}
.ev-acard--dir.ev-promo--highlight::before,
.ev-acard--tr.ev-promo--highlight::before { border-radius: 14px 14px 0 0; }
.ev-promo__badge--highlight {
  background: var(--gold-50, #FAEEDA); color: var(--gold-800, #7A5A0A);
}

/* ── FEATURED — gold border + soft glow ── */
.ev-promo--featured {
  border-color: var(--gold-500, #D4A017) !important;
  box-shadow: 0 0 0 1px var(--gold-400, #E4B52E), 0 4px 20px rgba(212,160,23,0.15) !important;
}
.ev-promo--featured::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--gold-500), var(--gold-300), var(--gold-500));
  background-size: 200% 100%; animation: ev-promo-shimmer 3s ease infinite;
  border-radius: 14px 14px 0 0; z-index: 2;
}
.ev-promo__badge--featured {
  background: linear-gradient(135deg, var(--gold-500), var(--gold-400)); color: #fff;
  box-shadow: 0 2px 8px rgba(212,160,23,0.3);
}

/* ── PREMIUM — dark gradient border + crown + shine animation ── */
.ev-promo--premium {
  border-color: transparent !important;
  background-clip: padding-box;
  box-shadow: 0 0 0 2px var(--gold-500, #D4A017), 0 8px 32px rgba(212,160,23,0.2) !important;
}
.ev-promo--premium::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--gold-800), var(--gold-500), var(--gold-300), var(--gold-500), var(--gold-800));
  background-size: 300% 100%; animation: ev-promo-shimmer 2.5s ease infinite;
  border-radius: 14px 14px 0 0; z-index: 2;
}
.ev-promo--premium::after {
  content: ''; position: absolute; top: 0; left: -50%; width: 200%; height: 100%;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.04) 45%, rgba(255,255,255,0.12) 50%, rgba(255,255,255,0.04) 55%, transparent 100%);
  animation: ev-promo-shine 4s ease-in-out infinite; pointer-events: none; z-index: 1;
}
.ev-promo__badge--premium {
  background: linear-gradient(135deg, #1A1A19, #2C2C2A); color: var(--gold-300, #F0C84D);
  box-shadow: 0 2px 12px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.1);
}

/* ── Promo card hover enhancements ── */
.ev-promo--highlight:hover { box-shadow: 0 8px 30px rgba(212,160,23,0.12) !important; }
.ev-promo--featured:hover { box-shadow: 0 0 0 1px var(--gold-400), 0 12px 40px rgba(212,160,23,0.2) !important; transform: translateY(-3px); }
.ev-promo--premium:hover { box-shadow: 0 0 0 2px var(--gold-500), 0 16px 48px rgba(212,160,23,0.25) !important; transform: translateY(-4px); }

/* ── Animations ── */
@keyframes ev-promo-shimmer {
  0% { background-position: 200% center; }
  100% { background-position: -200% center; }
}
@keyframes ev-promo-shine {
  0%, 100% { transform: translateX(-100%); }
  50% { transform: translateX(100%); }
}

/* ── Card needs position:relative for ::before/::after ── */
.ev-promo { position: relative; overflow: hidden; }

/* ── Homepage widget cards: same promo styles ── */
.mp-card.ev-promo--highlight,
.dir-card.ev-promo--highlight,
.event-card.ev-promo--highlight,
.tourism-card.ev-promo--highlight,
.route-card.ev-promo--highlight { border-color: var(--gold-400) !important; }

.mp-card.ev-promo--featured,
.dir-card.ev-promo--featured,
.event-card.ev-promo--featured,
.tourism-card.ev-promo--featured { border-color: var(--gold-500) !important; box-shadow: 0 4px 20px rgba(212,160,23,0.15) !important; }

.mp-card.ev-promo--premium,
.dir-card.ev-promo--premium,
.event-card.ev-promo--premium,
.tourism-card.ev-promo--premium { box-shadow: 0 0 0 2px var(--gold-500), 0 8px 32px rgba(212,160,23,0.2) !important; }

/* ===== ARCHIVE ENGINE ===== */
.ev-archive { }

/* ── Header ── */
.ev-archive__header { background: var(--archive-color, var(--blue-700)); padding: 32px 24px; }
.ev-archive__header-inner { max-width: var(--container-max, 1440px); margin: 0 auto; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ev-archive__icon { font-size: 28px; color: rgba(255,255,255,0.8); }
.ev-archive__title { font-size: 28px; font-weight: 700; color: #fff; letter-spacing: -0.5px; flex: 1; }
.ev-archive__search { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.2); border-radius: 10px; padding: 8px 14px; width: 280px; transition: all 0.2s; }
.ev-archive__search:focus-within { background: rgba(255,255,255,0.25); border-color: rgba(255,255,255,0.4); }
.ev-archive__search i { color: rgba(255,255,255,0.6); font-size: 14px; }
.ev-archive__search-input { border: none; background: none; outline: none; color: #fff; font-size: 14px; width: 100%; font-family: inherit; }
.ev-archive__search-input::placeholder { color: rgba(255,255,255,0.5); }

/* ── Chips ── */
.ev-archive__chips { max-width: var(--container-max, 1440px); margin: 0 auto; padding: 12px 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.ev-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: 500; border: 1px solid var(--neutral-200); background: var(--white); cursor: pointer; font-family: inherit; transition: all 0.15s; color: var(--neutral-700); }
.ev-chip:hover { border-color: var(--red-500); color: var(--red-500); }
.ev-chip i { font-size: 10px; }
.ev-chip--search { background: var(--blue-50); border-color: var(--blue-400); color: var(--blue-700); }
.ev-chip--clear { background: none; border: none; color: var(--neutral-400); font-size: 12px; }
.ev-chip--clear:hover { color: var(--red-500); }

/* ── Layout ── */
.ev-archive__layout { max-width: var(--container-max, 1440px); margin: 0 auto; padding: 24px; display: grid; grid-template-columns: 260px 1fr; gap: 24px; }

/* ── Sidebar ── */
.ev-archive__sidebar { background: var(--white); border: 1px solid var(--neutral-200); border-radius: 14px; padding: 20px; height: fit-content; position: sticky; top: 80px; }
.ev-archive__sidebar-close { display: none; }
.ev-filter-group { border-bottom: 1px solid var(--neutral-100); }
.ev-filter-group:last-of-type { border-bottom: none; }
.ev-filter-group__toggle { display: flex; align-items: center; gap: 8px; width: 100%; padding: 14px 0; background: none; border: none; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--neutral-900); font-family: inherit; }
.ev-filter-group__toggle i:first-child { font-size: 15px; color: var(--neutral-400); }
.ev-filter-group__toggle span { flex: 1; text-align: left; }
.ev-filter-group__arrow { font-size: 12px; color: var(--neutral-400); transition: transform 0.2s; }
.ev-filter-group--open .ev-filter-group__arrow { transform: rotate(180deg); }
.ev-filter-group__body { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.ev-filter-group--open .ev-filter-group__body { max-height: 600px; overflow-y: auto; }
.ev-filter-check { display: flex; align-items: center; gap: 8px; padding: 6px 0; cursor: pointer; font-size: 13px; color: var(--neutral-700); }
.ev-filter-check input { display: none; }
.ev-filter-check__box { width: 18px; height: 18px; border: 1.5px solid var(--neutral-300); border-radius: 4px; display: flex; align-items: center; justify-content: center; transition: all 0.15s; flex-shrink: 0; }
.ev-filter-check input:checked + .ev-filter-check__box { background: var(--blue-700); border-color: var(--blue-700); }
.ev-filter-check input:checked + .ev-filter-check__box::after { content: '✓'; color: #fff; font-size: 11px; font-weight: 700; }
.ev-filter-check__label { flex: 1; }
.ev-filter-check__count { font-size: 11px; color: var(--neutral-400); background: var(--neutral-50); padding: 1px 6px; border-radius: 10px; }
.ev-filter-meta { margin-bottom: 12px; }
.ev-filter-meta__label { font-size: 12px; font-weight: 500; color: var(--neutral-500); margin-bottom: 4px; display: block; }
.ev-filter-meta__input { width: 100%; padding: 8px 12px; border: 1px solid var(--neutral-200); border-radius: 8px; font-size: 13px; font-family: inherit; outline: none; }
.ev-filter-meta__input:focus { border-color: var(--blue-400); }
.ev-archive__reset { display: flex; align-items: center; gap: 6px; width: 100%; padding: 12px 0; margin-top: 8px; background: none; border: none; color: var(--neutral-400); font-size: 13px; cursor: pointer; font-family: inherit; transition: color 0.15s; }
.ev-archive__reset:hover { color: var(--red-500); }

/* ── Toolbar ── */
.ev-archive__toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.ev-archive__filter-btn { display: none; align-items: center; gap: 6px; padding: 8px 16px; border: 1px solid var(--neutral-200); border-radius: 8px; background: var(--white); font-size: 13px; font-weight: 500; cursor: pointer; font-family: inherit; }
.ev-archive__results { flex: 1; font-size: 13px; color: var(--neutral-400); }
.ev-archive__sort-select { padding: 8px 12px; border: 1px solid var(--neutral-200); border-radius: 8px; font-size: 13px; font-family: inherit; background: var(--white); outline: none; cursor: pointer; }
.ev-archive__sort-select:focus { border-color: var(--blue-400); }

/* ── Grid ── */
.ev-archive__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; min-height: 200px; }
.ev-archive__loading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 60px 0; color: var(--neutral-400); font-size: 14px; }
.ev-archive__empty { grid-column: 1 / -1; text-align: center; padding: 60px 24px; color: var(--neutral-400); }
.ev-archive__empty i { font-size: 40px; margin-bottom: 12px; display: block; }
.ev-archive__empty p { font-size: 15px; margin-top: 8px; }

/* ── Pagination ── */
.ev-archive__pagination { margin-top: 24px; }
.ev-archive__pages { display: flex; justify-content: center; gap: 6px; }
.ev-archive__page { padding: 8px 14px; border-radius: 8px; border: 1px solid var(--neutral-200); background: var(--white); cursor: pointer; font-size: 13px; font-family: inherit; transition: all 0.15s; }
.ev-archive__page:hover { border-color: var(--blue-400); color: var(--blue-700); }
.ev-archive__page--active { background: var(--blue-700); color: #fff; border-color: var(--blue-700); }

/* ── Archive Cards ── */
.ev-acard { display: block; text-decoration: none; color: inherit; background: var(--white); border: 1px solid var(--neutral-200); border-radius: 14px; overflow: hidden; transition: all 0.2s; }
.ev-acard:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(0,0,0,0.06); border-color: var(--neutral-300); }
.ev-acard--promoted { border-color: var(--gold-500); box-shadow: 0 2px 12px rgba(212,160,23,0.15); }
.ev-acard--past { opacity: 0.65; }
.ev-acard__img { position: relative; height: 160px; overflow: hidden; background: var(--neutral-50); }
.ev-acard__img--landscape { height: 180px; }
.ev-acard__img--poster { height: 200px; }
.ev-acard__img-el { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-acard__img-ph { height: 100%; display: flex; align-items: center; justify-content: center; color: var(--neutral-300); font-size: 32px; }
.ev-acard__img-ph--pink { background: linear-gradient(135deg, var(--pink-50), #FBEAF0); color: var(--pink-500); }
.ev-acard__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 50%); }
.ev-acard__badge { position: absolute; top: 8px; left: 8px; font-size: 11px; font-weight: 600; padding: 3px 8px; border-radius: 5px; text-transform: uppercase; letter-spacing: 0.3px; }
.ev-acard__badge--green { background: var(--green-500); color: #fff; }
.ev-acard__badge--coral { background: var(--white); color: var(--coral-500); }
.ev-acard__promo { position: absolute; top: 8px; right: 8px; font-size: 10px; font-weight: 600; padding: 3px 6px; border-radius: 5px; background: var(--gold-500); color: #fff; }
.ev-acard__date-badge { position: absolute; top: 10px; left: 10px; background: var(--white); border-radius: 8px; padding: 6px 10px; text-align: center; line-height: 1; min-width: 44px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.ev-acard__day { display: block; font-size: 20px; font-weight: 700; color: var(--pink-500); }
.ev-acard__month { display: block; font-size: 10px; font-weight: 600; color: #993556; text-transform: uppercase; }
.ev-acard__sold { position: absolute; bottom: 8px; right: 8px; background: var(--red-500); color: #fff; font-size: 10px; font-weight: 700; padding: 3px 8px; border-radius: 5px; text-transform: uppercase; }
.ev-acard__past-badge { position: absolute; bottom: 8px; left: 8px; background: var(--neutral-700); color: #fff; font-size: 10px; font-weight: 600; padding: 3px 8px; border-radius: 5px; }
.ev-acard__body { padding: 14px 16px; }
.ev-acard__price { font-size: 18px; font-weight: 700; color: var(--green-500); margin-bottom: 4px; }
.ev-acard__price small { font-weight: 400; font-size: 12px; color: var(--neutral-400); }
.ev-acard__title { font-size: 15px; font-weight: 600; margin-bottom: 6px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-acard__sub { font-size: 12px; color: var(--neutral-400); }
.ev-acard__excerpt { font-size: 13px; color: var(--neutral-500); line-height: 1.5; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-acard__meta { font-size: 12px; color: var(--neutral-400); display: flex; gap: 10px; flex-wrap: wrap; }
.ev-acard__meta i { font-size: 11px; }
.ev-acard__rating { font-size: 13px; color: var(--gold-600); margin-bottom: 4px; }
.ev-acard__tag { display: inline-block; font-size: 11px; font-weight: 500; padding: 3px 8px; border-radius: 5px; margin-top: 8px; background: var(--gold-50); color: var(--gold-800); }
.ev-acard__tag--pink { background: var(--pink-50); color: #993556; }

/* ── Directory card layout ── */
.ev-acard--dir { padding: 18px; }
.ev-acard--dir .ev-acard__body { padding: 0; }
.ev-acard__dir-header { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.ev-acard__avatar { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; }
.ev-acard__avatar--init { background: var(--gold-50); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 600; color: var(--gold-800); }

/* ── Transport card layout ── */
.ev-acard--tr { display: flex; align-items: center; gap: 16px; padding: 16px 20px; }
.ev-acard--tr .ev-acard__body { padding: 0; flex: 1; min-width: 0; }
.ev-acard--tr .ev-acard__title { font-size: 15px; font-weight: 600; margin: 0; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Time block (left) */
.ev-tr__time-block { width: 70px; flex-shrink: 0; text-align: center; padding: 8px 14px 8px 0; margin-right: 2px; border-right: 2px solid var(--purple-500); }
.ev-tr__depart { display: block; font-size: 22px; font-weight: 700; color: var(--purple-500); line-height: 1; }
.ev-tr__depart-label { display: block; font-size: 9px; font-weight: 500; color: var(--neutral-400); text-transform: uppercase; letter-spacing: 0.5px; margin-top: 2px; }

/* Route badge (inline with title) */

.ev-acard__via { font-size: 12px; color: var(--neutral-400); margin-bottom: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-acard__type-badge { display: inline-flex; align-items: center; gap: 3px; }
.ev-acard__type-badge--purple { color: var(--purple-500); font-weight: 600; }

/* ── Operator badge ── */
.ev-acard__operator { display: flex; flex-direction: column; align-items: center; gap: 4px; flex-shrink: 0; max-width: 90px; padding-left: 12px; border-left: 1px solid var(--neutral-100); text-align: center; }
.ev-acard__op-logo { width: 28px; height: 28px; border-radius: 6px; object-fit: contain; background: var(--neutral-50); }
.ev-acard__op-init { width: 28px; height: 28px; border-radius: 6px; background: var(--purple-50); color: var(--purple-500); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; flex-shrink: 0; }
.ev-acard__op-name { font-size: 10px; color: var(--neutral-400); max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.2; }

/* ── TRANSPORT ARCHIVE: 2-col grid ── */
[data-post-type="ev_transport"] .ev-archive__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
[data-post-type="ev_transport"] .ev-acard--tr { padding: 14px 18px; gap: 14px; border-radius: 12px; }
[data-post-type="ev_transport"] .ev-acard--tr:hover { border-color: var(--purple-500); }
[data-post-type="ev_transport"] .ev-acard__meta { flex-wrap: nowrap; gap: 12px; }
[data-post-type="ev_transport"] .ev-acard__meta span { white-space: nowrap; }
@media (max-width: 1100px) { [data-post-type="ev_transport"] .ev-archive__grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .ev-acard--tr { flex-wrap: wrap; padding: 14px 16px; gap: 10px; }
  .ev-tr__time-block { width: 60px; padding: 6px 10px 6px 0; }
  .ev-tr__depart { font-size: 18px; }
  .ev-acard--tr .ev-acard__body { flex: 1; min-width: calc(100% - 80px); }
  .ev-acard__operator { width: 100%; padding-left: 0; border-left: none; padding-top: 8px; margin-top: 4px; border-top: 1px solid var(--neutral-100); justify-content: flex-start; }
  .ev-acard__op-name { max-width: none; }
}

/* ── PROMO visibility fix for flex cards (transport, directory) ── */
.ev-acard--tr.ev-promo,
.ev-acard--dir.ev-promo { overflow: visible; }
.ev-acard--tr.ev-promo::before,
.ev-acard--dir.ev-promo::before { border-radius: 12px 12px 0 0; }
.ev-acard--tr .ev-promo__badge,
.ev-acard--dir .ev-promo__badge { position: absolute; top: -10px; right: 12px; }
.ev-acard--tr.ev-promo--highlight,
.ev-acard--dir.ev-promo--highlight { border: 2px solid var(--gold-400) !important; }
.ev-acard--tr.ev-promo--featured,
.ev-acard--dir.ev-promo--featured { border: 2px solid var(--gold-500) !important; box-shadow: 0 4px 20px rgba(212,160,23,0.18) !important; }
.ev-acard--tr.ev-promo--premium,
.ev-acard--dir.ev-promo--premium { border: 2px solid var(--gold-500) !important; box-shadow: 0 0 0 1px var(--gold-400), 0 8px 32px rgba(212,160,23,0.2) !important; }

/* ── Responsive ── */
@media (max-width: 900px) {
    .ev-archive__layout { grid-template-columns: 1fr; }
    .ev-archive__sidebar { display: none; position: fixed; top: 0; left: 0; width: 300px; height: 100vh; z-index: 1000; border-radius: 0; overflow-y: auto; box-shadow: 4px 0 24px rgba(0,0,0,0.15); }
    .ev-archive__sidebar--open { display: block; }
    .ev-archive__sidebar-close { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--neutral-200); background: var(--white); cursor: pointer; position: absolute; top: 12px; right: 12px; font-size: 16px; }
    .ev-archive__filter-btn { display: flex; }
    .ev-archive__grid { grid-template-columns: repeat(2, 1fr); }
    .ev-archive__search { width: 100%; }
    body.ev-sidebar-open { overflow: hidden; }
    body.ev-sidebar-open::after { content: ''; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 999; }
}
@media (max-width: 600px) {
    .ev-archive__grid { grid-template-columns: 1fr; }
    .ev-archive__header-inner { flex-direction: column; align-items: flex-start; }
}

/* ===== COMMENT SYSTEM ===== */
.comments-section { padding: 40px 0; }

/* ── Header with count badge ── */
.ev-comments__header {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid var(--blue-700, #1A5FA4);
}
.ev-comments__title {
  font-size: 24px; font-weight: 700; letter-spacing: -0.3px;
  display: flex; align-items: center; gap: 10px; margin-bottom: 0;
}
.ev-comments__count-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 32px; height: 32px; padding: 0 10px; border-radius: 16px;
  background: var(--blue-700, #1A5FA4); color: #fff; font-size: 14px; font-weight: 700;
}
.ev-comments__count { font-size: 16px; font-weight: 400; color: var(--neutral-400); }
.ev-comments__prompt { font-size: 14px; color: var(--neutral-500); }

/* ── CTA Banner ── */
.ev-comments__cta {
  display: flex; align-items: center; gap: 16px; padding: 20px 24px;
  background: linear-gradient(135deg, var(--blue-50, #E6F1FB), var(--gold-50, #FAEEDA));
  border-radius: 14px; margin-bottom: 20px;
}
.ev-comments__cta-icon { font-size: 32px; flex-shrink: 0; }
.ev-comments__cta-text h3 { font-size: 17px; font-weight: 600; margin: 0 0 4px; }
.ev-comments__cta-text p { font-size: 14px; color: var(--neutral-500); margin: 0; }

/* ── Form ── */
.ev-comment-form {
  background: var(--white, #fff); border: 2px solid var(--blue-100, #B5D4F4);
  border-radius: 16px; padding: 28px; margin-bottom: 32px;
  box-shadow: 0 4px 20px rgba(26,95,164,0.06);
}
.ev-comment-form__heading { font-size: 17px; font-weight: 600; margin-bottom: 16px; }
.ev-comment-form__heading strong { color: var(--blue-700, #1A5FA4); }
.ev-comment-form__textarea-wrap { margin-bottom: 12px; }
.ev-comment-form__textarea {
  width: 100%; border: 1px solid var(--neutral-200); border-radius: 12px;
  padding: 14px 16px; font-size: 15px; font-family: inherit; line-height: 1.6;
  background: var(--neutral-50, #F8F7F3); resize: vertical; min-height: 110px;
  outline: none; transition: all 0.2s;
}
.ev-comment-form__textarea:focus { border-color: var(--blue-400); background: #fff; box-shadow: 0 0 0 3px rgba(26,95,164,0.1); }
.ev-comment-form__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.ev-comment-form__input {
  width: 100%; border: 1px solid var(--neutral-200); border-radius: 10px;
  padding: 10px 14px; font-size: 14px; font-family: inherit;
  background: var(--neutral-50); outline: none; transition: all 0.2s;
}
.ev-comment-form__input:focus { border-color: var(--blue-400); background: #fff; }
.ev-comment-form__footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.ev-comment-form__note { font-size: 12px; color: var(--neutral-400); margin: 0; }
.ev-comment-form__actions { display: flex; gap: 8px; align-items: center; }
.ev-comment-form__cancel { background: none; border: 1px solid var(--neutral-200); border-radius: 10px; color: var(--neutral-500); font-size: 13px; font-weight: 500; cursor: pointer; padding: 10px 18px; font-family: inherit; transition: all 0.2s; }
.ev-comment-form__cancel:hover { border-color: var(--red-500); color: var(--red-500); }
.ev-comment-form__submit { background: var(--blue-700, #1A5FA4); color: #fff; border: none; padding: 12px 28px; border-radius: 10px; font-size: 15px; font-weight: 600; cursor: pointer; font-family: inherit; transition: all 0.2s; }
.ev-comment-form__submit:hover { background: var(--blue-900, #0B3D6B); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(26,95,164,0.2); }
.ev-comment-form__submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; }
.ev-comment-form__submit-loading { display: inline-flex; align-items: center; gap: 6px; }
.ev-spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: ev-spin 0.6s linear infinite; }
@keyframes ev-spin { to { transform: rotate(360deg); } }
.ev-comment-form__feedback { margin-top: 12px; padding: 10px 16px; border-radius: 10px; font-size: 13px; font-weight: 500; text-align: center; }
.ev-comment-form__feedback--success { background: #E1F5EE; color: #0F6E56; }
.ev-comment-form__feedback--error { background: #FFF0F0; color: #E24B4A; }
.ev-comment-form__feedback--pending { background: #FFF8E6; color: #7A5A0A; }
@media (max-width: 600px) { .ev-comment--reply { margin-left: 24px; } .ev-comment--reply .ev-comment--reply { margin-left: 16px; } .ev-comment-form { padding: 20px 16px; } .ev-comment-form__fields { grid-template-columns: 1fr; } .ev-comment-form__footer { flex-direction: column; align-items: flex-start; } .ev-comments__cta { flex-direction: column; text-align: center; padding: 16px; } .ev-comments__header { flex-direction: column; align-items: flex-start; } }

/* ── Comment list ── */
.ev-comments__list { display: flex; flex-direction: column; gap: 16px; padding: 12px 0; }
.ev-comment { border: 1px solid var(--neutral-100); border-radius: 12px; background: var(--white, #fff); transition: border-color 0.2s; padding: 24px; }

.ev-comment__inner { display: flex; gap: 14px; }
.ev-comment--reply { margin-left: 40px; margin-top: 12px; border-left: 3px solid var(--blue-200, #85B7EB); }
.ev-comment--reply .ev-comment__inner { }
.ev-comment__avatar { flex-shrink: 0; }
.ev-comment__avatar-img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.ev-comment--reply .ev-comment__avatar-img { width: 36px; height: 36px; }
.ev-comment--reply .ev-comment--reply { margin-left: 28px; margin-top: 10px; border-left-color: var(--blue-100, #D0E4F7); }
.ev-comment--reply .ev-comment--reply .ev-comment__avatar-img { width: 32px; height: 32px; }
.ev-comment__content { flex: 1; min-width: 0; }
.ev-comment__header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.ev-comment__name { font-size: 15px; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.ev-comment__badge { font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: var(--blue-50); color: var(--blue-700); text-transform: uppercase; letter-spacing: 0.5px; }
.ev-comment--author { background: var(--blue-50, #E6F1FB); border-color: var(--blue-200, #85B7EB); }
.ev-comment--author .ev-comment__inner { }
.ev-comment__date { font-size: 12px; color: var(--neutral-400); }
.ev-comment__body { font-size: 15px; line-height: 1.7; color: var(--neutral-700); }
.ev-comment__body p { margin: 0 0 8px; }
.ev-comment__body p:last-child { margin-bottom: 0; }
.ev-comment__pending { font-size: 13px; color: var(--gold-600); font-style: italic; margin: 4px 0; }
.ev-comment__actions { margin-top: 10px; display: flex; gap: 16px; }
.ev-comment__actions a, .ev-comment__actions .comment-reply-link { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 600; color: var(--blue-700, #1A5FA4); text-decoration: none; cursor: pointer; padding: 4px 0; transition: color 0.2s; background: none; border: none; font-family: inherit; }
.ev-comment__actions a:hover, .ev-comment__actions .comment-reply-link:hover { color: var(--blue-900, #0B3D6B); }
.ev-comment__actions svg { flex-shrink: 0; }

/* ── Empty state ── */
.ev-comments__empty { text-align: center; padding: 48px 24px; color: var(--neutral-400); }
.ev-comments__empty p { margin-top: 12px; font-size: 16px; font-weight: 500; }

/* ── New comment animation ── */
.ev-comment--new { animation: ev-comment-in 0.4s ease-out; }
@keyframes ev-comment-in { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

/* ── Replying state (form moved under comment) ── */
.ev-comment-form--replying { margin-top: 12px; margin-bottom: 12px; border-color: var(--blue-400, #378ADD); }

/* ── Pagination ── */
.ev-comments__pagination { margin-top: 24px; display: flex; justify-content: center; gap: 8px; }
.ev-comments__pagination a,
.ev-comments__pagination span {
  padding: 8px 14px; border-radius: 8px; font-size: 13px; font-weight: 500;
  text-decoration: none; color: var(--neutral-500, #5F5E5A);
  border: 1px solid var(--neutral-200, #D3D1C7); transition: all 0.2s;
}
.ev-comments__pagination a:hover { background: var(--blue-50, #E6F1FB); border-color: var(--blue-400, #378ADD); color: var(--blue-700, #1A5FA4); }
.ev-comments__pagination span.current { background: var(--blue-700, #1A5FA4); color: #fff; border-color: var(--blue-700, #1A5FA4); }

/* ===== REVEAL ANIMATION ===== */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ═══════════════════════════════════════════
   MOBILE OPTIMIZATION — ALL WIDGETS
   ═══════════════════════════════════════════ */
@media (max-width: 860px) {
  /* ── Hero tighter ── */
  .hero { padding: 48px 20px 40px; }
  .hero h1 { font-size: 32px; }
  .hero p { font-size: 16px; margin-top: 14px; }
  .hero-stats { gap: 24px; margin-top: 28px; padding-top: 24px; }

  /* ── Section paddings halved ── */
  .news-section,
  .ev-blog-section { padding: 28px 16px 32px; }
  .events-strip { padding: 28px 16px 32px; }
  .events-strip > div:first-child { padding: 28px 16px 32px; }
  .directory { padding: 28px 16px 32px; }
  .tourism-section { padding: 0; }
  .mp-section { padding: 0; }

  /* ── Section headers ── */
  .section__header { margin-bottom: 16px; }
  .section__header h2,
  .news-header h2,
  .tourism-title { font-size: 22px; }
  .section__header.t-center { margin-bottom: 20px; }

  /* ── Counters ── */
  .counter-grid { gap: 12px; }
  .counter-item { padding: 16px 12px; }
  .counter-num { font-size: 28px; }

  /* ── Modules ── */
  .modules-grid { gap: 10px; }
  .module-card { padding: 16px; }

  /* ── Archive: full-width on tablet ── */
  .ev-archive__layout { grid-template-columns: 1fr; padding: 16px; gap: 0; }
  .ev-archive__sidebar { display: none; position: fixed; top: 0; left: 0; width: 280px; height: 100vh; z-index: 1000; border-radius: 0; overflow-y: auto; box-shadow: 4px 0 24px rgba(0,0,0,0.15); }
  .ev-archive__filter-btn { display: flex; }
  .ev-archive__header { padding: 16px; }
  .ev-archive__header h1 { font-size: 24px; }
  .ev-archive__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }

  /* ── Comments ── */
  .comments-section { padding: 24px 0; }
  .ev-comments__title { font-size: 18px; margin-bottom: 16px; }
  .ev-comment { padding: 12px; }
  .ev-comment__meta { font-size: 12px; }
}

@media (max-width: 600px) {
  /* ── Hero even tighter ── */
  .hero { padding: 32px 12px 28px; }
  .hero::before { display: none; }
  .hero-actions .btn-hero { width: 100%; text-align: center; padding: 12px 20px; }

  /* ── All section paddings ── */
  .news-section,
  .ev-blog-section { padding: 20px 12px 24px; }
  .events-strip { padding: 20px 12px; }
  .events-strip > div:first-child { padding: 20px 12px; }
  .directory { padding: 20px 12px; }

  /* ── Cards: tighter ── */
  .ev-acard { border-radius: 10px; }
  .ev-acard__img { height: 140px; }
  .ev-acard__body { padding: 10px 12px 12px; }
  .ev-acard__title { font-size: 14px; }
  .ev-acard__meta { font-size: 11px; gap: 4px; }

  /* ── Blog cards ── */
  .ev-blog__card { border-radius: 10px; }
  .ev-blog__grid--featured-grid { grid-template-columns: 1fr; }
  .ev-blog__grid--hero-overlay { grid-template-columns: 1fr; }
  .ev-blog__grid--magazine { grid-template-columns: 1fr; }

  /* ── Marketplace cards ── */
  .mp-grid { gap: 10px; }
  .mp-card { border-radius: 10px; }
  .mp-card__img { height: 130px; }
  .mp-card__body { padding: 10px 12px; }
  .mp-card__title { font-size: 14px; }

  /* ── Events cards ── */
  .ev-ev__img { height: 140px; }
  .ev-ev__body { padding: 10px 12px; }
  .event-card__poster { height: 160px; }

  /* ── Tourism cards ── */
  .tourism-grid { gap: 12px; }
  .tourism-card { border-radius: 10px; }
  .tourism-card__body { padding: 12px; }
  .tourism-card__title { font-size: 15px; }

  /* ── Directory cards ── */
  .dir-card { border-radius: 10px; }
  .dir-card__name { font-size: 14px; }

  /* ── Transport archive: 1 col ── */
  [data-post-type="ev_transport"] .ev-archive__grid { grid-template-columns: 1fr; }
  .ev-acard--tr { padding: 12px; gap: 10px; }
  .ev-tr__time-block { width: 56px; }
  .ev-tr__depart { font-size: 16px; }
  .ev-tr__depart-label { font-size: 8px; }

  /* ── Newsletter ── */
  .newsletter { padding: 28px 16px; border-radius: 12px; }
  .newsletter h2 { font-size: 20px; }
  .newsletter-form { flex-direction: column; gap: 8px; }
  .newsletter-form input { width: 100%; }
  .newsletter-form button { width: 100%; }

  /* ── FAQ ── */
  .faq-item__header { padding: 12px 14px; font-size: 14px; }
  .faq-item__body { padding: 0 14px 12px; font-size: 14px; }

  /* ── Footer ── */
  .footer-grid { gap: 20px; }
  .footer-bottom { margin-top: 24px; padding-top: 16px; }

  /* ── Archive header ── */
  .ev-archive__header { padding: 12px; border-radius: 10px; }
  .ev-archive__header h1 { font-size: 20px; }
  .ev-archive__search { width: 100%; }
  .ev-archive__grid { grid-template-columns: 1fr; gap: 8px; }
  .ev-archive__chips { gap: 6px; }
  .ev-chip { font-size: 11px; padding: 4px 8px; }

  /* ── Comments ── */
  .ev-comment-form textarea { font-size: 14px; padding: 10px; }
  .ev-comment-form button { padding: 10px 20px; font-size: 13px; }

  /* ── Latest posts ── */
  .latest-posts__grid { gap: 10px; }
}
.section { padding: 72px 0; }
.section .wrap { padding: 0 24px; }
.section--muted { background: var(--neutral-50); }
