/* ===== Sha6er Restaurant Event – Public v2 ===== */
:root {
  --sha6er-primary:#F97316; --sha6er-primary-h:#EA580C;
  --sha6er-text:#121212; --sha6er-bg:#F9FAFB;
  --sha6er-border:#D9E5EF; --sha6er-white:#fff;
  --sha6er-radius:12px; --sha6er-shadow:0 2px 16px rgba(0,0,0,.07);
  --sha6er-trans:.2s ease;
}

/* Container */
.sha6er-container{max-width:1100px;margin:0 auto;padding:0 20px}

/* Card */
.sha6er-card{background:var(--sha6er-white);border-radius:var(--sha6er-radius);border:1px solid var(--sha6er-border);box-shadow:var(--sha6er-shadow);padding:32px;margin-bottom:32px}
.sha6er-card h2{font-size:1.35rem;color:var(--sha6er-text);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--sha6er-border)}

/* Buttons */
.sha6er-btn{display:inline-flex;align-items:center;gap:8px;background:var(--sha6er-primary);color:#fff!important;padding:12px 28px;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none!important;transition:background var(--sha6er-trans),transform var(--sha6er-trans)}
.sha6er-btn:hover{background:var(--sha6er-primary-h);transform:translateY(-1px)}
.sha6er-btn-outline{background:transparent;color:var(--sha6er-primary)!important;border:2px solid var(--sha6er-primary)}
.sha6er-btn-outline:hover{background:var(--sha6er-primary);color:#fff!important}
.sha6er-btn-outline-white{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.7)}
.sha6er-btn-outline-white:hover{background:rgba(255,255,255,.15)}
.sha6er-btn-lg{padding:16px 40px;font-size:1.1rem}
.sha6er-btn-hero{padding:14px 32px;font-size:1rem;box-shadow:0 4px 20px rgba(249,115,22,.4)}

/* Hero */
.sha6er-event-hero{position:relative;min-height:440px;display:flex;align-items:flex-end;background:linear-gradient(135deg,#1a1a2e,#16213e);overflow:hidden}
.sha6er-event-hero-image{position:absolute;inset:0}
.sha6er-event-hero-image img{width:100%;height:100%;object-fit:cover}
.sha6er-event-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.15) 100%)}
.sha6er-event-hero-content{position:relative;z-index:2;width:100%;padding:48px 0}
.sha6er-event-title{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;margin:0 0 16px;line-height:1.2}
.sha6er-event-meta{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:24px}
.sha6er-event-meta-item{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.9);font-size:.95rem}
.sha6er-badge-full-lg{display:inline-block;background:rgba(255,255,255,.15);color:#fff;padding:10px 24px;border-radius:8px;font-weight:600;border:1px solid rgba(255,255,255,.3)}

/* Event body */
.sha6er-event-body{padding:40px 0 60px}
.sha6er-event-content p{line-height:1.7;color:#444}

/* Event card (list) */
.sha6er-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.sha6er-event-card{background:var(--sha6er-white);border:1px solid var(--sha6er-border);border-radius:var(--sha6er-radius);box-shadow:var(--sha6er-shadow);overflow:hidden;transition:transform var(--sha6er-trans),box-shadow var(--sha6er-trans)}
.sha6er-event-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(0,0,0,.12)}
.sha6er-event-card-img{height:180px;overflow:hidden;background:#f3f4f6}
.sha6er-event-card-img img{width:100%;height:100%;object-fit:cover}
.sha6er-no-img{display:flex;align-items:center;justify-content:center;font-size:3rem}
.sha6er-event-card-body{padding:20px}
.sha6er-event-card-title{margin:0 0 8px;font-size:1.1rem}
.sha6er-event-card-title a{color:var(--sha6er-text);text-decoration:none}
.sha6er-event-card-title a:hover{color:var(--sha6er-primary)}
.sha6er-event-card-meta{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#666;margin-bottom:12px}
.sha6er-event-stands-info{margin-bottom:16px}
.sha6er-badge-available{display:inline-block;background:#D1FAE5;color:#065F46;padding:3px 12px;border-radius:20px;font-size:.8rem;font-weight:600}
.sha6er-badge-full{display:inline-block;background:#FEE2E2;color:#991B1B;padding:3px 12px;border-radius:20px;font-size:.8rem;font-weight:600}
.sha6er-event-card-actions{display:flex;gap:8px}
.sha6er-empty-state{text-align:center;padding:48px 20px}
.sha6er-empty-icon{font-size:3rem;display:block;margin-bottom:12px}

/* Stands grid */
.sha6er-stands-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.sha6er-stand-type-card{background:var(--sha6er-bg);border:2px solid var(--sha6er-border);border-radius:var(--sha6er-radius);padding:20px;text-align:center;transition:border-color var(--sha6er-trans),transform var(--sha6er-trans)}
.sha6er-stand-type-card:hover{transform:translateY(-3px);border-color:var(--sha6er-primary)}
.sha6er-stand-type-icon{font-size:2rem;margin-bottom:8px}
.sha6er-stand-type-card h3{margin:4px 0;font-size:1rem}
.sha6er-stands-count{color:#666;font-size:.85rem;margin:4px 0}
.sha6er-stand-price{color:var(--sha6er-primary);font-weight:700;margin:4px 0;font-size:.9rem}

/* Type colors */
.sha6er-type-basic{border-color:#94A3B8}
.sha6er-type-standard{border-color:#60A5FA}
.sha6er-type-premium{border-color:#FBBF24}
.sha6er-type-sponsor{border-color:#A78BFA}

/* Restaurants grid */
.sha6er-restaurants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:16px}
.sha6er-restaurant-card{display:flex;align-items:center;gap:16px;background:var(--sha6er-white);border:1px solid var(--sha6er-border);border-radius:var(--sha6er-radius);padding:18px;box-shadow:var(--sha6er-shadow);transition:transform var(--sha6er-trans)}
.sha6er-restaurant-card:hover{transform:translateY(-3px)}
.sha6er-restaurant-avatar{width:52px;height:52px;border-radius:50%;background:var(--sha6er-primary);color:#fff;font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sha6er-restaurant-name{margin:0 0 4px;font-size:1rem;font-weight:700}
.sha6er-stand-number{margin:4px 0 0;font-size:.85rem;color:#666}
.sha6er-event-name-small{margin:2px 0 0;font-size:.8rem;color:#888}
.sha6er-stand-badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff;margin-bottom:2px}
span.sha6er-type-basic{background:#64748B}
span.sha6er-type-standard{background:#3B82F6}
span.sha6er-type-premium{background:#D97706}
span.sha6er-type-sponsor{background:#7C3AED}

/* Event filter */
.sha6er-event-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.sha6er-filter-btn{padding:7px 16px;border-radius:20px;background:var(--sha6er-bg);border:1.5px solid var(--sha6er-border);color:var(--sha6er-text);text-decoration:none;font-size:.85rem;font-weight:600;transition:all var(--sha6er-trans)}
.sha6er-filter-btn:hover,.sha6er-filter-btn.active{background:var(--sha6er-primary);color:#fff;border-color:var(--sha6er-primary)}

/* Form */
.sha6er-registration-wrapper{}
.sha6er-event-banner{background:linear-gradient(135deg,var(--sha6er-primary),#d95f00);color:#fff;border-radius:var(--sha6er-radius);padding:20px 24px;margin-bottom:24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.sha6er-event-banner h2{margin:0;font-size:1.2rem;color:#fff}
.sha6er-event-banner span{font-size:.9rem;opacity:.9}

.sha6er-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sha6er-form-field{display:flex;flex-direction:column;gap:6px}
.sha6er-full-width{grid-column:1/-1}
.sha6er-form-field label{font-weight:600;font-size:.9rem;color:var(--sha6er-text)}
.sha6er-required{color:#EF4444}
.sha6er-form-field input,
.sha6er-form-field select,
.sha6er-form-field textarea{padding:11px 14px;border:1.5px solid var(--sha6er-border);border-radius:8px;font-size:1rem;color:var(--sha6er-text);background:#fff;transition:border-color var(--sha6er-trans),box-shadow var(--sha6er-trans);width:100%;box-sizing:border-box}
.sha6er-form-field input:focus,.sha6er-form-field select:focus{outline:none;border-color:var(--sha6er-primary);box-shadow:0 0 0 3px rgba(249,115,22,.12)}
.sha6er-form-field select:disabled{opacity:.6;cursor:not-allowed}
.sha6er-field-hint{font-size:.8rem;color:#888}

/* Upload */
.sha6er-upload-area{position:relative;border:2px dashed var(--sha6er-border);border-radius:10px;padding:28px 20px;text-align:center;cursor:pointer;transition:border-color var(--sha6er-trans),background var(--sha6er-trans);background:var(--sha6er-bg)}
.sha6er-upload-area:hover,.sha6er-upload-area.dragover{border-color:var(--sha6er-primary);background:#FFF7ED}
.sha6er-upload-area input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.sha6er-upload-label{display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.sha6er-upload-icon{font-size:2.2rem}
.sha6er-upload-text{font-weight:600;color:var(--sha6er-text)}
.sha6er-upload-hint{font-size:.8rem;color:#888}
#sha6er-upload-preview img{max-height:160px;max-width:100%;border-radius:8px;border:2px solid var(--sha6er-border);object-fit:contain;margin-top:12px}

/* Messages */
.sha6er-form-messages{margin:16px 0 0;border-radius:8px;padding:14px 18px;font-weight:500;display:none}
.sha6er-form-messages.sha6er-error{background:#FEF2F2;border:1.5px solid #FECACA;color:#DC2626;display:block}
.sha6er-form-messages.sha6er-success{background:#F0FDF4;border:1.5px solid #BBF7D0;color:#16A34A;display:block}
.sha6er-form-messages ul{margin:8px 0 0 20px;padding:0}

.sha6er-form-submit{margin-top:28px;text-align:center}
.sha6er-form-note{font-size:.82rem;color:#888;margin-top:8px}

/* Confirmation */
.sha6er-confirmation-page{text-align:center;padding:48px 20px}
.sha6er-confirmation-icon{font-size:4rem;margin-bottom:16px}
.sha6er-confirmation-steps{display:flex;justify-content:center;align-items:center;gap:12px;margin:28px 0;flex-wrap:wrap}
.sha6er-step{display:flex;align-items:center;gap:8px}
.sha6er-step-num{width:32px;height:32px;border-radius:50%;background:var(--sha6er-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}
.sha6er-step-arrow{font-size:1.4rem;color:var(--sha6er-primary)}

/* Text helpers */
.sha6er-text-muted{color:#aaa}
.sha6er-no-results{color:#888;text-align:center;padding:24px}

/* Responsive */
@media(max-width:768px){
  .sha6er-form-grid{grid-template-columns:1fr}
  .sha6er-full-width{grid-column:1}
  .sha6er-event-hero{min-height:300px}
  .sha6er-card{padding:20px}
  .sha6er-restaurants-grid,.sha6er-events-grid{grid-template-columns:1fr}
  .sha6er-stands-grid{grid-template-columns:1fr 1fr}
  .sha6er-event-banner{flex-direction:column;align-items:flex-start;gap:8px}
}
@media(max-width:480px){
  .sha6er-stands-grid{grid-template-columns:1fr}
  .sha6er-confirmation-steps{flex-direction:column}
}
