.elementor-kit-6{--e-global-color-primary:#E8743C;--e-global-color-secondary:#2D8C8C;--e-global-color-text:#2A2724;--e-global-color-accent:#B45A2C;--e-global-color-cream:#FAF7F2;--e-global-color-cream_deep:#F2EBDF;--e-global-color-slate:#234E5E;--e-global-color-orange_soft:#FDF1E6;--e-global-color-teal_soft:#E1F0F0;--e-global-color-ink_muted:#6B6661;--e-global-color-border:#E5DDD3;--e-global-color-amazon_orange:#FF9900;--e-global-typography-primary-font-family:"DM Serif Display";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.05em;--e-global-typography-secondary-font-family:"Fraunces";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Fraunces";--e-global-typography-accent-font-size:22px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.3em;--e-global-typography-pill_metadata-font-family:"Inter";--e-global-typography-pill_metadata-font-size:11px;--e-global-typography-pill_metadata-font-weight:600;--e-global-typography-pill_metadata-text-transform:uppercase;--e-global-typography-pill_metadata-line-height:1.4em;--e-global-typography-pill_metadata-letter-spacing:0.06em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* CatAdviceHub design system custom rules (ported from DogAdviceHub kit 97, 2026-10-20) */

/* Body warm cream background */
body { background: #FAF7F2; color: #2A2724; }

/* Smooth font rendering */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Default link color uses orange-dark for body text contrast (WCAG AA) */
.entry-content a:not(.elementor-button) {
  color: #B45A2C;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}

/* Pull quote / drop cap on the first paragraph of single posts */
.single-post .entry-content > p.lede:first-letter,
.single-post .entry-content > p:first-of-type:first-letter {
  font-family: "DM Serif Display", Georgia, serif;
  font-size: 64px;
  line-height: 0.9;
  float: left;
  padding: 6px 12px 0 0;
  color: #E8743C;
}

/* === Phase 6 archive layout overrides === */
body.archive.category #content { padding: 0 !important; }
body.archive.category .ast-container { max-width: none !important; padding: 0 !important; }
body.archive.category .ast-separate-container .ast-article-post,
body.archive.category .ast-separate-container .ast-article-single,
body.archive.category #primary { padding: 0 !important; background: transparent !important; box-shadow: none !important; max-width: 100% !important; flex: 1 1 100% !important; }
body.archive.category #secondary { display: none !important; }
body.archive.category .ast-archive-description { display: none !important; }
body.archive.category .page-header { display: none !important; }
body.archive.category .site-main > .ast-row { margin: 0 !important; }
body.archive.category.ast-separate-container.ast-two-container #primary { padding-right: 0 !important; }

/* ===== Mobile breakpoint overrides (added 2026-05-05) ===== */

/* Drop-cap proportionate on narrow phones */
@media (max-width: 767px) {
  .single-post .entry-content > p.lede:first-letter,
  .single-post .entry-content > p:first-of-type:first-letter {
    font-size: 44px;
    padding: 4px 8px 0 0;
  }
}

/* Affiliate "Check Price on Amazon" buttons in book reviews (.custom-btn) */
a.custom-btn {
  display: inline-block;
  background: #E8743C;
  color: #FFFFFF !important;
  font-family: Inter, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  padding: 12px 22px;
  border-radius: 8px;
  text-decoration: none !important;
  margin: 8px 0 20px;
  transition: background .2s ease;
}
a.custom-btn:hover, a.custom-btn:focus { background: #B45A2C; color: #FFFFFF !important; }
@media (max-width: 480px) { a.custom-btn { display: block; text-align: center; } }


/* === CAH header offset + mobile header (re-added 2026-10-21 with CAH header template 33) === */
/* Fixed header offset — keep page content below the 72px fixed header */
body { padding-top: 72px; }
@media (max-width: 768px) { body { padding-top: 56px; } }
/* Mobile header: hide search icon, compact the right container */
@media (max-width: 980px) {
  .elementor-33 .elementor-element.elementor-element-23298c4 { display: none !important; }
  .elementor-33 .elementor-element.elementor-element-8f71bf1 { width: auto !important; --width: auto !important; }
}
@media (max-width: 480px) {
  /* On very narrow phones, shrink the button to fit alongside logo + hamburger */
  .elementor-33 .elementor-element.elementor-element-1972b55 .elementor-button { padding: 8px 12px !important; font-size: 13px !important; }
}
/* === end CAH header offset === */

/* === CAH full-width Elementor pages (generic version of DAH homepage fix) ===
   Astra still wraps Elementor "header-footer" template pages in .ast-container. Let sections run edge-to-edge. */
body.page-template-elementor_header_footer #content,
body.page-template-elementor_header_footer .site-content { padding: 0 !important; margin: 0 !important; }
body.page-template-elementor_header_footer .ast-container { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
/* === end CAH full-width === */

/* === CAH mobile header tidy (2026-10-21): hamburger sits next to the button, button stays on one line === */
@media (max-width: 980px) {
  .elementor-33 .elementor-element-75545ca { padding-left: 16px !important; padding-right: 16px !important; }
  .elementor-33 .elementor-widget-nav-menu .elementor-menu-toggle { margin: 0 10px 0 auto !important; }
  .elementor-33 .elementor-button { white-space: nowrap !important; }
}
@media (max-width: 400px) {
  .elementor-33 .elementor-button { padding: 8px 10px !important; font-size: 12.5px !important; }
}
/* === end CAH mobile header tidy === *//* End custom CSS */