/*
 * Coupons / typography refinement
 * Align Poppins weight/spacing to the supplied Top Vouchers Code reference.
 * Only appearance and responsive text sizes are changed; no coupon logic.
 */
body.coupon-theme{
  font-family:'Poppins',Arial,sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* The reference uses 600 for promotional and section headings, not 750/800. */
body.coupon-theme h1,
body.coupon-theme h2,
body.coupon-theme h3,
body.coupon-theme h4{
  font-family:'Poppins',Arial,sans-serif;
  font-weight:600;
  letter-spacing:normal;
}
body.coupon-theme .modern-hero h1{
  font-size:clamp(34px,3.55vw,49px)!important;
  font-weight:600!important;
  line-height:1.12;
  letter-spacing:normal!important;
}
body.coupon-theme .modern-hero .hero-lead{
  font-size:18px;
  font-weight:400;
  line-height:1.48;
  letter-spacing:normal;
}
body.coupon-theme .home-section-heading h2{
  font-size:26px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:normal;
}
body.coupon-theme .home-section-heading a{
  font-size:16px;
  font-weight:400;
  line-height:1.5;
}
body.coupon-theme .desktop-nav a{
  font-size:14px;
  font-weight:500;
}
body.coupon-theme .green-search input{
  font-size:14px;
  font-weight:400;
}
body.coupon-theme .hero-highlight strong{
  font-size:16px;
  font-weight:600;
}
body.coupon-theme .hero-highlight small{
  font-size:13px;
  font-weight:400;
}
body.coupon-theme .preview-note{font-size:12px;font-weight:500;line-height:1.65;}
/* Bigger and softer text in the visual coupon cards. */
body.coupon-theme .visual-store-name{
  font-size:12px;
  font-weight:400;
  line-height:1.55;
}
body.coupon-theme .visual-status{
  font-size:10.5px;
  font-weight:500;
  letter-spacing:normal;
}
body.coupon-theme .visual-offer-card .visual-offer-body>h3{
  font-size:14.5px;
  font-weight:500;
  line-height:1.48;
  letter-spacing:normal;
  min-height:65px;
}
body.coupon-theme .visual-terms{
  font-size:12px;
}
body.coupon-theme .visual-terms summary{
  font-size:12px;
  font-weight:400;
}
body.coupon-theme .visual-terms>span{
  font-size:11px;
  font-weight:500;
}
body.coupon-theme .visual-terms details[open] p{
  font-size:12px;
  line-height:1.65;
}
body.coupon-theme .visual-card-button{
  font-size:13.5px;
  font-weight:500;
}
body.coupon-theme .reveal-code.visual-card-button>b{
  font-size:10px;
  font-weight:500;
}
/* Promotional banner, categories and store labels. */
body.coupon-theme .promo-overline{
  font-size:12px;
  font-weight:500;
}
body.coupon-theme .promo-mini{
  font-weight:400;
}
body.coupon-theme .promo-content h2{
  font-size:31px;
  font-weight:600;
  letter-spacing:normal;
  line-height:1.25;
}
body.coupon-theme .promo-cta{font-weight:500;}
body.coupon-theme .round-store{
  font-size:13px;
  font-weight:400;
}
body.coupon-theme .round-store-name{
  font-size:13px;
  font-weight:400;
  line-height:1.45;
}
body.coupon-theme .modern-category strong{
  font-size:14px;
  font-weight:500;
}
body.coupon-theme .how-row h3{
  font-size:18px;
  font-weight:600;
}
body.coupon-theme .how-row p{
  font-size:14px;
  line-height:1.7;
}
/* Store details / archives */
body.coupon-theme .store-profile-text h1{
  font-size:34px;
  font-weight:600;
  line-height:1.3;
}
body.coupon-theme .store-profile-text>p{
  font-size:15px;
  line-height:1.7;
}
body.coupon-theme .store-offer-header h2{
  font-size:26px;
  font-weight:600;
}
body.coupon-theme .store-profile-badges,
body.coupon-theme .result-count,
body.coupon-theme .filter-bar button{
  font-size:13.5px;
  font-weight:500;
}
body.coupon-theme .store-about h2,
body.coupon-theme .store-about-section h2,
body.coupon-theme .store-faq-section h2{
  font-size:24px;
  font-weight:600;
}
body.coupon-theme .store-description,
body.coupon-theme .faq-item p,
body.coupon-theme .sidebar-fact,
body.coupon-theme .aside-tip p{
  font-size:14px;
  line-height:1.75;
}
body.coupon-theme .store-name,
body.coupon-theme .sidebar-panel>h3,
body.coupon-theme .sidebar-box-modern h3{
  font-weight:600;
}
body.coupon-theme .store-sub,
body.coupon-theme .store-count,
body.coupon-theme .sidebar-category,
body.coupon-theme .mini-store-link{
  font-size:13px;
  font-weight:400;
}
body.coupon-theme .inner-banner h1{
  font-weight:600;
  letter-spacing:normal;
}
body.coupon-theme .browse-title,
body.coupon-theme .store-offer-header h2{
  letter-spacing:normal;
}
body.coupon-theme .footer-grid p,
body.coupon-theme .footer-grid a:not(.brand-lockup),
body.coupon-theme .footer-bottom{
  font-size:13.5px;
  line-height:1.7;
}
@media(max-width:880px){
  body.coupon-theme .modern-hero h1{
    font-size:clamp(31px,4.4vw,43px)!important;
  }
  body.coupon-theme .modern-hero .hero-lead{font-size:16px;}
}
/* Give small screens one comfortable offer card per row instead of
   shrinking merchant names, buttons and offer titles to 8–10px. */
@media(max-width:540px){
  body.coupon-theme .modern-hero h1{
    font-size:clamp(28px,8vw,34px)!important;
    font-weight:600!important;
    line-height:1.23;
  }
  body.coupon-theme .modern-hero .hero-lead{
    font-size:14px;
    line-height:1.6;
  }
  body.coupon-theme .green-search input{font-size:14px;}
  body.coupon-theme .hero-highlight strong{font-size:14px;}
  body.coupon-theme .hero-highlight small{font-size:12px;}
  body.coupon-theme .home-section-heading h2{
    font-size:22px;
    font-weight:600;
  }
  body.coupon-theme .home-section-heading a{font-size:14px;}
  body.coupon-theme .visual-offer-grid,
  body.coupon-theme .store-offers.visual-offer-grid{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  body.coupon-theme .visual-offer-photo{height:180px;}
  body.coupon-theme .visual-offer-body{padding:0 16px 16px;}
  body.coupon-theme .visual-store-meta{
    padding-left:69px;
    min-height:45px;
    gap:8px;
  }
  body.coupon-theme .visual-store-logo{
    width:59px;
    height:59px;
    top:-27px;
    min-width:59px;
  }
  body.coupon-theme .visual-store-logo .store-initial{
    width:55px;
    height:55px;
    font-size:20px;
  }
  body.coupon-theme .visual-store-name{font-size:13px;}
  body.coupon-theme .visual-status{font-size:10px;}
  body.coupon-theme .visual-offer-card .visual-offer-body>h3{
    font-size:15px;
    line-height:1.5;
    min-height:0;
    margin:9px 0 15px;
  }
  body.coupon-theme .visual-terms{margin-bottom:13px;}
  body.coupon-theme .visual-terms summary{font-size:13px;}
  body.coupon-theme .visual-terms>span{
    display:block;
    font-size:12px;
  }
  body.coupon-theme .visual-card-button{
    min-height:43px;
    height:43px;
    font-size:14px;
  }
  body.coupon-theme .reveal-code.visual-card-button>b{
    width:48px;
    min-width:48px;
    height:43px;
    font-size:10px;
  }
  body.coupon-theme .reveal-code.visual-card-button>b:before{height:43px;}
  body.coupon-theme .reveal-code.visual-card-button{padding-right:48px;}
  body.coupon-theme .promo-content h2{font-size:23px;}
  body.coupon-theme .round-store-name{font-size:11px;}
  body.coupon-theme .modern-category strong{font-size:12px;}
  body.coupon-theme .store-profile-text h1{font-size:24px;}
  body.coupon-theme .store-offer-header h2{font-size:23px;}
}
