/* TM CMS template */
/* ===================================================================
   GLOBAL — shared across all Mint Comedy pages
   (variables, header/nav, buttons, shared hero text, newsletter,
    sections, content cards, social strip, plan, comedian, footer)
   =================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Bevan:ital@0;1&family=Varela+Round&display=swap');

.varela-round-regular {
  font-family: "Varela Round", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.bevan-regular {
  font-family: "Bevan", serif;
  font-weight: 400;
  font-style: normal;
}

.bevan-regular-italic {
  font-family: "Bevan", serif;
  font-weight: 400;
  font-style: italic;
}



:root{
  --green:#19e783;
  --green-2:#13c46c;
  --bg:#141414;
  --ink:#080808;
  --panel:#1b1b1b;
  --panel-2:#0e0e0e;
  --comedian:#0f1012;
  --white:#ffffff;
  --dim:#9a9a9a;
  --dimmer:#6b6b6b;
  --line:#262626;
  --maxw:1440px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--white);
  font-family:'Inter',system-ui,sans-serif;
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.disp{font-family:'Montserrat',sans-serif}

/* ---------- HEADER ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:var(--ink);
  border-bottom:2px solid var(--green);
}
.hdr{display:flex;align-items:center;gap:38px;height:68px}
.logo{display:inline-flex;align-items:center}
.logo img{height:28px;width:auto;display:block}
nav{display:flex;gap:42px;margin:0 auto}
nav a{color:var(--dim);font-size:14px;font-weight:600;letter-spacing:1.5px;transition:color .18s;position:relative}
nav a.active{color:#fff}
nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--green)}
nav a:hover{color:#fff}
.hdr-cta{display:flex;gap:12px}
.btn{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:1.2px;border:none;cursor:pointer;border-radius:6px;padding:11px 22px;transition:transform .15s,background .18s,color .18s,border-color .18s}
.btn:hover{transform:translateY(-1px)}
.btn-light{background:transparent;color:#fff;border:1px solid #3a3a3a}
.btn-light:hover{background:#1c1c1c;border-color:#555}
.btn-green{background:var(--green);color:#06210f}
.btn-green:hover{background:var(--green-2)}

/* ---------- HERO (shared shell + text/right column) ---------- */
/* Shared shell — each page sets only the vars it needs:
   --hero-bg      background image (url(...))
   --hero-overlay gradient layered on top of the image
   --hero-pad     vertical padding
   --hero-cols    column ratio (default 1.1fr 1fr; Live uses 1fr 1fr)
   --hero-gap     column gap                                              */
.hero-sec{
  background-image: var(--hero-overlay, linear-gradient(rgba(8,11,9,.42), rgba(8,11,9,.6))), var(--hero-bg, none);
  background-size: cover;
  background-position: center;
  padding: var(--hero-pad, clamp(40px,4.6vw,84px)) 0;
}
.hero-grid{
  display:grid;
  align-items:center;
  grid-template-columns: var(--hero-cols, 1.1fr 1fr);
  column-gap: var(--hero-gap, clamp(30px,3.8%,78px));
}
.hero-right{min-width:0}
.hero-eyebrow{color:var(--green);font-size:clamp(12px,1vw,16px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:clamp(10px,1vw,18px)}
.hero-title{font-family:'Montserrat',sans-serif;font-weight:800;text-transform:uppercase;color:#fff;font-size:clamp(38px,4.5vw,80px);line-height:.98;letter-spacing:-.005em;margin-bottom:clamp(14px,1.4vw,24px)}
.hero-desc{color:#d2d8d3;font-size:clamp(14px,1.05vw,19px);line-height:1.5;max-width:640px;margin-bottom:clamp(20px,2vw,34px)}
.hero-watch{margin-bottom:clamp(16px,1.6vw,28px)}
.hero-share{display:flex;align-items:center;gap:16px;color:var(--dim);font-size:clamp(13px,1vw,16px)}
.hero-share .socials{display:flex;gap:14px;align-items:center}
.hero-share .socials a{color:#fff;transition:color .15s}
.hero-share .socials a:hover{color:var(--green)}
.hero-share .socials svg{width:21px;height:21px;fill:currentColor;display:block}

/* ---------- GREEN STRIP (newsletter) ---------- */
.strip-green{background:var(--green);color:#06210f}
.strip-news{display:flex;align-items:center;justify-content:center;gap:26px;padding:18px 0;flex-wrap:wrap}
.strip-news .tag{font-family:'Montserrat',sans-serif;font-weight:800;font-size:18px;letter-spacing:.3px}
.news-form{display:flex;gap:10px}
.news-form input{background:transparent;border:2px solid #06210f;border-radius:7px;padding:9px 14px;width:215px;font-family:'Inter',sans-serif;font-size:12px;color:#06210f}
.news-form input::placeholder{color:rgba(6,33,15,.6)}
.news-form input:focus{outline:none;box-shadow:0 0 0 3px rgba(6,33,15,.15)}
.news-btn{background:transparent;border:2px solid #06210f;color:#06210f}
.news-btn:hover{background:#06210f;color:var(--green)}

/* ---------- SECTIONS ---------- */
.sec{padding-top:40px;padding-bottom:40px}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}
.sec-label{color:var(--green);font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:5px}
.sec-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:22px;letter-spacing:.3px}
.view-all{color:var(--dim);font-size:10px;font-weight:700;letter-spacing:1.4px;transition:color .18s}
.view-all:hover{color:var(--green)}

/* ---------- CONTENT CARDS ---------- */
.card-grid{display:grid;gap:18px;grid-template-columns:repeat(var(--cols,4),1fr)}
.card-grid.portrait .thumb{aspect-ratio:9/16}
.card .thumb{position:relative;border-radius:4px;overflow:hidden;aspect-ratio:16/9;background:#222}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .thumb img{transform:scale(1.04)}
.card .dur{position:absolute;right:7px;bottom:7px;background:rgba(0,0,0,.8);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px}
.card .ccat{color:var(--green);font-size:9.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin:9px 0 3px}
.card .ctitle{font-size:13px;font-weight:600;line-height:1.3}
.card .cmeta{font-size:10.5px;color:var(--dimmer);margin-top:5px}

/* ---------- SEARCH BOX (shared; .comedians-search kept as legacy alias) ---------- */
.search-box,.comedians-search{position:relative;width:min(320px,42vw)}
.search-box input,.comedians-search input{width:100%;background:#1b1b1b;border:1px solid var(--line);border-radius:8px;color:#fff;font-family:'Inter',sans-serif;font-size:13px;padding:11px 40px 11px 14px}
.search-box input::placeholder,.comedians-search input::placeholder{color:var(--dimmer)}
.search-box input:focus,.comedians-search input:focus{outline:none;border-color:var(--green)}
.search-box .ico,.comedians-search .ico{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;fill:var(--dim);pointer-events:none}

/* ---------- PAGER (shared) ---------- */
.pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:34px 0 8px;color:var(--dim);font-size:12px}
.pager button.arrow{background:none;border:none;color:var(--dim);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px}
.pager button.arrow:hover{color:#fff}
.pager .dots{display:flex;gap:8px;align-items:center}
.pager .dot{width:9px;height:9px;border-radius:50%;background:#3a3a3a;border:none;padding:0;cursor:pointer;transition:background .15s}
.pager .dot.active{background:var(--green)}
.pager .count{margin-left:6px;color:var(--dimmer);letter-spacing:.3px}
.pager .page-of{color:var(--dim);font-size:12px;letter-spacing:.3px}
.no-results{color:var(--dim);padding:30px 0;grid-column:1/-1}

/* ---------- SOCIAL STRIP ---------- */
.strip-social{display:flex;align-items:center;justify-content:center;gap:18px;padding:16px 0}
.strip-social .tag{font-family:'Montserrat',sans-serif;font-weight:800;font-size:16px;letter-spacing:.5px;color:#06210f}
.socials{display:flex;gap:11px;align-items:center}
.socials a{color:#06210f;opacity:.9;transition:opacity .15s,transform .15s}
.socials a:hover{opacity:1;transform:translateY(-2px)}
.socials svg{width:18px;height:18px;fill:currentColor;display:block}

/* ---------- PLAN SECTION ---------- */
.plan{background:var(--green);color:#06210f;text-align:center;padding:42px 0 50px}
.plan h2{font-family:'Montserrat',sans-serif;font-weight:900;font-size:40px;letter-spacing:.5px;color:#0a2615}
.plan p{max-width:520px;margin:12px auto 30px;font-size:13.5px;color:#0c3a20;font-weight:500;line-height:1.55}
.plan-cards{display:grid;grid-template-columns:repeat(2,minmax(0,340px));gap:24px;justify-content:center}
.plan-card{background:var(--panel-2);color:#fff;border-radius:8px;padding:28px 24px 26px;text-align:center}
.plan-card .pc-label{color:var(--green);font-family:'Montserrat',sans-serif;font-weight:800;font-size:14px;letter-spacing:.6px;margin-bottom:14px}
.price{font-family:'Montserrat',sans-serif;font-weight:900;line-height:.85;display:flex;align-items:flex-start;justify-content:center}
.price .dollar{font-size:34px;margin-top:8px}
.price .big{font-size:74px;letter-spacing:-2px}
.price .cents{font-size:30px;margin-top:8px}
.price .mo{font-size:24px;align-self:flex-end;margin-bottom:10px;font-weight:800}
.plan-card .pc-sub{font-family:'Montserrat',sans-serif;font-weight:800;font-size:13px;letter-spacing:.6px;margin:10px 0 18px;color:#eaeaea}
.plan-card .btn{padding:8px 18px}

/* ---------- COMEDIAN FEATURE ---------- */
.comedian{position:relative;background:var(--comedian);overflow:hidden;min-height:420px;display:flex;align-items:center}
.comedian .photo{position:absolute;top:0;height:100%;right:max(0px,calc((100% - var(--maxw)) / 2));width:min(48%,calc(var(--maxw) * 0.48));}
.comedian .photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.comedian .photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--comedian) 0%,rgba(15,16,18,.7) 22%,transparent 55%);z-index:1}
.comedian .wrap{width:100%}
.comedian .inner{position:relative;z-index:2;max-width:560px;padding:48px 0}
.comedian .c-label{color:var(--green);font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.comedian h2{font-family:'Montserrat',sans-serif;font-weight:800;font-size:54px;line-height:1;margin:10px 0 16px;letter-spacing:-1px}
.comedian .c-desc{color:#c7c7c7;font-size:13.5px;line-height:1.6;max-width:480px}
.comedian .c-btns{display:flex;gap:12px;margin:20px 0 18px}
.comedian .c-meta{font-size:11.5px;color:var(--dim);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.comedian .c-share{font-size:11.5px;color:var(--dim);display:flex;align-items:center;gap:10px;margin-top:9px}
.comedian .c-share .socials a{color:var(--dim)}
.comedian .c-share .socials a:hover{color:#fff}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);padding:40px 0 26px;border-top:1px solid #161616}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.foot-col h4{font-family:'Montserrat',sans-serif;font-weight:800;font-size:11px;letter-spacing:1.6px;color:#fff;margin-bottom:14px}
.foot-col a{display:block;color:var(--dim);font-size:12.5px;padding:5px 0;transition:color .15s}
.foot-col a:hover{color:var(--green)}
.foot-brand .logo{margin-bottom:16px}
.foot-brand .logo img{height:30px}
.foot-brand p{color:var(--dimmer);font-size:12px;max-width:240px;line-height:1.6}
.foot-bottom{border-top:1px solid #1c1c1c;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;color:var(--dimmer);font-size:11px;flex-wrap:wrap;gap:10px}

/* ---------- RESPONSIVE ---------- */
@media(max-width:980px){
  nav{display:none}
  .hero-grid{grid-template-columns:1fr}
  .card-grid{grid-template-columns:repeat(var(--cols-md,2),1fr)}
  .comedian .photo{width:60%;opacity:.5}
  .comedian h2{font-size:40px}
  .plan h2{font-size:30px}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .card-grid{grid-template-columns:repeat(var(--cols-sm,1),1fr)}
  .plan-cards{grid-template-columns:1fr}
  .strip-news{gap:14px}
}

/* ---------- MINT CLUB SHELF ---------- */
.club-shelf{background:linear-gradient(rgba(6,12,9,.30),rgba(6,12,9,.45)),url('mint-club-bg.jpg') center/cover no-repeat;padding:clamp(52px,7vw,112px) 32px;text-align:center}
.club-inner{max-width:1180px;margin:0 auto}
.club-h{font-family:'Montserrat',sans-serif;font-weight:900;text-transform:uppercase;color:var(--green);font-size:clamp(30px,4.6vw,64px);line-height:1.02;letter-spacing:-.005em;max-width:1060px;margin:0 auto clamp(26px,3vw,48px)}
.club-body{color:#fff;font-size:clamp(15px,1.15vw,20px);line-height:1.55;max-width:1080px;margin:0 auto clamp(18px,1.6vw,26px)}
.club-body strong{font-weight:700}
.club-tag{font-family:'Montserrat',sans-serif;font-weight:900;text-transform:uppercase;color:var(--green);font-size:clamp(19px,2.1vw,30px);letter-spacing:.005em;margin:clamp(24px,2.8vw,42px) auto clamp(8px,1vw,14px)}
.club-sub{color:#fff;font-weight:700;font-size:clamp(15px,1.15vw,20px);margin-bottom:clamp(24px,2.6vw,38px)}

/* ---------- FEATURE SHELF (copy + video player) ---------- */
.feature-shelf{background:linear-gradient(rgba(6,12,9,.30),rgba(6,12,9,.5)),url('featured-bg.jpg') center/cover no-repeat;padding:clamp(44px,5vw,96px) 0}
.feature-grid{display:grid;grid-template-columns:1fr 1.1fr;column-gap:clamp(32px,4%,84px);align-items:center}
.feature-media{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.feature-media img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:980px){.feature-grid{grid-template-columns:1fr;row-gap:clamp(24px,4vw,40px)}}
.page-area { min-height: 60vh; background: var(--bg); color: var(--white); }
