/* VBH content 0.3.0. Every rule stays inside the two content roots. */
.vbh-xp { --vbh-xp-orange: #d76b36; }
.vbh-xp [hidden] { display: none !important; }
.vbh-xp h1, .vbh-xp h2, .vbh-xp h3, .vbh-xp p, .vbh-xp a, .vbh-xp summary { overflow-wrap: anywhere; }
.vbh-xp .vbh-xp-hero { display: grid; grid-template-columns: 1.13fr 1fr; align-items: center; gap: clamp(32px, 5vw, 72px); padding-block: clamp(42px, 6vw, 90px); }
.vbh-xp .vbh-xp-hero-copy { min-width: 0; }
.vbh-xp .vbh-xp-hero h1 { font-size: clamp(2.35rem, 4vw, 3.65rem); line-height: 1.09; max-width: 18ch; }
.vbh-xp .vbh-xp-hero .vbh-lead { font-size: clamp(1rem, 1.4vw, 1.18rem); margin-top: 24px; }
.vbh-xp .vbh-xp-hero .vbh-actions { margin-top: 30px; }
.vbh-xp .vbh-xp-signature { margin: 23px 0 0; font-size: .8rem; color: var(--vbh-ink-soft); }
.vbh-xp .vbh-xp-hero-visual { position: relative; margin: 0; min-width: 0; overflow: hidden; border-radius: 40px 100px 40px 40px; background: var(--vbh-sage-pale); box-shadow: var(--vbh-shadow); }
.vbh-xp .vbh-xp-hero-visual img { display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1.04; object-fit: cover; object-position: 76% center; }
.vbh-xp .vbh-xp-hero-visual figcaption { position: absolute; left: 18px; right: 18px; bottom: 18px; margin: 0; padding: 14px 18px; border-radius: 16px; background: rgba(250,248,242,.94); color: var(--vbh-forest-deep); font: 600 clamp(1.1rem, 1.6vw, 1.4rem) Georgia, serif; text-align: center; }
.vbh-xp .vbh-xp-hero--wissen h1 { font-size: clamp(2.25rem, 3.7vw, 3.5rem); }
.vbh-xp .vbh-xp-hero--wissen .vbh-xp-hero-visual { border-radius: 36px; }
.vbh-xp .vbh-xp-hero--wissen .vbh-xp-hero-visual img { aspect-ratio: 1.12; }
.vbh-xp .vbh-xp-heading { max-width: 780px; margin-bottom: 32px; }
.vbh-xp .vbh-xp-heading h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.vbh-xp .vbh-xp-heading--split { display: flex; justify-content: space-between; align-items: end; gap: 30px; max-width: none; }
.vbh-xp .vbh-xp-heading--split > div { max-width: 780px; }
.vbh-xp .vbh-xp-heading--split > a { flex-shrink: 0; }
.vbh-xp .vbh-xp-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.vbh-xp .vbh-xp-path { display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid var(--vbh-line); border-radius: 25px; background: white; box-shadow: var(--vbh-shadow-sm); transition: transform .2s ease, box-shadow .2s ease; }
.vbh-xp .vbh-xp-path--featured { background: var(--vbh-sage-pale); }
.vbh-xp .vbh-xp-path:hover { transform: translateY(-4px); box-shadow: var(--vbh-shadow); }
.vbh-xp .vbh-xp-path h3 { font-size: 1.6rem; }
.vbh-xp .vbh-xp-path p { font-size: .95rem; }
.vbh-xp .vbh-xp-path > a { margin-top: auto; }
.vbh-xp .vbh-xp-catalog-section { background: #eaf0e9; scroll-margin-top: 24px; }
.vbh-xp .vbh-xp-commercial { margin: 26px 0 0; max-width: 900px; font-size: .8rem; line-height: 1.6; color: var(--vbh-ink-soft); }
.vbh-xp .catalog-filters { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 0 0 12px; }
.vbh-xp .filter-group { display: flex; flex-wrap: wrap; gap: 8px; }
.vbh-xp .filter { min-height: 44px; border: 1px solid #b6c6b7; border-radius: 30px; padding: 9px 21px; background: white; color: var(--vbh-forest-deep); font-family: inherit; font-size: .94rem; font-weight: 650; line-height: 1.25; cursor: pointer; }
.vbh-xp .filter[aria-pressed="true"] { background: var(--vbh-forest); color: white; border-color: var(--vbh-forest); }
.vbh-xp .filter--quiet { padding-inline: 16px; }
.vbh-xp .catalog-count { color: var(--vbh-ink-soft); font-size: .82rem; margin: 14px 0 20px; }
.vbh-xp .catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; }
.vbh-xp .product-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #d4dfd2; border-radius: 24px; background: #fff; box-shadow: 0 7px 24px #233f3210; transition: transform .2s ease, box-shadow .2s ease; }
.vbh-xp .product-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px #233f321b; }
.vbh-xp .product-image { position: relative; display: grid; place-items: center; padding: 27px; background: #fff; aspect-ratio: 1.35; overflow: hidden; }
.vbh-xp .product-image img { width: 100%; height: 100%; max-height: 250px; object-fit: contain; transition: transform .3s ease; }
.vbh-xp .product-card:hover .product-image img { transform: scale(1.035); }
.vbh-xp .product-tag { position: absolute; left: 15px; top: 14px; border-radius: 20px; padding: 4px 10px; font-size: .72rem; font-weight: 700; background: #eef3eb; color: var(--vbh-forest-dark); }
.vbh-xp .product-body { display: flex; flex-direction: column; align-items: stretch; padding: 23px; flex: 1; border-top: 1px solid #f0f1ed; }
.vbh-xp .product-body h3 { font-size: 1.47rem; line-height: 1.16; margin: 0 0 12px; }
.vbh-xp .product-description { margin: 0 0 18px; font-size: .88rem; line-height: 1.6; color: var(--vbh-ink-soft); }
.vbh-xp .variant-label { display: flex; justify-content: space-between; align-items: center; gap: 14px; font-size: .82rem; margin: auto 0 12px; }
.vbh-xp .variant-label select { width: 58%; min-width: 0; min-height: 44px; height: auto; padding: 9px 28px 9px 12px; border: 1px solid #c8d5c8; border-radius: 9px; background-color: white; color: var(--vbh-ink); font: inherit; }
.vbh-xp .product-unit { font-size: .76rem; color: var(--vbh-ink-soft); margin: 0 0 18px; }
.vbh-xp .product-prices { display: flex; flex-direction: column; gap: 3px; margin-top: auto; margin-bottom: 19px; min-height: 112px; }
.vbh-xp .price-label { font-size: .73rem; color: var(--vbh-ink-soft); }
.vbh-xp .price-value { color: var(--vbh-forest-deep); font-size: 1.65rem; line-height: 1.25; letter-spacing: -.03em; }
.vbh-xp .price-value--new { color: var(--vbh-forest); font-size: 1.85rem; font-weight: 800; }
.vbh-xp .original-price { color: var(--vbh-ink-soft); font-size: .8rem; text-decoration: line-through; text-decoration-thickness: 1px; }
.vbh-xp .unit-price, .vbh-xp .shipping, .vbh-xp .new-conditions { font-size: .72rem; line-height: 1.45; color: var(--vbh-ink-soft); }
.vbh-xp .shipping a { text-decoration: underline; color: inherit; }
.vbh-xp .new-price { font-size: .88rem; font-weight: 700; color: var(--vbh-forest); }
.vbh-xp .price-fallback { font-size: .85rem; margin: 0; }
.vbh-xp .shop-button, .vbh-xp .more-button { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 15px; border: 1px solid var(--vbh-forest); border-radius: 10px; background: var(--vbh-forest); color: white; font-family: inherit; font-size: .88rem; font-weight: 650; line-height: 1.4; text-align: center; text-decoration: none; cursor: pointer; }
.vbh-xp .shop-button:hover, .vbh-xp .more-button:hover { background: var(--vbh-forest-dark); color: white; }
.vbh-xp .shop-button[aria-disabled="true"] { opacity: .6; cursor: default; }
.vbh-xp .more-button { margin: 28px auto 0; max-width: 100%; }
.vbh-xp :is(button,a,select,summary):focus-visible { outline: 3px solid var(--vbh-xp-orange); outline-offset: 4px; }
.vbh-xp .vbh-xp-catalog-fallback { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.vbh-xp .vbh-xp-catalog-fallback details { padding: 16px; border: 1px solid var(--vbh-line); border-radius: 14px; background: white; }
.vbh-xp .vbh-xp-catalog-fallback summary { cursor: pointer; font-weight: 700; }
.vbh-xp .vbh-xp-catalog-fallback ul { padding-left: 20px; }
.vbh-xp .vbh-xp-person { display: grid; grid-template-columns: 240px minmax(0,1fr); align-items: center; gap: 65px; }
.vbh-xp .vbh-xp-person-mark { width: 230px; height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border-radius: 50% 50% 44% 44%; background: var(--vbh-sage-pale); color: var(--vbh-forest); font: 600 5.4rem/1.1 Georgia,serif; }
.vbh-xp .vbh-xp-person-mark span { font: 650 .8rem/1.4 system-ui,sans-serif; }
.vbh-xp .vbh-xp-person p { max-width: 760px; }
.vbh-xp .vbh-insight-card__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vbh-xp .vbh-insight-card__visual { aspect-ratio: 1.7; }
.vbh-xp .vbh-xp-team-visual { display: flex; align-items: center; justify-content: space-between; padding: 28px; background: linear-gradient(125deg,#dce8dc,#eef2df); color: var(--vbh-forest-dark); text-decoration: none; }
.vbh-xp .vbh-xp-team-visual span { font: 600 2.3rem/1.05 Georgia,serif; }
.vbh-xp .vbh-xp-team-visual svg { width: 65px; height: 65px; fill: currentColor; opacity: .6; }
.vbh-xp .vbh-xp-editorial { display: grid; grid-template-columns: 1.2fr 1fr; gap: 45px; padding: clamp(24px,4vw,45px); border: 1px solid var(--vbh-line); border-radius: 30px; background: #eaf0e7; }
.vbh-xp .vbh-xp-editorial h2 { font-size: 2.3rem; }
.vbh-xp .vbh-xp-editorial h3 { font-size: 1.7rem; }
.vbh-xp .vbh-xp-contact { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: clamp(25px,4vw,48px); margin-bottom: 75px; border-radius: 30px; background: var(--vbh-forest-dark); color: white; }
.vbh-xp .vbh-xp-contact h2 { color: white; font-size: clamp(1.9rem,3vw,2.7rem); max-width: 680px; }
.vbh-xp .vbh-xp-contact p { margin: 0; color: #e5efe8; }
.vbh-xp .vbh-xp-contact .vbh-button { flex-shrink: 0; }
@media (max-width: 960px) {
    .vbh-xp .vbh-xp-hero { grid-template-columns: 1fr 1fr; gap: 30px; }
    .vbh-xp .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .vbh-xp .vbh-xp-paths { gap: 15px; }
    .vbh-xp .vbh-xp-path { padding: 23px; }
    .vbh-xp .vbh-xp-hero h1 { font-size: 2.7rem; }
    .vbh-xp .vbh-xp-contact { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 720px) {
    .vbh-xp .vbh-xp-hero { grid-template-columns: 1fr; padding-block: 35px 15px; gap: 28px; }
    .vbh-xp .vbh-xp-hero h1 { max-width: 20ch; font-size: clamp(2.2rem,7.8vw,3.05rem); }
    .vbh-xp .vbh-xp-hero-visual { border-radius: 28px 60px 28px 28px; }
    .vbh-xp .vbh-xp-hero-visual img { aspect-ratio: 1.25; }
    .vbh-xp .vbh-xp-hero--wissen .vbh-xp-hero-visual img { aspect-ratio: 1.4; }
    .vbh-xp .vbh-xp-paths, .vbh-xp .vbh-xp-editorial, .vbh-xp .vbh-xp-catalog-fallback { grid-template-columns: 1fr; }
    .vbh-xp .vbh-xp-heading--split { align-items: flex-start; flex-direction: column; gap: 10px; }
    .vbh-xp .vbh-xp-person { grid-template-columns: 1fr; gap: 28px; }
    .vbh-xp .vbh-xp-person-mark { width: 160px; height: 160px; font-size: 4rem; }
    .vbh-xp .vbh-xp-contact { margin-bottom: 48px; }
}
@media (max-width: 480px) {
    .vbh-xp .catalog-grid { grid-template-columns: 1fr; }
    .vbh-xp .catalog-filters { flex-direction: column; align-items: flex-start; }
    .vbh-xp .product-image { aspect-ratio: 1.4; }
    .vbh-xp .filter { padding-inline: 18px; }
    .vbh-xp .filter--quiet { padding-inline: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    .vbh-xp .product-card, .vbh-xp .product-image img, .vbh-xp .vbh-xp-path { transition: none; transform: none !important; }
}
