/* DailyCodes Deals Modern UI v1.9 */
/* Hide CouponHut native Deal Filter widget on the Deals page only. */
body.dc-deals-modern .deal-filter-widget-wrapper { display: none !important; }


body.dc-deals-modern {
  --dc-blue:#1769e0; --dc-blue-dark:#0d47a1; --dc-blue-deep:#082b63;
  --dc-blue-soft:#edf4ff; --dc-blue-line:#d9e6fb; --dc-yellow:#f7c842;
  --dc-ink:#10233f; --dc-bg:#f5f8fc;
  background:var(--dc-bg);
}
body.dc-deals-modern .header-screen {
  background:radial-gradient(circle at 86% 20%,rgba(76,151,255,.34),transparent 28%),radial-gradient(circle at 8% 100%,rgba(23,105,224,.24),transparent 32%),linear-gradient(135deg,#061b3d 0%,#0b3f88 48%,#1769e0 100%) !important;
  min-height:285px;height:auto;padding:55px 20px 52px;position:relative;overflow:hidden;border-bottom:0;box-shadow:0 18px 45px rgba(8,43,99,.18);
}
body.dc-deals-modern .header-screen .bg-image,body.dc-deals-modern .header-screen .overlay-dark{display:none!important}
body.dc-deals-modern .header-screen:before{content:"DEALS HUB";position:absolute;right:6%;top:28px;color:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.10);padding:9px 15px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.16em;backdrop-filter:blur(8px)}
body.dc-deals-modern .header-screen:after{content:"FRESH DEALS • PROMO CODES • UK SAVINGS";position:absolute;left:50%;bottom:20px;transform:translateX(-50%);color:rgba(255,255,255,.66);font-size:10px;font-weight:800;letter-spacing:.18em;white-space:nowrap}
body.dc-deals-modern .header-screen-content{position:relative;z-index:2;max-width:1180px;margin:0 auto;width:100%}
body.dc-deals-modern .header-screen-content:before{content:"TODAY'S DEALS";display:block;color:#fff;font-size:clamp(32px,4vw,56px);line-height:1;font-weight:900;letter-spacing:-.03em;margin-bottom:18px;text-align:center;text-shadow:0 8px 24px rgba(0,0,0,.18)}

/* Search: flatten the theme's three wrappers into ONE horizontal row. */
body.dc-deals-modern form.form-deal-submit.header-screen-search{
  display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important;
  gap:14px !important; width:100% !important; margin:0 auto !important;
}
body.dc-deals-modern form.form-deal-submit.header-screen-search > .clearfix,
body.dc-deals-modern form.form-deal-submit.header-screen-search > .header-screen-geolocation-fields{
  display:contents !important;
}
body.dc-deals-modern form.form-deal-submit.header-screen-search > .header-screen-geolocation-fields{display:none !important}
body.dc-deals-modern form.form-deal-submit.header-screen-search span{display:none !important}
body.dc-deals-modern form.form-deal-submit.header-screen-search .dropdown{display:none !important}
body.dc-deals-modern form.form-deal-submit.header-screen-search input[type="text"]{
  flex:1 1 650px !important; width:auto !important; max-width:650px !important; min-width:280px !important;
  height:60px !important; margin:0 !important; padding:0 22px !important; box-sizing:border-box !important;
  border:2px solid rgba(255,255,255,.22) !important; border-radius:15px !important; background:#fff !important;
  color:var(--dc-ink) !important; box-shadow:0 12px 35px rgba(0,0,0,.18) !important; font-size:17px !important; font-weight:600 !important;
}
body.dc-deals-modern form.form-deal-submit.header-screen-search button[type="submit"]{
  display:block !important; flex:0 0 132px !important; width:132px !important; min-width:132px !important; height:60px !important;
  margin:0 !important; padding:0 20px !important; box-sizing:border-box !important; border:0 !important; border-radius:15px !important;
  background:var(--dc-yellow) !important; color:#172033 !important; font-size:13px !important; font-weight:900 !important; letter-spacing:.04em !important;
  box-shadow:0 12px 35px rgba(0,0,0,.16) !important;
}
body.dc-deals-modern .container{max-width:1280px}
body.dc-deals-modern .site-main,body.dc-deals-modern .main-content,body.dc-deals-modern .page-wrapper,body.dc-deals-modern .page-content{background:transparent}
body.dc-deals-modern .sort-deals{background:#fff;border:1px solid var(--dc-blue-line);border-top:4px solid var(--dc-blue);border-radius:16px;padding:18px 20px 8px;margin:30px 0 24px;box-shadow:0 10px 32px rgba(13,71,161,.07)}
body.dc-deals-modern .sort-deals .btn-sort{border:1px solid var(--dc-blue-line);border-radius:999px;color:#52657e;font-size:11px;font-weight:800;letter-spacing:.06em;padding:9px 14px;margin:0 8px 10px 0}
body.dc-deals-modern .sort-deals .btn-sort.current{border-color:var(--dc-blue);color:var(--dc-blue-dark);background:var(--dc-blue-soft)}
body.dc-deals-modern .isotope-wrapper .deal-item-wrapper{padding:10px}
body.dc-deals-modern .card-deal-inner{min-height:300px;height:100%;border:1px solid var(--dc-blue-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 9px 28px rgba(13,71,161,.06)}
@media (max-width:991px){body.dc-deals-modern form.form-deal-submit.header-screen-search{flex-direction:column !important}body.dc-deals-modern form.form-deal-submit.header-screen-search input[type="text"]{max-width:720px !important;width:100% !important}body.dc-deals-modern form.form-deal-submit.header-screen-search button[type="submit"]{width:100% !important;flex-basis:60px !important;max-width:720px}}
@media (max-width:600px){body.dc-deals-modern .header-screen{padding:45px 16px 48px}body.dc-deals-modern .header-screen:before{display:none}body.dc-deals-modern .header-screen:after{font-size:8px;letter-spacing:.1em}body.dc-deals-modern form.form-deal-submit.header-screen-search input[type="text"]{min-width:0}}


/* V1.9 — search hero: the headline is centered directly above the search row. */
body.dc-deals-modern .header-screen-content:before {
  width:100%;
  text-align:center;
}

/* V1.9 — native sidebar filters remain real HTML selects and stay clickable. */
body.dc-deals-modern select[name="s_deal_category"],
body.dc-deals-modern select[name="s_deal_company"] {
  position:relative !important;
  z-index:20 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  opacity:1 !important;
}
body.dc-deals-modern select[name="s_deal_category"]:focus,
body.dc-deals-modern select[name="s_deal_company"]:focus {
  outline:2px solid var(--dc-blue) !important;
  outline-offset:2px !important;
}

/* V1.9 — search results get a stronger CTA-first hierarchy. */
body.dc-deal-search-results .isotope-wrapper .deal-item-wrapper {
  padding:10px;
}
body.dc-deal-search-results .isotope-wrapper .card-deal-inner {
  display:flex;
  flex-direction:column;
  min-height:330px;
  position:relative;
  border-top:4px solid var(--dc-blue);
  box-shadow:0 12px 32px rgba(13,71,161,.09);
}
body.dc-deal-search-results .isotope-wrapper .card-deal-inner:hover {
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(13,71,161,.14);
}
body.dc-deal-search-results .isotope-wrapper .card-deal-inner a {
  transition:all .18s ease;
}
body.dc-deal-search-results .isotope-wrapper .card-deal-inner .dc-search-cta,
body.dc-deal-search-results .isotope-wrapper .card-deal-inner a.btn,
body.dc-deal-search-results .isotope-wrapper .card-deal-inner a.button,
body.dc-deal-search-results .isotope-wrapper .card-deal-inner .btn-deal,
body.dc-deal-search-results .isotope-wrapper .card-deal-inner .deal-button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(100% - 28px) !important;
  min-height:48px !important;
  margin:14px !important;
  margin-top:auto !important;
  padding:12px 18px !important;
  box-sizing:border-box !important;
  border:0 !important;
  border-radius:12px !important;
  background:var(--dc-blue) !important;
  color:#fff !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow:0 8px 20px rgba(23,105,224,.22) !important;
}
body.dc-deal-search-results .isotope-wrapper .card-deal-inner .dc-search-cta:hover,
body.dc-deal-search-results .isotope-wrapper .card-deal-inner a.btn:hover,
body.dc-deal-search-results .isotope-wrapper .card-deal-inner a.button:hover,
body.dc-deal-search-results .isotope-wrapper .card-deal-inner .btn-deal:hover,
body.dc-deal-search-results .isotope-wrapper .card-deal-inner .deal-button:hover {
  background:var(--dc-blue-dark) !important;
  color:#fff !important;
  transform:translateY(-1px);
}
@media (max-width:991px) {
  body.dc-deals-modern .header-screen-content:before {
    text-align:center;
  }
}


/* V2.0 — CTA-first deal cards */
body.dc-deals-modern .header-screen-content:before {
  margin: 0 auto 16px !important;
  text-align: center !important;
  /* The search row is 650px input + 14px gap + 132px button.
     Shift the headline by half of the button+gap so its centre
     sits exactly over the white search input, not over the whole row. */
  transform: translateX(-73px) !important;
}
@media (max-width:991px) {
  body.dc-deals-modern .header-screen-content:before {
    transform:none !important;
  }
}
body.dc-deals-modern .header-screen-content { text-align:center; }
body.dc-deals-modern .isotope-wrapper .deal-item-wrapper { padding: 12px !important; }
body.dc-deals-modern .isotope-wrapper .card-deal-inner {
  position:relative !important; display:flex !important; flex-direction:column !important;
  min-height:390px !important; height:100% !important; overflow:hidden !important;
  border:1px solid #dbe7f6 !important; border-radius:20px !important;
  background:#fff !important; box-shadow:0 12px 34px rgba(13,71,161,.10) !important;
  transition:transform .2s ease, box-shadow .2s ease !important;
}
body.dc-deals-modern .isotope-wrapper .card-deal-inner:hover {
  transform:translateY(-6px) !important; box-shadow:0 20px 44px rgba(13,71,161,.17) !important;
}
body.dc-deals-modern .deal-thumb-image {
  position:relative !important; height:112px !important; flex:0 0 112px !important;
  overflow:hidden !important; background:linear-gradient(135deg,#082b63,#1769e0) !important;
}
body.dc-deals-modern .deal-thumb-image:before {
  content:"SAVE MORE"; position:absolute; left:18px; top:16px; z-index:2;
  color:rgba(255,255,255,.68); font-size:10px; font-weight:900; letter-spacing:.18em;
}
body.dc-deals-modern .deal-thumb-image:after {
  content:""; position:absolute; width:160px; height:160px; right:-60px; top:-90px;
  border-radius:50%; background:rgba(255,255,255,.13);
}
body.dc-deals-modern .deal-thumb-image > a.dc-deal-main-link {
  display:block !important; width:100% !important; height:100% !important;
}
/* CTA must always be visible: it is the primary action on every deal card. */
body.dc-deals-modern .latest-deals-wrapper .deal-thumb-image .btn-card-deal,
body.dc-deals-modern .latest-deals-wrapper .deal-thumb-image .btn-card-deal.dc-real-cta {
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
  bottom:14px !important;
  left:16px !important;
  right:16px !important;
  width:auto !important;
  box-sizing:border-box !important;
  display:flex !important;
}

body.dc-deals-modern .deal-thumb-image .btn-card-deal {
  position:absolute !important; left:16px !important; right:16px !important; bottom:14px !important;
  z-index:5 !important; display:flex !important; align-items:center !important; justify-content:space-between !important;
  min-height:42px !important; padding:0 14px 0 16px !important; margin:0 !important;
  border-radius:11px !important; background:#f7c842 !important; color:#10233f !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important; font-size:12px !important; font-weight:900 !important;
  letter-spacing:.06em !important; text-transform:uppercase !important;
}
body.dc-deals-modern .deal-thumb-image .btn-card-deal b {
  display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px;
  border-radius:50%; background:#10233f; color:#fff; font-size:18px; line-height:1;
}
body.dc-deals-modern .card-deal-info {
  display:flex !important; flex-direction:column !important; flex:1 1 auto !important;
  padding:18px 18px 16px !important;
}
body.dc-deals-modern .card-deal-title {
  margin:0 0 10px !important; font-size:18px !important; line-height:1.25 !important;
  font-weight:900 !important; min-height:45px !important;
}
body.dc-deals-modern .card-deal-title a { color:#10233f !important; text-decoration:none !important; }
body.dc-deals-modern .card-deal-categories {
  display:inline-block !important; align-self:flex-start !important; max-width:100% !important;
  margin:0 0 12px !important; padding:6px 9px !important; border-radius:999px !important;
  background:#edf4ff !important; color:#1769e0 !important; font-size:9px !important;
  font-weight:900 !important; letter-spacing:.08em !important; text-transform:uppercase !important;
}
body.dc-deals-modern .card-deal-categories a { color:#1769e0 !important; text-decoration:none !important; }
body.dc-deals-modern .card-deal-meta-rating { margin-top:auto !important; padding-top:8px !important; }
body.dc-deals-modern .post-star-rating .rating-star { color:#f7c842 !important; font-size:13px !important; }
body.dc-deals-modern .card-deal-meta-expiring {
  margin-top:12px !important; padding-top:11px !important; border-top:1px solid #edf1f7 !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important;
}
body.dc-deals-modern .card-deal-meta-title {
  color:#8a98aa !important; font-size:9px !important; font-weight:900 !important;
  letter-spacing:.12em !important; text-transform:uppercase !important;
}
body.dc-deals-modern .card-deal-meta-expiring .jscountdown-wrap {
  color:#ef6464 !important; font-size:11px !important; font-weight:900 !important;
}
body.dc-deals-modern .dc-card-accent-2 .deal-thumb-image { background:linear-gradient(135deg,#183c72,#27a7c7) !important; }
body.dc-deals-modern .dc-card-accent-3 .deal-thumb-image { background:linear-gradient(135deg,#51206f,#a13cc8) !important; }
body.dc-deals-modern .dc-card-accent-4 .deal-thumb-image { background:linear-gradient(135deg,#155b4b,#22a77e) !important; }

/* V2.0 — sidebar controls are real, obvious controls */
body.dc-deals-modern select[name="s_deal_category"],
body.dc-deals-modern select[name="s_deal_company"] {
  width:100% !important; min-height:48px !important; padding:0 14px !important;
  border:1px solid #d9e6fb !important; border-radius:10px !important; background:#fff !important;
  color:#10233f !important; font-weight:700 !important; box-shadow:0 6px 18px rgba(13,71,161,.06) !important;
}
body.dc-deals-modern select[name="s_deal_category"]:hover,
body.dc-deals-modern select[name="s_deal_company"]:hover { border-color:#1769e0 !important; }

/* V2.0 — pagination */
body.dc-deals-modern .dc-deals-pagination {
  display:flex !important; align-items:center !important; justify-content:center !important; gap:8px !important;
  margin:30px auto 15px !important; padding:12px !important; clear:both !important;
}
body.dc-deals-modern .dc-deals-pagination a {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-width:42px !important; height:42px !important; padding:0 12px !important;
  border:1px solid #d9e6fb !important; border-radius:11px !important; background:#fff !important;
  color:#52657e !important; font-size:12px !important; font-weight:900 !important; text-decoration:none !important;
  box-shadow:0 5px 16px rgba(13,71,161,.06) !important;
}
body.dc-deals-modern .dc-deals-pagination a:hover,
body.dc-deals-modern .dc-deals-pagination a.is-active {
  background:#1769e0 !important; border-color:#1769e0 !important; color:#fff !important;
}
body.dc-deals-modern .dc-deals-pagination .dc-page-arrow { font-size:20px !important; }
@media (max-width:991px) {
  body.dc-deals-modern .isotope-wrapper .card-deal-inner { min-height:370px !important; }
}
@media (max-width:600px) {
  body.dc-deals-modern .isotope-wrapper .card-deal-inner { min-height:350px !important; }
  body.dc-deals-modern .card-deal-title { font-size:16px !important; }
}


/* ================================================================
   V2.1 — FULL RESPONSIVE DEALS PAGE + REAL 12/PAGE PAGINATION
   ================================================================ */
body.dc-deals-modern {
  overflow-x:hidden !important;
}

/* Keep the hero headline centred over the WHITE SEARCH INPUT itself. */
body.dc-deals-modern .header-screen-content:before {
  position:relative !important;
  left:auto !important;
  right:auto !important;
  transform:translateX(-73px) !important;
  width:650px !important;
  max-width:calc(100% - 160px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Native deals area: clean container and predictable columns. */
body.dc-deals-modern .latest-deals-wrapper {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  width:100% !important;
  margin:0 !important;
  float:none !important;
}
body.dc-deals-modern .latest-deals-wrapper .deal-item-wrapper {
  width:auto !important;
  float:none !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
body.dc-deals-modern .latest-deals-wrapper .deal-item-wrapper.dc-page-hidden {
  display:none !important;
}

/* Remove the theme's fixed/floating card geometry. */
body.dc-deals-modern .latest-deals-wrapper .card-deal,
body.dc-deals-modern .latest-deals-wrapper .card-deal-inner {
  width:100% !important;
  max-width:none !important;
}
body.dc-deals-modern .latest-deals-wrapper .card-deal-inner {
  min-height:390px !important;
  height:100% !important;
}

/* Pagination is always visible below the current 12 cards. */
body.dc-deals-modern .dc-js-pagination {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  clear:both !important;
  margin:34px 0 10px !important;
  padding:0 !important;
}
body.dc-deals-modern .dc-pagination-info {
  margin-bottom:12px !important;
  color:#68788d !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-align:center !important;
}
body.dc-deals-modern .dc-pagination-controls {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}
body.dc-deals-modern .dc-deals-pagination a {
  min-width:42px !important;
  height:42px !important;
  margin:0 !important;
  padding:0 12px !important;
}

/* Hero/search row: desktop remains horizontal, mobile becomes one clean stack. */
@media (max-width:1100px) {
  body.dc-deals-modern .latest-deals-wrapper {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:991px) {
  body.dc-deals-modern .header-screen-content:before {
    width:100% !important;
    max-width:100% !important;
    transform:none !important;
  }

  /* Force all deal content to centre on smaller screens. */
  body.dc-deals-modern .fw-container,
  body.dc-deals-modern .fw-main-row,
  body.dc-deals-modern .fw-col-xs-12,
  body.dc-deals-modern .fw-col-sm-8,
  body.dc-deals-modern .fw-col-md-8,
  body.dc-deals-modern .latest-deals-wrapper,
  body.dc-deals-modern .section-title-block,
  body.dc-deals-modern .card-deal-info,
  body.dc-deals-modern .card-deal-meta-expiring {
    text-align:center !important;
  }

  body.dc-deals-modern .latest-deals-wrapper .card-deal-categories {
    align-self:center !important;
  }
  body.dc-deals-modern .latest-deals-wrapper .card-deal-title {
    width:100% !important;
    text-align:center !important;
  }
  body.dc-deals-modern .latest-deals-wrapper .card-deal-meta-rating {
    text-align:center !important;
  }
  body.dc-deals-modern .latest-deals-wrapper .deal-prices {
    display:flex !important;
    justify-content:center !important;
    float:none !important;
  }
}

@media (max-width:767px) {
  body.dc-deals-modern .latest-deals-wrapper {
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:0 !important;
  }
  body.dc-deals-modern .latest-deals-wrapper .deal-item-wrapper {
    width:100% !important;
    max-width:420px !important;
    margin:0 auto !important;
  }
  body.dc-deals-modern .latest-deals-wrapper .card-deal-inner {
    min-height:0 !important;
    height:auto !important;
  }

  /* Mobile hero: everything centred, including the search control. */
  body.dc-deals-modern .header-screen-content {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    text-align:center !important;
  }
  body.dc-deals-modern .header-screen-content:before {
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 14px !important;
    transform:none !important;
    text-align:center !important;
  }
  body.dc-deals-modern .header-screen-content form,
  body.dc-deals-modern .header-screen-search {
    width:calc(100% - 28px) !important;
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  body.dc-deals-modern .header-screen-search > div {
    width:100% !important;
    text-align:center !important;
  }
  body.dc-deals-modern .header-screen-search input[type="text"] {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }
  body.dc-deals-modern .header-screen-search button[type="submit"] {
    display:block !important;
    width:100% !important;
    max-width:520px !important;
    margin:12px auto 0 !important;
    text-align:center !important;
  }

  /* Hide decorative desktop-only hero controls that squeeze the mobile row. */
  body.dc-deals-modern .header-screen-search .dropdown,
  body.dc-deals-modern .header-screen-search .btn-dropdown {
    display:none !important;
  }

  /* Sidebar/filter controls become a centred mobile block. */
  body.dc-deals-modern select[name="s_deal_category"],
  body.dc-deals-modern select[name="s_deal_company"] {
    width:100% !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    text-align-last:center !important;
  }
  body.dc-deals-modern .dc-deals-pagination {
    margin-top:28px !important;
  }
}

@media (max-width:767px) {
  body.dc-deals-modern .latest-deals-wrapper .deal-thumb-image .btn-card-deal,
  body.dc-deals-modern .latest-deals-wrapper .deal-thumb-image .btn-card-deal.dc-real-cta {
    min-height:44px !important;
    left:14px !important;
    right:14px !important;
    bottom:12px !important;
    padding-left:14px !important;
    padding-right:10px !important;
  }
}

@media (max-width:420px) {
  body.dc-deals-modern .latest-deals-wrapper .deal-item-wrapper {
    max-width:calc(100vw - 28px) !important;
  }
  body.dc-deals-modern .latest-deals-wrapper .card-deal-title {
    font-size:16px !important;
    line-height:1.3 !important;
  }
  body.dc-deals-modern .dc-pagination-controls {
    gap:5px !important;
  }
  body.dc-deals-modern .dc-deals-pagination a {
    min-width:38px !important;
    height:38px !important;
    padding:0 9px !important;
  }
}

/* ================================================================
   V2.3 — GLOBAL MOBILE / RESPONSIVE FOUNDATION
   The public site, not only /deals/, must behave like a mobile-first UI.
   Desktop rules above are intentionally untouched.
   ================================================================ */
@media (max-width: 767px) {
  html, body {
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body {
    text-align:center !important;
  }

  /* Stop the legacy theme's fixed/float widths from creating a desktop
     layout squeezed into a phone viewport. */
  body .container,
  body .fw-container,
  body .site-container,
  body .content-area,
  body .main-content,
  body .page-content,
  body .page-wrapper,
  body .fw-main-row,
  body .row {
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  body .container,
  body .fw-container,
  body .site-container {
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body .row {
    margin-left:0 !important;
    margin-right:0 !important;
  }

  /* Mobile columns become one clean centred column. */
  body .col-xs-1,
  body .col-xs-2,
  body .col-xs-3,
  body .col-xs-4,
  body .col-xs-5,
  body .col-xs-6,
  body .col-xs-7,
  body .col-xs-8,
  body .col-xs-9,
  body .col-xs-10,
  body .col-xs-11,
  body .col-xs-12,
  body [class*="fw-col-xs-"] {
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  /* User-facing content is centred on mobile: text, headings and links. */
  body h1,
  body h2,
  body h3,
  body h4,
  body h5,
  body h6,
  body p,
  body li,
  body a,
  body label,
  body .section-title,
  body .section-title-block,
  body .entry-title,
  body .page-title,
  body .post-title,
  body .entry-content,
  body .page-content,
  body .widget,
  body .widget-title,
  body .textwidget {
    text-align:center !important;
  }

  body ul,
  body ol {
    padding-left:0 !important;
    padding-right:0 !important;
    list-style-position:inside !important;
  }

  /* Images are always contained and visually centred. */
  body img,
  body video,
  body iframe {
    max-width:100% !important;
    height:auto !important;
  }
  body img {
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Common cards/grids: never allow a child to exceed the viewport. */
  body .grid-wrapper,
  body .isotope-wrapper,
  body .latest-deals-wrapper,
  body .dc-deal-grid,
  body .dc-store-grid,
  body .dc-category-grid,
  body .featured-companies-wrapper,
  body .featured-deals-wrapper {
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  body .grid-wrapper > *,
  body .isotope-wrapper > *,
  body .latest-deals-wrapper > *,
  body .dc-deal-grid > *,
  body .dc-store-grid > *,
  body .dc-category-grid > *,
  body .featured-companies-wrapper > *,
  body .featured-deals-wrapper > * {
    max-width:100% !important;
    box-sizing:border-box !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Inputs/buttons: compact, touch-friendly and centred. */
  body input:not([type="hidden"]),
  body select,
  body textarea,
  body button,
  body .button,
  body .btn,
  body input[type="submit"],
  body input[type="button"] {
    max-width:100% !important;
    box-sizing:border-box !important;
    text-align:center !important;
  }

  /* ============================================================
     /DEALS/ mobile search — ONLY mobile is changed here.
     Desktop search remains exactly as before.
     ============================================================ */
  body.dc-deals-modern .header-screen {
    min-height:0 !important;
    height:auto !important;
    padding:34px 14px 40px !important;
    overflow:hidden !important;
  }

  body.dc-deals-modern .header-screen-content {
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
  }

  body.dc-deals-modern .header-screen-content:before {
    width:100% !important;
    margin:0 0 14px !important;
    font-size:32px !important;
    line-height:1.05 !important;
    text-align:center !important;
  }

  body.dc-deals-modern form.form-deal-submit.header-screen-search {
    width:100% !important;
    max-width:520px !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
  }

  body.dc-deals-modern form.form-deal-submit.header-screen-search > .clearfix,
  body.dc-deals-modern form.form-deal-submit.header-screen-search > .header-screen-geolocation-fields {
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:contents !important;
  }

  body.dc-deals-modern form.form-deal-submit.header-screen-search input[type="text"] {
    display:block !important;
    width:100% !important;
    max-width:520px !important;
    min-width:0 !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    margin:0 auto !important;
    padding:0 16px !important;
    border-radius:12px !important;
    line-height:50px !important;
    font-size:16px !important;
    text-align:center !important;
  }

  body.dc-deals-modern form.form-deal-submit.header-screen-search button[type="submit"] {
    display:block !important;
    width:140px !important;
    max-width:140px !important;
    min-width:140px !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    margin:0 auto !important;
    padding:0 14px !important;
    border-radius:12px !important;
    line-height:50px !important;
  }

  body.dc-deals-modern .header-screen:after {
    position:static !important;
    display:block !important;
    width:100% !important;
    margin:18px auto 0 !important;
    transform:none !important;
    white-space:normal !important;
    text-align:center !important;
  }
}

/* ================================================================
   V2.5 — MOBILE HOMEPAGE ALIGNMENT
   Exact visual requirement:
   - quick-nav icon + copy form one centred horizontal group;
   - shop initial/logo sits directly above shop name on one vertical axis.
   Desktop is intentionally untouched.
   ================================================================ */
@media (max-width: 767px) {
  /* Quick navigation rows. The wrapper is full width, but its contents are
     shrink-to-content and centred together. Neutralise common theme rules
     that can pin the icon to the left. */
  body .dc-mobile-icon-text-row {
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    text-align:center !important;
    float:none !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  body .dc-mobile-icon-text-row > * {
    float:none !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body .dc-mobile-icon-text-row > :first-child,
  body .dc-mobile-icon-text-row img,
  body .dc-mobile-icon-text-row svg,
  body .dc-mobile-icon-text-row i,
  body .dc-mobile-icon-text-row [class*="icon"] {
    flex:0 0 auto !important;
  }

  body .dc-mobile-icon-text-row > :last-child {
    flex:0 1 auto !important;
    min-width:0 !important;
    text-align:center !important;
  }

  /* Shop/company tiles. Works with the known .dc-store-card markup and with
     the structural class added by V2.5 when the live homepage uses another
     wrapper class. */
  body .dc-mobile-shop-card {
    text-align:center !important;
    align-items:center !important;
    justify-content:center !important;
  }

  body .dc-mobile-shop-card > a,
  body .dc-mobile-shop-card a {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    text-align:center !important;
    float:none !important;
    position:static !important;
  }

  body .dc-mobile-shop-card img,
  body .dc-mobile-shop-card svg,
  body .dc-mobile-shop-card .dc-placeholder,
  body .dc-mobile-shop-card [class*="logo"],
  body .dc-mobile-shop-card [class*="icon"] {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    float:none !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  body .dc-mobile-shop-card h2,
  body .dc-mobile-shop-card h3,
  body .dc-mobile-shop-card h4,
  body .dc-mobile-shop-card .dc-view-store {
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    align-self:center !important;
  }

  /* Existing known homepage store grid. */
  body .dc-store-card > a {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  body .dc-store-card .dc-placeholder,
  body .dc-store-card img {
    align-self:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Alphabet navigation remains centred as a single unit. */
  body .dc-alphabet,
  body .alphabet-nav,
  body .shop-alphabet {
    text-align:center !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* v2.5.1 — consistent Deals search hero on the Shops page. */
body.dc-shops-modern .dc-modern-search-header, body.dc-categories-modern .dc-modern-search-header { display:none !important; }
body.dc-shops-modern .dc-shops-search-hero {
  box-sizing:border-box; width:100%; padding:46px 20px 47px; margin:0;
  background:#071a36; color:#fff; text-align:center;
}
body.dc-shops-modern .dc-shops-search-inner { max-width:1000px; margin:0 auto; }
body.dc-shops-modern .dc-shops-search-inner h2 {
  margin:0 0 12px; color:#fff; font-size:clamp(25px,2.5vw,34px); line-height:1.2; font-weight:800;
}
body.dc-shops-modern .dc-shops-search-inner p {
  margin:0 auto 30px; color:#f1f5fb; font-size:16px; line-height:1.5;
}
body.dc-shops-modern .dc-shops-search-form {
  display:flex; align-items:stretch; gap:12px; max-width:966px; margin:0 auto 17px;
}
body.dc-shops-modern .dc-shops-search-form input[type="search"] {
  flex:1 1 auto; min-width:0; height:59px; box-sizing:border-box; padding:0 19px;
  border:0; border-radius:6px; background:#fff; color:#172033; font-size:16px; box-shadow:none;
}
body.dc-shops-modern .dc-shops-search-form button {
  flex:0 0 155px; height:59px; border:0; border-radius:6px; padding:0 20px;
  background:#80cb73; color:#fff; font-size:14px; font-weight:900; letter-spacing:.04em; cursor:pointer;
}
body.dc-shops-modern .dc-shops-sort-row { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
body.dc-shops-modern .dc-shops-sort {
  display:inline-flex; min-height:43px; align-items:center; justify-content:center; box-sizing:border-box;
  padding:0 16px; border:1px solid #dce3ec; border-radius:6px; background:#fff; color:#182337;
  text-decoration:none; font-size:12px; font-weight:800; white-space:nowrap;
}
body.dc-shops-modern .dc-shops-sort.is-active,
body.dc-shops-modern .dc-shops-sort:hover { background:#80cb73; border-color:#80cb73; color:#fff; }
@media(max-width:650px) {
  body.dc-shops-modern .dc-shops-search-hero { padding:34px 16px 35px; }
  body.dc-shops-modern .dc-shops-search-inner p { margin-bottom:22px; font-size:14px; }
  body.dc-shops-modern .dc-shops-search-form { flex-direction:column; gap:10px; }
  body.dc-shops-modern .dc-shops-search-form input[type="search"],
  body.dc-shops-modern .dc-shops-search-form button { width:100%; flex-basis:auto; height:54px; }
  body.dc-shops-modern .dc-shops-sort-row { gap:7px; }
  body.dc-shops-modern .dc-shops-sort { min-height:40px; padding:0 11px; font-size:11px; }
}


/* v2.5.3 — same search header on Categories. */
/* v2.5.1 — consistent Deals search hero on the Shops page. */
body.dc-categories-modern .dc-modern-search-header, body.dc-categories-modern .dc-modern-search-header { display:none !important; }
body.dc-categories-modern .dc-shops-search-hero {
  box-sizing:border-box; width:100%; padding:46px 20px 47px; margin:0;
  background:#071a36; color:#fff; text-align:center;
}
body.dc-categories-modern .dc-shops-search-inner { max-width:1000px; margin:0 auto; }
body.dc-categories-modern .dc-shops-search-inner h2 {
  margin:0 0 12px; color:#fff; font-size:clamp(25px,2.5vw,34px); line-height:1.2; font-weight:800;
}
body.dc-categories-modern .dc-shops-search-inner p {
  margin:0 auto 30px; color:#f1f5fb; font-size:16px; line-height:1.5;
}
body.dc-categories-modern .dc-shops-search-form {
  display:flex; align-items:stretch; gap:12px; max-width:966px; margin:0 auto 17px;
}
body.dc-categories-modern .dc-shops-search-form input[type="search"] {
  flex:1 1 auto; min-width:0; height:59px; box-sizing:border-box; padding:0 19px;
  border:0; border-radius:6px; background:#fff; color:#172033; font-size:16px; box-shadow:none;
}
body.dc-categories-modern .dc-shops-search-form button {
  flex:0 0 155px; height:59px; border:0; border-radius:6px; padding:0 20px;
  background:#80cb73; color:#fff; font-size:14px; font-weight:900; letter-spacing:.04em; cursor:pointer;
}
body.dc-categories-modern .dc-shops-sort-row { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; }
body.dc-categories-modern .dc-shops-sort {
  display:inline-flex; min-height:43px; align-items:center; justify-content:center; box-sizing:border-box;
  padding:0 16px; border:1px solid #dce3ec; border-radius:6px; background:#fff; color:#182337;
  text-decoration:none; font-size:12px; font-weight:800; white-space:nowrap;
}
body.dc-categories-modern .dc-shops-sort.is-active,
body.dc-categories-modern .dc-shops-sort:hover { background:#80cb73; border-color:#80cb73; color:#fff; }
@media(max-width:650px) {
  body.dc-categories-modern .dc-shops-search-hero { padding:34px 16px 35px; }
  body.dc-categories-modern .dc-shops-search-inner p { margin-bottom:22px; font-size:14px; }
  body.dc-categories-modern .dc-shops-search-form { flex-direction:column; gap:10px; }
  body.dc-categories-modern .dc-shops-search-form input[type="search"],
  body.dc-categories-modern .dc-shops-search-form button { width:100%; flex-basis:auto; height:54px; }
  body.dc-categories-modern .dc-shops-sort-row { gap:7px; }
  body.dc-categories-modern .dc-shops-sort { min-height:40px; padding:0 11px; font-size:11px; }
}


/* Hide the custom Find a Deal sidebar on the modern Deals page only. */
body.dc-deals-modern .dc-deals-sidebar {
  display: none !important;
}
