/* Extracted from page_panels/world.php block 1 */
:root{
            --wv-card: rgba(8,10,14,0.62);
            --wv-border: rgba(255,255,255,0.10);
            --wv-text: rgba(255,255,255,0.92);
            --wv-muted: rgba(255,255,255,0.70);
            --wv-shadow: 0 24px 80px rgba(0,0,0,0.62);
        }

        .wv-world{ position:relative; background:#000; color:var(--wv-text); padding: 2.75rem 1.1rem 3.5rem; overflow:hidden; }
        .wv-bg{ position:absolute; inset:0; z-index:0; pointer-events:none; }
        .wv-video-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:translateZ(0); }
        .wv-overlay{
            position:absolute; inset:0;
            background:
                radial-gradient(1100px 760px at 18% 10%, rgba(0,0,0,0.18), rgba(0,0,0,0.82) 60%, rgba(0,0,0,0.92) 100%),
                linear-gradient(to bottom, rgba(0,0,0,0.28), rgba(0,0,0,0.84));
        }
        .wv-noise{
            position:absolute; inset:0; opacity:0.10;
            background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
            background-size:220px 220px;
        }
        .wv-inner{ position:relative; z-index:2; max-width: 1200px; margin: 0 auto; }

        .wv-panel{
            border-radius: 18px;
            background: var(--wv-card);
            border: 1px solid var(--wv-border);
            backdrop-filter: blur(12px);
            box-shadow: var(--wv-shadow);
            position: relative;
            overflow: hidden;
        }
        .wv-panel::before{
            content:"";
            position:absolute; inset:-2px;
            background: radial-gradient(700px 350px at var(--mx, 30%) var(--my, 20%), rgba(255,255,255,0.12), rgba(255,255,255,0) 55%);
            opacity:0.75;
            pointer-events:none;
        }
        .wv-panel::after{
            content:"";
            position:absolute; inset:0;
            background: linear-gradient(120deg, rgba(255,255,255,0.08), rgba(255,255,255,0) 28%, rgba(255,255,255,0.05) 62%, rgba(255,255,255,0));
            opacity:0.18;
            pointer-events:none;
        }

        .wv-topbar{ padding: 1.05rem 1.05rem 1.1rem; margin-bottom: 1rem; }
        .wv-topbar-left{ position:relative; z-index:2; }
        .wv-topbar-right{ position:relative; z-index:2; display:flex; gap:0.55rem; flex-wrap:wrap; align-items:center; justify-content:flex-end; }

        .wv-kicker{ font-weight:900; font-size:0.72rem; letter-spacing:0.03em; text-transform:uppercase; color: rgba(255,255,255,0.62); margin-bottom:0.35rem; }
        .wv-title{ margin:0; font-weight:900; letter-spacing:-0.02em; font-size: clamp(1.55rem, 2.8vw, 2.25rem); line-height:1.05; }

        .wv-meta{ margin-top:0.6rem; display:flex; gap:0.5rem; flex-wrap:wrap; }
        .wv-chip{
            border-radius: 999px;
            padding: 0.22rem 0.65rem;
            border: 1px solid rgba(255,255,255,0.12);
            background: rgba(0,0,0,0.22);
            color: rgba(255,255,255,0.82);
            font-weight:900;
            font-size:0.82rem;
            white-space:nowrap;
        }
        .wv-chip-on{
            border-color: rgba(120,255,180,0.30);
            background: rgba(120,255,180,0.10);
        }

        .wv-btn{
            display:inline-flex; align-items:center; justify-content:center;
            height: 40px; padding: 0 1.05rem;
            border-radius: 999px;
            font-weight:900; text-decoration:none;
            border: 1px solid rgba(255,255,255,0.14);
            background: rgba(255,255,255,0.10);
            color: rgba(255,255,255,0.92);
            transition: transform 0.10s ease, background 0.10s ease, border-color 0.10s ease;
            cursor:pointer; white-space:nowrap;
        }
        .wv-btn:hover{ background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.22); transform: translateY(-1px); }
        .wv-btn-primary{ background: rgba(255,255,255,0.90); color: rgba(0,0,0,0.92); border-color: rgba(255,255,255,0.90); }
        .wv-btn-primary:hover{ background: rgba(255,255,255,0.98); border-color: rgba(255,255,255,0.98); }
        .wv-btn-ghost{ background: rgba(0,0,0,0.22); color: rgba(255,255,255,0.88); }

        .wv-link{ color: rgba(255,255,255,0.92); text-decoration:none; }
        .wv-link:hover{ text-decoration: underline; }

        .wv-alert{ margin-bottom: 1rem; padding: 0.95rem; border: 1px solid rgba(255,90,90,0.28); background: rgba(255,90,90,0.08); }
        .wv-alert-title{ font-weight:900; position:relative; z-index:2; margin-bottom: 0.35rem; }
        .wv-alert-list{ margin:0; padding-left: 1.15rem; font-weight:800; position:relative; z-index:2; }

        .wv-media{ padding: 0.85rem; margin-bottom: 1rem; }
        .wv-media-head{
            position:relative; z-index:2;
            display:flex; align-items:center; justify-content:space-between;
            gap:0.75rem; flex-wrap:wrap;
            margin-bottom: 0.75rem;
        }

        .wv-tabs{ display:flex; gap:0.5rem; flex-wrap:wrap; }
        .wv-tab{
            height: 38px;
            padding: 0 0.95rem;
            border-radius: 999px;
            font-weight:900;
            border: 1px solid rgba(255,255,255,0.14);
            background: rgba(0,0,0,0.22);
            color: rgba(255,255,255,0.86);
            cursor:pointer;
        }
        .wv-tab.is-on{
            background: rgba(255,255,255,0.90);
            color: rgba(0,0,0,0.92);
            border-color: rgba(255,255,255,0.90);
        }
        .wv-tab:disabled{ opacity: 0.45; cursor:not-allowed; }

        .wv-media-actions{ display:flex; gap:0.55rem; flex-wrap:wrap; align-items:center; justify-content:flex-end; }
        .wv-media-body{ position:relative; z-index:2; }

        .wv-tabpane{ display:none; }
        .wv-tabpane.is-on{ display:block; }

        .wv-gallery-main{
            position:relative;
            width:100%;
            border-radius: 16px;
            overflow:hidden;
            border: 1px solid rgba(255,255,255,0.10);
            background: rgba(0,0,0,0.30);
            aspect-ratio: 16/9;
            display:flex;
            align-items:center;
            justify-content:center;
        }
        .wv-gallery-main img{ width:100%; height:100%; object-fit:cover; display:block; }
        .wv-img-ph{ color: rgba(255,255,255,0.62); font-weight:900; }

        .wv-gallery-thumbs{
            margin-top: 0.75rem;
            display:flex;
            gap:0.55rem;
            overflow:auto;
            padding-bottom: 0.2rem;
        }
        .wv-thumbbtn{
            border: 1px solid rgba(255,255,255,0.14);
            background: rgba(0,0,0,0.20);
            border-radius: 14px;
            width: 96px;
            height: 60px;
            padding: 0;
            overflow:hidden;
            cursor:pointer;
            flex: 0 0 auto;
            opacity: 0.78;
        }
        .wv-thumbbtn.is-on{ opacity: 1.0; border-color: rgba(255,255,255,0.30); }
        .wv-thumbbtn img{ width:100%; height:100%; object-fit:cover; display:block; }

        .wv-video-embed{ width:100%; border-radius: 16px; border: 1px solid rgba(255,255,255,0.12); background: rgba(0,0,0,0.30); }
        .wv-note{ margin-top: 0.55rem; }

        .wv-two{ display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1rem; }
        .wv-box{ padding: 0.95rem; }
        .wv-box-head{
            position:relative; z-index:2;
            display:flex; align-items:flex-end; justify-content:space-between;
            gap:0.8rem; flex-wrap:wrap;
            margin-bottom: 0.75rem;
        }
        .wv-box-actions{ display:flex; gap:0.55rem; flex-wrap:wrap; align-items:center; justify-content:flex-end; }

        .wv-sec-title{ font-weight:900; font-size: 1.05rem; margin-bottom: 0.15rem; }
        .wv-muted{ color: rgba(255,255,255,0.62); font-weight:800; }

        .wv-list{ position:relative; z-index:2; display:flex; flex-direction:column; gap:0.65rem; }
        .wv-item{
            border-radius: 16px;
            border: 1px solid rgba(255,255,255,0.10);
            background: rgba(0,0,0,0.18);
            padding: 0.75rem 0.85rem;
        }
        .wv-item-top{ display:flex; align-items:center; justify-content:space-between; gap:0.8rem; flex-wrap:wrap; }
        .wv-item-name{ font-weight:900; }
        .wv-item-meta{ margin-top:0.25rem; color: rgba(255,255,255,0.62); font-weight:800; font-size:0.88rem; }
        .wv-item-body{ margin-top:0.45rem; color: rgba(255,255,255,0.78); font-weight:800; line-height: 1.55; }

        .wv-item-pill{ display:flex; gap:0.45rem; align-items:center; flex-wrap:wrap; }
        .wv-item-actions{ margin-top:0.65rem; display:flex; gap:0.55rem; flex-wrap:wrap; justify-content:flex-end; }

        .wv-inline{ display:inline; margin:0; }
        .wv-spacer{ margin-top: 0.75rem; }

        .wv-modal{ position:fixed; inset:0; display:none; z-index: 9999; }
        .wv-modal.is-on{ display:block; }
        .wv-modal-backdrop{ position:absolute; inset:0; background: rgba(0,0,0,0.65); }
        .wv-modal-dialog{ position:relative; max-width: 720px; margin: 7vh auto; padding: 0 1rem; }
        .wv-modal-card{
            border-radius: 18px;
            background: rgba(8,10,14,0.92);
            border: 1px solid rgba(255,255,255,0.12);
            box-shadow: 0 30px 110px rgba(0,0,0,0.72);
            overflow:hidden;
        }
        .wv-modal-head{
            padding: 0.85rem 0.95rem;
            display:flex; align-items:center; justify-content:space-between; gap:0.75rem;
            border-bottom: 1px solid rgba(255,255,255,0.10);
        }
        .wv-modal-title{ font-weight:900; }
        .wv-x{
            width: 34px; height: 34px; border-radius: 999px;
            border: 1px solid rgba(255,255,255,0.14);
            background: rgba(255,255,255,0.06);
            color: rgba(255,255,255,0.9);
            font-weight:900;
            cursor:pointer;
        }
        .wv-modal-body{ padding: 0.95rem; }
        .wv-modal-foot{
            padding: 0.85rem 0.95rem;
            border-top: 1px solid rgba(255,255,255,0.10);
            display:flex; justify-content:flex-end; gap:0.55rem; flex-wrap:wrap;
        }

        .wv-form{ margin:0; }
        .wv-field{ margin-top: 0.65rem; flex: 1 1 220px; min-width: 180px; }
        .wv-label{ display:block; font-weight:900; font-size:0.74rem; color: rgba(255,255,255,0.62); letter-spacing:0.03em; text-transform:uppercase; margin-bottom:0.35rem; }
        input[type="text"], textarea, select{
            width:100%;
            box-sizing:border-box;
            border-radius:14px;
            border:1px solid rgba(255,255,255,0.14);
            background: rgba(0,0,0,0.30);
            color: rgba(255,255,255,0.90);
            padding:0.65rem 0.85rem;
            outline:none;
        }
        textarea{ min-height: 120px; resize: vertical; }
        input:focus, textarea:focus, select:focus{ border-color: rgba(255,255,255,0.28); background: rgba(0,0,0,0.36); }

        .wv-hp{ position:absolute; left:-9999px; top:-9999px; height:1px; width:1px; opacity:0; }

        .wv-desc-text{ color: rgba(255,255,255,0.78); font-weight:800; line-height:1.6; }

        .wv-choose{ display:flex; flex-direction:column; gap:0.55rem; margin-top:0.65rem; }
        .wv-choose-row{
            display:flex; align-items:center; justify-content:space-between; gap:0.75rem; flex-wrap:wrap;
            border-radius: 16px;
            border: 1px solid rgba(255,255,255,0.10);
            background: rgba(0,0,0,0.18);
            padding: 0.65rem 0.75rem;
        }
        .wv-choose-name{ font-weight:900; }

        @media (max-width: 980px){
            .wv-two{ grid-template-columns: minmax(0,1fr); }
        }


