/* G365 Art Giveaway — scoped .g365gw- namespace, !important guards vs theme/Elementor */

.g365gw-wrap { margin: 14px 0 !important; clear: both !important; }

.g365gw-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: linear-gradient(135deg, #c9a227 0%, #e6c356 100%) !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 14px 26px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: .3px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(201, 162, 39, .35) !important;
	transition: transform .15s ease, box-shadow .15s ease !important;
	width: auto !important;
	text-decoration: none !important;
}
.g365gw-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(201, 162, 39, .45) !important; color: #000 !important; }
.g365gw-btn:disabled { opacity: .6 !important; cursor: not-allowed !important; transform: none !important; }
.g365gw-btn-ico { font-size: 17px !important; line-height: 1 !important; }

.g365gw-ctx-loop .g365gw-btn { padding: 9px 14px !important; font-size: 12px !important; width: 100% !important; justify-content: center !important; }

.g365gw-note { margin: 8px 0 0 !important; font-size: 12px !important; color: #6b6b6b !important; line-height: 1.5 !important; }

.g365gw-claimed {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: wrap !important;
	background: #f2f8f2 !important;
	border: 1px solid #c6e2c6 !important;
	border-left: 4px solid #2e9b3f !important;
	border-radius: 5px !important;
	padding: 11px 14px !important;
	font-size: 13px !important;
	color: #23532c !important;
}
.g365gw-claimed-ico { color: #2e9b3f !important; font-weight: 700 !important; }
.g365gw-claimed-link { font-weight: 700 !important; color: #1c6b2a !important; text-decoration: underline !important; }

/* ---------- Modal ---------- */
.g365gw-overlay {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(12, 12, 14, .72) !important;
	backdrop-filter: blur(3px) !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 18px !important;
	opacity: 0;
	transition: opacity .18s ease;
}
.g365gw-overlay.g365gw-open { opacity: 1; }

.g365gw-modal {
	background: #fff !important;
	border-radius: 12px !important;
	max-width: 440px !important;
	width: 100% !important;
	max-height: 90vh !important;
	overflow-y: auto !important;
	padding: 28px 26px 24px !important;
	position: relative !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .4) !important;
	transform: translateY(14px);
	transition: transform .18s ease;
	font-family: inherit !important;
}
.g365gw-overlay.g365gw-open .g365gw-modal { transform: translateY(0); }

.g365gw-close {
	position: absolute !important;
	top: 10px !important; right: 12px !important;
	background: none !important; border: 0 !important;
	font-size: 26px !important; line-height: 1 !important;
	color: #999 !important; cursor: pointer !important;
	padding: 4px 8px !important;
}
.g365gw-close:hover { color: #333 !important; }

.g365gw-modal h3 { margin: 0 0 6px !important; font-size: 21px !important; font-weight: 800 !important; color: #16161a !important; }
.g365gw-modal p.g365gw-sub { margin: 0 0 4px !important; font-size: 13px !important; color: #666 !important; line-height: 1.5 !important; }
.g365gw-prod { margin: 12px 0 18px !important; padding: 10px 12px !important; background: #faf6e8 !important; border: 1px solid #ecdfae !important; border-radius: 6px !important; font-size: 13px !important; color: #6a5510 !important; }

.g365gw-field { margin-bottom: 14px !important; }
.g365gw-field label { display: block !important; font-size: 12px !important; font-weight: 700 !important; margin-bottom: 5px !important; color: #333 !important; text-transform: uppercase !important; letter-spacing: .4px !important; }
.g365gw-field input[type="text"],
.g365gw-field input[type="email"] {
	width: 100% !important;
	padding: 12px 13px !important;
	border: 1px solid #d6d6d6 !important;
	border-radius: 6px !important;
	font-size: 15px !important;
	background: #fff !important;
	color: #111 !important;
	box-sizing: border-box !important;
}
.g365gw-field input:focus { outline: 0 !important; border-color: #c9a227 !important; box-shadow: 0 0 0 3px rgba(201, 162, 39, .18) !important; }

.g365gw-opt { font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; color: #999 !important; }

.g365gw-hint { display: block !important; margin-top: 5px !important; font-size: 11px !important; color: #8a8a8a !important; line-height: 1.4 !important; }

.g365gw-field input.g365gw-invalid { border-color: #d63638 !important; box-shadow: 0 0 0 3px rgba(214, 54, 56, .14) !important; }

.g365gw-hp { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

.g365gw-submit { width: 100% !important; justify-content: center !important; margin-top: 4px !important; }

.g365gw-msg { margin-top: 14px !important; padding: 11px 13px !important; border-radius: 6px !important; font-size: 13px !important; line-height: 1.55 !important; }
.g365gw-msg.err { background: #fdf0f0 !important; border: 1px solid #f0c4c4 !important; color: #8f2020 !important; }
.g365gw-msg.ok  { background: #f1f8f2 !important; border: 1px solid #c3e2c8 !important; color: #1f5c2b !important; }

.g365gw-dl { display: block !important; margin-top: 12px !important; text-align: center !important; background: #16161a !important; color: #fff !important; padding: 13px 18px !important; border-radius: 6px !important; font-weight: 700 !important; text-decoration: none !important; }
.g365gw-dl:hover { background: #000 !important; color: #fff !important; }
.g365gw-acct { display: block !important; margin-top: 10px !important; text-align: center !important; font-size: 12px !important; color: #666 !important; text-decoration: underline !important; }
.g365gw-fine { margin-top: 14px !important; font-size: 11px !important; color: #999 !important; line-height: 1.5 !important; text-align: center !important; }

/* ---------- Banner ---------- */
.g365gw-banner { background: linear-gradient(135deg, #16161a 0%, #2c2416 100%) !important; border-radius: 12px !important; padding: 30px 24px !important; text-align: center !important; color: #fff !important; }
.g365gw-banner-title { margin: 0 0 8px !important; font-size: 26px !important; font-weight: 900 !important; color: #e6c356 !important; letter-spacing: .5px !important; }
.g365gw-banner-text { margin: 0 0 6px !important; font-size: 15px !important; color: #e8e8e8 !important; }
.g365gw-banner-window { margin: 0 0 16px !important; font-size: 12px !important; color: #a9a9a9 !important; }
.g365gw-countdown { display: flex !important; justify-content: center !important; align-items: baseline !important; gap: 4px !important; flex-wrap: wrap !important; }
.g365gw-countdown span { background: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(230, 195, 86, .35) !important; border-radius: 6px !important; padding: 8px 11px !important; font-size: 22px !important; font-weight: 800 !important; color: #fff !important; min-width: 46px !important; display: inline-block !important; }
.g365gw-countdown small { font-size: 11px !important; color: #b9a86b !important; margin-right: 8px !important; }

@media (max-width: 480px) {
	.g365gw-modal { padding: 24px 18px 20px !important; }
	.g365gw-banner-title { font-size: 21px !important; }
}

/* ---------- Persistent downloads access ---------- */
.g365gw-dl-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	background: #16161a !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 11px 20px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: opacity .15s ease !important;
}
.g365gw-dl-btn:hover { opacity: .85 !important; color: #fff !important; }

.g365gw-dl-link { font-weight: 600 !important; text-decoration: underline !important; }

.g365gw-float {
	position: fixed !important;
	z-index: 99998 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	background: #16161a !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 11px 20px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .3) !important;
	left: 18px;
	bottom: 90px;
}
.g365gw-float:hover { transform: translateY(-2px) !important; color: #fff !important; }

@media (max-width: 600px) {
	.g365gw-float { font-size: 12px !important; padding: 9px 15px !important; }
}
