:where(.dogsoria-article-template, .dogsoria-quick-answer, .dogsoria-section, .dogsoria-vet-warning, .dogsoria-quick-facts, .dogsoria-toc-wrap, .dogsoria-related-reading, .dogsoria-author-bio) {
  --dogsoria-ink: #172622;
  --dogsoria-muted: #59635f;
  --dogsoria-cream: #fff;
  --dogsoria-sand: #f1f3f1;
  --dogsoria-orange: #d86439;
  --dogsoria-navy: #112d2a;
  color: var(--dogsoria-ink);
  font-family: Arial, Helvetica, sans-serif;
}

/* Elementor Full Width renders the post; Dogsoria supplies the article surface. */
body.single-post.dogsoria-has-article-template,
.dogsoria-has-article-template :where(.site-content, .content-area, .site-main, #main) {
  background-color: #fff !important;
}

.dogsoria-rendered-article {
  background: #fff;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: none;
  width: 100%;
}

.dogsoria-single-hero {
  background: transparent;
  box-sizing: border-box;
  margin: 0 auto clamp(14px, 2vw, 24px);
  max-width: 1480px;
  padding: clamp(20px, 3vw, 42px) clamp(18px, 4vw, 58px) clamp(28px, 3.5vw, 48px);
}

.dogsoria-single-breadcrumbs {
  align-items: center;
  color: #696d68;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 7px;
  margin-bottom: clamp(28px, 4vw, 52px);
  text-transform: uppercase;
}

.dogsoria-single-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.dogsoria-single-breadcrumbs a:hover {
  color: #d86439;
}

.dogsoria-single-hero__grid {
  align-items: start;
  display: grid;
  gap: clamp(34px, 5vw, 72px);
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
}

.dogsoria-single-hero--long-title .dogsoria-single-hero__grid,
.dogsoria-single-hero--very-long-title .dogsoria-single-hero__grid {
  grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr);
}

.dogsoria-single-hero__grid--text-only {
  grid-template-columns: minmax(0, 820px);
}

.dogsoria-single-kicker {
  color: #d86439;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  margin: 0 0 18px;
  text-transform: uppercase;
}

.dogsoria-single-title {
  color: #172622;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4.35vw, 56px) !important;
  letter-spacing: -.04em;
  line-height: 1.02 !important;
  margin: 0;
  max-width: 720px;
  text-wrap: balance;
}

.dogsoria-single-hero--long-title .dogsoria-single-title {
  font-size: clamp(38px, 3.8vw, 50px) !important;
}

.dogsoria-single-hero--very-long-title .dogsoria-single-title {
  font-size: clamp(35px, 3.4vw, 46px) !important;
  line-height: 1.05 !important;
}

.dogsoria-single-excerpt {
  color: #59635f;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.5;
  margin-top: 20px;
  max-width: 620px;
}

.dogsoria-single-excerpt p { margin: 0; }

.dogsoria-single-byline {
  align-items: center;
  color: #68706d;
  display: flex;
  font-size: 13px;
  gap: 13px;
  margin-top: 30px;
}

.dogsoria-single-avatar {
  border-radius: 999px;
  height: 52px;
  width: 52px;
}

.dogsoria-single-byline strong {
  color: #172622;
  display: block;
  font-size: 15px;
  margin-bottom: 3px;
}

.dogsoria-single-byline p {
  margin: 0;
}

.dogsoria-single-featured {
  align-self: start;
  margin: 0;
  justify-self: end;
  max-width: 560px;
  width: 100%;
}

.dogsoria-single-featured img {
  display: block;
  height: auto;
  max-height: 560px;
  object-fit: contain;
  width: 100%;
}

.dogsoria-single-featured figcaption {
  color: #6a6d67;
  font-size: 12px;
  line-height: 1.45;
  margin-top: 10px;
}

.dogsoria-article-template {
  background: #fff;
  box-sizing: border-box;
  container-type: inline-size;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1480px !important;
  padding: 0 clamp(18px, 4vw, 58px) 110px;
  width: 100% !important;
}

/* The automatic hero already renders this information. */
.dogsoria-has-article-template .dogsoria-article-template > .dogsoria-intro {
  display: none;
}

/* Prevent Blocksy's optional post-title layer from creating a second H1. */
.single-post.dogsoria-has-article-template .hero-section[data-type] {
  display: none;
}

.dogsoria-article-template :where(p, li, h2, h3, summary, a, strong) {
  text-transform: none !important;
}

.dogsoria-article-template > :where(.ez-toc-container, .lwptoc, .rank-math-block-toc) {
  display: none !important;
}

:where(.dogsoria-article-template, .dogsoria-quick-answer, .dogsoria-section, .dogsoria-vet-warning, .dogsoria-quick-facts, .dogsoria-toc-wrap, .dogsoria-related-reading, .dogsoria-author-bio) :where(p, li) {
  color: var(--dogsoria-muted);
  font-size: 17px !important;
  line-height: 1.75 !important;
}

:where(.dogsoria-article-template, .dogsoria-quick-answer, .dogsoria-section, .dogsoria-vet-warning, .dogsoria-quick-facts, .dogsoria-related-reading, .dogsoria-author-bio) :where(h2, h3) {
  color: var(--dogsoria-ink);
  font-family: Georgia, "Times New Roman", serif !important;
}

:where(.dogsoria-article-template, .dogsoria-quick-answer, .dogsoria-section, .dogsoria-vet-warning, .dogsoria-related-reading) h2 {
  font-size: clamp(30px, 2.8vw, 36px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em;
  scroll-margin-top: 32px;
}

.dogsoria-main-content h3 {
  font-size: clamp(22px, 2.1vw, 25px) !important;
  line-height: 1.25 !important;
}

.dogsoria-eyebrow,
.dogsoria-section-label {
  color: var(--dogsoria-orange) !important;
  font-size: 11px !important;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.dogsoria-intro {
  border-top: 1px solid #cfc7b9;
  margin-bottom: 34px;
  padding-top: 28px;
}

.dogsoria-dek,
.dogsoria-lead {
  color: #4e5854 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 2.2vw, 25px) !important;
  line-height: 1.6 !important;
}

.dogsoria-quick-answer {
  background: var(--dogsoria-navy);
  color: #fff;
  margin: 0 !important;
  box-sizing: border-box;
  max-width: 100% !important;
  padding: clamp(26px, 3vw, 38px);
}

.dogsoria-quick-answer :where(h2, p, li) { color: #fff; }
.dogsoria-quick-answer .dogsoria-eyebrow { color: #f18a61 !important; }
.dogsoria-quick-answer h2 { font-size: clamp(30px, 2.7vw, 34px) !important; margin: 7px 0 12px !important; }
.dogsoria-quick-answer :where(p, li) { font-size: 17px !important; line-height: 1.65 !important; }
.dogsoria-quick-answer > p:not(.dogsoria-eyebrow) { margin-bottom: 10px !important; margin-top: 0 !important; }

/* Keep marker and wrapped list text on one consistent reading line. */
:where(.dogsoria-article-template, .dogsoria-quick-answer, .dogsoria-section, .dogsoria-vet-warning, .dogsoria-details, .dogsoria-faq) :where(ul, ol):not(.dogsoria-toc ul) {
  list-style-position: outside !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-inline-start: 1.35em !important;
}
:where(.dogsoria-article-template, .dogsoria-quick-answer, .dogsoria-section, .dogsoria-vet-warning, .dogsoria-details, .dogsoria-faq) :where(ul, ol):not(.dogsoria-toc ul) > li {
  margin: 8px 0 !important;
  padding-inline-start: .22em !important;
}

.dogsoria-layout {
  box-sizing: border-box;
  display: grid !important;
  gap: clamp(28px, 3vw, 42px);
  grid-template-columns: 180px minmax(0, 1fr) 220px;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  max-width: 100% !important;
  padding: clamp(28px, 3vw, 42px) 0 110px;
  transform: none !important;
  width: 100% !important;
}

.dogsoria-layout > * { margin: 0 !important; min-width: 0; }
.dogsoria-layout__toc { align-self: start; display: flex; flex-direction: column; gap: 20px; max-height: calc(100vh - 48px); position: sticky; top: 24px; }
.dogsoria-layout__toc > * { margin-bottom: 0 !important; margin-top: 0 !important; width: 100%; }
.dogsoria-layout__toc .dogsoria-toc-wrap { min-height: 0; overflow: hidden; }
.dogsoria-layout__toc .dogsoria-toc { display: flex; flex-direction: column; max-height: min(46vh, 420px); min-height: 0; }
.dogsoria-main-content { max-width: 780px; width: 100%; }
.dogsoria-main-content > .wp-block-group:first-child { margin-top: 0; }
.dogsoria-section { margin-top: 52px; }

.dogsoria-toc__title {
  align-items: center;
  color: var(--dogsoria-ink) !important;
  display: flex;
  font-size: 11px !important;
  font-weight: 900;
  gap: 7px;
  letter-spacing: .15em;
  margin: 0 0 10px;
}

.dogsoria-toc__title span { color: var(--dogsoria-orange); font-size: 18px; }
.dogsoria-toc ul { display: flex; flex-direction: column; gap: 3px; list-style: none; margin: 0; padding: 0; }
.dogsoria-toc__desktop { max-height: min(46vh, 420px); overflow-y: auto; padding-right: 8px; scrollbar-color: #c8cec9 transparent; scrollbar-width: thin; }
.dogsoria-toc li { margin: 0; padding: 0; }
.dogsoria-toc a {
  border-left: 3px solid transparent;
  color: #686b65;
  cursor: pointer;
  display: block;
  font-size: 13px;
  line-height: 1.35;
  margin-left: -9px;
  overflow: hidden;
  padding: 8px 9px 8px 11px;
  text-decoration: none;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.dogsoria-toc a:not(.is-active) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.dogsoria-toc a:hover { color: var(--dogsoria-orange); }
.dogsoria-toc a.is-active { background: #f8f3ee; border-left-color: var(--dogsoria-orange); color: #84351d; font-weight: 800; }
.dogsoria-toc a:focus-visible { outline: 2px solid var(--dogsoria-orange); outline-offset: 2px; }
.dogsoria-toc__mobile { display: none; }

.dogsoria-details {
  background: #f8faf8;
  border: 1px solid #dfe4df;
  border-radius: 8px;
  margin: 16px 0 0 !important;
  overflow: hidden;
  padding: 0 !important;
}
.dogsoria-details summary,
.dogsoria-faq summary {
  align-items: center;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  font-weight: 800;
  justify-content: space-between;
  list-style: none;
  min-height: 56px;
  padding: 12px 42px 12px 16px;
  position: relative;
}
.dogsoria-details summary::-webkit-details-marker,
.dogsoria-faq summary::-webkit-details-marker { display: none; }
.dogsoria-details summary::after,
.dogsoria-faq summary::after {
  border-bottom: 2px solid var(--dogsoria-orange);
  border-right: 2px solid var(--dogsoria-orange);
  content: "";
  height: 9px;
  position: absolute;
  right: 18px;
  top: 50%;
  transform-origin: center;
  transition: transform 180ms ease;
  width: 9px;
}
.dogsoria-details summary::after,
.dogsoria-faq summary::after { transform: translateY(-50%) rotate(45deg); }
.dogsoria-details[open] summary::after,
.dogsoria-faq details[open] summary::after { transform: translateY(-50%) rotate(225deg); }
.dogsoria-details > :not(summary),
.dogsoria-faq details > :not(summary) { margin-left: 16px !important; margin-right: 16px !important; }
.dogsoria-details > :last-child,
.dogsoria-faq details > :last-child { margin-bottom: 16px !important; }

.dogsoria-article-template .wp-block-table {
  background: #fff;
  border: 1px solid #d9ded9;
  border-radius: 8px;
  box-sizing: border-box;
  margin: 26px auto !important;
  max-width: 960px;
  overflow-x: auto;
  width: 100%;
}
.dogsoria-article-template .wp-block-table table {
  background: #fff;
  border: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 !important;
  min-width: 560px;
  table-layout: auto;
  width: 100%;
}
.dogsoria-article-template .wp-block-table :where(th, td) {
  border: 0 !important;
  border-bottom: 1px solid #e2e6e2 !important;
  box-sizing: border-box;
  padding: 13px 16px !important;
  text-align: left;
  vertical-align: top;
}
.dogsoria-article-template .wp-block-table thead th {
  background: var(--dogsoria-navy) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.35 !important;
  text-transform: none !important;
}
.dogsoria-article-template .wp-block-table tbody td {
  background: #fff !important;
  color: var(--dogsoria-ink) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}
.dogsoria-article-template .wp-block-table tbody tr:nth-child(even) td {
  background: #f6f8f6 !important;
}
.dogsoria-article-template .wp-block-table tr:last-child td { border-bottom: 0 !important; }
.dogsoria-article-template .wp-block-table table:has(tr > :nth-child(2):last-child) :where(th, td):first-child { width: 65%; }
.dogsoria-article-template .wp-block-table table:has(tr > :nth-child(2):last-child) :where(th, td):last-child {
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  text-align: left;
  width: 35%;
  white-space: normal;
}
.dogsoria-article-template .wp-block-table tbody tr:last-child:has(strong) td { background: #edf3ef !important; }
.dogsoria-article-template .wp-block-table figcaption {
  background: #fff;
  color: #69716d;
  font-size: 12px;
  line-height: 1.5;
  margin: 0 !important;
  padding: 10px 14px 12px;
  text-align: left;
}

.dogsoria-vet-warning {
  background: #fff;
  border: 1px solid #ddc8bd;
  border-left: 5px solid var(--dogsoria-orange);
  margin-top: 70px;
  padding: 28px;
}
.dogsoria-vet-warning h2 { color: #84351d; font-size: 30px; margin-top: 0; }

.dogsoria-faq details { background: #f8faf8; border: 1px solid #dfe4df; border-radius: 8px; margin: 10px 0 !important; overflow: hidden; }

.dogsoria-sources { border-top: 1px solid #cfc7b9; padding-top: 34px; }
.dogsoria-sources ul { display: grid; gap: 16px; list-style: none; padding: 0; }
.dogsoria-sources li { margin: 0; }
.dogsoria-sources a { color: #46504c; text-decoration: none; }
.dogsoria-sources a strong { color: var(--dogsoria-orange); }
.dogsoria-sources a:hover { color: var(--dogsoria-ink); }
.dogsoria-sources a:hover strong { color: #9f3f20; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.dogsoria-author-bio {
  align-items: center;
  border-top: 1px solid #cfc7b9;
  gap: 18px;
  margin-top: 64px;
  padding-top: 26px;
}
.dogsoria-author-bio h3,
.dogsoria-author-bio p { margin-bottom: 5px; margin-top: 0; }

.dogsoria-layout__side { align-self: start; display: flex; flex-direction: column; gap: 30px; position: sticky; top: 24px; }
.dogsoria-quick-facts { background: #fff; border: 1px solid #d9ded9; box-sizing: border-box; overflow: hidden; padding: 18px; width: 100%; }
.dogsoria-fact-value { color: var(--dogsoria-ink) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: 15px !important; line-height: 1.35 !important; margin: 12px 0 5px !important; overflow-wrap: anywhere; }
.dogsoria-fact-value strong { font-size: inherit !important; line-height: inherit !important; }
.dogsoria-quick-facts h3 { color: var(--dogsoria-ink) !important; font-family: Arial, Helvetica, sans-serif !important; font-size: 15px !important; line-height: 1.35 !important; margin: 12px 0 5px !important; overflow-wrap: anywhere; }
.dogsoria-quick-facts p:not(.dogsoria-eyebrow):not(.dogsoria-fact-value) { font-size: 13px !important; line-height: 1.5 !important; margin: 0 !important; overflow-wrap: anywhere; }
.dogsoria-quick-facts hr { border: 0; border-top: 1px solid #e0e4e0; margin: 16px 0 !important; }

.dogsoria-related-reading { background: #fff; border-top: 1px solid #d9ded9; margin-top: 0 !important; padding-top: 20px; text-align: left; }
.dogsoria-related-reading--mobile { display: none !important; }
.dogsoria-related-title,
.dogsoria-related-reading h2 { color: var(--dogsoria-ink) !important; font-family: Georgia, "Times New Roman", serif !important; font-size: 24px !important; font-weight: 700; line-height: 1.15 !important; margin: 8px 0 18px !important; }
.dogsoria-related-list { display: grid; gap: 18px; }
.dogsoria-related-item { align-items: start; display: grid !important; gap: 12px; grid-template-columns: 96px minmax(0, 1fr); margin: 0 !important; margin-inline: 0 !important; max-width: none !important; padding: 0 !important; text-align: left; width: 100% !important; }
.dogsoria-related-thumb { align-items: center; aspect-ratio: 4 / 3; background: #f5f6f5; border: 1px solid #e3e7e3; display: flex; justify-content: center; margin: 0 !important; overflow: hidden; width: 96px; }
.dogsoria-related-thumb img { display: block; height: 100%; object-fit: contain; width: 100%; }
.dogsoria-related-item h3 { display: -webkit-box; font-family: Georgia, "Times New Roman", serif !important; font-size: 15px !important; font-weight: 700; line-height: 1.28 !important; margin: 0 !important; max-width: none !important; overflow: hidden; overflow-wrap: anywhere; padding: 0 !important; text-align: left; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
/* Legacy unsynced Pattern compatibility. */
.dogsoria-related-item > figure { align-items: center; aspect-ratio: 4 / 3; background: #f5f6f5; border: 1px solid #e3e7e3; display: flex; justify-content: center; margin: 0 !important; max-width: none !important; overflow: hidden; width: 96px; }
.dogsoria-related-item > figure img { display: block; height: 100%; object-fit: contain; width: 100%; }
.dogsoria-related-item > p { display: -webkit-box; font-family: Georgia, "Times New Roman", serif; font-size: 15px !important; font-weight: 700; line-height: 1.28 !important; margin: 0 !important; max-width: none !important; overflow: hidden; overflow-wrap: anywhere; text-align: left; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.dogsoria-related-item:has(> figure:empty) { display: none !important; }
.dogsoria-related-item a { color: var(--dogsoria-ink); text-decoration: none; }
.dogsoria-related-item a:hover { color: var(--dogsoria-orange); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

@container (max-width: 1040px) {
  .dogsoria-layout { grid-template-columns: 200px minmax(0, 1fr); }
  .dogsoria-layout__side { display: block; grid-column: 2; margin-top: 52px !important; position: static; }
  .dogsoria-layout__side .dogsoria-related-reading { margin-top: 0 !important; }
}

@container (max-width: 720px) {
  .dogsoria-layout { display: block !important; padding-top: 42px; width: 100% !important; }
  .dogsoria-layout__toc { gap: 0; max-height: none; position: static; }
  .dogsoria-toc__desktop { display: none; }
  .dogsoria-toc__mobile { background: #fff; border: 1px solid #d6cec1; display: block; margin-bottom: 42px; }
  .dogsoria-toc__mobile summary { align-items: center; cursor: pointer; display: flex; font-weight: 900; justify-content: space-between; list-style: none; min-height: 54px; padding: 0 18px; }
  .dogsoria-toc__mobile summary::-webkit-details-marker { display: none; }
  .dogsoria-toc__mobile ul { border-top: 1px solid #e1d9cc; padding: 8px 18px 14px; }
  .dogsoria-toc__mobile a { font-size: 14px; margin-left: 0; padding: 10px 0; }
  .dogsoria-layout__toc .dogsoria-quick-facts { display: none; }
  .dogsoria-section { margin-top: 44px; }
  .dogsoria-main-content h2 { font-size: 27px !important; line-height: 1.18 !important; }
  .dogsoria-main-content h3 { font-size: 22px !important; }
  .dogsoria-quick-answer { margin-left: 0 !important; margin-right: 0 !important; padding: 22px 18px; }
  .dogsoria-quick-answer h2 { font-size: 28px !important; }
  .dogsoria-comparison .wp-block-table { width: 100%; }
  .dogsoria-layout__side { display: block; margin-top: 58px !important; position: static; }
  .dogsoria-related-reading { display: block; margin-top: 0 !important; overflow-x: auto; }
  .dogsoria-related-list { display: flex; gap: 13px; overflow-x: auto; scroll-snap-type: x proximity; }
  .dogsoria-related-list > .dogsoria-related-item { flex: 0 0 78%; grid-template-columns: 112px minmax(0, 1fr); scroll-snap-align: start; }
  .dogsoria-related-list .dogsoria-related-thumb { width: 112px; }
  .dogsoria-article-template .wp-block-table table { min-width: 520px; }
  .dogsoria-article-template .wp-block-table::before { color: #69716d; content: "Swipe left to view the full table →"; display: block; font-size: 12px; padding: 9px 12px; }
}

/* Viewport fallbacks for browsers without container query support. */
@media (max-width: 760px) {
  .dogsoria-single-hero { padding: 18px 18px 28px; }
  .dogsoria-single-breadcrumbs { margin-bottom: 34px; }
  .dogsoria-single-hero__grid { display: flex; flex-direction: column; gap: 34px; }
  .dogsoria-single-hero__copy { width: 100%; }
  .dogsoria-single-title,
  .dogsoria-single-hero--long-title .dogsoria-single-title,
  .dogsoria-single-hero--very-long-title .dogsoria-single-title { font-size: clamp(32px, 9vw, 40px) !important; line-height: 1.06 !important; }
  .dogsoria-single-featured { width: 100%; }
  .dogsoria-article-template { padding-bottom: 72px; }
  .dogsoria-layout { display: block !important; padding-top: 42px; width: 100% !important; }
  .dogsoria-layout__toc { gap: 0; max-height: none; position: static; }
  .dogsoria-toc__desktop { display: none; }
  .dogsoria-toc__mobile { background: #fff; border: 1px solid #d6cec1; display: block; margin-bottom: 42px; }
  .dogsoria-layout__toc .dogsoria-quick-facts { display: none; }
  .dogsoria-layout__side { display: block; margin-top: 58px !important; position: static; }
}

@media (prefers-reduced-motion: reduce) {
  .dogsoria-details summary::after,
  .dogsoria-faq summary::after { transition: none; }
}
