/*
CTC Separate Stylesheet
Updated: 2021-05-24 03:12:39
*/

/* Coupon description: short excerpt by default; full text only after "Plus" */
.coupon-item .coupon-des-full {
	display: none !important;
}
.coupon-item.show-full .coupon-des-ellip {
	display: none !important;
}
.coupon-item.show-full .coupon-des-full {
	display: block !important;
}

/* Parent theme hides coupon description on mobile (≤500px) — restore + compact card layout */
@media screen and (max-width: 768px) {
	.coupon-listing-item.store-listing-item.has-thumb {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 0 10px;
	}

	.coupon-listing-item.has-thumb .store-thumb-link {
		float: none !important;
		flex: 0 0 100px;
		width: 100px !important;
		margin: 0 !important;
	}

	.coupon-listing-item.has-thumb .store-thumb.text-thumb {
		min-height: 0 !important;
		line-height: 1.2 !important;
	}

	.store-listing-item .latest-coupon {
		float: none !important;
		flex: 1 1 0;
		min-width: 0;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		overflow: visible !important;
	}

	.store-listing-item .latest-coupon .coupon-title {
		margin-top: 0 !important;
		margin-bottom: 4px !important;
		line-height: 1.35 !important;
	}

	/* CODE PROMO already on left badge — hide duplicate row */
	.coupon-listing-item.has-thumb .c-type .c-code {
		display: none !important;
	}

	.coupon-listing-item.has-thumb .c-type {
		margin: 0 0 2px !important;
	}

	.coupon-listing-item.has-thumb .c-type .exp:empty {
		display: none !important;
	}

	.store-listing-item .latest-coupon .coupon-des {
		display: block !important;
		margin: 0 0 4px !important;
		font-size: 12px;
		line-height: 1.4;
		color: #6B7280;
	}

	.store-listing-item .latest-coupon .coupon-des:empty,
	.store-listing-item .latest-coupon .coupon-des-ellip:empty {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.store-listing-item .latest-coupon .coupon-des-ellip {
		display: block !important;
	}

	.coupon-listing-item .coupon-detail {
		float: none !important;
		flex: 1 1 100%;
		width: 100% !important;
		margin-top: 8px !important;
		display: block !important;
	}

	.store-listings:not(.couponstore-tpl-full) .coupon-listing-item .coupon-detail .coupon-button {
		display: block !important;
	}

	.coupon-item .coupon-des-full {
		display: none !important;
	}

	.coupon-item.show-full .coupon-des-ellip {
		display: none !important;
	}

	.coupon-item.show-full .coupon-des-full {
		display: block !important;
	}
}

/* Fix: expanded coupon description large text + white background (h1/inline styles from editor) */
.coupon-des-full h1,
.coupon-des-full h2,
.coupon-des-full h3,
.coupon-des-full h4,
.coupon-des-full h5,
.coupon-des-full h6 {
	font-size: inherit !important;
	font-weight: normal !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit !important;
	background: transparent !important;
	border: none !important;
	color: inherit !important;
}

.coupon-des-full span {
	font-size: inherit !important;
	font-family: inherit !important;
	background: transparent !important;
	color: inherit !important;
	font-weight: inherit !important;
}

/* ── STORE PAGE HEADER REDESIGN ── */
.custom-page-header.single-store-header {
  background: #F4F1FF;
  border-top: none;
  padding: 0 0 8px;
  margin-bottom: 0;
}
.single-store-header .container {
  max-width: 1200px;
}
/* Remove old shadow-box card style */
.single-store-header .inner.shadow-box {
  background: transparent;
  box-shadow: none;
  border: none;
  padding: 0;
  margin: 0;
}
/* Main hero card — allow headline to paint outside if needed on narrow screens */
.single-store-header .inner-content.clearfix {
  display: flex;
  align-items: center;
  gap: 32px;
  background: #ffffff;
  border: 1.5px solid rgba(124,58,237,0.14);
  border-radius: 20px;
  padding: 22px 28px;
  box-shadow: 0 4px 32px rgba(124,58,237,0.08);
  margin-top: 12px;
  overflow: visible;
  position: relative;
}
/* Violet accent bar on left edge */
.single-store-header .inner-content.clearfix::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #7C3AED 0%, #5B21B6 100%);
  border-radius: 20px 0 0 20px;
}
/* Logo box */
.single-store-header .header-thumb {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.single-store-header .header-store-thumb {
  width: 120px;
  height: 90px;
  background: #fff;
  border: 1.5px solid rgba(124,58,237,0.18);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(124,58,237,0.08);
}
.single-store-header .header-thumb .header-store-thumb a {
  min-width: 0 !important;
  max-width: 100%;
  line-height: normal !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}
.single-store-header .header-store-thumb img {
  max-width: 90px;
  max-height: 70px;
  width: auto;
  height: auto;
  object-fit: contain;
}
/* Favourite button */
.single-store-header .add-favorite {
  font-size: 12px;
  color: #7C3AED;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.single-store-header .add-favorite:hover { color: #5B21B6; }
.single-store-header .add-favorite .heart.icon { font-size: 13px; }
/* Text content — avoid flex-basis:0 in column layout (mobile can collapse height); override parent overflow:hidden */
.custom-page-header.single-store-header .header-content {
  overflow: visible !important;
}
.single-store-header .header-content {
  flex: 1 1 auto;
  min-width: 0;
}
.single-store-header .header-content br {
  display: none;
}
.single-store-header h1.rahat {
  font-family: 'Outfit', 'Open Sans', Helvetica, Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #1E1243 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.2 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}
.single-store-header h1.rahat strong {
  color: #7C3AED;
}
.single-store-header h3 {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #4B5563 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  line-height: 1.5 !important;
}
.single-store-header h3 strong {
  font-weight: 600;
  color: #1E1243;
}
/* Stats pill row */
.single-store-header .store-meta,
.single-store-header .store-info {
  margin-top: 14px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.single-store-header .store-meta span,
.single-store-header .store-info span {
  background: #EDE9FF;
  color: #7C3AED;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 99px;
  border: 1px solid rgba(124,58,237,0.2);
}
/* Visit store button */
.single-store-header .btn-visit-store,
.single-store-header .go-to-store {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #7C3AED;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 20px;
  border-radius: 10px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(124,58,237,0.3);
  transition: background .2s;
}
.single-store-header .btn-visit-store:hover,
.single-store-header .go-to-store:hover {
  background: #5B21B6;
}
/* ── Store page: Tablet (max 900px) ── */
@media (max-width: 900px) {
  .single-store-header .inner-content.clearfix {
    margin-top: 12px;
    padding: 16px 18px;
    gap: 14px;
  }
  .single-store-header .header-thumb {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px 20px;
    width: 100%;
  }
  .single-store-header .header-content {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    position: relative;
    z-index: 2;
  }
  .single-store-header h1.rahat {
    font-size: 22px !important;
    word-wrap: break-word;
    overflow-wrap: anywhere;
  }
  .single-store-header h3 { font-size: 14px !important; }
  .single-store-header .store-meta,
  .single-store-header .store-info { gap: 8px; margin-top: 10px; }
}

/* ── Store page: Small phone (max 480px) ── */
@media (max-width: 480px) {
  .custom-page-header.single-store-header { padding: 0 0 10px; }
  .single-store-header .inner-content.clearfix {
    flex-direction: column;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    margin-top: 8px;
  }
  .single-store-header .header-store-thumb {
    width: 90px;
    height: 70px;
    border-radius: 10px;
  }
  .single-store-header .header-store-thumb img {
    max-width: 70px;
    max-height: 52px;
  }
  .single-store-header h1.rahat {
    font-size: 18px !important;
    margin-bottom: 6px !important;
  }
  .single-store-header h3 { font-size: 13px !important; }
  .single-store-header .store-meta span,
  .single-store-header .store-info span {
    font-size: 11px;
    padding: 3px 10px;
  }
  .single-store-header .btn-visit-store,
  .single-store-header .go-to-store {
    font-size: 12px;
    padding: 8px 16px;
    border-radius: 8px;
    margin-top: 12px;
  }
}

/* ── Store page: Very small phone (max 360px) ── */
@media (max-width: 360px) {
  .single-store-header .inner-content.clearfix { padding: 12px; gap: 10px; }
  .single-store-header h1.rahat { font-size: 16px !important; }
  .single-store-header .header-store-thumb { width: 76px; height: 58px; }
}

/*
 * Stacked save-value thumb (value row, then label row). Markup: kuponz_coupon_thumb() in functions.php
 */
.coupon-item .store-thumb.text-thumb {
  line-height: 1.2 !important;
  min-height: 0 !important;
}

.coupon-item .store-thumb.text-thumb .kz-save-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: 8px 4px !important;
}

.coupon-item .store-thumb.text-thumb .kz-save-value {
  display: block !important;
  width: 100%;
  font-size: clamp(32px, 5vw, 42px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  color: #7C3AED !important;
  letter-spacing: -0.02em;
}

.coupon-item .store-thumb.text-thumb .kz-save-label {
  display: block !important;
  width: 100%;
  margin-top: 8px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #111827 !important;
}

/* ============================================================
   Store page: header ↔ filter spacing (desktop breathing room, mobile flush)
   ============================================================ */
@media screen and (min-width: 769px) {
  body.tax-coupon_store .custom-page-header.single-store-header {
    padding-bottom: 18px !important;
  }

  body.tax-coupon_store .coupon-filter {
    margin-top: 6px !important;
    margin-bottom: 16px !important;
  }
}

@media screen and (max-width: 768px) {
  body.tax-coupon_store .custom-page-header.single-store-header {
    padding-bottom: 0 !important;
  }

  body.tax-coupon_store #content-wrap.container,
  body.tax-coupon_store .site-content #content-wrap.container {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.tax-coupon_store .content-area,
  body.tax-coupon_store .coupon-store-main,
  body.tax-coupon_store .site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.tax-coupon_store .coupon-filter {
    margin-top: 0 !important;
  }
}

body.tax-coupon_store .coupon-filter {
  margin-bottom: 12px !important;
}

body.tax-coupon_store .coupon-filter .ui.menu .item {
  padding: 10px 14px;
}

body.tax-coupon_store #coupon-listings-store {
  margin-top: 0 !important;
}

/* ============================================================
   Sitewide compact spacing — mobile / tablet (premium tight layout)
   ============================================================ */
@media (max-width: 768px) {
  .site-content #content-wrap.container,
  #content-wrap.container {
    padding-top: 12px !important;
    padding-bottom: 24px !important;
  }

  body.tax-coupon_store #content-wrap.container,
  body.tax-coupon_store .site-content #content-wrap.container {
    padding-top: 0 !important;
  }

  .custom-page-header.single-store-header {
    padding: 0 0 0 !important;
  }

  .single-store-header .inner-content.clearfix {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    padding: 12px 14px !important;
    gap: 10px !important;
    border-radius: 14px !important;
  }

  .single-store-header .header-thumb {
    gap: 6px !important;
  }

  .custom-page-header .inner-content {
    padding-top: 0 !important;
  }

  .custom-page-header .breadcrumbs,
  .custom-page-header .ui.breadcrumbs {
    margin-bottom: 4px !important;
    padding-top: 0 !important;
  }

  body.tax-coupon_store .coupon-filter {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  .coupon-filter {
    margin-bottom: 10px !important;
  }

  .coupon-filter .filter-coupons-buttons {
    margin-bottom: 0 !important;
  }

  .store-listing-item {
    padding: 14px 12px 10px !important;
    margin-bottom: 10px !important;
  }

  .content-box {
    padding: 14px !important;
    margin-bottom: 12px !important;
  }
}

@media (max-width: 480px) {
  .site-content #content-wrap.container,
  #content-wrap.container {
    padding-top: 8px !important;
    padding-bottom: 16px !important;
  }

  body.tax-coupon_store #content-wrap.container,
  body.tax-coupon_store .site-content #content-wrap.container {
    padding-top: 0 !important;
  }

  .single-store-header .inner-content.clearfix {
    margin-top: 6px !important;
    padding: 10px 12px !important;
    gap: 8px !important;
  }

  .single-store-header h1.rahat {
    font-size: 17px !important;
    margin-bottom: 4px !important;
  }

  .single-store-header h3 {
    font-size: 12px !important;
    line-height: 1.4 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .coupon-sorting {
    margin-bottom: 12px !important;
    gap: 6px !important;
  }

  .coupon-grid {
    gap: 10px !important;
    margin-bottom: 24px !important;
  }
}