/*
Theme Name: Go Just Online
Theme URI: https://example.com/
Description: Full-width responsive affiliate deals and shopping guide theme for Go Just Online.
Version: 1.0.0
Author: Go Just Online
Text Domain: go-just-online
*/

/* =========================
   Base
   ========================= */
:root{
  --fbk-blue:#075d8d;
  --fbk-dark:#17384d;
  --fbk-red:#d9232e;
  --fbk-orange:#f36d25;
  --fbk-light:#f4f7f9;
  --fbk-border:#d9e0e4;
  --fbk-text:#344b58;
  --fbk-muted:#6f7d85;
}
*,
*::before,
*::after{box-sizing:border-box}
html,body{width:100%;max-width:100%;margin:0;padding:0;overflow-x:hidden}
body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--fbk-text);
  background:#f3f5f6;
  line-height:1.55;
}
a{color:var(--fbk-blue)}
img,video,iframe,svg{max-width:100%;height:auto}
button,input,select,textarea{font:inherit;max-width:100%}
.site-width{width:100%;margin:0;padding-left:18px;padding-right:18px}
.screen-section{width:100%;margin:0}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;width:100%}
.content-main,.content-sidebar{min-width:0}
.hidden{display:none}

/* =========================
   Header
   ========================= */
.site-topbar{
  width:100%;
  background:#17384d;
  color:#fff;
  font-size:12px;
}
.site-topbar .site-width{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
}
.site-header{
  width:100%;
  background:#fff;
  border-bottom:1px solid var(--fbk-border);
}
.site-header-inner{
  width:100%;
  min-height:116px;
  display:grid;
  grid-template-columns:100px minmax(240px,1fr) 48px;
  align-items:center;
  gap:16px;
  padding-top:8px;
  padding-bottom:8px;
}
.site-logo-box{
  width:100px;
  height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  border:1px solid #d8e0e4;
  border-radius:8px;
}
.site-logo-box img{
  display:block;
  width:100px;
  height:100px;
  max-width:100px;
  max-height:100px;
  object-fit:contain;
}
.site-logo-fallback{
  width:100px;
  height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px;
  background:var(--fbk-blue);
  color:#fff;
  font-weight:900;
  font-size:16px;
  line-height:1.1;
}
.site-brand{
  min-width:0;
  overflow:hidden;
}
.site-brand-title{
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--fbk-dark);
  font-size:clamp(25px,3vw,42px);
  line-height:1.05;
  font-weight:900;
  text-decoration:none;
}
.site-brand-tagline{
  display:block;
  margin-top:6px;
  color:var(--fbk-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.header-search{
  width:48px;
  height:48px;
  border:1px solid var(--fbk-border);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--fbk-blue);
  text-decoration:none;
  font-size:24px;
  background:#fff;
}
.primary-nav{
  width:100%;
  background:var(--fbk-blue);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.primary-nav-inner{
  width:100%;
  min-width:max-content;
  display:flex;
  align-items:stretch;
}
.primary-nav a{
  display:block;
  color:#fff;
  text-decoration:none;
  padding:13px 16px;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.primary-nav a:hover,
.primary-nav a:focus{background:#064c73}
.header-disclosure{
  width:100%;
  background:#fff8df;
  border-bottom:1px solid #ead59a;
  color:#5d5a4b;
  font-size:11px;
}
.header-disclosure .site-width{padding-top:8px;padding-bottom:8px}
.alert-bar{
  width:100%;
  background:#eaf4f9;
  border-bottom:1px solid #c9dce6;
  color:#234c61;
  font-size:12px;
}
.alert-bar .site-width{padding-top:8px;padding-bottom:8px}

/* =========================
   Homepage
   ========================= */
.hero{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);
  min-height:300px;
  background:#fff;
  border-bottom:1px solid var(--fbk-border);
}
.hero-copy{padding:38px}
.eyebrow{
  display:inline-block;
  color:var(--fbk-red);
  font-size:11px;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}
.hero h1{
  margin:8px 0 12px;
  color:var(--fbk-dark);
  font-size:clamp(30px,4vw,52px);
  line-height:1.08;
}
.hero p{max-width:900px;color:var(--fbk-muted);font-size:16px}
.hero-button{
  display:inline-block;
  margin-top:10px;
  padding:12px 20px;
  background:var(--fbk-blue);
  color:#fff;
  border-radius:4px;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
}
.hero-art{
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#e31d2d,#f36d25,#ffc247);
  color:#fff;
}
.hero-art strong{font-size:64px}
.hero-art .sale-word{font-size:48px;font-weight:900;line-height:.9;transform:rotate(-7deg);text-align:center}
.hero-art small{position:absolute;right:16px;bottom:14px;font-size:10px;font-weight:900;letter-spacing:1px}
.section-head{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border-bottom:3px solid var(--fbk-blue);
  margin:20px 0 12px;
  padding-bottom:6px;
}
.section-head h2{margin:0;color:var(--fbk-red);font-size:22px}
.section-head a{font-size:12px;font-weight:800;text-decoration:none}
.deal-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.deal-card{
  min-width:0;
  background:#fff;
  border:1px solid var(--fbk-border);
  overflow:hidden;
}
.deal-card.expired{opacity:.68}
.deal-image{
  width:100%;
  height:240px;
  position:relative;
  overflow:hidden;
  background:#eef2f4;
}
.deal-image img{
  display:block;
  width:100%;
  height:240px;
  object-fit:cover;
}
.deal-placeholder{
  width:100%;
  height:240px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,#075d8d,#d9232e);
  font-weight:900;
  font-size:28px;
}
.discount-badge{
  position:absolute;
  top:10px;
  left:10px;
  background:var(--fbk-red);
  color:#fff;
  padding:6px 8px;
  font-size:11px;
  font-weight:900;
  border-radius:3px;
}
.deal-body{padding:14px}
.store-label,.blog-category{
  color:var(--fbk-red);
  font-size:10px;
  font-weight:900;
  letter-spacing:.7px;
  text-transform:uppercase;
}
.deal-card h3{
  margin:5px 0 8px;
  color:var(--fbk-dark);
  font-size:17px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.deal-price{font-size:21px;color:#111}
.deal-price del{margin-left:6px;color:#8b969c;font-size:13px}
.rating{font-size:12px;margin:5px 0}
.coupon{
  display:inline-block;
  margin:7px 0;
  padding:5px 7px;
  border:1px dashed #c58c00;
  background:#fff9e8;
  font-size:11px;
}
.deal-meta{color:var(--fbk-muted);font-size:10px;margin:5px 0 8px}
.deal-button{
  display:block;
  width:100%;
  padding:11px 12px;
  background:var(--fbk-blue);
  color:#fff;
  text-align:center;
  text-decoration:none;
  border-radius:3px;
  font-size:12px;
  font-weight:900;
}
.affiliate-note{
  margin-top:7px;
  color:#777;
  font-size:9px;
  line-height:1.45;
}
.sidebar-box{
  width:100%;
  background:#fff;
  border:1px solid var(--fbk-border);
  margin-top:20px;
}
.sidebar-title{
  margin:0;
  padding:10px 12px;
  color:var(--fbk-red);
  font-size:18px;
  font-weight:900;
  border-bottom:2px solid var(--fbk-border);
}
.sidebar-list{padding:0;margin:0;list-style:none}
.sidebar-list li{border-bottom:1px solid #e7ecef}
.sidebar-list a{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}
.ad-box{
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#7a878e;
  font-size:11px;
  background:#fff;
}
.popular-list{margin:0;padding:0;list-style:none}
.popular-list li{
  padding:11px;
  border-bottom:1px solid #e7ecef;
  font-size:12px;
}
.popular-number{
  display:inline-flex;
  width:25px;
  height:25px;
  align-items:center;
  justify-content:center;
  margin-right:7px;
  border-radius:50%;
  background:var(--fbk-red);
  color:#fff;
  font-weight:900;
}
.blog-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.blog-card{
  min-width:0;
  background:#fff;
  border:1px solid var(--fbk-border);
  overflow:hidden;
}
.blog-card-image,
.blog-card-image img{
  display:block;
  width:100%;
  height:220px;
}
.blog-card-image img{object-fit:cover}
.blog-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#075d8d,#d9232e);
  color:#fff;
  font-size:25px;
  font-weight:900;
}
.blog-card-body{padding:14px}
.blog-card h2{
  margin:5px 0;
  font-size:20px;
  line-height:1.35;
}
.blog-card h2 a{text-decoration:none;color:var(--fbk-dark)}
.post-meta{font-size:11px;color:#7b878e}
.blog-card p{font-size:13px;color:#65737c}
.read-more{font-size:12px;font-weight:900;text-decoration:none}
.newsletter{
  width:100%;
  margin-top:22px;
  padding:30px;
  background:#fff;
  border:1px solid var(--fbk-border);
  text-align:center;
}
.newsletter h2{margin:0 0 5px}
.newsletter p{color:var(--fbk-muted)}
.newsletter form{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.newsletter input{
  width:min(420px,100%);
  padding:12px;
  border:1px solid #ccd5da;
}
.newsletter button{
  padding:12px 20px;
  border:0;
  background:var(--fbk-red);
  color:#fff;
  font-weight:900;
}

/* =========================
   Posts / pages / deals
   ========================= */
.article-shell,
.deal-shell{
  width:100%;
  background:#fff;
  border:1px solid var(--fbk-border);
  padding:30px;
}
.article-shell h1,
.deal-shell h1{
  margin:6px 0 12px;
  color:var(--fbk-dark);
  font-size:clamp(28px,4vw,46px);
  line-height:1.2;
  overflow-wrap:anywhere;
}
.featured-image{
  display:block;
  width:100%;
  height:auto;
  margin:15px 0 22px;
}
.article-content{
  width:100%;
  max-width:none;
  font-size:17px;
  line-height:1.85;
  overflow-wrap:anywhere;
}
.article-content > *{max-width:100%}
.article-content img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
}
.article-content iframe,
.article-content video{max-width:100%;width:100%;aspect-ratio:16/9}
.article-content table{
  width:100%;
  max-width:100%;
  display:block;
  overflow-x:auto;
  border-collapse:collapse;
}
.article-content pre{
  max-width:100%;
  overflow-x:auto;
}
.article-content .alignwide,
.article-content .alignfull{
  max-width:100%;
  width:100%;
  margin-left:0;
  margin-right:0;
}
.article-content h2{color:var(--fbk-dark);font-size:28px;line-height:1.3}
.article-content h3{color:var(--fbk-dark);font-size:22px;line-height:1.35}
.article-content blockquote{
  margin-left:0;
  margin-right:0;
  padding:15px 18px;
  background:#f5f8fa;
  border-left:4px solid var(--fbk-blue);
}
.post-disclosure,.deal-disclosure{
  margin-top:24px;
  padding:13px;
  background:#fff8df;
  border:1px solid #ead59a;
  color:#5d5a4b;
  font-size:12px;
}
.deal-hero-image{
  display:block;
  width:100%;
  max-width:800px;
  height:auto;
  margin:0 auto 22px;
}
.deal-buy{
  display:inline-block;
  padding:13px 22px;
  background:var(--fbk-red);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  border-radius:3px;
}
.archive-intro{
  width:100%;
  padding:25px 0 5px;
}
.archive-intro h1{margin:0;color:var(--fbk-dark);font-size:34px}
.archive-intro p{color:var(--fbk-muted)}
.pagination{
  margin:22px 0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.pagination .page-numbers{
  padding:7px 10px;
  border:1px solid var(--fbk-border);
  background:#fff;
  text-decoration:none;
}

/* =========================
   Footer
   ========================= */
.site-footer{
  width:100%;
  margin-top:28px;
  background:#17384d;
  color:#fff;
}
.site-footer-inner{
  width:100%;
  padding-top:28px;
  padding-bottom:28px;
}
.footer-brand{
  display:block;
  color:#fff;
  font-size:clamp(22px,3vw,34px);
  line-height:1.05;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin:15px 0;
}
.footer-links a{color:#fff;text-decoration:none;font-size:12px}
.footer-disclosure{font-size:11px;color:#dbe6eb;max-width:1100px}
.footer-copy{font-size:10px;color:#b9cbd4}

/* =========================
   Responsive
   ========================= */
@media(max-width:1100px){
  .content-grid{grid-template-columns:minmax(0,1fr) 280px}
  .deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-header-inner{grid-template-columns:100px minmax(0,1fr) 48px}
}
@media(max-width:800px){
  .site-width{padding-left:12px;padding-right:12px}
  .content-grid{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr}
  .hero-art{min-height:190px}
  .hero-copy{padding:25px 18px}
  .deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-header-inner{
    grid-template-columns:80px minmax(0,1fr) 44px;
    min-height:96px;
  }
  .site-logo-box,.site-logo-box img,.site-logo-fallback{
    width:80px;height:80px;max-width:80px;max-height:80px;
  }
  .site-brand-title{font-size:clamp(22px,5vw,32px)}
  .site-brand-tagline{font-size:9px}
  .header-search{width:44px;height:44px}
}
@media(max-width:600px){
  .site-width{padding-left:0;padding-right:0}
  .site-topbar .site-width{padding:7px 10px}
  .site-topbar .site-width{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    text-align:center;
    padding:7px 8px;
  }
  .site-topbar .site-width>div{
    display:block;
    white-space:nowrap;
    font-size:10px;
  }
  .site-topbar .site-width>div:first-child{
    display:block;
  }
  .site-topbar .site-width>div:last-child{
    display:block;
    width:auto;
    overflow:visible;
  }
  .site-header-inner{
    grid-template-columns:72px minmax(0,1fr) 42px;
    padding:8px 10px;
  }
  .site-logo-box,.site-logo-box img,.site-logo-fallback{
    width:72px;height:72px;max-width:72px;max-height:72px;
  }
  .site-brand-title{font-size:clamp(20px,7vw,29px)}
  .site-brand-tagline{font-size:8px;letter-spacing:1px}
  .header-search{width:42px;height:42px}
  .primary-nav a{padding:11px 13px;font-size:12px}
  .header-disclosure .site-width,
  .alert-bar .site-width{padding:8px 10px}
  .hero-copy{padding:22px 14px}
  .hero h1{font-size:27px}
  .deal-grid{grid-template-columns:1fr}
  .deal-image,.deal-image img,.deal-placeholder{height:230px}
  .blog-grid{grid-template-columns:1fr}
  .blog-card-image,.blog-card-image img{height:210px}
  .article-shell,.deal-shell{border-left:0;border-right:0;padding:18px 12px}
  .article-content{font-size:15px;line-height:1.75}
  .article-content h2{font-size:22px}
  .article-content h3{font-size:19px}
  .newsletter{padding:22px 12px}
  .newsletter input,.newsletter button{width:100%}
}
@media(max-width:400px){
  .site-topbar .site-width>div{
    font-size:9px;
  }
  .site-header-inner{grid-template-columns:64px minmax(0,1fr) 40px;padding:7px 8px}
  .site-logo-box,.site-logo-box img,.site-logo-fallback{width:64px;height:64px;max-width:64px;max-height:64px}
  .site-brand-title{font-size:20px}
  .site-brand-tagline{font-size:7px}
  .header-search{width:40px;height:40px}
  .article-shell,.deal-shell{padding:16px 10px}
}

/* Full-width safeguard: no accidental outer white gutters */
body > .site-topbar,
body > .site-header,
body > .primary-nav,
body > .header-disclosure,
body > .alert-bar,
body > .site-footer{width:100vw;max-width:100vw}

/* Universal footer newsletter */
.footer-newsletter{
  width:100%;
  background:#fff;
  border-top:1px solid var(--fbk-border);
  border-bottom:1px solid var(--fbk-border);
}
.footer-newsletter-inner{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding-top:24px;
  padding-bottom:24px;
}
.footer-newsletter h2{
  margin:4px 0 5px;
  color:var(--fbk-dark);
  font-size:clamp(21px,2.5vw,30px);
  line-height:1.2;
}
.footer-newsletter p{
  margin:0;
  color:var(--fbk-muted);
  font-size:13px;
}
.footer-newsletter-form{
  display:flex;
  flex:0 1 500px;
  gap:8px;
}
.footer-newsletter-form input{
  min-width:0;
  flex:1;
  padding:13px 14px;
  border:1px solid #cbd5da;
  border-radius:3px;
  background:#fff;
}
.footer-newsletter-form button{
  padding:13px 20px;
  border:0;
  border-radius:3px;
  background:var(--fbk-red);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.fbk-date-time{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

@media(max-width:800px){
  .footer-newsletter-inner{
    align-items:stretch;
    flex-direction:column;
    gap:16px;
  }
  .footer-newsletter-form{
    width:100%;
    max-width:none;
    flex-basis:auto;
  }
}
@media(max-width:600px){
  .footer-newsletter-inner{
    padding:22px 12px;
  }
  .footer-newsletter-form{
    flex-direction:column;
  }
  .footer-newsletter-form input,
  .footer-newsletter-form button{
    width:100%;
  }
  .fbk-date-time{
    font-size:9px !important;
  }
}

/* Deal Manager publish-location pages */
.page-intro-content{margin-top:10px}
.deal-location-results{margin-top:24px}
.deal-count{
  color:var(--fbk-muted);
  font-size:12px;
  font-weight:700;
}
.pagination ul{
  display:flex;
  justify-content:center;
  gap:7px;
  list-style:none;
  margin:28px 0 0;
  padding:0;
  flex-wrap:wrap;
}
.pagination a,
.pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  min-height:36px;
  padding:5px 10px;
  border:1px solid var(--fbk-border);
  border-radius:3px;
  text-decoration:none;
}

/* =========================================================
   FINAL PRIMARY MENU FIX
   WordPress outputs the menu as ul.menu > li.menu-item.
   These rules intentionally override theme/plugin list styles.
   ========================================================= */
.site-header + .primary-nav,
.primary-nav{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  white-space:nowrap !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.primary-nav::-webkit-scrollbar{display:none;width:0;height:0}

.primary-nav .primary-nav-inner,
.primary-nav .primary-nav-inner > ul.menu,
.primary-nav .primary-nav-inner > ul{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  list-style-type:none !important;
}

.primary-nav .primary-nav-inner > ul.menu > li,
.primary-nav .primary-nav-inner > ul > li,
.primary-nav li.menu-item{
  display:flex !important;
  flex:0 0 auto !important;
  flex-direction:row !important;
  float:none !important;
  position:relative !important;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  list-style-type:none !important;
}

.primary-nav li.menu-item::before,
.primary-nav li.menu-item::after,
.primary-nav ul::before,
.primary-nav ul::after{
  content:none !important;
  display:none !important;
}

.primary-nav .primary-nav-inner a,
.primary-nav .primary-nav-inner li > a{
  display:flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:max-content !important;
  min-height:46px !important;
  margin:0 !important;
  padding:13px 16px !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

@media(max-width:700px){
  .primary-nav .primary-nav-inner a,
  .primary-nav .primary-nav-inner li > a{
    min-height:44px !important;
    padding:11px 13px !important;
    font-size:12px !important;
  }
}

/* Today's Featured Deals automatic slider */
.featured-slider{
  min-height:300px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#e31d2d,#f36d25,#ffc247);
  color:#fff;
}
.featured-slides{
  width:100%;
  height:100%;
  min-height:300px;
  position:relative;
}
.featured-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .45s ease,visibility .45s ease;
}
.featured-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:2;
}
.featured-slide-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,.9fr);
  align-items:stretch;
  width:100%;
  min-height:300px;
  color:#fff;
  text-decoration:none;
}
.featured-slide-image{
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(255,255,255,.14);
}
.featured-slide-image img{
  display:block;
  width:100%;
  max-width:300px;
  height:200px;
  object-fit:contain;
}
.featured-slide-placeholder{
  font-size:34px;
  font-weight:900;
  line-height:1;
  text-align:center;
}
.featured-slide-info{
  align-self:center;
  padding:22px 20px 48px 8px;
}
.featured-slide-info span{
  display:block;
  margin-bottom:7px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.7px;
}
.featured-slide-info strong{
  display:block;
  font-size:clamp(18px,2.1vw,27px);
  line-height:1.15;
}
.featured-slide-price{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:13px;
}
.featured-slide-price b{font-size:23px}
.featured-slide-price em{
  font-style:normal;
  font-weight:900;
  background:#fff;
  color:#c7182a;
  padding:5px 7px;
  border-radius:3px;
  font-size:11px;
}
.featured-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:28px;
  line-height:28px;
  cursor:pointer;
}
.featured-prev{left:10px}
.featured-next{right:10px}
.featured-arrow:hover{background:rgba(0,0,0,.55)}
.featured-dots{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  display:flex;
  gap:6px;
}
.featured-dot{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  cursor:pointer;
}
.featured-dot.is-active{background:#fff}
@media(max-width:850px){
  .featured-slide-link{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .featured-slider,.featured-slides,.featured-slide-link{min-height:270px}
  .featured-slide-link{grid-template-columns:1fr}
  .featured-slide-image{
    min-height:150px;
    padding:10px 45px 0;
  }
  .featured-slide-image img{
    height:125px;
    max-width:230px;
  }
  .featured-slide-info{
    padding:5px 42px 35px;
    text-align:center;
  }
  .featured-slide-info strong{font-size:17px}
  .featured-slide-price{justify-content:center;margin-top:7px}
  .featured-slide-price b{font-size:19px}
}

/* Homepage: maximum 5 deals per section, six sections, with View More */
.homepage-deal-section{
  margin:0 0 36px;
  padding-bottom:28px;
  border-bottom:1px solid var(--fbk-border);
}
.homepage-deal-section .section-head{
  margin-bottom:16px;
}
.homepage-view-more{
  display:flex;
  justify-content:center;
  margin-top:18px;
}
.homepage-view-more a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 18px;
  border:1px solid var(--fbk-border);
  border-radius:3px;
  background:#fff;
  color:var(--fbk-red);
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.homepage-view-more a:hover{
  border-color:var(--fbk-red);
}
.homepage-guides{
  margin-top:10px;
}
.homepage-sidebar-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:30px;
}
@media(max-width:700px){
  .homepage-sidebar-section{
    grid-template-columns:1fr;
  }
}

/* Final deal card presentation */
.deal-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  transition:transform .18s ease, box-shadow .18s ease;
}
.deal-card:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 20px rgba(0,0,0,.08);
}
.deal-image,
.deal-image img{
  height:220px;
}
.deal-image img{
  object-fit:contain;
  padding:12px;
  box-sizing:border-box;
  background:#fff;
}
.deal-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.deal-card h3{
  min-height:46px;
}
.deal-price{
  display:flex;
  align-items:baseline;
  gap:7px;
  flex-wrap:wrap;
}
.deal-price b{
  font-size:22px;
  font-weight:900;
}
.rating{
  letter-spacing:.5px;
}
.rating small{
  color:var(--fbk-muted);
  letter-spacing:0;
  font-weight:700;
}
.coupon{
  max-width:100%;
  overflow-wrap:anywhere;
}
.deal-button{
  margin-top:auto;
}
.deal-button-disabled{
  background:#8b969c;
  cursor:not-allowed;
  text-align:center;
  color:#fff;
  border-radius:3px;
  font-size:12px;
  font-weight:900;
  padding:11px 12px;
}
.affiliate-note{
  text-align:left;
}
.featured-slide-link{
  cursor:pointer;
}
.featured-slide-link[href]{
  transition:opacity .18s ease;
}
.featured-slide-link[href]:hover{
  opacity:.97;
}
@media(max-width:600px){
  .deal-image,
  .deal-image img{
    height:190px;
  }
  .deal-card h3{
    min-height:0;
  }
}

/* Restored homepage sidebar layout */
@media(min-width:801px){
  .content-sidebar{
    position:relative;
  }
  .content-sidebar .sidebar-box:first-child{
    margin-top:0;
  }
}
@media(max-width:800px){
  .content-sidebar{
    width:100%;
  }
  .content-sidebar .sidebar-box{
    margin-top:18px;
  }
}

/* Restored two-column homepage sidebar */
@media(min-width:801px){
  .content-sidebar .sidebar-box:first-child{margin-top:0}
}
@media(max-width:800px){
  .content-grid{grid-template-columns:1fr}
  .content-sidebar{width:100%}
  .content-sidebar .sidebar-box{margin-top:18px}
}

/* Active deal listing / View More pages */
.deal-listing-page{
  padding:24px 0 40px;
}
.listing-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:18px 0 14px;
  border-bottom:3px solid var(--fbk-blue);
  margin-bottom:18px;
}
.listing-header h1{
  margin:5px 0 4px;
  color:var(--fbk-dark);
  font-size:clamp(28px,4vw,42px);
  line-height:1.1;
}
.listing-description{
  color:var(--fbk-muted);
  font-size:13px;
  max-width:800px;
}
.listing-count{
  flex:0 0 auto;
  color:var(--fbk-muted);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.deal-pagination{
  margin:28px 0 8px;
  display:flex;
  justify-content:center;
}
.deal-pagination ul{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}
.deal-pagination li{
  margin:0;
  padding:0;
  list-style:none;
}
.deal-pagination a,
.deal-pagination span{
  display:inline-flex;
  min-width:38px;
  min-height:38px;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid var(--fbk-border);
  background:#fff;
  color:var(--fbk-blue);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  border-radius:3px;
}
.deal-pagination .current{
  background:var(--fbk-blue);
  border-color:var(--fbk-blue);
  color:#fff;
}
.empty-deals{
  background:#fff;
  border:1px solid var(--fbk-border);
  padding:45px 25px;
  text-align:center;
}
.empty-deals h2{
  margin:0 0 8px;
  color:var(--fbk-dark);
}
.empty-deals p{
  color:var(--fbk-muted);
}
.empty-deals-button{
  display:inline-block;
  width:auto;
  margin-top:10px;
}
@media(max-width:800px){
  .listing-header{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .listing-count{white-space:normal}
}
@media(max-width:600px){
  .deal-listing-page{padding-top:10px}
  .deal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .deal-pagination a,
  .deal-pagination span{
    min-width:34px;
    min-height:34px;
    padding:0 8px;
  }
}

/* Category/all-deals featured section */
.category-featured{
  margin-bottom:28px;
}
.category-featured .section-head{
  margin-top:0;
}
.category-featured-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.listing-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:6px 0 14px;
  padding:0 0 7px;
  border-bottom:1px solid var(--fbk-border);
}
.listing-results-head h2{
  margin:0;
  color:var(--fbk-dark);
  font-size:19px;
}
.listing-results-head span{
  color:var(--fbk-muted);
  font-size:11px;
  font-weight:800;
}
@media(max-width:1000px){
  .category-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .category-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .listing-results-head{align-items:flex-start;flex-direction:column;gap:2px}
}
