/* ==========================================================================
   rise-cup-popup.css — RISE Comedy Cup promo popup

   Cloned from rise-cup-popup.css. Enqueued only while
   rise_cup_popup_is_active() (functions.php) — i.e. until
   RISE_CUP_POPUP_END, and never on the Cup page itself. Markup is built
   lazily by rise_render_cup_popup() only for visitors who haven't seen it,
   so the logo below is never fetched otherwise.

   Palette matches the Cup page hero (--festival-* tokens in
   page-rise-comedy-cup.php): green → dark green gradient, gold accents.
   ========================================================================== */

.rise-cup-popup-overlay {
	--cup-green:      #1f9d55;
	--cup-green-dark: #12703c;
	--cup-navy:       #0d2b1c;
	--cup-gold:       #fdbb14;
	--cup-lime:       #8fd15b;

	position:        fixed;
	inset:           0;
	z-index:         99999;
	display:         flex;
	align-items:     center;
	justify-content: center;
	padding:         20px;
	background:      rgba( 13, 43, 28, 0.8 );
	opacity:         0;
	visibility:      hidden;
	pointer-events:  none;
	transition:      opacity var( --rise-dur-base ) var( --rise-ease ), visibility var( --rise-dur-base ) var( --rise-ease );
}

.rise-cup-popup-overlay.is-visible {
	opacity:        1;
	visibility:     visible;
	pointer-events: auto;
}

.rise-cup-popup {
	position:      relative;
	max-width:     460px;
	width:         100%;
	max-height:    calc( 100vh - 40px );
	overflow-y:    auto;
	padding:       36px 32px 30px;
	border:        2px solid var( --cup-gold );
	border-radius: var( --rise-radius-lg );
	background:    linear-gradient( 135deg, var( --cup-green ) 0%, var( --cup-green-dark ) 60%, var( --cup-navy ) 100% );
	color:         #FFFFFF;
	text-align:    center;
	box-shadow:    0 20px 60px rgba( 0, 0, 0, 0.5 );
	transform:     scale( 0.94 );
	transition:    transform var( --rise-dur-base ) var( --rise-ease );
}

.rise-cup-popup-overlay.is-visible .rise-cup-popup {
	transform: scale( 1 );
}

.rise-cup-popup-close {
	position:    absolute;
	top:         6px;
	right:       10px;
	background:  none;
	border:      none;
	color:       #FFFFFF;
	font-size:   30px;
	line-height: 1;
	cursor:      pointer;
	padding:     4px 8px;
	text-shadow: 1px 1px 0 rgba( 0, 0, 0, 0.4 );
}
.rise-cup-popup-close:hover,
.rise-cup-popup-close:focus-visible {
	color: var( --cup-gold );
}

.rise-cup-popup-logo {
	display:       block;
	width:         auto;
	height:        140px;
	margin:        0 auto 16px;
	filter:        drop-shadow( 0 6px 14px rgba( 0, 0, 0, 0.35 ) );
}

.rise-cup-popup-eyebrow {
	margin:         0 0 6px;
	color:          rgba( 255, 255, 255, 0.85 );
	font-family:    var( --rise-font-heading );
	font-weight:    var( --rise-fw-bold );
	font-size:      var( --rise-fs-caption );
	text-transform: uppercase;
	letter-spacing: var( --rise-ls-caps );
}

.rise-cup-popup-headline {
	margin:         0 0 6px;
	color:          #FFFFFF;
	font-family:    var( --rise-font-display );
	font-weight:    400;
	font-size:      clamp( 2rem, 1.4rem + 2.6vw, 2.6rem );
	line-height:    var( --rise-lh-tight );
	letter-spacing: var( --rise-ls-display );
	text-shadow:    2px 2px 0 rgba( 13, 43, 28, 0.6 );
}

.rise-cup-popup-dates {
	margin:         0 0 14px;
	color:          var( --cup-gold );
	font-family:    var( --rise-font-heading );
	font-weight:    var( --rise-fw-heavy );
	font-size:      var( --rise-fs-h5 );
	text-transform: uppercase;
	letter-spacing: var( --rise-ls-caps );
}

.rise-cup-popup-text {
	margin:      0 0 22px;
	color:       #FFFFFF;
	font-family: var( --rise-font-body );
	font-size:   var( --rise-fs-small );
	line-height: var( --rise-lh-normal );
}

.rise-cup-popup-ctas {
	display:        flex;
	flex-direction: column;
	gap:            10px;
}

.rise-cup-popup-btn {
	display:         block;
	padding:         14px 24px;
	background:      var( --cup-gold );
	color:           var( --cup-navy ) !important;
	font-family:     var( --rise-font-heading );
	font-size:       var( --rise-fs-button );
	font-weight:     var( --rise-fw-heavy );
	text-transform:  uppercase;
	letter-spacing:  var( --rise-ls-caps );
	text-decoration: none !important;
	border:          2px solid var( --cup-gold );
	border-radius:   var( --rise-radius-pill );
	transition:      background var( --rise-dur-fast ), color var( --rise-dur-fast ), border-color var( --rise-dur-fast );
}
.rise-cup-popup-btn:hover,
.rise-cup-popup-btn:focus-visible {
	background: #FFFFFF;
	border-color: #FFFFFF;
}

.rise-cup-popup-btn--alt {
	background: transparent;
	color:      #FFFFFF !important;
	border-color: rgba( 255, 255, 255, 0.7 );
}
.rise-cup-popup-btn--alt:hover,
.rise-cup-popup-btn--alt:focus-visible {
	background:   rgba( 255, 255, 255, 0.12 );
	border-color: #FFFFFF;
}

@media ( max-width: 480px ) {
	.rise-cup-popup      { padding: 32px 20px 24px; }
	.rise-cup-popup-logo { height: 110px; }
}

@media ( prefers-reduced-motion: reduce ) {
	.rise-cup-popup-overlay,
	.rise-cup-popup { transition: none; }
}
