/*
Theme Name:   studio242 (Hello Elementor Child)
Theme URI:    https://www.fotostudio.saarland/
Description:  Child-Theme für studio242 – Fotostudio mieten im Saarland. Design aus dem Geschenkgutschein: Oswald + Roboto Mono, Ink, Sand, Weinrot, Burgunder, Gold.
Author:       marketing kommunikation thom GmbH
Template:     hello-elementor
Version:      1.0.0
Text Domain:  studio242
*/

/* ==========================================================================
   1. TOKENS
   Spiegeln die globalen Farben/Schriften im Elementor-Kit (Website-Einstellungen).
   Werte im Kit ändern → hier mitziehen.
   ========================================================================== */
:root {
	--s242-ink: #18171c;
	--s242-graphite: #383b3b;
	--s242-steel: #505457;
	--s242-wine: #371210;
	--s242-wine-soft: #5a2622;
	--s242-burgundy: #4a1020;
	--s242-sand: #f1e5da;
	--s242-sand-deep: #e7d6c7;
	--s242-paper: #ffffff;
	--s242-gold: #c19a52;
	--s242-gold-light: #d9bc7c;
	--s242-gold-foil: linear-gradient(115deg, #a8833f 0%, #d9bc7c 38%, #c19a52 55%, #e3cb92 78%, #ad8843 100%);
	--s242-line: rgba(55, 18, 16, .22);
	--s242-line-dark: rgba(241, 229, 218, .18);
	--s242-head: "Oswald", "Arial Narrow", sans-serif;
	--s242-mono: "Roboto Mono", ui-monospace, monospace;
	--s242-wrap: 1240px;
	--s242-gutter: clamp(16px, 4vw, 48px);
}

/* ==========================================================================
   2. BASIS
   Das alte Zusatz-CSS im Customizer färbt p/h/td global #ddd und .page dunkel.
   Auf Seiten im neuen Design (body.s242) wird das neutralisiert.
   ========================================================================== */
body.s242 { background-color: var(--s242-paper); }
body.s242 .elementor-widget-text-editor :is(p, li, h1, h2, h3, h4, h5, td, th, tr),
body.s242 .elementor-widget-text-editor address { color: inherit; }
body.s242 .elementor-tab-content p { color: inherit; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body.s242 ::selection { background: var(--s242-wine); color: var(--s242-sand); }
body.s242 :focus-visible { outline: 2px solid var(--s242-wine); outline-offset: 3px; }
body.s242 .s242-dark :focus-visible,
body.s242 .s242-book :focus-visible { outline-color: var(--s242-gold-light); }

/* Gesperrtes Mono-Label wie „F Ü R“ auf dem Gutschein */
.elementor-widget.s242-label .elementor-heading-title {
	font-family: var(--s242-mono);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .32em;
	text-transform: uppercase;
	line-height: 1.5;
	color: var(--s242-wine);
}
.s242-dark .elementor-widget.s242-label .elementor-heading-title,
.s242-book .elementor-widget.s242-label .elementor-heading-title { color: #d9b3a2; }

/* Großer Outline-Schriftzug (einziges Ornament) */
.e-con.s242-has-ghost { position: relative; overflow: hidden; }
.elementor-widget.s242-ghost {
	position: absolute !important;
	left: -.04em; top: -.12em;
	width: auto !important; max-width: none !important;
	pointer-events: none; user-select: none; z-index: 0;
	margin: 0 !important;
}
.elementor-widget.s242-ghost .elementor-heading-title {
	font-family: var(--s242-head);
	font-weight: 600;
	font-size: clamp(150px, 22vw, 330px);
	line-height: 1;
	letter-spacing: -.02em;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--s242-paper);
}
.elementor-widget.s242-ghost--br { left: auto; right: -.05em; top: auto; bottom: -.2em; }
.s242-book .elementor-widget.s242-ghost .elementor-heading-title { -webkit-text-stroke-color: rgba(241, 229, 218, .14); }
.e-con.s242-has-ghost > .elementor-element:not(.s242-ghost),
.e-con.s242-has-ghost > .e-con-inner > .elementor-element:not(.s242-ghost) { position: relative; z-index: 1; }

/* ==========================================================================
   3. BUTTONS (Kit = Ink-Fläche, Hover Weinrot; hier die Varianten)
   ========================================================================== */
.elementor-widget.s242-btn .elementor-button {
	border-radius: 0;
	transition: background-color .2s, color .2s, border-color .2s;
}
.elementor-widget.s242-btn .elementor-button-icon { transition: transform .2s; }
.elementor-widget.s242-btn .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }

.elementor-widget.s242-btn--ghost .elementor-button { background: transparent; color: var(--s242-ink); border: 1.5px solid var(--s242-ink); }
.elementor-widget.s242-btn--ghost .elementor-button:hover { background: var(--s242-ink); color: var(--s242-paper); }

.elementor-widget.s242-btn--inkgold .elementor-button { background: var(--s242-ink); color: var(--s242-gold-light); border: 1.5px solid var(--s242-ink); }
.elementor-widget.s242-btn--inkgold .elementor-button:hover { background-color: var(--s242-gold); background-image: var(--s242-gold-foil); color: var(--s242-ink); border-color: var(--s242-gold); }

.elementor-widget.s242-btn--sand .elementor-button { background: var(--s242-sand); color: var(--s242-ink); border: 1.5px solid var(--s242-sand); }
.elementor-widget.s242-btn--sand .elementor-button:hover { background: var(--s242-paper); border-color: var(--s242-paper); color: var(--s242-ink); }

/* ==========================================================================
   4. HEADER
   ========================================================================== */
.s242-header { border-bottom: 1px solid var(--s242-line); }
.elementor-widget.s242-logo .elementor-heading-title { line-height: 1; }
.elementor-widget.s242-logo a { display: inline-flex; flex-direction: column; text-decoration: none; }
.s242-logo__word { font-family: var(--s242-head); font-weight: 600; font-size: 34px; letter-spacing: -.01em; color: var(--s242-steel); line-height: 1; }
.s242-logo__word b { font-weight: 600; color: var(--s242-ink); }
.s242-logo__sub { display: inline-block; align-self: flex-start; font-family: var(--s242-head); font-weight: 400; font-size: 11px; letter-spacing: .04em; background: var(--s242-ink); color: var(--s242-paper); padding: 2px 6px 3px; margin-top: 3px; }
.s242-footer .s242-logo__word { color: #8f8a86; }
.s242-footer .s242-logo__word b { color: var(--s242-paper); }
.s242-footer .s242-logo__sub { background: var(--s242-paper); color: var(--s242-ink); }

/* Hauptmenü */
.s242-header .elementor-widget.s242-nav .elementor-nav-menu--main .elementor-item { padding-left: 0; padding-right: 0; }
.s242-header .elementor-widget.s242-nav .elementor-nav-menu--main > .elementor-nav-menu > li { margin: 0 13px; }
.s242-header .elementor-widget.s242-nav .elementor-nav-menu--main .elementor-item:after { height: 1.5px; bottom: -2px; }
/* Dropdown mobil über volle Header-Breite */
@media (max-width: 1024px) {
	.s242-header .elementor-widget.s242-nav { position: static; }
	.s242-header .elementor-widget.s242-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: absolute !important; left: 0 !important; right: 0 !important; width: 100% !important; top: 100% !important;
		border-bottom: 1px solid var(--s242-line);
	}
	.s242-header .e-con-inner, .s242-header.e-con { position: relative; }
}

/* Header klebt oben (unter der Admin-Leiste) */
.elementor-location-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }

/* ==========================================================================
   5. HERO
   ========================================================================== */
.e-con.s242-hero { overflow: hidden; }
.e-con.s242-hero__txt {
	--padding-top: clamp(40px, 5vw, 72px);
	--padding-bottom: clamp(36px, 4vw, 56px);
	--padding-right: var(--s242-gutter);
	--padding-left: max(var(--s242-gutter), calc((100vw - var(--s242-wrap)) / 2 + var(--s242-gutter)));
}
.elementor-widget.s242-h1 .elementor-heading-title { font-weight: 600; line-height: .98; letter-spacing: -.01em; }
.s242-h1__a, .s242-h1__b { display: block; font-size: clamp(44px, 6.2vw, 92px); }
.s242-h1__b { color: var(--s242-steel); }
.s242-h1__mieten {
	display: table; font-style: normal;
	font-size: clamp(56px, 9vw, 136px); line-height: .92;
	background: var(--s242-wine); color: var(--s242-sand);
	padding: .02em .16em .08em; margin: .06em 0 .08em -.04em;
}
.s242-h1__c {
	display: block; margin-top: 22px;
	font-family: var(--s242-mono); font-weight: 500;
	font-size: clamp(14px, 1.3vw, 17px); letter-spacing: .22em; text-transform: uppercase;
	color: var(--s242-wine); line-height: 1.4;
}
.e-con.s242-facts { border-top: 1px solid var(--s242-line); }
.elementor-widget.s242-fact-num .elementor-heading-title { font-family: var(--s242-head); font-weight: 500; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.1; color: var(--s242-ink); }
.elementor-widget.s242-fact-txt { font-size: 12px; letter-spacing: .02em; color: var(--s242-steel); line-height: 1.5; }
.e-con.s242-hero__img { position: relative; overflow: hidden; }
.e-con.s242-hero__img .elementor-widget-image,
.e-con.s242-hero__img .elementor-widget-image > .elementor-widget-container,
.e-con.s242-hero__img figure.wp-caption { height: 100%; margin: 0; }
.e-con.s242-hero__img img { width: 100%; height: 100% !important; max-height: none; object-fit: cover; object-position: 50% 20%; }
.e-con.s242-hero__img figcaption.widget-image-caption {
	position: absolute; left: 0; bottom: 0; margin: 0;
	background: var(--s242-ink); color: var(--s242-paper);
	font-family: var(--s242-mono); font-size: 12px; letter-spacing: .2em; text-transform: uppercase; padding: 9px 14px;
}

/* ==========================================================================
   6. SEKTIONEN
   ========================================================================== */
.elementor-widget.s242-h2 .elementor-heading-title { font-size: clamp(34px, 4.6vw, 60px); line-height: 1.02; }
.elementor-widget.s242-h2--s .elementor-heading-title { font-size: clamp(30px, 3.6vw, 46px); }
.elementor-widget.s242-h3s .elementor-heading-title { font-size: 18px; }
.e-con.s242-use .elementor-widget-heading h3.elementor-heading-title { font-size: 26px; }
.elementor-widget.s242-prose p + p { margin-top: 1em; }
.elementor-widget.s242-prose p { margin-bottom: 0; }
.elementor-widget.s242-prose strong { color: var(--s242-ink); font-weight: 500; }

/* Vorteile: dünne Linien statt Karten */
.e-con.s242-perks { background: var(--s242-line); border: 1px solid var(--s242-line); }
.e-con.s242-perk { background: var(--s242-paper); }
.elementor-widget.s242-pano img { width: 100%; aspect-ratio: 850 / 180; object-fit: cover; }
.elementor-widget.s242-gear-photo img { width: 100%; aspect-ratio: 540 / 434; object-fit: cover; }
.elementor-widget.s242-caption { font-size: 12px; letter-spacing: .02em; color: var(--s242-steel); }
.e-con.s242-dark .elementor-widget.s242-caption { color: #9c9894; }

/* Ausstattung */
.elementor-widget.s242-gear h3, .elementor-widget.s242-gear .elementor-heading-title { padding-bottom: 14px; border-bottom: 1px solid var(--s242-line-dark); }
.elementor-widget.s242-list ul { list-style: none; margin: 0; padding: 0; }
.elementor-widget.s242-list li { padding: 6px 0; border-bottom: 1px dashed rgba(241, 229, 218, .1); font-size: 14px; }
.elementor-widget.s242-list li b { display: inline-block; min-width: 3.2ch; margin-right: 10px; font-weight: 500; color: var(--s242-sand); }
.e-con.s242-dark .elementor-widget.s242-list li { color: #d8d4d0; }
.e-con.s242-gear-img { position: sticky; top: 100px; }
.elementor-widget.s242-brands .elementor-heading-title { font-family: var(--s242-head); font-weight: 400; font-size: 22px; letter-spacing: .14em; color: #8f8a86; word-spacing: .6em; }
.e-con.s242-brands-row { border-top: 1px solid var(--s242-line-dark); }

/* Einsatzmöglichkeiten */
.e-con.s242-uses { border-top: 1px solid var(--s242-line); }
.e-con.s242-use { border-bottom: 1px solid var(--s242-line); }
@media (min-width: 1025px) {
	.e-con.s242-use:not(:nth-child(3n+1)) { border-left: 1px solid var(--s242-line); }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.e-con.s242-use:nth-child(2n) { border-left: 1px solid var(--s242-line); }
}
.elementor-widget.s242-num .elementor-heading-title { font-family: var(--s242-mono); font-size: 12px; letter-spacing: .2em; color: var(--s242-wine); font-weight: 400; }

/* Preise */
.e-con.s242-price { border: 1.5px solid var(--s242-ink); }
.e-con.s242-price > .elementor-widget-button { margin-top: auto; padding-top: 14px; }
.e-con.s242-price--info { border: 1px solid var(--s242-line); }
.elementor-widget.s242-amt .elementor-heading-title { font-family: var(--s242-head); font-weight: 600; font-size: clamp(64px, 7vw, 96px); line-height: .9; }
.s242-amt__unit { font-size: clamp(20px, 2.2vw, 30px); font-weight: 500; color: var(--s242-steel); margin-left: 6px; }
.e-con.s242-price--hl .s242-amt__unit { color: #a8a39f; }
.elementor-widget.s242-gross { font-size: 13px; color: var(--s242-steel); }
.e-con.s242-price--hl .elementor-widget.s242-gross { color: #a8a39f; }
.elementor-widget.s242-pricelist ul { list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.elementor-widget.s242-pricelist li { display: flex; justify-content: space-between; gap: 16px; padding: 7px 0; border-bottom: 1px solid var(--s242-line); }
.elementor-widget.s242-pricelist li span:last-child { color: var(--s242-ink); font-weight: 500; white-space: nowrap; }
.elementor-widget.s242-pricelist--incl li span:last-child { color: var(--s242-wine); }
.elementor-widget.s242-note { font-size: 12.5px; color: var(--s242-steel); }

/* Buchung */
.e-con.s242-book { color: #e9d9cc; }
.elementor-widget.s242-steps ol { list-style: none; counter-reset: s; margin: 0; padding: 0; }
.elementor-widget.s242-steps li { counter-increment: s; display: grid; grid-template-columns: 52px 1fr; padding: 20px 0; border-top: 1px solid rgba(241, 229, 218, .2); font-size: 13.5px; }
.elementor-widget.s242-steps li::before { content: "0" counter(s); font-family: var(--s242-head); font-size: 26px; color: var(--s242-sand); line-height: 1.1; }
.elementor-widget.s242-steps li b { display: block; font-family: var(--s242-head); font-weight: 500; font-size: 19px; color: var(--s242-sand); letter-spacing: .02em; }
.elementor-widget.s242-alt a { color: var(--s242-sand); }

/* Buchungs-Widget (Shortcode [s242_buchung]) */
.s242-widget form { display: none; }
.s242-widget { background: var(--s242-sand); color: var(--s242-graphite); display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); font-family: var(--s242-mono); font-size: 14px; line-height: 1.6; }
.s242-widget .w-main { padding: 30px 30px 34px; }
.s242-widget .w-sum { background: var(--s242-paper); padding: 30px 30px 34px; display: flex; flex-direction: column; border-left: 1px solid var(--s242-line); }
.s242-widget .w-step { font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--s242-wine); margin: 0 0 12px; }
.s242-widget .w-step:not(:first-child) { margin-top: 26px; }
.s242-widget .cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.s242-widget .cal-head strong { font-family: var(--s242-head); font-weight: 500; font-size: 19px; color: var(--s242-ink); letter-spacing: .03em; }
.s242-widget .cal-head button { background: none; border: 1px solid var(--s242-line); width: 34px; height: 34px; padding: 0; border-radius: 0; font-family: var(--s242-mono); font-size: 15px; color: var(--s242-ink); cursor: pointer; }
.s242-widget .cal-head button:hover:not(:disabled) { background: var(--s242-paper); }
.s242-widget .cal-head button:disabled { opacity: .3; cursor: default; }
.s242-widget .cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.s242-widget .cal .dow { font-size: 12px; letter-spacing: .12em; color: var(--s242-steel); padding-bottom: 4px; }
.s242-widget .cal button { aspect-ratio: 1; padding: 0; border: 1px solid transparent; border-radius: 0; background: var(--s242-paper); font-family: var(--s242-mono); font-size: 13px; color: var(--s242-ink); cursor: pointer; transition: border-color .15s, background .15s; }
.s242-widget .cal button:hover:not(:disabled) { border-color: var(--s242-ink); background: var(--s242-paper); color: var(--s242-ink); }
.s242-widget .cal button:disabled { background: transparent; color: #b9aea5; cursor: default; }
.s242-widget .cal button.sel, .s242-widget .cal button.sel:hover { background: var(--s242-ink); color: var(--s242-paper); }
.s242-widget .cal-note { font-size: 12px; color: var(--s242-steel); margin-top: 10px; }
.s242-widget .seg { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.s242-widget .seg button { border: 1px solid var(--s242-line); border-radius: 0; background: var(--s242-paper); padding: 9px 0; font-family: var(--s242-mono); font-size: 13px; color: var(--s242-ink); cursor: pointer; }
.s242-widget .seg button:hover { border-color: var(--s242-ink); background: var(--s242-paper); color: var(--s242-ink); }
.s242-widget .seg button[aria-pressed="true"] { background: var(--s242-ink); color: var(--s242-paper); border-color: var(--s242-ink); }
.s242-widget .seg-note { font-size: 12px; color: var(--s242-steel); margin-top: 6px; }
.s242-widget select { width: 100%; font-family: var(--s242-mono); font-size: 14px; padding: 10px 12px; border: 1px solid var(--s242-line); border-radius: 0; background-color: var(--s242-paper); color: var(--s242-ink); }
.s242-widget .chk { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; margin-top: 8px; cursor: pointer; }
.s242-widget .chk input { accent-color: var(--s242-wine); margin-top: 5px; }
.s242-widget .w-sum h3 { font-family: var(--s242-head); font-weight: 500; font-size: 20px; color: var(--s242-ink); margin: 0 0 16px; }
.s242-widget .sum { list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.s242-widget .sum li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--s242-line); }
.s242-widget .sum li span:last-child { color: var(--s242-ink); font-weight: 500; text-align: right; }
.s242-widget [hidden] { display: none !important; }
.s242-widget .total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 18px; }
.s242-widget .total span { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--s242-wine); }
.s242-widget .total strong { font-family: var(--s242-head); font-weight: 600; font-size: 44px; color: var(--s242-ink); line-height: 1; }
.s242-widget .sum-small { font-size: 12px; color: var(--s242-steel); margin: 4px 0 0; text-align: right; }
.s242-widget .w-btn { margin-top: 24px; display: inline-flex; justify-content: center; align-items: center; gap: 12px; width: 100%; font-family: var(--s242-head); font-weight: 500; font-size: 17px; letter-spacing: .06em; text-transform: uppercase; color: var(--s242-paper); background: var(--s242-ink); border: 1.5px solid var(--s242-ink); border-radius: 0; padding: 16px 26px; cursor: pointer; transition: background .2s, border-color .2s; }
.s242-widget .w-btn:hover:not([disabled]) { background: var(--s242-wine); border-color: var(--s242-wine); color: var(--s242-paper); }
.s242-widget .w-btn[disabled] { opacity: .35; cursor: not-allowed; }
.s242-widget .w-msg { font-size: 12px; margin: 12px 0 0; color: var(--s242-steel); min-height: 2.6em; }

/* Anfahrt / Karte (Shortcode [s242_karte]) */
.s242-map { position: relative; min-height: 420px; height: 100%; background: var(--s242-sand); border: 1px solid var(--s242-line); display: flex; align-items: flex-end; overflow: hidden; }
.s242-map::before { content: ""; position: absolute; inset: 0; background:
	linear-gradient(90deg, transparent 0 31%, rgba(55,18,16,.10) 31% 31.4%, transparent 31.4%),
	linear-gradient(0deg, transparent 0 58%, rgba(55,18,16,.10) 58% 58.5%, transparent 58.5%),
	linear-gradient(25deg, transparent 0 47%, rgba(80,84,87,.22) 47% 48.6%, transparent 48.6%),
	linear-gradient(-62deg, transparent 0 70%, rgba(55,18,16,.08) 70% 70.4%, transparent 70.4%); }
.s242-map .pin { position: absolute; left: 52%; top: 42%; transform: translate(-50%, -100%); background: var(--s242-ink); color: var(--s242-paper); font-family: var(--s242-head); font-size: 16px; letter-spacing: .04em; padding: 6px 12px; }
.s242-map .pin::after { content: ""; position: absolute; left: 50%; bottom: -8px; border: 8px solid transparent; border-bottom: 0; border-top-color: var(--s242-ink); transform: translateX(-50%); }
.s242-map .consent { position: relative; background: var(--s242-paper); margin: 16px; padding: 18px 20px; border: 1px solid var(--s242-line); font-family: var(--s242-mono); font-size: 12.5px; display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; }
.s242-map .consent button { font-family: var(--s242-head); font-weight: 500; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--s242-paper); background: var(--s242-ink); border: 0; border-radius: 0; padding: 10px 16px; cursor: pointer; }
.s242-map .consent button:hover { background: var(--s242-wine); color: var(--s242-paper); }
.s242-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.elementor-widget.s242-addr .elementor-heading-title { font-family: var(--s242-head); font-size: 28px; font-weight: 500; line-height: 1.2; }
.elementor-widget.s242-ways ul { list-style: none; margin: 0; padding: 0; }
.elementor-widget.s242-ways li { padding: 20px 0; border-top: 1px solid var(--s242-line); font-size: 14px; }
.elementor-widget.s242-ways li b { display: block; font-family: var(--s242-head); font-weight: 500; font-size: 19px; color: var(--s242-ink); margin-bottom: 6px; }
.elementor-widget.s242-ways a { color: var(--s242-wine); }

/* FAQ (Elementor-Akkordeon) */
.elementor-widget.s242-faq .elementor-accordion-item { border: 0; border-top: 1px solid var(--s242-line); }
.elementor-widget.s242-faq .elementor-accordion-item:last-child { border-bottom: 1px solid var(--s242-line); }
.elementor-widget.s242-faq .elementor-tab-title { padding: 22px 0; border: 0 !important; display: flex; flex-direction: row-reverse; justify-content: space-between; gap: 24px; }
.elementor-widget.s242-faq .elementor-tab-content { padding: 0 0 24px; border: 0 !important; max-width: 68ch; }
.elementor-widget.s242-faq .elementor-accordion-icon { color: var(--s242-wine); }

/* Gutschein-Band */
.e-con.s242-voucher .elementor-widget-image,
.e-con.s242-voucher .elementor-widget-image > .elementor-widget-container { height: 100%; }
.e-con.s242-voucher img { width: 100%; height: 100% !important; min-height: 340px; object-fit: cover; object-position: 50% 25%; }

/* ==========================================================================
   7. FOOTER
   ========================================================================== */
.e-con.s242-footer { color: #a8a39f; }
.e-con.s242-footer a { text-decoration: none; color: #a8a39f; }
.e-con.s242-footer a:hover { color: var(--s242-paper); }
.elementor-widget.s242-foot-h .elementor-heading-title { font-family: var(--s242-mono); font-weight: 500; font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--s242-sand); }
.e-con.s242-foot-bottom { border-top: 1px solid var(--s242-line-dark); }
.s242-footer .elementor-widget.s242-nav .elementor-item { padding: 3px 0 !important; color: #a8a39f; }
.s242-foot-bottom .elementor-widget.s242-nav .elementor-nav-menu--main > .elementor-nav-menu > li { margin-left: 18px; }
.s242-foot-bottom .elementor-widget.s242-nav .elementor-nav-menu--main > .elementor-nav-menu > li:first-child { margin-left: 0; }
/* Germanized-Pflichthinweise unter dem Footer im dunklen Band fortführen */
body.s242 .footer-info { margin: 0; background: var(--s242-ink); color: #8f8a86; font-family: var(--s242-mono); font-size: 12px; text-align: center; padding: 0 16px 6px; }
body.s242 .footer-info + .footer-info { padding-bottom: 28px; }
.s242-footer .elementor-widget.s242-nav .elementor-item:hover { color: var(--s242-paper); }

/* Mobile Buchungsleiste */
.e-con.s242-mbar { display: none; }
@media (max-width: 1024px) {
	.e-con.s242-mbar {
		display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		padding-bottom: calc(10px + env(safe-area-inset-bottom));
		transform: translateY(110%); transition: transform .3s;
	}
	.e-con.s242-mbar.is-visible { transform: none; }
	body.s242 .e-con.s242-footer { padding-bottom: 96px; }
}
body.elementor-editor-active .e-con.s242-mbar { position: relative; transform: none; display: flex; }

/* ==========================================================================
   7b. UNTERSEITEN (Elementor)
   ========================================================================== */
.elementor-widget.s242-h1sub .elementor-heading-title { font-size: clamp(40px, 5.6vw, 76px); line-height: 1; }
.elementor-widget.s242-subintro { max-width: 60ch; font-size: 16px; }
.e-con.s242-subhero { border-bottom: 1px solid var(--s242-line); }
.e-con.s242-cta .elementor-widget.s242-h2 .elementor-heading-title { color: var(--s242-sand); }
.elementor-widget.s242-amt--s .elementor-heading-title { font-size: clamp(44px, 4.4vw, 60px); }
.elementor-widget.s242-checks ul { list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.elementor-widget.s242-checks li { padding: 7px 0 7px 22px; border-bottom: 1px solid var(--s242-line); position: relative; }
.elementor-widget.s242-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--s242-wine); }
.e-con.s242-sand-box, .elementor-widget.s242-note-box { background: var(--s242-paper); border: 1px solid var(--s242-line); padding: 18px 22px; font-size: 13.5px; }
.e-con[class*="s242"] .elementor-widget.s242-note-box p { margin: 0; }
.elementor-widget.s242-note-box a, .elementor-widget.s242-contactlinks a, .elementor-widget.s242-note a { color: var(--s242-wine); }
.e-con.s242-extras { border-top: 1px solid var(--s242-line); }
.e-con.s242-aside { border-top: 1.5px solid var(--s242-ink); padding-top: 24px !important; }
.elementor-widget.s242-ways--compact li { padding: 12px 0; }
.elementor-widget.s242-ways--compact li b { font-family: var(--s242-mono); font-weight: 400; font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--s242-wine); margin-bottom: 2px; }
.e-con.s242-sand .s242-map, .s242-map { background-color: var(--s242-sand-deep); }

/* Preisliste (Seite „Preise“) */
html:has(.s242-jumpwrap) { scroll-padding-top: 150px; }
.e-con.s242-jumpwrap { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 76px); z-index: 40; border-bottom: 1px solid var(--s242-line); }
.elementor-widget.s242-jumpbar p { margin: 0; display: flex; flex-wrap: wrap; gap: 8px 10px; }
.elementor-widget.s242-jumpbar a { font-family: var(--s242-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--s242-ink); text-decoration: none; border: 1px solid var(--s242-line); padding: 7px 12px; transition: background-color .2s, color .2s, border-color .2s; }
.elementor-widget.s242-jumpbar a:hover { background: var(--s242-ink); border-color: var(--s242-ink); color: var(--s242-paper); }
@media (max-width: 767px) {
	.elementor-widget.s242-jumpbar p { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.elementor-widget.s242-jumpbar p::-webkit-scrollbar { display: none; }
	.elementor-widget.s242-jumpbar a { white-space: nowrap; }
}
.e-con.s242-pr-list { border-top: 1.5px solid var(--s242-ink); }
.e-con.s242-pr-row { border-bottom: 1px solid var(--s242-line); }
.elementor-widget.s242-pr-name .elementor-heading-title { font-size: 26px; line-height: 1.15; }
.elementor-widget.s242-pr-facts .elementor-heading-title { font-family: var(--s242-mono); font-weight: 400; font-size: 12px; letter-spacing: .06em; line-height: 1.6; }
.elementor-widget.s242-pr-desc { font-size: 14px; max-width: 62ch; }
.elementor-widget.s242-pr-desc p, .elementor-widget.s242-pr-cta p { margin: 0; }
.elementor-widget.s242-pr-cta a { font-family: var(--s242-mono); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--s242-wine); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.elementor-widget.s242-pr-cta a:hover { color: var(--s242-ink); }
.elementor-widget.s242-pr-price .elementor-heading-title { font-family: var(--s242-head); font-weight: 600; font-size: clamp(34px, 3.4vw, 44px); line-height: 1; color: var(--s242-wine); white-space: nowrap; margin-top: 6px; }
.elementor-widget.s242-pr-gross { font-size: 12px; line-height: 1.5; color: var(--s242-steel); }
.elementor-widget.s242-pr-gross p { margin: 0; }
.elementor-widget.s242-pr-facts { margin-top: 6px !important; }
@media (max-width: 767px) { .elementor-widget.s242-pr-price .elementor-heading-title { white-space: normal; } }

/* Preise auf einen Blick */
.e-con.s242-glance-card { background: var(--s242-paper); border: 1.5px solid var(--s242-ink); }
.elementor-widget.s242-glance-h .elementor-heading-title a { color: var(--s242-ink); text-decoration: none; }
.elementor-widget.s242-glance-h .elementor-heading-title a:hover { color: var(--s242-wine); }
.elementor-widget.s242-glance ul { list-style: none; margin: 0; padding: 0; }
.elementor-widget.s242-glance li { display: flex; align-items: baseline; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--s242-line); font-size: 13.5px; line-height: 1.4; }
.elementor-widget.s242-glance li span { flex: 1 1 auto; }
.elementor-widget.s242-glance li b { flex: 0 0 auto; font-family: var(--s242-head); font-weight: 600; font-size: 19px; color: var(--s242-wine); white-space: nowrap; text-align: right; }

/* Startseite: Shooting-Preise */
.e-con.s242-shoot-strip { border-top: 1px solid var(--s242-line); }
.e-con.s242-shoot-strip .elementor-widget.s242-h2 .elementor-heading-title { font-size: clamp(28px, 2.6vw, 36px); line-height: 1.08; }
.e-con.s242-shoot-tile { border: 1px solid var(--s242-line); background: var(--s242-paper); }
.elementor-widget.s242-tile-price .elementor-heading-title { font-family: var(--s242-head); font-weight: 600; font-size: 32px; line-height: 1; color: var(--s242-wine); }
.elementor-widget.s242-tile-price .elementor-heading-title small { font-family: var(--s242-mono); font-weight: 400; font-size: 12px; color: var(--s242-steel); letter-spacing: .02em; }
.elementor-widget.s242-shootlink { font-size: 14px; }
.elementor-widget.s242-shootlink a { color: var(--s242-wine); }

/* Formular */
.elementor-widget.s242-form .elementor-field-group .elementor-field { font-family: var(--s242-mono); }
.elementor-widget.s242-form .elementor-field-group .elementor-field:focus { border-color: var(--s242-ink); box-shadow: none; outline: none; }
.elementor-widget.s242-form .elementor-field-label { margin-bottom: 6px; }
.elementor-widget.s242-form .elementor-message { font-family: var(--s242-mono); font-size: 13px; }

/* Beitragsliste (News, Archiv) */
.elementor-widget.s242-posts .elementor-post { border-bottom: 1px solid var(--s242-line); padding-bottom: 24px; }
.elementor-widget.s242-posts .elementor-post__thumbnail__link { margin-bottom: 18px !important; }
.elementor-widget.s242-posts .elementor-post__meta-data { margin-bottom: 8px; }
.elementor-widget.s242-posts .elementor-post__read-more { text-decoration: none; }
.elementor-widget.s242-posts .elementor-pagination { margin-top: 48px; font-family: var(--s242-mono); }
.elementor-widget.s242-posts .elementor-pagination .page-numbers { display: inline-block; min-width: 38px; padding: 8px 10px; border: 1px solid var(--s242-line); margin: 0 3px; color: var(--s242-ink); text-decoration: none; }
.elementor-widget.s242-posts .elementor-pagination .page-numbers.current { background: var(--s242-ink); color: var(--s242-paper); border-color: var(--s242-ink); }

/* Lange Rechtstexte im Elementor-Textblock */
.elementor-widget.s242-legal { max-width: 820px; }

/* ==========================================================================
   7c. RECHTSTEXTE & EINFACHE SEITEN (Hello-Vorlage ohne Elementor)
   ========================================================================== */
body.s242:not(.elementor-page) .site-main,
body.s242.woocommerce-page .site-main { max-width: none; width: 100%; padding: 0; margin: 0; }
body.s242 .site-main > .page-header,
body.s242 .woocommerce-products-header {
	background: var(--s242-sand);
	border-bottom: 1px solid var(--s242-line);
	padding: clamp(56px, 7vw, 96px) max(var(--s242-gutter), calc((100% - var(--s242-wrap)) / 2 + var(--s242-gutter))) clamp(40px, 5vw, 64px);
	margin: 0;
}
body.s242 .site-main > .page-header .entry-title,
body.s242 .woocommerce-products-header__title.page-title {
	font-family: var(--s242-head); font-weight: 600; letter-spacing: -.01em;
	font-size: clamp(40px, 5.6vw, 76px); line-height: 1; color: var(--s242-ink); margin: 0; max-width: 18ch;
}
body.s242 .site-main > .page-content,
body.s242.single-post .site-main > .page-content,
body.s242 .site-main > .post-tags,
body.s242 .site-main > #comments {
	max-width: 820px; margin: clamp(48px, 6vw, 88px) auto clamp(72px, 8vw, 120px); padding: 0 var(--s242-gutter);
}
body.s242 .site-main.page, body.s242 .site-main.post, body.s242 article.page, body.s242 article.post { background-color: transparent; }
body.s242 .page-content [style*="color"], body.s242 .s242-legal [style*="color"] { color: inherit !important; }
body.s242 .page-content, body.s242 .s242-legal { font-family: var(--s242-mono); font-size: 15px; line-height: 1.75; color: var(--s242-graphite); }
body.s242 .page-content :is(p, li, td, th, address),
body.s242 .s242-legal :is(p, li, td, th, address) { color: var(--s242-graphite); }
body.s242 .page-content :is(h1, h2, h3, h4, h5),
body.s242 .s242-legal :is(h1, h2, h3, h4, h5) {
	font-family: var(--s242-head); font-weight: 500; color: var(--s242-ink); line-height: 1.2; margin: 1.8em 0 .6em;
}
body.s242 .page-content :is(h1, h2), body.s242 .s242-legal :is(h1, h2) { font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; }
body.s242 .page-content :is(h3, h4, h5), body.s242 .s242-legal :is(h3, h4, h5) { font-size: 20px; }
body.s242 .page-content > :first-child, body.s242 .s242-legal > :first-child { margin-top: 0; }
body.s242 .page-content p, body.s242 .s242-legal p { margin: 0 0 1em; }
body.s242 .page-content a, body.s242 .s242-legal a { color: var(--s242-wine); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
body.s242 .page-content a:hover, body.s242 .s242-legal a:hover { color: var(--s242-ink); }
body.s242 .page-content :is(ul, ol), body.s242 .s242-legal :is(ul, ol) { padding-left: 1.3em; margin: 0 0 1.2em; }
body.s242 .page-content table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
body.s242 .page-content :is(td, th) { border: 1px solid var(--s242-line); padding: 8px 10px; background: transparent; }
body.s242 .page-content strong, body.s242 .s242-legal strong { color: var(--s242-ink); font-weight: 500; }

/* Einzelbeiträge */
body.s242.single-post .site-main > .page-content img { height: auto; }

/* ==========================================================================
   7d. WOOCOMMERCE (Shop, Produkt, Warenkorb, Kasse, Konto)
   ========================================================================== */
body.s242.woocommerce-page { background-color: var(--s242-paper); }
body.s242.woocommerce-page :is(p, td, th, address, label, li, h1, h2, h3, h4, h5) { color: var(--s242-graphite); }
body.s242.woocommerce-page :is(h1, h2, h3, h4, h5) { font-family: var(--s242-head); color: var(--s242-ink); }
body.s242.woocommerce-page .page-content,
body.s242.woocommerce-page .site-main > .woocommerce-notices-wrapper,
body.s242.post-type-archive-product .site-main > :not(.woocommerce-products-header),
body.s242.single-product .site-main > .product,
body.s242.single-product .site-main > .woocommerce-notices-wrapper,
body.s242.woocommerce-page .site-main > .woocommerce-breadcrumb {
	max-width: var(--s242-wrap); margin-left: auto; margin-right: auto; padding-left: var(--s242-gutter); padding-right: var(--s242-gutter); box-sizing: border-box;
}
body.s242.woocommerce-page .page-content { margin-top: clamp(40px, 5vw, 72px); margin-bottom: clamp(72px, 8vw, 120px); font-family: var(--s242-mono); font-size: 14.5px; }
body.s242.woocommerce-page .woocommerce-breadcrumb { font-family: var(--s242-mono); font-size: 12px; letter-spacing: .06em; color: var(--s242-steel); padding-top: 28px; }
body.s242.woocommerce-page .woocommerce-breadcrumb a { color: var(--s242-wine); }
body.s242.post-type-archive-product .woocommerce-result-count,
body.s242.post-type-archive-product .woocommerce-ordering { margin-top: 40px; font-family: var(--s242-mono); font-size: 13px; }

/* Buttons */
body.s242 .woocommerce :is(a.button, button.button, input.button, #respond input#submit),
body.s242.woocommerce-page :is(a.button, button.button, input.button),
body.s242 .woocommerce a.button.alt, body.s242 .woocommerce button.button.alt, body.s242 .wc-proceed-to-checkout a.checkout-button, body.s242 #place_order {
	font-family: var(--s242-head); font-weight: 500; font-size: 16px; letter-spacing: .06em; text-transform: uppercase;
	background: var(--s242-ink); color: var(--s242-paper); border: 1.5px solid var(--s242-ink); border-radius: 0; padding: 14px 24px; line-height: 1.3;
	transition: background-color .2s, border-color .2s;
}
body.s242 .woocommerce :is(a.button, button.button, input.button):hover,
body.s242.woocommerce-page :is(a.button, button.button, input.button):hover,
body.s242 .wc-proceed-to-checkout a.checkout-button:hover, body.s242 #place_order:hover {
	background: var(--s242-wine); border-color: var(--s242-wine); color: var(--s242-paper);
}
body.s242 .woocommerce :is(button.button, input.button):disabled { opacity: .45; }

/* Shop-Raster */
body.s242.woocommerce ul.products { margin-top: 24px; margin-bottom: clamp(72px, 8vw, 120px); }
body.s242.woocommerce ul.products li.product { border: 1px solid var(--s242-line); padding: 0 0 22px; background: var(--s242-paper); text-align: left; }
body.s242.woocommerce ul.products li.product a img { margin: 0 0 16px; aspect-ratio: 4 / 3; object-fit: cover; }
body.s242.woocommerce ul.products li.product :is(.woocommerce-loop-product__title, .price, .button, .wc-gzd-additional-info, .wc-gzd-additional-info-loop, p) { margin-left: 20px; margin-right: 20px; }
body.s242.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--s242-head); font-size: 22px; font-weight: 500; color: var(--s242-ink); padding: 0; }
body.s242.woocommerce ul.products li.product .price { font-family: var(--s242-head); font-size: 20px; color: var(--s242-wine); }
body.s242.woocommerce ul.products li.product .wc-gzd-additional-info { font-size: 12px; }
body.s242.woocommerce span.onsale { background: var(--s242-wine); border-radius: 0; min-height: 0; min-width: 0; padding: 4px 10px; line-height: 1.4; font-family: var(--s242-mono); font-size: 12px; }

/* Produktseite */
body.s242.single-product .site-main > .product { margin-top: clamp(40px, 5vw, 72px); margin-bottom: clamp(72px, 8vw, 120px); }
body.s242.single-product div.product .product_title { font-size: clamp(36px, 4.4vw, 56px); font-weight: 600; line-height: 1.02; }
body.s242.single-product div.product :is(p.price, span.price) { font-family: var(--s242-head); font-size: 32px; color: var(--s242-wine); }
body.s242.single-product div.product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--s242-line); }
body.s242.single-product div.product .woocommerce-tabs ul.tabs::before { display: none; }
body.s242.single-product div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0 24px 0 0; padding: 0; }
body.s242.single-product div.product .woocommerce-tabs ul.tabs li::before, body.s242.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.s242.single-product div.product .woocommerce-tabs ul.tabs li a { font-family: var(--s242-head); font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--s242-steel); padding: 10px 0; }
body.s242.single-product div.product .woocommerce-tabs ul.tabs li.active a { color: var(--s242-ink); box-shadow: inset 0 -2px 0 var(--s242-wine); }
body.s242.single-product .related.products > h2 { font-size: 32px; }
body.s242.single-product .woocommerce-Tabs-panel > h2 { font-size: 24px; font-weight: 500; }
body.s242.single-product .woocommerce-product-gallery { opacity: 1 !important; }

/* Formulare */
body.s242 .woocommerce :is(input.input-text, select, textarea),
body.s242 .woocommerce form .form-row :is(input.input-text, textarea, select),
body.s242 .select2-container--default .select2-selection--single {
	font-family: var(--s242-mono); font-size: 14px; color: var(--s242-ink);
	background: var(--s242-paper); border: 1px solid var(--s242-line); border-radius: 0; padding: 10px 12px; min-height: 44px; box-shadow: none;
}
body.s242 .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 22px; padding-left: 0; color: var(--s242-ink); }
body.s242 .woocommerce :is(input.input-text, select, textarea):focus { border-color: var(--s242-ink); outline: none; }
body.s242 .woocommerce form .form-row label { font-family: var(--s242-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--s242-wine); }
body.s242 .woocommerce form .form-row label :is(.required, abbr) { color: var(--s242-wine); text-decoration: none; }
body.s242 .woocommerce :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--s242-wine); }

/* Tabellen: Warenkorb, Kasse, Bestellübersicht */
body.s242 .woocommerce table.shop_table { border: 1px solid var(--s242-line); border-radius: 0; border-collapse: collapse; background: var(--s242-paper); }
body.s242 .woocommerce table.shop_table :is(th, td) { border-top: 1px solid var(--s242-line); padding: 14px 16px; background: transparent !important; color: var(--s242-graphite); }
body.s242 .woocommerce table.shop_table thead th { font-family: var(--s242-mono); font-weight: 400; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--s242-wine); }
body.s242 .woocommerce table.shop_table .product-name a { color: var(--s242-ink); font-family: var(--s242-head); font-size: 18px; font-weight: 500; text-decoration: none; }
body.s242 .woocommerce table.shop_table dl.variation { font-size: 13px; }
body.s242 .woocommerce table.shop_table :is(.order-total, .cart-subtotal) :is(th, td) { font-family: var(--s242-head); font-size: 18px; color: var(--s242-ink); }
body.s242 .woocommerce a.remove { color: var(--s242-wine) !important; border-radius: 0; }
body.s242 .woocommerce a.remove:hover { background: var(--s242-wine); color: var(--s242-paper) !important; }
body.s242 .woocommerce td.actions { display: table-cell; }
body.s242 .woocommerce .cart-collaterals .cart_totals h2,
body.s242 .woocommerce-checkout h3 { font-size: 26px; font-weight: 500; margin-bottom: 14px; }
body.s242 .woocommerce-checkout .shop_table { background: var(--s242-paper); }
body.s242 .woocommerce-checkout #payment { background: var(--s242-sand); border-radius: 0; color: var(--s242-graphite); }
body.s242 .woocommerce-checkout #payment div.payment_box { background: var(--s242-paper); color: var(--s242-graphite); border-radius: 0; }
body.s242 .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--s242-paper); }
body.s242 .woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--s242-line); }
body.s242 .woocommerce-checkout #payment :is(label, p, li) { color: var(--s242-graphite); }

body.s242 .woocommerce .wc-gzd-item-desc { margin: 4px 0 6px; font-size: 12.5px; color: var(--s242-steel); }
body.s242 .woocommerce .wc-gzd-item-desc :is(h1, h2, h3) { font-family: var(--s242-mono); font-weight: 400; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--s242-wine); margin: 0 0 4px; }
body.s242 .woocommerce .wc-gzd-item-desc p { margin: 0; font-size: 12.5px; color: var(--s242-steel); }
body.s242 .woocommerce dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 8px 0 0; }
body.s242 .woocommerce dl.variation :is(dt, dd) { margin: 0; padding: 0; float: none; font-size: 13px; }
body.s242 .woocommerce dl.variation dt { color: var(--s242-wine); font-weight: 400; }
body.s242 .woocommerce dl.variation dd p { margin: 0; color: var(--s242-ink); }

/* Hinweise */
body.s242 .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
body.s242.woocommerce-page :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	background: var(--s242-sand); color: var(--s242-ink); border: 0; border-left: 0; border-top: 2px solid var(--s242-wine); border-radius: 0; font-family: var(--s242-mono); font-size: 14px;
}
body.s242 .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { color: var(--s242-wine); }
body.s242 .woocommerce-error { border-top-color: #a3271b !important; }
body.s242 .woocommerce :is(.woocommerce-message, .woocommerce-info) a.button { float: right; padding: 8px 14px; font-size: 14px; }

/* Mein Konto */
body.s242 .woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--s242-line); }
body.s242 .woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--s242-line); }
body.s242 .woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; font-family: var(--s242-head); text-transform: uppercase; letter-spacing: .06em; color: var(--s242-ink); text-decoration: none; }
body.s242 .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--s242-wine); }
body.s242 .woocommerce :is(form.login, form.register, form.checkout_coupon) { border: 1px solid var(--s242-line); border-radius: 0; }

/* Mini-Warenkorb im Header */
.s242-header .elementor-menu-cart__main { font-family: var(--s242-mono); }
.s242-header .elementor-menu-cart__footer-buttons .elementor-button { border-radius: 0; font-family: var(--s242-head); text-transform: uppercase; letter-spacing: .06em; }
.s242-header .elementor-menu-cart__footer-buttons .elementor-button--view-cart { background: var(--s242-paper); color: var(--s242-ink); border: 1.5px solid var(--s242-ink); }
.s242-header .elementor-menu-cart__footer-buttons .elementor-button--checkout { background: var(--s242-ink); color: var(--s242-paper); }

/* ==========================================================================
   8. RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
	.e-con.s242-gear-img { position: static; }
	.s242-widget { grid-template-columns: 1fr; }
	.s242-widget .w-sum { border-left: 0; border-top: 1px solid var(--s242-line); }
}
@media (max-width: 767px) {
	.e-con.s242-hero__img { aspect-ratio: 4 / 3.2; }
	.e-con.s242-hero__img img { object-position: 50% 18%; }
	.elementor-widget.s242-hero-btns .elementor-button,
	.e-con.s242-hero-btns .elementor-widget-button .elementor-button { width: 100%; justify-content: center; }
	.s242-widget .w-main, .s242-widget .w-sum { padding: 22px 18px 26px; }
	.s242-widget .seg { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.e-con.s242-voucher img { min-height: 0; aspect-ratio: 16 / 10; }
	.elementor-widget.s242-faq .elementor-tab-title { font-size: 18px; }
	.s242-foot-bottom .elementor-widget.s242-nav .elementor-nav-menu { justify-content: flex-start !important; }
	.s242-foot-bottom .elementor-widget.s242-nav .elementor-nav-menu--main > .elementor-nav-menu > li { margin: 0 18px 0 0; }
}

/* Editor: nichts verstecken */
body.elementor-editor-active .elementor-widget.s242-ghost { opacity: .6; }
