/*
Theme Name: DQ Menu Child
Theme URI: https://historical-farm.localsite.io
Description: Child theme for Kadence — full design kit for the Dairy Queen Menu guide site. Brand colours, styled header/footer, price tables, hero + stats sections, cards and gentle scroll animations. All content stays editable in the WordPress editor.
Author: Brandeonix
Template: kadence
Version: 1.6.0
Text Domain: dq-menu-child
*/

/* ---------- Brand palette (overrides Kadence global palette) ---------- */
:root{
  --global-palette1:#EE3124;  /* DQ red — primary */
  --global-palette2:#C8102E;  /* deep red — hover */
  --global-palette3:#1A1A2E;  /* headings */
  --global-palette4:#2B2B36;
  --global-palette5:#4A4A57;
  --global-palette6:#6E6E7A;
  --global-palette7:#F3E9E2;
  --global-palette8:#FFF6F1;  /* warm cream sections */
  --global-palette9:#FFFFFF;
  --dq-red:#EE3124; --dq-red-dark:#C8102E; --dq-ink:#1A1A2E;
  --dq-cream:#FFF6F1; --dq-gold:#FFC72C; --dq-line:#F0E2D8;
  --dq-shadow:0 10px 30px rgba(26,26,46,.10);
  --dq-radius:16px;
}

/* ---------- Base ---------- */
body{ -webkit-font-smoothing:antialiased; }
h1,h2,h3{ letter-spacing:-.01em; }
a{ text-underline-offset:2px; }
::selection{ background:var(--dq-red); color:#fff; }
img{ max-width:100%; height:auto; }

/* ---------- Header ---------- */
#masthead{ box-shadow:0 2px 18px rgba(26,26,46,.08); }
#masthead .site-header-row-container{ background:#fff; }
.custom-logo{ max-height:64px; width:auto; }
.site-header .main-navigation .primary-menu-container > ul > li > a{
  font-weight:600; color:var(--dq-ink); padding:.55em .8em; border-radius:999px;
  transition:background .2s ease,color .2s ease;
}
.site-header .main-navigation .primary-menu-container > ul > li > a:hover,
.site-header .main-navigation .primary-menu-container > ul > li.current-menu-item > a{
  background:var(--dq-cream); color:var(--dq-red);
}
.site-header .sub-menu{ border-radius:12px; box-shadow:var(--dq-shadow); padding:.5em; border:1px solid var(--dq-line); }
.site-header .sub-menu a{ border-radius:8px; font-weight:500; }
.site-header .sub-menu a:hover{ background:var(--dq-cream); color:var(--dq-red); }
/* red pill button inside the menu (add class dq-deals-btn to the menu item) */
.main-navigation .primary-menu-container > ul > li.dq-deals-btn > a{
  background:var(--dq-red); color:#fff !important; border-radius:999px;
  padding:.55em 1.15em; box-shadow:0 6px 16px rgba(238,49,36,.35);
}
.main-navigation .primary-menu-container > ul > li.dq-deals-btn > a:hover{ background:var(--dq-red-dark); }
.mobile-toggle-open-container .menu-toggle-open{ color:var(--dq-ink); }

/* ---------- Buttons ---------- */
.wp-block-button__link, .button, button.wp-block-search__button{
  border-radius:999px; font-weight:700; box-shadow:0 8px 20px rgba(238,49,36,.25);
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease;
}
.wp-block-button__link:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(238,49,36,.32); }
.wp-block-button.is-style-outline .wp-block-button__link{ box-shadow:none; }

/* ---------- Hero (homepage) ---------- */
.dq-hero{ background:linear-gradient(135deg,#FFF6F1 0%,#FFE9E2 55%,#FFF6F1 100%);
  border-radius:0 0 28px 28px; padding:3.2rem 1.5rem 2.6rem; }
.dq-hero h1{ font-size:clamp(1.9rem,4.5vw,3rem); line-height:1.12; margin:.2em 0 .45em; }
.dq-hero .dq-kicker{ display:inline-block; background:#fff; color:var(--dq-red); font-weight:800;
  font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; padding:.45em 1em;
  border-radius:999px; box-shadow:0 4px 14px rgba(26,26,46,.08); }
.dq-hero img{ border-radius:22px; box-shadow:var(--dq-shadow); }
.dq-short-answer{ background:#fff; border-left:5px solid var(--dq-red); border-radius:12px;
  padding:1rem 1.2rem; box-shadow:0 6px 18px rgba(26,26,46,.06); }

/* ---------- Stats band ---------- */
.dq-stats{ background:var(--dq-red); border-radius:20px; padding:1.4rem 1rem; margin:2rem auto; }
.dq-stats .wp-block-column{ text-align:center; color:#fff; padding:.4rem .3rem; }
.dq-stats .dq-stat-num{ display:block; font-size:1.9rem; font-weight:800; line-height:1; }
.dq-stats .dq-stat-label{ display:block; font-size:.85rem; opacity:.92; margin-top:.35rem; }

/* ---------- Tables (prices / calories) ---------- */
.wp-block-table table{ border-collapse:separate; border-spacing:0; width:100%;
  border-radius:14px; overflow:hidden; box-shadow:0 4px 18px rgba(26,26,46,.06); font-size:.98rem; }
.wp-block-table thead th{ background:var(--dq-red); color:#fff; text-align:left; padding:.8em 1em; border:none; }
.wp-block-table tbody td{ padding:.7em 1em; border-bottom:1px solid var(--dq-line); }
.wp-block-table tbody tr:nth-child(even){ background:#FFF9F5; }
.wp-block-table tbody tr:hover{ background:#FFEFE8; }
.wp-block-table figcaption{ font-size:.85rem; color:var(--dq-ink); opacity:.75; padding-top:.5em; }

/* ---------- Cards (category / guide links) ---------- */
.dq-cards{ gap:1.2rem; }
.dq-card{ background:#fff; border:1px solid var(--dq-line); border-radius:var(--dq-radius);
  padding:1.4rem 1.3rem; box-shadow:0 4px 14px rgba(26,26,46,.05);
  transition:transform .18s ease, box-shadow .18s ease; }
.dq-card:hover{ transform:translateY(-4px); box-shadow:var(--dq-shadow); }
.dq-card h3{ margin-top:0; }
.dq-card h3 a{ text-decoration:none; color:var(--dq-ink); }
.dq-card h3 a:hover{ color:var(--dq-red); }

/* ---------- Notes, TOC, FAQ ---------- */
.dq-note{ background:var(--dq-cream); border:1px dashed var(--dq-red); border-radius:14px; padding:1rem 1.2rem; }
.dq-toc{ background:#fff; border:1px solid var(--dq-line); border-radius:14px; padding:1.1rem 1.4rem;
  box-shadow:0 4px 14px rgba(26,26,46,.05); }
.dq-toc ul{ margin:.4rem 0 .2rem 1.1rem; }
.wp-block-details{ border:1px solid var(--dq-line); border-radius:12px; padding:.9rem 1.2rem; margin-bottom:.7rem; background:#fff; }
.wp-block-details summary{ font-weight:700; cursor:pointer; color:var(--dq-ink); }
.wp-block-details[open ]{ border-color:var(--dq-red); box-shadow:0 6px 16px rgba(238,49,36,.10); }
.dq-disclaimer{ font-size:.82rem; opacity:.75; border-top:1px solid var(--dq-line); padding-top:1rem; }

/* ---------- Rich footer (injected by the child theme) ---------- */
.dq-footer{ background:var(--dq-ink); color:#EDEDF2; margin-top:4rem; }
.dq-footer-inner{ max-width:1200px; margin:0 auto; padding:3rem 1.5rem 2rem;
  display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:2.2rem; }
.dq-footer h4{ color:#fff; margin:0 0 .9rem; font-size:1.05rem; }
.dq-footer a{ color:#EDEDF2; text-decoration:none; opacity:.88; }
.dq-footer a:hover{ color:var(--dq-gold); opacity:1; }
.dq-footer ul{ list-style:none; margin:0; padding:0; }
.dq-footer li{ margin:.45rem 0; }
.dq-footer .dq-footer-logo{ max-width:230px; background:#fff; border-radius:12px; padding:.5rem .8rem; margin-bottom:1rem; }
.dq-footer-bottom{ border-top:1px solid rgba(255,255,255,.14); }
.dq-footer-bottom-inner{ max-width:1200px; margin:0 auto; padding:1.1rem 1.5rem;
  display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; justify-content:space-between; font-size:.88rem; opacity:.85; }
@media (max-width:820px){ .dq-footer-inner{ grid-template-columns:1fr; gap:1.6rem; } }

/* Kadence slim footer bar sits under our rich footer */
.site-footer .site-bottom-footer-inner-wrap{ font-size:.85rem; opacity:.85; }

/* ---------- Gentle scroll animations ---------- */
@keyframes dqFadeUp{ from{ opacity:0; transform:translateY(22px);} to{ opacity:1; transform:none;} }
.dq-animate{ opacity:0; }
.dq-animate.dq-in{ animation:dqFadeUp .7s ease forwards; }
@media (prefers-reduced-motion: reduce){ .dq-animate{ opacity:1; } .dq-animate.dq-in{ animation:none; } }

/* ---------- Mobile polish ---------- */
@media (max-width:768px){
  .custom-logo{ max-height:50px; }
  .dq-hero{ padding:2rem 1rem 1.6rem; }
  .dq-stats .wp-block-column{ flex-basis:33.33% !important; }
  .wp-block-table table{ font-size:.9rem; }
  .wp-block-table thead th,.wp-block-table tbody td{ padding:.55em .6em; }
}

/* Kit pages carry their own H1 inside the content */
body.page .entry-header, body.home .entry-header{ display:none; }

/* ---------- v1.1 header tidy + image cards ---------- */
/* Logo only in the header — no site title text next to it */
#masthead .site-title-wrap, #masthead .site-title,
#mobile-header .site-title-wrap, #mobile-header .site-title{ display:none !important; }
#masthead .custom-logo{ max-height:56px; }
.site-header .main-navigation .primary-menu-container > ul{ flex-wrap:nowrap; }
.site-header .main-navigation .primary-menu-container > ul > li > a{ padding:.5em .62em; font-size:.96rem; white-space:nowrap; }
/* Image cards (Browse the Menu grid) */
.dq-imgcard{ padding:0 0 1.15rem; overflow:hidden; }
.dq-imgcard .wp-block-image{ margin:0 0 1rem; }
.dq-imgcard .wp-block-image img{ width:100%; height:185px; object-fit:cover; display:block; }
.dq-imgcard h3, .dq-imgcard p{ padding-left:1.25rem; padding-right:1.25rem; }
.dq-imgcard h3{ margin-bottom:.35rem; }

/* ---------- v1.2 item cards ---------- */
.dq-itemcard{ padding:0 0 1rem; overflow:hidden; text-align:left; }
.dq-itemcard .wp-block-image{ margin:0 0 .8rem; }
.dq-itemcard .wp-block-image img{ width:100%; height:150px; object-fit:cover; display:block; }
.dq-itemcard .dq-item-name{ padding:0 1.1rem; margin:0 0 .3rem; font-size:1.02rem; line-height:1.3; }
.dq-itemcard .dq-item-meta{ padding:0 1.1rem; margin:0; display:flex; flex-wrap:wrap; gap:.35rem .5rem; align-items:center; }
.dq-itemcard .dq-price{ color:var(--dq-red); font-weight:800; font-size:1.02rem; }
.dq-itemcard .dq-pill{ background:var(--dq-cream); border:1px solid var(--dq-line); border-radius:999px;
  padding:.12em .7em; font-size:.8rem; font-weight:600; color:var(--dq-ink); }
.dq-itemgrid{ margin-bottom:1.2rem; }

/* ---------- v1.2 header: top strip + sticky + polish ---------- */
.dq-topbar{ background:var(--dq-ink); color:#EDEDF2; font-size:.85rem; font-weight:600; }
.dq-topbar-inner{ max-width:1200px; margin:0 auto; padding:.45rem 1.2rem; display:flex;
  justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.dq-topbar a{ color:#FFE9A8; text-decoration:none; font-weight:800; }
.dq-topbar a:hover{ text-decoration:underline; }
@media (max-width:700px){ .dq-topbar .dq-tb-mid{ display:none; } .dq-topbar-inner{ justify-content:center; text-align:center; } }
.site-header .main-navigation .primary-menu-container > ul > li > a{ position:relative; }
.site-header .main-navigation .primary-menu-container > ul > li:not(.dq-deals-btn) > a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:2px; height:3px; border-radius:3px;
  background:var(--dq-red); transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
.site-header .main-navigation .primary-menu-container > ul > li:not(.dq-deals-btn) > a:hover::after{ transform:scaleX(1); }
@keyframes dqPulse{ 0%{ box-shadow:0 0 0 0 rgba(238,49,36,.45);} 70%{ box-shadow:0 0 0 9px rgba(238,49,36,0);} 100%{ box-shadow:0 0 0 0 rgba(238,49,36,0);} }
.main-navigation .primary-menu-container > ul > li.dq-deals-btn > a{ animation:dqPulse 2.4s infinite; }
@media (prefers-reduced-motion: reduce){ .main-navigation .primary-menu-container > ul > li.dq-deals-btn > a{ animation:none; } }

/* ---------- v1.3 ---------- */
/* hide Kadence's own light footer bar — the kit footer replaces it */
#colophon, .site-footer{ display:none !important; }
/* top strip pills */
.dq-topbar{ border-bottom:3px solid var(--dq-red); }
.dq-topbar-inner{ align-items:center; padding:.55rem 1.2rem; }
.dq-tb-pill{ display:inline-block; background:var(--dq-red); color:#fff !important; border-radius:999px;
  padding:.28em 1em; font-weight:800; letter-spacing:.01em; }
.dq-tb-pill:hover{ background:var(--dq-red-dark); text-decoration:none !important; }
.dq-tb-check{ background:#fff; color:var(--dq-ink); border-radius:999px; padding:.28em 1em; font-weight:700; }
.dq-tb-mid{ letter-spacing:.04em; opacity:.92; }
@keyframes dqSlideDown{ from{ transform:translateY(-100%);} to{ transform:none;} }
.dq-topbar{ animation:dqSlideDown .5s ease; }
/* card images: full picture, never cropped */
.dq-itemcard .wp-block-image img, .dq-imgcard .wp-block-image img{
  height:auto !important; aspect-ratio:3/2; object-fit:contain; background:#FFF9F5; border-radius:12px; }
/* big section images: smaller, centered */
.dq-feature-img{ max-width:700px; margin:2.2rem auto; text-align:center; }
.dq-feature-img img{ width:100%; border-radius:20px; box-shadow:var(--dq-shadow); }
/* card descriptions */
.dq-item-desc{ padding:0 1.1rem; margin:.35rem 0 0; font-size:.9rem; line-height:1.45; color:#4A4A57; }
.dq-imgcard .dq-item-desc{ padding:0 1.25rem; }
/* extra motion */
.dq-itemcard .wp-block-image, .dq-imgcard .wp-block-image{ overflow:hidden; border-radius:12px; }
.dq-itemcard .wp-block-image img, .dq-imgcard .wp-block-image img{ transition:transform .45s ease; }
.dq-itemcard:hover .wp-block-image img, .dq-imgcard:hover .wp-block-image img{ transform:scale(1.06); }
@keyframes dqHeroIn{ from{ opacity:0; transform:translateY(18px);} to{ opacity:1; transform:none;} }
.dq-hero h1{ animation:dqHeroIn .7s ease both; }
.dq-hero p{ animation:dqHeroIn .7s .12s ease both; }
.dq-hero .wp-block-buttons{ animation:dqHeroIn .7s .24s ease both; }
.dq-hero .wp-block-image{ animation:dqHeroIn .8s .18s ease both; }
@media (prefers-reduced-motion: reduce){ .dq-topbar,.dq-hero h1,.dq-hero p,.dq-hero .wp-block-buttons,.dq-hero .wp-block-image{ animation:none; } }

/* ---------- v1.4 ---------- */
/* footer: 4 columns now */
.dq-footer-inner{ grid-template-columns:1.3fr 1fr 1fr 1fr; }
@media (max-width:900px){ .dq-footer-inner{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .dq-footer-inner{ grid-template-columns:1fr; } }
/* hero sits higher: trim Kadence content top spacing on pages */
body.page .content-area, body.home .content-area{ margin-top:.4rem; }
body.page .entry-content, body.home .entry-content{ margin-top:0; }
.dq-hero{ padding-top:2rem; margin-top:0; }
/* trust bar */
.dq-trustbar{ background:var(--dq-cream); border-top:1px solid var(--dq-line); margin-top:4rem; }
.dq-trustbar-inner{ max-width:1200px; margin:0 auto; padding:1.1rem 1.5rem; display:flex;
  flex-wrap:wrap; gap:.7rem 2rem; justify-content:space-between; }
.dq-trust-item{ display:inline-flex; align-items:center; gap:.55rem; font-weight:700; color:var(--dq-ink); font-size:.95rem; }
.dq-trust-check{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px;
  border-radius:50%; background:var(--dq-red); color:#fff; font-size:.8rem; font-weight:800; flex:none;
  box-shadow:0 4px 10px rgba(238,49,36,.35); }
.dq-footer{ margin-top:0; }
@media (max-width:820px){ .dq-trustbar-inner{ justify-content:flex-start; } }

/* ---------- v1.5 scrolling ticker ---------- */
.dq-marquee{ background:linear-gradient(90deg,var(--dq-red-dark),var(--dq-red) 50%,var(--dq-red-dark));
  border-radius:14px; overflow:hidden; padding:.75rem 0; margin:1.6rem auto 2rem;
  box-shadow:0 10px 24px rgba(238,49,36,.25); }
.dq-marquee-track{ display:flex; width:max-content; animation:dqScroll 30s linear infinite; }
.dq-marquee-item{ white-space:nowrap; color:#fff; font-weight:700; font-size:.98rem;
  padding-right:3.2rem; letter-spacing:.01em; }
.dq-marquee:hover .dq-marquee-track{ animation-play-state:paused; }
@keyframes dqScroll{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .dq-marquee-track{ animation:none; flex-wrap:wrap; width:auto; } }

/* v1.5.1 breathing room between the ticker and the stats band */
.dq-stats{ margin-top:2rem; }

/* v11: page heroes, chips, section accents, card lift */
.dq-pagehero{ animation:dqHeroIn .7s ease both; margin-bottom:2.2rem; }
.dq-pagehero .wp-block-image img{ animation:dqFloat 6s ease-in-out infinite; }
@keyframes dqFloat{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-7px) } }
.dq-chips{ display:flex; flex-wrap:wrap; gap:.5rem; margin:.4rem 0 1.1rem; }
.dq-chip{ background:#fff; border:1px solid var(--dq-line); color:var(--dq-ink); font-weight:700; font-size:.85rem;
  padding:.4em .95em; border-radius:999px; box-shadow:0 3px 10px rgba(26,26,46,.06); }
.entry-content h2{ border-left:5px solid var(--dq-red); padding-left:.7rem; margin-top:2.4rem; }
.dq-hero h2, .dq-toc h2{ border-left:none; padding-left:0; }
.dq-itemcard{ transition:transform .3s ease, box-shadow .3s ease; }
.dq-itemcard:hover{ transform:translateY(-4px); }
@media (prefers-reduced-motion: reduce){ .dq-pagehero, .dq-pagehero .wp-block-image img{ animation:none; } }

/* v11 grid guard: item grids behave as true 4-across rows, remainders keep card width */
@media (min-width: 901px){
  .wp-block-columns.dq-itemgrid{ flex-wrap:wrap; }
  .dq-itemgrid > .wp-block-column{ flex:0 1 calc(25% - .8rem); }
}

/* ---------- v1.6 infographic bars + data tables ---------- */
.dq-bars{ background:#fff; border:1px solid var(--dq-line); border-radius:16px;
  padding:1.3rem 1.4rem; box-shadow:0 4px 14px rgba(26,26,46,.05); margin:1.6rem 0; }
.dq-bar-row{ display:flex; align-items:center; gap:.9rem; margin:.55rem 0; }
.dq-bar-label{ flex:0 0 200px; font-weight:700; color:var(--dq-ink); font-size:.95rem; line-height:1.25; }
.dq-bar-track{ flex:1; background:var(--dq-cream); border:1px solid var(--dq-line);
  border-radius:999px; height:18px; overflow:hidden; }
.dq-bar-fill{ height:100%; width:var(--w); border-radius:999px;
  background:linear-gradient(90deg,var(--dq-red),var(--dq-gold));
  transition:width 1.3s cubic-bezier(.22,.8,.3,1); }
.dq-bars.dq-animate .dq-bar-fill{ width:0; }
.dq-bars.dq-animate.dq-in .dq-bar-fill{ width:var(--w); }
.dq-bar-val{ flex:0 0 auto; font-weight:800; color:var(--dq-red-dark); font-size:.95rem; white-space:nowrap; }
@media (max-width:640px){
  .dq-bar-row{ flex-wrap:wrap; gap:.35rem .7rem; }
  .dq-bar-label{ flex:1 1 100%; }
  .dq-bar-track{ flex:1 1 auto; }
}
@media (prefers-reduced-motion: reduce){
  .dq-bar-fill{ transition:none; }
  .dq-bars.dq-animate .dq-bar-fill{ width:var(--w); }
}
.wp-block-table{ overflow-x:auto; }
.dq-table table{ min-width:520px; }
.dq-table tbody td:first-child{ font-weight:600; color:var(--dq-ink); }
