:root{
  --dbs-cream:#F4F0E7;
  --dbs-warm:#FBF9F4;
  --dbs-olive-dark:#2F3A2A;
  --dbs-olive:#6F7755;
  --dbs-sage:#A8AD8C;
  --dbs-border:#DDD6CA;
  --dbs-muted:#6B6B63;
}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dbs-olive-dark);background:var(--dbs-cream);line-height:1.65}
h1,h2,h3,h4,h5,h6,.wp-block-post-title,.wp-block-site-title{font-family:"Cormorant Garamond",Georgia,serif;color:var(--dbs-olive-dark);letter-spacing:-.015em;line-height:1.05}
h1{font-size:clamp(2.7rem,6vw,5.4rem);font-weight:600}
h2{font-size:clamp(2rem,4vw,3.4rem);font-weight:600}
h3{font-size:clamp(1.35rem,2vw,1.85rem);font-weight:600}
p,li,a,button,input,textarea{font-family:"Inter",system-ui,sans-serif}
a{color:var(--dbs-olive-dark)}
.wp-block-button__link,.dbs-button{background:var(--dbs-olive)!important;color:#fff!important;border-radius:10px!important;padding:.85rem 1.25rem!important;text-decoration:none!important;font-weight:500;display:inline-block}
.dbs-lead{font-size:1.25rem;max-width:46rem}
.dbs-category-section{margin:2.4rem 0 2.8rem}
.dbs-category-section h2{margin-bottom:1rem}
.dbs-category-bar{display:flex;flex-wrap:wrap;gap:.65rem .75rem}
.dbs-category-bar a{border:1px solid var(--dbs-border);background:var(--dbs-warm);padding:.65rem .95rem;border-radius:999px;text-decoration:none;font-size:.95rem;transition:.2s ease}
.dbs-category-bar a:hover{background:var(--dbs-olive);color:#fff;border-color:var(--dbs-olive)}
.dbs-recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.4rem;margin-top:1.4rem}
.dbs-recipe-card{min-width:0}
.dbs-card-image{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:var(--dbs-warm)}
.dbs-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.dbs-card-image:hover img{transform:scale(1.02)}
.dbs-card-placeholder{height:100%;display:grid;place-items:center;color:var(--dbs-muted)}
.dbs-recipe-card h3{margin:.9rem 0 .45rem}
.dbs-recipe-card h3 a{text-decoration:none}
.dbs-recipe-card p{color:var(--dbs-muted);font-size:.95rem;margin:.4rem 0 .7rem}
.dbs-text-link{text-underline-offset:4px;font-weight:500}
.dbs-pagination{margin:3rem 0 1rem}
.dbs-pagination ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}
.dbs-pagination a,.dbs-pagination span{display:inline-block;padding:.5rem .8rem;border:1px solid var(--dbs-border);border-radius:8px;text-decoration:none;background:var(--dbs-warm)}
.dbs-pagination .current{background:var(--dbs-olive);color:#fff;border-color:var(--dbs-olive)}
.dbs-cta{margin:1.5rem 0 2.5rem}
/* Existing Dinner by Sophie theme slots */
.dbs-photo-slot,.dbs-decor-slot,.dbs-recipe-photo{overflow:hidden;border-radius:18px}
.dbs-photo-slot img,.dbs-decor-slot img,.dbs-recipe-photo img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit!important}
.dbs-sophie-slot,.dbs-sophie-slot .wp-block-image,.dbs-sophie-slot img{border-radius:999px!important;overflow:hidden}
/* Compact query cards if any old Query Loop remains */
.wp-block-post-template.is-layout-grid{gap:1.5rem!important}
.wp-block-post-template .wp-block-post-featured-image{overflow:hidden;border-radius:14px;margin-bottom:.75rem}
.wp-block-post-template .wp-block-post-featured-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
.wp-block-post-template .wp-block-post-title{font-size:1.45rem!important;line-height:1.08!important}
.wp-block-post-template .wp-block-post-date{display:none!important}
@media(max-width:900px){
  .dbs-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  body{font-size:16px}
  h1{font-size:clamp(2.35rem,11vw,3.4rem)}
  h2{font-size:clamp(1.8rem,8vw,2.5rem)}
  .dbs-recipe-grid{grid-template-columns:1fr;gap:1.6rem}
  .dbs-category-bar{gap:.5rem}
  .dbs-category-bar a{padding:.55rem .8rem;font-size:.9rem}
  .wp-block-navigation__container{gap:.8rem!important;flex-wrap:wrap!important}
  .wp-block-columns{gap:1.25rem!important}
}

/* v1.1: homepage category row */
.dbsm-home-category-link{color:inherit!important;text-decoration:none!important}
.dbsm-home-category-link:hover{text-decoration:underline!important;text-underline-offset:4px}
@media(min-width:782px){
  .dbs-categories .wp-block-columns{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:1rem!important;
    align-items:start!important;
  }
  .dbs-categories .wp-block-column{
    min-width:0!important;
    margin:0!important;
    flex-basis:auto!important;
  }
}
@media(max-width:781px){
  .dbs-categories .wp-block-columns{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1.35rem .75rem!important;
  }
  .dbs-categories .wp-block-column{margin:0!important;min-width:0!important}
}
@media(max-width:430px){
  .dbs-categories .wp-block-columns{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v1.2 — card polish + responsive pass */
:root{
  --dbs-card-gap-x:1.5rem;
  --dbs-card-gap-y:2.8rem;
}

/* Give catalog and legacy query cards the same visual language. */
.dbs-recipe-grid{
  gap:var(--dbs-card-gap-y) var(--dbs-card-gap-x);
  align-items:stretch;
}
.dbs-recipe-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.dbs-recipe-card .dbs-card-image{
  width:100%;
  aspect-ratio:4/3;
  box-shadow:0 1px 0 rgba(47,58,42,.03);
}
.dbs-recipe-card h3{
  font-size:clamp(1.32rem,1.65vw,1.72rem)!important;
  line-height:1.08!important;
  margin:.85rem 0 .45rem!important;
}
.dbs-recipe-card h3 a{
  color:var(--dbs-olive-dark)!important;
  text-decoration:none!important;
}
.dbs-recipe-card h3 a:hover{text-decoration:underline!important;text-underline-offset:4px}
.dbs-recipe-card p{
  font-size:.94rem;
  line-height:1.55;
  margin:.15rem 0 .75rem;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dbs-recipe-card .dbs-text-link{
  margin-top:auto;
  padding-top:.15rem;
}

/* Existing Latest Recipes query on the homepage. */
.wp-block-query .wp-block-post-template.is-layout-grid{
  align-items:stretch!important;
  column-gap:1.5rem!important;
  row-gap:2.4rem!important;
}
.wp-block-query .wp-block-post-template > li{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.wp-block-query .wp-block-post-featured-image{
  margin:0 0 .8rem!important;
  border-radius:16px!important;
  overflow:hidden!important;
  aspect-ratio:4/3!important;
}
.wp-block-query .wp-block-post-featured-image a,
.wp-block-query .wp-block-post-featured-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.wp-block-query .wp-block-post-featured-image img{object-fit:cover!important}
.wp-block-query .wp-block-post-title{
  font-size:clamp(1.25rem,1.55vw,1.6rem)!important;
  line-height:1.08!important;
  margin:.15rem 0!important;
}
.wp-block-query .wp-block-post-title a{text-decoration:none!important;color:var(--dbs-olive-dark)!important}

/* Category chips stay elegant and compact. */
.dbs-category-section{margin:2.2rem 0 2.7rem}
.dbs-category-section h2{font-size:clamp(2rem,3vw,2.8rem);margin:0 0 .85rem}
.dbs-category-bar{gap:.55rem .6rem}
.dbs-category-bar a{padding:.52rem .8rem;font-size:.88rem}

/* Keep the main content comfortably readable on large screens. */
body .wp-site-blocks > main,
body main.wp-block-group{
  overflow-x:clip;
}

@media (max-width:900px){
  .dbs-recipe-grid{gap:2.1rem 1rem}
  .wp-block-query .wp-block-post-template.is-layout-grid{column-gap:1rem!important;row-gap:2rem!important}
}

@media (max-width:781px){
  /* Header becomes compact instead of wrapping into an awkward tall band. */
  header .wp-block-group,
  .wp-block-template-part header .wp-block-group{
    gap:.85rem!important;
  }
  .wp-block-navigation__container{
    gap:.55rem .85rem!important;
  }

  /* Homepage category section: 2 columns is easier to scan on phones/tablets. */
  .dbs-categories .wp-block-columns{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1.1rem .8rem!important;
  }
  .dbs-categories .dbs-icon{margin-inline:auto!important}

  /* Legacy Latest Recipes becomes 2 columns on tablet. */
  .wp-block-query .wp-block-post-template.is-layout-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:640px){
  body{line-height:1.58}
  .dbs-recipe-grid{grid-template-columns:1fr!important;gap:1.8rem!important}
  .dbs-recipe-card h3{font-size:1.55rem!important}
  .dbs-recipe-card p{font-size:.96rem;-webkit-line-clamp:3}

  .wp-block-query .wp-block-post-template.is-layout-grid{
    grid-template-columns:1fr!important;
    row-gap:1.8rem!important;
  }
  .wp-block-query .wp-block-post-title{font-size:1.5rem!important}

  .dbs-category-section{margin:1.8rem 0 2.2rem}
  .dbs-category-section h2{font-size:2rem}
  .dbs-category-bar{gap:.45rem}
  .dbs-category-bar a{padding:.48rem .72rem;font-size:.86rem}

  /* Prevent the homepage hero from feeling oversized on mobile. */
  .dbs-photo-slot{min-height:0!important}
  .dbs-photo-slot img{max-height:62vh!important;object-fit:cover!important}

  /* About row stacks cleanly and keeps the portrait restrained. */
  .dbs-sophie-slot,
  .dbs-sophie-slot .wp-block-image,
  .dbs-sophie-slot img{
    width:150px!important;
    height:150px!important;
  }
}

@media (max-width:430px){
  .dbs-categories .wp-block-columns{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .wp-block-navigation__container{font-size:.95rem!important}
}

/* v1.3 — Recipes catalog alignment pass */
.dbs-recipe-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2.6rem 1.6rem;
  align-items:stretch;
}
.dbs-recipe-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-width:0;
  padding-bottom:.15rem;
}
.dbs-recipe-card .dbs-card-image{
  aspect-ratio:4/3;
  border-radius:15px;
}
.dbs-recipe-card h3{
  font-size:clamp(1.18rem,1.45vw,1.48rem)!important;
  line-height:1.08!important;
  margin:.8rem 0 .45rem!important;
  min-height:3.24em;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dbs-recipe-card p{
  font-size:.92rem!important;
  line-height:1.5!important;
  margin:.1rem 0 .8rem!important;
  min-height:4.5em;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-width:31ch;
}
.dbs-recipe-card .dbs-text-link{
  margin-top:auto!important;
  padding-top:.25rem;
  display:inline-block;
  width:max-content;
}

/* Make the catalog feel intentionally aligned even when the last row is incomplete. */
.dbs-recipe-grid > .dbs-recipe-card{align-self:stretch}

@media(max-width:900px){
  .dbs-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem 1.1rem}
  .dbs-recipe-card h3{min-height:0;-webkit-line-clamp:3}
  .dbs-recipe-card p{min-height:0;max-width:none}
}
@media(max-width:640px){
  .dbs-recipe-grid{grid-template-columns:1fr!important;gap:1.9rem!important}
  .dbs-recipe-card h3{font-size:1.45rem!important;min-height:0}
  .dbs-recipe-card p{font-size:.95rem!important;min-height:0;max-width:none}
  .dbs-recipe-card .dbs-card-image{aspect-ratio:4/3}
}

/* v1.4 — About Sophie editorial page */
.dbs-about-page{max-width:1120px;margin:0 auto;padding:3.5rem 0 4.5rem;color:var(--dbs-olive-dark)}
.dbs-about-page p{font-family:'Inter',sans-serif}
.dbs-about-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:1rem 0 4.5rem;border-bottom:1px solid var(--dbs-border)}
.dbs-eyebrow{margin:0 0 .8rem!important;font-size:.76rem!important;line-height:1.2!important;font-weight:600!important;letter-spacing:.16em!important;color:var(--dbs-olive)!important}
.dbs-about-copy h1{font-size:clamp(3.5rem,7vw,6.6rem)!important;line-height:.9!important;margin:.1rem 0 1.7rem!important;letter-spacing:-.025em}
.dbs-about-intro{font-family:'Cormorant Garamond',serif!important;font-size:clamp(1.7rem,3.1vw,2.55rem)!important;line-height:1.15!important;max-width:22ch;margin:0 0 1.7rem!important;color:var(--dbs-olive-dark)!important}
.dbs-about-body{max-width:61ch}
.dbs-about-body p{font-size:1rem;line-height:1.72;color:var(--dbs-muted);margin:0 0 1rem}
.dbs-about-portrait-wrap{position:relative;align-self:center}
.dbs-about-portrait{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 22px 22px;background:var(--dbs-warm);border:1px solid var(--dbs-border)}
.dbs-about-portrait-placeholder{background:linear-gradient(145deg,var(--dbs-warm),var(--dbs-cream))}
.dbs-about-note{font-family:'Cormorant Garamond',serif!important;font-style:italic;font-size:1.25rem!important;line-height:1.25!important;text-align:center;margin:1rem 0 0!important;color:var(--dbs-olive)!important}
.dbs-about-story{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:4rem 0;border-bottom:1px solid var(--dbs-border)}
.dbs-about-story p{font-family:'Cormorant Garamond',serif!important;font-size:clamp(1.55rem,2.5vw,2.15rem)!important;line-height:1.25!important;margin:0!important;color:var(--dbs-olive-dark)!important}
.dbs-about-find{padding:4rem 0}
.dbs-about-pill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.dbs-about-pill-grid>div{min-height:150px;border:1px solid var(--dbs-border);border-radius:18px;background:var(--dbs-warm);padding:1.3rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem}
.dbs-about-pill-grid span{font-family:'Inter',sans-serif;font-size:.74rem;letter-spacing:.1em;color:var(--dbs-sage)}
.dbs-about-pill-grid strong{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.5rem;line-height:1.08;color:var(--dbs-olive-dark)}
.dbs-about-closing{background:var(--dbs-olive-dark);border-radius:22px;padding:clamp(2rem,5vw,4rem);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.dbs-about-signoff{font-family:'Cormorant Garamond',serif!important;font-size:clamp(2rem,4vw,3.4rem)!important;line-height:1.04!important;color:var(--dbs-warm)!important;margin:0!important;max-width:19ch}
.dbs-about-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
.dbs-about-actions .dbs-button{margin:0;border-color:var(--dbs-warm);background:var(--dbs-warm);color:var(--dbs-olive-dark)}
.dbs-about-actions .dbs-button:hover{background:#fff;border-color:#fff}
.dbs-about-actions .dbs-button-quiet{background:transparent;color:var(--dbs-warm)}
.dbs-about-actions .dbs-button-quiet:hover{background:rgba(255,255,255,.09);color:#fff;border-color:#fff}

@media(max-width:900px){
  .dbs-about-page{padding-top:2rem}
  .dbs-about-hero{grid-template-columns:1fr .65fr;gap:2.5rem}
  .dbs-about-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .dbs-about-page{padding:1.25rem 0 3rem}
  .dbs-about-hero{grid-template-columns:1fr;gap:2rem;padding-bottom:2.8rem}
  .dbs-about-copy h1{font-size:3.5rem!important}
  .dbs-about-portrait-wrap{max-width:310px;margin:0 auto}
  .dbs-about-story{grid-template-columns:1fr;gap:1.4rem;padding:2.8rem 0}
  .dbs-about-find{padding:2.8rem 0}
  .dbs-about-pill-grid{grid-template-columns:1fr 1fr;gap:.7rem}
  .dbs-about-pill-grid>div{min-height:125px;padding:1rem}
  .dbs-about-pill-grid strong{font-size:1.25rem}
  .dbs-about-closing{align-items:flex-start;flex-direction:column;border-radius:18px;padding:2rem 1.35rem}
  .dbs-about-actions{justify-content:flex-start;width:100%}
}
@media(max-width:430px){
  .dbs-about-pill-grid{grid-template-columns:1fr}
  .dbs-about-pill-grid>div{min-height:105px}
  .dbs-about-actions{flex-direction:column}
  .dbs-about-actions .dbs-button{text-align:center;width:100%;box-sizing:border-box}
}

/* v1.5 — YouTube page */
.dbs-youtube-page{max-width:1120px;margin:0 auto;padding:3.5rem 0 4.5rem;color:var(--dbs-olive-dark)}
.dbs-youtube-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:clamp(2.5rem,7vw,7rem);align-items:center;padding:1rem 0 4.5rem;border-bottom:1px solid var(--dbs-border)}
.dbs-youtube-copy h1{font-size:clamp(3.5rem,7vw,6.4rem)!important;line-height:.92!important;margin:.1rem 0 1.65rem!important;letter-spacing:-.025em;max-width:10ch}
.dbs-youtube-intro{font-family:'Cormorant Garamond',serif!important;font-size:clamp(1.7rem,3vw,2.5rem)!important;line-height:1.15!important;max-width:24ch;margin:0 0 1.5rem!important;color:var(--dbs-olive-dark)!important}
.dbs-youtube-body{max-width:62ch;color:var(--dbs-muted);font-size:1rem;line-height:1.72;margin:0 0 1.7rem!important}
.dbs-youtube-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.dbs-youtube-text-link{font-weight:500;text-underline-offset:5px}
.dbs-youtube-mark{min-height:410px;border:1px solid var(--dbs-border);border-radius:999px 999px 22px 22px;background:var(--dbs-warm);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2.5rem 2rem;box-sizing:border-box}
.dbs-youtube-play{width:96px;height:96px;border-radius:999px;border:1px solid var(--dbs-sage);display:grid;place-items:center;margin-bottom:2rem;background:var(--dbs-cream)}
.dbs-youtube-play span{display:block;width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:23px solid var(--dbs-olive);margin-left:6px}
.dbs-youtube-mark p{font-family:'Cormorant Garamond',serif!important;font-size:1.65rem!important;line-height:1.2!important;color:var(--dbs-olive-dark)!important;margin:0!important}
.dbs-youtube-note{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:4rem 0;border-bottom:1px solid var(--dbs-border);align-items:start}
.dbs-youtube-note p{margin:0!important}
.dbs-youtube-note-big{font-family:'Cormorant Garamond',serif!important;font-size:clamp(1.65rem,2.6vw,2.25rem)!important;line-height:1.22!important;color:var(--dbs-olive-dark)!important}
.dbs-youtube-note p:last-child{color:var(--dbs-muted);line-height:1.72;max-width:55ch}
.dbs-youtube-find{padding:4rem 0}
.dbs-youtube-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.dbs-youtube-grid>div{min-height:210px;border:1px solid var(--dbs-border);border-radius:18px;background:var(--dbs-warm);padding:1.35rem;display:flex;flex-direction:column}
.dbs-youtube-grid span{font-size:.74rem;letter-spacing:.1em;color:var(--dbs-sage);margin-bottom:auto}
.dbs-youtube-grid strong{font-family:'Cormorant Garamond',serif;font-size:1.5rem;line-height:1.08;color:var(--dbs-olive-dark);margin:1.4rem 0 .6rem}
.dbs-youtube-grid p{font-size:.9rem;line-height:1.55;color:var(--dbs-muted);margin:0!important}
.dbs-youtube-closing{background:var(--dbs-olive-dark);border-radius:22px;padding:clamp(2rem,5vw,4rem);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.dbs-youtube-closing .dbs-eyebrow{color:var(--dbs-sage)!important}
.dbs-youtube-signoff{font-family:'Cormorant Garamond',serif!important;font-size:clamp(2rem,4vw,3.35rem)!important;line-height:1.04!important;color:var(--dbs-warm)!important;margin:0!important;max-width:19ch}
.dbs-youtube-closing .dbs-button{background:var(--dbs-warm)!important;color:var(--dbs-olive-dark)!important;white-space:nowrap}
.dbs-youtube-closing .dbs-button:hover{background:#fff!important}

@media(max-width:900px){
  .dbs-youtube-page{padding-top:2rem}
  .dbs-youtube-hero{grid-template-columns:1fr .65fr;gap:2.5rem}
  .dbs-youtube-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .dbs-youtube-page{padding:1.25rem 0 3rem}
  .dbs-youtube-hero{grid-template-columns:1fr;gap:2rem;padding-bottom:2.8rem}
  .dbs-youtube-copy h1{font-size:3.45rem!important;max-width:none}
  .dbs-youtube-mark{min-height:300px;max-width:310px;width:100%;margin:0 auto;padding:2rem 1.5rem}
  .dbs-youtube-note{grid-template-columns:1fr;gap:1.35rem;padding:2.8rem 0}
  .dbs-youtube-find{padding:2.8rem 0}
  .dbs-youtube-grid{grid-template-columns:1fr 1fr;gap:.7rem}
  .dbs-youtube-grid>div{min-height:180px;padding:1rem}
  .dbs-youtube-grid strong{font-size:1.3rem}
  .dbs-youtube-closing{align-items:flex-start;flex-direction:column;border-radius:18px;padding:2rem 1.35rem}
}
@media(max-width:430px){
  .dbs-youtube-grid{grid-template-columns:1fr}
  .dbs-youtube-grid>div{min-height:150px}
  .dbs-youtube-actions{align-items:flex-start;flex-direction:column}
  .dbs-youtube-actions .dbs-button,.dbs-youtube-closing .dbs-button{width:100%;text-align:center;box-sizing:border-box}
}


/* Contact page — v1.6 */
.dbs-contact-page{
  max-width: 980px;
  margin: 0 auto;
  padding: 72px 24px 84px;
  color: #2F3A2A;
}
.dbs-contact-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.75fr);
  gap:72px;
  align-items:end;
  padding-bottom:56px;
  border-bottom:1px solid #DDD6CA;
}
.dbs-contact-copy h1{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(54px,7vw,82px);
  line-height:.94;
  font-weight:600;
  margin:10px 0 24px;
  letter-spacing:-.035em;
}
.dbs-contact-intro{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(25px,3vw,34px);
  line-height:1.18;
  max-width:640px;
  margin:0 0 22px;
}
.dbs-contact-body{
  max-width:620px;
  font-family:Inter,sans-serif;
  font-size:15px;
  line-height:1.75;
  color:#6B6B63;
  margin:0;
}
.dbs-contact-note{
  border:1px solid #DDD6CA;
  border-radius:999px 999px 18px 18px;
  padding:48px 30px 34px;
  text-align:center;
  background:#FBF9F4;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.dbs-contact-note-icon{
  display:flex;
  width:52px;
  height:52px;
  border:1px solid #A8AD8C;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  color:#6F7755;
  font-size:22px;
  margin-bottom:22px;
}
.dbs-contact-note p{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;
  line-height:1.25;
  margin:0;
}
.dbs-contact-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  padding:58px 0;
}
.dbs-contact-card{
  display:flex;
  flex-direction:column;
  min-height:280px;
  padding:28px 24px 24px;
  border:1px solid #DDD6CA;
  border-radius:18px;
  background:#FBF9F4;
  color:#2F3A2A;
  text-decoration:none !important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.dbs-contact-card:hover{
  transform:translateY(-3px);
  border-color:#A8AD8C;
  background:#F4F0E7;
}
.dbs-contact-icon{
  width:44px;
  height:44px;
  color:#6F7755;
  margin-bottom:34px;
}
.dbs-contact-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dbs-contact-icon .dbs-contact-dot{fill:currentColor;stroke:none}
.dbs-contact-label{
  font-family:Inter,sans-serif;
  font-size:10px;
  letter-spacing:.17em;
  font-weight:600;
  color:#6F7755;
  margin-bottom:10px;
}
.dbs-contact-card strong{
  font-family:"Cormorant Garamond",serif;
  font-size:22px;
  line-height:1.12;
  font-weight:600;
  overflow-wrap:anywhere;
}
.dbs-contact-small{
  margin-top:auto;
  padding-top:28px;
  font-family:Inter,sans-serif;
  font-size:12px;
  line-height:1.55;
  color:#6B6B63;
}
.dbs-contact-closing{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  background:#2F3A2A;
  color:#FBF9F4;
  border-radius:20px;
  padding:42px 46px;
}
.dbs-contact-signoff{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(30px,4vw,45px);
  line-height:1.03;
  max-width:580px;
  margin:10px 0 0;
}
.dbs-kicker-light{color:#A8AD8C!important}
.dbs-button-light{
  background:#FBF9F4!important;
  color:#2F3A2A!important;
  white-space:nowrap;
}
@media (max-width: 820px){
  .dbs-contact-page{padding:48px 20px 64px}
  .dbs-contact-hero{grid-template-columns:1fr;gap:36px;padding-bottom:40px}
  .dbs-contact-note{min-height:auto;border-radius:18px;padding:32px 24px}
  .dbs-contact-links{grid-template-columns:1fr;padding:40px 0}
  .dbs-contact-card{min-height:210px}
  .dbs-contact-closing{flex-direction:column;align-items:flex-start;padding:34px 28px}
}


/* =========================================================
   MOBILE POLISH — v1.7
   Applies across Home, Recipes, About, YouTube, Contact
   ========================================================= */

html, body {
  overflow-x: hidden;
}

/* Keep global content readable and prevent edge collisions */
@media (max-width: 782px) {
  body {
    font-size: 16px;
    line-height: 1.6;
  }

  .wp-site-blocks,
  main,
  .entry-content {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Header / navigation */
  header,
  .wp-block-template-part > header,
  .wp-site-blocks > header {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  header .wp-block-group,
  .wp-block-template-part header .wp-block-group {
    gap: 14px !important;
  }

  header .wp-block-site-title,
  header .wp-block-site-title a {
    font-size: 24px !important;
    line-height: 1.05 !important;
  }

  header .wp-block-navigation {
    width: 100%;
  }

  header .wp-block-navigation__container {
    gap: 16px !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  header .wp-block-navigation-item__content {
    font-size: 15px !important;
    white-space: nowrap;
  }

  /* Homepage hero becomes a clean vertical stack */
  .dbs-hero,
  .dbs-hero .wp-block-columns {
    display: block !important;
  }

  .dbs-hero {
    padding: 34px 18px 24px !important;
  }

  .dbs-hero .wp-block-column {
    width: 100% !important;
    margin: 0 0 24px !important;
  }

  .dbs-hero h1,
  .dbs-hero .wp-block-heading {
    font-size: clamp(42px, 12vw, 58px) !important;
    line-height: .98 !important;
    max-width: 12ch;
    margin-bottom: 20px !important;
  }

  .dbs-hero .wp-block-buttons,
  .dbs-hero .wp-block-button {
    width: 100%;
  }

  .dbs-hero .wp-block-button__link {
    width: 100%;
    text-align: center;
    padding: 14px 22px !important;
  }

  .dbs-photo-slot,
  .dbs-photo-slot .wp-block-image,
  .dbs-photo-slot .wp-block-image img {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 18px !important;
  }

  .dbs-photo-slot {
    overflow: hidden !important;
  }

  .dbs-featured-card {
    margin-top: 18px !important;
    padding: 24px !important;
    border-radius: 16px !important;
  }

  .dbs-featured-card h2,
  .dbs-featured-card h3 {
    font-size: 28px !important;
    line-height: 1.05 !important;
  }

  /* Categories: compact two-column grid instead of a long vertical column */
  .dbs-categories {
    padding: 24px 18px !important;
  }

  .dbs-categories .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
  }

  .dbs-categories .wp-block-column {
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 8px !important;
    border: 1px solid #DDD6CA;
    border-radius: 14px;
    background: #FBF9F4;
  }

  .dbs-categories .dbs-icon {
    width: 34px !important;
    height: 34px !important;
    margin: 0 auto 8px !important;
  }

  .dbs-categories p {
    font-size: 14px !important;
    margin: 0 !important;
  }

  /* Homepage about */
  .dbs-about,
  .dbs-about .wp-block-columns {
    display: block !important;
  }

  .dbs-about {
    padding: 34px 18px !important;
  }

  .dbs-sophie-slot {
    width: 132px !important;
    height: 132px !important;
    margin: 0 0 22px !important;
  }

  .dbs-sophie-slot .wp-block-image,
  .dbs-sophie-slot .wp-block-image img {
    width: 132px !important;
    height: 132px !important;
    border-radius: 999px !important;
    object-fit: cover !important;
  }

  .dbs-about h2 {
    font-size: 38px !important;
    line-height: 1 !important;
  }

  .dbs-decor-slot {
    margin-top: 24px !important;
  }

  /* Latest recipes homepage */
  .dbs-latest {
    padding: 34px 18px !important;
  }

  .dbs-latest .wp-block-post-template,
  .dbs-latest .wp-block-query .wp-block-post-template {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .dbs-latest .wp-block-post {
    width: 100% !important;
  }

  .dbs-latest .wp-block-post-featured-image img {
    width: 100% !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 16px !important;
  }

  .dbs-latest .wp-block-post-title {
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  /* YouTube CTA + newsletter/footer on homepage */
  .dbs-youtube-cta,
  .dbs-newsletter {
    margin-left: 18px !important;
    margin-right: 18px !important;
    padding: 28px 22px !important;
    border-radius: 16px !important;
  }

  .dbs-youtube-cta .wp-block-group,
  .dbs-youtube-cta .wp-block-columns,
  .dbs-newsletter .wp-block-columns {
    display: block !important;
  }

  .dbs-youtube-cta .wp-block-button,
  .dbs-youtube-cta .wp-block-button__link {
    width: 100% !important;
  }

  /* Recipes page */
  .dbsm-recipes-page,
  .dbs-recipes-page {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .dbsm-recipes-page h1,
  .dbs-recipes-page h1 {
    font-size: clamp(48px, 13vw, 66px) !important;
    line-height: .95 !important;
  }

  .dbsm-category-pills,
  .dbs-category-pills {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .dbsm-category-pills a,
  .dbs-category-pills a {
    display: block;
    text-align: center;
    padding: 10px 12px !important;
    border-radius: 999px !important;
  }

  .dbsm-recipes-grid,
  .dbs-recipes-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .dbsm-recipe-card,
  .dbs-recipe-card {
    min-height: 0 !important;
    display: block !important;
  }

  .dbsm-recipe-card img,
  .dbs-recipe-card img {
    width: 100% !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 16px !important;
  }

  .dbsm-recipe-card h2,
  .dbsm-recipe-card h3,
  .dbs-recipe-card h2,
  .dbs-recipe-card h3 {
    font-size: 27px !important;
    line-height: 1.05 !important;
  }

  /* About page */
  .dbs-about-page {
    padding: 42px 18px 64px !important;
  }

  .dbs-about-hero {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .dbs-about-hero h1 {
    font-size: clamp(52px, 14vw, 72px) !important;
    line-height: .92 !important;
  }

  .dbs-about-portrait {
    width: min(78vw, 320px) !important;
    margin: 0 auto !important;
  }

  .dbs-about-portrait img {
    width: 100% !important;
    height: auto !important;
  }

  .dbs-about-split {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .dbs-about-cards {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .dbs-about-card {
    min-height: 150px !important;
    padding: 18px !important;
  }

  .dbs-about-closing {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding: 30px 24px !important;
  }

  .dbs-about-closing .dbs-button {
    width: 100% !important;
    text-align: center;
  }

  /* YouTube page */
  .dbs-youtube-page {
    padding: 42px 18px 64px !important;
  }

  .dbs-youtube-hero {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .dbs-youtube-hero h1 {
    font-size: clamp(54px, 15vw, 76px) !important;
    line-height: .9 !important;
    max-width: 9ch;
  }

  .dbs-youtube-hero-card {
    width: min(78vw, 320px) !important;
    margin: 0 auto !important;
    min-height: 280px !important;
  }

  .dbs-youtube-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .dbs-youtube-actions .dbs-button,
  .dbs-youtube-actions a {
    width: 100% !important;
    text-align: center !important;
  }

  .dbs-youtube-split {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .dbs-youtube-cards {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .dbs-youtube-card {
    min-height: 180px !important;
    padding: 18px !important;
  }

  .dbs-youtube-closing {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding: 30px 24px !important;
  }

  .dbs-youtube-closing .dbs-button {
    width: 100% !important;
    text-align: center !important;
  }

  /* Contact page */
  .dbs-contact-page {
    padding: 42px 18px 64px !important;
  }

  .dbs-contact-copy h1 {
    font-size: clamp(52px, 14vw, 72px) !important;
    line-height: .92 !important;
  }

  .dbs-contact-hero {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    padding-bottom: 36px !important;
  }

  .dbs-contact-note {
    min-height: 0 !important;
    padding: 28px 22px !important;
    border-radius: 18px !important;
  }

  .dbs-contact-links {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 34px 0 !important;
  }

  .dbs-contact-card {
    min-height: 210px !important;
  }

  .dbs-contact-card strong {
    font-size: 20px !important;
  }

  .dbs-contact-card[href^="mailto:"] strong {
    font-size: 18px !important;
    letter-spacing: -.015em;
  }

  .dbs-contact-closing {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 30px 24px !important;
  }

  .dbs-contact-closing .dbs-button {
    width: 100% !important;
    text-align: center !important;
  }

  /* Footer */
  footer {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  footer .wp-block-group {
    gap: 12px !important;
  }
}

/* Small phones */
@media (max-width: 430px) {
  .dbs-about-cards,
  .dbs-youtube-cards {
    grid-template-columns: 1fr !important;
  }

  .dbs-categories .wp-block-columns,
  .dbsm-category-pills,
  .dbs-category-pills {
    grid-template-columns: 1fr 1fr !important;
  }

  .dbs-contact-card strong {
    font-size: 18px !important;
  }
}


/* =========================================================
   MOBILE REFINEMENT — v1.7.1
   Tightens typography, spacing and card proportions
   without changing desktop.
   ========================================================= */

@media (max-width: 782px) {

  /* HEADER */
  header .wp-block-site-title,
  header .wp-block-site-title a {
    font-size: 22px !important;
  }

  header .wp-block-navigation__container {
    gap: 12px !important;
  }

  header .wp-block-navigation-item__content {
    font-size: 14px !important;
  }

  /* HOME */
  .dbs-hero {
    padding-top: 28px !important;
    padding-bottom: 18px !important;
  }

  .dbs-hero h1,
  .dbs-hero .wp-block-heading {
    font-size: clamp(38px, 10.8vw, 52px) !important;
    line-height: .98 !important;
    margin-bottom: 16px !important;
  }

  .dbs-featured-card {
    padding: 20px !important;
  }

  .dbs-featured-card h2,
  .dbs-featured-card h3 {
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  .dbs-featured-card p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .dbs-categories {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  .dbs-categories .wp-block-columns {
    gap: 10px !important;
  }

  .dbs-categories .wp-block-column {
    min-height: 104px !important;
    padding: 12px 8px !important;
  }

  .dbs-categories .dbs-icon {
    width: 30px !important;
    height: 30px !important;
    margin-bottom: 6px !important;
  }

  .dbs-about {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .dbs-about h2 {
    font-size: 34px !important;
  }

  .dbs-latest {
    padding-top: 26px !important;
    padding-bottom: 28px !important;
  }

  .dbs-latest .wp-block-post-title {
    font-size: 21px !important;
    line-height: 1.08 !important;
  }

  .dbs-youtube-cta,
  .dbs-newsletter {
    padding: 24px 18px !important;
  }

  /* RECIPES */
  .dbsm-recipes-page h1,
  .dbs-recipes-page h1 {
    font-size: clamp(44px, 11.5vw, 58px) !important;
  }

  .dbsm-recipes-page h2,
  .dbs-recipes-page h2 {
    font-size: 36px !important;
    line-height: 1.02 !important;
  }

  .dbsm-recipe-card h2,
  .dbsm-recipe-card h3,
  .dbs-recipe-card h2,
  .dbs-recipe-card h3 {
    font-size: 24px !important;
    line-height: 1.08 !important;
    margin-top: 12px !important;
    margin-bottom: 8px !important;
  }

  .dbsm-recipe-card p,
  .dbs-recipe-card p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .dbsm-recipes-grid,
  .dbs-recipes-grid {
    gap: 24px !important;
  }

  /* ABOUT */
  .dbs-about-page {
    padding-top: 34px !important;
  }

  .dbs-about-hero {
    gap: 26px !important;
  }

  .dbs-about-hero h1 {
    font-size: clamp(46px, 12vw, 62px) !important;
    line-height: .94 !important;
    margin-bottom: 20px !important;
  }

  .dbs-about-hero .dbs-about-lead,
  .dbs-about-hero .dbs-intro,
  .dbs-about-page .dbs-about-lead {
    font-size: 26px !important;
    line-height: 1.16 !important;
  }

  .dbs-about-page p {
    font-size: 16px !important;
    line-height: 1.62 !important;
  }

  .dbs-about-split {
    gap: 18px !important;
  }

  .dbs-about-split > * {
    font-size: 26px !important;
    line-height: 1.14 !important;
  }

  .dbs-about-cards {
    gap: 10px !important;
  }

  .dbs-about-card {
    min-height: 132px !important;
    padding: 16px !important;
  }

  .dbs-about-card strong,
  .dbs-about-card h3 {
    font-size: 20px !important;
    line-height: 1.12 !important;
  }

  .dbs-about-closing {
    padding: 26px 20px !important;
  }

  .dbs-about-closing .dbs-about-closing-title,
  .dbs-about-closing p:not(.dbs-kicker) {
    font-size: 34px !important;
    line-height: 1.02 !important;
  }

  /* YOUTUBE */
  .dbs-youtube-page {
    padding-top: 34px !important;
  }

  .dbs-youtube-hero {
    gap: 26px !important;
  }

  .dbs-youtube-hero h1 {
    font-size: clamp(46px, 12vw, 62px) !important;
    line-height: .93 !important;
    max-width: 10ch !important;
  }

  .dbs-youtube-hero .dbs-youtube-lead,
  .dbs-youtube-page .dbs-youtube-lead {
    font-size: 26px !important;
    line-height: 1.16 !important;
  }

  .dbs-youtube-page p {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .dbs-youtube-hero-card {
    width: min(72vw, 290px) !important;
    min-height: 240px !important;
  }

  .dbs-youtube-split {
    gap: 16px !important;
  }

  .dbs-youtube-split > *:first-child {
    font-size: 28px !important;
    line-height: 1.14 !important;
  }

  .dbs-youtube-cards {
    gap: 10px !important;
  }

  .dbs-youtube-card {
    min-height: 156px !important;
    padding: 16px !important;
  }

  .dbs-youtube-card h3,
  .dbs-youtube-card strong {
    font-size: 19px !important;
    line-height: 1.12 !important;
  }

  .dbs-youtube-card p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .dbs-youtube-closing {
    padding: 26px 20px !important;
  }

  .dbs-youtube-closing .dbs-youtube-closing-title,
  .dbs-youtube-closing p:not(.dbs-kicker) {
    font-size: 34px !important;
    line-height: 1.02 !important;
  }

  /* CONTACT */
  .dbs-contact-page {
    padding-top: 34px !important;
  }

  .dbs-contact-copy h1 {
    font-size: clamp(46px, 12vw, 62px) !important;
    line-height: .94 !important;
  }

  .dbs-contact-intro {
    font-size: 26px !important;
    line-height: 1.16 !important;
    margin-bottom: 16px !important;
  }

  .dbs-contact-body {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  .dbs-contact-note {
    padding: 24px 20px !important;
  }

  .dbs-contact-note p {
    font-size: 20px !important;
  }

  .dbs-contact-links {
    gap: 12px !important;
    padding: 28px 0 !important;
  }

  .dbs-contact-card {
    min-height: 168px !important;
    padding: 20px !important;
  }

  .dbs-contact-icon {
    width: 36px !important;
    height: 36px !important;
    margin-bottom: 22px !important;
  }

  .dbs-contact-card strong {
    font-size: 18px !important;
  }

  .dbs-contact-card[href^="mailto:"] strong {
    font-size: 16px !important;
  }

  .dbs-contact-small {
    padding-top: 18px !important;
    font-size: 13px !important;
  }

  .dbs-contact-closing {
    padding: 26px 20px !important;
  }

  .dbs-contact-signoff {
    font-size: 34px !important;
  }
}

/* Extra-tight phones */
@media (max-width: 390px) {
  header .wp-block-navigation__container {
    gap: 10px !important;
  }

  header .wp-block-navigation-item__content {
    font-size: 13px !important;
  }

  .dbs-about-cards,
  .dbs-youtube-cards {
    grid-template-columns: 1fr !important;
  }

  .dbs-categories .wp-block-columns {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* =========================================================
   MOBILE FIXES — v1.7.2
   Targeted fixes from phone screenshots:
   - compact homepage category cards
   - centered final category card
   - no CTA button overflow
   - tighter vertical spacing
   ========================================================= */

@media (max-width: 782px) {

  /* Prevent buttons from ever exceeding their parent */
  .wp-block-button,
  .wp-block-button__link,
  .dbs-button,
  .dbs-contact-closing .dbs-button,
  .dbs-about-closing .dbs-button,
  .dbs-youtube-closing .dbs-button,
  .dbs-youtube-actions .dbs-button,
  .dbs-youtube-actions a {
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .dbs-contact-closing,
  .dbs-about-closing,
  .dbs-youtube-closing {
    overflow: hidden !important;
  }

  .dbs-contact-closing .dbs-button,
  .dbs-about-closing .dbs-button,
  .dbs-youtube-closing .dbs-button {
    width: 100% !important;
    margin: 0 !important;
  }

  /* HOME CATEGORY CARDS — compact */
  .dbs-categories {
    padding-top: 14px !important;
    padding-bottom: 16px !important;
  }

  .dbs-categories .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .dbs-categories .wp-block-column {
    min-height: 86px !important;
    height: 86px !important;
    padding: 10px 6px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
  }

  .dbs-categories .dbs-icon {
    width: 28px !important;
    height: 28px !important;
    margin: 0 auto 5px !important;
  }

  .dbs-categories p,
  .dbs-categories a {
    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  /* Center the 7th/last category card instead of leaving it awkwardly on the left */
  .dbs-categories .wp-block-columns > .wp-block-column:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    width: calc(50% - 5px) !important;
    justify-self: center !important;
  }

  /* Slightly reduce empty gaps around the category + about transition */
  .dbs-categories + *,
  .dbs-about {
    margin-top: 0 !important;
  }

  .dbs-about {
    padding-top: 22px !important;
  }

  /* CONTACT — more compact spacing and safe CTA */
  .dbs-contact-links {
    padding-bottom: 22px !important;
  }

  .dbs-contact-closing {
    gap: 20px !important;
    padding: 24px 18px !important;
  }

  .dbs-contact-signoff {
    font-size: 31px !important;
    line-height: 1.04 !important;
  }

  .dbs-contact-closing .dbs-button {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* ABOUT / YOUTUBE CTA safety too */
  .dbs-about-closing,
  .dbs-youtube-closing {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

@media (max-width: 390px) {
  .dbs-categories .wp-block-column {
    min-height: 80px !important;
    height: 80px !important;
  }

  .dbs-categories .dbs-icon {
    width: 26px !important;
    height: 26px !important;
  }

  .dbs-categories p,
  .dbs-categories a {
    font-size: 12.5px !important;
  }
}


/* =========================================================
   RECIPES HUB — v1.9
   ========================================================= */

.dbs-recipes-hub,
.dbs-all-recipes-page{
  max-width:1180px;
  margin:0 auto;
  padding:72px 24px 88px;
  color:#2F3A2A;
}
.dbs-recipes-hub-intro{
  max-width:760px;
  margin-bottom:64px;
}
.dbs-recipes-hub-intro h1{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(58px,7vw,88px);
  line-height:.92;
  font-weight:600;
  letter-spacing:-.035em;
  margin:10px 0 22px;
}
.dbs-recipes-hub-intro p:last-child{
  font-family:Inter,sans-serif;
  font-size:17px;
  line-height:1.7;
  color:#6B6B63;
  max-width:680px;
}
.dbs-recipes-hub-categories{
  padding:48px 0 64px;
  border-top:1px solid #DDD6CA;
  border-bottom:1px solid #DDD6CA;
}
.dbs-recipes-hub-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:26px;
}
.dbs-recipes-hub-heading h2{
  font-family:"Cormorant Garamond",serif;
  font-size:42px;
  line-height:1;
  font-weight:600;
  margin:0;
}
.dbs-recipes-hub-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.dbs-recipes-hub-card{
  min-height:132px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:22px;
  border:1px solid #DDD6CA;
  border-radius:18px;
  background:#FBF9F4;
  color:#2F3A2A;
  text-decoration:none!important;
  font-family:"Cormorant Garamond",serif;
  font-size:25px;
  font-weight:600;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.dbs-recipes-hub-card:hover{
  transform:translateY(-3px);
  border-color:#A8AD8C;
  background:#F4F0E7;
}
.dbs-recipes-hub-latest{
  padding-top:64px;
}
.dbs-recipes-hub-latest-grid,
.dbs-all-recipes-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px 24px;
}
.dbs-recipes-hub-recipe{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.dbs-recipes-hub-image{
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:16px;
  background:#F4F0E7;
}
.dbs-recipes-hub-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.dbs-recipes-hub-recipe h3{
  font-family:"Cormorant Garamond",serif;
  font-size:27px;
  line-height:1.06;
  margin:14px 0 8px;
}
.dbs-recipes-hub-recipe h3 a{
  color:#2F3A2A;
  text-decoration:none!important;
}
.dbs-recipes-hub-recipe p{
  font-family:Inter,sans-serif;
  color:#6B6B63;
  font-size:14px;
  line-height:1.55;
  margin:0 0 12px;
}
.dbs-recipes-hub-view{
  margin-top:auto;
  color:#6F7755;
  text-decoration:none!important;
  font-family:Inter,sans-serif;
  font-size:13px;
  font-weight:600;
}
.dbs-recipes-hub-all{
  margin-top:40px;
  text-align:center;
}
.dbs-all-recipes-page .dbs-recipes-hub-intro{
  margin-bottom:48px;
}
.dbs-pagination{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:48px;
}
.dbs-pagination .page-numbers{
  display:inline-flex;
  min-width:40px;
  height:40px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid #DDD6CA;
  border-radius:999px;
  color:#2F3A2A;
  text-decoration:none;
  background:#FBF9F4;
}
.dbs-pagination .current{
  background:#2F3A2A;
  color:#FBF9F4;
  border-color:#2F3A2A;
}

@media (max-width: 900px){
  .dbs-recipes-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dbs-recipes-hub-latest-grid,
  .dbs-all-recipes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 782px){
  .dbs-recipes-hub,
  .dbs-all-recipes-page{
    padding:42px 18px 64px;
  }
  .dbs-recipes-hub-intro{
    margin-bottom:42px;
  }
  .dbs-recipes-hub-intro h1{
    font-size:clamp(46px,12vw,62px);
  }
  .dbs-recipes-hub-categories{
    padding:34px 0 42px;
  }
  .dbs-recipes-hub-heading{
    display:block;
    margin-bottom:20px;
  }
  .dbs-recipes-hub-heading h2{
    font-size:34px;
    margin-top:8px;
  }
  .dbs-recipes-hub-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .dbs-recipes-hub-card{
    min-height:94px;
    padding:16px;
    font-size:20px;
    border-radius:14px;
  }
  .dbs-recipes-hub-latest{
    padding-top:42px;
  }
  .dbs-recipes-hub-latest-grid,
  .dbs-all-recipes-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .dbs-recipes-hub-recipe h3{
    font-size:24px;
  }
}


/* =========================================================
   RECIPES HUB ICON POLISH — v1.9.1
   ========================================================= */

.dbs-recipes-hub-card{
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
  min-height:148px;
}
.dbs-recipes-hub-icon{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  color:#6F7755;
}
.dbs-recipes-hub-icon svg{
  width:38px;
  height:38px;
  display:block;
}
.dbs-recipes-hub-card-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  width:100%;
}
.dbs-recipes-hub-card-name{
  line-height:1.05;
}
.dbs-recipes-hub-arrow{
  font-family:Inter,sans-serif;
  font-size:20px;
  line-height:1;
  color:#6F7755;
  flex:0 0 auto;
}

/* Center the 3 cards in the second row on wider screens. */
@media (min-width: 901px){
  .dbs-recipes-hub-grid{
    grid-template-columns:repeat(8,minmax(0,1fr));
  }
  .dbs-recipes-hub-grid .dbs-recipes-hub-card{
    grid-column:span 2;
  }
  .dbs-recipes-hub-grid .dbs-recipes-hub-card:nth-child(5){
    grid-column:2 / span 2;
  }
  .dbs-recipes-hub-grid .dbs-recipes-hub-card:nth-child(6){
    grid-column:4 / span 2;
  }
  .dbs-recipes-hub-grid .dbs-recipes-hub-card:nth-child(7){
    grid-column:6 / span 2;
  }
}

@media (max-width: 782px){
  .dbs-recipes-hub-card{
    min-height:108px;
    padding:14px;
  }
  .dbs-recipes-hub-icon svg{
    width:30px;
    height:30px;
  }
  .dbs-recipes-hub-arrow{
    font-size:18px;
  }
}


/* =========================================================
   RECIPES HUB CARD SCALE — v1.9.2
   Bigger icons/text, less empty space.
   ========================================================= */

.dbs-recipes-hub-card{
  min-height:118px !important;
  padding:18px 18px 16px !important;
}

.dbs-recipes-hub-icon svg{
  width:50px !important;
  height:50px !important;
}

.dbs-recipes-hub-card-name{
  font-size:27px !important;
  line-height:1 !important;
  font-weight:600 !important;
}

.dbs-recipes-hub-arrow{
  font-size:24px !important;
  margin-left:8px !important;
}

.dbs-recipes-hub-card-bottom{
  align-items:center !important;
  gap:10px !important;
}

@media (max-width: 782px){
  .dbs-recipes-hub-card{
    min-height:92px !important;
    padding:13px 14px 12px !important;
  }

  .dbs-recipes-hub-icon svg{
    width:36px !important;
    height:36px !important;
  }

  .dbs-recipes-hub-card-name{
    font-size:21px !important;
  }

  .dbs-recipes-hub-arrow{
    font-size:20px !important;
  }
}
