/* Dancecouture Strauss: Kopf, Fuss und Grundformen. Farben, Groessen und
   Abstaende stehen als Werte an den Modulen; hier bleibt, was Divi nicht
   fuehrt: Schriftfamilie je Klasse, Innenleben der Menues, Zeigezustaende. */

/* Grotesk fuer Etiketten, Menuezeilen und Schaltflaechen; Divi nimmt die
   Schriftfamilie je Modul nicht an. */
.dcs-sans, .dcs-sans p, .dcs-sans a, .dcs-sans h3, .dcs-vorteil .et_pb_module_header,
body #page-container .et_pb_button, .woocommerce a.button, .woocommerce button.button { font-family: 'Jost', 'Segoe UI', Arial, sans-serif; }

/* Schaltflaechen: Zeigezustand aendert Farbe, nie die Groesse. */
body #page-container .et_pb_button { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
/* Schriftfarbe mit Gewicht: das Preset fuehrt seine Farbe je Modul und gewinnt sonst. */
body #page-container .et_pb_section .et_pb_button.dcs-knopf:hover { background-color: #2a4a68; border-color: #2a4a68; color: #fff !important; }
body #page-container .et_pb_section .dcs-buehne-karte .et_pb_button.dcs-knopf:hover { background-color: #fff; border-color: #fff; color: #0a0a0a !important; }
/* Innenmass fuer Ruhe und Zeigen gleich; Divi setzt beim Zeigen sonst sein eigenes Seitenmass. */
body #page-container .et_pb_section .et_pb_button.dcs-knopf, body #page-container .et_pb_section .et_pb_button.dcs-knopf:hover,
body #page-container .et_pb_section .et_pb_button.et_pb_contact_submit, body #page-container .et_pb_section .et_pb_button.et_pb_contact_submit:hover { padding: 11px 22px !important; }
body #page-container .et_pb_section .et_pb_button.dcs-knopf-gross, body #page-container .et_pb_section .et_pb_button.dcs-knopf-gross:hover { padding: 14px 30px !important; }
body #page-container .et_pb_section .et_pb_button.et_pb_contact_submit { margin: 0; }
body #page-container .et_pb_section .et_pb_button.et_pb_contact_submit:hover { background-color: #2a4a68; border-color: #2a4a68; color: #fff !important; }
.et_pb_button_module_wrapper { line-height: 0; }
/* Pfeil hinter der Beschriftung, in der Schriftfarbe; Divis eigener Zeigepfeil ist dafuer umgestellt. */
body #page-container .et_pb_section .et_pb_button.dcs-knopf, body #page-container .et_pb_section .et_pb_button.et_pb_contact_submit { display: inline-flex; flex-direction: row !important; align-items: center; gap: 12px; }
body #page-container .et_pb_section .et_pb_button.dcs-knopf::after, body #page-container .et_pb_section .et_pb_button.dcs-knopf:hover::after,
body #page-container .et_pb_section .et_pb_button.et_pb_contact_submit::after, body #page-container .et_pb_section .et_pb_button.et_pb_contact_submit:hover::after { content: '' !important; display: block !important; position: static !important; flex: 0 0 16px; width: 16px; height: 16px; margin: 0 !important; opacity: 1 !important; transform: none !important; background-color: currentColor; -webkit-mask: url(symbole/arrow-right.svg) center / contain no-repeat; mask: url(symbole/arrow-right.svg) center / contain no-repeat; }

/* Karte On Stage: schmale Textspalte, deshalb knapperes Innenmass und kein Pfeil. */
body #page-container .et_pb_section .dcs-buehne-karte .et_pb_button.dcs-knopf, body #page-container .et_pb_section .dcs-buehne-karte .et_pb_button.dcs-knopf:hover { padding: 11px 16px !important; }
body #page-container .et_pb_section .dcs-buehne-karte .et_pb_button.dcs-knopf::after, body #page-container .et_pb_section .dcs-buehne-karte .et_pb_button.dcs-knopf:hover::after { display: none !important; }

/* Leiste */
.dcs-leiste .et_pb_text p { padding: 0; }

/* Kopf: Logo, Menue, Symbole */
.dcs-composed .et_pb_column.dcs-kopf-spalte { position: static; }
.dcs-logo a, .dcs-logo img, .dcs-fuss-logo a, .dcs-fuss-logo img, .dcs-kopf-symbol a, .dcs-kopf-symbol img, .dcs-fuss-symbol img { display: block; }
.dcs-logo img, .dcs-fuss-logo img { width: 100%; height: auto; }
/* Das Siegel ist eine Vektordatei ohne eigenes Mass; die Breite haelt es klein, auch bevor Divi sein Layout-CSS neu schreibt. */
.dcs-fuss .dcs-fuss-siegel { width: 56px; max-width: 56px; }
.dcs-fuss .dcs-fuss-logo { max-width: 210px; }
.dcs-fuss-siegel img { display: block; width: 100%; height: auto; }
.dcs-fuss .dcs-fuss-folgen-satz { flex: 0 0 auto; white-space: nowrap; }
.dcs-kopf-symbol img { width: 26px; height: 26px; }
.dcs-nav .et_pb_menu_inner_container, .dcs-nav .et_pb_menu__wrap { justify-content: flex-start; }
.dcs-nav .et-menu { margin: 0; gap: 30px; }
.dcs-nav .et-menu > li { padding: 0; margin: 0; }
.dcs-nav .et_pb_menu__wrap, .dcs-nav .et_pb_menu__menu, .dcs-nav .et-menu-nav, .dcs-nav .et-menu { align-items: center; }
.dcs-nav .et-menu > li > a { padding: 12px 0; font-weight: 400; }
.dcs-nav .et-menu > li.menu-item-has-children > a:first-child { padding-right: 18px; }
.dcs-nav .et-menu > li.menu-item-has-children > a:first-child::after { top: 50%; right: 0; transform: translateY(-50%); }
.dcs-nav .et-menu li a:hover { opacity: 1; color: #365e82; }
.dcs-nav .et-menu li ul.sub-menu { border-top: 2px solid #365e82; padding: 12px 0; width: 220px; }
.dcs-nav .et-menu li ul.sub-menu li { padding: 0; display: block; }
.dcs-nav .et-menu li ul.sub-menu a { width: 100%; padding: 9px 22px; font-size: 15px; font-weight: 400; }
@media (max-width: 980px) {
  .dcs-nav .et_pb_menu__wrap { justify-content: flex-end; }
  .dcs-nav .et_mobile_menu { left: 0; right: 0; width: 100vw; margin-left: calc(50% - 50vw); border-top: 2px solid #365e82; padding: 12px 20px; }
  .dcs-nav .et_mobile_menu li a { padding: 12px 0; font-size: 17px; border-bottom: 1px solid #d9dfe5; }
  .dcs-composed .et_pb_column.dcs-kopf-spalte .dcs-nav { position: static; order: 3; }
  .dcs-composed .et_pb_column.dcs-kopf-spalte .dcs-kopf-aktionen { order: 2; }
}

/* Fuss */
.dcs-fuss-nav .et_pb_menu_inner_container, .dcs-fuss-nav .et_pb_menu__wrap, .dcs-recht-nav .et_pb_menu_inner_container, .dcs-recht-nav .et_pb_menu__wrap { justify-content: flex-start; }
.dcs-fuss-nav .et-menu, .dcs-recht-nav .et-menu { margin: 0; gap: 8px 34px; flex-wrap: wrap; }
.dcs-fuss-nav .et-menu > li, .dcs-recht-nav .et-menu > li { padding: 0; margin: 0; }
.dcs-fuss-nav .et-menu > li > a, .dcs-recht-nav .et-menu > li > a { padding: 6px 0; font-weight: 400; }
.dcs-fuss-nav .et-menu > li > a:hover, .dcs-recht-nav .et-menu > li > a:hover { opacity: 1; color: #365e82; }
.dcs-fuss-nav .et_pb_menu__menu, .dcs-recht-nav .et_pb_menu__menu { display: flex; }
.dcs-fuss-nav .et_mobile_nav_menu, .dcs-recht-nav .et_mobile_nav_menu { display: none; }
/* Widerruf hebt sich von den uebrigen Rechtstexten ab. */
/* Zweiter Selektor fuer Shopseiten: dort traegt Divi seine Menuefarben mit .et-db #et-boc vor. */
.dcs-recht-nav .et-menu > li.dcs-widerruf > a, .et-db #et-boc .et-l .dcs-recht-nav .et-menu > li.dcs-widerruf > a { padding: 6px 14px; border: 1px solid #365e82; color: #365e82; font-weight: 600; }
.dcs-recht-nav .et-menu > li.dcs-widerruf > a:hover, .et-db #et-boc .et-l .dcs-recht-nav .et-menu > li.dcs-widerruf > a:hover { background-color: #365e82; color: #fff; }
.dcs-agentur p { padding: 0; }
.dcs-agentur img { display: inline-block; vertical-align: -1px; }
.dcs-agentur a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* Texte ohne Divis Absatzpolster am Ende */
.dcs-composed .et_pb_text p:last-child { padding-bottom: 0; }

/* Shop */
body.dcs-shop #sidebar { display: none; }
body.dcs-shop #left-area { float: none; width: 100%; padding-right: 0; }
body.dcs-shop #main-content .container::before { display: none; }
body.dcs-shop #main-content .container { width: calc(100% - 152px); max-width: 1288px; padding-top: 48px; padding-bottom: 72px; }
body.dcs-shop .woocommerce-breadcrumb { font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 13px; letter-spacing: .08em; color: #5f6468; }
body.dcs-shop .woocommerce-breadcrumb a { color: #365e82; }
body.dcs-shop .woocommerce-breadcrumb a, body.dcs-shop .product_meta a { text-decoration: underline; text-underline-offset: 3px; }
body.dcs-shop h1.page-title, body.dcs-shop .product_title { font-size: 40px; line-height: 1.15; letter-spacing: .06em; text-transform: uppercase; color: #365e82; padding-bottom: 12px; }
body.dcs-shop .woocommerce-result-count, body.dcs-shop .woocommerce-ordering select { font-size: 16px; color: #5f6468; }
body.dcs-shop ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 72px 48px; margin: 32px 0 0; padding: 0; }
body.dcs-shop .et_shop_image .et_overlay, .dcs-karten .et_shop_image .et_overlay { display: none; }
body.dcs-shop .dcs-shopfilter { clear: both; margin: 0 0 28px; }
body.dcs-shop #left-area .dcs-shopfilter ul { display: flex; flex-wrap: wrap; gap: 10px 12px; margin: 0; padding: 0; list-style: none; }
body.dcs-shop .dcs-shopfilter a { display: block; padding: 6px 14px; border: 1px solid #8ba7bf; font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; color: #365e82; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
body.dcs-shop .dcs-shopfilter a:hover, body.dcs-shop .dcs-shopfilter a[aria-current] { border-color: #365e82; background-color: #365e82; color: #fff; }
body.dcs-shop .dcs-shopfilter a:focus-visible { outline: 2px solid #2e3133; outline-offset: 2px; }
body.dcs-shop ul.products::before, body.dcs-shop ul.products::after { content: none; }
body.dcs-shop ul.products li.product { float: none; width: 100% !important; margin: 0 !important; }
body.dcs-shop ul.products li.product img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; margin-bottom: 14px !important; }
body.dcs-shop ul.products li.product .woocommerce-loop-product__title, body.dcs-shop ul.products li.product .woocommerce-loop-category__title { font-family: 'Libre Baskerville', Georgia, serif; font-size: 17px !important; line-height: 1.3; color: #2e3133; padding: 0 0 4px; }
body.dcs-shop ul.products li.product .price, body.dcs-shop div.product p.price, body.dcs-shop div.product span.price { font-size: 16px !important; color: #365e82 !important; }
body.dcs-shop div.product p.price { font-size: 22px !important; }
body.dcs-shop div.product .woocommerce-product-details__short-description { font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #5f6468; }
body.dcs-shop .wc-gzd-additional-info { font-size: 14px; line-height: 1.5; color: #5f6468; padding-bottom: 4px; }
body.dcs-shop .legal-price-info .wc-gzd-additional-info > span { display: block; }
body.dcs-shop .wc-gzd-additional-info a { color: #365e82; }
body.dcs-shop div.product form.cart .variations th.label { padding: 10px 16px 10px 0; text-align: left; font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
body.dcs-shop div.product form.cart .variations select { min-width: 240px; height: 44px; padding: 0 12px; border: 1px solid #8ba7bf; background: #fff; font-size: 16px; color: #2e3133; }
body.dcs-shop div.product form.cart .variations select:has(+ .dcs-farbfelder:not([hidden])) { position: absolute; width: 1px; min-width: 0; height: 1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); }
body.dcs-shop .dcs-farbfelder { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
body.dcs-shop .dcs-farbfelder[hidden] { display: none; }
body.dcs-shop .dcs-farbfeld { width: 36px; height: 36px; padding: 0; border: 1px solid #8ba7bf; border-radius: 50%; cursor: pointer; }
body.dcs-shop .dcs-farbfeld[aria-checked="true"] { outline: 2px solid #365e82; outline-offset: 3px; }
body.dcs-shop .dcs-farbfeld:focus-visible { outline: 2px solid #2e3133; outline-offset: 3px; }
body.dcs-shop .dcs-farbname { flex-basis: 100%; min-height: 1.5em; font-size: 16px; color: #2e3133; }
body.dcs-shop div.product form.cart .quantity input.qty { height: 46px; border: 1px solid #8ba7bf; background: #fff; font-size: 16px; color: #2e3133; }
body.dcs-shop #page-container .button, body.dcs-shop #page-container button.button, body.dcs-shop #page-container a.button { padding: 13px 28px !important; border: 1px solid #365e82; border-radius: 0; background: #365e82; color: #fff; font-size: 12px; font-weight: 500; line-height: 1.5 !important; letter-spacing: .2em; text-transform: uppercase; }
body.dcs-shop #page-container .button::after { display: none; }
body.dcs-shop #page-container .button:hover { padding: 13px 28px !important; border-color: #2a4a68; background: #2a4a68; color: #fff; }
body.dcs-shop #page-container .button.disabled, body.dcs-shop #page-container .button:disabled { opacity: .55; }
body.dcs-shop h1.entry-title.main_title { font-size: 40px; line-height: 1.15; letter-spacing: .06em; text-transform: uppercase; color: #365e82; padding-bottom: 28px; }
body.dcs-shop .wc-block-components-button:not(.is-link) { border-radius: 0; background: #365e82; color: #fff; font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
body.dcs-shop .wc-block-components-button:not(.is-link):hover, body.dcs-shop .wc-block-components-button:not(.is-link):focus { background: #2a4a68; color: #fff; }
body.dcs-shop .wc-block-components-button:not(.is-link):focus-visible { outline: 2px solid #2e3133; outline-offset: 2px; }
body.dcs-shop .wc-block-checkout__form .wc-block-components-title, body.dcs-shop .wc-block-components-checkout-order-summary__title-text, body.dcs-shop .wc-block-cart__totals-title { font-family: 'Forum', Georgia, serif; font-size: 20px; letter-spacing: .08em; text-transform: uppercase; color: #365e82; }
body.dcs-shop .wc-block-components-text-input input, body.dcs-shop .wc-blocks-components-select .wc-blocks-components-select__container { border-color: #8ba7bf; border-radius: 0; }
body.dcs-shop .wc-block-checkout__terms, body.dcs-shop .wc-block-components-checkout-step__description, body.dcs-shop .wc-block-components-totals-shipping .wc-block-components-totals-item__description { font-size: 16px; }
body.dcs-shop .wc-block-components-product-details { font-size: 14px; line-height: 1.5; }
/* Produktgalerie: Vorschaubilder links neben dem Hauptbild, hoechstens so hoch wie dieses. */
@media (min-width: 768px) {
  body.dcs-shop .woocommerce-product-gallery { position: relative; padding-left: 104px; }
  body.dcs-shop #page-container div.product div.images .flex-control-thumbs { position: absolute; top: 0; bottom: 0; left: 0; display: flex; flex-direction: column; gap: 12px; width: 88px; margin: 0; padding: 0; overflow-y: auto; scrollbar-width: thin; }
  body.dcs-shop #page-container div.product div.images .flex-control-thumbs li { flex: 0 0 auto; float: none; width: 100%; margin: 0; }
}
body.dcs-shop .woocommerce-tabs { margin-top: 56px; border: 0; }
body.dcs-shop .woocommerce-tabs ul.tabs { background: none; border-bottom: 1px solid #d9dfe5; }
body.dcs-shop .woocommerce-tabs ul.tabs::before { display: none; }
body.dcs-shop .woocommerce-tabs ul.tabs li { border: 0; background: none; }
body.dcs-shop .woocommerce-tabs ul.tabs li a { padding: 14px 24px 14px 0 !important; font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #5f6468; }
body.dcs-shop .woocommerce-tabs ul.tabs li.active a { color: #365e82 !important; }
body.dcs-shop .woocommerce-tabs .panel { max-width: 820px; padding: 32px 0 0; }
body.dcs-shop .woocommerce-tabs .panel > h2:first-child { display: none; }
body.dcs-shop .woocommerce-tabs .panel h3 { margin-top: 20px; font-size: 20px; letter-spacing: .08em; text-transform: uppercase; color: #365e82; }
body.dcs-shop .related.products > h2, body.dcs-shop .cart_totals h2, body.dcs-shop .woocommerce-billing-fields h3, body.dcs-shop #order_review_heading { font-size: 24px; letter-spacing: .08em; text-transform: uppercase; color: #365e82; }
body.dcs-shop .related.products { margin-top: 72px; }
body.dcs-shop .product_meta { border-top: 1px solid #d9dfe5; font-size: 16px; }
body.dcs-shop img.dcs-pflege { width: 160px; height: auto; }
body.dcs-shop table.dcs-masse { width: auto; min-width: 320px; margin: 12px 0 28px; border: 0; border-collapse: collapse; font-size: 16px; }
body.dcs-shop table.dcs-masse th, body.dcs-shop table.dcs-masse td { padding: 10px 28px 10px 0; border: 0; border-bottom: 1px solid #d9dfe5; text-align: left; color: #2e3133; }
body.dcs-shop table.dcs-masse thead th { border-bottom-color: #8ba7bf; font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #5f6468; }
body.dcs-shop table.dcs-masse tbody th { font-weight: 700; }
body.dcs-shop .woocommerce-tabs .panel > table.dcs-masse { margin-top: 0; }
body.dcs-shop .woocommerce-tabs .panel .dcs-massnehmen-titel { margin: 36px 0 24px; }
body.dcs-shop .woocommerce-tabs .panel.woocommerce-Tabs-panel--massnehmen { max-width: 1040px; }
body.dcs-shop .dcs-toleranz { max-width: 640px; color: #5f6468; }
/* Figurine, daneben Grundregeln und Messweise des Modells. */
body.dcs-shop .woocommerce-tabs .panel .dcs-massnehmen { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
body.dcs-shop .dcs-massnehmen .dcs-figurine { margin: 0; }
body.dcs-shop .dcs-massnehmen .dcs-figurine img { display: block; width: auto; max-width: 100%; max-height: 440px; height: auto; }
body.dcs-shop .dcs-massnehmen h3:first-child { margin-top: 0; }
body.dcs-shop #left-area .dcs-massnehmen .dcs-messregeln ul, body.dcs-shop #left-area .dcs-massnehmen .dcs-messweise ul { margin: 0; padding: 0; list-style: none; }
body.dcs-shop #left-area .dcs-massnehmen .dcs-messregeln li, body.dcs-shop #left-area .dcs-massnehmen .dcs-messweise li { margin: 0; padding: 0; }
body.dcs-shop .dcs-massnehmen .dcs-messweise .dcs-messabsatz { margin: 1.2em 0 0; padding: 0; }
body.dcs-shop .woocommerce-message, body.dcs-shop .woocommerce-info { background: #eef3f7; color: #2e3133; border-color: #8ba7bf; font-size: 16px; }
body.dcs-shop .woocommerce-message a, body.dcs-shop .woocommerce-info a { color: #365e82; }
@media (max-width: 980px) {
  body.dcs-shop #main-content .container { width: calc(100% - 40px); padding-top: 32px; }
  body.dcs-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 20px; }
  body.dcs-shop h1.page-title, body.dcs-shop .product_title { font-size: 30px; }
  body.dcs-shop h1.entry-title.main_title { font-size: 30px; }
  body.dcs-shop .woocommerce-tabs .panel .dcs-massnehmen { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  body.dcs-shop .dcs-massnehmen .dcs-figurine img { max-height: 340px; }
  body.dcs-shop table.dcs-masse { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  body #page-container .et_pb_button, body.dcs-shop .dcs-shopfilter a { transition: none; }
}

/* Kurze Produktbezeichnung unter dem Namen in der Shop-Übersicht. */
body.dcs-shop ul.products li.product .dcs-kurzbezeichnung, .dcs-karten ul.products li.product .dcs-kurzbezeichnung { margin: 0 0 6px; padding: 0; font-size: 16px; line-height: 1.45; color: #5f6468; }

/* Leerer Warenkorb: "Neu im Shop" wie die Karten im Shop. */
body.dcs-shop .wc-block-cart__empty-cart__title { font-family: 'Libre Baskerville', Georgia, serif; font-size: 16px; color: #5f6468; }
body.dcs-shop .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) { font-family: 'Forum', Georgia, serif; font-size: 24px; letter-spacing: .08em; text-transform: uppercase; color: #365e82; }
body.dcs-shop .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }
body.dcs-shop .wc-block-grid .wc-block-grid__products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 72px 48px; margin: 32px 0 0; }
body.dcs-shop .wc-block-grid .wc-block-grid__product { max-width: none; flex: none; margin: 0; padding: 0; border: 0; text-align: left; }
body.dcs-shop .wc-block-grid__product-image img { aspect-ratio: 4 / 5; object-fit: cover; }
body.dcs-shop .wc-block-grid__product-title { margin: 16px 0 0; font-family: 'Libre Baskerville', Georgia, serif; font-size: 17px; font-weight: 400; line-height: 1.3; color: #2e3133; }
body.dcs-shop .wc-block-grid__product-price { margin: 4px 0 0; font-size: 16px; color: #365e82; }
body.dcs-shop .wc-block-grid__product-add-to-cart { display: none; }
@media (max-width: 980px) {
  body.dcs-shop .wc-block-grid .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 20px; }
}

/* Figurine öffnet groß. */
.dcs-gross-zeigen { display: block; cursor: zoom-in; }
dialog.dcs-gross { max-width: 92vw; max-height: 92vh; padding: 0; border: 0; background: #fff; }
dialog.dcs-gross::backdrop { background: rgba(46, 49, 51, .72); }
dialog.dcs-gross img { display: block; width: auto; height: auto; max-width: 92vw; max-height: 88vh; min-height: min(80vh, 885px); object-fit: contain; }
dialog.dcs-gross button { position: absolute; top: 8px; right: 8px; min-width: 44px; min-height: 44px; border: 1px solid #365e82; background: #fff; color: #365e82; font-size: 22px; line-height: 1; cursor: pointer; }

/* EU-Merkblatt an der Kassa, vor dem Bestellknopf. */
.dcs-eu-label { max-width: 560px; margin: 8px 0 28px; }
.dcs-eu-label img { display: block; width: 100%; height: auto; border: 1px solid #e3e6e8; }
.dcs-eu-label p { margin: 10px 0 0; font-size: 16px; }
.dcs-eu-label p a { color: #365e82; text-decoration: underline; text-underline-offset: 3px; }

/* Farbe gerade nicht verfügbar: Feld bleibt sichtbar, durchgestrichen. */
body.dcs-shop .dcs-farbfeld[aria-disabled="true"] { cursor: not-allowed; opacity: .45; background-image: linear-gradient(to top right, transparent 46%, #2e3133 47%, #2e3133 53%, transparent 54%); }

/* Zahl der Artikel am Warenkorb-Symbol, Symbol auch im breiten Tablet-/Handy-Modul rechtsbuendig. */
.dcs-kopf-warenkorb { align-items: flex-end; }
/* Shop-Seiten setzen Bildverweise auf volle Breite; das Symbol bliebe sonst links in der Spalte stehen. */
.dcs-kopf-warenkorb.et_pb_image a, .dcs-kopf-warenkorb.et_pb_image .et_pb_image_wrap { width: auto !important; }
.dcs-kopf-warenkorb a { position: relative; }
.dcs-warenkorb-zahl { position: absolute; top: -7px; right: -11px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; background: #365e82; color: #fff; font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 11px; font-weight: 600; line-height: 19px; text-align: center; }
.dcs-warenkorb-zahl[hidden] { display: none; }

/* EU-Merkblatt Gewährleistung im Produktreiter. */
.dcs-gewaehrleistung-label { max-width: 420px; margin: 8px 0 24px; }
.dcs-gewaehrleistung-label img { display: block; width: 100%; height: auto; border: 1px solid #e3e6e8; }
.dcs-gewaehrleistung-label figcaption { margin-top: 8px; font-size: 13px; color: #5f6468; }

/* Videos: volle Breite der Spalte; bei Schleifen ohne Bedienleiste. */
.dcs-video video { display: block; width: 100%; height: auto; }
.dcs-schleife .mejs-controls, .dcs-schleife .mejs-overlay-button, .dcs-schleife .mejs-overlay-play { display: none !important; }

/* Verweise im Fliesstext der Produktseite und im Warenkorb unterstrichen, nicht nur farbig. */
body.dcs-shop .woocommerce-tabs .panel p a, body.dcs-shop .dcs-versandhinweis a { text-decoration: underline; text-underline-offset: 3px; }
body.dcs-shop .dcs-versandhinweis { max-width: 640px; margin-bottom: 28px; font-size: 16px; color: #5f6468; }

/* Anpassungen 3.0 (Kundin, 03.11.2026) */
/* Kopfleiste am Handy: zweite Zeile ohne Umbruch. */
@media (max-width: 767px) {
  .dcs-leiste .et_pb_text p { font-size: 11px; letter-spacing: .1em; }
}
@media (max-width: 350px) {
  .dcs-leiste .et_pb_text p { font-size: 10.5px; }
}
/* Kurzbezeichnung kleiner als der Produktname. */
body.dcs-shop ul.products li.product .dcs-kurzbezeichnung, .dcs-karten ul.products li.product .dcs-kurzbezeichnung, body.dcs-shop .wc-block-grid__product .dcs-kurzbezeichnung { font-size: 14px; }
body.dcs-shop .wc-block-grid__product .dcs-kurzbezeichnung { margin: 4px 0 0; padding: 0; line-height: 1.45; color: #5f6468; }
/* Warenkorb am Handy: Divis Tabellenabstände (#content-area) schieben den Preis über den Rand. */
@media (max-width: 919px) {
  body.dcs-shop table.wc-block-cart-items { border: 0; }
  body.dcs-shop #content-area table.wc-block-cart-items th, body.dcs-shop #content-area table.wc-block-cart-items td { padding: 0; }
}
/* Versandart: Preis bleibt im Rahmen, langer Name bricht um. */
body.dcs-shop .wc-block-components-radio-control__label-group { flex-wrap: wrap; column-gap: 12px; }
body.dcs-shop .wc-block-components-radio-control__secondary-label { margin-left: auto; white-space: nowrap; }
/* Schaltflächen im Warenkorb und an der Kassa einzeilig. */
body.dcs-shop .wc-block-cart__submit-button, body.dcs-shop .wc-block-components-checkout-place-order-button { letter-spacing: .12em; }
/* EU-Merkblatt kleiner, gut lesbar. */
.dcs-eu-label { max-width: 360px; }
/* Maßtabelle am Handy: volle Breite, Werte einzeilig. */
@media (max-width: 980px) {
  body.dcs-shop #content-area div.product .woocommerce-tabs .panel { padding-left: 0; padding-right: 0; }
  body.dcs-shop table.dcs-masse { font-size: 14px; }
  body.dcs-shop table.dcs-masse th, body.dcs-shop table.dcs-masse td { padding: 8px 8px 8px 0; }
  body.dcs-shop table.dcs-masse tbody th, body.dcs-shop table.dcs-masse tbody td { white-space: nowrap; }
  body.dcs-shop table.dcs-masse thead th { font-size: 10.5px; line-height: 1.35; letter-spacing: .04em; vertical-align: bottom; hyphens: auto; }
}
@media (max-width: 350px) {
  body.dcs-shop table.dcs-masse { font-size: 13px; }
}
/* Sehr schmale Handys: Auswahlfeld passt sich der Zeile an. */
@media (max-width: 400px) {
  body.dcs-shop div.product form.cart .variations select { min-width: 0; width: 100%; }
  body.dcs-shop div.product form.cart .variations td.value { min-width: 0; }
  body.dcs-shop .dcs-farbname { min-width: 0; }
}

/* Anpassungen 5.0 (Kundin, 06.11.2026) */
/* Lange Seitentitel am Handy trennen statt ueberstehen. */
@media (max-width: 480px) {
  .et_pb_heading h1 { hyphens: auto; overflow-wrap: break-word; }
}
/* Versandkostenhinweis unter den Karten im leeren Warenkorb lesbar. */
body.dcs-shop .wc-block-grid__product .wc-gzd-additional-info { font-size: 14px; }
/* Sortierung im Shop wie die uebrigen Auswahlfelder. */
body.dcs-shop .woocommerce-ordering select { height: 44px; padding: 0 12px; border: 1px solid #8ba7bf; border-radius: 0; background-color: #fff; color: #2e3133; }

/* Technik 09.11.2026 */
/* Produktgalerie am Handy: Vorschaubilder in einer Zeile zum Wischen, Preis und Auswahl rücken nach oben. */
@media (max-width: 767px) {
  body.dcs-shop #page-container div.product div.images .flex-control-thumbs { display: flex; gap: 8px; margin: 8px 0 0; padding: 0 0 6px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
  body.dcs-shop #page-container div.product div.images .flex-control-thumbs li { flex: 0 0 64px; float: none; width: 64px; margin: 0; scroll-snap-align: start; }
}
/* Verweis von der Größenauswahl auf die Größentabelle. */
body.dcs-shop div.product form.cart .variations .dcs-zur-tabelle { display: inline-block; margin: 8px 16px 0 0; padding: 4px 0; font-size: 14px; color: #365e82; text-decoration: underline; text-underline-offset: 3px; }
body.dcs-shop .woocommerce-tabs ul.tabs li { scroll-margin-top: 120px; }
/* Seite nicht gefunden. */
body.error404 #main-content .container { width: calc(100% - 40px); max-width: 1288px; }
body.error404 #main-content .container::before, body.error404 #sidebar { display: none; }
body.error404 #left-area { float: none; width: 100%; padding-right: 0; }
.dcs-nicht-gefunden { padding: 40px 0 72px; }
.dcs-nicht-gefunden .not-found-title { margin-bottom: 20px; font-family: 'Forum', Georgia, serif; font-size: 36px; color: #365e82; }
.dcs-nicht-gefunden p { max-width: none; font-size: 18px; }
#left-area .dcs-nicht-gefunden-wege { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.dcs-weg { display: inline-block; padding: 13px 28px; border: 1px solid #365e82; font-family: 'Jost', 'Segoe UI', Arial, sans-serif; font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: .2em; text-transform: uppercase; color: #365e82; transition: background-color .2s ease, color .2s ease; }
.dcs-weg-haupt, .dcs-weg:hover { background: #365e82; color: #fff; }
.dcs-weg-haupt:hover { border-color: #2a4a68; background: #2a4a68; }
.dcs-weg:focus-visible { outline: 2px solid #2e3133; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .dcs-weg { transition: none; }
}