/* Kiwi Digital brand: leaf green, golden kiwi, orange, and clean neutrals. */
:root {
  --ink: #17281f;
  --muted: #68736d;
  --paper: #f5f7f5;
  --lime: #e5f1dc;
  --line: #dce4de;
  --soft: #eaf2e8;
  --green: #287a30;
  --green-dark: #155423;
  --gold: #f6bc2b;
  --orange: #e78a21;
  --radius: 10px;
}
h1,h2,h3 { letter-spacing:-.04em; font-weight:700; }
.serif-word { font-family:inherit; font-style:normal; font-weight:700; color:var(--green); letter-spacing:inherit; }
.site-header { background:#fff; border-top:4px solid var(--green); }
.header-inner { min-height:100px; }
.brand { gap:14px; letter-spacing:0; flex-shrink:0; }
.brand-logo { position:relative; width:135px; height:92px; overflow:hidden; display:block; }
.brand-logo img { position:absolute; width:214px; max-width:none; height:107px; left:-41px; top:-6px; }
.brand-product { font-size:14px; font-weight:800; line-height:1.3; letter-spacing:1.3px; border-left:1px solid var(--line); padding-left:15px; color:var(--green-dark); }
.brand-product span { display:block; margin-top:5px; font-size:7px; font-weight:600; letter-spacing:1.7px; color:var(--muted); }
.main-nav a { font-weight:600; color:#617067; }
.main-nav a.active { color:var(--green); }
.main-nav a.active:after { width:100%; background:var(--green); height:3px; bottom:22px; }
.organizer-link { background:#edf5e9; border-color:#d4e5cb; color:var(--green-dark); }
.button { border-radius:6px; }
.button-dark { background:var(--green); color:#fff; }
.button-dark:hover { background:var(--green-dark); }
.button-gold { background:var(--gold); color:#182619; min-width:166px; }
.button-gold:hover { background:#ffce50; }
.button-outline { border-color:#bdd0c0; color:var(--green-dark); }
.cinema-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:1.3fr 1fr; gap:50px; padding:55px 65px; margin-top:30px; min-height:475px; border-radius:12px; background:linear-gradient(110deg,#092b1c,#164c2b 68%,#337436); color:white; }
.cinema-hero:after { content:''; position:absolute; width:600px; height:600px; right:-350px; top:-100px; border:90px solid #eac52b16; border-radius:50%; pointer-events:none; }
.cinema-hero-copy { position:relative; z-index:1; align-self:center; }
.feature-label { font-size:10px; font-weight:700; letter-spacing:2px; color:#f1cd68; margin-bottom:22px; }
.feature-label .live-dot { background:var(--gold); box-shadow:0 0 0 4px #f6bc2b18; }
.cinema-hero h1 { font-size:clamp(43px,5.2vw,70px); max-width:600px; line-height:1.02; margin-bottom:20px; }
.feature-artists { font-size:13px; color:#dce9db; margin-bottom:20px; }
.feature-description { font-size:14px; line-height:1.75; color:#b8cdbd; }
.feature-facts { display:flex; gap:30px; margin:26px 0; font-size:12px; }
.feature-facts span { display:block; }
.feature-facts small { display:block; font-size:8px; letter-spacing:1.3px; color:#96b59f; margin-bottom:5px; }
.feature-actions { display:flex; gap:25px; align-items:center; }
.feature-secondary { font-size:12px; color:#e5eee8; }
.feature-secondary:hover { text-decoration:underline; }
.feature-demo { margin:21px 0 0; font-size:8px; color:#aac3af; letter-spacing:1.5px; }
.feature-ticket { z-index:1; position:relative; width:290px; align-self:center; justify-self:center; background:#f6f4e9; border-radius:12px; overflow:hidden; color:#193122; box-shadow:20px 25px 0 #00180f24; transform:rotate(7deg); }
.feature-ticket-top { display:flex; align-items:center; justify-content:space-between; background:var(--gold); padding:14px 23px; font-size:11px; letter-spacing:2px; font-weight:800; }
.feature-ticket-top>span:last-child { font-size:24px; line-height:1; }
.feature-ticket-art { position:relative; min-height:235px; padding:27px 24px; overflow:hidden; background:#e8efcf; }
.feature-ticket-art img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; opacity:.42; filter:saturate(.5); }
.feature-ticket-art>strong { position:relative; display:block; font-size:47px; font-weight:800; line-height:.98; letter-spacing:-2px; }
.feature-ticket-art>strong>span { font-size:36px; }
.feature-ticket-stub { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:21px 23px; border-top:2px dashed #bacdb6; }
.feature-ticket-stub small { display:block; font-size:7px; letter-spacing:1.1px; }
.feature-ticket-stub strong { font-size:17px; display:block; margin-top:5px; text-transform:uppercase; }
.ticket-stripes { width:49px; height:41px; background:repeating-linear-gradient(90deg,#244c30 0 2px,transparent 2px 4px,#244c30 4px 5px,transparent 5px 8px); }
.cinema-service-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; border-bottom:1px solid var(--line); font-size:11px; color:#657269; }
.cinema-service-bar b { color:var(--green); display:inline-grid; place-items:center; background:#e4eeda; border-radius:50%; width:27px; height:27px; font-size:10px; margin-right:9px; }
.cinema-service-bar>a { color:var(--green-dark); font-weight:600; }
.lineup { padding-top:46px; }
.lineup .eyebrow { color:var(--green); }
.lineup .section-heading h2 { font-size:36px; }
.filter-bar { border-radius:8px; box-shadow:0 3px 14px #193e2105; }
.genre-chips { border-bottom:1px solid var(--line); padding-bottom:20px; }
.chip { font-size:11px; background:white; border-radius:5px; font-weight:600; }
.chip.selected { background:var(--green); border-color:var(--green); color:white; }
.cinema-grid { gap:30px 25px; }
.event-card { background:white; border:1px solid var(--line); border-radius:10px; overflow:hidden; box-shadow:0 5px 18px #1c3e2505; transition:box-shadow .2s,transform .2s; }
.event-card:hover { box-shadow:0 9px 24px #1c3e2512; transform:translateY(-3px); }
.cinema-poster { border-radius:0; aspect-ratio:1.05; }
.cinema-poster:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#071e15dd,transparent 83%); pointer-events:none; }
.cinema-poster .poster-title { z-index:1; top:auto; bottom:25px; left:23px; right:23px; color:white; font-size:35px; max-width:none; width:calc(100% - 95px); letter-spacing:-1.3px; }
.cinema-poster .poster-title>span { color:#e5eadf; font-size:8px; margin-top:12px; }
.cinema-poster .poster-top { z-index:1; border:0; font-size:7px; }
.cinema-poster .poster-top>span:last-child { background:#ffffffc9; padding:4px 7px; border-radius:3px; margin-top:-4px; letter-spacing:1px; }
.cinema-poster .poster-date { z-index:1; top:58px; bottom:auto; left:22px; padding:10px 11px; background:#fff; color:#20402a; border-radius:5px; font-size:24px; text-align:center; box-shadow:0 3px 10px #12322013; }
.cinema-poster .poster-date small { font-size:8px; margin-top:6px; }
.cinema-poster .poster-link { z-index:1; color:#fff; border-color:#ffffff5c; bottom:28px; right:22px; }
.event-meta,.event-card h3,.event-card .venue-line { margin-left:20px; margin-right:20px; }
.event-meta { margin-top:18px; }
.event-meta>span:first-child { color:var(--green); }
.event-card h3 { font-size:21px; }
.event-card-bottom { margin:0 20px; padding:15px 0 19px; gap:15px; }
.event-card-bottom>a { background:var(--green); color:white; border-radius:5px; padding:9px 12px; font-size:10px; }
.event-card-bottom>a:hover { background:var(--green-dark); }
.event-card-bottom strong { font-size:17px; }
.how-band { background:white; border:1px solid var(--line); border-radius:10px; padding:32px; }
.step-number { color:var(--orange); font-weight:700; }
.organizer-band { background:#143d26; color:white; margin-top:35px; }
.organizer-band .eyebrow { color:#eabe52; }
.organizer-band p:not(.eyebrow) { color:#bbd1be; }
.organizer-band .giant-star { color:var(--gold); }
.organizer-band>.button { background:var(--gold); color:#173321; border:0; }
.site-footer { background:white; }
.footer-top .brand-logo { width:110px; height:75px; }
.footer-top .brand-logo img { width:175px; height:87.5px; left:-34px; top:-5px; }
.footer-top .brand-product { font-size:11px; }
.footer-top .brand-product span { font-size:6px; }
.footer-top p { margin-top:6px; }
.footer-bottom { border-color:var(--line); }
.small-star,.big-star { color:var(--green); }
.booking-panel,.form-card { border-top:4px solid var(--green); box-shadow:0 7px 25px #143c2205; }
.ticket-option:has(input:checked) { border-color:var(--green); background:#edf6e8; }
.ticket-option input { accent-color:var(--green); }
.ticket-option .stock-label { color:var(--green); }
input:focus,select:focus,textarea:focus { outline-color:var(--green); }
a:focus-visible,button:focus-visible,summary:focus-visible { outline-color:var(--orange); }
.notice { background:#edf6e6; border-color:#c8debc; color:#315c2c; }
.notice.error { background:#fff1eb; border-color:#efc8b7; color:#9c3827; }
.status-paid,.status-published { background:#e1f0da; color:#286027; }
.status-pending { background:#fff1cc; color:#805700; }
.ticket-stub { background:#edf3dd; border-color:#90b476; }
.lookup-art { background:#f6c343; border-color:#ddaa21; box-shadow:8px 8px 0 #e4ebd9; }
.login-layout { max-width:1140px; gap:60px; align-items:stretch; padding-top:55px; min-height:640px; }
.login-layout>section:first-child { border-radius:12px; background:linear-gradient(135deg,#113923,#257335); padding:44px 36px; color:#fff; position:relative; overflow:hidden; }
.login-layout>section:first-child:after { content:''; position:absolute; width:220px; height:220px; border:40px solid #e8bd2820; border-radius:50%; bottom:-115px; right:-85px; }
.login-layout>section:first-child .eyebrow { color:#f1c252; font-size:9px; }
.login-layout h1 { font-size:48px; letter-spacing:-2px; line-height:1.1; }
.login-layout .serif-word { color:#f6c447; }
.login-layout>section:first-child>p:not(.eyebrow) { color:#c4d9c9; font-size:13px; }
.portal-features { margin-top:35px; display:flex; flex-direction:column; gap:13px; font-size:12px; color:#dce8da; }
.portal-features span:before { content:'✓'; color:var(--gold); margin-right:12px; }
.login-layout .form-card { align-self:center; padding:35px; }
[data-demo-field] { background:#f3f7f0; border-color:#d8e3d1; color:#31512e; }
.admin-heading .eyebrow { color:var(--green); }
.admin-nav { gap:8px; }
.admin-nav a.active { background:var(--green); color:white; }
.stats-grid article { border-top:3px solid var(--green); }
.stats-grid article:first-child { background:#173f29; border-color:#173f29; color:white; }
.stats-grid article:first-child span,.stats-grid article:first-child small { color:#c7dac8; }
.stats-grid article:nth-child(2) { border-top-color:var(--gold); }
.stats-grid article:nth-child(3) { border-top-color:var(--orange); }
th { background:#eaf2e8; color:#3a613b; }
@media(max-width:1100px) {
  .brand-product { display:none; }
  .cinema-hero { padding:42px; gap:30px; }
  .feature-ticket { width:260px; }
  .feature-ticket-art>strong { font-size:43px; }
  .feature-ticket-art>strong>span { font-size:32px; }
  .cinema-service-bar>a { max-width:150px; font-size:10px; }
  .event-card-bottom { gap:7px; }
  .event-card-bottom>a { padding:9px; font-size:9px; }
  .cinema-poster .poster-title { font-size:31px; }
  .login-layout { gap:30px; }
}
@media(max-width:800px) {
  .header-inner { padding-top:0; min-height:95px; }
  .brand-logo { width:112px; height:78px; }
  .brand-logo img { width:180px; height:90px; left:-35px; top:-5px; }
  .brand-product { display:block; font-size:12px; }
  .main-nav { border-top:1px solid #edf1eb; gap:32px; }
  .main-nav a { padding:15px 0; }
  .main-nav a.active:after { bottom:6px; }
  .cinema-hero { margin-top:20px; padding:32px; gap:22px; grid-template-columns:1.2fr 1fr; min-height:440px; }
  .cinema-hero h1 { font-size:43px; }
  .feature-label { font-size:8px; letter-spacing:1.3px; }
  .feature-artists { font-size:11px; }
  .feature-description { font-size:12px; }
  .feature-facts { flex-direction:column; gap:12px; margin:18px 0; font-size:11px; }
  .feature-actions { flex-direction:column; align-items:flex-start; gap:16px; }
  .feature-ticket { width:215px; }
  .feature-ticket-art { min-height:210px; padding:24px 19px; }
  .feature-ticket-art>strong { font-size:35px; }
  .feature-ticket-art>strong>span { font-size:26px; }
  .feature-ticket-stub { padding:17px; gap:10px; }
  .feature-ticket-stub strong { font-size:14px; }
  .feature-ticket-stub small { font-size:6px; }
  .cinema-service-bar { flex-wrap:wrap; gap:12px 20px; padding:18px 0; }
  .cinema-service-bar>a { max-width:none; width:100%; padding-top:5px; }
  .cinema-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .login-layout h1 { font-size:39px; }
  .login-layout>section:first-child { padding:32px 25px; }
  .login-layout .form-card { padding:28px; }
}
@media(max-width:520px) {
  .brand-product { font-size:10px; letter-spacing:1px; padding-left:10px; }
  .brand-product span { font-size:6px; letter-spacing:1px; }
  .brand { gap:8px; }
  .brand-logo { width:95px; height:69px; }
  .brand-logo img { width:155px; height:77.5px; left:-30px; top:-4px; }
  .organizer-link { padding:8px 10px; gap:8px; font-size:9px; }
  .main-nav { gap:28px; }
  .main-nav a { font-size:11px; }
  .cinema-hero { grid-template-columns:1fr; padding:30px 25px; gap:25px; min-height:0; }
  .cinema-hero h1 { font-size:43px; }
  .feature-description br { display:none; }
  .feature-facts { gap:16px; margin:20px 0; }
  .feature-actions { flex-direction:row; align-items:center; gap:16px; flex-wrap:wrap; }
  .feature-actions .button { min-width:0; padding:13px 18px; gap:20px; font-size:12px; }
  .feature-secondary { font-size:10px; }
  .feature-demo { font-size:7px; letter-spacing:.8px; }
  .feature-ticket { display:none; }
  .cinema-service-bar { display:grid; grid-template-columns:1fr; gap:12px; font-size:11px; }
  .cinema-service-bar b { width:23px; height:23px; }
  .cinema-service-bar>a { margin-top:3px; font-size:11px; }
  .lineup { padding-top:34px; }
  .lineup .section-heading h2 { font-size:29px; }
  .lineup .eyebrow { font-size:7px; }
  .cinema-grid { grid-template-columns:1fr; gap:24px; }
  .cinema-poster { aspect-ratio:1.12; }
  .cinema-poster .poster-title { font-size:37px; }
  .event-meta,.event-card h3,.event-card .venue-line { margin-left:18px; margin-right:18px; }
  .event-card-bottom { margin:0 18px; }
  .event-card-bottom>a { padding:10px 15px; font-size:11px; }
  .how-band { padding:25px 20px; }
  .organizer-band>.button { margin-left:0; }
  .login-layout { padding-top:30px; gap:24px; }
  .login-layout>section:first-child { padding:28px; }
  .login-layout h1 { font-size:38px; }
  .login-layout>section:first-child>p:not(.eyebrow) { margin-bottom:0; }
  .portal-features { margin-top:22px; gap:8px; font-size:11px; }
  .login-layout .form-card { padding:27px 24px; }
}
@media(prefers-reduced-motion:reduce) { .event-card { transition:none; } }
@media print { .site-header,.site-footer { display:none!important; } .form-card { box-shadow:none; } }
/* Fit the complete supplied logo, including the company suffix. */
.brand-logo img { width:200px; height:100px; left:-37px; top:-3px; }
.footer-top .brand-logo img { width:164px; height:82px; left:-30px; top:-3px; }
@media(max-width:800px) { .brand-logo img { width:170px; height:85px; left:-32px; top:-3px; } }
@media(max-width:520px) { .brand-logo img { width:150px; height:75px; left:-27px; top:-3px; } }
/* Concert planning and finance modules. */
.admin-nav { flex-wrap:wrap; }
.concert-context { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.concert-context form { display:flex; align-items:flex-end; gap:12px; flex:1; max-width:770px; }
.concert-context label { flex:1; margin:0; font-weight:600; }
.concert-context select { font-size:12px; }
.concert-context .button { margin-bottom:1px; }
.concert-tabs { display:flex; flex-wrap:wrap; gap:7px; padding:15px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:30px; }
.concert-tabs a { font-size:11px; padding:9px 12px; border-radius:5px; background:#fff; border:1px solid var(--line); }
.concert-tabs a.active { color:#fff; background:var(--green); border-color:var(--green); }
.concert-overview-heading { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-bottom:30px; }
.concert-overview-heading h2 { font-size:32px; max-width:760px; line-height:1.15; }
.plan-columns { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:25px; }
.preserve-lines { white-space:pre-line; font-size:13px; color:#627063; line-height:1.8; }
.module-panel { margin-top:25px; }
.module-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:28px; }
.module-shortcuts a { display:block; border:1px solid #cbdcc8; background:#edf4e8; border-radius:9px; padding:22px; }
.module-shortcuts strong { display:block; color:var(--green-dark); font-size:16px; margin-bottom:7px; }
.module-shortcuts span { font-size:11px; color:var(--muted); }
.planning-details { padding:20px 0; border-top:1px solid var(--line); margin-top:22px; }
.planning-details summary { cursor:pointer; font-size:14px; font-weight:600; margin-bottom:18px; }
.planning-details>label { margin-top:20px; }
.planned-tiers>div { display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding:17px 0; }
.planned-tiers small { display:block; color:var(--muted); margin-top:5px; }
.planned-tiers b { font-size:18px; }
.monitor-status { display:flex; align-items:center; flex-wrap:wrap; gap:9px; font-size:11px; color:var(--green-dark); border:1px solid #d1e2c8; background:#edf5e8; border-radius:7px; padding:14px 18px; margin-bottom:28px; }
.monitor-status small { margin-left:auto; font-size:10px; }
.finance-secondary { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:20px; border:1px solid var(--line); background:white; margin:-20px 0 35px; border-radius:8px; font-size:11px; color:var(--muted); }
.finance-secondary b { display:block; font-size:21px; color:var(--ink); margin-top:8px; }
.forecast-grid article:first-child { background:#fff4d8; border-color:#e8c66b; color:var(--ink); }
.forecast-grid article:first-child span,.forecast-grid article:first-child small { color:#726748; }
.finance-editor-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr); align-items:start; gap:26px; }
.finance-editor-grid td,.finance-editor-grid th { padding:14px 12px; }
.finance-editor-grid .form-card { padding:25px; }
.finance-editor-grid .form-card h2 { font-size:26px; }
.finance-editor-grid .form-card h3 { font-size:22px; }
.selected-row { background:#f1f8ea; }
.voided-row { background:#f5f5f1; color:#7a7d76; }
.void-form { min-width:200px; margin-top:14px; }
.notice.warning { background:#fff3de; border-color:#e8c780; color:#805600; }
.table-wrap caption { text-align:left; padding:18px 20px; font-size:15px; font-weight:700; background:#f0f5eb; }
.table-wrap tfoot th { border-top:2px solid var(--line); }
.stats-grid strong { font-size:clamp(21px,2.3vw,31px); overflow-wrap:anywhere; }
.status-proposal { background:#fff0c7; color:#7e5d0a; }
.cinema-hero h1 { font-size:clamp(38px,4.8vw,63px); }
.event-detail-grid .detail-poster .poster-title { font-size:clamp(34px,4.5vw,62px); }
.event-detail-grid .event-description h1 { font-size:38px; line-height:1.15; }
.event-card h3 { line-height:1.25; }
.event-meta { flex-wrap:wrap; }
.event-meta>span:last-child { line-height:1.5; }
@media(max-width:1000px) { .finance-editor-grid,.plan-columns { grid-template-columns:1fr; }.concert-overview-heading { flex-direction:column; align-items:flex-start; }.finance-editor-grid #entry { max-width:650px; width:100%; }.module-shortcuts { gap:12px; }.module-shortcuts a { padding:17px; } }
@media(max-width:600px) { .concert-context { align-items:stretch; flex-direction:column; }.concert-context form { max-width:100%; }.concert-context select { width:100%; }.concert-context .status { align-self:flex-start; }.concert-tabs { gap:6px; }.concert-tabs a { font-size:10px; padding:8px 9px; }.module-shortcuts { grid-template-columns:1fr; }.finance-secondary { grid-template-columns:1fr 1fr; padding:17px; }.monitor-status { font-size:10px; }.monitor-status small { margin-left:0; width:100%; }.concert-overview-heading h2 { font-size:28px; }.event-detail-grid .event-description h1 { font-size:31px; }.stats-grid strong { font-size:23px; }.financial-report .receipt { font-size:11px; }.financial-report .receipt>div { gap:15px; }.financial-report .receipt dd { white-space:nowrap; } }

.poster.custom-artwork img { opacity:1; mix-blend-mode:normal; object-fit:cover; }
.poster.custom-artwork::after { display:none; }
.poster.custom-artwork .poster-top,
.poster.custom-artwork .poster-title,
.poster.custom-artwork .poster-date,
.poster.custom-artwork .poster-link { display:none; }
.artwork-editor { padding-bottom:60px; scroll-margin-top:30px; }
.artwork-editor .form-card { max-width:850px; }
.artwork-preview { display:block; width:240px; max-width:100%; aspect-ratio:1; object-fit:contain; background:#edf2e8; border-radius:10px; margin:20px 0; }
.artwork-editor form { margin-top:20px; }

.check-label { display:flex; align-items:center; gap:10px; }.check-label input,.task-check-form input { width:20px; height:20px; accent-color:var(--green); cursor:pointer; }.task-check-form { margin:0; }.concert-overview-heading { flex-wrap:wrap; }.concert-overview-heading>div { flex:1 1 420px; min-width:0; }.concert-overview-heading>.button { flex-shrink:0; }

.checkout-heading { margin:20px 0 28px; }
.checkout-heading h1 { font-size:clamp(30px,4vw,48px); line-height:1.15; }
.checkout-test-notice { margin-bottom:28px; background:#fff5d8; border-color:#e8c66b; color:#6e5013; }
.checkout-payment-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:20px; }
.checkout-payment-heading h2 { margin:0; }
.payment-placeholder { border:1px dashed #b6cbb1; border-radius:10px; padding:24px; background:#f6f9f3; margin-bottom:24px; }
.payment-placeholder h3 { font-size:24px; }
.payment-placeholder button:disabled { cursor:not-allowed; opacity:.65; white-space:normal; }
.checkout-page .receipt dd { overflow-wrap:anywhere; min-width:0; }
.checkout-payment>.button { margin-top:16px; }

.gcash-button { background:#005ce6; color:white; border-color:#005ce6; }.gcash-button:hover { background:#0046b0; }

.feedback-alert { border:0; border-radius:18px; padding:36px; width:min(440px,calc(100vw - 36px)); max-height:85vh; overflow:auto; text-align:center; color:var(--ink); box-shadow:0 20px 80px #0003; }
.feedback-alert::backdrop { background:#0d211d80; }
.feedback-alert h2 { font-size:28px; margin:18px 0 12px; }
.feedback-alert p { font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.feedback-alert form { margin-top:25px; }
.feedback-alert .button { min-width:120px; justify-content:center; }
.feedback-icon { display:inline-grid; place-items:center; width:76px; height:76px; border:3px solid #84b96e; border-radius:50%; color:#287b31; background:#f0faeb; font-size:42px; }
.feedback-error .feedback-icon { border-color:#e68e8e; color:#b42318; background:#fff0ee; }
.feedback-error h2,.feedback-error p { color:#b42318; }
.feedback-error .button { background:#b42318; border-color:#b42318; }

.admission-qr { display:flex; align-items:center; gap:20px; margin:22px 0; }
.ticket-qr { padding:16px; background:#fff; border:1px solid #d6dfd1; border-radius:8px; flex:0 0 auto; }
.ticket-qr img,.ticket-qr canvas { width:160px; height:160px; }
.admission-qr strong { display:block; font-size:16px; margin-top:8px; overflow-wrap:anywhere; }
.admission-qr small { font-size:9px; letter-spacing:1.5px; }
.admission-qr p { font-size:12px; }
@media(max-width:520px) { .admission-qr { flex-direction:column; align-items:flex-start; } }
@media print { .feedback-alert { display:none!important; }.admission-qr { flex-direction:row; }.ticket-qr { print-color-adjust:exact; -webkit-print-color-adjust:exact; } }
