/** PetEvia 1.0.3 — brand presentation, based on Etheme 3.13.4.
 * Appearance colors remain owned by Customizer / theme semantic tokens.
 */
.pv-archive-breadcrumb { padding-block: var(--eth-space-xs) var(--eth-space-2xs); }
.pv-archive-breadcrumb .eth-breadcrumb { margin: 0; }

/* Only a populated split single-image Hero receives the framed treatment. */
.eth-hero.pv-hero--framed {
    --pv-hero-surface: var(--eth-bg-muted);
    padding-block: 0 var(--eth-space-m); background: transparent;
}
.pv-hero--framed.eth-hero--bg-soft { --pv-hero-surface: color-mix(in srgb, var(--eth-primary) 7%, var(--eth-bg-surface)); }
.pv-hero--framed.eth-hero--bg-accent { --pv-hero-surface: color-mix(in srgb, var(--eth-secondary) 9%, var(--eth-bg-surface)); }
.pv-hero--framed.eth-hero--bg-sunset { --pv-hero-surface: color-mix(in srgb, var(--eth-secondary) 6%, var(--eth-bg-surface)); }
.pv-hero--framed.eth-hero--bg-cool { --pv-hero-surface: color-mix(in srgb, var(--eth-tertiary) 8%, var(--eth-bg-surface)); }
.eth-hero.pv-hero--framed .eth-hero__grid {
    display: grid; grid-template-columns: minmax(0, 48fr) minmax(0, 52fr);
    gap: 0; align-items: stretch; min-height: calc(var(--eth-space-2xl) * 4);
    border: 0;
    border-radius: var(--eth-radius-l); overflow: hidden; background: var(--pv-hero-surface); isolation: isolate;
}
.pv-hero--framed .eth-hero__content {
    display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
    min-width: 0; padding: var(--eth-component-pad-l); padding-inline-end: var(--eth-component-pad-s);
}
.pv-hero--framed .eth-hero__title {
    font-size: calc(var(--eth-fs-hero) * var(--eth-template-title-scale,.8)); line-height: var(--eth-lh-tight);
    letter-spacing: -.04em; margin: 0 0 var(--eth-space-2xs); overflow-wrap: anywhere;
}
.pv-hero--framed .eth-hero__content > .eth-hero__subtitle {
    color: var(--eth-primary); font-size: var(--eth-fs-h2);
    line-height: var(--eth-lh-heading); letter-spacing: -.025em; font-weight: var(--eth-fw-bold); margin: 0 0 var(--eth-space-xs);
}
.pv-hero--framed .eth-hero__content > p:not(.eth-hero__subtitle,.eth-hero__overline,.eth-overline) { font-size: var(--eth-fs-body); line-height: var(--eth-lh-body); max-width: var(--eth-content-measure); }
.pv-hero--framed .eth-hero__actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: var(--eth-component-gap); margin-top: var(--eth-space-m); }
.pv-hero--framed .eth-hero__actions .eth-btn { border-radius: var(--eth-radius-s); white-space: normal; text-align: center; }
.pv-hero--framed .eth-hero__media {
    position: relative; min-width: 0; min-height: calc(var(--eth-space-2xl) * 4); border-radius: 0; animation: none;
    box-shadow: none; border: 0; overflow: hidden; background: var(--eth-bg-muted);
}
.pv-hero--framed .eth-hero__media .eth-hero__image {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center;
}
.pv-hero--framed .eth-hero__media::after {
    content: ""; position: absolute; inset: 0; border: 0; pointer-events: none;
    background: linear-gradient(90deg, var(--pv-hero-surface), transparent 32%);
}
.pv-hero--framed.eth-hero--media-left .eth-hero__grid { direction: ltr; }
.pv-hero--framed.eth-hero--media-left .eth-hero__media { grid-column: 1; grid-row: 1; }
.pv-hero--framed.eth-hero--media-left .eth-hero__content { grid-column: 2; grid-row: 1; padding-inline: var(--eth-component-pad-s) var(--eth-component-pad-l); }
.pv-hero--framed.eth-hero--media-left .eth-hero__media::after { background: linear-gradient(270deg, var(--pv-hero-surface), transparent 32%); }
.pv-hero--focus-top .eth-hero__media .eth-hero__image { object-position: center top; }
.pv-hero--focus-bottom .eth-hero__media .eth-hero__image { object-position: center bottom; }
.pv-hero--focus-left .eth-hero__media .eth-hero__image { object-position: left center; }
.pv-hero--focus-right .eth-hero__media .eth-hero__image { object-position: right center; }
.pv-hero--no-image .eth-hero__grid { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 850px) {
    .eth-hero.pv-hero--framed .eth-hero__grid { grid-template-columns: minmax(0, 1fr); }
    .pv-hero--framed .eth-hero__content,
    .pv-hero--framed.eth-hero--media-left .eth-hero__content { grid-column: 1; grid-row: 1; padding: var(--eth-component-pad-l); }
    .pv-hero--framed .eth-hero__media,
    .pv-hero--framed.eth-hero--media-left .eth-hero__media { grid-column: 1; grid-row: 2; min-height: calc(var(--eth-space-2xl) * 3.5); }
    .pv-hero--framed .eth-hero__media::after,
    .pv-hero--framed.eth-hero--media-left .eth-hero__media::after { background: linear-gradient(180deg, var(--pv-hero-surface), transparent 30%); }
}
@media (max-width: 600px) {
    .pv-archive-breadcrumb { padding-block: var(--eth-space-2xs); }
    .eth-hero.pv-hero--framed .eth-hero__grid { border-radius: var(--eth-radius-m); }
    .pv-hero--framed .eth-hero__content,
    .pv-hero--framed.eth-hero--media-left .eth-hero__content { padding: var(--eth-component-pad-m); }
    .pv-hero--framed .eth-hero__title { font-size: calc(var(--eth-fs-hero) * var(--eth-template-title-scale,.8)); }
    .pv-hero--framed .eth-hero__content > .eth-hero__subtitle { font-size: var(--eth-fs-h2); }
    .pv-hero--framed .eth-hero__actions { width: 100%; }
    .pv-hero--framed .eth-hero__actions .eth-btn { flex: 1 1 calc(var(--eth-component-pad-l) * 5); }
    .pv-hero--framed .eth-hero__media,
    .pv-hero--framed.eth-hero--media-left .eth-hero__media { min-height: calc(var(--eth-space-xl) * 5); }
}


/* PetEvia breadcrumb contract 2.0.0 — consumes the theme design system. */
nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) {
    --pv-bc-muted: var(--eth-text-muted);
    --pv-bc-current: var(--eth-link);
    display: flex; flex-wrap: wrap; align-items: baseline;
    gap: calc(var(--eth-component-gap) / 4) var(--eth-space-2xs);
    max-width: 100%; margin: 0 0 var(--eth-space-xs); padding: 0;
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
    color: var(--pv-bc-muted); font-family: inherit;
    font-size: var(--eth-fs-xs); line-height: var(--eth-lh-body); font-weight: var(--eth-fw-regular);
    letter-spacing: normal; text-transform: none;
    opacity: 1; overflow: visible; white-space: normal; overflow-wrap: anywhere;
}
nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) > a[href] {
    min-width: 0; max-width: 100%; color: var(--pv-bc-muted);
    font-size: inherit; line-height: inherit; font-weight: var(--eth-fw-regular);
    text-decoration: none; opacity: 1; white-space: normal; overflow-wrap: anywhere;
    transition: color var(--eth-transition-s);
}
nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) > a[href]:hover { color: var(--pv-bc-current); opacity: 1; }
nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) > a[href]:focus-visible {
    color: var(--pv-bc-current); outline: 2px solid currentColor;
    outline-offset: calc(var(--eth-component-gap) / 4); border-radius: var(--eth-radius-xs);
}
nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) > :is(.eth-breadcrumb__current,.eth-product-breadcrumb__current,.eth-article-breadcrumb__current) {
    min-width: 0; max-width: 100%; color: var(--pv-bc-current);
    font-size: inherit; line-height: inherit; font-weight: var(--eth-fw-bold);
    opacity: 1; white-space: normal; overflow-wrap: anywhere;
}
nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) > :is(.eth-breadcrumb__sep,.eth-product-breadcrumb__sep,.eth-article-breadcrumb__sep) {
    flex: 0 0 auto; align-self: baseline; color: var(--pv-bc-muted);
    font-size: 0; line-height: 1; font-weight: var(--eth-fw-regular); opacity: .65;
}
nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) > :is(.eth-breadcrumb__sep,.eth-product-breadcrumb__sep,.eth-article-breadcrumb__sep)::after {
    content: "›"; font-size: var(--eth-fs-small); line-height: 1;
}
.pv-archive-breadcrumb nav.eth-breadcrumb,
.pv-business-hero-breadcrumb nav.eth-breadcrumb { margin-bottom: 0; }
:is(.theme-inverted,.eth-hero--layout-cover) nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) {
    --pv-bc-muted: var(--eth-text-body);
    --pv-bc-current: var(--eth-text-title);
}
@media(max-width:600px) {
    nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) {
        column-gap: var(--eth-space-3xs); margin-bottom: var(--eth-space-xs);
    }
    .pv-archive-breadcrumb nav.eth-breadcrumb,
    .pv-business-hero-breadcrumb nav.eth-breadcrumb { margin-bottom: 0; }
}
@media(prefers-reduced-motion:reduce) {
    nav:is(.eth-breadcrumb,.eth-product-breadcrumb,.eth-article-breadcrumb) > a[href] { transition: none; }
}

/* Category typography roles: theme-owned markup and optional content-slot classes. */
.eth-category-main :is(.eth-hero__overline,.eth-section__overline,.eth-overline) {
    display: flex; align-items: baseline; gap: var(--eth-space-3xs);
    margin: 0 0 var(--eth-space-2xs); color: var(--eth-primary);
    font-family: var(--eth-font-body); font-size: var(--eth-fs-xs);
    font-weight: var(--eth-fw-bold); line-height: var(--eth-lh-heading);
    letter-spacing: .08em; text-transform: uppercase; overflow-wrap: anywhere;
}
.eth-category-main :is(.eth-hero__overline,.eth-section__overline,.eth-overline)::before {
    content: ''; display: block; flex: 0 0 var(--eth-component-pad-s);
    height: 2px; align-self: center; background: var(--eth-secondary);
}
.eth-category-main .eth-hero__title {
    margin: 0 0 var(--eth-space-2xs); font-family: var(--eth-font-heading);
    font-weight: var(--eth-fw-bold); line-height: var(--eth-lh-heading);
}
.eth-category-main :is(.eth-section__title,.eth-loop-section__heading) {
    margin: 0 0 var(--eth-space-2xs); font-family: var(--eth-font-heading);
    font-weight: var(--eth-fw-heading); line-height: var(--eth-lh-heading);
}
.eth-category-main .eth-hero__content > .eth-hero__subtitle {
    margin: 0 0 var(--eth-space-2xs);
    font-size: calc(var(--eth-fs-h4) * var(--eth-template-description-scale,1));
    font-family: var(--eth-font-heading); font-weight: var(--eth-fw-semibold);
    line-height: var(--eth-lh-heading); color: var(--eth-text-muted);
}
.eth-category-main :is(.eth-hero__content > p:not(.eth-hero__subtitle,.eth-hero__overline,.eth-overline),.eth-loop-section__description,.eth-contact__info > p) {
    margin: 0 0 var(--eth-space-2xs);
    font-family: var(--eth-font-body);
    font-size: calc(var(--eth-fs-body) * var(--eth-template-description-scale,1));
    line-height: var(--eth-lh-body); color: var(--eth-text-muted);
    max-inline-size: min(100%,var(--eth-content-measure));
}
.eth-category-main .eth-loop-section__header { margin-bottom: var(--eth-space-m); }
.eth-category-main .eth-loop-section__header--center { gap: 0; }
.eth-category-main .eth-loop-section__header--center .eth-loop-section__description { margin-inline: auto; }
.eth-category-main .eth-loop-section__description > :first-child { margin-top: 0; }
.eth-category-main .eth-loop-section__description > :last-child { margin-bottom: 0; }
.eth-category-main .eth-hero__content > p:last-child,
.eth-category-main .eth-loop-section__description:last-child { margin-bottom: 0; }


body.eth-template-section-color-primary .eth-category-main .eth-loop-section__heading { color: var(--eth-primary); }
body.eth-template-description-color-primary .eth-category-main :is(.eth-hero__content > .eth-hero__subtitle,.eth-hero__content > p:not(.eth-hero__subtitle,.eth-hero__overline,.eth-overline),.eth-loop-section__description,.eth-contact__info > p) { color: var(--eth-primary); }
body.eth-template-section-color-secondary .eth-category-main .eth-loop-section__heading { color: var(--eth-secondary); }
body.eth-template-description-color-secondary .eth-category-main :is(.eth-hero__content > .eth-hero__subtitle,.eth-hero__content > p:not(.eth-hero__subtitle,.eth-hero__overline,.eth-overline),.eth-loop-section__description,.eth-contact__info > p) { color: var(--eth-secondary); }
body.eth-template-section-color-dark .eth-category-main .eth-loop-section__heading { color: var(--eth-dark); }
body.eth-template-description-color-dark .eth-category-main :is(.eth-hero__content > .eth-hero__subtitle,.eth-hero__content > p:not(.eth-hero__subtitle,.eth-hero__overline,.eth-overline),.eth-loop-section__description,.eth-contact__info > p) { color: var(--eth-dark); }
body.eth-template-section-color-light .eth-category-main .eth-loop-section__heading { color: var(--eth-light); }
body.eth-template-description-color-light .eth-category-main :is(.eth-hero__content > .eth-hero__subtitle,.eth-hero__content > p:not(.eth-hero__subtitle,.eth-hero__overline,.eth-overline),.eth-loop-section__description,.eth-contact__info > p) { color: var(--eth-light); }


/* Native archive Loop: one container and one surface for header + results. */
.eth-category-main .eth-loop-section__header--center .eth-loop-section__overline { justify-content: center; align-self: center; }
.eth-category-main .eth-loop-section__header:not(.eth-loop-section__header--center) .eth-loop-section__overline { justify-content: flex-start; }
.eth-category-main .eth-loop-section__header { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.eth-category-main .eth-loop-section__overline { margin: 0 0 var(--eth-space-2xs); }
.eth-category-main .eth-loop-section__header > :last-child { margin-bottom: 0; }
.eth-category-main .eth-loop-section.eth-loop-section--surface-surface { background: var(--eth-bg-surface); }
.eth-category-main .eth-loop-section.eth-loop-section--surface-muted { background: var(--eth-bg-muted); }
.eth-category-main .eth-loop-section.eth-loop-section--surface-warm { background: var(--eth-bg-warm); }
.eth-category-main .eth-loop-section.eth-loop-section--surface-primary-soft { background: var(--eth-bg-primary-soft); }
.eth-category-main .eth-loop-section.eth-loop-section--surface-secondary-soft { background: var(--eth-bg-secondary-soft); }
.eth-category-main .eth-loop-section.eth-loop-section--surface-tertiary-soft { background: var(--eth-bg-tertiary-soft); }
