/*
 * CouponHive theme stylesheet
 * Color palette sourced from signmycode.com's brand colors.
 */

:root {
	--ch-blue: #2e3d80;      /* primary brand / headings / hero */
	--ch-blue-dark: #1f2f7a; /* footer bottom */
	--ch-green: #00b373;     /* accent / CTA buttons / links */
	--ch-gray1: #666666;     /* body text */
	--ch-gray2: #444444;     /* headings */
	--ch-white: #ffffff;
	--ch-banner-gray: #e6e7ec;
	--ch-black: #000000;
	--ch-light-green-bg: #edf8f4;
	--ch-light-blue-bg: #edf4fb;
	--ch-border: #e5e7eb;
	--ch-radius: 12px;
	--ch-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

body {
	font-family: 'Poppins', sans-serif;
	color: var(--ch-gray1);
	background-color: #f7f8fa;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Poppins', sans-serif;
	color: var(--ch-gray2);
}
h1 { font-weight: 700; color: var(--ch-blue); }
h3 { font-weight: 700; color: var(--ch-blue); }

a { color: var(--ch-green); font-weight: 500; text-decoration: none; }
a:hover { color: var(--ch-blue); }

.text-blue { color: var(--ch-blue) !important; }
.text-green { color: var(--ch-green) !important; }
.text-gray { color: var(--ch-gray1) !important; }
.text-gray2 { color: var(--ch-gray2) !important; }
.bg-blue { background-color: var(--ch-blue) !important; }
.bg-navy { background-color: var(--ch-blue-dark) !important; }
.bg-green { background-color: var(--ch-green) !important; }
.bg-gray-banner { background-color: var(--ch-banner-gray) !important; }
.bg-light { background-color: #f7f8fa !important; }
.fw700 { font-weight: 700; }
.fw-medium { font-weight: 600; }

.section { padding: 60px 0; }
.section-heading { font-size: 28px; font-weight: 700; color: var(--ch-blue); }
.section-heading-white { font-size: 28px; font-weight: 700; color: var(--ch-white); }

/* ===== Buttons ===== */
.btn {
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 8px;
	padding: .6rem 1.75rem;
	letter-spacing: .02em;
}
.btn-blue { background: var(--ch-blue); color: #fff; border: 2px solid var(--ch-blue); }
.btn-blue:hover { background: transparent; color: var(--ch-blue); }
.btn-green { background: var(--ch-green); color: #fff; border: 2px solid var(--ch-green); }
.btn-green:hover { background: transparent; color: var(--ch-green); }
.btn-outline-blue { border: 2px solid var(--ch-blue); color: var(--ch-blue); background: transparent; }
.btn-outline-blue:hover { background: var(--ch-blue); color: #fff; }
.btn-outline-green { border: 2px solid var(--ch-green); color: var(--ch-green); background: transparent; }
.btn-outline-green:hover { background: var(--ch-green); color: #fff; }
.btn-outline-white { border: 2px solid #fff; color: #fff; background: transparent; }
.btn-outline-white:hover { background: #fff; color: var(--ch-blue); }

/* ===== Header ===== */
.header-top { background: var(--ch-green); color: #fff; }
.header-top-links a { color: #fff; text-decoration: none; font-size: 13px; }
.mainnav { background: #fff; box-shadow: 0 1px 6px rgba(0,0,0,.06); }
.navbar-brand img { max-height: 56px; }
.mainnav .navbar-nav > .nav-item > .nav-link {
	text-transform: uppercase;
	color: var(--ch-gray2);
	font-weight: 600;
	font-size: 14px;
	padding: .5rem 1rem !important;
}
.mainnav .navbar-nav > .nav-item > .nav-link:hover,
.mainnav .navbar-nav > .nav-item > .nav-link.active { color: var(--ch-blue); }

/* ===== Hero ===== */
.ch-hero { background: linear-gradient(135deg, var(--ch-blue) 0%, #24316a 100%); }
.ch-hero h1 { color: #fff; }

/* ===== Cards ===== */
.store-card, .category-card, .post-card, .post-card-featured, .coupon-card {
	border-radius: var(--ch-radius);
	box-shadow: var(--ch-shadow);
	transition: transform .15s ease, box-shadow .15s ease;
}
.store-card:hover, .category-card:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.1); color: inherit; }
.store-card-logo { width: 100%; height: 64px; }
.store-card-logo img { max-height: 56px; max-width: 100%; object-fit: contain; }
.store-card-initial {
	width: 48px; height: 48px; border-radius: 50%;
	background: var(--ch-light-blue-bg); color: var(--ch-blue);
	display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.store-card-name { font-size: 14px; }
.store-card-count { font-size: 12px; }

.category-card-icon { width: 56px; height: 56px; border-radius: 50%; background: var(--ch-light-blue-bg); display: flex; align-items: center; justify-content: center; }

.post-card-thumb img { object-fit: cover; height: 200px; width: 100%; }
.post-card-thumb-placeholder { height: 200px; background: linear-gradient(135deg, var(--ch-light-blue-bg), var(--ch-light-green-bg)); }
.post-card-featured .post-card-thumb-placeholder { min-height: 260px; }

/* ===== Coupon card ===== */
.coupon-discount-badge {
	min-width: 90px;
	background: var(--ch-light-blue-bg);
	border: 2px dashed var(--ch-blue);
	border-radius: 8px;
	padding: .6rem .75rem;
}
.badge-verified, .badge-exclusive {
	display: inline-block;
}
.badge-exclusive { color: var(--ch-green); font-weight: 600; }
.coupon-code {
	border: 2px dashed var(--ch-blue);
	border-radius: 6px;
	padding: 8px 20px;
	font-size: 18px;
	letter-spacing: .06em;
	color: var(--ch-blue);
}

.couponhive-filter-tabs .nav-link {
	border: 1px solid var(--ch-border);
	border-radius: 999px;
	color: var(--ch-gray1);
	font-weight: 600;
	font-size: 13px;
	padding: .35rem 1.1rem;
	margin-right: .5rem;
	background: #fff;
}
.couponhive-filter-tabs .nav-link.active { background: var(--ch-blue); color: #fff; border-color: var(--ch-blue); }

/* ===== A-Z nav ===== */
.couponhive-az-nav .az-link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 6px;
	background: #fff; color: var(--ch-gray1); font-weight: 600; font-size: 13px;
	box-shadow: var(--ch-shadow);
}
.couponhive-az-nav .az-link.active, .couponhive-az-nav .az-link:hover { background: var(--ch-blue); color: #fff; }

/* ===== Breadcrumb ===== */
.couponhive-breadcrumb .breadcrumb-item a { color: var(--ch-gray1); text-decoration: none; font-size: 13px; }
.couponhive-breadcrumb .breadcrumb-item.active { color: var(--ch-blue); font-weight: 600; font-size: 13px; }
.inner-banner { border-bottom: 1px solid var(--ch-border); }

/* ===== Steps / FAQ ===== */
.couponhive-steps { padding-left: 1.2rem; }
.couponhive-steps li { margin-bottom: .5rem; color: var(--ch-gray1); }
.accordion-button { font-weight: 700; color: var(--ch-blue); }
.accordion-button:not(.collapsed) { background-color: var(--ch-blue); color: #fff; box-shadow: none; }

/* ===== Content ===== */
.couponhive-content p { line-height: 1.7; margin-bottom: 1rem; }
.couponhive-content h2, .couponhive-content h3 { margin-top: 1.75rem; margin-bottom: .75rem; }

/* ===== Widgets ===== */
.widget-title { color: var(--ch-blue); font-weight: 700; font-size: 16px; }

/* ===== Footer ===== */
.footer-top a { color: rgba(255,255,255,.85); text-decoration: none; }
.footer-top a:hover { color: #fff; }
.footer-social a { color: rgba(255,255,255,.7); font-size: 18px; }
.footer-social a:hover { color: #fff; }
.couponhive-newsletter-form .form-control { border-radius: 8px 0 0 8px; }
.couponhive-newsletter-form .btn { border-radius: 0 8px 8px 0; padding-left: 1.25rem; padding-right: 1.25rem; }

/* ===== Code reveal modal ===== */
.couponhive-code-modal {
	position: fixed; inset: 0; background: rgba(0,0,0,.55);
	display: flex; align-items: center; justify-content: center; z-index: 1080;
}
.couponhive-code-modal[hidden] { display: none; }
.couponhive-code-modal-dialog {
	background: #fff; border-radius: var(--ch-radius); padding: 2rem; max-width: 380px; width: 90%;
	text-align: center; position: relative; box-shadow: 0 10px 40px rgba(0,0,0,.25);
}
.couponhive-code-modal-close {
	position: absolute; top: 10px; right: 14px; border: none; background: none; font-size: 22px; color: var(--ch-gray1);
}

/* ===== Pagination ===== */
.couponhive-pagination .page-numbers,
.couponhive-pagination a.page-link { color: var(--ch-blue); }
.couponhive-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; margin: 0 3px; border-radius: 6px;
	background: #fff; box-shadow: var(--ch-shadow); color: var(--ch-gray1); font-weight: 600; font-size: 13px;
}
.couponhive-pagination .page-numbers.current,
.couponhive-pagination .page-numbers:hover { background: var(--ch-green); color: #fff; }

@media (max-width: 767px) {
	h1 { font-size: 28px; }
	.section { padding: 40px 0; }
	.ch-hero { padding: 40px 0; }
}
