/* ═══════════════════════════════════════════════
   DIVI MEGA MENU PRO — Frontend CSS
═══════════════════════════════════════════════ */
:root {
    --dmm-z: 9999;
    --dmm-radius: 14px;
    --dmm-shadow: 0 8px 40px rgba(0,0,0,0.14);
    --dmm-t: 0.28s cubic-bezier(0.4,0,0.2,1);
    --dmm-accent: #4f46e5;
}

/* Overlay */
#dmm-overlay { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:calc(var(--dmm-z) - 1); opacity:0; pointer-events:none; transition:opacity var(--dmm-t); backdrop-filter:blur(3px); }
#dmm-overlay.dmm-on { opacity:1; pointer-events:all; }

/* Base panel */
.dmm-panel { position:absolute; top:calc(100% + 8px); left:0; z-index:var(--dmm-z); background:#fff; border-radius:var(--dmm-radius); box-shadow:var(--dmm-shadow); opacity:0; pointer-events:none; transform:translateY(-10px); transition:opacity var(--dmm-t), transform var(--dmm-t); overflow:hidden; min-width:220px; }
.dmm-panel.dmm-on { opacity:1; pointer-events:all; transform:translateY(0); }

/* DROPDOWN */
.dmm-style-dropdown { padding:8px 0; min-width:200px; }
.dmm-dropdown-list { list-style:none; margin:0; padding:0; }
.dmm-dropdown-list li a { display:block; padding:9px 20px; font-size:14px; color:#222; text-decoration:none; transition:background .15s, padding-left .15s; }
.dmm-dropdown-list li a:hover { background:#f0f0ff; color:var(--dmm-accent); padding-left:26px; }

/* MEGA */
.dmm-style-mega { padding:28px; width:900px; max-width:96vw; }
.dmm-mega-inner { display:grid; gap:16px; grid-template-columns:repeat(var(--dmm-cols,4),1fr); }
.dmm-featured { border-radius:12px; padding:24px; display:flex; flex-direction:column; justify-content:flex-end; min-height:180px; position:relative; overflow:hidden; color:#fff; text-decoration:none; }
.dmm-featured-bg-icon { position:absolute; top:12px; left:14px; font-size:56px; opacity:.18; }
.dmm-featured img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.35; }
.dmm-featured-body { position:relative; z-index:1; }
.dmm-featured h3 { font-size:17px; font-weight:700; margin:0 0 6px; }
.dmm-featured p  { font-size:13px; opacity:.85; margin:0 0 10px; }
.dmm-featured-link { font-size:13px; font-weight:600; color:rgba(255,255,255,.9); text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); }
.dmm-mega-col {}
.dmm-col-header { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#999; margin-bottom:10px; border-bottom:1px solid #eee; padding-bottom:6px; }
.dmm-mega-item { display:flex; align-items:flex-start; gap:10px; padding:9px 10px; border-radius:8px; text-decoration:none; color:#222; transition:background .15s; margin-bottom:2px; }
.dmm-mega-item:hover { background:#f5f3ff; }
.dmm-item-icon { font-size:18px; flex-shrink:0; width:28px; text-align:center; }
.dmm-item-body { display:flex; flex-direction:column; }
.dmm-item-label { font-size:13.5px; font-weight:500; }
.dmm-item-desc  { font-size:12px; color:#888; margin-top:1px; }
.dmm-preview-card { background:#f8f8f8; border-radius:12px; padding:18px; }
.dmm-preview-card img { width:100%; border-radius:8px; object-fit:cover; margin-bottom:12px; }
.dmm-preview-card h4 { font-size:15px; font-weight:700; margin:0 0 6px; }
.dmm-preview-card p  { font-size:13px; color:#666; margin:0; }

/* ACCORDION */
.dmm-style-accordion { width:760px; max-width:96vw; padding:0; }
.dmm-acc-wrap { display:grid; grid-template-columns:1fr 1fr; min-height:380px; }
.dmm-acc-list { padding:20px; }
.dmm-acc-item { display:flex; align-items:center; gap:14px; padding:13px 12px; border-radius:10px; cursor:pointer; transition:background .2s; margin-bottom:4px; text-decoration:none; color:#222; }
.dmm-acc-item:hover,.dmm-acc-item.dmm-acc-active { background:#111; color:#fff; }
.dmm-acc-icon { width:46px; height:46px; background:#1e1e1e; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; transition:background .2s; }
.dmm-acc-item.dmm-acc-active .dmm-acc-icon { background:#f97316; }
.dmm-acc-text strong { display:block; font-size:14px; font-weight:600; }
.dmm-acc-text span   { font-size:12px; opacity:.6; }
.dmm-acc-preview { background:#0f0f0f; padding:24px; display:flex; align-items:flex-end; border-radius:0 var(--dmm-radius) var(--dmm-radius) 0; }
.dmm-acc-pane { display:none; color:#fff; width:100%; }
.dmm-acc-pane-active { display:block; animation:dmmFadeIn .25s; }
.dmm-acc-pane-img { width:100%; aspect-ratio:16/10; background-size:cover; background-position:center; border-radius:10px; margin-bottom:14px; }
.dmm-acc-pane-placeholder { background:#1e1e1e; display:flex; align-items:center; justify-content:center; font-size:48px; }
.dmm-acc-pane h3 { font-size:17px; font-weight:700; margin:0 0 8px; }
.dmm-acc-pane p  { font-size:13px; color:#aaa; margin:0 0 12px; line-height:1.6; }
.dmm-acc-link { font-size:13px; font-weight:600; color:#f97316; text-decoration:none; }

/* FULLSCREEN */
.dmm-style-fullscreen { position:fixed !important; inset:0; width:100vw !important; height:100vh !important; border-radius:0; z-index:calc(var(--dmm-z)+1); display:grid; grid-template-columns:1fr 420px; }
.dmm-fs-media { background-size:cover; background-position:center; }
.dmm-fs-content { background:#fff; padding:56px 48px; overflow-y:auto; display:flex; flex-direction:column; justify-content:center; }
.dmm-fs-logo { font-size:13px; color:#888; margin-bottom:40px; }
.dmm-fs-logo strong { display:block; font-size:20px; color:#111; }
.dmm-fs-group-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#bbb; margin:28px 0 10px; }
.dmm-fs-link { display:block; font-size:28px; color:#111; text-decoration:none; line-height:1.35; padding:3px 0; transition:color .15s, letter-spacing .15s; font-family:Georgia,serif; }
.dmm-fs-link:hover { color:var(--dmm-accent); letter-spacing:.02em; }
.dmm-fs-close { position:absolute; top:20px; right:20px; background:rgba(0,0,0,.5); border:none; color:#fff; width:38px; height:38px; border-radius:50%; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; }

/* CARDS */
.dmm-style-cards { width:820px; max-width:96vw; padding:24px; }
.dmm-cards-wrap { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; }
.dmm-cards-left { display:flex; flex-direction:column; gap:12px; }
.dmm-booking-card { display:block; background:#111; border-radius:12px; overflow:hidden; position:relative; min-height:150px; padding:20px; text-decoration:none; color:#fff; transition:transform .2s, box-shadow .2s; background-size:cover; background-position:center; }
.dmm-booking-card:hover { transform:translateY(-2px); box-shadow:0 12px 40px rgba(0,0,0,.25); }
.dmm-booking-card::before { content:''; position:absolute; inset:0; background:rgba(0,0,0,.45); }
.dmm-bc-inner { position:relative; z-index:1; }
.dmm-bc-icon { font-size:22px; display:block; margin-bottom:6px; }
.dmm-booking-card h4 { font-size:15px; font-weight:700; margin:0 0 3px; }
.dmm-booking-card p  { font-size:12px; opacity:.8; margin:0; }
.dmm-bc-arrow { position:absolute; bottom:14px; right:14px; width:34px; height:34px; background:rgba(255,255,255,.2); backdrop-filter:blur(4px); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; z-index:1; }
.dmm-cards-right { padding:4px 0; }
.dmm-cards-group-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#bbb; margin:18px 0 8px; }
.dmm-cards-group-label:first-child { margin-top:0; }
.dmm-cards-link { display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:8px; text-decoration:none; color:#222; font-size:13.5px; transition:background .15s; }
.dmm-cards-link:hover { background:#f5f5f5; }
.dmm-cl-icon { width:30px; height:30px; background:#f0f0f0; border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }
.dmm-explore-more { display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; color:#111; text-decoration:none; margin-top:14px; padding-top:12px; border-top:1px solid #eee; }
.dmm-explore-more span { width:24px; height:24px; background:#111; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; }

/* Trigger arrow */
.dmm-trigger + a::after, li.dmm-has-mega > a::after { content:'▾'; font-size:11px; margin-left:4px; display:inline-block; transition:transform .2s; vertical-align:middle; }
li.dmm-has-mega.dmm-on > a::after { transform:rotate(180deg); }

/* Mobile drawer */
#dmm-drawer { position:fixed; top:0; left:0; width:300px; max-width:88vw; height:100vh; background:#fff; z-index:calc(var(--dmm-z)+2); transform:translateX(-100%); transition:transform var(--dmm-t); box-shadow:4px 0 30px rgba(0,0,0,.15); overflow-y:auto; display:flex; flex-direction:column; }
#dmm-drawer.dmm-on { transform:translateX(0); }
#dmm-drawer-close { align-self:flex-end; background:none; border:none; font-size:22px; padding:16px; cursor:pointer; color:#888; }
#dmm-drawer-inner { padding:0 16px 40px; }

.dmm-mob-item { border-bottom:1px solid #f0f0f0; }
.dmm-mob-trigger { display:flex; justify-content:space-between; align-items:center; width:100%; padding:14px 4px; background:none; border:none; font-size:15px; font-weight:600; cursor:pointer; color:#111; text-align:left; }
.dmm-mob-chevron { font-size:12px; color:#aaa; transition:transform .2s; }
.dmm-mob-trigger.dmm-on .dmm-mob-chevron { transform:rotate(180deg); }
.dmm-mob-sub { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.dmm-mob-sub.dmm-on { max-height:600px; }
.dmm-mob-sub a { display:flex; align-items:center; gap:8px; padding:9px 10px; font-size:13.5px; color:#444; text-decoration:none; border-radius:6px; margin-bottom:2px; transition:background .15s; }
.dmm-mob-sub a:hover { background:#f5f5f5; color:var(--dmm-accent); }

#dmm-hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; }
#dmm-hamburger span { display:block; width:22px; height:2px; background:#222; border-radius:2px; transition:all .25s; }
#dmm-hamburger.dmm-on span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
#dmm-hamburger.dmm-on span:nth-child(2) { opacity:0; }
#dmm-hamburger.dmm-on span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

.dmm-panel-store { display:none !important; }

@keyframes dmmFadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }

@media (max-width:980px) {
    .dmm-panel:not(.dmm-style-fullscreen) { display:none !important; }
    #dmm-hamburger { display:flex !important; }
}
