/* Herzwerk – Werkstatt-Designsystem. Farben, Schriften und Größen kommen aus theme.json (--wp--preset--*). */

:root {
	--hw-ease: var(--wp--custom--ease, cubic-bezier(.16,.8,.24,1));
	--hw-line: var(--wp--preset--color--line);
	--hw-mono: var(--wp--preset--font-family--mono);
	--hw-display: var(--wp--preset--font-family--display);
	--hw-section: clamp(4rem, 9vw, 8.75rem);
	--hw-eye-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 200' preserveAspectRatio='none'%3E%3Cpath d='M0 130C80 40 300 40 380 130C300 220 80 220 0 130Z'/%3E%3C/svg%3E");
	--hw-lashes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 200' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23E98876' stroke-linecap='round'%3E%3Cpath stroke-width='2.4' d='M0 130C80 40 300 40 380 130'/%3E%3Cpath stroke-width='2' d='M70 84Q66 73 74 72M90 77Q86 65 95 64M110 71Q107 58 117 57M131 67Q129 52 140 51M153 64Q151 48 163 47M175 63Q174 45 188 43M197 63Q198 43 212 42M219 64Q221 42 237 41M241 66Q244 43 262 41M263 70Q268 45 286 44M283 75Q291 49 311 47M303 81Q313 54 335 52M322 89Q335 61 358 59M339 98Q356 69 381 67M355 108Q376 79 403 77M370 120Q395 92 424 90'/%3E%3C/g%3E%3C/svg%3E");
	--hw-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 36'%3E%3Cpath fill='%23E98876' d='M20 33C9 25 3 19 3 11.5 3 6.8 6.6 3 11.2 3c3.6 0 6.8 2.2 8.8 5.4C22 5.2 25.2 3 28.8 3 33.4 3 37 6.8 37 11.5 37 19 31 25 20 33Z'/%3E%3C/svg%3E");
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 2px solid var(--wp--preset--color--coral); outline-offset: 3px; }
.hw-main { padding-bottom: 0; }
.hw-main > .wp-block-post-content > :first-child { margin-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Werkstatt-Stimme ---------- */
.is-style-mono { font-family: var(--hw-mono) !important; font-size: var(--wp--preset--font-size--xs); letter-spacing: .02em; line-height: 1.7; font-weight: 400; }
.hw-eyebrow { color: var(--wp--preset--color--mint-deep); margin-bottom: .75rem; }
.hw-legal { color: var(--wp--preset--color--mint-deep); font-size: .6875rem !important; }
.hw-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--mocha); max-width: 34rem; }
.hw-muted { color: var(--wp--preset--color--mocha); font-size: var(--wp--preset--font-size--small); }
.has-peach-background-color .hw-lead, .has-rose-background-color .hw-lead, .has-peach-background-color .hw-muted, .has-rose-background-color .hw-muted { color: var(--wp--preset--color--espresso); }
.hw-link a { color: var(--wp--preset--color--espresso); font-weight: 600; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .45s ease; padding: .25rem 0; }
.hw-link a:hover { background-size: 100% 1px; }
.is-style-heart::after { content: ""; display: inline-block; width: .2em; height: .18em; margin-left: .03em; background: var(--hw-heart) center / contain no-repeat; vertical-align: baseline; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: transform .35s var(--hw-ease), box-shadow .35s ease, background-color .35s ease; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -16px rgba(42,94,79,.55); }
.wp-block-button.is-style-mint .wp-block-button__link { background-color: var(--wp--preset--color--mint-deep); color: var(--wp--preset--color--ivory); }
.wp-block-button.is-style-mint .wp-block-button__link:hover { background-color: #224d41; }
.wp-block-button.is-style-line .wp-block-button__link { background: transparent; color: var(--wp--preset--color--espresso); box-shadow: inset 0 0 0 1px var(--wp--preset--color--espresso); }
.wp-block-button.is-style-light .wp-block-button__link { background: var(--wp--preset--color--ivory); color: var(--wp--preset--color--mint-deep); }

/* ---------- Kopfzeile ---------- */
.hw-topbar { padding-top: .55rem; padding-bottom: .55rem; }
.hw-topbar p { margin: 0; font-size: .75rem; }
.hw-header { padding-top: 1.1rem; padding-bottom: 1.1rem; position: sticky; top: 0; z-index: 50; background: rgba(255,249,245,.97); }
.admin-bar .hw-header { top: 32px; }
.hw-header__inner { gap: 1.5rem; }
.hw-logo { display: flex; align-items: center; gap: .6rem; text-decoration: none; flex: none; }
.hw-logo img { display: block; height: 50px; width: auto; }
.hw-logo img + img { height: 44px; }
.hw-nav a { text-decoration: none; color: var(--wp--preset--color--espresso); }
.hw-nav a:hover { color: var(--wp--preset--color--mint-deep); }
.hw-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem var(--wp--custom--gutter); }
.hw-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.hw-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(42,94,79,.25); }
.hw-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--hw-display); font-size: 2.5rem; line-height: 1; letter-spacing: -.02em; padding: .9rem 0 !important; display: block; }
.hw-nav .wp-block-navigation__responsive-container-open, .hw-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; border-radius: 999px; align-items: center; justify-content: center; }
@media (max-width: 599px) { .hw-nav .wp-block-navigation__responsive-container-open { display: flex; } }
.hw-nav .wp-block-navigation__responsive-container-open { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--mint-deep); }
.hw-header__actions { gap: .6rem; }
.hw-header .wc-block-mini-cart__button { width: 46px; height: 46px; border-radius: 999px; border: 1px solid var(--hw-line); justify-content: center; padding: 0; }

/* ---------- Hero ---------- */
.hw-hero { padding-top: clamp(1.5rem, 4vw, 3.5rem); padding-bottom: 2.5rem; }
.hw-claim { font-family: var(--hw-display); font-size: var(--wp--preset--font-size--display); line-height: .86; letter-spacing: -.035em; display: flex; flex-direction: column; }
.hw-claim > * { margin: 0 !important; }
.hw-claim__row { gap: .08em !important; align-items: center; }
.hw-claim__word { margin: 0; font-size: inherit; line-height: inherit; }
.hw-claim__accent { align-self: flex-end; color: var(--wp--preset--color--mint-deep); }
.is-style-eye { position: relative; margin: 0 !important; flex: 1 1 120px; max-width: 440px; aspect-ratio: 380 / 200; }
.is-style-eye img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; -webkit-mask: var(--hw-eye-mask) center / 100% 100% no-repeat; mask: var(--hw-eye-mask) center / 100% 100% no-repeat; }
.is-style-eye::after { content: ""; position: absolute; left: 0; top: 0; width: 113%; height: 100%; background: var(--hw-lashes) left top / 100% 100% no-repeat; pointer-events: none; }
.hw-hero__meta { margin-top: 3rem !important; padding-top: 1.75rem; border-top: 1px solid var(--hw-line); gap: 2.5rem; }
.hw-hero__h1 { font-size: .8125rem !important; color: var(--wp--preset--color--mint-deep); max-width: 22rem; letter-spacing: .02em; text-wrap: initial; }
.hw-ruler { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); font-family: var(--hw-mono); font-size: .6875rem; color: var(--wp--preset--color--mocha); }
.hw-ruler span { border-left: 1px solid var(--wp--preset--color--coral); padding-left: 6px; }
.hw-ruler span:last-child { border-right: 1px solid var(--wp--preset--color--coral); }
.hw-ruler span:nth-child(1), .hw-ruler span:nth-child(9) { padding-top: 22px; }
.hw-ruler span:nth-child(2), .hw-ruler span:nth-child(8) { padding-top: 14px; }
.hw-ruler span:nth-child(3), .hw-ruler span:nth-child(7) { padding-top: 8px; }
.hw-ruler span:nth-child(4), .hw-ruler span:nth-child(6) { padding-top: 2px; }

/* Bewegung: nur mit JS und ohne „Bewegung reduzieren“. Ohne JS ist alles sofort sichtbar. */
@media (prefers-reduced-motion: no-preference) {
	.hw-js .hw-claim__word { animation: hw-rise 1.2s var(--hw-ease) both; }
	.hw-js .hw-claim__row .hw-claim__word { animation-delay: .05s; }
	.hw-js .hw-claim > .hw-claim__word { animation-delay: .2s; }
	.hw-js .hw-claim > .hw-claim__accent { animation-delay: .45s; }
	.hw-js .is-style-eye img { animation: hw-open 1s .4s var(--hw-ease) both; }
	.hw-js .is-style-eye::after { animation: hw-lash 1.4s .7s var(--hw-ease) both; }
	.hw-js .hw-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--hw-ease), transform .9s var(--hw-ease); }
	.hw-js .hw-reveal.is-in { opacity: 1; transform: none; }
	.is-style-heart::after { animation: hw-beat 2.8s 2s ease-in-out infinite; }
}
@keyframes hw-rise { from { opacity: 0; transform: translateY(40px); } }
@keyframes hw-open { from { opacity: 0; transform: scaleY(.08); } }
@keyframes hw-lash { from { opacity: 0; clip-path: inset(0 100% 0 0); } to { opacity: 1; clip-path: inset(0 0 0 0); } }
@keyframes hw-beat { 0%, 100% { transform: scale(1); } 12% { transform: scale(1.18); } 24% { transform: scale(1); } }

/* ---------- Sektionen ---------- */
.hw-section, .hw-intro { padding-top: var(--hw-section); padding-bottom: 0; }
.hw-intro + .hw-section { padding-top: clamp(4rem, 8vw, 8rem); }
.hw-section__head { gap: 1.5rem; margin-bottom: 2.5rem; align-items: flex-end; }
.hw-section__head > * { margin: 0; }
.hw-statement { font-family: var(--hw-display); line-height: 1.12; letter-spacing: -.02em; max-width: 1180px; }
.hw-pill { display: inline-block; height: .9em !important; width: auto; border-radius: 999px; vertical-align: middle; object-fit: cover; }

/* Behandlungs-Panels: Grundzustand untereinander (ohne JS lesbar). */
.hw-panels { display: flex; flex-direction: column; gap: 10px; }
.hw-panel { border-radius: var(--wp--custom--radius--panel); padding: 0; overflow: hidden; margin: 0 !important; }
.hw-panel__head { padding: 1.4rem 1.4rem .4rem; gap: 1rem; margin: 0; }
.hw-panel__head > * { margin: 0; }
.hw-panel__title { font-size: clamp(1.75rem, 2.6vw, 2.5rem); }
.hw-panel__toggle { all: unset; cursor: pointer; display: block; flex: 1; border-radius: 12px; }
.hw-panel__toggle:focus-visible { outline: 2px solid var(--wp--preset--color--coral); outline-offset: 4px; }
.hw-panel__from { white-space: nowrap; padding-top: .4rem; }
.hw-panel__body { display: flex; flex-wrap: wrap; gap: 1.5rem; padding: 1rem 1.4rem 1.6rem; margin: 0 !important; }
.hw-panel__body > * { margin: 0 !important; }
.hw-panel__img { flex: 1 1 260px; }
.hw-panel__img img { width: 100%; height: 100%; min-height: 220px; max-height: 360px; object-fit: cover; border-radius: 20px !important; }
.hw-panel__text { flex: 1 1 260px; display: flex; flex-direction: column; justify-content: flex-end; gap: 1rem; }
.hw-panel__text > * { margin: 0 !important; }
.hw-panels.is-enhanced .hw-panel:not(.is-open) .hw-panel__body { display: none; }
.hw-panels.is-enhanced .hw-panel:not(.is-open) .hw-panel__from { opacity: .8; }
@media (min-width: 981px) {
	.hw-panels.is-enhanced { flex-direction: row; height: 600px; }
	.hw-panels.is-enhanced .hw-panel { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; transition: flex-grow .8s var(--hw-ease); }
	.hw-panels.is-enhanced .hw-panel.is-open { flex-grow: 6; }
	.hw-panels.is-enhanced .hw-panel:not(.is-open) .hw-panel__head { padding: 1.6rem 1rem; height: 100%; align-items: flex-start; }
	.hw-panels.is-enhanced .hw-panel:not(.is-open) .hw-panel__title { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font-size: 1.875rem; }
	.hw-panels.is-enhanced .hw-panel:not(.is-open) .hw-panel__from { display: none; }
	.hw-panels.is-enhanced .hw-panel.is-open .hw-panel__body { flex: 1; min-height: 0; flex-wrap: nowrap; }
	.hw-panels.is-enhanced .hw-panel__body { animation: hw-fade .5s .15s both; }
}
@keyframes hw-fade { from { opacity: 0; } }

/* Preistabellen */
.wp-block-table.is-style-prices { margin: 0; }
.wp-block-table.is-style-prices table { border-collapse: collapse; width: 100%; table-layout: auto; }
.wp-block-table.is-style-prices td { border: 0; border-bottom: 1px solid rgba(73,59,56,.22); padding: .65rem 0; vertical-align: top; }
.wp-block-table.is-style-prices tr:first-child td { border-top: 1px solid rgba(73,59,56,.22); }
.wp-block-table.is-style-prices td:last-child { text-align: right; white-space: nowrap; padding-left: 1rem; }
.hw-pricetable td { padding: 1.2rem .8rem !important; font-size: 1rem; }
.hw-pricetable td:first-child { font-family: var(--wp--preset--font-family--sans); }
.hw-pricetable td strong { font-weight: 500; font-size: 1.0625rem; }
.hw-pricetable tr { transition: background .3s ease; }
.hw-pricetable tr:hover { background: var(--wp--preset--color--linen); }
.hw-hours td { border-color: var(--hw-line) !important; }

/* Dunkle Sektion */
.hw-dark { padding-top: var(--hw-section); padding-bottom: var(--hw-section); margin-top: var(--hw-section) !important; }
.hw-dark h2 { margin: 0; }
.hw-fact { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 1.25rem; padding: 1.5rem 0; border-top: 1px solid rgba(205,233,220,.3); margin: 0 !important; }
.hw-fact:last-child { border-bottom: 1px solid rgba(205,233,220,.3); }
.hw-fact > * { margin: 0 !important; }
.hw-fact__label { color: var(--wp--preset--color--mint); padding-top: .2rem; }
.hw-fact p:not(.hw-fact__label) { color: #F0E4DD; }

/* Bilder-Stile */
.is-style-arch img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: 300px 300px var(--wp--custom--radius--card) var(--wp--custom--radius--card) !important; }
.is-style-arch figcaption { font-family: var(--hw-mono); margin-top: .75rem; }

/* Shop */
.hw-shop { padding-top: clamp(4rem, 8vw, 7.5rem); padding-bottom: clamp(4rem, 8vw, 7.5rem); margin-top: var(--hw-section) !important; }
.hw-shop__intro { max-width: 26rem; }
.hw-products .wc-block-product-template, .hw-products ul.wc-block-product-template { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(160px, 100%), 1fr)); gap: 16px; padding: 0; margin: 0; list-style: none; }
.hw-products .wc-block-product { background: var(--wp--preset--color--ivory); border-radius: var(--wp--custom--radius--card); padding: 14px 14px 18px; display: flex; flex-direction: column; gap: .6rem; width: auto !important; margin: 0 !important; }
.hw-products .wc-block-components-product-image img { border-radius: var(--wp--custom--radius--image); aspect-ratio: 1 / 1; object-fit: cover; transition: transform .7s var(--hw-ease); }
.hw-products .wc-block-product:hover .wc-block-components-product-image img { transform: translateY(-6px) rotate(-2deg); }
.hw-product__title { font-size: 1.3rem !important; line-height: 1.12; margin: 0 !important; flex: 1; text-align: left; }
.hw-product__title a { color: var(--wp--preset--color--espresso); text-decoration: none; }
.hw-product__price { font-family: var(--hw-mono); font-size: .9375rem; text-align: left; margin: 0 !important; }
.hw-product__button { text-align: left !important; margin: 0 !important; }
.hw-product__button .wp-block-button__link { font-size: .875rem; padding: .6rem 1rem; width: 100%; }
.hw-voucher { border-radius: 28px; padding: clamp(1.75rem, 4vw, 3.5rem); margin-top: 16px !important; position: relative; overflow: hidden; }
.hw-voucher::before { content: ""; position: absolute; left: -60px; bottom: -90px; width: 360px; height: 330px; opacity: .45; background: var(--hw-heart) center / contain no-repeat; filter: saturate(.6); pointer-events: none; }
.hw-voucher > * { position: relative; }
.hw-chips { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1.25rem !important; }
.hw-chips li { font-family: var(--hw-mono); font-size: .875rem; border: 1px solid rgba(73,59,56,.3); border-radius: 999px; padding: .6rem 1rem; min-width: 3.5rem; text-align: center; }

/* Bewertungen */
.hw-bignum { font-family: var(--hw-display); font-size: clamp(7.5rem, 14vw, 13.75rem); line-height: .8; letter-spacing: -.05em; color: var(--wp--preset--color--mint-deep); margin: 0 0 2rem !important; }
.wp-block-quote.is-style-review { margin: 0 !important; padding: 2rem 0 !important; border-top: 1px solid var(--hw-line) !important; display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 1.5rem; }
.wp-block-quote.is-style-review:last-child { border-bottom: 1px solid var(--hw-line) !important; }
.wp-block-quote.is-style-review p { margin: 0; }
.wp-block-quote.is-style-review cite { margin: 0; padding-top: .4rem; }

/* Instagram */
.hw-insta__grid { gap: 10px !important; }
.hw-insta__grid .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px !important; }

/* Studio */
.hw-studio__img img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; border-radius: 28px !important; }
.hw-card { border: 1px solid var(--hw-line); border-radius: 28px; padding: clamp(1.75rem, 3vw, 2.75rem) !important; }
.hw-card > * { margin-top: 0; }

/* Abschluss */
.hw-cta { padding-top: clamp(4rem, 8vw, 7.5rem); padding-bottom: clamp(4rem, 8vw, 7.5rem); margin-top: var(--hw-section) !important; }
.hw-cta__title { font-size: clamp(3.5rem, 8.4vw, 8.25rem); line-height: .9; letter-spacing: -.04em; margin: 0; }

/* Seitenköpfe */
.hw-pagehead { padding-top: clamp(2.5rem, 6vw, 5rem); }
.hw-pagehead__title { font-size: clamp(3.75rem, 9vw, 8.75rem) !important; line-height: .9; letter-spacing: -.04em; margin: 0; }
.hw-pagehead__eye { max-width: 520px; margin-top: 2.5rem !important; }
.hw-steps { padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(3rem, 6vw, 5rem); margin-top: var(--hw-section) !important; }
.hw-faq summary { font-family: var(--hw-display); font-size: 1.5rem; line-height: 1.2; cursor: pointer; padding: .4rem 0; }
.is-style-facts { list-style: none; padding: 0 !important; }
.is-style-facts:not(.hw-chips) li { padding: .75rem 0; border-top: 1px solid var(--hw-line); }

/* Preis-Reiter (JS) */
.hw-tabs { padding-top: 2rem; }
.hw-tab { padding: 2.5rem 0; border-top: 1px solid var(--hw-line); margin: 0 !important; }
.hw-tab__card { border-radius: var(--wp--custom--radius--panel); padding: 2rem; }
.hw-tab__card > * { margin-top: 0; }
.hw-tabs__list { display: flex; flex-wrap: wrap; gap: 8px; padding: 1.25rem 0 2rem; border-bottom: 1px solid var(--hw-line); }
.hw-tabs__btn { font: 500 .9375rem var(--wp--preset--font-family--sans); height: 46px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--hw-line); background: var(--wp--preset--color--ivory); color: var(--wp--preset--color--espresso); cursor: pointer; transition: background .3s ease, color .3s ease; }
.hw-tabs__btn[aria-selected="true"] { background: var(--wp--preset--color--mint-deep); border-color: var(--wp--preset--color--mint-deep); color: var(--wp--preset--color--ivory); }
.hw-tabs.is-enhanced .hw-tab { border-top: 0; padding-top: 3rem; }
.hw-tabs.is-enhanced .hw-tab[hidden] { display: none; }

/* Fußzeile */
.hw-footer { padding-top: 5rem; padding-bottom: 2.25rem; }
.hw-footer a { color: #F0E4DD; text-decoration: none; }
.hw-footer a:hover { color: var(--wp--preset--color--mint); }
.hw-footer__label { color: var(--wp--preset--color--mint); margin-bottom: .6rem; }
.hw-footer__cols p { line-height: 1.9; font-size: .9375rem; }
.hw-footer__logo { background: var(--wp--preset--color--ivory); border-radius: 24px; padding: 18px 26px; display: inline-block; margin: 0; }
.hw-footer__logo img { border-radius: 0 !important; }
.hw-footer__bottom { margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(205,233,220,.25); gap: 1rem; }
.hw-footer__bottom p { margin: 0; }
.hw-mobilebar { display: none; }

/* WooCommerce-Seiten */
.hw-woo { padding-top: 2.5rem; padding-bottom: var(--hw-section); }
.hw-woo .wp-block-post-title { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; }
.hw-woo .wc-block-components-product-price, .hw-woo .price { font-family: var(--hw-mono); }
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-family: var(--hw-mono); font-size: .75rem; }

/* ---------- Smartphone ---------- */
@media (max-width: 980px) {
	.hw-hide-mobile { display: none !important; }
	.hw-claim__row { flex-wrap: wrap !important; }
	.hw-claim__row .is-style-eye { flex: 1 1 100%; max-width: 100%; order: 3; margin: .12em 0 !important; }
	.hw-claim__accent { font-size: .7em; }
	.hw-ruler { display: none; }
	.hw-fact { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
	.wp-block-quote.is-style-review { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
	.hw-mobilebar { display: flex; position: fixed; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 60; gap: 6px; padding: 6px; border-radius: 999px; background: var(--wp--preset--color--mint-deep); box-shadow: 0 18px 40px -16px rgba(42,94,79,.7); }
	.hw-mobilebar a { height: 50px; border-radius: 999px; display: flex; align-items: center; justify-content: center; text-decoration: none; }
	.hw-mobilebar__call { width: 50px; color: var(--wp--preset--color--mint); }
	.hw-mobilebar__book { flex: 1; background: var(--wp--preset--color--ivory); color: var(--wp--preset--color--mint-deep); font-weight: 600; }
	.hw-footer { padding-bottom: 6.5rem; }
	.hw-logo img { height: 40px; }
	.hw-logo img + img { height: 34px; }
	.hw-header { padding-top: .75rem; padding-bottom: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Feinschliff nach lokalem Test */
.hw-panel__img { background: rgba(255,249,245,.6); border-radius: 20px; }
.hw-panel__img img[src*="platzhalter-"] { opacity: .5; }
.hw-product__title { font-size: 1.15rem !important; overflow-wrap: normal; hyphens: auto; -webkit-hyphens: auto; }
.wp-block-quote.is-style-review cite { font-family: var(--hw-mono); font-size: .75rem; line-height: 1.6; color: var(--wp--preset--color--mocha); }
.hw-card > * + * { margin-top: 1.1rem !important; }
.hw-card .wp-block-heading { margin-bottom: .4rem; }
.hw-voucher::before { opacity: .22; }
.hw-insta .wp-block-heading { overflow-wrap: anywhere; }
@media (max-width: 600px) { .hw-insta .wp-block-heading { font-size: 1.75rem !important; } }
.hw-hero { overflow-x: clip; }
@media (max-width: 980px) { .hw-claim__row .is-style-eye { flex-basis: 88%; max-width: 88%; } }
.hw-pagehead__title { font-size: clamp(3rem, 7vw, 7rem) !important; hyphens: manual; }
.hw-woo .wp-block-woocommerce-product-details h2, .hw-woo .woocommerce-Reviews-title, .hw-woo #reply-title { font-size: 1.75rem; line-height: 1.2; }
.hw-woo input[type="text"], .hw-woo input[type="email"], .hw-woo textarea, .hw-woo select, .hw-woo .qty { border: 1px solid rgba(73,59,56,.3); border-radius: 12px; padding: .7rem .9rem; font: inherit; background: var(--wp--preset--color--ivory); min-height: 44px; box-sizing: border-box; }
/* Tablet: Menü schon unter 981 px als Overlay, damit die Navigation nicht umbricht */
@media (min-width: 600px) and (max-width: 980px) {
	.hw-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.hw-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.wc-block-mini-cart__drawer[aria-hidden="true"] { visibility: hidden; }
.hw-nav .is-menu-open .wp-block-navigation__responsive-container-content, .hw-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; }
.hw-nav .is-menu-open .wp-block-navigation-item { text-align: left; }
