/* ==========================================================================
   Strohauer's Backstube – Theme-Styles
   Farben/Schriften kommen aus theme.json (CSS-Variablen --wp--preset--*)
   ========================================================================== */

:root {
	--sh-bordeaux: var(--wp--preset--color--bordeaux, #650D20);
	--sh-bordeaux-dark: var(--wp--preset--color--bordeaux-dark, #420714);
	--sh-cream: var(--wp--preset--color--cream, #F8F1E5);
	--sh-ivory: var(--wp--preset--color--ivory, #FFF9F0);
	--sh-gold: var(--wp--preset--color--gold, #C69A52);
	--sh-gold-dark: var(--wp--preset--color--gold-dark, #8A6328);
	--sh-text: var(--wp--preset--color--text, #332523);
	--sh-muted: var(--wp--preset--color--muted, #6E5D57);
	--sh-border: var(--wp--preset--color--border, #E8D9C6);
	--sh-head: var(--wp--preset--font-family--heading);
	--sh-script: var(--wp--preset--font-family--script);
	--sh-radius: 3px;
	--sh-shadow: 0 14px 34px -22px rgba(66, 7, 20, .45);
	--sh-ease: cubic-bezier(.2, .7, .2, 1);
	/* Icons (Linienstil, 1.5px) */
	--sh-i-crown: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M3 8l4.5 4L12 5l4.5 7L21 8l-2 10H5L3 8z'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
	--sh-i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0 1 12 7.4 4.3 4.3 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10z'/%3E%3C/svg%3E");
	--sh-i-truck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2zM13 9h4.5L21 12.5V16h-8z'/%3E%3Ccircle cx='6' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E");
	--sh-i-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M4 15c2.5-5 5-7.5 8-9l3 3-5 5M9 14l5 5M15 9c2-1 3.5-.6 5 .5M3 21h18'/%3E%3C/svg%3E");
	--sh-i-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M5 19C5 10 10 5 20 4c0 10-5 15-14 15z'/%3E%3Cpath d='M5 19l8-8'/%3E%3C/svg%3E");
	--sh-i-gift: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M3 8h18v4H3zM5 12v9h14v-9M12 8v13'/%3E%3Cpath d='M12 8C10 4 6.5 4.5 7.5 7c.4 1 2.5 1 4.5 1zm0 0c2-4 5.5-3.5 4.5-1-.4 1-2.5 1-4.5 1z'/%3E%3C/svg%3E");
	--sh-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M14 7l5 5-5 5'/%3E%3C/svg%3E");
	--sh-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
	--sh-i-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E");
	--sh-i-snow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 6l2.5-1.5M9.5 19.5 12 18l2.5 1.5'/%3E%3C/svg%3E");
	--sh-i-store: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M4 10v10h16V10M3 10l2-6h14l2 6zM10 20v-6h4v6'/%3E%3C/svg%3E");
}

/* ---------- Basis ---------- */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
::selection { background: var(--sh-bordeaux); color: var(--sh-ivory); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--sh-gold); outline-offset: 3px; }
img { height: auto; }
.wp-site-blocks { overflow-x: clip; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
p { text-wrap: pretty; }
h1, h2, h3, h4 { text-wrap: balance; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.sh-main { min-height: 40vh; }

/* Icon-Helfer */
.sh-ico::before, .sh-usp::before, .sh-btn-arrow .wp-block-button__link::after {
	content: ""; display: inline-block; background: currentColor;
	-webkit-mask: var(--sh-icon) center / contain no-repeat; mask: var(--sh-icon) center / contain no-repeat;
}
.sh-ico--crown { --sh-icon: var(--sh-i-crown); }
.sh-ico--heart { --sh-icon: var(--sh-i-heart); }
.sh-ico--truck { --sh-icon: var(--sh-i-truck); }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .2s var(--sh-ease), color .2s var(--sh-ease), border-color .2s var(--sh-ease), transform .2s var(--sh-ease); }
.sh-btn-arrow .wp-block-button__link { display: inline-flex; align-items: center; gap: .6em; }
.sh-btn-arrow .wp-block-button__link::after { --sh-icon: var(--sh-i-arrow); width: 1.05em; height: 1.05em; transition: transform .2s var(--sh-ease); }
.sh-btn-arrow .wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button.is-style-outline-bordeaux .wp-block-button__link { background: transparent; color: var(--sh-bordeaux); border: 1px solid var(--sh-bordeaux); }
.wp-block-button.is-style-outline-bordeaux .wp-block-button__link:hover { background: var(--sh-bordeaux); color: var(--sh-ivory); }
.wp-block-button.is-style-gold .wp-block-button__link { background: linear-gradient(180deg, #D7B272, var(--sh-gold)); color: var(--sh-bordeaux-dark); border-color: var(--sh-gold); }
.wp-block-button.is-style-gold .wp-block-button__link:hover { background: var(--sh-ivory); color: var(--sh-bordeaux-dark); border-color: var(--sh-ivory); }

/* ---------- Typo-Stile ---------- */
.is-style-eyebrow { font-family: var(--wp--preset--font-family--body); font-size: .72rem !important; letter-spacing: .2em; text-transform: uppercase; color: var(--sh-gold-dark); margin-bottom: .25rem; }
.has-bordeaux-background-color .is-style-eyebrow, .has-bordeaux-dark-background-color .is-style-eyebrow { color: var(--sh-gold); }
.is-style-eyebrow a { color: inherit; text-decoration: none; }
h2.is-style-script, .wp-block-heading.is-style-script { font-family: var(--sh-script); font-weight: 400; font-size: clamp(2.6rem, 5.5vw, 4rem); line-height: 1.15; letter-spacing: 0; }
.is-style-ornament { position: relative; padding-top: 2.4rem; }
.is-style-ornament::before {
	content: ""; position: absolute; top: 0; left: 50%; width: 30px; height: 30px; transform: translateX(-50%);
	background: var(--sh-gold); -webkit-mask: var(--sh-i-crown) center / contain no-repeat; mask: var(--sh-i-crown) center / contain no-repeat;
}
.is-style-ornament:not(.has-text-align-center)::before { left: 0; transform: none; }
.is-style-ornament.has-text-align-center::after {
	content: ""; display: block; width: min(420px, 70%); height: 1px; margin: .9rem auto 0;
	background: linear-gradient(90deg, transparent, var(--sh-gold), transparent);
}

/* ---------- Topbar ---------- */
.sh-topbar { font-size: .75rem; letter-spacing: .02em; padding-block: .45rem; }
.sh-topbar__inner { gap: 1rem; }
.sh-topbar__usps { margin: 0; display: flex; gap: 1.75rem; flex-wrap: wrap; }
.sh-topbar__usps .sh-ico { display: inline-flex; align-items: center; gap: .45em; white-space: nowrap; }
.sh-topbar__usps .sh-ico::before { width: 14px; height: 14px; color: var(--sh-gold); }
.sh-topbar__actions { gap: 1.25rem; }
.sh-topbar a, .sh-topbar .wc-block-customer-account__account-icon { color: var(--sh-ivory); }
.sh-topbar .wc-block-customer-account a { color: var(--sh-ivory); text-decoration: none; display: inline-flex; align-items: center; gap: .35em; font-size: .75rem; }
.sh-topbar .wc-block-customer-account svg { width: 18px; height: 18px; }
.sh-topbar .wc-block-mini-cart__button { padding: 0; color: var(--sh-ivory); font-size: .75rem; }
.sh-topbar .wc-block-mini-cart__icon { width: 20px; height: 20px; }
.sh-topbar .wc-block-mini-cart__badge { background: var(--sh-gold) !important; color: var(--sh-bordeaux-dark) !important; font-weight: 700; }
@media (max-width: 860px) {
	.sh-topbar__usps .sh-ico:not(:first-child) { display: none; }
}
@media (max-width: 520px) {
	.sh-topbar__usps { font-size: .7rem; }
	.sh-topbar .wc-block-customer-account__label { display: none; }
}

/* ---------- Header ---------- */
.sh-header { position: relative; z-index: 20; border-bottom: 1px solid var(--sh-border); padding-block: .9rem 0; }
.sh-header__main { grid-template-columns: 1fr auto 1fr !important; align-items: center; gap: 1rem; }
.sh-header__hotline { margin: 0; font-size: .8rem; line-height: 1.35; display: flex; flex-direction: column; }
.sh-header__hotline-label { font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: var(--sh-gold-dark); }
.sh-header__hotline a { color: var(--sh-bordeaux); text-decoration: none; font-family: var(--sh-head); font-size: 1.25rem; font-weight: 600; }
.sh-logo { display: block; line-height: 0; }
.sh-logo img { width: clamp(150px, 16vw, 210px); height: auto; }
.sh-header__search { justify-self: end; width: min(100%, 290px); }
.sh-header__search .wp-block-search__inside-wrapper { border: 1px solid var(--sh-border) !important; background: var(--sh-ivory); border-radius: var(--sh-radius); padding: 2px; }
.sh-header__search .wp-block-search__input { border: 0; background: transparent; font-size: .82rem; padding: .55rem .7rem; font-family: inherit; color: var(--sh-text); }
.sh-header__search .wp-block-search__button { background: transparent; color: var(--sh-bordeaux); border: 0; padding: .35rem .55rem; margin: 0; }
.sh-header__search .wp-block-search__button svg { width: 20px; height: 20px; fill: currentColor; }

/* Navigation */
nav.sh-nav { padding-block: .85rem .95rem; margin-top: .6rem; border-top: 1px solid var(--sh-border); font-family: var(--wp--preset--font-family--body); }
.sh-nav .wp-block-navigation__container { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.sh-nav .wp-block-navigation-item__content { color: var(--sh-text); text-decoration: none; padding-block: .25rem; position: relative; font-size: .8125rem; letter-spacing: .02em; }
.sh-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: var(--sh-bordeaux); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--sh-ease); }
.sh-nav .wp-block-navigation-item__content:hover, .sh-nav .current-menu-item > .wp-block-navigation-item__content, .sh-nav [aria-current="page"] { color: var(--sh-bordeaux); }
.sh-nav .wp-block-navigation-item__content:hover::after, .sh-nav [aria-current="page"]::after { transform: scaleX(1); }
.sh-nav .wp-block-navigation__submenu-container { background: var(--sh-ivory) !important; border: 1px solid var(--sh-border) !important; box-shadow: var(--sh-shadow); padding: .5rem 0; min-width: 230px !important; }
.sh-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem 1.1rem; }
.sh-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.sh-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--sh-cream) !important; padding: 1.5rem; }
.sh-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--sh-head); font-size: 1.5rem; font-weight: 600; color: var(--sh-bordeaux); }
.sh-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; background: transparent !important; padding-left: 1rem; }
.sh-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.15rem; padding: .2rem 0; }
.sh-nav .wp-block-navigation__responsive-container-open { color: var(--sh-bordeaux); }
@media (max-width: 781px) {
	.sh-header { padding-bottom: .5rem; }
	.sh-header__main { grid-template-columns: auto 1fr auto !important; }
	.sh-header__hotline { display: none; }
	.sh-logo { grid-column: 1; }
	.sh-logo img { width: 128px; }
	.sh-header__search { grid-column: 2; justify-self: stretch; width: auto; }
	nav.sh-nav { position: absolute; top: 1.35rem; right: clamp(1rem, 4vw, 2rem); margin: 0; padding: 0; border: 0; }
	.sh-header__main { padding-right: 3rem; }
}

/* ---------- Seitenkopf ---------- */
.sh-pagehead { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--30); text-align: center; position: relative; }
.sh-pagehead::after { content: ""; display: block; width: 120px; height: 1px; margin: 1.4rem auto 0; background: linear-gradient(90deg, transparent, var(--sh-gold), transparent); }
.sh-pagehead--slim { text-align: left; padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20); }
.sh-pagehead--slim::after { margin-left: 0; }
.sh-pagehead__title { margin: .2rem 0 0; }
.sh-pagehead__lead { max-width: 640px; margin-inline: auto; color: var(--sh-muted); }
.sh-pagehead__lead p { margin: .6rem 0 0; }
.sh-breadcrumbs { color: var(--sh-muted); }
.sh-breadcrumbs a { color: var(--sh-muted); text-decoration: none; }
.sh-breadcrumbs a:hover { color: var(--sh-bordeaux); }
.sh-content > * { margin-block-start: 1.25rem; }
.sh-content h2 { font-size: clamp(1.9rem, 3vw, 2.4rem); margin-top: 2.5rem; }
.sh-content h3 { margin-top: 2rem; }

/* ---------- Abschnitte allgemein ---------- */
.sh-section { padding-block: var(--wp--preset--spacing--50); }
.sh-section__lead { color: var(--sh-muted); margin-top: .4rem; }
.sh-main--front > .wp-block-post-content > * { margin-block: 0; }

/* ---------- Hero ---------- */
.sh-hero { position: relative; overflow: hidden; padding-block: clamp(2rem, 5vw, 4.5rem) clamp(1.5rem, 4vw, 3rem); background:
	radial-gradient(1200px 520px at 78% 55%, #fff6e8 0%, rgba(255,246,232,0) 70%),
	linear-gradient(180deg, var(--sh-cream), #F4E9D8); }
.sh-hero::before { content: ""; position: absolute; inset: auto -10% -1px -10%; height: 90px; background: radial-gradient(60% 100% at 50% 100%, rgba(198,154,82,.18), transparent 70%); pointer-events: none; }
.sh-hero__cols { position: relative; }
.sh-hero__title { margin: 0; line-height: 1; color: var(--sh-bordeaux); }
.sh-hero__script { display: block; font-family: var(--sh-script); font-weight: 400; font-size: clamp(4rem, 9vw, 7.25rem); line-height: .95; margin-left: -.06em; }
.sh-hero__serif { display: block; font-family: var(--sh-head); font-style: italic; font-weight: 500; font-size: clamp(2.2rem, 4.4vw, 3.6rem); margin-top: .1em; padding-left: .6em; }
.sh-hero__lead { max-width: 30rem; margin-top: 1.5rem !important; color: var(--sh-text); line-height: 1.7; }
.sh-hero__buttons { margin-top: 2rem !important; gap: .8rem; }
.sh-hero__media { position: relative; }
.sh-hero__img { margin: 0; position: relative; }
.sh-hero__img img { width: 100%; max-width: 720px; margin-left: auto; display: block; filter: saturate(1.04); }
.sh-hero__img figcaption { position: absolute; right: 4%; bottom: 2%; margin: 0; background: rgba(255, 249, 240, .9); border: 1px solid var(--sh-border); padding: .45rem .8rem; font-family: var(--sh-head); font-style: italic; font-size: 1rem; color: var(--sh-bordeaux); border-radius: var(--sh-radius); }
@media (max-width: 781px) {
	.sh-hero__cols { flex-direction: column-reverse; }
	.sh-hero__text { text-align: left; }
	.sh-hero__img img { max-width: 520px; margin-inline: auto; }
	.sh-hero__img figcaption { display: none; }
	.sh-hero__serif { padding-left: .3em; }
}

/* ---------- Kategorien ---------- */
.sh-cats { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); }
.sh-cats__grid { gap: 1rem !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.sh-cat { background: var(--sh-ivory); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); overflow: hidden; text-align: center; padding-bottom: 1.1rem; position: relative; transition: box-shadow .3s var(--sh-ease), transform .3s var(--sh-ease); }
.sh-cat:hover { box-shadow: var(--sh-shadow); transform: translateY(-3px); }
.sh-cat__img { margin: 0 !important; overflow: hidden; }
.sh-cat__img img { width: 100%; display: block; transition: transform .6s var(--sh-ease); }
.sh-cat:hover .sh-cat__img img { transform: scale(1.04); }
.sh-cat__title { font-size: 1.3rem !important; margin: .9rem .5rem 0 !important; line-height: 1.15; }
.sh-cat__title a { color: var(--sh-text); text-decoration: none; }
.sh-cat__title a::after { content: ""; position: absolute; inset: 0; }
.sh-cat__sub { margin: .25rem .6rem 0 !important; font-size: .74rem; color: var(--sh-muted); line-height: 1.4; }
.sh-cat::after { content: ""; display: block; width: 28px; height: 28px; margin: .75rem auto 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none'%3E%3Ccircle cx='14' cy='14' r='13' stroke='%23C69A52'/%3E%3Cpath d='M9 14h10M15 10l4 4-4 4' stroke='%23650D20' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .25s var(--sh-ease); }
.sh-cat:hover::after { transform: translateX(3px); }
@media (max-width: 1080px) { .sh-cats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .sh-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem !important; } .sh-cat__title { font-size: 1.15rem !important; } }

/* ---------- Produktkarten ---------- */
.sh-grid .wc-block-product-template, .sh-cards { gap: 1.25rem !important; }
.sh-card { height: 100%; display: flex; flex-direction: column; background: var(--sh-ivory); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); overflow: hidden; transition: box-shadow .3s var(--sh-ease), transform .3s var(--sh-ease); }
.wc-block-product:has(.sh-card) { display: flex; }
.sh-card:hover { box-shadow: var(--sh-shadow); transform: translateY(-3px); }
.sh-card__img { margin: 0 !important; background: #fff; }
.sh-card__img img { transition: transform .6s var(--sh-ease); }
.sh-card:hover .sh-card__img img { transform: scale(1.035); }
.sh-card__img .wc-block-components-product-sale-badge { background: var(--sh-bordeaux); color: var(--sh-ivory); border: 0; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; border-radius: 2px; }
.sh-card__body { flex: 1; padding: 1rem 1.1rem 1.15rem; gap: .35rem !important; }
.sh-card__title { margin: 0 !important; font-size: 1.32rem !important; line-height: 1.15 !important; }
.sh-card__title a { color: var(--sh-text); text-decoration: none; }
.sh-card__title a:hover { color: var(--sh-bordeaux); }
.sh-card__excerpt { margin: 0 !important; }
.sh-card__excerpt .wp-block-post-excerpt__excerpt { font-size: .76rem; line-height: 1.55; color: var(--sh-muted); margin: 0; }
.sh-card__foot { margin-top: auto !important; padding-top: .6rem; }
.sh-card__price { font-family: var(--sh-head); font-size: 1.45rem !important; font-weight: 600; color: var(--sh-bordeaux); text-align: left !important; margin: 0 !important; }
.sh-card__price .wc-block-components-product-price { text-align: left; }
.sh-card__legal, .sh-product__legal { font-size: .68rem; color: var(--sh-muted); line-height: 1.5; }
.sh-card__legal > *, .sh-product__legal > * { margin: 0 !important; }
.sh-card__legal a, .sh-product__legal a { color: inherit; }
.sh-card__btn { margin-top: .8rem !important; width: 100%; text-align: left !important; }
.sh-card__btn .wp-block-button__link, .sh-card__btn .wc-block-components-product-button__button { width: 100%; justify-content: center; font-size: .8rem !important; padding: .7rem 1rem !important; border-radius: 2px; background: var(--sh-bordeaux); color: var(--sh-ivory); border: 1px solid var(--sh-bordeaux); font-family: var(--wp--preset--font-family--body); }
.sh-card__btn .wp-block-button__link:hover, .sh-card__btn .wc-block-components-product-button__button:hover { background: var(--sh-bordeaux-dark); }
.sh-card__btn .added_to_cart { display: block; margin-top: .4rem; font-size: .75rem; text-align: center; }
.sh-grid .wp-block-query-pagination { margin-top: 2.5rem; }
@media (max-width: 600px) {
	.sh-grid .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem !important; }
	.sh-card__body { padding: .75rem .75rem .9rem; }
	.sh-card__title { font-size: 1.1rem !important; }
	.sh-card__excerpt { display: none; }
	.sh-card__price { font-size: 1.2rem !important; }
}

/* ---------- Bestseller ---------- */
.sh-bestseller { padding-top: var(--wp--preset--spacing--40); }
.sh-bestseller h2.is-style-script { margin-bottom: 0; color: var(--sh-bordeaux); }
.sh-bestseller .sh-grid { margin-top: 2rem !important; }
.sh-bestseller .wp-block-buttons { margin-top: 2.2rem !important; }

/* ---------- Backstube / Story ---------- */
.sh-story { padding-block: 0; background: linear-gradient(90deg, #F1E3CD 0 50%, var(--sh-ivory) 50% 100%); border-block: 1px solid var(--sh-border); }
.sh-story__cols { align-items: stretch !important; }
.sh-story__media { display: flex; align-items: center; justify-content: center; padding: var(--wp--preset--spacing--40); position: relative; }
.sh-story__media::before { content: ""; position: absolute; width: min(78%, 480px); aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(198,154,82,.55); box-shadow: 0 0 0 14px rgba(255,249,240,.35); }
.sh-story__img { margin: 0; position: relative; }
.sh-story__img img { width: min(100%, 560px); display: block; filter: drop-shadow(0 24px 22px rgba(66,7,20,.18)); }
.sh-story__text { padding: var(--wp--preset--spacing--50) clamp(1rem, 5vw, 4.5rem); position: relative; }
.sh-story__text h2 { margin-top: .2rem; }
.sh-story__script { font-family: var(--sh-script); color: var(--sh-gold-dark); font-size: 2.2rem; line-height: 1.1; margin-top: 1.6rem !important; transform: rotate(-4deg); transform-origin: left; }
@media (max-width: 781px) { .sh-story { background: var(--sh-ivory); } .sh-story__media { background: #F1E3CD; } }

/* ---------- Vorteile ---------- */
.sh-usps { padding-block: var(--wp--preset--spacing--40); }
.sh-usps__grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 0 !important; }
.sh-usp { margin: 0 !important; text-align: center; font-size: .78rem; line-height: 1.5; color: var(--sh-muted); padding: .5rem 1rem; position: relative; }
.sh-usp + .sh-usp { border-left: 1px solid var(--sh-border); }
.sh-usp strong { font-family: var(--sh-head); font-size: 1.22rem; font-weight: 600; color: var(--sh-text); display: inline-block; margin-bottom: .1rem; }
.sh-usp::before { display: block; width: 40px; height: 40px; margin: 0 auto .7rem; color: var(--sh-bordeaux); }
.sh-usp--hand { --sh-icon: var(--sh-i-hand); } .sh-usp--crown { --sh-icon: var(--sh-i-crown); } .sh-usp--leaf { --sh-icon: var(--sh-i-leaf); } .sh-usp--gift { --sh-icon: var(--sh-i-gift); } .sh-usp--truck { --sh-icon: var(--sh-i-truck); }
@media (max-width: 900px) { .sh-usps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 1.5rem !important; } .sh-usp + .sh-usp { border-left: 0; } .sh-usp:last-child { grid-column: 1 / -1; } }

/* ---------- Promo Bordeaux ---------- */
.sh-promo { position: relative; overflow: hidden; padding-block: var(--wp--preset--spacing--50); background-image: radial-gradient(700px 420px at 85% 50%, rgba(255,255,255,.08), transparent 70%), linear-gradient(115deg, var(--sh-bordeaux-dark), var(--sh-bordeaux) 55%); }
.sh-promo::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(198,154,82,.35); pointer-events: none; }
.sh-promo h2 { color: var(--sh-ivory); margin-top: .2rem; }
.sh-promo p { color: rgba(255,249,240,.88); }
.sh-promo__media img { width: 100%; max-width: 560px; display: block; margin-inline: auto; transform: rotate(-3deg); filter: drop-shadow(0 30px 30px rgba(0,0,0,.35)); }
.sh-checklist { list-style: none; padding: 0; margin: 1.2rem 0 1.6rem; }
.sh-checklist li { position: relative; padding-left: 1.8rem; margin: .45rem 0; font-size: .9rem; }
.sh-checklist li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.05em; height: 1.05em; background: var(--sh-gold); -webkit-mask: var(--sh-i-check) center / contain no-repeat; mask: var(--sh-i-check) center / contain no-repeat; }

/* ---------- Saison / Stollen ---------- */
.sh-season__media { position: relative; }
.sh-season__award { position: absolute !important; right: -1rem; bottom: -2rem; width: clamp(110px, 16vw, 170px); margin: 0 !important; transform: rotate(4deg); box-shadow: var(--sh-shadow); border: 6px solid #fff; }
.sh-season__award img { display: block; width: 100%; }
.wp-block-image.is-style-frame img { border: 1px solid var(--sh-gold); padding: 8px; background: var(--sh-ivory); box-shadow: var(--sh-shadow); }
.sh-badge-line { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--sh-head); font-size: 1.25rem; font-style: italic; color: var(--sh-gold-dark); }
.sh-badge-line::before { content: ""; width: 26px; height: 26px; background: var(--sh-gold); -webkit-mask: var(--sh-i-crown) center / contain no-repeat; mask: var(--sh-i-crown) center / contain no-repeat; }
@media (max-width: 781px) { .sh-season__award { right: .5rem; bottom: -1.2rem; } }

/* ---------- Spezialitäten ---------- */
.sh-specials__grid { gap: 1.25rem !important; margin-top: 2rem !important; }
.sh-special { position: relative; background: var(--sh-ivory); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); overflow: hidden; padding-bottom: 1.2rem; transition: box-shadow .3s var(--sh-ease); }
.sh-special:hover { box-shadow: var(--sh-shadow); }
.sh-special .wp-block-image { margin: 0; }
.sh-special .wp-block-image img { display: block; width: 100%; }
.sh-special__title { font-size: 1.55rem !important; margin: 1rem 1.2rem 0 !important; }
.sh-special__title a { color: var(--sh-text); text-decoration: none; }
.sh-special__title a::after { content: ""; position: absolute; inset: 0; }
.sh-special__text { margin: .25rem 1.2rem 0 !important; font-size: .82rem; color: var(--sh-muted); }

/* ---------- Laden ---------- */
.sh-visit { padding-block: var(--wp--preset--spacing--50); border-top: 1px solid var(--sh-border); }
.sh-visit__card { background: #fff; border: 1px solid var(--sh-border); padding: clamp(1.25rem, 3vw, 2.2rem); border-radius: var(--sh-radius); display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media (max-width: 600px) { .sh-visit__card { grid-template-columns: 1fr; } }

/* Info-Bausteine (Shortcodes aus dem Plugin) */
.sh-info__title { font-family: var(--sh-head); font-weight: 600; font-size: 1.35rem; color: var(--sh-bordeaux); margin: 0 0 .5rem; }
.sh-info p { margin: 0 0 .35rem; font-size: .85rem; }
.sh-hours { width: 100%; border-collapse: collapse; font-size: .82rem; }
.sh-hours th { text-align: left; font-weight: 400; padding: .3rem .8rem .3rem 0; vertical-align: top; }
.sh-hours td { text-align: right; padding: .3rem 0; white-space: nowrap; }
.sh-hours tr + tr th, .sh-hours tr + tr td { border-top: 1px dotted var(--sh-border); }
.sh-hours .is-closed td { color: var(--sh-muted); font-style: italic; }
.sh-hours .is-today th, .sh-hours .is-today td { color: var(--sh-bordeaux); font-weight: 700; }

/* ---------- Footer ---------- */
.sh-footer { font-size: .84rem; }
.sh-footer a { color: var(--sh-ivory); text-decoration: none; }
.sh-footer a:hover { color: var(--sh-gold); }
.sh-footer__logo img { width: 190px; display: block; margin-bottom: 1rem; }
.sh-footer p { color: rgba(255,249,240,.82); }
.sh-footer__title { font-family: var(--sh-head); color: var(--sh-gold) !important; font-size: 1.3rem !important; margin-bottom: .8rem !important; }
.sh-footer__links { list-style: none; padding: 0; margin: 0; }
.sh-footer__links li { margin: .35rem 0; }
.sh-footer .sh-info__title { display: none; }
.sh-footer .sh-info { margin-bottom: 1.1rem; }
.sh-footer .sh-info p { color: rgba(255,249,240,.85); font-size: .82rem; }
.sh-footer .sh-hours { font-size: .78rem; color: rgba(255,249,240,.85); }
.sh-footer .sh-hours tr + tr th, .sh-footer .sh-hours tr + tr td { border-color: rgba(255,249,240,.15); }
.sh-footer .sh-hours .is-today th, .sh-footer .sh-hours .is-today td { color: var(--sh-gold); }
.sh-footer__bottom { margin-top: var(--wp--preset--spacing--40) !important; padding-top: 1.2rem; border-top: 1px solid rgba(198,154,82,.3); gap: .6rem 1.5rem; }
.sh-footer__bottom p { margin: 0; color: rgba(255,249,240,.7); }
.sh-footer__legal { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.sh-footer__bottom a { text-decoration: underline; text-underline-offset: 2px; text-decoration-color: rgba(198,154,82,.5); }

/* ---------- Shop-Archiv ---------- */
.sh-pagehead--shop { padding-bottom: var(--wp--preset--spacing--20); }
.sh-pagehead--shop .sh-breadcrumbs { margin-bottom: .6rem; }
.sh-catnav { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0 auto 1.75rem; padding: 0; list-style: none; }
.sh-catnav a { display: inline-block; padding: .45rem 1rem; border: 1px solid var(--sh-border); border-radius: 999px; background: var(--sh-ivory); color: var(--sh-text); text-decoration: none; font-size: .78rem; transition: all .2s var(--sh-ease); }
.sh-catnav a:hover { border-color: var(--sh-bordeaux); color: var(--sh-bordeaux); }
.sh-catnav a[aria-current="page"] { background: var(--sh-bordeaux); border-color: var(--sh-bordeaux); color: var(--sh-ivory); }
.sh-shop__toolbar { margin-bottom: 1.2rem !important; font-size: .8rem; color: var(--sh-muted); border-bottom: 1px solid var(--sh-border); padding-bottom: .8rem; }
.sh-shop__toolbar p, .sh-shop__toolbar form { margin: 0; }
.sh-shop__toolbar select { font-family: inherit; font-size: .8rem; padding: .45rem 2rem .45rem .7rem; border: 1px solid var(--sh-border); background-color: var(--sh-ivory); border-radius: var(--sh-radius); color: var(--sh-text); }

/* Hinweisboxen (Plugin) */
.sh-notice { display: flex; gap: .9rem; align-items: flex-start; background: var(--sh-ivory); border: 1px solid var(--sh-border); border-left: 3px solid var(--sh-gold); padding: 1rem 1.2rem; border-radius: var(--sh-radius); font-size: .84rem; line-height: 1.6; margin: 0 0 1.5rem; }
.sh-notice::before { content: ""; flex: 0 0 22px; height: 22px; margin-top: .1rem; background: var(--sh-bordeaux); -webkit-mask: var(--sh-notice-icon, var(--sh-i-info)) center / contain no-repeat; mask: var(--sh-notice-icon, var(--sh-i-info)) center / contain no-repeat; }
.sh-notice--cold { --sh-notice-icon: var(--sh-i-snow); border-left-color: #8DA9C4; }
.sh-notice--store { --sh-notice-icon: var(--sh-i-store); }
.sh-notice strong { color: var(--sh-bordeaux); }
.sh-notice p { margin: 0; }
.sh-notice p + p { margin-top: .3rem; }
.sh-shop .sh-notice { max-width: 820px; margin-inline: auto; }

/* ---------- Produktdetail ---------- */
.sh-product__top { margin-top: 1.2rem !important; align-items: flex-start !important; }
.sh-product__media { position: sticky; top: 1.5rem; }
.sh-product__media .woocommerce-product-gallery { background: #fff; border: 1px solid var(--sh-border); border-radius: var(--sh-radius); padding: 10px; margin: 0; }
.sh-product__media .flex-control-thumbs { display: flex; gap: 8px; margin-top: 10px !important; }
.sh-product__media .flex-control-thumbs li { width: 80px !important; float: none !important; }
.sh-product__media .flex-control-thumbs img { border: 1px solid var(--sh-border); opacity: .7; }
.sh-product__media .flex-control-thumbs img.flex-active, .sh-product__media .flex-control-thumbs img:hover { opacity: 1; border-color: var(--sh-gold); }
.sh-product__cat { margin: 0 !important; }
.sh-product__cat a { color: var(--sh-gold-dark); text-decoration: none; }
.sh-product__title { margin: .3rem 0 .6rem !important; line-height: 1.05 !important; }
.sh-product__price { font-family: var(--sh-head); font-size: 2.1rem !important; color: var(--sh-bordeaux); font-weight: 600; margin: 0 !important; }
.sh-product__legal { margin: .25rem 0 1.1rem !important; font-size: .74rem; }
.sh-product__excerpt { font-size: .92rem; border-top: 1px solid var(--sh-border); padding-top: 1rem; }
.sh-product__excerpt p { margin: 0; }
.sh-product__summary form.cart { margin: 1.2rem 0 1.2rem; padding: 1.2rem; background: var(--sh-ivory); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); }
.sh-product__summary form.cart:not(.variations_form), .sh-product__summary .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .8rem; align-items: stretch; }
.sh-product__summary .sh-fields { flex: 1 1 100%; }
.sh-product__summary .quantity input.qty { width: 4.2rem; height: 100%; min-height: 48px; text-align: center; border: 1px solid var(--sh-border); background: #fff; font-family: inherit; font-size: .95rem; border-radius: 2px; }
.sh-product__summary .single_add_to_cart_button { flex: 1; min-height: 48px; background: var(--sh-bordeaux) !important; color: var(--sh-ivory) !important; border: 0; border-radius: 2px !important; font-family: var(--wp--preset--font-family--body) !important; font-size: .9rem !important; letter-spacing: .02em; cursor: pointer; padding: .8rem 1.4rem !important; }
.sh-product__summary .single_add_to_cart_button:hover { background: var(--sh-bordeaux-dark) !important; }
.sh-product__summary .single_add_to_cart_button.disabled { opacity: .5; }
.sh-product__summary table.variations { width: 100%; border: 0; margin-bottom: .6rem; }
.sh-product__summary table.variations th, .sh-product__summary table.variations td { display: block; padding: 0; text-align: left; border: 0; }
.sh-product__summary table.variations label { font-family: var(--sh-head); font-size: 1.15rem; font-weight: 600; color: var(--sh-text); }
.sh-product__summary table.variations select { width: 100%; padding: .7rem; margin: .3rem 0 .2rem; border: 1px solid var(--sh-border); background: #fff; font-family: inherit; font-size: .9rem; border-radius: 2px; }
.sh-product__summary .reset_variations { font-size: .75rem; }
.sh-product__summary .woocommerce-variation-price { margin-bottom: .6rem; }
.sh-facts { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1rem; font-size: .78rem; }
.sh-facts li { display: flex; flex-direction: column; padding: .55rem .75rem; background: var(--sh-ivory); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); }
.sh-facts span { font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: var(--sh-gold-dark); }
.sh-product__details { margin-top: var(--wp--preset--spacing--50) !important; }
.sh-product__details .wc-tabs, .sh-product__details .tabs { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0 !important; margin: 0 0 1.5rem !important; border-bottom: 1px solid var(--sh-border); }
.sh-product__details .wc-tabs li, .sh-product__details .tabs li { margin: 0 !important; border: 0 !important; background: none !important; padding: 0 !important; }
.sh-product__details .wc-tabs li::before, .sh-product__details .wc-tabs li::after { display: none !important; }
.sh-product__details .wc-tabs li a { display: block; padding: .7rem 1.1rem !important; font-family: var(--sh-head); font-size: 1.2rem; font-weight: 600; color: var(--sh-muted); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.sh-product__details .wc-tabs li.active a { color: var(--sh-bordeaux); border-bottom-color: var(--sh-bordeaux); }
.sh-product__details .woocommerce-Tabs-panel { max-width: 820px; font-size: .9rem; }
.sh-product__details .woocommerce-Tabs-panel > h2:first-child { display: none; }
.sh-product__details table.shop_attributes { border: 0; width: 100%; }
.sh-product__details table.shop_attributes th, .sh-product__details table.shop_attributes td { border-bottom: 1px solid var(--sh-border); padding: .6rem .4rem; font-style: normal; text-align: left; background: none; }
.sh-nutrition { border-collapse: collapse; width: 100%; max-width: 480px; font-size: .84rem; }
.sh-nutrition th, .sh-nutrition td { border-bottom: 1px solid var(--sh-border); padding: .45rem .3rem; text-align: left; font-weight: 400; }
.sh-nutrition td { text-align: right; }
.sh-allergens { background: var(--sh-ivory); border: 1px solid var(--sh-border); padding: .8rem 1rem; font-size: .84rem; }
.sh-related { margin-top: var(--wp--preset--spacing--50) !important; }
.sh-related .wc-block-product-template { margin-top: 1.8rem !important; }
@media (max-width: 781px) { .sh-product__media { position: static; } .sh-facts { grid-template-columns: 1fr 1fr; } }

/* Personalisierungsfelder (Plugin) */
.sh-fields { display: grid; gap: 1rem; margin-bottom: .3rem; }
.sh-field label { display: block; font-family: var(--sh-head); font-size: 1.15rem; font-weight: 600; color: var(--sh-text); margin-bottom: .3rem; }
.sh-field label .required { color: var(--sh-bordeaux); }
.sh-field input[type="text"], .sh-field textarea, .sh-field input[type="file"] { width: 100%; padding: .7rem; border: 1px solid var(--sh-border); background: #fff; font-family: inherit; font-size: .88rem; border-radius: 2px; box-sizing: border-box; }
.sh-field input[type="file"] { padding: .55rem; }
.sh-field small { display: block; margin-top: .3rem; font-size: .72rem; color: var(--sh-muted); line-height: 1.5; }
.sh-field .sh-counter { float: right; }
.sh-field .sh-counter.is-over { color: #B3261E; font-weight: 700; }
.sh-field__check { display: flex; gap: .5rem; align-items: flex-start; font-family: inherit !important; font-size: .8rem !important; font-weight: 400 !important; margin-top: .5rem; }
.sh-field__check input { margin-top: .25rem; }

/* ---------- Klassische WooCommerce-Seiten (Warenkorb/Kasse/Konto) ---------- */
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error, .wc-block-components-notice-banner { border-top: 0 !important; border: 1px solid var(--sh-border) !important; border-left: 3px solid var(--sh-gold) !important; background: var(--sh-ivory) !important; color: var(--sh-text) !important; border-radius: var(--sh-radius); font-size: .86rem; }
.woocommerce .woocommerce-error { border-left-color: #B3261E !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--sh-gold) !important; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce .button.alt, .woocommerce button.button.alt {
	background: var(--sh-bordeaux) !important; color: var(--sh-ivory) !important; border-radius: 2px !important; font-family: var(--wp--preset--font-family--body) !important; font-weight: 400 !important; font-size: .86rem !important; padding: .85rem 1.4rem !important; border: 0 !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--sh-bordeaux-dark) !important; }
.woocommerce table.shop_table { border: 1px solid var(--sh-border) !important; border-radius: var(--sh-radius) !important; background: #fff; border-collapse: separate !important; }
.woocommerce table.shop_table th { font-family: var(--sh-head); font-size: 1.05rem; color: var(--sh-bordeaux); font-weight: 600; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--sh-border) !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single, .woocommerce-input-wrapper input {
	border: 1px solid var(--sh-border) !important; background: #fff !important; border-radius: 2px !important; padding: .7rem .8rem !important; font-family: inherit !important; font-size: .9rem !important; min-height: 46px; box-sizing: border-box; }
.select2-container .select2-selection--single { height: 46px !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 26px !important; padding-left: 0 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px !important; }
.woocommerce form .form-row label { font-size: .82rem; color: var(--sh-text); }
.woocommerce form .form-row .required { color: var(--sh-bordeaux); text-decoration: none; }
.woocommerce-checkout h3, .woocommerce-cart h2, .woocommerce-account h2, #order_review_heading { font-family: var(--sh-head); color: var(--sh-bordeaux); font-size: 1.7rem; }
.woocommerce-checkout #payment { background: var(--sh-ivory) !important; border: 1px solid var(--sh-border); border-radius: var(--sh-radius) !important; }
.woocommerce-checkout #payment div.payment_box { background: #fff !important; color: var(--sh-text) !important; font-size: .82rem; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff !important; }
.woocommerce-checkout #place_order, .woocommerce-checkout .wc-gzd-place-order button { width: 100%; font-size: 1rem !important; padding: 1.05rem !important; }
.cart-collaterals .cart_totals h2 { font-size: 1.7rem; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 520px; margin-left: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border: 1px solid var(--sh-border); background: var(--sh-ivory); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .7rem 1rem; text-decoration: none; color: var(--sh-text); border-bottom: 1px solid var(--sh-border); font-size: .86rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--sh-bordeaux); background: #fff; font-weight: 700; }
.sh-delivery-date { background: var(--sh-ivory); border: 1px solid var(--sh-border); border-left: 3px solid var(--sh-gold); padding: 1rem 1.2rem; margin: 1.5rem 0; border-radius: var(--sh-radius); }
.sh-delivery-date h3 { margin: 0 0 .4rem !important; font-size: 1.4rem !important; }
.sh-delivery-date p.description { font-size: .78rem; color: var(--sh-muted); margin: .2rem 0 .6rem; }

/* Mini-Cart-Drawer */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-family: var(--sh-head); color: var(--sh-bordeaux); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content { background: var(--sh-cream); }
.wc-block-mini-cart__footer-actions .wc-block-components-button:not(.is-link) { border-radius: 2px; }
.wc-block-mini-cart__footer-checkout { background: var(--sh-bordeaux) !important; color: var(--sh-ivory) !important; }

/* ---------- Inhaltsseiten ---------- */
.sh-timeline { list-style: none; padding: 0; margin: 2rem 0; border-left: 1px solid var(--sh-gold); }
.sh-timeline li { position: relative; padding: 0 0 1.6rem 1.8rem; }
.sh-timeline li::before { content: ""; position: absolute; left: -6px; top: .45rem; width: 11px; height: 11px; border-radius: 50%; background: var(--sh-cream); border: 2px solid var(--sh-bordeaux); }
.sh-timeline strong { display: block; font-family: var(--sh-head); font-size: 1.6rem; color: var(--sh-bordeaux); line-height: 1.1; }
.sh-gallery .wp-block-image img { border: 1px solid var(--sh-border); background: #fff; padding: 5px; }
.sh-form { display: grid; gap: 1rem; background: var(--sh-ivory); border: 1px solid var(--sh-border); padding: clamp(1.2rem, 3vw, 2rem); border-radius: var(--sh-radius); }
.sh-form .sh-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.sh-form label { display: block; font-size: .8rem; margin-bottom: .3rem; }
.sh-form input:not([type="checkbox"]), .sh-form select, .sh-form textarea { width: 100%; box-sizing: border-box; padding: .7rem .8rem; border: 1px solid var(--sh-border); background: #fff; font-family: inherit; font-size: .9rem; border-radius: 2px; color: var(--sh-text); }
.sh-form textarea { min-height: 150px; }
.sh-form .sh-form__consent { display: flex; gap: .6rem; font-size: .78rem; line-height: 1.5; }
.sh-form .sh-form__consent input { margin-top: .25rem; }
.sh-form button { justify-self: start; background: var(--sh-bordeaux); color: var(--sh-ivory); border: 0; padding: .9rem 1.6rem; font-family: inherit; font-size: .88rem; cursor: pointer; border-radius: 2px; }
.sh-form button:hover { background: var(--sh-bordeaux-dark); }
.sh-form__hp { position: absolute !important; left: -9999px !important; }
.sh-form-msg { padding: 1rem 1.2rem; border-radius: var(--sh-radius); border: 1px solid var(--sh-border); background: #fff; }
.sh-form-msg--ok { border-left: 3px solid #4C7A3A; }
.sh-form-msg--err { border-left: 3px solid #B3261E; }
@media (max-width: 600px) { .sh-form .sh-form__row { grid-template-columns: 1fr; } }
.sh-card-box { background: var(--sh-ivory); border: 1px solid var(--sh-border); padding: clamp(1.2rem, 3vw, 2rem); border-radius: var(--sh-radius); }
.sh-video video { width: 100%; border: 1px solid var(--sh-border); background: #000; }
.sh-content table:not(.sh-hours) { width: 100%; border-collapse: collapse; font-size: .88rem; }
.sh-content table:not(.sh-hours) td, .sh-content table:not(.sh-hours) th { border-bottom: 1px solid var(--sh-border); padding: .55rem .4rem; text-align: left; }

/* Editor: Hintergrund */
.editor-styles-wrapper { background: var(--sh-cream); }

/* ---------- Korrekturen nach Sichtprüfung ---------- */
.sh-topbar, .sh-topbar p, .sh-topbar span { color: var(--sh-ivory) !important; }
.sh-promo h2, .sh-promo li, .sh-promo .wp-block-heading { color: var(--sh-ivory) !important; }
.sh-promo .is-style-eyebrow { color: var(--sh-gold) !important; }
.sh-grid .wc-block-product-template { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.sh-grid .wc-block-product-template > li { width: auto !important; max-width: none !important; margin: 0 !important; }
@media (max-width: 1080px) { .sh-grid .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 760px) { .sh-grid .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem !important; } }
.sh-card__foot > * + * { margin-block-start: .15rem !important; }
.sh-card__btn { display: block; }
.sh-card__btn .wp-block-button__link, .sh-card__btn a, .sh-card__btn button { display: flex !important; width: 100% !important; box-sizing: border-box; }
.sh-info .sh-info__title { font-family: var(--sh-head); font-weight: 600; font-size: 1.35rem; color: var(--sh-bordeaux); margin: 0 0 .5rem; line-height: 1.2; }
.sh-header__main { border-bottom: 0 !important; }

/* Farb-Hilfsklassen (Palette) */
.has-bordeaux-color { color: var(--wp--preset--color--bordeaux) !important; }
.has-bordeaux-background-color { background-color: var(--wp--preset--color--bordeaux) !important; }
.has-bordeaux-dark-color { color: var(--wp--preset--color--bordeaux-dark) !important; }
.has-bordeaux-dark-background-color { background-color: var(--wp--preset--color--bordeaux-dark) !important; }
.has-cream-color { color: var(--wp--preset--color--cream) !important; }
.has-cream-background-color { background-color: var(--wp--preset--color--cream) !important; }
.has-ivory-color { color: var(--wp--preset--color--ivory) !important; }
.has-ivory-background-color { background-color: var(--wp--preset--color--ivory) !important; }
.has-gold-color { color: var(--wp--preset--color--gold) !important; }
.has-gold-background-color { background-color: var(--wp--preset--color--gold) !important; }
.has-gold-dark-color { color: var(--wp--preset--color--gold-dark) !important; }
.has-gold-dark-background-color { background-color: var(--wp--preset--color--gold-dark) !important; }
.has-text-color { color: var(--wp--preset--color--text) !important; }
.has-text-background-color { background-color: var(--wp--preset--color--text) !important; }
.has-muted-color { color: var(--wp--preset--color--muted) !important; }
.has-muted-background-color { background-color: var(--wp--preset--color--muted) !important; }
.has-border-color { color: var(--wp--preset--color--border) !important; }
.has-border-background-color { background-color: var(--wp--preset--color--border) !important; }
.has-white-color { color: var(--wp--preset--color--white) !important; }
.has-white-background-color { background-color: var(--wp--preset--color--white) !important; }

.sh-specials__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
@media (max-width: 760px) { .sh-specials__grid { grid-template-columns: 1fr !important; } }
.sh-promo__media img { max-width: 430px; }
/* Germanized fügt im Archiv eigene Pflichtangaben ein – wir zeigen nur die in der Karte platzierten. */
.wc-block-product:has(.sh-card) { flex-direction: column; }
.wc-block-product:has(.sh-card) > :not(.sh-card) { display: none !important; }
.sh-card .sh-card__body > .wc-gzd-additional-info, .sh-card .sh-card__foot > .wc-gzd-additional-info, .sh-card > .wc-gzd-additional-info { display: none !important; }
.sh-card { width: 100%; }
.sh-related .wc-block-product-template { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 1.25rem !important; }
.sh-related .wc-block-product-template > li { width: auto !important; max-width: none !important; margin: 0 !important; }
@media (max-width: 1080px) { .sh-related .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.sh-product__media .woocommerce-product-gallery { width: 100% !important; float: none !important; box-sizing: border-box; }
.sh-video video { max-height: 70vh; object-fit: contain; }
/* Germanized-Widerrufsbutton im Fuß */
body > .eu-owb-order-withdraw-from-contract-button { margin: 0; padding: 0 1rem 1.6rem; background: var(--sh-bordeaux-dark); }
body > .eu-owb-order-withdraw-from-contract-button .button { background: transparent !important; border: 1px solid rgba(198,154,82,.6) !important; color: var(--sh-ivory) !important; font-size: .78rem !important; padding: .55rem 1.2rem !important; border-radius: 2px; }
body > .eu-owb-order-withdraw-from-contract-button .button:hover { background: var(--sh-bordeaux) !important; }
.sh-delivery-date .description, .sh-delivery-date span.description { display: block !important; position: static !important; background: none !important; color: var(--sh-muted) !important; padding: .3rem 0 0 !important; font-size: .75rem; box-shadow: none !important; }
.sh-delivery-date .description::before { display: none !important; }
.sh-delivery-date input[type="date"] { width: 100%; }
.woocommerce-cart .woocommerce { max-width: 1240px; }
/* Mobil-Feinschliff */
@media (max-width: 781px) {
	.sh-logo img { width: 112px !important; min-width: 112px; }
	.sh-header__main { grid-template-columns: 112px minmax(0, 1fr) !important; }
	.sh-header__search { min-width: 0; }
}
@media (max-width: 600px) {
	.sh-topbar__usps { display: none !important; }
	.sh-topbar__inner { justify-content: flex-end !important; }
	.sh-card__btn .wp-block-button__link, .sh-card__btn a, .sh-card__btn button { font-size: .72rem !important; padding: .6rem .4rem !important; white-space: nowrap; }
	.sh-card__legal { font-size: .62rem; }
	.sh-hero__script { font-size: 3.6rem; }
	.sh-promo::after { inset: 8px; }
	.sh-usps__grid { grid-template-columns: 1fr 1fr !important; }
}
