/*
Theme Name: Cypress Holidays Rebuild 05272026
Theme URI: https://cypressholidays.com/
Author: JAX Creative / R2
Description: Custom static-scene theme for Cypress Holidays.
Version: 2026.05.27-rebuild-northpole-homepage-fix
Text Domain: cypressholidays
*/

@font-face {
  font-family: "Christmas Comeback";
  src: url("assets/fonts/Christmas-Comeback.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mountains of Christmas";
  src: url("assets/fonts/MountainsofChristmas-Regular.woff2") format("woff2"),
       url("assets/fonts/MountainsofChristmas-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root{
  --ch-blue:#061a72;
  --ch-red:#9f101e;
  --ch-cream:#fffef8;
  --ch-copy:#161616;
  --ch-content-shadow: 0 0 18px rgba(0,0,0,.35);
}

*{ box-sizing:border-box; }
html, body {
  margin:0;
  padding:0;
  width:100%;
  height:100%;
  background:#02081f;
  overflow:hidden;
}
body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ch-copy);
}
body.admin-bar .ch-fullscreen {
  height: calc(100vh - 32px);
  min-height: calc(100vh - 32px);
}
a { color:inherit; }
img { max-width:100%; height:auto; }

.ch-fullscreen{
  height:100vh;
  min-height:100vh;
  width:100vw;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  /* Intentional night-sky surround for the static scene. Keeps side space from feeling like empty bars. */
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.34) 0 1px, transparent 2px),
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.28) 0 1px, transparent 2px),
    radial-gradient(circle at 18% 72%, rgba(255,255,255,.24) 0 1px, transparent 2px),
    radial-gradient(circle at 78% 66%, rgba(255,255,255,.22) 0 1px, transparent 2px),
    radial-gradient(circle at center 38%, #0b54ca 0%, #063293 38%, #020b3a 72%, #00030f 100%);
  background-size: 180px 180px, 240px 240px, 210px 210px, 260px 260px, 100% 100%;
  overflow:hidden;
}

/* Scene aspect-ratio wrapper. This keeps all absolute overlays locked to the artwork. */
.ch-scene{
  position:relative;
  width:min(100vw, calc(100vh * 1.5));
  aspect-ratio: 3 / 2;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  overflow:hidden;
}
body.admin-bar .ch-scene{
  width:min(100vw, calc((100vh - 32px) * 1.5));
}
.ch-home-scene{
  background-image:url("assets/images/Desktop/desktop-home.png");
}
.ch-internal-scene{
  background-image:url("assets/images/Desktop/desktop-interior.png");
}

/* Admin bar is fine, but the public page should feel like an experience. */
.ch-sign{
  position:absolute;
  display:block;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  text-indent:-9999px;
  overflow:hidden;
  z-index:20;
  transition: transform .12s ease, filter .12s ease;
}
.ch-sign:hover,
.ch-sign:focus{
  transform:scale(1.035);
  filter:brightness(1.08);
  outline:none;
}

/* Homepage signs: larger overlay targets, locked to the scene without scaling the background. */
.ch-home-sign{
  top:3.2%;
  width:17%;
  height:12.5%;
}
.ch-home-sign.meet{ left:2.5%; background-image:url("assets/images/Desktop/desktop-home.png"); }
.ch-home-sign.christmas{ left:22.0%; background-image:url("assets/images/Desktop/desktop-home.png"); }
.ch-home-sign.support{ left:41.5%; background-image:url("assets/images/Desktop/desktop-home.png"); }
.ch-home-sign.faq{ left:61.0%; background-image:url("assets/images/Desktop/desktop-home.png"); }
.ch-home-sign.contact{ left:80.5%; background-image:url("assets/images/Desktop/desktop-home.png"); }

/* Internal desktop signs */
.ch-internal-sign{
  width:14.6%;
  height:13.4%;
}
.ch-left-1{ left:5.2%; top:5.2%; }
.ch-left-2{ left:5.2%; top:22.0%; }
.ch-left-3{ left:5.2%; top:38.9%; }
.ch-left-4{ left:5.2%; top:55.8%; }
.ch-left-5{ left:5.2%; top:72.7%; }
.ch-right-1{ right:5.2%; top:5.2%; }
.ch-right-2{ right:5.2%; top:22.0%; }
.ch-right-3{ right:5.2%; top:38.9%; }
.ch-right-4{ right:5.2%; top:55.8%; }
.ch-right-5{ right:5.2%; top:72.7%; }

.ch-internal-sign.family{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.display{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.santa{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.contact{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.faq{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.articles{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.how{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.support-display{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.carol{ background-image:url("assets/images/Desktop/desktop-interior.png");}
.ch-internal-sign.northpole{ background-image:url("assets/images/Desktop/desktop-interior.png");}

/* Content window */
.ch-content-window{
  position:absolute;
  left:23%;
  top:24.2%;
  width:54%;
  height:65.8%;
  background:rgba(255,255,255,.97);
  border:3px solid rgba(170,0,0,.82);
  box-shadow:var(--ch-content-shadow);
  overflow-y:auto;
  padding:clamp(18px, 1.25vw, 50px);
  z-index:10;
}
.ch-content-window::-webkit-scrollbar{ width:12px; }
.ch-content-window::-webkit-scrollbar-thumb{ background:#9f101e; border-radius:8px; border:3px solid #fff; }
.ch-content-window::-webkit-scrollbar-track{ background:#f3f3f3; }

.ch-content-inner{
  font-family:Garamond, "Times New Roman", serif;
  font-size:18px;
  line-height:1.25;
  text-align:justify;
}
.ch-content-inner p{ margin:0 0 .35em; }
.ch-content-inner h1,
.ch-content-inner .ch-heading-1,
.entry-content h1{
  font-family:"Christmas Comeback", serif;
  font-weight:normal;
  color:rgb(255,0,0);
  font-size:48px;
  line-height:1.05;
  margin:0 0 .25em;
  text-align:center;
}
.ch-content-inner h2,
.ch-content-inner .ch-heading-2,
.entry-content h2{
  font-family:"Mountains of Christmas", cursive;
  font-weight:normal;
  color:rgb(255,0,0);
  font-size:48px;
  line-height:1.05;
  margin:.4em 0 .25em;
  text-align:center;
}
.ch-content-inner h3,
.entry-content h3{
  font-family:"Christmas Comeback", serif;
  font-weight:normal;
  color:#000;
  font-size:36px;
  line-height:1.1;
  margin:.45em 0 .25em;
  text-align:center;
}
.ch-content-inner h4,
.entry-content h4{
  font-family:"Mountains of Christmas", cursive;
  font-weight:normal;
  color:#000;
  font-size:36px;
  line-height:1.1;
  margin:.45em 0 .25em;
  text-align:center;
}
.ch-content-inner hr{
  margin:.7em 0;
  border:0;
  border-top:1px solid rgba(0,0,0,.35);
}

.ch-content-inner img{
  display:block;
  max-width:100%;
  height:auto;
  margin:1.25em auto;
}
.ch-content-inner .wp-caption{
  max-width:100%;
  margin:1.25em auto;
  text-align:center;
}
.ch-content-inner .wp-caption-text{
  font-size:15px;
  line-height:1.4;
  color:#555;
  text-align:center;
}

/* Post listing grid inside internal frame */
.ch-post-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(14px, 1.1vw, 32px);
  text-align:left;
}
.ch-post-card{
  display:block;
  text-decoration:none;
  color:#111;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  box-shadow:0 2px 8px rgba(0,0,0,.16);
}
.ch-post-card img{
  width:100%;
  aspect-ratio:1300 / 875;
  object-fit:cover;
  display:block;
  margin:0;
}
.ch-post-card-title{
  font-family:"Christmas Comeback","Mountains of Christmas",serif;
  color:var(--ch-red);
  font-size:24px;
  line-height:1.05;
  text-align:center;
  padding:12px 10px 14px;
}
.ch-post-card:hover{ transform:translateY(-2px); }

/* Mobile */
.ch-mobile-only{ display:none; }
.ch-desktop-only{ display:block; }

@media (max-width: 767px){
  html, body{ background:#000; }
  .ch-fullscreen{
    height:100dvh;
    min-height:100dvh;
    align-items:center;
    justify-content:center;
  }
  body.admin-bar .ch-fullscreen{ height:100dvh; min-height:100dvh; }
  .ch-desktop-only{ display:none !important; }
  .ch-mobile-only{ display:block; }

  .ch-scene{
    width:min(100vw, calc(100dvh / 2));
    height:auto;
    aspect-ratio:1 / 2;
    background-size:100% 100%;
  }
  body.admin-bar .ch-scene{
    width:min(100vw, calc(100dvh / 2));
    height:auto;
  }
  .ch-home-scene{
    background-image:url("assets/images/Desktop/desktop-home.png");
  }
  .ch-internal-scene{
    background-image:url("assets/images/Desktop/desktop-interior.png");
  }

  .ch-mobile-home-sign{
    left:23%;
    width:54%;
    height:12.5%;
    z-index:20;
  }
  .ch-mobile-home-sign.meet{ top:25.0%; background-image:url("assets/images/Mobile/Mobile-Wooden-Sign-Meet-Us-Homepage.png");}
  .ch-mobile-home-sign.christmas{ top:38.0%; background-image:url("assets/images/Mobile/Mobile-Wooden-Sign-Christmas-Homepage.png");}
  .ch-mobile-home-sign.support{ top:51.0%; background-image:url("assets/images/Mobile/Mobile-Wooden-Sign-Support-Us-Homepage.png");}
  .ch-mobile-home-sign.faq{ top:64.0%; background-image:url("assets/images/Mobile/Mobile-Wooden-Sign-FAQ-Homepage.png");}
  .ch-mobile-home-sign.contact{ top:77.0%; background-image:url("assets/images/Mobile/Mobile-Wooden-Sign-Contact-Us-Homepage.png");}

  .ch-mobile-menu-checkbox{
    position:absolute;
    opacity:0;
    pointer-events:none;
  }
  .ch-mobile-icon-link{
    position:absolute;
    top:6.55%;
    width:5.7%;
    height:2.85%;
    text-indent:-9999px;
    z-index:55;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center;
    cursor:pointer;
  }
  .ch-mobile-icon-link.menu{
    left:5.55%;
    background-image:url("assets/images/Mobile/Menu-Hamburger-Icon.png");
  }
  .ch-mobile-icon-link.email{
    right:5.55%;
    background-image:url("assets/images/Mobile/Email-Icon.png");
  }
  .ch-mobile-menu-panel{
    display:none;
    position:absolute;
    left:10%;
    top:12%;
    width:80%;
    max-height:72%;
    overflow-y:auto;
    z-index:50;
    background:rgba(255,255,255,.97);
    border:2px solid #9f101e;
    box-shadow:0 0 18px rgba(0,0,0,.35);
    padding:14px 16px 16px;
    font-family:"Christmas Comeback", "Mountains of Christmas", serif;
    font-size:24px;
    line-height:1.0;
    text-align:center;
  }
  .ch-mobile-menu-checkbox:checked ~ .ch-mobile-menu-panel{
    display:block;
  }
  .ch-mobile-menu-panel ul{
    list-style:none;
    margin:0;
    padding:0;
  }
  .ch-mobile-menu-panel li{
    margin:0;
    padding:0;
    border-bottom:1px solid rgba(159,16,30,.22);
  }
  .ch-mobile-menu-panel a{
    display:block;
    padding:6px 6px;
    color:#9f101e;
    text-decoration:none;
  }
  .ch-mobile-menu-close{
    display:block;
    margin:10px auto 0;
    padding:6px 12px;
    width:max-content;
    border:1px solid rgba(159,16,30,.45);
    color:#111;
    font-family:Arial, Helvetica, sans-serif;
    font-size:14px;
    line-height:1;
    cursor:pointer;
  }

  .ch-content-window{
    left:9.2%;
    top:14.8%;
    width:81.6%;
    height:69.8%;
    padding:24px 22px;
    border:none;
    box-shadow:none;
    background:rgba(255,255,255,.98);
  }
  .ch-content-inner{
    font-size:17px;
    line-height:1.35;
    text-align:left;
  }
  .ch-content-inner h1,
  .ch-content-inner .ch-heading-1,
  .entry-content h1{
    font-size:40px;
  }
  .ch-content-inner h2,
  .ch-content-inner .ch-heading-2,
  .entry-content h2{
    font-size:40px;
  }
  .ch-content-inner h3,
  .entry-content h3{
    font-size:32px;
  }
  .ch-content-inner h4,
  .entry-content h4{
    font-size:32px;
  }
  .ch-post-grid{
    display:block;
  }
  .ch-mobile-post-list{
    list-style:none;
    padding:0;
    margin:0;
    font-family:Garamond, "Times New Roman", serif;
    font-size:20px;
    line-height:1.35;
    text-align:left;
  }
  .ch-mobile-post-list li{
    margin:0;
    border-bottom:1px solid #ddd;
  }
  .ch-mobile-post-list a{
    display:block;
    padding:12px 0;
    color:#111;
    text-decoration:none;
  }
}

@media (min-width:768px) and (max-aspect-ratio: 3/2){
  .ch-fullscreen{ align-items:flex-start; }
}

/* Fallback for normal WordPress blocks inside content */
.aligncenter{ margin-left:auto; margin-right:auto; display:block; }
.alignleft{ float:left; margin:0 1.2em 1em 0; }
.alignright{ float:right; margin:0 0 1em 1.2em; }
.screen-reader-text{ position:absolute; left:-9999px; }


/* =====================================================
   FINAL VISUAL LOCKS - May 2026 Rebuild
   Baked into theme so Customizer CSS is not required.
===================================================== */
.ch-content-inner h1,
.ch-content-inner .ch-heading-1,
.ch-content-window h1,
.entry-content h1,
h1 {
  font-size: 36px !important;
}
.ch-content-inner h2,
.ch-content-inner .ch-heading-2,
.ch-content-window h2,
.entry-content h2,
h2 {
  font-size: 36px !important;
}
.ch-content-inner h3,
.ch-content-window h3,
.entry-content h3,
h3 {
  font-size: 28px !important;
}
.ch-content-inner h4,
.ch-content-window h4,
.entry-content h4,
h4 {
  font-size: 28px !important;
}
.ch-post-card-title,
.ch-post-card-title a,
.ch-post-grid .entry-title,
.ch-post-grid .entry-title a,
.ch-article-card-title,
.ch-article-card-title a {
  font-family: Garamond, "Times New Roman", serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  text-align: center !important;
}
.ch-post-card-title,
.ch-post-grid .entry-title,
.ch-article-card-title {
  min-height: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 10px !important;
}


/* Desktop/Mobile editor content visibility aliases */
.mobile-only,
.ch-mobile-only { display: none; }

.desktop-only,
.ch-desktop-only { display: block; }

@media (max-width: 767px) {
  .desktop-only,
  .ch-desktop-only { display: none !important; }

  .mobile-only,
  .ch-mobile-only { display: block !important; }
}



/* =====================================================
   FINAL MOBILE CONTENT WINDOW WIDTH LOCK
   Lines up the mobile reading window closer to the village width.
===================================================== */
@media (max-width: 767px) {
  .ch-internal-scene .ch-content-window,
  .ch-content-window {
    left: 7% !important;
    width: 86% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }
}



/* =====================================================
   FINAL MOBILE CONTENT WINDOW WIDTH - VILLAGE MATCH
   Match the reading window to the mobile footer village span.
===================================================== */
@media (max-width: 767px) {
  .ch-internal-scene .ch-content-window,
  .ch-content-window {
    left: 4% !important;
    width: 92% !important;
    max-width: 92% !important;
    right: auto !important;
    box-sizing: border-box !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}



/* =====================================================
   FINAL BACKGROUND LOCK - transparent/current assets only
===================================================== */
.ch-home-scene {
  background-image: url("assets/images/Desktop/desktop-home.png") !important;
}
.ch-internal-scene {
  background-image: url("assets/images/Desktop/desktop-interior.png") !important;
}
@media (max-width: 767px) {
  .ch-home-scene {
    background-image: url("assets/images/Mobile/mobile-home.png") !important;
  }
  .ch-internal-scene {
    background-image: url("assets/images/Mobile/mobile-interior.png") !important;
  }
}


/* =====================================================
   FINAL ASSET + LAYOUT LOCK - 05272026 1025PM
===================================================== */

/* Desktop scenes are now 1920 x 1080, so the stage is 16:9. */
@media (min-width: 768px) {
  .ch-scene {
    width: min(100vw, calc(100vh * 1.77777778)) !important;
    aspect-ratio: 16 / 9 !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  body.admin-bar .ch-scene {
    width: min(100vw, calc((100vh - 32px) * 1.77777778)) !important;
  }

  .ch-home-scene {
    background-image: url("assets/images/Desktop/desktop-home.png") !important;
  }

  .ch-internal-scene {
    background-image: url("assets/images/Desktop/desktop-interior.png") !important;
  }

  /* Homepage: seven signs across the top, matching the 1920 mock-up. */
  .ch-home-sign {
    top: 4.4% !important;
    width: 13.05% !important;
    height: 14.85% !important;
  }

  .ch-home-sign.meet { left: 3.45% !important; background-image: url("assets/images/Desktop/signs/meet-family.png") !important; }
  .ch-home-sign.display { left: 17.25% !important; background-image: url("assets/images/Desktop/signs/christmas-display.png") !important; }
  .ch-home-sign.santa { left: 31.05% !important; background-image: url("assets/images/Desktop/signs/santa-claus.png") !important; }
  .ch-home-sign.faq { left: 44.85% !important; background-image: url("assets/images/Desktop/signs/faq.png") !important; }
  .ch-home-sign.articles { left: 58.65% !important; background-image: url("assets/images/Desktop/signs/holiday-articles.png") !important; }
  .ch-home-sign.support-display { left: 72.45% !important; background-image: url("assets/images/Desktop/signs/support-display.png") !important; }
  .ch-home-sign.contact { left: 86.25% !important; background-image: url("assets/images/Desktop/signs/get-in-touch.png") !important; }

  /* Internal desktop signs. */
  .ch-internal-sign {
    width: 13.05% !important;
    height: 14.85% !important;
  }

  .ch-left-1 { left: 4.4% !important; top: 7.0% !important; }
  .ch-left-2 { left: 4.4% !important; top: 23.0% !important; }
  .ch-left-3 { left: 4.4% !important; top: 39.2% !important; }
  .ch-left-4 { left: 4.4% !important; top: 55.3% !important; }
  .ch-left-5 { left: 4.4% !important; top: 71.4% !important; }

  .ch-right-1 { right: 4.4% !important; top: 7.0% !important; }
  .ch-right-2 { right: 4.4% !important; top: 23.0% !important; }
  .ch-right-3 { right: 4.4% !important; top: 39.2% !important; }
  .ch-right-4 { right: 4.4% !important; top: 55.3% !important; }
  .ch-right-5 { right: 4.4% !important; top: 71.4% !important; }

  .ch-internal-sign.family { background-image: url("assets/images/Desktop/signs/meet-family.png") !important; }
  .ch-internal-sign.display { background-image: url("assets/images/Desktop/signs/christmas-display.png") !important; }
  .ch-internal-sign.santa { background-image: url("assets/images/Desktop/signs/santa-claus.png") !important; }
  .ch-internal-sign.contact { background-image: url("assets/images/Desktop/signs/get-in-touch.png") !important; }
  .ch-internal-sign.faq { background-image: url("assets/images/Desktop/signs/faq.png") !important; }

  .ch-internal-sign.articles { background-image: url("assets/images/Desktop/signs/holiday-articles.png") !important; }
  .ch-internal-sign.how { background-image: url("assets/images/Desktop/signs/how-we-do-it-all.png") !important; }
  .ch-internal-sign.support-display { background-image: url("assets/images/Desktop/signs/support-display.png") !important; }
  .ch-internal-sign.northpole { background-image: url("assets/images/Desktop/signs/north-pole.png") !important; }
  .ch-internal-sign.carol { background-image: url("assets/images/Desktop/signs/heart-of-the-carol.png") !important; }

  /* Internal content window aligned to the 1920 mock-up. */
  .ch-content-window {
    left: 19.0% !important;
    top: 18.0% !important;
    width: 62.0% !important;
    height: 68.0% !important;
    padding: clamp(18px, 1.45vw, 44px) !important;
    background: rgba(255,255,255,.97) !important;
    border: 3px solid rgba(170,0,0,.82) !important;
    box-shadow: 0 0 18px rgba(0,0,0,.35) !important;
  }
}

/* Mobile scenes remain 500 x 1000, so the stage is 1:2. */
@media (max-width: 767px) {
  .ch-scene {
    width: min(100vw, calc(100dvh / 2)) !important;
    height: auto !important;
    aspect-ratio: 1 / 2 !important;
    background-size: 100% 100% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .ch-home-scene {
    background-image: url("assets/images/Mobile/mobile-home.png") !important;
  }

  .ch-internal-scene {
    background-image: url("assets/images/Mobile/mobile-interior.png") !important;
  }

  .ch-mobile-home-sign {
    left: 17.5% !important;
    width: 65% !important;
    height: 16% !important;
    background-size: contain !important;
  }

  .ch-mobile-home-sign.meet { top: 22.5% !important; background-image: url("assets/images/Mobile/signs/meet-family.png") !important; }
  .ch-mobile-home-sign.display { top: 36.0% !important; background-image: url("assets/images/Mobile/signs/christmas-display.png") !important; }
  .ch-mobile-home-sign.santa { top: 49.5% !important; background-image: url("assets/images/Mobile/signs/santa-claus.png") !important; }
  .ch-mobile-home-sign.faq { top: 63.0% !important; background-image: url("assets/images/Mobile/signs/faq.png") !important; }
  .ch-mobile-home-sign.contact { top: 76.5% !important; background-image: url("assets/images/Mobile/signs/contact.png") !important; }

  .ch-internal-scene .ch-content-window,
  .ch-content-window {
    left: 3% !important;
    width: 94% !important;
    max-width: 94% !important;
    top: 14.8% !important;
    height: 69.8% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }
}

/* Heading settings from uploaded notes */
.ch-content-inner h1,
.ch-content-inner .ch-heading-1,
.ch-content-window h1,
.entry-content h1,
h1 {
  font-family: "Christmas Comeback", serif !important;
  font-size: 42px !important;
  color: rgb(255,0,0) !important;
}

.ch-content-inner h2,
.ch-content-inner .ch-heading-2,
.ch-content-window h2,
.entry-content h2,
h2 {
  font-family: "Mountains of Christmas", cursive !important;
  font-size: 42px !important;
  color: rgb(255,0,0) !important;
}

.ch-content-inner h3,
.ch-content-window h3,
.entry-content h3,
h3 {
  font-family: "Christmas Comeback", serif !important;
  font-size: 30px !important;
  color: #000 !important;
}

.ch-content-inner h4,
.ch-content-window h4,
.entry-content h4,
h4 {
  font-family: "Mountains of Christmas", cursive !important;
  font-size: 30px !important;
  color: #000 !important;
}

/* Editor responsive content helpers */
.mobile-only,
.ch-mobile-only { display: none; }

.desktop-only,
.ch-desktop-only { display: block; }

@media (max-width: 767px) {
  .desktop-only,
  .ch-desktop-only { display: none !important; }

  .mobile-only,
  .ch-mobile-only { display: block !important; }
}


/* Homepage fifth sign is Holiday Articles, not How We Do It All */
@media (min-width: 768px) {
  .ch-home-sign.articles {
    left: 58.65% !important;
    background-image: url("assets/images/Desktop/signs/holiday-articles.png") !important;
  }
}


/* =====================================================
   FIX: HOMEPAGE FIFTH SIGN = HOLIDAY ARTICLES
===================================================== */
@media (min-width: 768px) {
  .ch-home-page .ch-home-sign.articles,
  .ch-home-scene .ch-home-sign.articles,
  .ch-sign.ch-home-sign.articles {
    left: 58.65% !important;
    top: 4.4% !important;
    width: 13.05% !important;
    height: 14.85% !important;
    background-image: url("assets/images/Desktop/signs/holiday-articles.png") !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    display: block !important;
    z-index: 20 !important;
  }
}


/* =====================================================
   FINAL MOBILE TUNING - 05272026
   1) Mobile homepage wooden signs at 85% previous size.
   2) Mobile interior content window taller toward village.
===================================================== */
@media (max-width: 767px) {
  .ch-mobile-home-sign {
    left: 20.75% !important;
    width: 58.5% !important;
    height: 14.4% !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .ch-mobile-home-sign.meet { top: 22.0% !important; }
  .ch-mobile-home-sign.display { top: 34.5% !important; }
  .ch-mobile-home-sign.santa { top: 47.0% !important; }
  .ch-mobile-home-sign.faq { top: 59.5% !important; }
  .ch-mobile-home-sign.contact { top: 72.0% !important; }

  .ch-internal-scene .ch-content-window {
    top: 14.8% !important;
    height: 73.0% !important;
  }
}



/* Homepage swap: Visit the North Pole replaces Support the Display */
@media (min-width: 768px) {
  .ch-home-sign.northpole {
    background-image: url("assets/images/Desktop/signs/visit-the-north-pole.png") !important;
  }
}


/* =====================================================
   FIX: HOMEPAGE SIXTH SIGN = VISIT THE NORTH POLE
   Replaces Support the Display in that desktop slot.
===================================================== */
@media (min-width: 768px) {
  .ch-home-page .ch-home-sign.northpole,
  .ch-home-scene .ch-home-sign.northpole,
  .ch-sign.ch-home-sign.northpole {
    left: 72.45% !important;
    top: 4.4% !important;
    width: 13.05% !important;
    height: 14.85% !important;
    background-image: url("assets/images/Desktop/signs/north-pole.png") !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    display: block !important;
    z-index: 20 !important;
  }
}
