:root{
  --fun-blue:        #14508F;
  --fun-blue-deep:   #13368D;
  --fun-blue-mid:    #2E6BAE;
  --fun-blue-tint:   #EDF3FA;
  --fun-blue-tint-2: #DCE8F5;
  --fun-orange:      #F47B20;
  --fun-orange-deep: #D3631A;
  --fun-orange-tint: #FEF1E7;
  --ink:   #16212C;
  --muted: #5C6976;
  --line:  #DCE3EB;
  --fun-white:       #FFFFFF;
  --radius: 10px;
  --ease: cubic-bezier(.4,0,.2,1);
}

[hidden] { display: none !important; }

.archive .rey-siteHeader{
  top: 0;
  left: 0;
  width: 100%;
  right: 0;
}

.fun-wrap{ width:min(1320px, calc(100% - 48px)); margin-inline:auto; }
.fun-top-wrap{
  width:min(1440px, calc(100% - 48px)); margin-inline:auto;
}

.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;
}

.single #page::before, .post-type-archive-fun_speaker #page::before {
  content: '';
  background-image: url('https://fun.hzb.agency/wp-content/uploads/2026/09/Rectangle-51.png');
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: -1;
  opacity: 0.5;
}

/* ---------------------------------------------------------- buttons */
.fun-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px !important; padding:0 22px !important;
  border:0; border-radius:8px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  white-space:nowrap; cursor:pointer;
  text-decoration:none;
  transition:background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease) !important;
}
.fun-btn--primary{ background:var(--fun-orange) !important; color:#fff !important; }
.fun-btn--primary:hover{ background:var(--fun-orange-deep) !important; color:#fff !important; }
.fun-btn--ghost{
  background:#fff; color:var(--fun-blue);
  color: var(--fun-blue) !important;
  border: 2px solid var(--fun-blue-tint-2) !important;
  padding: 14px 24px !important;
  border-radius: 8px !important;
}
.fun-btn--ghost:hover{ border-color:var(--fun-blue) !important; background:var(--fun-blue-tint) !important; }
.fun-btn--sm{ min-height:42px !important; padding:0 15px !important; font-size:14px !important; }
.fun-btn--block{ width:100%; }
.fun-btn[disabled]{ opacity:.6; cursor:default; }

.fun-linkbtn{
  background:none; border:0; padding:0; cursor:pointer;
  color:var(--fun-blue); font:inherit; text-decoration:underline;
}

:focus-visible{ outline:3px solid var(--fun-orange); outline-offset:2px; border-radius:4px; }

/* ------------------------------------------------------ page header */
.fun-listing__head {
  padding: 250px 0 146px;
  background-image: url('https://fun.hzb.agency/wp-content/uploads/2026/09/h49toR6X.jpg');
  background-size: cover;
}
.fun-crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-size:13.5px; color:var(--fun-white); margin-bottom:18px;
}
.fun-crumbs a{ color:var(--line); text-decoration:none; }
.fun-crumbs a:hover{ text-decoration:underline; }
.fun-crumbs > * + *::before{ content:"/"; margin-right:8px; color:var(--fun-white); }

.single .fun-crumbs{
  color:var(--muted) !important;
}

.single .fun-crumbs a{
  color:var(--fun-blue) !important;
}

.single .fun-crumbs > * + *::before{
  color:var(--line) !important;
}

.fun-listing__title{
  margin:0 0 12px;
  font-size:clamp(58px,3.2vw,42px); line-height:1.14; letter-spacing:-1.5px;
  color:var(--fun-white);
  font-weight: 500 !important;
}
.fun-listing__intro{
  margin:0; max-width:62ch; font-size:16.5px; line-height:1.65; color:var(--fun-white);
}

.fun-listing__body{ padding:78px 0 120px; }

/* Entertainment category landing cards. */
.fun-entcat-listing__body{padding:70px 0 110px}
.fun-entcat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.fun-entcat-card{
  display:block;overflow:hidden;border:1px solid #dce0e4;border-radius:24px;
  background:#fff;color:#141414;text-align:center;text-decoration:none;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  transition:transform .2s ease,box-shadow .2s ease;
}
.fun-entcat-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.12)}
.fun-entcat-card:focus-visible{outline:3px solid var(--fun-orange);outline-offset:4px}
.fun-entcat-card__media{display:block;aspect-ratio:1.56;overflow:hidden;background:#edf3fa}
.fun-entcat-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.fun-entcat-card:hover img{transform:scale(1.04)}
.fun-entcat-card__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#dce9f6,#9ab8d6)}
.fun-entcat-card__label{display:grid;place-items:center;min-height:94px;padding:16px;font-size:clamp(21px,2vw,30px);line-height:1.2;color:#141414}
@media(max-width:900px){.fun-entcat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:560px){.fun-entcat-grid{grid-template-columns:1fr}.fun-entcat-listing__body{padding:42px 0 70px}.fun-entcat-card__label{min-height:76px}}
@media(prefers-reduced-motion:reduce){.fun-entcat-card,.fun-entcat-card__media img{transition:none}}

/* ---------------------------------------------------------- filters */
.fun-filters{
  display:grid;
  grid-template-columns: 1fr;
  align-items:start; gap:14px;
  padding:16px; margin-bottom:20px;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
}

.fun-filters__search{ position:relative; }
.fun-filters__icon{
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; color:var(--muted); pointer-events:none;
}
.fun-filters__search input{
  width:100% !important; min-height:48px;
  padding:0 14px 0 42px !important;
  border:2px solid #131313 !important; border-radius:8px !important;
  font-size:15px !important; color:var(--ink) !important; background:#fff;
}
.fun-filters__search input:focus{ border-color:var(--fun-blue); outline:none; }

.fun-filters__toggle{ display:none !important; }

.fun-filters__panel{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px,1fr));
  gap:12px;
}

.fun-field{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.fun-field label,
.fun-field legend{
  font-size:12.5px; font-weight:600; color:#000; margin:0;
}
.fun-field select{
  min-height:48px; padding:0 34px 0 12px;
  border:2px solid #131313; border-radius:8px;
  font-size:14.5px; color:var(--ink); background:#fff;
  appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235C6976' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:10px;
}
.fun-field select:focus{ border-color:var(--fun-blue); outline:none; }
.fun-field.is-locked select{ background-color:var(--fun-blue-tint); color:var(--muted); cursor:not-allowed; }

.fun-field--toggles{ border:0; margin:0; padding:0; }
.fun-toggle{
  display:flex; align-items:center; gap:8px;
  min-height:24px; font-size:14px; font-weight:600; color:var(--ink); cursor:pointer;
}
.fun-toggle input{ width:18px; height:18px; accent-color:var(--fun-blue); }

/* ------------------------------------------------------ meta / chips */
.fun-listing__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:12px;
  margin-bottom:22px;
}
.fun-listing__count{
  padding-bottom: 10px;
  margin:0; font-size:14.5px; font-weight:700; color:var(--fun-blue-deep);
}
.fun-listing__count:focus{ outline:none; }

.fun-chips{ display:flex; flex-wrap:wrap; gap:7px; }
.fun-chip{
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 11px; border:0; border-radius:999px;
  background:var(--fun-blue-tint); color:var(--fun-blue);
  font:600 13px/1 inherit; cursor:pointer;
  transition:background-color .16s var(--ease);
}
.fun-chip:hover{ background:var(--fun-blue-tint-2); }
.fun-chip svg{ width:10px; height:10px; }
.fun-chip.is-locked{
  background:var(--fun-blue-deep); color:#fff; cursor:default; padding:6px 13px;
}

.fun-clear{
  margin-left:auto;
  background:none; border:0; padding:6px 2px;
  font:600 13.5px/1 inherit; color:var(--muted);
  text-decoration:underline; cursor:pointer;
}
.fun-clear:hover{ color:var(--fun-orange-deep); }

/* ------------------------------------------------------------ grid */
.fun-results{ position:relative; min-height:200px; }
.fun-results.is-loading .fun-grid{ opacity:.45; pointer-events:none; }

.fun-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
  transition:opacity .15s var(--ease);
}

.fun-card{
  display:flex; flex-direction:column;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden;
  transition:border-color .18s var(--ease), transform .18s var(--ease);
}
.fun-card:hover{ border-color:var(--fun-blue-mid); transform:translateY(-2px); }
.fun-card:focus-within{ border-color:var(--fun-blue); }

.fun-card__media{
  position:relative; display:block;
  aspect-ratio:16/10; background:var(--fun-blue-tint); overflow:hidden;
}
.fun-card__media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .35s var(--ease);
}
.fun-card:hover .fun-card__media img{ transform:scale(1.03); }
.fun-card__placeholder{
  position:absolute; inset:0;
  background:linear-gradient(135deg, var(--fun-blue) 0%, var(--fun-blue-mid) 100%);
}

.fun-card__badges{
  position:absolute; top:12px; left:12px;
  display:flex; gap:6px;
}
.fun-badge{
  padding:5px 10px; border-radius:999px;
  font-size:11.5px; font-weight:800; letter-spacing:.2px; color:#fff;
}
.fun-badge--new{ background:var(--fun-orange); }
.fun-badge--featured{ background:var(--fun-blue-deep); }

.fun-card__body{ display:flex; flex-direction:column; flex:1 1 auto; padding:18px 18px 16px; }
.fun-card__title{ margin:0 0 8px; font-size:17.5px; line-height:1.3; letter-spacing:-.15px; }
.fun-card__title a{ color:#000; text-decoration:none; }
.fun-card__title a:hover{ color:var(--fun-blue); }
.fun-card__desc{ margin:0 0 14px; font-size:13px; line-height:1.5; color:var(--muted); }

.fun-card__tags{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 16px; padding:0; list-style:none; }
.fun-card__tags li{
  padding:2px 11px; border-radius:999px;
  background:var(--fun-blue-tint); color:var(--fun-blue);
  font-size:10.5px; font-weight:500;
}
.fun-card__tags li.is-format{ background:var(--fun-orange-tint); color:var(--fun-orange-deep); }

.fun-card__actions{ display:flex; gap:8px; margin-top:auto; }
.fun-card__actions .fun-btn{ flex:1 1 0; padding-inline:10px; }

/* ------------------------------------------------- empty / loading */
.fun-empty{
  grid-column:1/-1;
  padding:64px 24px; text-align:center;
  background:var(--fun-blue-tint); border-radius:var(--radius);
}
.fun-empty h2{ margin:0 0 8px; font-size:21px; color:var(--fun-blue-deep); }
.fun-empty p{ margin:0 0 22px; color:var(--muted); font-size:15px; }
.fun-empty__actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

.fun-loading{
  position:absolute; inset:0; display:grid; place-items:center;
  background:rgba(255,255,255,.55);
}
.fun-spinner{
  width:34px; height:34px; border-radius:50%;
  border:3px solid var(--fun-blue-tint-2); border-top-color:var(--fun-blue);
  animation:fun-spin .7s linear infinite;
}
@keyframes fun-spin{ to{ transform:rotate(360deg); } }

.fun-error{
  grid-column:1/-1; padding:20px; border-radius:var(--radius);
  background:#FDF6F6; color:#9B2C2C; font-size:14.5px;
}

.fun-more{ display:flex; justify-content:center; margin-top:32px; }

/* ------------------------------------------------------ listing CTA */
.fun-listing__cta{ background:var(--fun-blue-deep); color:#fff; padding:44px 0; }
.fun-listing__cta .fun-wrap{
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
}
.fun-listing__cta h2{ margin:0 0 6px; font-size:23px; letter-spacing:-.2px; }
.fun-listing__cta p{ margin:0; color:var(--fun-blue-tint-2); font-size:15px; }

/* =========================================================================
   SINGLE PROGRAM
   ====================================================================== */
.fun-single{ padding-top:147px; }
.fun-single .fun-crumbs{ margin-bottom:22px; }

.fun-single__hero{
  display:grid; grid-template-columns:1.15fr 1fr; gap:44px;
  align-items:start; margin-bottom:95px;padding-top: 25px;
}
.fun-single__media img,
.fun-single__image{
  width:100%; height:auto; display:block;
  border-radius:var(--radius); background:var(--fun-blue-tint);
  aspect-ratio: 4/3.5;
  object-fit: cover;
}

.fun-video{ position:relative; border-radius:var(--radius); overflow:hidden; }
.fun-video iframe{ width:100%; aspect-ratio:16/9; border:0; display:block; }
.fun-video__poster{
  position:relative; display:block; width:100%; padding:0; border:0;
  background:none; cursor:pointer; line-height:0;
}
.fun-video__poster img{ border-radius:var(--radius); }
.fun-video__play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:70px; height:70px; border-radius:50%;
  background:var(--fun-orange); color:#fff;
  display:grid; place-items:center;
  transition:transform .2s var(--ease), background-color .2s var(--ease);
}
.fun-video__play svg{ width:30px; height:30px; margin-left:3px; }
.fun-video__poster:hover .fun-video__play{ transform:translate(-50%,-50%) scale(1.08); background:var(--fun-orange-deep); }

.fun-single__badges{ display:flex; gap:7px; margin-bottom:14px; }
.fun-single__intro h1{
  margin:0 0 14px;
  font-weight: 500 !important;
  font-size:clamp(41px,3vw,40px); line-height:1.12; letter-spacing:-.5px;
  color:#000;
}
.fun-single__lede{ margin:0 0 16px; font-size:17.5px; line-height:1.6; color:var(--ink); }
.fun-single__ideal{
  margin:0 0 24px; padding:14px 16px;
  background:var(--fun-blue-tint); border-radius:8px;
  font-size:14.5px; line-height:1.6; color:var(--muted);
}
.fun-single__ideal strong{ color:var(--ink); display:block; margin-bottom:3px; }

.fun-single__actions{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; }

.fun-taxrow{ display:grid; gap:14px; padding-top:22px; border-top:1px solid var(--line); }
.fun-taxrow > div{ display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.fun-taxrow span{ font-size:12.5px; font-weight:700; color:var(--ink); min-width:88px; }
.fun-taxrow ul{ display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.fun-taxrow a{
  display:inline-block; padding:4px 10px; border-radius:999px;
  background:var(--fun-blue-tint); color:var(--fun-blue);
  font-size:12.5px; font-weight:600; text-decoration:none;
}
.fun-taxrow a:hover{ background:var(--fun-blue-tint-2); }

/* ------------------------------------------------------ single body */
.fun-single__body{
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:56px;
  padding-bottom:72px;
}

.fun-block{ margin-bottom:44px; }
.fun-block h2{
  margin:0 0 32px; padding-bottom:10px;
  font-size:28px; letter-spacing:-1.2px; color:#000;
  border-bottom:2px solid var(--ink);
}
.fun-block--accent{
  padding:26px 28px; border-radius:var(--radius);
  background:var(--fun-blue-tint);
}
.fun-block--accent h2{ border-bottom-color:var(--fun-blue-tint-2); }

.fun-prose{ font-size:15.5px; line-height:1.72; color:var(--ink); }
.fun-prose p{ margin:0 0 14px; max-width:70ch; }
.fun-prose ul{ margin:0 0 14px; padding-left:20px; }
.fun-prose li{ margin-bottom:7px; }

.fun-split{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.fun-split__col{ padding:22px 24px; border-radius:var(--radius); border:1px solid var(--line); }
.fun-split__col h3{ margin:0 0 12px; font-size:16px; }
.fun-split__col--fun{ background:var(--fun-blue-tint); border-color:var(--fun-blue-tint-2); }
.fun-split__col--fun h3{ color:var(--fun-blue-deep); }
.fun-split__col--client{ background:#F4F8FC; border-color:#eee8ff; }
.fun-split__col--client h3{ color:var(--fun-orange-deep); }

.fun-specs{ margin:0; border-top:1px solid var(--line); }
.fun-specs__row{
  display:grid; grid-template-columns:200px 1fr; gap:16px;
  padding:13px 0; border-bottom:1px solid var(--line);
}
.fun-specs dt{ font-weight:700; font-size:14px; color:var(--muted); }
.fun-specs dd{ margin:0; font-size:15px; color:var(--ink); }
.fun-specs__note{ margin:16px 0 0; font-size:14.5px; color:var(--muted); line-height:1.6; }
.fun-specs__note strong{ color:var(--fun-blue-deep); }

.fun-gallery{
  display:grid;
  gap:12px; margin:0; padding:0; list-style:none;
}
.fun-gallery img{
  width:100%; height:100%; aspect-ratio:16/10; object-fit:cover;
  border-radius:8px; display:block;
}

.fun-disclaimer{
  padding:14px 16px; border-left:3px solid var(--fun-orange);
  background:var(--fun-orange-tint); border-radius:0 8px 8px 0;
  font-size:13.5px; line-height:1.6; color:var(--muted); margin:0;
}

/* ----------------------------------------------------------- aside */
.fun-sticky{
  position:sticky; top:120px;
  padding:26px; border:1px solid var(--line); border-radius:var(--radius);
  background:#fff;
}
.fun-sticky h2{ margin:0 0 8px; font-size:19px; color:var(--fun-blue-deep); }
.fun-sticky > p{ margin:0 0 18px; font-size:14px; line-height:1.6; color:var(--muted); }
.fun-sticky .fun-btn{ margin-bottom:10px; }
.fun-sticky__specs{ margin:20px 0 0; padding-top:18px; border-top:1px solid var(--line); }
.fun-sticky__specs > div{ display:flex; justify-content:space-between; gap:12px; padding:7px 0; }
.fun-sticky__specs dt{ font-size:13px; color:var(--muted); }
.fun-sticky__specs dd{ margin:0; font-size:13.5px; font-weight:600; text-align:right; }
.fun-sticky__contact{ margin:18px 0 0; font-size:13.5px; color:var(--muted); }
.fun-sticky__contact a{ color:var(--fun-blue); font-weight:700; }

/* --------------------------------------------------------- related */
.fun-related{ background:#F4F8FC; padding:95px 0 120px; margin-bottom: 90px; }
.fun-related h2{ margin:0 0 24px; font-size:32px; color:#000; }

/* ------------------------------------------------------ responsive */
@media (max-width:1180px){
  .fun-grid{ grid-template-columns:repeat(3,1fr); }
  .fun-single__body{ grid-template-columns:1fr; gap:40px; }
  .fun-sticky{ position:static; }
}
@media (max-width:960px){
  .fun-single__hero{ grid-template-columns:1fr; gap:28px; }
  .fun-split{ grid-template-columns:1fr; }
  .fun-specs__row{ grid-template-columns:1fr; gap:2px; }
}
@media (max-width:820px){
  .fun-wrap{ width:calc(100% - 32px); }
  .fun-grid{ grid-template-columns:repeat(2,1fr); }

  .fun-filters{ grid-template-columns:1fr auto; gap:10px; }
  .fun-filters__toggle{
    display:inline-flex; align-items:center; gap:8px;
    min-height:48px; padding:0 16px;
    border:2px solid var(--fun-blue-tint-2); border-radius:8px;
    background:#fff; color:var(--fun-blue);
    font:700 14.5px/1 inherit; cursor:pointer;
  }
  .fun-filters__count{
    display:inline-grid; place-items:center;
    min-width:22px; height:22px; padding:0 6px; border-radius:999px;
    background:var(--fun-orange); color:#fff; font-size:12px; font-weight:800;
  }
  .fun-filters__panel{
    grid-column:1/-1;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
    padding-top:12px; margin-top:4px; border-top:1px solid var(--line);
  }
  .fun-filters__panel.is-open{ display:grid; }
  .fun-clear{ margin-left:0; }
}
@media (max-width:560px){
  .fun-grid{ grid-template-columns:1fr; }
  .fun-card__actions{ flex-direction:column; }
  .fun-listing__cta .fun-wrap{ flex-direction:column; align-items:flex-start; }
  .fun-listing__cta .fun-btn{ width:100%; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

@media (max-width:767px){
  .fun-single__intro h1{
    font-size:clamp(34px,3vw,40px) !important;
  }

  .fun-single__lede{
    font-size: 16px !important;
  }
}







/* =========================================================================
   FUN — Single program: accordion, video block, 2-col specs, sticky bar

   APPEND this to the end of your existing stylesheet. It only adds new
   blocks and overrides four existing rules, all marked OVERRIDE below.
   ====================================================================== */


/* -------------------------------------------------------------------------
   OVERRIDE — the aside is gone, so the body is a single column
   ---------------------------------------------------------------------- */
.fun-single__body{
  display:block;
  padding-bottom:72px;
  padding-top:92px;
}
.fun-single__main{ max-width:none; }

/* Sticky bar sits above the footer, so give the page room to scroll past it */
.single-fun_entertainment{ padding-bottom:0; }


/* -------------------------------------------------------------------------
   HERO THUMBS (optional strip under the main image)
   ---------------------------------------------------------------------- */
.fun-single__thumbs{
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
  margin:12px 0 0; padding:0; list-style:none;
}
.fun-single__thumbs img{
  width:100%; aspect-ratio:1; object-fit:cover; display:block;
  border-radius:8px; border:1px solid var(--line);
  transition:border-color .18s var(--ease);
}
.fun-single__thumbs a:hover img{ border-color:var(--fun-blue-mid); }


/* -------------------------------------------------------------------------
   ACCORDION
   ---------------------------------------------------------------------- */
.fun-acc{ margin-top:34px; border-top:1px solid var(--line); }

.fun-acc__item{ border-bottom:1px solid var(--line); }

.fun-acc__heading{
  margin:0;
  font-size:inherit;      /* h2 must not inherit .fun-block h2 sizing */
  font-weight:inherit;
  letter-spacing:normal;
  color:inherit;
  border:0;
  padding:0;
}

.fun-acc__btn {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px;
  width: 100%;
  padding: 22px 2px !important;
  background: none;
    background-color: rgba(0, 0, 0, 0);
  border: 0;
  cursor: pointer;
  text-align: left !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: -0.1px;
  text-transform: capitalize;
  color: var(--ink) !important;
  transition: color .18s var(--ease) !important;
  font-family: "Poppins", Sans-serif !important;
}
.fun-acc__btn:hover{ color:var(--fun-blue) !important; }

.fun-acc__icon{
  flex:0 0 auto; width:17px; height:17px;
  display:grid; place-items:center; color:var(--ink);
}
.fun-acc__icon svg{ width:100%; height:100%; display:block; }

/* + collapses to − when open */
.fun-acc__icon .v{
  transform-origin:center;
  transition:transform .28s var(--ease), opacity .28s var(--ease);
}
.fun-acc__item.is-open .fun-acc__icon .v{ transform:scaleY(0); opacity:0; }
.fun-acc__item.is-open .fun-acc__btn{ color:var(--fun-blue-deep); }

/* Height animation without measuring: 0fr -> 1fr */
.fun-acc__panel{
  display:grid; grid-template-rows:0fr;
  transition:grid-template-rows .3s var(--ease);
}
.fun-acc__item.is-open .fun-acc__panel{ grid-template-rows:1fr; }

.fun-acc__inner{ overflow:hidden; min-height:0; }
.fun-acc__item.is-open .fun-acc__inner{ padding-bottom:26px; }

.fun-acc .fun-prose{ font-size:15px; line-height:1.5; }
.fun-acc .fun-prose p:last-child,
.fun-acc .fun-prose ul:last-child{ margin-bottom:0; }

/* The intro column is narrow, so What's Included always stacks here */
.fun-acc .fun-split{ grid-template-columns:1fr; gap:14px; }
.fun-acc .fun-split__col{ padding:18px 20px; }

/* No-JS: show every panel rather than hiding the copy */
.no-js .fun-acc__panel{ grid-template-rows:1fr; }
.no-js .fun-acc__inner{ padding-bottom:26px; }
.no-js .fun-acc__icon{ display:none; }


/* -------------------------------------------------------------------------
   VIDEO BLOCK
   ---------------------------------------------------------------------- */
.fun-videoblock {
  padding: 90px 0 90px;
  background: #ffeee1;
}

.fun-videoblock .fun-video{
  max-width:1100px; margin-inline:auto;
  border-radius:20px; overflow:hidden;
  background:#000;
  box-shadow:0 10px 40px rgba(13,55,103,.14);
}

/* OVERRIDE — the shared .fun-video radius, scoped to this block */
.fun-videoblock .fun-video__poster img,
.fun-videoblock .fun-video iframe{
  border-radius:20px;
  display:block; width:100%;
}
.fun-videoblock .fun-video iframe{ aspect-ratio:16/9; height:auto; border:0; }
.fun-videoblock .fun-video__poster img{ aspect-ratio:16/9; object-fit:cover; }


/* -------------------------------------------------------------------------
   OVERRIDE — SPECIFICATIONS as a two-column grid
   ---------------------------------------------------------------------- */
.fun-specs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 40px;
  margin:0;
  border-top:0;                       /* rows carry their own rules now */
}
.fun-specs__row{
  display:block;                      /* was a 200px label grid */
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.fun-specs dt{
  margin-bottom:4px;
  font-size:16px; font-weight:600;
  text-transform:capitalize; color:var(--ink);
}
.fun-specs dd{ margin:0; font-size:15px; line-height:1.5; color:var(--ink); }


/* -------------------------------------------------------------------------
   STICKY ACTION BAR
   Shown once past ~20% of the page while scrolling down; hidden on any
   upward scroll. JS toggles .is-visible.
   ---------------------------------------------------------------------- */
.fun-stickybar{
  position:fixed; left:0; right:0; bottom:0; z-index:80;
  background:#fff;
  border-top:1px solid var(--line);
  box-shadow:0 -6px 26px rgba(13,55,103,.13);
  transform:translateY(100%);
  visibility:hidden;
  transition:transform .32s var(--ease), visibility .32s;
}
.fun-stickybar.is-visible{ transform:none; visibility:visible; }

.fun-stickybar__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center; gap:24px;
  padding:14px 0 calc(14px + env(safe-area-inset-bottom));
}

.fun-stickybar__info{ min-width:0; }
.fun-stickybar__title{
  margin:0;
  font-size:18px; font-weight:500; letter-spacing:-.2px;
  color:#000;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.fun-stickybar__meta{
  margin:3px 0 0;
  font-size:13.5px; color:var(--muted);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

.fun-stickybar__actions{ display:flex; gap:10px; flex:0 0 auto; }


/* -------------------------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------------------- */
@media (max-width:960px){
  /* OVERRIDE — keep specs at two columns until it genuinely stops fitting */
  .fun-specs{ gap:0 28px; }
}

@media (max-width:720px){
  .fun-specs{ grid-template-columns:1fr; gap:0; }

  .fun-videoblock{ padding:8px 0 44px; }
  .fun-videoblock .fun-video,
  .fun-videoblock .fun-video__poster img,
  .fun-videoblock .fun-video iframe{ border-radius:14px; }

  .fun-acc__btn{ padding:18px 2px; font-size:13px;; }

  .fun-stickybar__inner{
    grid-template-columns:1fr;
    gap:10px; padding:12px 0 calc(12px + env(safe-area-inset-bottom));
  }
  .fun-stickybar__meta{ display:none; }
  .fun-stickybar__title{ font-size:15.5px; }
  .fun-stickybar__actions{ display:grid; grid-template-columns:1fr 1fr; }
  .fun-stickybar__actions .fun-btn{ width:100%; }
}

@media (max-width:767px){
  .fun-single__intro h1{
    font-size:clamp(31px,3vw,40px) !important;
  }

  .fun-single__lede{
    font-size: 16px !important;
  }

  .fun-single__hero{
    margin-bottom: 40px !important;
  }

  .fun-single__body{
    padding-bottom: 43px !important;
    padding-top: 55px !important;
  }

  .fun-related{
    padding: 65px 0 60px !important;
    margin-bottom: 70px !important;
  }
}

@media (max-width:420px){
  .fun-stickybar__actions{ grid-template-columns:1fr; }
  .fun-stickybar__actions .fun-btn--ghost{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  .fun-acc__panel,
  .fun-stickybar{ transition:none !important; }
}
