/* ===================================================================
   DEXIWAY — PHASE 14 STANDALONE OFFERS STYLESHEET
   Load AFTER main.css from the public layout. All rules scoped to
   .site-topbar, .offer-*, .offers-* and .footer-offers-link so they
   never conflict with existing site styles.
   =================================================================== */
/*
   PHASE 14 — OFFERS & BUNDLES (PUBLIC)
   =================================================================== */

/* --- Sitewide top notification bar --- */
.site-topbar {
	background: linear-gradient(135deg, #7C3AED 0%, #2563EB 50%, #06B6D4 100%);
	color: #fff;
	position: relative;
	z-index: 100;
	font-size: 13.5px;
	line-height: 1.4;
}
.site-topbar-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 8px 20px;
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	justify-content: center;
}
.site-topbar-flag {
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: 11px;
	background: rgba(0,0,0,0.15);
	padding: 3px 8px;
	border-radius: 4px;
}
.site-topbar-link {
	color: #fff;
	text-decoration: none;
	font-weight: 500;
}
.site-topbar-link:hover { text-decoration: underline; }
.site-topbar-link strong { font-weight: 700; }
.site-topbar-tagline { opacity: 0.9; font-weight: 400; }
.site-topbar-countdown {
	background: rgba(0,0,0,0.22);
	padding: 3px 10px;
	border-radius: 12px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 12px;
	font-weight: 600;
}
.site-topbar-cta {
	background: #fff;
	color: #111827;
	padding: 5px 14px;
	border-radius: 14px;
	font-weight: 700;
	font-size: 12.5px;
	text-decoration: none;
	transition: transform 0.15s ease;
}
.site-topbar-cta:hover { transform: translateY(-1px); }
.site-topbar-close {
	background: transparent;
	border: 0;
	color: rgba(255,255,255,0.7);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
}
.site-topbar-close:hover { color: #fff; }
@media (max-width: 640px) {
	.site-topbar-tagline { display: none; }
	.site-topbar-inner { gap: 10px; padding: 6px 12px; }
}

/* Nav "Offers" link with a subtle pulse */
.nav-offers-link { color: #06B6D4 !important; font-weight: 600; position: relative; }
.nav-offers-pulse {
	display: inline-block;
	width: 8px; height: 8px;
	background: #06B6D4;
	border-radius: 50%;
	margin-left: 4px;
	animation: dxOfferPulse 2s ease-in-out infinite;
	vertical-align: middle;
}
@keyframes dxOfferPulse {
	0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(6, 182, 212, 0.4); }
	50% { opacity: 0.6; transform: scale(1.2); box-shadow: 0 0 0 6px rgba(6, 182, 212, 0); }
}
.footer-offers-link { color: #FBBF24 !important; font-weight: 600; }

/* --- /offers listing --- */
.offers-hero {
	background: radial-gradient(ellipse at top, rgba(6, 182, 212, 0.08) 0%, transparent 50%),
	            radial-gradient(ellipse at bottom, rgba(124, 58, 237, 0.06) 0%, transparent 50%);
	padding: 100px 0 60px;
	text-align: center;
}
.offers-hero-eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #06B6D4;
	margin-bottom: 12px;
}
.offers-hero-title {
	font-family: 'Syne', sans-serif;
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 0 0 12px;
	background: linear-gradient(135deg, #E5E7EB 0%, #06B6D4 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.offers-hero-sub {
	font-size: 17px;
	color: rgba(229, 231, 235, 0.7);
	max-width: 600px;
	margin: 0 auto;
}
.offers-list { padding: 40px 0 100px; }
.offers-empty {
	text-align: center;
	padding: 60px 20px;
	background: rgba(255,255,255,0.02);
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: 16px;
}
.offers-empty h2 { font-family: 'Syne', sans-serif; margin: 0 0 8px; }
.offers-empty p { color: rgba(229, 231, 235, 0.6); }

.offers-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
}
.offer-card {
	display: flex; flex-direction: column;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: all 0.2s ease;
	position: relative;
}
.offer-card:hover {
	transform: translateY(-4px);
	border-color: rgba(6, 182, 212, 0.4);
	box-shadow: 0 12px 40px rgba(6, 182, 212, 0.15);
}
.offer-card.is-featured {
	border-color: rgba(6, 182, 212, 0.5);
	box-shadow: 0 0 0 1px rgba(6, 182, 212, 0.2), 0 8px 30px rgba(6, 182, 212, 0.1);
}
.offer-card.is-expired, .offer-card.is-sold-out { opacity: 0.55; }
.offer-card-thumb {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #1e3a8a 0%, #4c1d95 100%);
	background-size: cover;
	background-position: center;
	position: relative;
}
.offer-card-thumb-plain {
	background: linear-gradient(135deg, #0B1020 0%, #1e293b 100%);
}
.offer-card-badge {
	position: absolute; top: 12px; left: 12px;
	background: #FBBF24; color: #111827;
	padding: 4px 10px; border-radius: 12px;
	font-weight: 700; font-size: 11px;
	letter-spacing: 0.05em; text-transform: uppercase;
}
.offer-card-body { padding: 20px; }
.offer-card-title {
	font-family: 'Syne', sans-serif;
	font-size: 20px; font-weight: 700;
	margin: 0 0 8px; color: #E5E7EB;
	letter-spacing: -0.01em;
}
.offer-card-tagline { font-size: 13.5px; color: rgba(229,231,235,0.6); margin: 0 0 16px; line-height: 1.5; }
.offer-card-price {
	display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; flex-wrap: wrap;
}
.offer-price-strike { color: rgba(229,231,235,0.4); text-decoration: line-through; font-size: 14px; font-variant-numeric: tabular-nums; }
.offer-price-now { color: #06B6D4; font-family: 'Syne',sans-serif; font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.offer-price-label { color: rgba(229,231,235,0.5); font-size: 12px; }
.offer-card-meta {
	display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px;
}
.offer-slots-pill, .offer-countdown-pill, .offer-expired-pill {
	font-size: 11.5px; padding: 3px 10px; border-radius: 10px; font-weight: 600;
	display: inline-flex; align-items: center; gap: 5px;
	font-family: 'JetBrains Mono', monospace;
}
.offer-slots-pill { background: rgba(6, 182, 212, 0.1); color: #7dd3fc; border: 1px solid rgba(6, 182, 212, 0.3); }
.offer-slots-pill.is-tight { background: rgba(248, 113, 113, 0.12); color: #fca5a5; border-color: rgba(248, 113, 113, 0.35); }
.offer-countdown-pill { background: rgba(251, 191, 36, 0.1); color: #fbbf24; border: 1px solid rgba(251, 191, 36, 0.3); }
.offer-expired-pill { background: rgba(255,255,255,0.04); color: rgba(229,231,235,0.5); border: 1px solid rgba(255,255,255,0.1); }
.offer-card-cta {
	display: flex; justify-content: space-between; align-items: center;
	color: #06B6D4; font-weight: 600; font-size: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(255,255,255,0.06);
}
.offer-card-arrow { transition: transform 0.15s ease; }
.offer-card:hover .offer-card-arrow { transform: translateX(4px); }

/* --- Homepage offers strip --- */
.offers-strip-section { padding: 60px 0; background: rgba(6, 182, 212, 0.02); border-top: 1px solid rgba(6, 182, 212, 0.08); border-bottom: 1px solid rgba(6, 182, 212, 0.08); }
.offers-strip-head {
	display: flex; justify-content: space-between; align-items: end;
	margin-bottom: 30px; flex-wrap: wrap; gap: 16px;
}
.offers-strip-tag {
	font-size: 11px; font-weight: 700; letter-spacing: 0.15em;
	text-transform: uppercase; color: #FBBF24; margin-bottom: 8px;
}
.offers-strip-title {
	font-family: 'Syne', sans-serif;
	font-size: clamp(1.8rem, 3.5vw, 2.6rem);
	font-weight: 700; margin: 0; letter-spacing: -0.02em; color: #E5E7EB;
}
.offers-strip-viewall {
	color: #06B6D4; font-weight: 600; text-decoration: none; font-size: 15px;
}
.offers-strip-viewall:hover { text-decoration: underline; }
.offers-strip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.offer-strip-card {
	position: relative;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px; padding: 20px; text-decoration: none; color: inherit;
	transition: all 0.2s ease; display: flex; flex-direction: column; min-height: 220px;
}
.offer-strip-card:hover { transform: translateY(-3px); border-color: rgba(6, 182, 212, 0.4); }
.offer-strip-card.is-featured { border-color: rgba(6, 182, 212, 0.4); }
.offer-strip-thumb {
	aspect-ratio: 16 / 9; background-size: cover; background-position: center;
	border-radius: 10px; margin-bottom: 12px;
}
.offer-strip-badge {
	position: absolute; top: 10px; right: 10px;
	background: #FBBF24; color: #111827;
	padding: 3px 8px; border-radius: 10px;
	font-weight: 700; font-size: 10.5px;
	letter-spacing: 0.05em; text-transform: uppercase;
}
.offer-strip-name { font-family: 'Syne', sans-serif; font-size: 17px; margin: 0 0 4px; color: #E5E7EB; }
.offer-strip-tagline { font-size: 12.5px; color: rgba(229,231,235,0.55); margin: 0 0 12px; line-height: 1.5; }
.offer-strip-price { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.offer-strip-strike { text-decoration: line-through; color: rgba(229,231,235,0.4); font-size: 12px; }
.offer-strip-now { color: #06B6D4; font-family: 'Syne',sans-serif; font-size: 20px; font-weight: 700; }
.offer-strip-meta { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.offer-strip-slots, .offer-strip-countdown {
	font-size: 10.5px; padding: 2px 8px; border-radius: 8px;
	font-family: 'JetBrains Mono', monospace; font-weight: 600;
}
.offer-strip-slots { background: rgba(6, 182, 212, 0.1); color: #7dd3fc; }
.offer-strip-slots.is-tight { background: rgba(248, 113, 113, 0.12); color: #fca5a5; }
.offer-strip-countdown { background: rgba(251, 191, 36, 0.1); color: #fbbf24; }
.offer-strip-cta { color: #06B6D4; font-weight: 600; font-size: 13px; margin-top: auto; }

/* --- Offer detail page --- */
.offer-expired-banner, .offer-starts-banner, .offer-soldout-banner {
	padding: 14px 0; text-align: center; font-size: 14px;
}
.offer-expired-banner { background: rgba(248, 113, 113, 0.1); border-bottom: 1px solid rgba(248, 113, 113, 0.3); color: #fca5a5; }
.offer-starts-banner  { background: rgba(6, 182, 212, 0.1); border-bottom: 1px solid rgba(6, 182, 212, 0.3); color: #7dd3fc; }
.offer-soldout-banner { background: rgba(251, 191, 36, 0.1); border-bottom: 1px solid rgba(251, 191, 36, 0.3); color: #fbbf24; }
.offer-expired-banner strong, .offer-starts-banner strong, .offer-soldout-banner strong { display: inline-block; margin-right: 8px; }

.offer-detail { padding: 40px 0 100px; }
.offer-back {
	color: rgba(229, 231, 235, 0.5); text-decoration: none; font-size: 13.5px;
	display: inline-block; margin-bottom: 24px;
}
.offer-back:hover { color: #06B6D4; }

.offer-hero {
	display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
	margin-bottom: 40px;
}
@media (max-width: 900px) { .offer-hero { grid-template-columns: 1fr; } }
.offer-hero-badge {
	display: inline-block;
	background: linear-gradient(135deg, #FBBF24, #F59E0B);
	color: #111827;
	padding: 5px 12px; border-radius: 14px;
	font-weight: 700; font-size: 12px;
	letter-spacing: 0.06em; text-transform: uppercase;
	margin-bottom: 14px;
}
.offer-hero-title {
	font-family: 'Syne', sans-serif;
	font-size: clamp(2rem, 4.5vw, 3.4rem);
	font-weight: 800; letter-spacing: -0.02em;
	margin: 0 0 12px; color: #E5E7EB;
}
.offer-hero-tagline { font-size: 19px; color: rgba(229, 231, 235, 0.75); line-height: 1.5; margin: 0 0 20px; }
.offer-hero-desc { font-size: 15px; color: rgba(229, 231, 235, 0.65); line-height: 1.7; margin-bottom: 20px; }
.offer-good-for {
	background: rgba(6, 182, 212, 0.06);
	border: 1px solid rgba(6, 182, 212, 0.2);
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 14px;
}
.offer-good-for-label {
	font-weight: 700; color: #7dd3fc;
	text-transform: uppercase; letter-spacing: 0.05em;
	font-size: 11.5px; margin-right: 6px;
}
.offer-hero-right { display: flex; align-items: center; justify-content: center; }
.offer-hero-right img {
	max-width: 100%; height: auto; max-height: 420px;
	border-radius: 16px; object-fit: cover;
	box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}

.offer-alert {
	padding: 14px 18px; border-radius: 12px;
	margin-bottom: 24px; font-size: 14.5px;
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.offer-alert-success { background: rgba(34, 197, 94, 0.12); border: 1px solid rgba(34, 197, 94, 0.35); color: #86efac; }
.offer-alert-error   { background: rgba(248, 113, 113, 0.12); border: 1px solid rgba(248, 113, 113, 0.35); color: #fca5a5; }
.offer-alert-cta {
	margin-left: auto;
	background: rgba(34, 197, 94, 0.2); padding: 5px 12px; border-radius: 10px;
	color: #dcfce7; text-decoration: none; font-weight: 600; font-size: 13px;
}

/* Urgency strip */
.offer-urgency {
	display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
	margin: 30px 0;
}
@media (max-width: 720px) { .offer-urgency { grid-template-columns: 1fr; } }
.offer-urgency-card {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px; padding: 22px;
}
.offer-urgency-countdown { background: linear-gradient(135deg, rgba(251, 191, 36, 0.06), rgba(248, 113, 113, 0.06)); border-color: rgba(251, 191, 36, 0.2); }
.offer-urgency-slots     { background: linear-gradient(135deg, rgba(6, 182, 212, 0.06), rgba(124, 58, 237, 0.06)); border-color: rgba(6, 182, 212, 0.2); }
.offer-urgency-label {
	font-size: 11.5px; font-weight: 700;
	letter-spacing: 0.1em; text-transform: uppercase;
	color: rgba(229, 231, 235, 0.5); margin-bottom: 14px;
}
.offer-countdown-blocks { display: flex; gap: 12px; }
.offer-countdown-block {
	flex: 1; text-align: center;
	background: rgba(0,0,0,0.25); border-radius: 10px; padding: 12px 6px;
}
.offer-countdown-block span {
	font-family: 'JetBrains Mono', monospace;
	font-size: 28px; font-weight: 700; color: #FBBF24;
	display: block; line-height: 1;
}
.offer-countdown-block small {
	font-size: 10.5px; color: rgba(229, 231, 235, 0.5);
	text-transform: uppercase; letter-spacing: 0.08em; margin-top: 6px; display: block;
}
.offer-slots-number { font-family: 'Syne', sans-serif; margin-bottom: 12px; }
.offer-slots-number strong { font-size: 32px; color: #06B6D4; font-weight: 800; margin-right: 6px; }
.offer-slots-number span   { font-size: 15px; color: rgba(229, 231, 235, 0.6); }
.offer-slots-bar {
	background: rgba(0,0,0,0.35); height: 8px; border-radius: 4px; overflow: hidden;
}
.offer-slots-bar span {
	display: block; height: 100%;
	background: linear-gradient(90deg, #06B6D4, #7C3AED);
	transition: width 0.5s ease;
}

.offer-detail-grid {
	display: grid; grid-template-columns: 1fr 340px; gap: 40px;
}
@media (max-width: 900px) { .offer-detail-grid { grid-template-columns: 1fr; } }

.offer-section {
	background: rgba(255,255,255,0.02);
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: 14px; padding: 28px 30px; margin-bottom: 24px;
}
.offer-section-title {
	font-family: 'Syne', sans-serif;
	font-size: 22px; margin: 0 0 18px; color: #E5E7EB; letter-spacing: -0.01em;
}
.offer-section-lede {
	font-size: 14.5px; color: rgba(229, 231, 235, 0.65);
	margin: 0 0 18px; line-height: 1.6;
}
.offer-notify-count { color: #06B6D4; font-style: normal; font-size: 13px; }

.offer-feature-list, .offer-benefit-list { list-style: none; margin: 0; padding: 0; }
.offer-feature-list li, .offer-benefit-list li {
	display: grid; grid-template-columns: 32px 1fr; gap: 14px;
	padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.04);
}
.offer-feature-list li:last-child, .offer-benefit-list li:last-child { border-bottom: 0; }
.offer-feature-check {
	width: 26px; height: 26px;
	background: rgba(34, 197, 94, 0.15); color: #86efac;
	border-radius: 50%; display: flex; align-items: center; justify-content: center;
	font-weight: 700;
}
.offer-benefit-icon {
	color: #06B6D4; font-size: 20px; text-align: center;
}
.offer-feature-list strong, .offer-benefit-list strong { color: #E5E7EB; font-size: 15px; }
.offer-feature-list p, .offer-benefit-list p { color: rgba(229, 231, 235, 0.6); font-size: 13.5px; margin: 4px 0 0; line-height: 1.5; }

.offer-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.offer-media-tile { background: rgba(0,0,0,0.25); border-radius: 12px; overflow: hidden; margin: 0; }
.offer-media-tile img, .offer-media-tile video { width: 100%; display: block; }
.offer-media-tile figcaption {
	padding: 10px 14px; font-size: 12.5px; color: rgba(229, 231, 235, 0.55);
	border-top: 1px solid rgba(255,255,255,0.04);
}
.offer-yt-frame { position: relative; padding-bottom: 56.25%; height: 0; }
.offer-yt-frame iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* Bonuses */
.offer-bonuses { display: flex; flex-direction: column; gap: 20px; }
.offer-bonus {
	background: linear-gradient(135deg, rgba(124, 58, 237, 0.05), rgba(6, 182, 212, 0.04));
	border: 1px solid rgba(124, 58, 237, 0.2);
	border-radius: 14px; padding: 20px 24px;
}
.offer-bonus-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 10px; flex-wrap: wrap; }
.offer-bonus-title { font-family: 'Syne', sans-serif; font-size: 18px; margin: 0; color: #E5E7EB; }
.offer-bonus-sub { font-size: 13px; color: rgba(229, 231, 235, 0.55); margin-top: 3px; }
.offer-bonus-value { text-align: right; }
.offer-bonus-value span { display: block; font-size: 10.5px; color: rgba(229, 231, 235, 0.5); text-transform: uppercase; letter-spacing: 0.08em; }
.offer-bonus-value strong { color: #FBBF24; font-family: 'Syne', sans-serif; font-size: 20px; font-weight: 800; }
.offer-bonus-desc { color: rgba(229, 231, 235, 0.7); font-size: 14px; margin: 8px 0; line-height: 1.6; }
.offer-bonus-tool {
	display: inline-block; padding: 6px 14px; border-radius: 10px;
	background: rgba(6, 182, 212, 0.15); color: #7dd3fc;
	font-size: 13px; font-weight: 600; text-decoration: none; margin: 6px 0;
}
.offer-bonus-tool:hover { background: rgba(6, 182, 212, 0.25); }
.offer-bonus-features { list-style: none; margin: 12px 0 0; padding: 0; }
.offer-bonus-features li {
	display: grid; grid-template-columns: 20px 1fr; gap: 10px;
	padding: 6px 0; font-size: 13.5px;
}
.offer-bonus-features li span { color: #86efac; font-weight: 700; }
.offer-bonus-features strong { color: #E5E7EB; }
.offer-bonus-features p { color: rgba(229, 231, 235, 0.55); margin: 2px 0 0; font-size: 12.5px; }
.offer-bonus-media { margin-top: 14px; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.offer-bonus-media img { width: 100%; border-radius: 8px; }

/* Value stack */
.offer-stack {
	background: rgba(0,0,0,0.2); border-radius: 12px; padding: 20px 24px;
}
.offer-stack-row {
	display: flex; justify-content: space-between; padding: 8px 0;
	border-bottom: 1px dashed rgba(255,255,255,0.06);
	font-size: 14.5px; color: rgba(229, 231, 235, 0.7);
}
.offer-stack-row strong { color: #E5E7EB; font-variant-numeric: tabular-nums; }
.offer-stack-bonus { color: rgba(124, 58, 237, 0.9); }
.offer-stack-bonus strong { color: #c4b5fd; }
.offer-stack-total-row {
	display: flex; justify-content: space-between;
	padding: 14px 0 10px; border-top: 2px solid rgba(255,255,255,0.15); margin-top: 8px;
	font-size: 15px; color: rgba(229, 231, 235, 0.6); text-decoration: line-through;
}
.offer-stack-total { color: rgba(229, 231, 235, 0.5) !important; }
.offer-stack-price-row {
	display: flex; justify-content: space-between; padding: 6px 0;
}
.offer-stack-price-row span { color: rgba(229, 231, 235, 0.9); font-weight: 600; font-size: 17px; }
.offer-stack-price { color: #06B6D4 !important; font-family: 'Syne', sans-serif; font-size: 28px !important; font-weight: 800; text-decoration: none !important; }
.offer-stack-save {
	margin-top: 12px; padding: 10px 16px; text-align: center;
	background: rgba(34, 197, 94, 0.12); color: #86efac;
	border-radius: 10px; font-weight: 700; font-size: 15px;
}

/* Claim form */
.offer-claim-section, .offer-notify-section {
	background: linear-gradient(135deg, rgba(6, 182, 212, 0.04), rgba(124, 58, 237, 0.03));
	border-color: rgba(6, 182, 212, 0.25);
}
.offer-claim-fee-callout {
	background: rgba(251, 191, 36, 0.08); border: 1px solid rgba(251, 191, 36, 0.25);
	border-radius: 10px; padding: 12px 16px; margin-bottom: 18px;
	font-size: 14px; color: #fde68a;
}
.offer-claim-fee-callout strong { color: #fbbf24; margin-right: 6px; }
.offer-claim-form label, .offer-notify-form label { display: block; font-size: 12.5px; font-weight: 600; color: rgba(229, 231, 235, 0.7); margin-bottom: 6px; }
.offer-claim-form input, .offer-claim-form textarea, .offer-notify-form input {
	width: 100%; background: rgba(0,0,0,0.3); color: #E5E7EB;
	border: 1px solid rgba(255,255,255,0.08); border-radius: 10px;
	padding: 11px 14px; font: inherit; font-size: 14.5px;
}
.offer-claim-form input:focus, .offer-claim-form textarea:focus, .offer-notify-form input:focus {
	outline: none; border-color: rgba(6, 182, 212, 0.5); background: rgba(0,0,0,0.5);
}
.offer-claim-form small { color: rgba(229, 231, 235, 0.4); font-size: 11.5px; }
.offer-form-row { margin-bottom: 16px; }
.offer-form-row-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .offer-form-row-2col { grid-template-columns: 1fr; } }
.offer-claim-actions { display: flex; gap: 12px; align-items: center; margin-top: 20px; flex-wrap: wrap; }

.offer-btn {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 12px 22px; border-radius: 12px; text-decoration: none; font-weight: 600;
	border: 0; cursor: pointer; font: inherit; font-size: 14.5px; transition: all 0.15s ease;
}
.offer-btn-primary { background: linear-gradient(135deg, #06B6D4, #2563EB); color: #fff; }
.offer-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 30px rgba(6, 182, 212, 0.35); }
.offer-btn-lg { padding: 14px 28px; font-size: 16px; }
.offer-btn-secondary { background: rgba(255,255,255,0.06); color: #E5E7EB; border: 1px solid rgba(255,255,255,0.12); }
.offer-btn-secondary:hover { background: rgba(255,255,255,0.1); }
.offer-btn-whatsapp { background: #25D366; color: #fff; }
.offer-btn-whatsapp:hover { background: #1EBE5B; }

.offer-notify-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; margin-bottom: 12px; }
@media (max-width: 640px) { .offer-notify-form { grid-template-columns: 1fr; } }
.offer-notify-alt { padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.06); }

/* Sidebar buy card */
.offer-detail-aside { position: relative; }
.offer-buy-card {
	position: sticky; top: 100px;
	background: linear-gradient(135deg, rgba(6, 182, 212, 0.08), rgba(124, 58, 237, 0.05));
	border: 1px solid rgba(6, 182, 212, 0.3);
	border-radius: 16px; padding: 24px;
}
.offer-buy-card-expired { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.1); }
.offer-buy-price { margin-bottom: 18px; }
.offer-buy-strike { text-decoration: line-through; color: rgba(229,231,235,0.4); font-size: 16px; font-variant-numeric: tabular-nums; }
.offer-buy-now { font-family: 'Syne', sans-serif; font-size: 40px; font-weight: 800; color: #06B6D4; line-height: 1.1; margin: 4px 0; letter-spacing: -0.02em; }
.offer-buy-label { color: rgba(229,231,235,0.5); font-size: 13px; }
.offer-buy-save {
	background: rgba(34, 197, 94, 0.12); color: #86efac;
	border: 1px solid rgba(34, 197, 94, 0.3);
	border-radius: 10px; padding: 8px 14px; text-align: center;
	font-weight: 700; font-size: 13px; margin-bottom: 16px;
}
.offer-buy-fee-note { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.08); color: rgba(229, 231, 235, 0.55); font-size: 12.5px; text-align: center; }
.offer-buy-soldout { padding: 12px; text-align: center; background: rgba(251, 191, 36, 0.1); color: #fbbf24; border-radius: 10px; font-weight: 700; margin-bottom: 12px; }
.offer-buy-expired { padding: 12px; text-align: center; background: rgba(255,255,255,0.05); color: rgba(229,231,235,0.6); border-radius: 10px; font-weight: 700; margin-bottom: 12px; }

/* Mobile sticky CTA */
.offer-sticky-mobile {
	display: none;
	position: fixed; bottom: 0; left: 0; right: 0;
	background: rgba(11, 16, 32, 0.95); backdrop-filter: blur(12px);
	border-top: 1px solid rgba(255,255,255,0.1);
	padding: 12px 16px;
	z-index: 90;
	justify-content: space-between; align-items: center; gap: 12px;
}
@media (max-width: 900px) { .offer-sticky-mobile { display: flex; } }
.offer-sticky-price-amount { font-family: 'Syne',sans-serif; font-size: 20px; font-weight: 800; color: #06B6D4; line-height: 1; font-variant-numeric: tabular-nums; }
.offer-sticky-price-save { font-size: 11px; color: #86efac; margin-top: 3px; }
.offer-sticky-mobile .offer-btn { flex-shrink: 0; }

.req { color: #fca5a5; }

/* ===================================================================
   PHASE 14 CLAIM FORM — POLISHED (v2)
   Replaces the plain claim form styling with sectioned fieldsets,
   iconed inputs, drag-drop-style file upload zones, and a button
   with a loading spinner.
   =================================================================== */

/* ---- Section container ---- */
.offer-claim-section {
	background: linear-gradient(180deg, rgba(6, 182, 212, 0.05) 0%, rgba(11, 16, 32, 0.6) 100%);
	border: 1px solid rgba(6, 182, 212, 0.28);
	padding: 36px 40px;
	position: relative;
	overflow: hidden;
}
.offer-claim-section::before {
	content: "";
	position: absolute; top: 0; left: 0; right: 0; height: 2px;
	background: linear-gradient(90deg, #06B6D4 0%, #7C3AED 50%, #2563EB 100%);
}
@media (max-width: 640px) { .offer-claim-section { padding: 28px 20px; } }

.offer-claim-head { margin-bottom: 22px; }
.offer-claim-eyebrow {
	display: inline-block;
	font-size: 11px; font-weight: 700; letter-spacing: 0.16em;
	text-transform: uppercase; color: #06B6D4;
	padding: 4px 10px; border-radius: 10px;
	background: rgba(6, 182, 212, 0.1);
	margin-bottom: 12px;
}
.offer-claim-title {
	font-family: 'Syne', sans-serif;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800; letter-spacing: -0.02em;
	margin: 0 0 8px; color: #E5E7EB;
}
.offer-claim-lede {
	color: rgba(229, 231, 235, 0.65);
	font-size: 15px; margin: 0;
}

/* ---- Fee callout ---- */
.offer-fee-callout {
	background: linear-gradient(135deg, rgba(251, 191, 36, 0.1), rgba(245, 158, 11, 0.06));
	border: 1px solid rgba(251, 191, 36, 0.3);
	border-radius: 12px;
	padding: 16px 20px;
	margin: 0 0 26px;
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 16px; align-items: start;
}
.offer-fee-callout-icon {
	width: 40px; height: 40px;
	background: rgba(251, 191, 36, 0.15);
	border-radius: 10px;
	display: flex; align-items: center; justify-content: center;
	color: #fbbf24;
}
.offer-fee-callout strong {
	display: block;
	color: #fbbf24;
	font-size: 15px; font-weight: 700;
	margin-bottom: 4px;
	line-height: 1.4;
}
.offer-fee-callout span { color: rgba(253, 230, 138, 0.85); font-size: 13.5px; line-height: 1.55; }

/* ---- Fieldsets (numbered sections) ---- */
.offer-fieldset {
	background: rgba(0, 0, 0, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 12px;
	padding: 20px 24px 22px;
	margin-bottom: 18px;
}
.offer-fieldset-legend {
	display: flex; align-items: center; gap: 12px;
	font-size: 13.5px; font-weight: 700;
	color: rgba(229, 231, 235, 0.9);
	margin-bottom: 16px;
	letter-spacing: -0.005em;
}
.offer-fieldset-num {
	width: 26px; height: 26px;
	background: linear-gradient(135deg, #06B6D4, #7C3AED);
	color: #fff; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 12.5px; font-weight: 800;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(6, 182, 212, 0.35);
}
.offer-fieldset-optional {
	color: rgba(229, 231, 235, 0.4); font-weight: 400;
	font-size: 12px; font-style: italic; margin-left: 6px;
}

/* ---- Field rows ---- */
.offer-form-row { margin-bottom: 14px; }
.offer-form-row:last-child { margin-bottom: 0; }
.offer-form-row label {
	display: block;
	font-size: 12px; font-weight: 700;
	letter-spacing: 0.06em; text-transform: uppercase;
	color: rgba(229, 231, 235, 0.65);
	margin-bottom: 8px;
}
.offer-label-optional {
	color: rgba(229, 231, 235, 0.35);
	font-weight: 500; text-transform: none; letter-spacing: 0;
	font-size: 11.5px; font-style: italic; margin-left: 4px;
}

.offer-claim-form input[type="text"],
.offer-claim-form input[type="email"],
.offer-claim-form input[type="tel"],
.offer-claim-form input[type="url"],
.offer-claim-form textarea {
	width: 100%;
	background: rgba(0, 0, 0, 0.35);
	color: #E5E7EB;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	padding: 12px 15px;
	font: inherit; font-size: 14.5px;
	transition: all 0.15s ease;
}
.offer-claim-form input:focus,
.offer-claim-form textarea:focus {
	outline: none;
	border-color: rgba(6, 182, 212, 0.5);
	background: rgba(0, 0, 0, 0.55);
	box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15);
}
.offer-claim-form input::placeholder, .offer-claim-form textarea::placeholder {
	color: rgba(229, 231, 235, 0.3);
}
.offer-claim-form textarea { resize: vertical; min-height: 76px; }

/* ---- Iconed input wrappers ---- */
.offer-input-icon-wrap { position: relative; }
.offer-input-icon {
	position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
	color: rgba(6, 182, 212, 0.7);
	pointer-events: none; display: flex; align-items: center;
}
.offer-input-icon-wa { color: #25D366; }
.offer-form-row-icon input { padding-left: 42px !important; }

/* ---- File upload blocks ---- */
.offer-file-row { display: block; }
.offer-file-block {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 16px; align-items: center;
	padding: 18px 20px;
	background: rgba(0, 0, 0, 0.25);
	border: 2px dashed rgba(6, 182, 212, 0.28);
	border-radius: 12px;
	cursor: pointer;
	transition: all 0.18s ease;
	text-align: left;
	position: relative;
	overflow: hidden;
}
.offer-file-block:hover {
	border-color: rgba(6, 182, 212, 0.6);
	background: rgba(6, 182, 212, 0.06);
	transform: translateY(-1px);
}
.offer-file-block input[type="file"] {
	position: absolute; opacity: 0; pointer-events: none;
	width: 1px; height: 1px; overflow: hidden;
	left: -9999px;
}
.offer-file-block:focus-within {
	border-color: rgba(6, 182, 212, 0.8);
	box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15);
}
.offer-file-icon {
	width: 56px; height: 56px;
	background: linear-gradient(135deg, rgba(6, 182, 212, 0.12), rgba(124, 58, 237, 0.1));
	border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	color: #7dd3fc;
}
.offer-file-block.has-file .offer-file-icon {
	background: linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(6, 182, 212, 0.12));
	color: #86efac;
}
.offer-file-body { min-width: 0; }
.offer-file-title {
	display: block;
	font-size: 11px; font-weight: 700;
	letter-spacing: 0.08em; text-transform: uppercase;
	color: rgba(229, 231, 235, 0.5);
	margin-bottom: 3px;
}
.offer-file-cta {
	display: block;
	font-size: 14.5px; font-weight: 600; color: #E5E7EB;
	margin-bottom: 3px;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.offer-file-block.has-file .offer-file-cta { color: #86efac; }
.offer-file-hint { display: block; font-size: 12px; color: rgba(229, 231, 235, 0.4); }

/* Reset all label styling inside file blocks so they don't inherit the row style */
.offer-file-block, .offer-file-block * { text-transform: none; letter-spacing: normal; }

/* ---- Submit button, WhatsApp secondary ---- */
.offer-claim-actions {
	display: flex; gap: 12px; align-items: center;
	margin-top: 24px; flex-wrap: wrap;
}
.offer-btn-primary {
	background: linear-gradient(135deg, #06B6D4 0%, #2563EB 55%, #7C3AED 100%);
	color: #fff; border: 0;
	box-shadow: 0 8px 24px rgba(6, 182, 212, 0.28);
	padding: 16px 26px;
	position: relative;
	min-width: 240px;
	justify-content: center;
}
.offer-btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 36px rgba(6, 182, 212, 0.4);
}
.offer-btn-primary:active { transform: translateY(0); }
.offer-btn-label { position: relative; z-index: 1; }
.offer-btn-arrow { transition: transform 0.15s ease; }
.offer-btn-primary:hover .offer-btn-arrow { transform: translateX(3px); }
.offer-btn-spinner {
	position: absolute; left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	width: 20px; height: 20px;
	border: 2.5px solid rgba(255,255,255,0.3);
	border-top-color: #fff;
	border-radius: 50%;
	opacity: 0; pointer-events: none;
	animation: offerSpin 0.7s linear infinite;
}
.offer-btn-primary.is-loading { color: transparent; }
.offer-btn-primary.is-loading .offer-btn-spinner { opacity: 1; }
.offer-btn-primary.is-loading .offer-btn-arrow { opacity: 0; }
@keyframes offerSpin { to { transform: translate(-50%, -50%) rotate(360deg); } }

.offer-btn-whatsapp {
	background: #25D366; color: #fff;
	padding: 14px 20px;
}
.offer-btn-whatsapp:hover { background: #1EBE5B; transform: translateY(-1px); }
.offer-btn-whatsapp svg { flex-shrink: 0; }

/* ---- Trust line ---- */
.offer-claim-trust {
	display: flex; align-items: center; gap: 8px;
	margin: 20px 0 0;
	font-size: 12.5px; color: rgba(229, 231, 235, 0.45);
}
.offer-claim-trust svg { color: rgba(6, 182, 212, 0.55); flex-shrink: 0; }

/* ---- Mobile tighten ---- */
@media (max-width: 640px) {
	.offer-form-row-2col { grid-template-columns: 1fr; gap: 12px; }
	.offer-fieldset { padding: 18px 16px 20px; }
	.offer-fee-callout { padding: 14px 16px; grid-template-columns: 34px 1fr; gap: 12px; }
	.offer-fee-callout-icon { width: 34px; height: 34px; }
	.offer-btn-primary { min-width: 0; width: 100%; }
	.offer-btn-whatsapp { width: 100%; justify-content: center; }
	.offer-claim-actions { flex-direction: column; }
}