/* Harman Events v8 - Frontend */
.hs-archive-wrap { background:#FFFEF5; padding:40px 0 80px; min-height:60vh; }
.hs-container { max-width:1280px; margin:0 auto; padding:0 24px; }
.hs-archive-title { font-size:42px; font-weight:800; letter-spacing:-0.03em; color:#1E3A35; margin:0 0 12px; }
.hs-archive-sub { color:#1E3A35; opacity:.6; font-size:16px; margin-bottom:32px; }
.hs-events-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:24px; }
.hs-event-card { background:white; border:1px solid #E8E6DF; border-radius:16px; overflow:hidden; transition:.3s cubic-bezier(.16,1,.3,1); display:flex; flex-direction:column; }
.hs-event-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(30,58,53,.10); border-color:#B5C4A8; }
.hs-event-thumb { height:220px; background:#FEFCEF; position:relative; overflow:hidden; }
.hs-event-thumb img { width:100%; height:100%; object-fit:cover; }
.hs-badge-mode { position:absolute; top:12px; right:12px; background:#1E3A35; color:#B5C4A8; padding:6px 12px; border-radius:20px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.hs-event-content { padding:20px; flex:1; display:flex; flex-direction:column; }
.hs-event-type { display:inline-flex; background:#1E3A35; background:rgba(30,58,53,.08); color:#1E3A35; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:12px; }
.hs-event-title { font-size:20px; font-weight:700; line-height:1.25; color:#1E3A35; margin:0 0 8px; letter-spacing:-0.01em; }
.hs-event-title a { color:inherit; text-decoration:none; }
.hs-event-short { font-size:14px; color:#1E3A35; opacity:.7; line-height:1.5; margin-bottom:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hs-event-meta { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.hs-event-meta span { background:#FEFCEF; border:1px solid #E8E6DF; padding:6px 10px; border-radius:20px; font-size:12px; color:#1E3A35; display:inline-flex; align-items:center; gap:6px; }
.hs-event-footer { margin-top:auto; display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px solid #F3F1E9; }
.hs-event-price { font-size:20px; font-weight:800; color:#1E3A35; letter-spacing:-0.02em; }
.hs-event-price small { font-weight:500; opacity:.6; font-size:12px; display:block; }
.hs-btn-view { background:#1E3A35; color:#B5C4A8; padding:10px 18px; border-radius:10px; text-decoration:none; font-weight:600; font-size:13px; transition:.2s; }
.hs-btn-view:hover { background:#152a26; color:#FEFCEF; }

/* Single */
.hs-single-wrap { background:#FFFEF5; padding:30px 0 80px; }
.hs-single-grid { display:grid; grid-template-columns:1.6fr .9fr; gap:32px; max-width:1280px; margin:0 auto; padding:0 24px; }
.hs-single-card { background:white; border:1px solid #E8E6DF; border-radius:18px; overflow:hidden; }
.hs-single-thumb { height:420px; background:#FEFCEF; position:relative; }
.hs-single-thumb img { width:100%; height:100%; object-fit:cover; }
.hs-single-body { padding:28px; }
.hs-booking-card { background:white; border:1px solid #E8E6DF; border-radius:18px; padding:24px; position:sticky; top:120px; }
.hs-booking-price { font-size:32px; font-weight:800; color:#1E3A35; letter-spacing:-0.03em; }
.hs-form-field { margin-bottom:14px; }
.hs-form-field label { display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; color:#1E3A35; }
.hs-form-field input, .hs-form-field select { width:100%; padding:12px 14px; border:1px solid #E8E6DF; border-radius:12px; font-size:14px; background:#FFFEF5; }
.hs-btn-block { width:100%; padding:14px; border-radius:12px; border:none; font-weight:700; cursor:pointer; transition:.2s; font-size:14px; }
.hs-btn-primary { background:#1E3A35; color:#B5C4A8; }
.hs-btn-whatsapp { background:#25D366; color:white; margin-top:10px; }
.hs-ticket-confirmed { background:#1E3A35; color:#FEFCEF; padding:20px; border-radius:14px; margin-bottom:24px; text-align:center; }
@media(max-width:900px){ .hs-single-grid{grid-template-columns:1fr;} .hs-booking-card{position:static;} .hs-events-grid{grid-template-columns:1fr;} }

/* Scope: shortcode output stays inside its own box and never touches the header */
.hs-shortcode-scope { position:relative; width:100%; max-width:100%; box-sizing:border-box; clear:both; }
.hs-shortcode-scope *, .hs-single-wrap * { box-sizing:border-box; }
.hs-single-wrap { position:relative; }

/* ---- v8.2 visual upgrade (scoped, theme-proof) ---- */
.hs-shortcode-scope .hs-events-grid { gap:28px; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); }
.hs-shortcode-scope .hs-event-card { background:#fff; border:1px solid #E8E6DF; border-radius:22px; box-shadow:0 2px 0 rgba(30,58,53,.04), 0 12px 30px -18px rgba(30,58,53,.25); }
.hs-shortcode-scope .hs-event-card:hover { transform:translateY(-6px); box-shadow:0 26px 50px -22px rgba(30,58,53,.35); }
.hs-shortcode-scope .hs-event-thumb { height:240px; background:linear-gradient(135deg,#1E3A35,#3b5d52); }
.hs-shortcode-scope .hs-event-thumb img { transition:transform .6s cubic-bezier(.16,1,.3,1); display:block; }
.hs-shortcode-scope .hs-event-card:hover .hs-event-thumb img { transform:scale(1.06); }
.hs-shortcode-scope .hs-event-thumb::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(20,38,34,.45)); pointer-events:none; }
.hs-thumb-ph { height:100%; display:flex; align-items:center; justify-content:center; color:#B5C4A8; font-size:54px; opacity:.8; }
.hs-date-chip { position:absolute; left:14px; top:14px; z-index:2; background:#FEFCEF; color:#1E3A35; border-radius:14px; padding:8px 12px; text-align:center; line-height:1; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; box-shadow:0 6px 16px rgba(0,0,0,.18); }
.hs-date-chip b { display:block; font-size:22px; font-weight:800; letter-spacing:-.02em; margin-bottom:3px; }
.hs-badge-mode { z-index:2; }
.hs-shortcode-scope .hs-event-content { padding:24px; }
.hs-shortcode-scope .hs-event-type { background:#E9EFE3; color:#1E3A35; }
.hs-shortcode-scope .hs-event-title { font-size:22px; font-weight:800; line-height:1.2; }
.hs-shortcode-scope .hs-event-title a:hover { color:#3b5d52; }
.hs-shortcode-scope .hs-event-short { opacity:.75; font-size:14.5px; }
.hs-shortcode-scope .hs-event-price { font-size:22px; }
.hs-shortcode-scope .hs-btn-view { background:#1E3A35; color:#FEFCEF; padding:12px 20px; border-radius:999px; }
.hs-shortcode-scope .hs-btn-view:hover { background:#B5C4A8; color:#1E3A35; transform:translateX(2px); }

/* Single event page: kill leftover blog chrome from any theme */
body.hs-event-page .entry-meta, body.hs-event-page .post-meta, body.hs-event-page .posted-on,
body.hs-event-page .byline, body.hs-event-page .entry-date, body.hs-event-page .post-date,
body.hs-event-page .wp-block-post-date, body.hs-event-page .wp-block-post-author,
body.hs-event-page .wp-block-post-terms, body.hs-event-page .post-navigation,
body.hs-event-page .post-navigation .nav-links, body.hs-event-page .comments-area, body.hs-event-page #comments,
body.hs-event-page .author-box, body.hs-event-page .entry-footer, body.hs-event-page .cat-links,
body.hs-event-page .tags-links, body.hs-event-page .related-posts { display:none !important; }
body.hs-event-page .hs-single-wrap { background:transparent; padding-top:10px; }
body.hs-event-page .entry-title:not(.hs-event-h1), body.hs-event-page .page-title, body.hs-event-page .wp-block-post-title, body.hs-event-page .post-thumbnail, body.hs-event-page .wp-block-post-featured-image { display:none !important; }

/* ---- Event page hero + breadcrumb (matches the theme's dark page banner) ---- */
.hs-hero { background:#1F1F1F; color:#fff; margin:0 15px; border-radius:0 0 28px 28px; padding:clamp(130px,13vw,190px) 0 clamp(44px,5vw,64px); font-family:inherit; }
.hs-hero .hs-container { max-width:1280px; margin:0 auto; padding:0 24px; }
.hs-hero .hs-event-h1 { color:#fff !important; font-family:inherit; font-size:clamp(34px,5vw,64px); font-weight:700; letter-spacing:-.03em; line-height:1.08; margin:0 0 18px; }
.hs-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:16px; font-weight:500; color:#fff; }
.hs-breadcrumb a { color:#fff; text-decoration:none; opacity:.9; } .hs-breadcrumb a:hover { opacity:1; text-decoration:underline; }
.hs-breadcrumb span[aria-current] { color:#fff; }
.hs-standalone-main { display:block; width:100%; }
body.hs-event-page .hs-single-wrap { padding-top:32px; background:#FFFEF5; }

/* ---- Coupon UI ---- */
.hs-coupon-row { display:flex; gap:8px; } .hs-coupon-row input { flex:1; text-transform:uppercase; }
.hs-btn-apply { background:#1E3A35; color:#B5C4A8; border:0; border-radius:12px; padding:0 18px; font-weight:700; cursor:pointer; }
.hs-coupon-msg { font-size:12px; margin-top:6px; min-height:16px; } .hs-coupon-msg.ok { color:#1E7A4C; font-weight:600; } .hs-coupon-msg.err { color:#B42318; }
.hs-total-line { display:flex; justify-content:space-between; align-items:center; margin:4px 0 14px; padding:12px 14px; background:#FEFCEF; border:1px solid #E8E6DF; border-radius:12px; font-size:14px; }
.hs-total-line strong { font-size:20px; letter-spacing:-.02em; }

/* ---- [hs_resend_ticket] ---- */
.hs-resend { position:relative; background:#fff; border:1px solid #E8E6DF; border-radius:18px; padding:22px; max-width:520px; }
.hs-resend h3 { margin:0 0 6px; color:#1E3A35; font-size:20px; } .hs-resend p { margin:0 0 14px; opacity:.75; font-size:14px; }
.hs-resend .hs-coupon-row input[type=email] { text-transform:none; padding:12px 14px; border:1px solid #E8E6DF; border-radius:12px; font-size:15px; min-width:0; }
.hs-resend .hs-btn-apply { padding:12px 18px; white-space:nowrap; }

.hs-hero.has-img { background-size:cover; background-position:center; background-repeat:no-repeat; }
