:root{
  --vlr-red:#d51f1f;
  --vlr-bg:#0c0f14;
  --vlr-card:#ffffff;
  --vlr-line:#ececec;
  --vlr-muted:#6b7280;
  --vlr-shadow: 0 10px 30px rgba(0,0,0,.08);
  --vlr-radius: 18px;
}

.vlr{font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; color:#111; }
.vlr-hero{background: radial-gradient(1200px 600px at 10% 10%, #1b2331, var(--vlr-bg)); border-radius: var(--vlr-radius); padding:22px; margin:16px auto; max-width:1180px; color:#fff;}
.vlr-kicker{opacity:.9; font-weight:900; letter-spacing:.08em; text-transform:uppercase; font-size:12px;}
.vlr-title{margin:8px 0 6px; font-size:32px; line-height:1.12; font-weight:1000;}
.vlr-subtitle{margin:0; opacity:.85; font-size:14px;}

.vlr-layout{max-width:1180px; margin:0 auto; padding:0 16px 30px; display:grid; grid-template-columns:1fr 360px; gap:14px;}
@media (max-width: 980px){ .vlr-layout{grid-template-columns:1fr;} .vlr-summary{position:sticky; bottom:10px; z-index:10;}}

.vlr-card{background:var(--vlr-card); border:1px solid var(--vlr-line); border-radius:var(--vlr-radius); padding:16px; box-shadow:var(--vlr-shadow); margin-bottom:14px;}
.vlr-card-h{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px;}
.vlr-card h2{margin:0; font-size:16px; font-weight:1000;}
.vlr-muted{color:var(--vlr-muted); font-size:12px;}
.vlr-pill{font-size:12px; padding:6px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff;}

.vlr-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media (max-width: 720px){ .vlr-grid-2{grid-template-columns:1fr;} }

.vlr-label{display:block; font-size:12px; color:#444; font-weight:900; margin-bottom:6px;}
.vlr-input{width:100%; padding:12px 12px; border-radius:14px; border:1px solid var(--vlr-line); outline:none; font-weight:700;}
.vlr-input:focus{border-color:#c8c8c8;}

.vlr-toggle{display:flex; gap:10px; flex-wrap:wrap;}
.vlr-tbtn{padding:10px 12px; border-radius:14px; border:1px solid var(--vlr-line); background:#fff; font-weight:900; cursor:pointer;}
.vlr-tbtn.is-active{border-color:rgba(213,31,31,.45); box-shadow:0 0 0 4px rgba(213,31,31,.08);}

.vlr-packages{display:grid; grid-template-columns:repeat(3, 1fr); gap:12px;}
@media (max-width: 920px){ .vlr-packages{grid-template-columns:1fr;} }
.vlr-pkg{border:1px solid var(--vlr-line); border-radius:16px; padding:14px; cursor:pointer; transition:transform .12s ease, border-color .12s ease; background:#fff; text-align:left;}
.vlr-pkg:hover{transform:translateY(-2px); border-color:#d9d9d9;}
.vlr-pkg.is-active{border-color:rgba(213,31,31,.45); box-shadow:0 0 0 4px rgba(213,31,31,.08);}
.vlr-pkg-top{display:flex; justify-content:space-between; gap:10px; align-items:flex-start;}
.vlr-pkg-name{font-size:16px; font-weight:1000; margin:0 0 2px;}
.vlr-pkg-price{font-size:14px; font-weight:1000; color:var(--vlr-red);}
.vlr-pkg-tag{color:var(--vlr-muted); font-size:12px; margin-top:6px;}
.vlr-pkg-rules{font-size:12px; color:#333; margin-top:6px;}

.vlr-tabs{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px;}
.vlr-tab{padding:10px 12px; border-radius:14px; border:1px solid var(--vlr-line); background:#fff; font-weight:1000; cursor:pointer;}
.vlr-tab.is-active{border-color:rgba(213,31,31,.45); box-shadow:0 0 0 4px rgba(213,31,31,.08);}

.vlr-item{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border:1px solid var(--vlr-line); border-radius:16px; margin-bottom:10px; cursor:pointer; background:#fff;}
.vlr-item:hover{border-color:#d9d9d9;}
.vlr-item.is-active{border-color:rgba(213,31,31,.45); box-shadow:0 0 0 4px rgba(213,31,31,.08);}
.vlr-item.is-disabled{opacity:.55; cursor:not-allowed;}
.vlr-item-left{display:flex; align-items:center; gap:10px;}
.vlr-item strong{font-weight:1000;}
.vlr-badge{font-size:11px; font-weight:1000; padding:6px 10px; border-radius:999px; border:1px solid var(--vlr-line); background:#fff;}
.vlr-badge.nv{border-color:rgba(213,31,31,.25);}

.vlr-actions{display:flex; justify-content:space-between; gap:10px; margin-top:10px; flex-wrap:wrap;}
.vlr-btn{padding:12px 14px; border-radius:14px; border:1px solid var(--vlr-line); background:#fff; font-weight:1000; cursor:pointer;}
.vlr-btn-primary{background:var(--vlr-red); border-color:var(--vlr-red); color:#fff;}
.vlr-btn-outline:hover{border-color:#999;}
.vlr-btn-primary:hover{filter:brightness(.96);}

.vlr-addon-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:10px;}
@media (max-width: 720px){ .vlr-addon-grid{grid-template-columns:1fr;} }
.vlr-addon{display:flex; justify-content:space-between; align-items:center; padding:12px; border:1px solid var(--vlr-line); border-radius:16px; font-weight:1000;}
.vlr-addon span{color:var(--vlr-red);}

.vlr-summary-inner{background:#fff; border:1px solid var(--vlr-line); border-radius:var(--vlr-radius); padding:14px; box-shadow:var(--vlr-shadow); position:sticky; top:16px;}
.vlr-sum-h{display:flex; justify-content:space-between; align-items:center; gap:10px;}
.vlr-sum-right{display:flex; align-items:center; gap:10px;}
.vlr-sum-title{font-weight:1000;}
.vlr-sum-sub{font-size:12px; color:var(--vlr-muted);}
.vlr-sum-toggle{border:0; background:transparent; font-weight:1000; color:var(--vlr-red); cursor:pointer;}
.vlr-total{font-size:30px; font-weight:1000; color:var(--vlr-red); margin:10px 0;}
.vlr-breakdown .row{display:flex; justify-content:space-between; gap:10px; margin:8px 0; font-size:13px;}
.vlr-breakdown .row.tot{border-top:1px solid var(--vlr-line); padding-top:10px; margin-top:10px; font-weight:1000;}
.vlr-chip{display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border-radius:999px; font-size:11px; font-weight:1000; border:1px solid var(--vlr-line); background:#fff;}
.vlr-chip.is-draft{color:#555;}
.vlr-chip.is-pending{color:#8a4b00; border-color:rgba(234,179,8,.35); background:rgba(234,179,8,.08);}
.vlr-chip.is-paid{color:#0a6b2e; border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.08);}
.vlr-chip.is-verify{color:#1d4ed8; border-color:rgba(59,130,246,.35); background:rgba(59,130,246,.08);}
.vlr-hr{border:0; border-top:1px solid var(--vlr-line); margin:10px 0;}
.vlr-promo{display:flex; gap:8px; margin-top:10px;}
.vlr-promo .vlr-input{flex:1;}
.vlr-msg{margin-top:10px; font-size:12px; color:#111; padding:10px; border-radius:14px; border:1px dashed var(--vlr-line);}
.vlr-hidden{display:none !important;}
.vlr-note{margin-top:10px; font-size:12px; color:var(--vlr-muted);}
.vlr-skel{color:var(--vlr-muted); font-weight:900;}


/* Payment cards */
.vlr-paycard{
  border:1px solid var(--vlr-line);
  border-radius:16px;
  padding:14px;
  background:#fff;
}
.vlr-paycard h3{margin:0 0 6px 0; font-size:15px}
.vlr-paycard p{margin:0 0 10px 0}

/* Mini summary rows */
.vlr-mini{margin-top:12px; border-top:1px solid var(--vlr-line); padding-top:10px}
.vlr-mini-row{display:flex; justify-content:space-between; font-size:12px; color:#222; margin:6px 0}
.vlr-mini-row b{font-weight:800}

/* Sidebar selections */
.vlr-sel{border-top:1px solid var(--vlr-line); padding-top:10px; margin-top:8px;}
.vlr-sel-block{margin-top:10px;}
.vlr-sel-h{font-size:12px; font-weight:1000; color:#111; margin-bottom:6px;}
.vlr-sel-items{display:flex; flex-direction:column; gap:6px;}
.vlr-sel-cat{font-size:11px; font-weight:1000; color:#444; margin-top:6px;}
.vlr-sel-pill{display:flex; justify-content:space-between; gap:10px; font-size:12px; padding:8px 10px; border-radius:12px; border:1px solid var(--vlr-line); background:#fff;}
.vlr-sel-pill b{font-weight:900;}
.vlr-sel-empty{font-size:12px; color:var(--vlr-muted);}

/* Confirmation card */
.vlr-confirm-card{border:1px solid var(--vlr-line); border-radius:18px; overflow:hidden; background:#fff; box-shadow:var(--vlr-shadow);}
.vlr-confirm-banner{width:100%; height:140px; object-fit:cover; display:block;}
.vlr-confirm-body{padding:14px;}
.vlr-confirm-title{font-size:18px; font-weight:1000; margin:0 0 6px 0;}
.vlr-confirm-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px;}
@media (max-width: 720px){ .vlr-confirm-grid{grid-template-columns:1fr;} }
.vlr-kv{border:1px solid var(--vlr-line); border-radius:14px; padding:10px;}
.vlr-kv .k{font-size:11px; color:var(--vlr-muted); font-weight:900;}
.vlr-kv .v{font-size:13px; font-weight:1000; margin-top:4px;}

/* Menu thumbnails */
.vlr-item{ position:relative; }
.vlr-menu-thumb{
  width:40px; height:40px; object-fit:cover; border-radius:10px;
  border:1px solid rgba(0,0,0,0.08);
  margin-right:10px;
  vertical-align:middle;
  cursor:zoom-in;
  transition: transform 160ms ease;
}
@media (hover:hover){
  .vlr-menu-thumb:hover{ transform: scale(1.8); z-index: 50; }
}

.vlr-lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,0.75);
  display:flex; align-items:center; justify-content:center;
  z-index:999999; padding:16px;
}
.vlr-lightbox img{ max-width:92vw; max-height:92vh; border-radius:14px; }

.vlep-page-poster{
  max-width: 1100px;
  margin: 20px auto 0 auto;
  padding: 0 16px;
}

.vlep-page-poster img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}


.vlr-banner-strip{max-width:1180px;margin:8px auto 12px;padding:0 16px;display:flex;gap:10px;overflow:auto}
.vlr-banner-item{min-width:320px;background:#fff5db;border:1px solid #f4d07e;border-radius:14px;padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:12px}
.vlr-banner-item b{white-space:nowrap}
.vlr-gallery-wrap{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto}
.vlr-g-item img,.vlr-g-item video{width:100%;border-radius:12px;border:1px solid var(--vlr-line);background:#000}
.vlr-g-item .vlr-muted{margin-top:4px}

.vlr-banner-cta{margin-left:auto;font-size:11px;background:#111;color:#fff;padding:5px 8px;border-radius:999px;text-decoration:none}
.vlr-g-item{position:relative;display:block}
.vlr-g-badge{position:absolute;top:8px;left:8px;background:#111;color:#fff;font-size:10px;padding:4px 6px;border-radius:999px;z-index:2}
