/* ══════════════════════════════════════════
   Desktop Menu V2 — OcaziiTuristice.ro
   Mega-menu cu dropdown pe hover
   Culori: #054DA6 (albastru), #279500 (verde)
   ══════════════════════════════════════════ */

/* ── Nav bar ── */
.dm-nav {
    border-top: 1px solid #E2E8EF;
    border-bottom: 1px solid #E2E8EF;
    background: #fff;
    position: relative;
    z-index: 900;
}

.dm-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

/* ── Item ── */
.dm-item {
    position: static;
}

/* ── Link ── */
.dm-link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 14px 18px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: #054DA6;
    text-decoration: none;
    letter-spacing: 0.3px;
    white-space: nowrap;
    transition: color 0.2s, background 0.2s;
}

.dm-link:hover {
    color: #043d8a;
    background: #f5f7fa;
    text-decoration: none;
}

.dm-link--accent {
    color: #279500;
}

.dm-link--accent:hover {
    color: #1e7a00;
    background: #f0fae8;
}

/* ── Chevron ── */
.dm-chevron {
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.dm-has-dropdown:hover .dm-chevron {
    transform: rotate(180deg);
}

/* ── Dropdown ── */
.dm-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    border-top: 2px solid #054DA6;
    border-bottom: 1px solid #E2E8EF;
    box-shadow: 0 8px 24px rgba(5, 77, 166, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    z-index: 999;
}

.dm-has-dropdown:hover > .dm-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dm-dropdown-inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 20px 15px;
}

/* ── Title in dropdown ── */
.dm-dropdown-title {
    font-size: 14px;
    font-weight: 700;
    color: #054DA6;
    margin-bottom: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e8ecf1;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* ── View All link ── */
.dm-view-all {
    display: inline-block;
    margin-bottom: 14px;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: #054DA6;
    border-radius: 4px;
    text-decoration: none;
    transition: background 0.15s ease;
}

.dm-view-all:hover {
    background: #043d8a;
    color: #fff;
    text-decoration: none;
}

/* ── Grid simplu (localități / țări) ── */
.dm-grid {
    display: grid;
    gap: 2px 16px;
}

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

.dm-grid--4 {
    grid-template-columns: repeat(4, 1fr);
}

.dm-grid-link {
    display: block;
    padding: 7px 10px;
    font-size: 14px;
    color: #1a2b49;
    text-decoration: none;
    border-radius: 4px;
    line-height: 1.4;
    transition: background 0.15s ease, color 0.15s ease;
}

.dm-grid-link:hover {
    background: #f0f4fb;
    color: #054DA6;
    text-decoration: none;
}

/* ── Master-Detail layout (circuite, destinații) ── */
.dm-master-detail {
    display: flex;
    gap: 0;
    padding: 0;
}

.dm-master {
    width: 220px;
    min-width: 220px;
    border-right: 1px solid #e8ecf1;
    padding: 0 0 0 0;
}

.dm-master .dm-dropdown-title {
    padding-left: 12px;
    padding-right: 12px;
}

.dm-master-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px;
    font-size: 14px;
    color: #1a2b49;
    text-decoration: none;
    border-radius: 4px 0 0 4px;
    transition: background 0.15s ease, color 0.15s ease;
}

.dm-master-link:hover,
.dm-master-link--active {
    background: #f0f4fb;
    color: #054DA6;
    text-decoration: none;
}

.dm-master-link--active {
    font-weight: 600;
    border-right: 2px solid #054DA6;
}

.dm-master-link svg {
    color: #8d96a8;
    flex-shrink: 0;
}

.dm-master-link:hover svg,
.dm-master-link--active svg {
    color: #054DA6;
}

/* ── Detail panel ── */
.dm-detail {
    flex: 1;
    padding: 0 0 0 20px;
    min-height: 200px;
}

.dm-detail-panel {
    display: none;
}

.dm-detail-panel--active {
    display: block;
}

/* ── Responsive: ascunde pe mobil ── */
@media (max-width: 991px) {
    .dm-nav {
        display: none;
    }
}
