/*
 * Alcoupon Brand System 1.0.2
 * Scope: WordPress public frontend only. Does not change WP admin, content, or URLs.
 * The live homepage 589 retains its pixel-specific Elementor/Couponis CSS.
 */
:root {
  --alc-primary: #D32F2F;
  --alc-primary-hover: #B71C1C;
  --alc-pink: #C2185B;
  --alc-orange: #FF6D00;
  --alc-yellow: #FFC107;
  --alc-ink: #171821;
  --alc-muted: #606571;
  --alc-surface: #FFFFFF;
  --alc-warm: #FFF8F4;
  --alc-soft-pink: #FFF0F3;
  --alc-outline: #F0E6E8;
  --alc-font: 'Tajawal', system-ui, -apple-system, sans-serif;
  --alc-weight-regular: 400;
  --alc-weight-body: 500;
  --alc-weight-semibold: 700;
  --alc-weight-strong: 800;
  --alc-size-xs: 0.75rem;
  --alc-size-caption: 0.875rem;
  --alc-size-body: 1rem;
  --alc-size-lead: 1.125rem;
  --alc-size-h6: 1rem;
  --alc-size-h5: 1.125rem;
  --alc-size-h4: 1.25rem;
  --alc-size-h3: 1.5rem;
  --alc-size-h2: clamp(1.75rem, 2.55vw, 2.25rem);
  --alc-size-h1: clamp(2.25rem, 3.7vw, 3rem);
  --alc-radius-card: 16px;
  --alc-radius-button: 10px;
  --alc-shadow-soft: 0 5px 18px rgb(23 24 33 / 7%);
}

/* All content templates inherit Tajawal, including Elementor and native forms. */
html { font-size: 16px; }
body {
  font-family: var(--alc-font) !important;
  color: var(--alc-ink);
  font-size: var(--alc-size-body);
  font-weight: var(--alc-weight-body);
  line-height: 1.75;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
}
body :is(button, input, select, textarea, option),
body :is(.header-alike, .navbar, .navbar-nav, .nav, .dropdown-menu),
body :is(.widget, .white-block, .post-content, .entry-content, .page-content),
body :is(.elementor, .elementor-widget, .elementor-button, .kc-container),
body :is(.coupon-box, .coupon-action-button, .button, .btn) {
  font-family: var(--alc-font) !important;
}
body :is(h1,h2,h3,h4,h5,h6),
body :is(.h1-size,.h2-size,.h3-size,.h4-size,.h5-size,.h6-size),
body .header-alike,
body .widget-title,
body .elementor-heading-title {
  font-family: var(--alc-font) !important;
  color: var(--alc-ink);
  letter-spacing: 0;
  text-transform: none;
  text-wrap: pretty;
}
body h1, body .h1-size { font-size: var(--alc-size-h1); font-weight: 800; line-height: 1.23; }
body h2, body .h2-size { font-size: var(--alc-size-h2); font-weight: 800; line-height: 1.35; }
body h3, body .h3-size { font-size: var(--alc-size-h3); font-weight: 700; line-height: 1.4; }
body h4, body .h4-size { font-size: var(--alc-size-h4); font-weight: 700; line-height: 1.45; }
body h5, body .h5-size { font-size: var(--alc-size-h5); font-weight: 700; line-height: 1.5; }
body h6, body .h6-size { font-size: var(--alc-size-h6); font-weight: 700; line-height: 1.55; }
body :is(p, li, dd, dt, td, th, address) { line-height: 1.75; }
body p, body .post-content p { font-size: var(--alc-size-body); font-weight: 500; }
body :is(small, .small, .text-muted, .post-meta, .entry-meta, .coupon-top-meta, .coupon-bottom-meta) {
  font-size: var(--alc-size-caption);
}
body :is(.text-muted, .post-meta, .entry-meta) { color: var(--alc-muted); }
body :is(b,strong) { font-weight: 800; }
body :is(button, .btn, .button, .button-primary, input[type='submit'], input[type='button'], .coupon-action-button) {
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
body :is(input[type='text'],input[type='email'],input[type='search'],input[type='tel'],input[type='url'],input[type='number'],textarea,select) {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.55;
}
body input::placeholder, body textarea::placeholder { color: #76717A; opacity: 1; }
body :is(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--alc-pink); outline-offset: 3px; }
body ::selection { background: #ffdbe4; color: var(--alc-ink); }

/* Preserve the new homepage's hand-aligned layout and hero type scale. */
body.page-id-589 .alc-home-v2 { font-family: var(--alc-font) !important; }
body.page-id-589 .alc-home-v2 :is(h1,h2,h3,h4,h5,h6,p) { letter-spacing: 0; }

/* Classic Couponis theme identity on store, coupon, archive, and article pages. */
body:not(.page-id-589) { background-color: #fcfaf9; }
body .top-header { background-color: #fff; }
body .top-header .logo img,
body .navigation .logo img,
body .sticky-nav .logo img { max-width: 225px; max-height: 83px; width: auto; height: auto; object-fit: contain; }
body .navigation { background-color: #fff; border-color: var(--alc-outline); }
body .navigation :is(.nav-copy,.navbar,.navbar-default,.navbar-collapse) { background-color: transparent; }
body .navigation :is(.navbar-nav > li > a,.nav > li > a) { font: 700 0.9375rem/1.5 var(--alc-font) !important; color: var(--alc-ink); }
body .navigation :is(.navbar-nav > li > a:hover,.navbar-nav > .active > a,.navbar-nav > .current-menu-item > a,.nav > li > a:hover) { color: var(--alc-primary) !important; }
body :is(.top-header,.navigation) :is(a,input,span) { font-family: var(--alc-font) !important; }
body .main-search input, body .main-search input:focus { font: 500 0.9375rem/1.5 var(--alc-font) !important; border-radius: 11px; }
body .main-search a.submit-form { background: var(--alc-primary) !important; color: #fff !important; font: 700 0.875rem/40px var(--alc-font) !important; border-radius: 10px; text-transform: none; }
body .main-search a.submit-form:hover { background: var(--alc-primary-hover) !important; }
body :is(.navbar-toggle,.pagination>li>a,.pagination>li>span) { border-radius: 8px; }
body :is(.btn-primary,.button-primary,input[type='submit'],button[type='submit']):not(.alc-top-search):not(.alc-mobile-menu) {
  background-color: var(--alc-primary);
  border-color: var(--alc-primary);
  color: #fff;
  border-radius: var(--alc-radius-button);
}
body :is(.btn-primary,.button-primary,input[type='submit'],button[type='submit']):hover:not(.alc-top-search) {
  background-color: var(--alc-primary-hover);
  border-color: var(--alc-primary-hover);
}
body:not(.page-id-589) .coupon-action-button,
body:not(.page-id-589) .coupon-action-button.header-alike { background: var(--alc-primary) !important; color: #fff !important; border-radius: var(--alc-radius-button); font-weight: 800; }
body:not(.page-id-589) .coupon-action-button:hover { background: var(--alc-primary-hover) !important; }
body .white-block { background: var(--alc-surface); border-radius: var(--alc-radius-card); box-shadow: var(--alc-shadow-soft); }
body :is(.widget-title,.white-block-single-content>.widget-title) { font-size: 1.125rem; font-weight: 800; line-height: 1.45; }
body :is(.coupon-box,.coupon-list,.store-box) h4,
body .coupon-box h4 a { font-family: var(--alc-font) !important; font-size: 1rem; font-weight: 700; line-height: 1.5; }
body :is(.coupon-box-description,.coupon-box-description p) { font-size: 0.9375rem; line-height: 1.6; }
body .post-content :is(a:not(.btn):not(.button),a:not(.btn):not(.button):visited),
body .white-block-content p a:not(.btn),
body .entry-content p a:not(.btn) { color: var(--alc-primary); }
body :is(.pagination>.active>a,.pagination>.active>span) { background: var(--alc-primary); border-color: var(--alc-primary); color: white; }
body :is(.badge,.label) { font-family: var(--alc-font) !important; }
body :is(.kc_tabs_nav > li.active > a,.ui-tabs-active > a) { color: var(--alc-primary); }
body :is(.coupon-image,.store-logo) img { object-fit: contain; }
body:not(.page-id-589) :is(.white-block-content,.post-content,.entry-content) h1 { margin-top: 0.65em; }
body .post-content :is(h2,h3,h4) { margin-block: 1.25em 0.55em; }

/* Navigation and forms remain legible on white and soft backgrounds. */
body :is(.white-block,.widget,.post-content,.entry-content) :is(h1,h2,h3,h4,h5,h6) { color: var(--alc-ink); }
body :is(.widget,.white-block) :is(p,li) { color: var(--alc-ink); }
body .coupon-box :is(.coupon-top-meta,.coupon-bottom-meta) { color: var(--alc-muted); }
body footer, body .footer { font-family: var(--alc-font) !important; }
body footer :is(h2,h3,h4,.widget-title),body .footer :is(h2,h3,h4,.widget-title) { font-weight: 700; }
body .footer a:hover, body footer a:hover { color: var(--alc-orange); }
body :is(.post-share,.share-coupon,.social-share) { font-family: var(--alc-font); }

/* Explicit utilities for future page templates and Elementor widgets. */
.alc-type-display { font: 800 var(--alc-size-h1)/1.23 var(--alc-font) !important; }
.alc-type-heading { font: 800 var(--alc-size-h2)/1.35 var(--alc-font) !important; }
.alc-type-subheading { font: 700 var(--alc-size-h3)/1.4 var(--alc-font) !important; }
.alc-type-body { font: 500 var(--alc-size-body)/1.75 var(--alc-font) !important; }
.alc-type-caption { font: 400 var(--alc-size-caption)/1.5 var(--alc-font) !important; }
.alc-color-primary { color: var(--alc-primary) !important; }
.alc-color-ink { color: var(--alc-ink) !important; }
.alc-bg-soft { background: var(--alc-warm) !important; }

@media (max-width: 767px) {
  :root { --alc-size-h1: clamp(1.75rem, 7vw, 2.125rem); --alc-size-h2: clamp(1.375rem, 5.6vw, 1.75rem); --alc-size-h3: 1.25rem; --alc-size-h4: 1.125rem; }
  body { line-height: 1.7; }
  body :is(p,li,dd,td) { line-height: 1.7; }
  body .navigation :is(.navbar-nav > li > a,.nav > li > a) { font-size: 0.9375rem !important; }
  body .top-header .logo img, body .navigation .logo img { max-width: 175px; max-height: 68px; }
  body .main-search input { font-size: 0.875rem !important; }
  body .white-block { border-radius: 13px; }
  body .white-block-content { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
}


/* Patch 1.0.1 — consistent legacy theme header logo and outlet buttons. */
body:not(.page-id-589) .top-header a.logo,
body:not(.page-id-589) .navigation a.logo,
body:not(.page-id-589) .sticky-nav a.logo,
body:not(.page-id-589) footer a.logo {
  background: url('https://alcouponalrabh.com/wp-content/uploads/2026/11/arabic_primary_transparent-768x400.webp') center center / contain no-repeat !important;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 221px;
  min-width: 170px;
  height: 82px;
  min-height: 70px;
  vertical-align: middle;
}
body:not(.page-id-589) .top-header a.logo img,
body:not(.page-id-589) .navigation a.logo img,
body:not(.page-id-589) .sticky-nav a.logo img,
body:not(.page-id-589) footer a.logo img {
  opacity: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
}
body:not(.page-id-589) a.visit-store,
body:not(.page-id-589) .white-block a.visit-store,
body:not(.page-id-589) .coupon-box a.coupon-action-button.header-alike,
body:not(.page-id-589) .coupon-action-button.header-alike {
  color: #fff !important;
  background: #D32F2F !important;
  border-color: #D32F2F !important;
  border-radius: var(--alc-radius-button) !important;
  font-family: var(--alc-font) !important;
  font-weight: 800 !important;
  text-transform: none !important;
}
body:not(.page-id-589) :is(a.visit-store,.coupon-action-button.header-alike):hover {
  background: #B71C1C !important;
  border-color: #B71C1C !important;
  color: #fff !important;
}
body .listing-action .listing-style.active,
body .listing-action .listing-style:hover {
  color: #D32F2F !important;
}
@media(max-width: 767px) {
  body:not(.page-id-589) :is(.top-header,.navigation,.sticky-nav) a.logo {
    width: 172px;
    min-width: 125px;
    height: 64px;
    min-height: 52px;
  }
}


/* Patch 1.0.2 — strong typographic hierarchy against theme/Elementor overrides. */
body h1, body .h1-size, body h1.elementor-heading-title { font-weight: 800 !important; }
body h2, body .h2-size, body h2.elementor-heading-title { font-weight: 800 !important; }
body h3, body .h3-size, body h3.elementor-heading-title,
body h4, body .h4-size, body h4.elementor-heading-title,
body h5, body .h5-size, body h5.elementor-heading-title,
body h6, body .h6-size, body h6.elementor-heading-title { font-weight: 700 !important; }

/* ================================================================
   Alcoupon Brand System 1.1.0: unified site chrome and legacy cleanup
   ================================================================ */
:root {
  --alc-header-height: 78px;
  --alc-container: 1240px;
  --alc-gradient-deals: linear-gradient(115deg, #C2185B 0%, #EF1D35 52%, #FF6D00 100%);
}
html { scroll-padding-top: 95px; }
body { background-color: #fffdfd; }
/* Only replace the legacy header after the unified header has mounted. */
body.alc-brand-header-ready header:not(.alc-site-header):has(.top-header),
body.alc-brand-header-ready .navigation.sticky-nav,
body.alc-brand-header-ready > .sticky-nav,
body.alc-brand-header-ready > header:not(.alc-site-header):not(.alc-v2-header) { display: none !important; }
body.alc-brand-header-ready:not(.page-id-589) .top-header,
body.alc-brand-header-ready:not(.page-id-589) .navigation:not(.alc-site-nav) { display: none !important; }
body.alc-brand-footer-ready .copyrights,
body.alc-brand-footer-ready .footer-subscribe { display: none !important; }
body.alc-brand-footer-ready.page-id-589 .alc-home-v2 .alc-bottom { display: none !important; }

.alc-site-header { position: relative; z-index: 90; width: 100%; background: #fff; box-shadow: 0 3px 20px rgb(22 10 26 / 6%); font-family: var(--alc-font); direction: rtl; }
.alc-site-header * { box-sizing: border-box; }
.alc-site-header-inner { position: relative; max-width: var(--alc-container); margin: 0 auto; padding: 4px 18px; min-height: var(--alc-header-height); display: flex; flex-flow: row nowrap; align-items: center; gap: clamp(12px, 2vw, 28px); }
.alc-site-logo { display: flex; flex: 0 0 216px; width: 216px; align-items: center; justify-content: flex-start; max-height: 72px; }
.alc-site-logo img { display: block; width: 100%; max-width: 216px; height: 69px; object-fit: contain; object-position: right center; }
.alc-site-nav { flex: 1 1 auto; display: flex; align-items: center; gap: clamp(14px, 1.8vw, 29px); min-width: 0; }
.alc-site-nav a { position: relative; display: inline-flex; align-items: center; min-height: 68px; padding: 7px 0; font: 800 15px/1.5 var(--alc-font) !important; color: #171821 !important; text-decoration: none !important; white-space: nowrap; }
.alc-site-nav a:hover,.alc-site-nav a:focus-visible,.alc-site-nav a[aria-current="page"] { color: #D32F2F !important; }
.alc-site-nav a[aria-current="page"]::after { content: ''; position: absolute; bottom: -4px; right: 0; left: 0; height: 3px; border-radius: 4px; background: #D32F2F; }
.alc-site-header-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.alc-site-search-trigger,.alc-site-menu-trigger { appearance: none; width: 45px; height: 45px; border: 0 !important; border-radius: 14px !important; background: #fff4f7 !important; color: #171821 !important; display: inline-grid; place-items: center; cursor: pointer; text-decoration: none !important; box-shadow: none !important; }
.alc-site-search-trigger:hover,.alc-site-menu-trigger:hover { background: #ffe7ee !important; color: #D32F2F !important; }
.alc-site-menu-trigger { display: none; }
.alc-site-search { display: none; position: absolute; top: calc(100% - 3px); left: 15px; width: min(450px, calc(100% - 30px)); padding: 16px; border-radius: 16px; background: #fff; border: 1px solid #f3e3e8; box-shadow: 0 13px 40px rgb(28 17 28 / 13%); z-index: 140; }
.alc-site-search.alc-is-open { display: block; }
.alc-site-search label { display: block; margin: 0 0 8px; font: 700 14px/1.5 var(--alc-font); color: #171821; }
.alc-site-search-controls { display: flex; gap: 8px; }
.alc-site-search-controls input { flex: 1; min-width: 0; height: 44px; border: 1px solid #eee0e5; border-radius: 10px; background: #fff; padding: 0 12px; font: 500 14px/1.5 var(--alc-font); color: #171821; }
.alc-site-search-controls button { height: 44px; min-width: 66px; border: 0; border-radius: 10px; background: #D32F2F !important; color: #fff !important; font: 800 14px/1 var(--alc-font); cursor: pointer; }

/* Footer mirrors the approved red/pink/orange, soft-card and Tajawal identity. */
.alc-site-footer { display: block; position: relative; width: 100%; direction: rtl; background: #fff9f8; color: #171821; font-family: var(--alc-font) !important; margin-top: 58px; box-shadow: 0 -10px 35px rgb(39 17 32 / 3%); }
.alc-site-footer * { box-sizing: border-box; }
.alc-site-footer::before { content: ''; display: block; height: 4px; background: var(--alc-gradient-deals); }
.alc-footer-top { background: linear-gradient(115deg,#C2185B 0%,#E42B34 52%,#FF6D00 100%); color: #fff; }
.alc-footer-top-inner { max-width: var(--alc-container); margin: auto; padding: 24px 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.alc-footer-top strong { color: #fff; display: block; font: 800 clamp(20px,2.25vw,29px)/1.4 var(--alc-font); }
.alc-footer-top p { margin: 5px 0 0; color: #fff !important; font: 500 14px/1.65 var(--alc-font) !important; }
.alc-footer-top a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto; min-height: 44px; padding: 10px 22px; border-radius: 32px; background: #fff !important; color: #C2185B !important; text-decoration: none !important; font: 800 14px/1.4 var(--alc-font); box-shadow: 0 6px 18px rgb(39 8 24 / 9%); }
.alc-footer-top a:hover { background: #FFF8F4 !important; color: #A20C3E !important; }
.alc-footer-content { display: grid; grid-template-columns: 1.55fr 1fr 1fr 1.5fr; align-items: start; gap: clamp(18px,2.5vw,39px); max-width: var(--alc-container); margin: auto; padding: 43px 24px 34px; }
.alc-footer-logo { display: inline-flex; align-items: center; width: 205px; max-width: 100%; min-height: 73px; margin-bottom: 10px; }
.alc-footer-logo img { width: 205px; height: 90px; max-width: 100%; object-fit: contain; object-position: right center; }
.alc-footer-about p,.alc-footer-updates p { max-width: 320px; margin: 5px 0 0; font: 500 14px/1.85 var(--alc-font) !important; color: #64616e !important; }
.alc-footer-links h2,.alc-footer-updates h2 { margin: 10px 0 14px !important; font: 800 18px/1.5 var(--alc-font) !important; color: #171821 !important; }
.alc-footer-links ul { list-style: none; padding: 0; margin: 0; }
.alc-footer-links li { padding: 0; margin: 0 0 10px; }
.alc-footer-links a { color: #46414c !important; text-decoration: none !important; font: 500 14px/1.7 var(--alc-font); transition: color 150ms ease; }
.alc-footer-links a:hover,.alc-footer-links a:focus-visible { color: #D32F2F !important; }
.alc-footer-updates { min-width: 0; }
.alc-footer-updates p { margin-bottom: 15px; }
#alc-footer-newsletter-slot { width: 100%; }
.alc-footer-fallback-link { display: inline-flex; border-radius: 11px; padding: 11px 16px; color: #D32F2F !important; background: #ffe6ed; font: 800 13px/1.4 var(--alc-font); text-decoration: none !important; }
#alc-footer-newsletter-slot form.ajax-form { display: block; margin: 0; width: 100%; }
#alc-footer-newsletter-slot .relative-holder { display: flex !important; align-items: stretch; gap: 7px; width: 100%; position: static; }
#alc-footer-newsletter-slot input[name="email"] { min-width: 0; flex: 1; width: 100%; height: 46px; background: #fff; border: 1px solid #efdfe4; color: #171821; border-radius: 11px; padding: 9px 12px; font: 500 13px/1.4 var(--alc-font); }
#alc-footer-newsletter-slot .submit-ajax-form { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin: 0; padding: 8px 15px; white-space: nowrap; background: #D32F2F !important; border: 0 !important; color: #fff !important; border-radius: 11px !important; font: 800 14px/1 var(--alc-font) !important; text-decoration: none !important; }
#alc-footer-newsletter-slot .submit-ajax-form:hover { background: #B71C1C !important; }
#alc-footer-newsletter-slot .ajax-form-result { font: 500 13px/1.5 var(--alc-font); }
.alc-footer-bottom { border-top: 1px solid #f0e2e4; max-width: var(--alc-container); margin: 0 auto; padding: 19px 24px 21px; display: flex; gap: 14px; align-items: center; justify-content: space-between; }
.alc-footer-bottom p { margin: 0 !important; color: #77717b !important; font: 500 13px/1.6 var(--alc-font) !important; }

/* Kill remaining legacy cyan/blue brand actions without changing affiliate hrefs. */
body:not(.page-id-589) :is(a.coupon-action-button,a.coupon-action-button.header-alike,a.visit-store,a.submit-form,.store-tax-header .visit-store,.main-search .submit-form,.submit-ajax-form,.coupon-box .coupon-action-button,.white-block .coupon-action-button,.coupon-modal-action,.btn-primary,.button-primary,.listing-action .listing-style.active,.pagination>.active>a,.pagination>.active>span) {
  --alc-action-color: #D32F2F;
  background-color: var(--alc-action-color) !important;
  background-image: none !important;
  border-color: var(--alc-action-color) !important;
  color: #fff !important;
  font-family: var(--alc-font) !important;
}
body:not(.page-id-589) :is(a.coupon-action-button,a.visit-store,.submit-ajax-form,.main-search .submit-form):hover { background: #B71C1C !important; border-color: #B71C1C !important; color: #fff !important; }
body:not(.page-id-589) .listing-action :is(.listing-style.active,.listing-style:hover) { color: #D32F2F !important; background: #fff0f3 !important; border-color: #D32F2F !important; }
body:not(.page-id-589) :is(.category-info i,.footer-subscribe i.icon-envelope,.store-tax-header-wrap .save-store:hover,.icon-star,.widget a:hover,.store-box a:hover) { color: #D32F2F; }
body:not(.page-id-589) :is(.coupon-box,.store-box,.category-box,.post-box,.white-block) { border-color: #F2E7E9; }
body:not(.page-id-589) :is(.pagination a,.page-numbers,.listing-action a):hover { border-color: #D32F2F !important; color: #D32F2F !important; }
body:not(.page-id-589) :is(.navigation .active>a,.navbar-nav>.active>a,.navbar-nav>li>a:hover,.nav>li>a:hover) { color: #D32F2F !important; }
/* Preserve accessible notification/validation colors; blue links become brand-red. */
body:not(.page-id-589) :is(.post-content a,.entry-content a,.white-block-content a:not(.coupon-image):not(.coupon-action-button),.category-info a,.store-tax-header-wrap a:not(.visit-store)) { accent-color: #D32F2F; }

/* Typography stable on nested Elementor/template styles. */
body:not(.page-id-589) :is(main,.main-listing,.white-block-content,.post-content,.entry-content,.kc-container) { font-family: var(--alc-font) !important; }
body:not(.page-id-589) :is(main,.main-listing,.post-content,.entry-content) p { font-weight: 500; line-height: 1.8; }
body:not(.page-id-589) :is(main,.main-listing,.post-content,.entry-content) :is(h1,h2) { font-weight: 800 !important; }
body:not(.page-id-589) :is(main,.main-listing,.post-content,.entry-content) :is(h3,h4) { font-weight: 700 !important; }

@media (max-width: 1050px) and (min-width: 768px) {
  .alc-site-logo { flex-basis: 175px; width: 175px; }
  .alc-site-logo img { max-width: 175px; height: 61px; }
  .alc-site-header-inner { gap: 13px; padding-inline: 14px; }
  .alc-site-nav { gap: 12px; }
  .alc-site-nav a { font-size: 12px !important; }
  .alc-footer-content { grid-template-columns: 1.5fr 1fr 1fr; }
  .alc-footer-updates { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  :root { --alc-header-height: 60px; }
  .alc-site-header-inner { display: grid; grid-template-columns: 40px minmax(0,1fr) 40px; gap: 5px; align-items: center; padding: 5px 11px; min-height: var(--alc-header-height); }
  .alc-site-logo { grid-row: 1; grid-column: 2; width: min(184px,100%); height: 51px; max-width: 100%; min-width: 0; justify-self: center; justify-content: center; }
  .alc-site-logo img { width: 168px; max-width: 100%; height: 51px; object-position: center; }
  .alc-site-header-actions { display: contents; }
  .alc-site-search-trigger { grid-row: 1; grid-column: 1; justify-self: start; width: 38px; height: 38px; }
  .alc-site-menu-trigger { grid-row: 1; grid-column: 3; justify-self: end; display: grid; place-items: center; width: 38px; height: 38px; }
  .alc-site-nav { display: none; grid-row: 2; grid-column: 1 / -1; padding: 10px 0 14px; border-top: 1px solid #f4e9ec; flex-direction: column; align-items: stretch; gap: 0; }
  .alc-site-nav.alc-is-open { display: flex; }
  .alc-site-nav a { font-size: 14px !important; min-height: 44px; padding: 11px 13px; border-radius: 8px; }
  .alc-site-nav a[aria-current="page"]::after { display: none; }
  .alc-site-nav a[aria-current="page"] { background: #fff0f4; }
  .alc-site-search { top: calc(100% - 1px); right: 7px; left: 7px; width: auto; }
  .alc-site-footer { margin-top: 35px; }
  .alc-footer-top-inner { padding: 21px 15px; gap: 13px; }
  .alc-footer-top strong { font-size: 20px; }
  .alc-footer-top p { font-size: 12px !important; }
  .alc-footer-top a { min-height: 41px; padding: 8px 11px; font-size: 11px; }
  .alc-footer-content { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 30px 17px 24px; gap: 24px 14px; }
  .alc-footer-about,.alc-footer-updates { grid-column: 1 / -1; }
  .alc-footer-about p,.alc-footer-updates p { max-width: none; }
  .alc-footer-links h2,.alc-footer-updates h2 { font-size: 17px !important; }
  .alc-footer-bottom { flex-direction: column; align-items: flex-start; padding: 18px 17px; }
}
@media (max-width: 360px) {
  .alc-site-header-inner { padding-inline: 7px; }
  .alc-site-logo img { width: 143px; }
  .alc-footer-top-inner { flex-direction: column; align-items: flex-start; }
  .alc-footer-content { gap: 20px 10px; }
  .alc-footer-bottom p { font-size: 12px !important; }
}

/* 1.1.1 — critical Couponis cyan/blue fallbacks, sticky legacy chrome, and focus */
body:not(.page-id-589) :is(.to_top.btn,.main-search .submit-form,.footer-subscribe .submit-ajax-form,a.visit-store,a.coupon-action-button,a.coupon-action-button.header-alike,.coupon-box .coupon-action-button,a[class*="coupon-action"],.button-primary,.btn-primary,.listing-action .listing-style.active) {
  background-color: #D32F2F !important;
  background-image: none !important;
  border-color: #D32F2F !important;
  color: #FFFFFF !important;
}
body:not(.page-id-589) :is(.to_top.btn,a.visit-store,a.coupon-action-button,.main-search .submit-form):is(:hover,:focus-visible) {
  background-color: #B71C1C !important;
  background-image: none !important;
  border-color: #B71C1C !important;
  color: #FFFFFF !important;
}
body .to_top.btn { background-color: #D32F2F !important; color: #fff !important; border-radius: 50% !important; }
body:not(.page-id-589) :is(.widget a:hover,.widget a:focus-visible,.category-info a:hover,.category-info .category-icon,.pagination li.active a,.post-content blockquote cite,.kc-pagination .active a,.pagination .current) { color: #D32F2F !important; }
body:not(.page-id-589) .coupon-box .partial-code { font-family: var(--alc-font) !important; }
body:not(.page-id-589) .pagination :is(a,span) { border-radius: 9px; }
body:not(.page-id-589) :is(.main-listing a:not(.coupon-action-button),.store-tax-header-wrap a:not(.visit-store)):is(:hover,:focus-visible) { color: #D32F2F; }
body.alc-brand-header-ready:not(.page-id-589) .navigation.sticky-nav { display: none !important; }
/* Fallback for delayed script execution in modern browsers: hide old theme chrome
   as soon as the corresponding new component exists in the same document. */
@supports selector(body:has(.alc-site-header)) {
  body:not(.page-id-589):has(.alc-site-header) header:has(> .top-header) { display: none !important; }
  body:has(#alc-unified-footer) > .copyrights { display: none !important; }
}

/* 1.1.2: no legacy brand flash while the DOM-enhancement script initializes. */
body:not(.page-id-589) header:has(.top-header) { display: none !important; }
body:not(.page-id-589) .navigation:not(.alc-site-nav) { display: none !important; }
body .footer-subscribe, body .copyrights { display: none !important; }
/* Never suppress the approved replacement, even when old theme rules set display:none. */
body .alc-site-footer { display: block !important; }
body:not(.page-id-589) .alc-site-header { display: block !important; }

/* 1.2.0 — consistent card treatments across the actual Couponis templates. */
body:not(.page-id-589) .main-listing { color: #171821; }
body:not(.page-id-589) .main-listing .white-block.coupon-box,
body:not(.page-id-589) .store-block.white-block,
body:not(.page-id-589) .post.white-block,
body:not(.page-id-589) .taxonomy-header.white-block {
  border-radius: 16px !important;
  background: #fff !important;
  border: 1px solid #F1E9EC !important;
  box-shadow: 0 5px 17px rgb(23 24 33 / 7%) !important;
  overflow: hidden;
}
body:not(.page-id-589) .main-listing .white-block.coupon-box { padding: 0; transition: box-shadow 150ms ease, transform 150ms ease; }
body:not(.page-id-589) .main-listing .white-block.coupon-box:hover,
body:not(.page-id-589) .store-block.white-block:hover { box-shadow: 0 9px 24px rgb(23 24 33 / 10%) !important; }
body:not(.page-id-589) .coupon-box .coupon-image img { width: 100%; max-height: 142px; height: auto; object-fit: contain; }
body:not(.page-id-589) .coupon-box .coupon-action-button { min-height: 42px; border-radius: 10px !important; font: 800 14px/1.5 var(--alc-font) !important; }
body:not(.page-id-589) .coupon-box .partial-code { color: #FFE7A0; letter-spacing: .3px; font-weight: 800; }
body:not(.page-id-589) .coupon-box :is(.coupon-top-meta,.coupon-bottom-meta) { color: #7A7279; }
body:not(.page-id-589) .store-block .store-image { padding-block: 10px; }
body:not(.page-id-589) .store-block .store-image img { max-width: 100%; max-height: 86px; width: auto; height: auto; margin: 0 auto; object-fit: contain; }
body:not(.page-id-589) .store-block .store-title { font: 700 15px/1.55 var(--alc-font) !important; color: #171821 !important; }
body:not(.page-id-589) .store-block :is(a:hover,a:focus-visible) { color: #D32F2F; }
body:not(.page-id-589) .taxonomy-header .white-block-content { background: #fff; padding: clamp(15px,2.1vw,27px); }
body:not(.page-id-589) .taxonomy-header .store-info h1,
body:not(.page-id-589) .taxonomy-header .category-info h1 { font-weight: 800 !important; color: #171821 !important; }
body:not(.page-id-589) .post .blog-item-title,
body:not(.page-id-589) .post .blog-item-title a { font: 800 clamp(18px,2vw,23px)/1.5 var(--alc-font) !important; color: #171821 !important; }
body:not(.page-id-589) .post .blog-item-title a:hover { color: #D32F2F !important; }
body:not(.page-id-589) .post .blog-item-meta { font: 500 13px/1.65 var(--alc-font); color: #716B75; }
body:not(.page-id-589) .post .coupon-image img { border-radius: 13px; object-fit: cover; }
body:not(.page-id-589) .continue-read,
body:not(.page-id-589) .read-coupon-more { color: #D32F2F !important; font-weight: 700; }
body:not(.page-id-589) .widget.widget_categories a:hover,
body:not(.page-id-589) .widget.widget_archive a:hover { color: #D32F2F !important; }
@media(max-width:767px) {
  body:not(.page-id-589) .main-listing .coupon-box { border-radius: 13px !important; }
  body:not(.page-id-589) .white-block-content { padding: 15px; }
  body:not(.page-id-589) .taxonomy-header .white-block-content { padding: 15px; }
  body:not(.page-id-589) .store-block .store-title { font-size: 13px !important; }
}

/* 1.2.1 — exhaustive Couponis legacy-cyan mapping (40 legacy selector groups audited). */
body:not(.page-id-589) a:hover,
body:not(.page-id-589) a:focus-visible,
body:not(.page-id-589) .blog-item-title a:hover,
body:not(.page-id-589) .infobox-content a:hover,
body:not(.page-id-589) .blog-item-meta a:hover,
body:not(.page-id-589) .show-less,
body:not(.page-id-589) .show-more,
body:not(.page-id-589) .coupon-box a h4:hover,
body:not(.page-id-589) .save-store:hover,
body:not(.page-id-589) .save-store.added,
body:not(.page-id-589) .save-coupon.added,
body:not(.page-id-589) .category-block i,
body:not(.page-id-589) .categories-list li:hover i,
body:not(.page-id-589) .categories-carousel-list .owl-item i,
body:not(.page-id-589) .letter-title h3,
body:not(.page-id-589) .leading-icon,
body:not(.page-id-589) .single-expire,
body:not(.page-id-589) .widget_widget_categories li:hover i,
body:not(.page-id-589) .error404 .icon-compass,
body:not(.page-id-589) .image-loader { color: #D32F2F !important; }
body:not(.page-id-589) :is(.styled-checkbox.active label:after,.styled-checkbox input:checked + label:after,.styled-radio.active label:after,.styled-radio input:checked + label:after,.blog-item-meta:before) { background-color: #D32F2F !important; }
body:not(.page-id-589) :is(.search-type:hover,input[id*="check-type"]:checked + .search-type,.widget_widget_stores a:hover,.stores-carousel-list .owl-item:hover a,.categories-carousel-list .owl-item:hover a,.store-logo:hover,.coupon-image:hover,.owl-dot.active) { border-color: #D32F2F !important; }
body:not(.page-id-589) :is(.tax-coupon-category .category-icon-wrap,.nav.nav-tabs > li.active > a,.nav.nav-tabs > li > a:hover,.pagination a:hover,.pagination>span,.tagcloud a:hover) { background-color: #D32F2F !important; background-image: none !important; border-color: #D32F2F !important; color: #fff !important; }
body:not(.page-id-589) .tax-coupon-category .category-icon-wrap :is(i,svg) { color: #fff !important; }
body:not(.page-id-589) .exclusive { background: #FF6D00 !important; color: #fff !important; }
body:not(.page-id-589) .category-block:hover .white-block { background: #FFF0F3 !important; color: #171821 !important; border-color: #F4B8C8 !important; }
body:not(.page-id-589) :is(.form-submit #submit,.form-submit a,.btn:not(.btn-default):not(.btn-info):not(.btn-success):not(.btn-warning):not(.btn-danger):not(.button-white),a.button-primary,.coupon_modal_content .btn) { background-color: #D32F2F !important; background-image: none !important; border-color: #D32F2F !important; color: #fff !important; }
body:not(.page-id-589) :is(.form-submit #submit,.form-submit a,.btn:not(.btn-default):not(.btn-info):not(.btn-success):not(.btn-warning):not(.btn-danger):not(.button-white)):hover { background-color: #B71C1C !important; border-color: #B71C1C !important; }
body:not(.page-id-589) .main-search .submit-form { background: #D32F2F !important; }
body:not(.page-id-589) .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover { color: #D32F2F !important; }
body:not(.page-id-589) .navbar-toggle { color: #D32F2F !important; }

/* Strong responsive layout guarantees for the unified header and footer. */
@media(max-width:767px) {
 body:not(.page-id-589) .alc-site-header-inner { display:grid !important; grid-template-columns:40px minmax(0,1fr) 40px !important; }
 body:not(.page-id-589) .alc-site-menu-trigger { display:grid !important; }
 body:not(.page-id-589) .alc-site-nav:not(.alc-is-open) { display:none !important; }
 body:not(.page-id-589) .alc-site-nav.alc-is-open { display:flex !important; flex-direction:column !important; }
 body .alc-footer-content { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 body .alc-footer-about,body .alc-footer-updates { grid-column:1/-1 !important; }
 body .alc-site-footer { overflow:clip; }
}
@media(max-width:390px) {
 body .alc-footer-content { padding-inline:13px !important; }
 body .alc-footer-top-inner { padding-inline:13px !important; }
 body #alc-footer-newsletter-slot .relative-holder { display:flex !important; flex-wrap:wrap !important; }
 body #alc-footer-newsletter-slot input[name="email"] { flex:1 1 145px !important; }
 body #alc-footer-newsletter-slot .submit-ajax-form { flex:0 0 auto !important; }
}
