/* =========================================================
   dawnovva unified styles (CPT archives + CPT singles + cosmic pages)
   reset-baseline pass
   ========================================================= */

/* =========================================================
   0) DESIGN TOKENS
   ========================================================= */

:root{

  /* GROUP A FOUNDATIONAL TOKENS */

  /* palette */
  --dv-dark: #003;
  --dv-muted: #999;
  --dv-light: #FAFAF7;
  --dv-accent-cool: #066;
  --dv-accent-warm: #630;
  --dv-note: #630;
  --dv-accent-cooler: #3cc;
  --dv-accent-warmer: #c93;


/* === MASTER SPACING SCALE === */

--dv-space: 32px;        /* base unit (main dial) */
--dv-space-none: 0px;                         /* 0px */
--dv-space-xxs: calc(var(--dv-space) * 0.13); /* 4px */
--dv-space-xs: calc(var(--dv-space) * 0.35);  /* 11px */
--dv-space-sm: calc(var(--dv-space) * 0.75);  /* 24px */
--dv-space-md: var(--dv-space);               /* 32px */
--dv-space-lg: calc(var(--dv-space) * 1.5);   /* 48px */
--dv-space-xl: calc(var(--dv-space) * 2);     /* 64px */

/* === RHYTHM SYSTEM (spacing → radius → shadow) === */

/* radius scale (follows spacing proportions) */
--dv-radius-xs: calc(var(--dv-space) * 0.25);  /* 8px */
--dv-radius-sm: calc(var(--dv-space) * 0.5);   /* 16px */
--dv-radius-md: calc(var(--dv-space) * 0.75);  /* 24px */
--dv-radius-lg: var(--dv-space);               /* 32px */

/* semantic usage */
--dv-radius-panel: var(--dv-radius-md);
--dv-radius-media: var(--dv-radius-sm);

/* shadow scale (paired to elevation) */
--dv-shadow-1: 0 4px 12px rgba(0,0,0,0.08);
--dv-shadow-2: 0 8px 22px rgba(0,0,0,0.12);
--dv-shadow-3: 0 18px 42px rgba(0,0,0,0.28);

/* semantic usage */
--dv-shadow-soft: var(--dv-shadow-1);
--dv-shadow-strong: var(--dv-shadow-3);

  /* layout widths */
  --dv-max: 980px;
  --dv-meta-max: 600px;
  --dv-panel-max: 900px;

  /* shared spacing */
  
  --dv-card-side-pad: 8px;
  --dv-card-pad-bottom: 18px;
  --dv-title-gap: var(--dv-space-none);
  --dv-content-pad-x: var(--dv-space-md);
  --dv-content-pad-y: var(--dv-space-md);
  
  /* archive-specific spacing */
  --dv-archive-side-pad: 8px;
  --dv-archive-intro-gap: var(--dv-space-sm);
  --dv-archive-max: 980px;

  /* titles / headings */
  --dv-title-size: 24px;
  --dv-title-line: 1.2;
  --dv-h5-size: 1.25rem;
  --dv-h6-size: 1rem;

  /* GROUP B COMPONENT TOKENS */

  /* navigation */
  --dv-nav-toggle-right: 4px;
  --dv-nav-toggle-size: 22px;
  --dv-nav-toggle-bar-w: 12px;
  --dv-nav-toggle-bar-h: 2px;

  /* submenu */
  --dv-submenu-min-w: 240px;
  --dv-submenu-bg: rgba(0, 0, 51, 0.50);
  --dv-submenu-shadow: 0 18px 44px rgba(0,0,0,0.55);
  --dv-submenu-border: 1px solid rgba(255,255,255,0.10);
  --dv-submenu-link-radius: var(--dv-radius-sm);

  /* panels */
  --dv-panel-inner-pad: 12px;
  --dv-panel-pad-mobile: 20px;
  --dv-grid-gap: var(--dv-space-md); /* 32px */
  --dv-media-gap: var(--dv-space-sm);
  --dv-meta-gap: var(--dv-space-xs);
  --dv-panel-pad-x: var(--dv-space-md); /* 32px */   /* left/right breathing */
  --dv-panel-pad-y: calc(var(--dv-space-xl) * 1.2);   /* top/bottom breathing */




  /* focus */
  --dv-focus-ring: 2px solid rgba(0,102,102,0.35);
  --dv-focus-offset: 6px;
  --dv-focus-radius: var(--dv-radius-xs);

  /* theme background tokens */
  --color_header_background: transparent;
  --color_intro_background: transparent;
  --color_content_background: transparent;
  --color_footer_background: transparent;

  /* buttons */
  --dv-button-pad-y: 8px;
  --dv-button-pad-x: 16px;
  --dv-button-min-h: 36px;
  --dv-button-bg-top: #066;
  --dv-button-bg-bottom:#099;
  --dv-button-shadow:
    0 8px 18px rgba(0,0,0,0.22),
    inset 0 1px 0 rgba(255,255,255,0.28),
    inset 0 -2px 0 rgba(0,0,0,0.22);
  --dv-button-text-shadow: 0 1px 0 rgba(0,0,0,0.28);
  --dv-button-transition: transform 160ms ease, filter 160ms ease, box-shadow 160ms ease;

  /* resources */
  --dv-resource-button-min-w: 170px;
  --dv-resource-icon-size: 16px;
  --dv-resource-icon-stroke: 1.6;
  --dv-resource-image-mobile-max: 220px;
  --dv-resource-text-max: 34rem;
  --dv-resource-text-size: 1.08rem;
  --dv-resource-line: 1.8;

  /* quotes */
  --dv-quote-mark-size: 66px;

  /* search */
  --dv-search-button-size: 46px;
  --dv-search-icon-size: 22px;

  /* GROUP C PAGE / LAYOUT TOKENS */

  /* home page */
  --dv-home-hero-title-top: 0;
  --dv-home-hero-title-bottom: 0;
  --dv-home-hero-title-left: 0;
  --dv-home-panel-width: min(var(--dv-panel-max), 86vw);
  --dv-home-panel-left: 59%;
  --dv-home-panel-translate-x: -59%;
 
  --dv-home-panel-lift-mobile: 0px;
  --dv-home-panel-margin-top: 0px;

  /* default pages + category pages */
  --dv-default-panel-width: min(var(--dv-panel-max), 86vw);
  --dv-default-panel-lift-mobile: 0px;
  --dv-default-panel-lift: 0px;
  --dv-default-panel-lift-mobile: 0px;
  
  /* page titles */
  --dv-page-title-left-pad-desktop: 0;
  --dv-page-title-left-pad-mobile: 0;
  --dv-page-title-top-nudge: 0;
  --dv-page-title-left-nudge: 0;

  /* gutters */
  --dv-gutter-left: 0;
  --dv-gutter-right: 0;
  
}

/* =========================================================
   1) WRAPPERS + SITE BACKGROUND
   ========================================================= */
.unified-single,
.unified-archive-wrap{
  color: var(--dv-dark);
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
  padding: var(--dv-space-xs) !important; /* 16px */
}

.unified-single{
  max-width: 900px !important;
  width: min(900px, 92vw) !important;
}


/* full backgroun of table */
.unified-archive-wrap{
  max-width: 1200px !important;
  width: min(1200px, 94vw) !important;
  background: transparent !important;
}

.unified-single .wp-block-group__inner-container,
.unified-archive-wrap .wp-block-group__inner-container {
  padding: 0 !important;
  margin: 0 !important;
  background: rgb(146, 20, 146) !important;
}

.unified-single > *:first-child,
.unified-archive-wrap > *:first-child {
  margin-top: 0 !important;
}

.unified-single > *:last-child,
.unified-archive-wrap > *:last-child {
  margin-bottom: 0 !important;
}

html,
body,
body.custom-background,
body.custom-background.has-intro{
  background-color: var(--dv-dark) !important;
}

/* home background: smoother full-width repeat downward */
:is(body.home, body.front-page){
  background-image: url('/wp-content/uploads/2025/11/dawnovva-sky-alpha-centari-purple.avif') !important;
  background-repeat: repeat-y !important;
  background-size: 100% auto !important;
  background-position: top center !important;
  background-attachment: scroll !important;
}
/* everything else should span full viewport width */
:is(
  body.page:not(.home):not(.front-page),
  body.single,
  body.archive,
  body.category,
  body.search
){
  background-image: url('/wp-content/uploads/2025/11/dawnovva-sky-alpha-centari-purple.avif') !important;
  background-repeat: repeat-y !important;
  background-size: 100% auto !important;
  background-position: top center !important;
  background-attachment: scroll !important;
}

/* restore proper page layout containment */
body.page:not(.home):not(.front-page) .site-main{
  padding: var(--dv-space-lg) 0 !important;
}

/* =========================================================
   2) TYPOGRAPHY + COMMON BLOCKS
   ========================================================= */

.single-title,
.unified-title{
  font-size: var(--dv-title-size);
  line-height: var(--dv-title-line);
  text-transform: lowercase;
  color: var(--dv-light);
}

:is(.entry-content, .archive-intro, .unified-archive-wrap) h5{
  font-size: var(--dv-h5-size);
  color: var(--dv-accent-warm) !important;
}

:is(.entry-content, .archive-intro, .unified-archive-wrap) h6{
  font-size: var(--dv-h6-size);
  font-style: italic !important;
  color: var(--dv-accent-cool) !important;
  margin-bottom: var(--dv-space-md) !important;
}

.single-author,
.single-tagline,
.stats,
.book-series,
.single-meta{
  max-width: var(--dv-meta-max);
  text-transform: lowercase;
}

.single-author{
  opacity: 0.85;
  color: var(--dv-accent-warm);
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: baseline;
}

.single-author .creator2::before{
  content: " • ";
}

.single-tagline{
  font-style: italic;
  color: var(--dv-accent-cool);
  margin: 0 0 var(--dv-space-xs) 0;
}

.back-link{
  display: block;
  text-decoration: none;
  font-weight: 700;
  color: var(--dv-accent-cool);
  opacity: 0.9;
  margin-bottom: var(--dv-space-xs);
}

.stats li,
.single-meta li,
.book-series li{
  position: relative;
  padding-left: 0.85rem !important;
}

.stats li::before,
.single-meta li::before,
.book-series li::before{
  content: "•";
  position: absolute;
  left: 0;
  color: var(--dv-muted);
}

.single-meta{
  color: var(--dv-muted);
  opacity: 0.95;
}

.single-meta-list{
  list-style: none !important;
  margin: var(--dv-space-sm) 0 0 0 !important;
  padding: var(--dv-space-none) !important;
  max-width: var(--dv-meta-max) !important;
  color: var(--dv-muted) !important;
  opacity: 0.95 !important;
  text-transform: lowercase;
}

.single-meta-list li{
  margin: 0 0 0.08rem 0 !important;
  padding-left: 0 !important;
  color: var(--dv-muted) !important;
  line-height: 1.15 !important;
}

.single-meta-list li::before{
  content: none !important;
}

.entry-content-container{
  padding: var(--dv-space-lg) !important;
}

#home-panel,
.archive-header,
.site-main{
  padding: 0 !important;
}

.archive-header{
  margin-bottom: var(--dv-space-md) !important;
}

/* =========================================================
   3) QUOTE BLOCK
   ========================================================= */

body.single-reading-nook .single-col-content{
  min-width: 0;
}

.unified-single blockquote:is(.single-quote, .book-quote, .deck-quote, .tool-quote){
  position: relative;
  max-width: var(--dv-meta-max);
  border: 0;
  line-height: 1.35;
  color: var(--dv-muted) !important;
  font-style: italic !important;
  padding-left: 1.55rem !important;
  padding-right: 1.55rem !important;
}

.unified-single blockquote:is(.single-quote, .book-quote, .deck-quote, .tool-quote) p{
  color: var(--dv-muted) !important;
  font-style: italic !important;
  font-weight: 400;
}

.unified-single blockquote:is(.single-quote, .book-quote, .deck-quote, .tool-quote)::before,
.unified-single blockquote:is(.single-quote, .book-quote, .deck-quote, .tool-quote)::after{
  position: absolute;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: var(--dv-quote-mark-size);
  line-height: 1;
  opacity: 0.25;
  color: var(--dv-muted) !important;
  top: 50% !important;
}

.unified-single blockquote:is(.single-quote, .book-quote, .deck-quote, .tool-quote)::before{
  content: "“";
  left: -1rem !important;
  top: 70% !important;
  transform: translateY(-30%) !important;
}

.unified-single blockquote:is(.single-quote, .book-quote, .deck-quote, .tool-quote)::after{
  content: "”";
  right: -0.08rem !important;
  transform: translateY(-50%) !important;
}

/* =========================================================
   4) BUTTONS + PAGINATION
   ========================================================= */

:where(
  a.affiliate-button,
  a.view-details-button,
  .wp-block-button .wp-block-button__link,
  a.wp-block-button__link,
  .wp-block-button__link,
  a.wp-element-button,
  .wp-element-button,
  a.button,
  .button,
  nav.navigation.pagination .page-numbers,
  nav.navigation.pagination a
),
body:not(.wp-admin) :is(.entry-content, .entry-content-container, .unified-single, .unified-archive-wrap)
:is(input[type="submit"], input[type="button"], input[type="reset"]){
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: var(--dv-button-min-h) !important;
  padding: var(--dv-button-pad-y) var(--dv-button-pad-x) !important;
  border-radius: var(--dv-radius-panel) !important;
  text-decoration: none !important;
  text-transform: lowercase !important;
  font-weight: 500 !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
  color: var(--dv-light) !important;
  border: 0 !important;
  background:
    linear-gradient(to bottom, var(--dv-button-bg-top), var(--dv-button-bg-bottom)),
    var(--dv-accent-cool) !important;
  box-shadow: var(--dv-button-shadow) !important;
  text-shadow: var(--dv-button-text-shadow) !important;
  transition: var(--dv-button-transition) !important;
}

.dv-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--dv-button-min-h);
  padding: var(--dv-button-pad-y) var(--dv-button-pad-x);
  border-radius: var(--dv-radius-panel);
  color: var(--dv-light);
  background:
    linear-gradient(to bottom, var(--dv-button-bg-top), var(--dv-button-bg-bottom)),
    var(--dv-accent-cool);
}

/* =========================================================
   4b) NAV/UI EXCLUSIONS
   ========================================================= */

header#masthead :is(
  #menu-toggle,
  .menu-toggle,
  .button-toggle-sub-menu,
  .dropdown-toggle,
  .submenu-expand,
  .search-form input.search-submit,
  .search-form button[type="submit"],
  .search-form button.search-submit
){
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

#wpadminbar input.adminbar-button{
  all: revert !important;
}

/* =========================================================
   4c) SEARCH SUBMIT ICONS
   ========================================================= */

header#masthead .search-form,
body.search .site-content .search-form{
  position: relative !important;
}

header#masthead .search-form :is(svg, .icon, i),
body.search .search-form :is(svg, .icon, i),
body.search .wp-block-search__button :is(svg, .wp-block-search__button__icon){
  display: none !important;
}

/* reset search-page submit/button styles before rebuilding the icon button */
body.search .site-content .search-form :is(
  input.search-submit,
  input[type="submit"],
  .wp-block-search__button,
  button[type="submit"]
){
  all: revert !important;
}

header#masthead .search-form :is(
  input.search-submit,
  button[type="submit"],
  button.search-submit
),
body.search .site-content .search-form :is(
  input.search-submit,
  input[type="submit"],
  .wp-block-search__button,
  button[type="submit"]
){
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  z-index: 20 !important;
  width: var(--dv-search-button-size) !important;
  height: var(--dv-search-button-size) !important;
  border: 0 !important;
  transform: translateY(-50%) !important;
  background: transparent !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FAFAF7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: var(--dv-search-icon-size) var(--dv-search-icon-size) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  cursor: pointer !important;
  text-indent: -9999em !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

body.search .site-content .search-form::before,
body.search .site-content .search-form::after,
body.search .site-content form.search-form::before,
body.search .site-content form.search-form::after{
  content: none !important;
  display: none !important;
}

/* =========================================================
   4d) NAV BREAKPOINT SAFETY
   ========================================================= */

header#masthead #menu-toggle{
  display: inline-flex !important;
}

@media (min-width: 768px){
  header#masthead #menu-toggle{
    display: none !important;
  }
}

/* =========================================================
   4e) MODERN THEME NAV FIXES
   ========================================================= */

header#masthead::before,
header#masthead::after,
header#masthead .site-header::before,
header#masthead .site-header::after,
header#masthead .site-header-navigation::before,
header#masthead .site-header-navigation::after,
header#masthead .site-header-content::before,
header#masthead .site-header-content::after,
header#masthead .site-header-inner::before,
header#masthead .site-header-inner::after,
#intro-container::before,
#intro-container::after,
.intro-container::before,
.intro-container::after,
#content::before,
#content::after,
.site-content::before,
.site-content::after,
.site-content-inner::before,
.site-content-inner::after,
#primary::before,
#primary::after,
.content-area::before,
.content-area::after,
.site-main::before,
.site-main::after,
header#masthead .main-navigation li.menu-item-has-children::before,
header#masthead .main-navigation li.menu-item-has-children::after,
header#masthead .main-navigation .menu-item-has-children > a::before,
header#masthead .main-navigation .menu-item-has-children > a::after{
  content: none !important;
  display: none !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}

header#masthead .main-navigation li.menu-item-has-children{
  position: relative !important;
}

header#masthead .main-navigation li.menu-item-has-children > a{
  position: relative !important;
  display: inline-block !important;
}

header#masthead .main-navigation li.menu-item-has-children > button.button-toggle-sub-menu{
  position: absolute !important;
  top: 50% !important;
  right: var(--dv-nav-toggle-right) !important;
  transform: translateY(-50%) !important;
  z-index: 999 !important;
  width: var(--dv-nav-toggle-size) !important;
  height: var(--dv-nav-toggle-size) !important;
  border: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  cursor: pointer !important;
}

header#masthead .main-navigation li.menu-item-has-children > button.button-toggle-sub-menu::before,
header#masthead .main-navigation li.menu-item-has-children > button.button-toggle-sub-menu::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: var(--dv-nav-toggle-bar-w) !important;
  height: var(--dv-nav-toggle-bar-h) !important;
  background: rgba(250,250,247,0.95) !important;
  transform-origin: center !important;
}

header#masthead .main-navigation li.menu-item-has-children > button.button-toggle-sub-menu::before{
  transform: translate(-50%, -50%) !important;
}

header#masthead .main-navigation li.menu-item-has-children > button.button-toggle-sub-menu::after{
  transform: translate(-50%, -50%) rotate(90deg) !important;
}

@media (min-width: 768px){
  header#masthead .main-navigation li.menu-item-has-children > button.button-toggle-sub-menu{
    display: none !important;
  }
}

header#masthead .main-navigation ul.sub-menu{
  min-width: var(--dv-submenu-min-w) !important;
  /* If your submenu should visually match panels, keep it.
  border-radius: var(--dv-radius-panel) !important; */
  background: var(--dv-submenu-bg) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--dv-submenu-shadow) !important;
  border: var(--dv-submenu-border) !important;
  z-index: 9999 !important;
}

header#masthead .main-navigation ul.sub-menu a{
  display: block !important;
  border-radius: var(--dv-submenu-link-radius) !important;
}

body.search hr,
body.search .wp-block-separator{
  display: none !important;
  border: 0 !important;
  height: 0 !important;
}

/* =========================================================
   5) MEDIA CONTAINERS + HOVER SWAP
   ========================================================= */

img.main-img,
img.single-main-img{
  opacity: 1;
}

img.hover-img{
  opacity: 0;
  pointer-events: none;
}

.single-media-link{
  display: block;
  color: inherit;
  text-decoration: none;
}

.single-media-link:focus-visible{
  outline: var(--dv-focus-ring);
  outline-offset: var(--dv-focus-offset);
  border-radius: var(--dv-focus-radius);
}

/* make both media wrappers true stacking containers */
.archive-media,
.single-media{
  position: relative !important;
  overflow: hidden !important;
}

/* stack images on top of each other instead of normal document flow */
.archive-media :is(.main-img, .hover-img, .wp-post-image),
.single-media :is(.main-img, .single-main-img, .hover-img, .wp-post-image){
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-position: center center !important;
  transition: opacity 220ms ease !important;
}

/* archive images */
.archive-media :is(.main-img, .hover-img, .wp-post-image){
  object-fit: contain !important;
}

/* single-page images */
.single-media :is(.main-img, .single-main-img, .hover-img, .wp-post-image){
  object-fit: contain !important;
}

/* base layering */
.archive-media :is(.main-img, .wp-post-image),
.single-media :is(.main-img, .single-main-img, .wp-post-image){
  opacity: 1;
  z-index: 1;
}

.archive-media .hover-img,
.single-media .hover-img{
  opacity: 0;
  z-index: 2;
  pointer-events: none;
}

/* hover / focus swap */
.archive-media:hover :is(.main-img, .wp-post-image),
.archive-media:focus-within :is(.main-img, .wp-post-image),
.img-link:hover .archive-media :is(.main-img, .wp-post-image),
.img-link:focus-within .archive-media :is(.main-img, .wp-post-image),
.single-media:hover :is(.main-img, .single-main-img, .wp-post-image),
.single-media:focus-within :is(.main-img, .single-main-img, .wp-post-image){
  opacity: 0;
}

.archive-media:hover .hover-img,
.archive-media:focus-within .hover-img,
.img-link:hover .archive-media .hover-img,
.img-link:focus-within .archive-media .hover-img,
.single-media:hover .hover-img,
.single-media:focus-within .hover-img{
  opacity: 1;
}

@supports not (aspect-ratio: 2 / 3){
  .archive-media::before,
  .single-media::before{
    content: "";
    display: block;
  }
}

.unified-archive-wrap .archive-media{
  aspect-ratio: 2 / 3 !important;
  overflow: hidden !important;
}

.unified-archive-wrap .archive-media img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: var(--dv-dark);
}

/* =========================================================
   6) ARCHIVE GRID + CARDS
   ========================================================= */

.unified-archive-wrap .archive-card{
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  background: var(--dv-dark) !important;
  border: 0px solid rgba(255,255,255,0.16) !important;
  border-radius: var(--dv-radius-panel) !important;
  padding: var(--dv-space-xs) !important;
  overflow: hidden !important;
  box-shadow: none !important;
  gap: var(--dv-space-xs) !important;
}

.unified-archive-wrap .view-details-button{
  margin-top: var(--dv-space-xs) !important;
}

.unified-archive-wrap .archive-card .img-link{
  display: block !important;
  margin: 0 !important;
  text-decoration: none !important;
  background: var(--dv-dark) !important;
}

.unified-archive-wrap .archive-card .archive-media{
  display: block !important;
  position: relative !important;
  margin: 0 !important;
  background: var(--dv-dark) !important;
  border-radius: var(--dv-radius-sm) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  overflow: hidden !important;
  aspect-ratio: 2 / 3 !important;
}

.unified-archive-wrap .archive-card .main-img,
.unified-archive-wrap .archive-card .hover-img,
.unified-archive-wrap .archive-card .wp-post-image{
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.unified-archive-wrap .archive-card .archive-content{
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  text-align: center !important;

  flex-grow: 1 !important;
  width: 100% !important;
  box-sizing: border-box !important;

  gap: 6px !important;
  padding: var(--dv-space-xs) var(--dv-space-xs) var(--dv-space-sm) !important;

  background: rgba(0, 0, 51, 0.82) !important;
  border-radius: 0 0 var(--dv-radius-panel) var(--dv-radius-panel) !important;
}

.unified-archive-wrap .archive-card :is(
  .archive-title,
  .entry-title,
  .card-title,
  h2,
  h3
){
  margin: 0 !important;
  line-height: 1.08 !important;
}

.unified-archive-wrap .archive-card :is(
  .archive-title,
  .entry-title,
  .card-title,
  h2,
  h3
) a{
  display: block !important;
  margin: 0 !important;
  line-height: 1.08 !important;
  color: var(--dv-light) !important;
}

.unified-archive-wrap .archive-card :is(
  .archive-tagline,
  .tagline,
  .subtitle,
  .excerpt,
  .archive-byline,
  .byline
){
  color: var(--dv-accent-cooler) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  opacity: 0.95 !important;
  margin: 0 0 4px !important;
  line-height: 1.2 !important;
}

.unified-archive-wrap .archive-card :is(
  .archive-author,
  .single-author,
  .author,
  .meta-author
){
  color: var(--dv-accent-warmer) !important;
  margin: 0 0 2px !important;
  line-height: 1.15 !important;
}

/* keep only the archive-specific bit here */
.archive-grid :is(
  .view-details-button,
  .affiliate-button,
  .wp-block-button__link,
  a.button
){
  background-clip: padding-box;
}

.pagination .page-numbers{
  color: var(--dv-accent-cool) !important;
}

.pagination .page-numbers.current{
  color: var(--dv-light) !important;
  background: var(--dv-dark) !important;
  border-color: var(--dv-accent-cool) !important;
}

/* hide theme header/media layer on single pages + archive pages */

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) :is(
  .post-thumbnail,
  .entry-media,
  .entry-thumbnail,
  .featured-image,
  .single-featured-image,
  figure.post-thumbnail,
  .wp-post-image
){
  display: none !important;
}

:is(
  body.single,
  body.archive,
  body.category
) :is(
  #wp-custom-header,
  .wp-custom-header,
  .custom-header,
  .custom-header-media,
  .custom-header-image,
  .intro,
  .intro-media
){
  display: none !important;
}

/* =========================================================
   6a) ARCHIVE GRID SYSTEM (3–4 columns)
   ========================================================= */

.archive-grid{
  display: grid !important;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: var(--dv-grid-gap) !important;
  align-items: stretch !important;
}

/* tablet */
@media (min-width: 620px){
  .archive-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* desktop */
@media (min-width: 980px){
  .archive-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* wide desktop */
@media (min-width: 1260px){
  .archive-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* =========================================================
   6b) ARCHIVE CARD SPACING
   ========================================================= */

.unified-archive-wrap .archive-card :is(
  .archive-tagline,
  .tagline,
  .subtitle,
  .excerpt,
  .archive-byline,
  .byline
){
  margin: 0 0 var(--dv-meta-gap) !important;
}

.unified-archive-wrap .archive-card :is(
  .archive-author,
  .single-author,
  .author,
  .meta-author
){
  margin: 0 0 var(--dv-meta-gap) !important;
}

.archive-intro__text{
  margin-bottom: var(--dv-archive-intro-gap) !important;
  color: var(--dv-light) !important;
}

.archive-intro__title{
  color: var(--dv-light) !important;
}

/* hide large archive intro image on rituals category page */
body.category-rituals .archive-intro__media{
  display: none !important;
}

body.category-rituals .archive-intro.has-media{
  display: block !important;
}

/* =========================================================
   7) SINGLE LAYOUT
   ========================================================= */

.single-grid{
  display: grid;
  grid-template-columns: 1fr;
  column-gap: var(--dv-grid-gap) !important;
  row-gap: var(--dv-space-xs) !important;
  align-items: start !important;
  padding-top: var(--dv-space-sm);
}

@media (min-width: 860px){
  .single-grid{
    grid-template-columns: 1fr 1fr;
    column-gap: var(--dv-grid-gap) !important;
    row-gap: var(--dv-space-xs) !important;
  }
}

.single-media{
  position: relative;
  max-width: 100%;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  isolation: isolate;
  box-shadow: var(--dv-shadow-strong);
  background: transparent;
}

.single-col-content{
  align-self: start;
  text-align: left;
}

body:is(.single-sacred-tool, .single-reading-nook, .single-oracle-deck) .single-col-media{
  justify-self: stretch;
  background: transparent;
  background-color: transparent;
  background-image: none;
}

/* =========================================================
   oracle deck single - spacing + button padding
   ========================================================= */

/* tighten the gap between the top area and the affiliate row */
@media (min-width: 860px){
  body.single-oracle-deck .single-grid{
    row-gap: var(--dv-space-sm) !important;
  }
}

/* give the meta line some breathing room */
body.single-oracle-deck .single-meta,
body.single-oracle-deck .single-meta-list{
  margin-bottom: var(--dv-space-sm) !important;
}

/* single-page affiliate buttons were missing real padding */
body.single-oracle-deck .affiliate-buttons .affiliate-button{
  padding: 10px 18px !important;
  min-height: 42px !important;
  line-height: 1.2 !important;
}

/* =========================================================
   7b) SINGLE CONTENT PANEL
   oracle deck single - right column rhythm
   ========================================================= */

body.single-oracle-deck .single-col-content{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: var(--dv-space-xs) !important;
}

body.single-oracle-deck .single-col-content .single-title,
body.single-oracle-deck .single-col-content .single-tagline,
body.single-oracle-deck .single-col-content .single-author,
body.single-oracle-deck .single-col-content .single-quote,
body.single-oracle-deck .single-col-content .single-desc,
body.single-oracle-deck .single-col-content .single-meta-list,
body.single-oracle-deck .single-col-content .back-link{
  margin: 0 !important;
}

body.single-oracle-deck .single-col-content .single-desc p{
  margin: 0 0 var(--dv-space-xs) 0 !important;
}

body.single-oracle-deck .single-col-content .single-desc p:last-child{
  margin-bottom: 0 !important;
}

body.single-oracle-deck .single-col-content .single-meta-list{
  margin-left: 0 !important;
}

body.single-oracle-deck .single-col-content .back-link{
  display: inline-flex !important;
  width: fit-content !important;
  margin-top: var(--dv-space-sm) !important;
}

/* =========================================================
   8) AFFILIATE ROW
   ========================================================= */

.affiliate-row{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  margin-top: var(--dv-space-xs) !important;
  background: transparent !important;
}

.affiliate-inner{
  width: min(800px, 100%) !important;
  max-width: 800px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 100px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.affiliate-buttons{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: var(--dv-space-xs) !important;
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: var(--dv-space-sm) !important;
}

.affiliate-disclosure{
  display: block !important;
  clear: both !important;
  width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-left: 0 !important;
  color: var(--dv-note) !important;
  font-style: italic !important;
  font-weight: 500 !important;
  text-align: center !important;
}

.affiliate-disclosure p{
  max-width: 800px !important;
  margin: 0 !important;
}

.affiliate-inner{
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
}

.affiliate-buttons{
  justify-content: center !important;
}

/* =========================================================
   9) ARCHIVE HEADER VERTICAL CENTERING
   ========================================================= */
body:is(
  .post-type-archive-oracle-deck,
  .post-type-archive-reading-nook,
  .post-type-archive-sacred-tool
) .archive-header{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* =========================================================
   10) COSMIC LAYOUT
   ========================================================= */

header#masthead .site-branding{
  position: relative !important;
  z-index: 5 !important;
  transform: translateY(0) !important;
}

header#masthead :is(.custom-logo-link, .site-logo, img.custom-logo){
  top: auto !important;
  transform: none !important;
}

/* hide the theme-generated home title/header layer */
:is(body.home, body.front-page) .intro-title,
:is(body.home, body.front-page) .entry-header,
:is(body.home, body.front-page) .entry-title,
:is(body.home, body.front-page) .page-title{
  display: none !important;
}

/* remove the tinted top overlay on the homepage */
:is(body.home, body.front-page) :is(
  header#masthead,
  header#masthead .site-header-content,
  header#masthead .site-header-navigation,
  #intro-container,
  .intro-container,
  .intro-media
){
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* kill any pseudo overlays in the top home area */
:is(body.home, body.front-page) :is(
  header#masthead,
  header#masthead .site-header-content,
  header#masthead .site-header-navigation,
  #intro-container,
  .intro-container,
  .intro-media
)::before,
:is(body.home, body.front-page) :is(
  header#masthead,
  header#masthead .site-header-content,
  header#masthead .site-header-navigation,
  #intro-container,
  .intro-container,
  .intro-media
)::after{
  content: none !important;
  display: none !important;
}

/* keep all home wrappers transparent */
:is(body.home, body.front-page)
:is(
  #content,
  .site-content,
  .site-content-inner,
  #primary,
  .content-area,
  .site-main,
  .entry,
  #home-panel,
  #home-panel > .wp-block-group__inner-container
){
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* home card = same visible panel behavior as regular pages */
:is(body.home, body.front-page) .entry-content-container{
  background: var(--dv-light) !important;
  background-color: var(--dv-light) !important;
  background-image: none !important;

  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;

  border: 0 !important;
  border-radius: var(--dv-radius-panel) !important;
  box-shadow: none !important;

  width: min(var(--dv-panel-max), 90vw) !important;
  max-width: var(--dv-panel-max) !important;
  margin: var(--dv-space-lg) auto 0 !important;
  padding: var(--dv-space-lg) !important;

  position: relative !important;
  z-index: 2 !important;
  overflow: hidden !important;
}

/* kill any overlay/pseudo layers sitting on the home card */
:is(body.home, body.front-page) .entry-content-container::before,
:is(body.home, body.front-page) .entry-content-container::after,
:is(body.home, body.front-page) .entry-content::before,
:is(body.home, body.front-page) .entry-content::after{
  content: none !important;
  display: none !important;
}

/* keep the content inside the card clean */
:is(body.home, body.front-page) .entry-content-container > .entry-content{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   11) DEFAULT PAGES + CATEGORY PAGES
   ========================================================= */

/* page/category header stays visible and transparent */
:is(body.page:not(.home):not(.front-page), body.category) .entry-header{
  display: block !important;
  text-align: left !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-top: 0 !important;
}

/* page/category titles */
:is(body.page:not(.home):not(.front-page), body.category)
:is(.entry-header .entry-title, .page-title){
  display: block !important;
  color: var(--dv-dark) !important;
  text-transform: lowercase !important;
  text-align: left !important;
  transform:
    translateX(var(--dv-page-title-left-nudge))
    translateY(var(--dv-page-title-top-nudge)) !important;
}

/* outer wrappers stay transparent */
:is(body.page:not(.home):not(.front-page), body.category)
:is(
  #intro-container,
  .intro-container,
  .intro,
  .intro-media,
  #wp-custom-header,
  .wp-custom-header,
  .custom-header,
  .custom-header-media,
  .custom-header-image,
  #content,
  .site-content,
  .site-content-inner,
  #primary,
  .content-area,
  .site-main,
  article.entry,
  .entry
){
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* actual visible page card */
:is(body.page:not(.home):not(.front-page), body.category) article.entry > .entry-content-container,
:is(body.page:not(.home):not(.front-page), body.category) .entry-content-container{
  display: block !important;
  position: relative !important;

  width: min(var(--dv-panel-max), 90vw) !important;
  max-width: var(--dv-panel-max) !important;
  margin: var(--dv-space-xs) auto 0 !important;
  padding: var(--dv-space-lg) !important;

  background: var(--dv-light) !important;
  background-color: var(--dv-light) !important;
  background-image: none !important;
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;

  border: 0 !important;
  border-radius: var(--dv-radius-panel) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  z-index: 2 !important;
}

/* keep the inside of the card clean */
:is(body.page:not(.home):not(.front-page), body.category)
.entry-content-container > .entry-content{
  background: #003 !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* no theme media/header layer on these pages */
:is(body.page:not(.home):not(.front-page), body.category)
:is(
  #wp-custom-header,
  .wp-custom-header,
  .custom-header,
  .custom-header-media,
  .custom-header-image,
  .intro,
  .intro-media
){
  display: none !important;
}

@media (max-width: 767px){
  :is(body.page:not(.home):not(.front-page), body.category) article.entry > .entry-content-container,
  :is(body.page:not(.home):not(.front-page), body.category) .entry-content-container{
    transform: translateY(var(--dv-default-panel-lift-mobile)) !important;
  }
}

/* =========================================================
   11b) DEFAULT PAGE FEATURE ROWS / RESOURCE COLUMNS
   ========================================================= */

.entry-content-container > .wp-block-columns,
.entry-content-container > .entry-content > .wp-block-columns{
  --dv-row-accent: var(--dv-accent-cool);
  --dv-row-border: rgba(0,102,102,0.22);

  gap: var(--dv-space-md) !important;
  background: rgba(255,255,255,0.10) !important;
  border: 1px solid var(--dv-row-border) !important;
  border-left: 4px solid var(--dv-row-accent) !important;
  box-shadow: var(--dv-shadow-1) !important;
  border-radius: var(--dv-radius-sm) !important;
  padding-left: var(--dv-space-md) !important;
  padding-right: var(--dv-space-md) !important;
  padding-top: var(--dv-space-sm) !important;
  padding-bottom: var(--dv-space-sm) !important;
  margin-bottom: var(--dv-space-md) !important;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease !important;
}


/* alternate only the actual wp-block-columns rows */
.entry-content-container > .wp-block-columns:nth-child(odd of .wp-block-columns),
.entry-content-container > .entry-content > .wp-block-columns:nth-child(odd of .wp-block-columns){
  --dv-row-accent: var(--dv-accent-cool);
  --dv-row-border: rgba(0,102,102,0.22);
}

.entry-content-container > .wp-block-columns:nth-child(even of .wp-block-columns),
.entry-content-container > .entry-content > .wp-block-columns:nth-child(even of .wp-block-columns){
  --dv-row-accent: var(--dv-accent-warmer);
  --dv-row-border: rgba(201,153,51,0.24);
}

.entry-content-container > .wp-block-columns:hover,
.entry-content-container > .entry-content > .wp-block-columns:hover{
  transform: translateY(-2px);
  box-shadow: var(--dv-shadow-2) !important;
}

.entry-content-container .wp-block-columns .wp-block-column{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* ONLY center media columns, not text */
.entry-content-container .wp-block-columns .wp-block-column:last-child:has(img),
.entry-content-container .wp-block-columns .wp-block-column:last-child:has(svg){
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--dv-space-xs) !important;
}

/* force text columns back to normal */
.entry-content-container .wp-block-columns .wp-block-column{
  align-items: flex-start !important;
  text-align: left !important;
}

/* headings inside these rows */
.entry-content-container .wp-block-columns .wp-block-heading{
  margin-top: var(--dv-space-sm) !important;
  margin-bottom: var(--dv-space-sm) !important;
}

/* paragraphs inside these rows */
.entry-content-container .wp-block-columns .wp-block-column p:last-child{
  margin-bottom: 0 !important;
}

/* generic media inside feature rows */
.entry-content-container .wp-block-columns .wp-block-image img,
.entry-content-container .wp-block-columns img{
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
}

/* cap media inside the right-hand column */
.entry-content-container .wp-block-columns .wp-block-column:last-child img{
  max-width: 72px !important;
  max-height: 72px !important;
  width: auto !important;
  height: auto !important;
  object-fit: cover !important;
}

.unified-archive-wrap .archive-content{
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  flex-grow: 1 !important;
  align-items: center !important;
  text-align: center !important;
  gap: 4px !important;
}

.unified-archive-wrap .archive-content .view-details-button{
  margin-top: var(--dv-space-xs);
}

.entry-content-container .wp-block-columns .wp-block-column:last-child svg{
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  display: block !important;
}

/* social link blocks inside feature rows */
.entry-content-container .wp-block-columns .wp-block-social-links{
  margin: 0 !important;
}

.entry-content-container .wp-block-columns .wp-block-social-link{
  transform: none !important;
}

.entry-content-container .wp-block-columns .wp-social-link svg{
  width: 28px !important;
  height: 28px !important;
}

.entry-content-container .wp-block-columns .wp-block-social-link-anchor{
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.entry-content-container .wp-block-columns .wp-block-column:last-child .wp-block-social-links{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--dv-space-xs) !important;
  margin: 0 !important;
}

.entry-content-container .wp-block-columns .wp-block-column:last-child .wp-block-social-link{
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

.entry-content-container .wp-block-columns .wp-block-column:last-child .wp-block-social-link-anchor{
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* inline resource links */
.resource-links p,
.resource-links-wrap p,
.card-links p,
.source-links-col p{
  margin: 0 0 10px 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.resource-links p:last-child,
.resource-links-wrap p:last-child,
.card-links p:last-child,
.source-links-col p:last-child{
  margin-bottom: 0 !important;
}

.resource-links .icon-inline{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  flex: 0 0 1em !important;
  line-height: 1 !important;
}

.entry-content-container .resource-links .icon-inline svg{
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  max-height: 1em !important;
  display: block !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.9 !important;
}

.entry-content-container{
  margin-top: var(--dv-space-md) !important;
}

.resource-links a{
  line-height: 1.3 !important;
}

.resource-links .icon-inline .fill-dot,
.resource-links .icon-inline .fill-white{
  stroke: none !important;
  fill: currentColor !important;
}


/* =========================================================
   12) SPIRAL SPOON RECIPE LAYOUT
   ========================================================= */

.recipe-layout{
  display: grid;
  gap: var(--dv-space-sm);
  max-width: var(--dv-meta-max);
  margin-top: var(--dv-space-md);
}

.recipe-meta-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--dv-space-xs);
  max-width: 100%;
  width: 100%;
}

.recipe-stat{
  background: rgba(201,153,51,0.08);
  border: 1px solid rgba(201,153,51,0.22);
  border-radius: var(--dv-radius-xs);
  padding: var(--dv-space-xs) var(--dv-space-sm);
  min-width: 0;
}

.recipe-stat-value{
  display: block;
  font-weight: 700;
  line-height: 1.25;
  color: var(--dv-accent-warm);
  overflow-wrap: anywhere;
  word-break: break-word;
}

.recipe-stat-label{
  display: block;
  font-size: 0.78rem;
  line-height: 1.1;
  text-transform: lowercase;
  color: var(--dv-accent-warm);
  opacity: 0.82;
  margin-bottom: var(--dv-space-xs);
}

.recipe-chip-row{
  display: flex;
  flex-wrap: wrap;
  gap: var(--dv-space-xs);
  max-width: var(--dv-meta-max);
}

.recipe-section{
  max-width: var(--dv-meta-max);
}

.recipe-section h3{
  margin: 0 0 var(--dv-space-xs) 0 !important;
  color: var(--dv-dark) !important;
  text-transform: lowercase;
}

.recipe-section h4{
  margin: 0 0 6px 0 !important;
  color: var(--dv-note) !important;
  font-size: 0.98rem;
  text-transform: lowercase;
}

.recipe-text{
  color: var(--dv-dark);
  white-space: pre-line;
}

.recipe-text p{
  margin: 0 0 var(--dv-space-xs) 0 !important;
  color: var(--dv-dark) !important;
}

.recipe-text p:last-child{
  margin-bottom: 0 !important;
}

.recipe-section-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dv-space-sm);
  max-width: 100%;
}


.recipe-section-grid .recipe-text p:last-child{
  margin-bottom: 0 !important;
}

@media (min-width: 980px){
  .recipe-meta-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* panels */
.recipe-section-grid .recipe-section,
.recipe-section-ingredients,
.recipe-section-method,
.recipe-section-sensitivities,
.recipe-section-ritual,
.recipe-section-actions,
.recipe-section-tags{
  --dv-recipe-accent: var(--dv-accent-cool);
  --dv-recipe-border: rgba(0,102,102,0.22);

  /* default tag colors */
  --dv-recipe-tag-text: var(--dv-accent-cool);
  --dv-recipe-tag-border: rgba(0,102,102,0.18);
  --dv-recipe-tag-bg: rgba(0,102,102,0.08);

  max-width: 100%;
  background: rgba(255,255,255,0.10);
  border: 1px solid var(--dv-recipe-border);
  border-left: 4px solid var(--dv-recipe-accent);
  box-shadow: var(--dv-shadow-1);
  border-radius: var(--dv-space-sm);
  padding: var(--dv-space-sm) var(--dv-space-md);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.recipe-section-grid .recipe-section:hover,
.recipe-section-ingredients:hover,
.recipe-section-method:hover,
.recipe-section-sensitivities:hover,
.recipe-section-ritual:hover,
.recipe-section-actions:hover,
.recipe-section-tags:hover{
  transform: translateY(-2px);
  box-shadow: var(--dv-shadow-2);
}

/* named TEAL panels -> WARM tags */
.recipe-section-ingredients,
.recipe-section-ritual,
.recipe-section-tags{
  --dv-recipe-accent: var(--dv-accent-cool);
  --dv-recipe-border: rgba(0,102,102,0.22);

  --dv-recipe-tag-text: var(--dv-accent-warm);
  --dv-recipe-tag-border: rgba(201,153,51,0.24);
  --dv-recipe-tag-bg: rgba(201,153,51,0.10);
}

/* named GOLD panels -> TEAL tags */
.recipe-section-method,
.recipe-section-sensitivities,
.recipe-section-actions{
  --dv-recipe-accent: var(--dv-accent-warm);
  --dv-recipe-border: rgba(201,153,51,0.24);

  --dv-recipe-tag-text: var(--dv-accent-cool);
  --dv-recipe-tag-border: rgba(0,102,102,0.18);
  --dv-recipe-tag-bg: rgba(0,102,102,0.08);
}

/* fallback only for generic unnamed recipe-section blocks */
.recipe-section-grid > .recipe-section:not(.recipe-section-ingredients):not(.recipe-section-method):not(.recipe-section-sensitivities):not(.recipe-section-ritual):not(.recipe-section-actions):not(.recipe-section-tags):nth-child(odd){
  --dv-recipe-accent: var(--dv-accent-cool);
  --dv-recipe-border: rgba(0,102,102,0.22);

  --dv-recipe-tag-text: var(--dv-accent-warm);
  --dv-recipe-tag-border: rgba(201,153,51,0.24);
  --dv-recipe-tag-bg: rgba(201,153,51,0.10);
}

.recipe-section-grid > .recipe-section:not(.recipe-section-ingredients):not(.recipe-section-method):not(.recipe-section-sensitivities):not(.recipe-section-ritual):not(.recipe-section-actions):not(.recipe-section-tags):nth-child(even){
  --dv-recipe-accent: var(--dv-accent-warm);
  --dv-recipe-border: rgba(201,153,51,0.24);

  --dv-recipe-tag-text: var(--dv-accent-cool);
  --dv-recipe-tag-border: rgba(0,102,102,0.18);
  --dv-recipe-tag-bg: rgba(0,102,102,0.08);
}

.recipe-actions{
  display: flex;
  flex-wrap: wrap;
  gap: var(--dv-space-xs);
  max-width: var(--dv-meta-max);
}

.recipe-tags{
  display: flex;
  flex-wrap: wrap;
  gap: var(--dv-space-xs);
  max-width: var(--dv-meta-max);
}

.recipe-tag:hover{
  filter: brightness(1.04);
  transform: translateY(-1px);
}

.recipe-layout,
.recipe-section,
.recipe-section-grid,
.recipe-tags,
.recipe-chip-row{
  min-width: 0;
  max-width: 100%;
}

.recipe-chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--dv-space-xs) var(--dv-space-sm);
  border-radius: 999px;
  background: var(--dv-recipe-tag-bg, rgba(0,102,102,0.10));
  border: 1px solid var(--dv-recipe-tag-border, rgba(0,102,102,0.18));
  color: var(--dv-recipe-tag-text, var(--dv-accent-cool));
  font-size: 0.92rem;
  line-height: 1.1;
  text-transform: lowercase;
}

.recipe-chip-soft{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--dv-space-xs) var(--dv-space-sm);
  border-radius: 999px;
  background: var(--dv-recipe-tag-bg, rgba(0,102,102,0.08));
  border: 1px solid var(--dv-recipe-tag-border, rgba(0,102,102,0.18));
  color: var(--dv-recipe-tag-text, var(--dv-accent-cool));
  font-size: 0.92rem;
  line-height: 1.1;
  text-transform: lowercase;
}

.recipe-tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding:  var(--dv-space-xs) var(--dv-space-sm);
  border-radius: 999px;
  background: var(--dv-recipe-tag-bg, rgba(0,102,102,0.08));
  border: 1px solid var(--dv-recipe-tag-border, rgba(0,102,102,0.18));
  color: var(--dv-recipe-tag-text, var(--dv-accent-cool)) !important;
  text-decoration: none !important;
  text-transform: lowercase;
  line-height: 1.1;
}

/* recipe back-link spacing fix */
.single-col-content .back-link{
  display: inline-block;
  margin-top: var(--dv-space-md) !important;
  margin-bottom: var(--dv-space-xs) !important;
}

.single-grid > .recipe-layout-full,
.single-grid > .recipe-back-wrap,
.single-grid > .affiliate-row{
  grid-column: 1 / -1;
}

.recipe-layout-full{
  max-width: 100%;
  margin-top:  var(--dv-space-xs);
}

.recipe-back-wrap{
  grid-column: 1 / -1;
}

.recipe-tag{
  gap: var(--dv-space-xs);
}

.recipe-tag.has-icon{
  padding-left:  var(--dv-space-xs);
  padding-right:  var(--dv-space-xs);
}

.recipe-tag-icon{
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: block;
  object-fit: contain;
}

.recipe-tag-label{
  line-height: 1;
}

.single-grid > .post-layout-full{
  grid-column: 1 / -1;
}

.post-layout-full{
  max-width: 100%;
  margin-top: 0;
}

.post-section{
  min-width: 0;
  max-width: 100%;
}

.post-body-content{
  max-width: min(760px, 100%);
  color: var(--dv-dark) !important;
}

.post-body-content > :first-child{
  margin-top: 0 !important;
}


/* =========================================================
   13) PARENT THEME PREVIOUS/NEXT NAV RESTYLE
   ========================================================= */

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) :is(nav.post-navigation, .navigation.post-navigation){
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: var(--dv-space-sm) auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-links{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--dv-space-sm) !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-links > div:only-child{
  grid-column: 1 / -1 !important;
}

@media (max-width: 700px){
  :is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-links{
    grid-template-columns: 1fr !important;
  }
}

/* kill the parent theme's square wrapper blocks */
:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-links > div{
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* actual card */
:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation :is(.nav-previous a, .nav-next a){
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 150px !important;
  height: 100% !important;
  padding: var(--dv-space-sm) !important;
  text-decoration: none !important;
  border-radius: var(--dv-radius-sm) !important;
  overflow: hidden !important;
  background: var(--dv-accent-cool) !important;
  background-color: var(--dv-accent-cool) !important;
  background-image: none !important;
  color: var(--dv-light) !important;
  box-shadow: var(--dv-shadow-soft) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
}



:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-previous a{
  border-left: 4px solid var(--dv-light) !important;
}

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-next{
  text-align: right !important;
}

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-next a{
  align-items: flex-end !important;
  border-right: 4px solid var(--dv-light) !important;
}

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation :is(.nav-previous a, .nav-next a),
:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation :is(.nav-previous a, .nav-next a) *{
  color: var(--dv-light) !important;
}

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation :is(.nav-previous a:hover, .nav-next a:hover){
  background: #099 !important;
  background-color: #099 !important;
  background-image: none !important;
}

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-subtitle{
  display: block !important;
  margin: 0 0 var(--dv-space-xs) 0 !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.04em !important;
  text-transform: lowercase !important;
  opacity: 0.9 !important;
  color: rgba(250,250,247,0.88) !important;
}

:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation .nav-title{
  display: block !important;
  font-size: clamp(1.35rem, 2vw, 1.9rem) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: var(--dv-light) !important;
}

/* kill theme arrows/overlays */
:is(body.single-post, body.single-wisdom, body.single-reading-nook, body.single-oracle-deck, body.single-sacred-tool, body.single-recipe, body.single-ritual) .post-navigation :is(.nav-previous a::before, .nav-next a::before, .nav-previous a::after, .nav-next a::after){
  background: none !important;
  opacity: 1 !important;
}

.single-grid > .ritual-layout-full{
  grid-column: 1 / -1;
}

.ritual-layout-full{
  max-width: 100%;
  margin-top: 0;
}

.ritual-section{
  min-width: 0;
  max-width: 100%;
}

.ritual-body-content{
  max-width: 100%;
  color: var(--dv-dark) !important;
}

.ritual-body-content > :first-child{
  margin-top: 0 !important;
}

.single-grid > .wisdom-layout-full{
  grid-column: 1 / -1;
}

.wisdom-layout-full{
  max-width: 100%;
  margin-top: 0;
}

.wisdom-section{
  min-width: 0;
  max-width: 100%;
}

.wisdom-quick-words{
  display: block;
  width: 100%;
  max-width: 100%;
}

/* =========================================================
   14) youtube embed
   ========================================================= */

figure.wp-block-embed.is-provider-youtube {
  max-width: 760px !important;
  margin: 1.5rem auto !important;
  padding: 10px !important;
  background: #003 !important;
  border: 1px solid rgba(250, 250, 247, 0.16) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18) !important;
  overflow: hidden !important;
}

figure.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

/* force all youtube embeds to 16:9 no matter what Gutenberg adds */
figure.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper::before {
  content: "" !important;
  display: block !important;
  padding-top: 56.25% !important;
}

figure.wp-block-embed.is-provider-youtube iframe,
figure.wp-block-embed.is-provider-youtube object,
figure.wp-block-embed.is-provider-youtube embed {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
}

/* inline resource links */
.resource-links p,
.resource-links-wrap p,
.card-links p,
.source-links-col p{
  margin: 0 0 16px 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}

.resource-links p:last-child,
.resource-links-wrap p:last-child,
.card-links p:last-child,
.source-links-col p:last-child{
  margin-bottom: 0 !important;
}

.resource-links a,
.resource-links-wrap a,
.card-links a,
.source-links-col a{
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
  padding: 0 10px;
}

.resource-links .icon-inline,
.resource-links-wrap .icon-inline,
.card-links .icon-inline,
.source-links-col .icon-inline{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  flex: 0 0 1em !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.entry-content-container .resource-links .icon-inline svg,
.entry-content-container .resource-links-wrap .icon-inline svg,
.entry-content-container .card-links .icon-inline svg,
.entry-content-container .source-links-col .icon-inline svg{
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  max-height: 1em !important;
  display: block !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.9 !important;
}

.resource-links .icon-inline .fill-dot,
.resource-links .icon-inline .fill-white{
  stroke: none !important;
  fill: currentColor !important;
}

/* =========================================================
   FINAL OVERRIDE: resource links row layout
   ========================================================= */

.resource-links,
.resource-links-wrap,
.card-links,
.source-links-col{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.resource-links p,
.resource-links-wrap p,
.card-links p,
.source-links-col p{
  margin: 0 !important;
  display: contents !important;
}

.resource-links a,
.resource-links-wrap a,
.card-links a,
.source-links-col a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
  padding: 0 10px !important;
  white-space: nowrap !important;
}

.resource-links .icon-inline,
.resource-links-wrap .icon-inline,
.card-links .icon-inline,
.source-links-col .icon-inline{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1em !important;
  height: 1em !important;
  flex: 0 0 1em !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.entry-content-container .resource-links .icon-inline svg,
.entry-content-container .resource-links-wrap .icon-inline svg,
.entry-content-container .card-links .icon-inline svg,
.entry-content-container .source-links-col .icon-inline svg{
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  max-height: 1em !important;
  display: block !important;
  stroke: currentColor !important;
  fill: none !important;
  stroke-width: 1.9 !important;
}

.resource-links .icon-inline .fill-dot,
.resource-links .icon-inline .fill-white{
  stroke: none !important;
  fill: currentColor !important;
}


/* =========================================================
   FINAL OVERRIDE: single pages use mentors-style outer shell
   ========================================================= */

/* single pages: strip the parent theme white box */
body.single :is(
  #content,
  .site-content,
  .site-content-inner,
  #primary,
  .content-area,
  .site-main,
  article.entry,
  .entry,
  .entry-content-container
){
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* single pages: kill the debug purple layer inside unified singles */
body.single .unified-single .wp-block-group__inner-container{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* single pages: make the unified single the visible white card */
body.single .unified-single{
  display: block !important;
  position: relative !important;
  width: min(var(--dv-panel-max), 90vw) !important;
  max-width: var(--dv-panel-max) !important;
  margin: var(--dv-space-xs) auto 0 !important;
  padding: var(--dv-space-lg) !important;
  background: var(--dv-light) !important;
  background-color: var(--dv-light) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: var(--dv-radius-panel) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* single pages: keep the actual content area narrower inside the white card */
body.single .single-grid{
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  gap: var(--dv-space-lg) !important;
  align-items: start !important;
}

@media (min-width: 860px){
  body.single .single-grid{
    grid-template-columns: 320px minmax(0, 1fr) !important;
  }
}

body.single .single-col-media,
body.single .single-col-content{
  min-width: 0 !important;
  max-width: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

body.single .single-col-content{
  align-self: start !important;
  text-align: left !important;
  padding: 0 !important;
}


/* =========================================================
   RECIPE INGREDIENT TABLE
   ========================================================= */
.recipe-ingredients-table-wrap{
  width: 100%;
  overflow-x: auto;
}

.recipe-ingredients-table{
  width: 100%;
  border-collapse: collapse;
  background: rgba(0, 0, 51, 0.55);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--dv-radius-sm);
  overflow: hidden;
}

.recipe-ingredients-table th,
.recipe-ingredients-table td{
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.recipe-ingredients-table th{
  color: var(--dv-light);
  font-weight: 600;
  text-transform: lowercase;
  background: rgba(0, 0, 51, 0.72);
}

.recipe-ingredients-table td{
  color: var(--dv-light);
}

.recipe-ingredients-table tbody tr:last-child td{
  border-bottom: 0;
}

.recipe-ingredients-us,
.recipe-ingredients-metric{
  width: 22%;
  white-space: nowrap;
}

.recipe-ingredients-name{
  width: 56%;
}

@media (max-width: 680px){
  .recipe-ingredients-table th,
  .recipe-ingredients-table td{
    padding: 10px 11px;
    font-size: 0.95rem;
  }

  .recipe-ingredients-us,
  .recipe-ingredients-metric{
    white-space: normal;
  }
}

/* =========================================================
   force mobile nav back to top (override bottom bar behavior)
   ========================================================= */

@media (max-width: 767px){

  /* kill any bottom-docked nav behavior */
  .main-navigation,
  header#masthead .main-navigation{
    position: static !important;
    bottom: auto !important;
    top: auto !important;
    width: auto !important;
  }

  /* force header to behave like a normal top bar */
  header#masthead{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
  }

  /* make sure branding stays left */
  header#masthead .site-branding{
    flex: 1 1 auto !important;
  }

  /* force nav (pancake area) to the right */
  header#masthead .main-navigation{
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }

  /* make absolutely sure the toggle sits top-right */
  header#masthead .menu-toggle,
  header#masthead #menu-toggle{
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    right: auto !important;
    left: auto !important;
    margin-left: auto !important;
  }

  /* this is the part many themes use to push nav to bottom */
  body{
    padding-bottom: 0 !important;
  }
}

/* =========================================================
   unified previous/next navigation for all ACF single types
   fixes books, oracle decks, sacred tools, recipes, rituals, wisdom
   ========================================================= */

.single-grid > .unified-content-navigation{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: var(--dv-space-sm) auto 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.unified-content-navigation .nav-links{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--dv-space-sm) !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.unified-content-navigation .nav-links > div{
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.unified-content-navigation :is(.nav-previous a, .nav-next a){
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 150px !important;
  height: 100% !important;
  padding: var(--dv-space-sm) !important;
  text-decoration: none !important;
  border-radius: var(--dv-radius-sm) !important;
  overflow: hidden !important;
  background: var(--dv-accent-cool) !important;
  background-color: var(--dv-accent-cool) !important;
  background-image: none !important;
  color: var(--dv-light) !important;
  box-shadow: var(--dv-shadow-soft) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
}

.unified-content-navigation .nav-previous a{
  border-left: 4px solid var(--dv-light) !important;
}

.unified-content-navigation .nav-next{
  text-align: right !important;
}

.unified-content-navigation .nav-next a{
  align-items: flex-end !important;
  border-right: 4px solid var(--dv-light) !important;
}

.unified-content-navigation :is(.nav-previous a, .nav-next a),
.unified-content-navigation :is(.nav-previous a, .nav-next a) *{
  color: var(--dv-light) !important;
}

.unified-content-navigation :is(.nav-previous a:hover, .nav-next a:hover){
  background: #099 !important;
  background-color: #099 !important;
  background-image: none !important;
}

.unified-content-navigation .nav-subtitle{
  display: block !important;
  margin: 0 0 var(--dv-space-xs) 0 !important;
  font-size: 0.82rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.04em !important;
  text-transform: lowercase !important;
  opacity: 0.9 !important;
  color: rgba(250,250,247,0.88) !important;
}

.unified-content-navigation .nav-title{
  display: block !important;
  font-size: clamp(1.35rem, 2vw, 1.9rem) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  color: var(--dv-light) !important;
}

.unified-content-navigation :is(.nav-previous a::before, .nav-next a::before, .nav-previous a::after, .nav-next a::after){
  background: none !important;
  opacity: 1 !important;
}

@media (max-width: 700px){
  .unified-content-navigation .nav-links{
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   final override — wider single pages + cleaner recipe rendering
   ========================================================= */

:root{
  --dv-single-shell-max: 1010px;
  --dv-single-content-max: 870px;
}

body.single .unified-single{
  width: min(var(--dv-single-shell-max), 92vw) !important;
  max-width: var(--dv-single-shell-max) !important;
  padding: clamp(28px, 4vw, 48px) !important;
  overflow: visible !important;
}

body.single .single-grid{
  width: min(var(--dv-single-content-max), 100%) !important;
  max-width: var(--dv-single-content-max) !important;
  gap: var(--dv-space-lg) !important;
}

@media (min-width: 860px){
  body.single .single-grid{
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 680px){
  body.single .unified-single{
    width: min(100%, 94vw) !important;
    padding: var(--dv-space-sm) !important;
  }
}

body.single .recipe-layout,
body.single .recipe-layout-full,
body.single .recipe-section,
body.single .recipe-section-grid,
body.single .ritual-layout-full,
body.single .wisdom-layout-full,
body.single .post-layout-full,
body.single .affiliate-row,
body.single .unified-content-navigation,
body.single .recipe-back-wrap{
  width: 100% !important;
  max-width: 100% !important;
}

body.single .recipe-layout-intro{
  max-width: 100% !important;
}

body.single .recipe-meta-grid{
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  max-width: 100% !important;
}

body.single .recipe-stat{
  padding: var(--dv-space-xs) var(--dv-space-sm) !important;
}

body.single .recipe-stat-value{
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* ingredient table: no more skinny, sideways-feeling table */
body.single .recipe-ingredients-table-wrap{
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: visible !important;
}

body.single .recipe-ingredients-table{
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.single .recipe-ingredients-table th,
body.single .recipe-ingredients-table td{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.35 !important;
}

body.single .recipe-ingredients-us{
  width: 22% !important;
}

body.single .recipe-ingredients-name{
  width: 48% !important;
}

body.single .recipe-ingredients-metric{
  width: 30% !important;
}

.recipe-method-list{
  margin: 0 !important;
  padding-left: 1.35rem !important;
  color: var(--dv-dark) !important;
}

.recipe-method-list li{
  margin: 0 0 var(--dv-space-xs) 0 !important;
  padding-left: 0.15rem !important;
  line-height: 1.65 !important;
  color: var(--dv-dark) !important;
}

.recipe-method-list li:last-child{
  margin-bottom: 0 !important;
}

.recipe-method-note{
  margin-top: var(--dv-space-sm) !important;
  padding-top: var(--dv-space-xs) !important;
  border-top: 1px solid rgba(102,51,0,0.18) !important;
}

.recipe-method-note h4{
  margin: 0 0 var(--dv-space-xs) 0 !important;
}

@media (max-width: 620px){
  body.single .recipe-ingredients-table,
  body.single .recipe-ingredients-table thead,
  body.single .recipe-ingredients-table tbody,
  body.single .recipe-ingredients-table tr,
  body.single .recipe-ingredients-table th,
  body.single .recipe-ingredients-table td{
    display: block !important;
    width: 100% !important;
  }

  body.single .recipe-ingredients-table thead{
    display: none !important;
  }

  body.single .recipe-ingredients-table tr{
    border-bottom: 1px solid rgba(255,255,255,0.14) !important;
    padding: 10px 0 !important;
  }

  body.single .recipe-ingredients-table tr:last-child{
    border-bottom: 0 !important;
  }

  body.single .recipe-ingredients-table td{
    border-bottom: 0 !important;
    padding: 4px 12px !important;
  }

  body.single .recipe-ingredients-us::before{
    content: "us: ";
    font-weight: 700;
  }

  body.single .recipe-ingredients-name::before{
    content: "ingredient: ";
    font-weight: 700;
  }

  body.single .recipe-ingredients-metric::before{
    content: "metric: ";
    font-weight: 700;
  }
}


/* =========================================================
   final override — recipe ingredient table: centered 20/60/20
   ========================================================= */

body.single .recipe-ingredients-table-wrap{
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: visible !important;
}

body.single .recipe-ingredients-table{
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  background: var(--dv-light) !important;
  border: 1px solid rgba(0, 102, 102, 0.28) !important;
  border-radius: var(--dv-radius-sm) !important;
}

body.single .recipe-ingredients-table col.recipe-col-us,
body.single .recipe-ingredients-table th:nth-child(1),
body.single .recipe-ingredients-table td:nth-child(1),
body.single .recipe-ingredients-us{
  width: 20% !important;
}

body.single .recipe-ingredients-table col.recipe-col-ingredient,
body.single .recipe-ingredients-table th:nth-child(2),
body.single .recipe-ingredients-table td:nth-child(2),
body.single .recipe-ingredients-name{
  width: 60% !important;
}

body.single .recipe-ingredients-table col.recipe-col-metric,
body.single .recipe-ingredients-table th:nth-child(3),
body.single .recipe-ingredients-table td:nth-child(3),
body.single .recipe-ingredients-metric{
  width: 20% !important;
}

body.single .recipe-ingredients-table th,
body.single .recipe-ingredients-table td{
  text-align: center !important;
  vertical-align: middle !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
  padding: 13px 14px !important;
  line-height: 1.35 !important;
  color: var(--dv-dark) !important;
  border-bottom: 1px solid rgba(0, 0, 51, 0.12) !important;
}

body.single .recipe-ingredients-table th{
  background: rgba(0, 102, 102, 0.10) !important;
  color: var(--dv-dark) !important;
  font-weight: 700 !important;
  text-transform: lowercase !important;
}

body.single .recipe-ingredients-table td{
  background: rgba(250, 250, 247, 0.96) !important;
}

body.single .recipe-ingredients-table tbody tr:nth-child(even) td{
  background: rgba(0, 102, 102, 0.045) !important;
}

body.single .recipe-ingredients-table th:not(:last-child),
body.single .recipe-ingredients-table td:not(:last-child){
  border-right: 1px solid rgba(0, 0, 51, 0.10) !important;
}

body.single .recipe-ingredients-table tbody tr:last-child td{
  border-bottom: 0 !important;
}

@media (max-width: 620px){
  body.single .recipe-ingredients-table,
  body.single .recipe-ingredients-table thead,
  body.single .recipe-ingredients-table tbody,
  body.single .recipe-ingredients-table tr,
  body.single .recipe-ingredients-table th,
  body.single .recipe-ingredients-table td{
    display: block !important;
    width: 100% !important;
  }

  body.single .recipe-ingredients-table thead,
  body.single .recipe-ingredients-table colgroup{
    display: none !important;
  }

  body.single .recipe-ingredients-table tr{
    border-bottom: 1px solid rgba(0, 0, 51, 0.14) !important;
    padding: 10px 0 !important;
  }

  body.single .recipe-ingredients-table tr:last-child{
    border-bottom: 0 !important;
  }

  body.single .recipe-ingredients-table td{
    border-right: 0 !important;
    border-bottom: 0 !important;
    padding: 5px 12px !important;
    text-align: center !important;
  }

  body.single .recipe-ingredients-us::before,
  body.single .recipe-ingredients-name::before,
  body.single .recipe-ingredients-metric::before{
    color: var(--dv-accent-cool) !important;
    font-weight: 700 !important;
  }
}
