/* Kazel 2.4.2. Scoped guide additions; no gateway or page layout replacements. */
.kzfg-detail-actions{display:flex;align-items:stretch;justify-content:flex-end;gap:12px;margin-top:12px;max-width:100%}
.kzfg-detail-actions .kzfg-guide-hero{width:25%;min-width:260px;justify-content:center}
.detail-hero .kzfg-guide-hero{background:rgba(16,17,38,.45);border:1px solid rgba(255,255,255,.72);color:#fff;backdrop-filter:blur(6px);padding:12px 22px;box-shadow:0 6px 20px #08071720}
.detail-hero .kzfg-guide-hero:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.detail-hero .kzfg-guide-hero>svg:first-child{color:#fff}
.kzfg-floating-root{--kzfg-obstruction:0px;position:fixed;right:24px;bottom:calc(max(20px,env(safe-area-inset-bottom,0px)) + var(--kzfg-obstruction));z-index:85;max-width:calc(100vw - 48px);pointer-events:none;font-family:var(--font-sans,Arial,sans-serif)}
.kzfg-floating-anchor{pointer-events:auto}
.kzfg-guide-button.kzfg-floating-button{box-sizing:border-box;background:linear-gradient(110deg,#e91673,#d51264);border:1px solid #ffffffcc;color:#fff;border-radius:999px;min-height:56px;max-width:min(440px,calc(100vw - 48px));padding:14px 19px 14px 18px;gap:12px;font-size:14px;font-weight:750;box-shadow:0 7px 24px #b00d5138,0 2px 6px #17142b16;line-height:1.3;white-space:normal;text-align:left;transition:background .15s,box-shadow .15s}
.kzfg-guide-button.kzfg-floating-button>svg{color:#fff;flex-shrink:0}
.kzfg-floating-button>span{min-width:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.6em;overflow:hidden}
.kzfg-guide-button.kzfg-floating-button:hover{background:#c30f5a;color:#fff;box-shadow:0 8px 28px #b00d514d}
.kzfg-floating-button .kzfg-chevron{margin-left:6px}
.kzfg-floating-root[data-suppressed=true]{visibility:hidden;pointer-events:none}
.kzfg-floating-root[data-suppressed=true] .kzfg-floating-anchor{pointer-events:none}
.kzfg-floating-spacer{height:0;pointer-events:none;flex-shrink:0}
.kzfg-dialog{overscroll-behavior:contain}
/* Self-contained ticket link styling also works on native WP / WooCommerce pages. */
.kzfg-dialog .kzfg-ticket-panel>a.button{display:inline-flex;align-items:center;gap:10px;background:#d91569;border:1px solid #d91569;border-radius:12px;color:#fff;font:inherit;font-weight:750;padding:14px 22px;text-decoration:none;min-height:48px}
.kzfg-dialog .kzfg-ticket-panel>a.button:hover{background:#bb1058;border-color:#bb1058}
@media(max-width:1023px) and (min-width:701px){.kzfg-detail-actions .kzfg-guide-hero{width:50%;min-width:0}}
@media(max-width:700px){
 .kzfg-detail-actions{margin-top:12px}
 .kzfg-detail-actions .kzfg-guide-hero{width:100%;min-width:0}
 .detail-hero .kzfg-guide-hero{width:100%;justify-content:center;font-size:14px}
 .kzfg-floating-root{left:0;right:0;bottom:0;max-width:none;width:auto}
 /* Visual stack on mobile: ticket/cart first, guide directly underneath. */
 body.kzfg-guide-stack-active .mobile-ticket-cart,
 body.kzfg-guide-stack-active .mobile-checkout-bar,
 body.kzfg-guide-stack-active .home-mobile-ticket-bar{bottom:calc(var(--kzfg-guide-mobile-stack,68px) + max(10px,env(safe-area-inset-bottom,0px)))!important}
 .kzfg-guide-button.kzfg-floating-button{display:flex;justify-content:center;width:100%;max-width:none;min-height:58px;border-radius:0;border-width:1px 0 0;padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px));font-size:14px;box-shadow:0 -3px 20px #34112822;text-align:center}
 .kzfg-floating-button>span{max-width:calc(100vw - 100px)}
 .kzfg-dialog-head{padding-top:calc(25px + env(safe-area-inset-top,0px))}
 .kzfg-dialog-body{padding-bottom:calc(35px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.kzfg-floating-button{transition:none!important;animation:none!important}}
@media print{.kzfg-floating-root,.kzfg-floating-spacer,.kzfg-detail-actions,.kzfg-guide-nav{display:none!important}}
.kzfm-preview .consent-layer{display:none!important} /* Editor only: no consent stored or changed. */


/* 2.4.5 — inline guide belongs after the complete ticket builder, never in the hero. */
.kzfg-ticket-guide-section{padding:0 0 clamp(34px,5vw,68px);background:var(--warm,#f7f2ea)}
.kzfg-ticket-guide-shell{display:flex;justify-content:center;align-items:center}
.kzfg-ticket-guide-button{width:min(100%,560px);min-height:54px;background:#fff;border-color:#d9d4df;box-shadow:0 10px 28px #17142b0d}
.kzfg-ticket-guide-button:hover{border-color:#df1870;background:#fff7fb}

/* Admin-selectable compact launcher. Text stays available to assistive technology. */
.kzfg-guide-button.kzfg-floating-button.kzfg-floating-icon{width:56px;height:56px;min-width:56px;min-height:56px;max-width:56px;padding:0;border-radius:50%;gap:0;justify-content:center;text-align:center}
.kzfg-floating-icon>span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.kzfg-floating-icon .kzfg-chevron{display:none!important}
.kzfg-floating-icon>svg:first-child{width:24px;height:24px;margin:0}

@media(max-width:700px){
 /* Required visual order: existing ticket/cart CTA above, guide at the absolute bottom. */
 body.kzfg-guide-stack-active .mobile-ticket-cart,
 body.kzfg-guide-stack-active .mobile-checkout-bar,
 body.kzfg-guide-stack-active .home-mobile-ticket-bar{bottom:calc(var(--kzfg-guide-mobile-stack,68px) + max(10px,env(safe-area-inset-bottom,0px)))!important}
 .kzfg-floating-root{bottom:0!important}
 .kzfg-floating-root[data-style="icon"]{left:auto;right:12px;bottom:max(10px,env(safe-area-inset-bottom,0px))!important;width:56px;max-width:56px}
 .kzfg-guide-button.kzfg-floating-button.kzfg-floating-icon{display:flex;width:56px;max-width:56px;min-height:56px;height:56px;border:1px solid #ffffffcc;border-radius:50%;padding:0;box-shadow:0 7px 24px #b00d5140}
 .kzfg-ticket-guide-section{padding-bottom:34px}
 .kzfg-ticket-guide-shell{padding-inline:18px}
 .kzfg-ticket-guide-button{width:100%;min-height:52px}
}
@media print{.kzfg-ticket-guide-section{display:none!important}}
