/**
 * Kontrast-Modus Styles
 * 
 * Diese Datei enthält alle Styles für den Hochkontrast-Modus,
 * der für bessere Lesbarkeit und Barrierefreiheit sorgt.
 */

/* CSS-Variablen für Farben und andere wiederverwendbare Werte */
:root {
    /* Hauptfarben */
    --contrast-bg-light: #fff;
    --contrast-bg-dark: #000;
    --contrast-text-light: #fff;
    --contrast-text-dark: #000;
    --contrast-accent: #ffd700;
    
    /* Abstände und Größen */
    --contrast-border-width: 2px;
    --contrast-border-style: solid;
    --contrast-opacity: 0.9;
    
    /* Schriftgrößen */
    --font-size-large: 1.25em;
    --font-size-xlarge: 1.5em;
    
    /* Andere */
    --contrast-important: !important;
}

/* ========================================
   Basis-Styles
   ======================================== */
body.contrast-mode {
    background: var(--contrast-bg-light) !important;
    color: var(--contrast-text-dark) !important;
}

body.contrast-mode #primary {
  background-color: var(--contrast-bg-dark) !important;
}

/* Links */
body.contrast-mode a {
    color: var(--contrast-accent) !important;
    text-decoration: underline;
}

/* Formular-Elemente */
body.contrast-mode button,
body.contrast-mode input,
body.contrast-mode select,
body.contrast-mode textarea {
    background: var(--contrast-bg-light) !important;
    color: var(--contrast-text-dark) !important;
    border: var(--contrast-border-width) var(--contrast-border-style) var(--contrast-text-dark) !important;
}

/* ========================================
   Header und Navigation
   ======================================== */
body.contrast-mode #header_main,
body.contrast-mode #header_meta_menu,
body.contrast-mode footer,
body.contrast-mode footer .copyline,
body.contrast-mode .muenchen_container_wrapper.light {
    background-color: var(--contrast-bg-dark)!important;
}

body.contrast-mode #header_main *,
body.contrast-mode #header_meta_menu *,
body.contrast-mode footer * {
    color: var(--contrast-text-light) !important;
}

body.contrast-mode #header_main a,
body.contrast-mode #header_meta_menu a,
body.contrast-mode footer a {
    color: var(--contrast-accent) !important;
}

body.contrast-mode #header_main ul li ul li a {
    color: var(--contrast-text-dark) !important;
}

/* ========================================
   Shop und Produkte
   ======================================== */
/* Produktlisten */
body.contrast-mode .product-loop article .site-product-inner .product-image-wrapper:before {
    background-color: var(--contrast-bg-dark)!important;
    opacity: var(--contrast-opacity)!important;
}

body.contrast-mode .product-loop article .site-product-inner .product-image-wrapper a {
    text-decoration: none;
}

/* Produktdetails */
body.contrast-mode.single-product .site-product-summary,
body.contrast-mode.single-product .site-product-summary .price .amount,
body.contrast-mode .shipping_de.shipping_de_string small span,
body.contrast-mode .wgm-gtin small span,
body.contrast-mode .woocommerce-product-details__short-description p,
body.contrast-mode #primary .site-product-summary .site-product-title,
body.contrast-mode #primary .muenchen_container #site-breadcrumbs {
    color: var(--contrast-text-light)!important;
}

/* Warenkorb und Kasse */
body.contrast-mode .woocommerce-checkout-review-order-table .cart-subtotal,
body.contrast-mode .woocommerce-checkout-review-order-table .cart-subtotal .amount,
body.contrast-mode .woocommerce-checkout-review-order-table .order-total,
body.contrast-mode .woocommerce-checkout-review-order-table .order-total .amount,
body.contrast-mode .woocommerce-checkout-review-order-table .tax-total,
body.contrast-mode .woocommerce-checkout-review-order-table .total {
    color: var(--contrast-text-dark)!important;
}

body.contrast-mode.woocommerce-cart .wc-proceed-to-checkout a {
    background-color: var(--contrast-bg-dark)!important;
    border-color: var(--contrast-bg-dark)!important;
    color: var(--contrast-text-light)!important;
}

/* ========================================
   Schriftgrößen
   ======================================== */
body.font-size-large {
    font-size: var(--font-size-large)!important;
}

body.font-size-xlarge {
    font-size: var(--font-size-xlarge)!important;
}

/* ========================================
   Barrierefreiheitsleiste
   ======================================== */
#accessibility-bar {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: var(--contrast-bg-light);
    padding: 8px 12px;
    border-radius: 4px 0 0 4px;
}

#accessibility-bar button {
    background: var(--contrast-bg-dark);
    color: var(--contrast-text-light);
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

#accessibility-bar button i {
    font-size: 14px;
}

#accessibility-bar button:hover {
    transform: scale(1.05);
}

#accessibility-bar button:focus {
    outline: 2px solid var(--contrast-accent);
    background: var(--contrast-bg-dark);
}

#accessibility-bar button[aria-pressed="true"] {
  background: var(--contrast-accent);
  color: var(--contrast-text-dark);
}
/* ========================================
   Weitere Shop-Elemente
   ======================================== */
body.contrast-mode.woocommerce #primary .widget-area {
    color: var(--contrast-text-dark)!important;
}

body.contrast-mode.archive.woocommerce #site-content-inner > .product-loop article .site-product-meta .wgm-info a,
body.contrast-mode.archive.woocommerce #site-content-inner > .product-loop article .site-product-meta .price .amount,
body.contrast-mode.archive.woocommerce-page #site-content-inner > .product-loop article .site-product-meta .price .amount {
    color: var(--contrast-text-dark)!important;
}

body.contrast-mode .meta-buttons {
    padding: 3px;
}

body.contrast-mode .muenchen_container_wrapper.hero,
body.contrast-mode .meta-buttons a {
    background-color: var(--contrast-bg-dark);
}

body.contrast-mode .content-wrapper .widget-area a {
    color: var(--contrast-text-dark)!important;
}

body.contrast-mode .site-product-meta:has(p),
body.contrast-mode .related.products h2.woocommerce-loop-product__title,
body.contrast-mode .related.products .price .woocommerce-Price-amount,
body.contrast-mode .woocommerce-de_price_taxrate {
    color: var(--contrast-text-dark)!important;
}

body.contrast-mode .product-page-sections .entry-content h2,
body.contrast-mode .product-page-sections .entry-content h3,
body.contrast-mode .widget-title,
body.contrast-mode .woocommerce-result-count,
body.contrast-mode .woocommerce-products-header__title.page-title,
body.contrast-mode #shop-description *:not(a), 
body.contrast-mode .term-description *:not(a),
body.contrast-mode .related.products h2,
body.contrast-mode.woocommerce div.product:not(.related) .product_title,
body.contrast-mode.woocommerce div.product:not(.related) p.price,
body.contrast-mode.woocommerce div.product:not(.related) span.price,
body.contrast-mode .wp-block-heading,
body.contrast-mode .wp-block-column p {
    color: var(--contrast-text-dark)!important;
}

/* Anpassungen für Muenchen-Theme */
body.contrast-mode #header_main,
body.contrast-mode #header_meta_menu,
body.contrast-mode footer,
body.contrast-mode footer .copyline,
body.contrast-mode .muenchen_container_wrapper.light {
    background-color: var(--contrast-bg-dark) !important
}

body.contrast-mode .widget_muenchen_icon_text h3:after {
    background-color: var(--contrast-bg-light);
    opacity: 1 !important
}

body.contrast-mode.single-product.woocommerce div.type-product .wc-tab h2:after, 
body.contrast-mode.single-product.woocommerce-page div.type-product .wc-tab h2:after,
body.contrast-mode.single-product.woocommerce div.type-product .site-product-title:after,
body.contrast-mode.single-product.woocommerce-page div.type-product .site-product-title:after {
    background-color: var(--contrast-bg-light) !important
}

body.contrast-mode.single-product .wein-zum-essen {
    color: var(--contrast-text-light) !important
}

body.contrast-mode .woocommerce-checkout-review-order-table .cart-subtotal,
body.contrast-mode .woocommerce-checkout-review-order-table .cart-subtotal .amount,
body.contrast-mode .woocommerce-checkout-review-order-table .order-total,
body.contrast-mode .woocommerce-checkout-review-order-table .order-total .amount,
body.contrast-mode .woocommerce-checkout-review-order-table .tax-total,
body.contrast-mode .woocommerce-checkout-review-order-table .total {
  color: #000!important;
}

body.contrast-mode.woocommerce-cart .wc-proceed-to-checkout a {
  background-color: #000!important;
  border-color: #000!important;
  color: #fff!important;
}

body.contrast-mode.woocommerce-page .woocommerce label {
  color:#000!important;
}

body.contrast-mode .wgm-info.woocommerce-de_price_taxrate,
body.contrast-mode.woocommerce-cart .woocommerce #shipping_method label span, 
body.contrast-mode.woocommerce-cart #shipping_method label span,
body.contrast-mode.woocommerce-cart .woocommerce .order-total .amount,
body.contrast-mode.woocommerce-cart .woocommerce .cart-subtotal .amount,
body.contrast-mode.woocommerce-cart .woocommerce .shop_table,
body.contrast-mode.woocommerce-cart .woocommerce .cart-collaterals,
body.contrast-mode.woocommerce-cart h1.page_title a,
body.contrast-mode.woocommerce-cart .woocommerce .shop_table,
body.contrast-mode.woocommerce-cart .woocommerce .shop_table a {
  color: #000!important;
}

body.contrast-mode.single-product .site-product-summary,
body.contrast-mode.single-product .site-product-summary .price .amount,
body.contrast-mode .shipping_de.shipping_de_string small span,
body.contrast-mode .wgm-gtin small span,
body.contrast-mode .woocommerce-product-details__short-description p,
body.contrast-mode #primary .site-product-summary .site-product-title,
body.contrast-mode #primary .muenchen_container #site-breadcrumbs {
  color: #fff!important;
}

body.contrast-mode .product-loop article .site-product-inner .product-image-wrapper:before {
  background-color: #000!important;
  opacity: 0.9!important;
}
body.contrast-mode .product-loop article .site-product-inner .product-image-wrapper a {
  text-decoration: none;
}

body.contrast-mode .muenchen_container_wrapper.light .widget-title{
  color: #fff!important;
}

body.contrast-mode #mp-content {
  background-color: #000 !important;
}

body.contrast-mode .woocommerce-result-count {
  color: #fff!important;
}

body.contrast-mode #header_main *,
body.contrast-mode #header_meta_menu *,
body.contrast-mode footer * {
  color: #fff !important;
}

body.contrast-mode #header_main a,
body.contrast-mode #header_meta_menu a,
body.contrast-mode footer a {
  color: #ffd700 !important;
}

body.contrast-mode #header_main ul li ul li a {
  color: #000 !important;
}

/* Schriftgrößen */
body.font-size-large {
  font-size: 1.25em !important;
}
body.font-size-xlarge {
  font-size: 1.5em !important;
}

/* Anpassungen für Elemente mit fester Schriftgröße */
body.font-size-large.archive .archive_products #site-content-inner > .product-loop article .site-product-meta, 
body.font-size-large.archive .archive_products #site-content-inner > .product-loop article .site-product-meta h2 {
  font-size: 1.65rem !important;
  line-height: 125%;
}
body.font-size-large.archive .archive_products #site-content-inner > .product-loop article .site-product-meta,
body.font-size-xlarge.archive .archive_products #site-content-inner > .product-loop article .site-product-meta h2 {
  font-size: 1.85rem !important;
  line-height: 125%;
}

body.font-size-large.woocommerce .archive_products #site-content-inner > .product-loop article .site-product-meta .price .amount, 
body.font-size-large.woocommerce-page .archive_products #site-content-inner > .product-loop article .site-product-meta .price .amount {
  font-size: 1.65rem!important;
}
body.font-size-xlarge.woocommerce .archive_products #site-content-inner > .product-loop article .site-product-meta .price .amount,
body.font-size-xlarge.woocommerce-page .archive_products #site-content-inner > .product-loop article .site-product-meta .price .amount {
  font-size: 1.85rem!important;
}

body.font-size-large.woocommerce .archive_products #site-content-inner > .product-loop article .site-product-meta .woocommerce-de_price_taxrate,
body.font-size-large.woocommerce .archive_products #site-content-inner > .product-loop article .site-product-meta .woocommerce_de_versandkosten {
  font-size: 0.85rem!important;
}
body.font-size-xlarge.woocommerce .archive_products #site-content-inner > .product-loop article .site-product-meta .woocommerce-de_price_taxrate,
body.font-size-xlarge.woocommerce .archive_products #site-content-inner > .product-loop article .site-product-meta .woocommerce_de_versandkosten {
  font-size: 1rem!important;
}

body.font-size-large.woocommerce .price-per-unit {
  font-size: 0.85rem!important;
}
body.font-size-xlarge.woocommerce .price-per-unit {
  font-size: 1rem!important;
}

body.font-size-large .meta-buttons a {
  font-size: 1rem!important;
}

body.font-size-xlarge .meta-buttons a {
  font-size: 1.15rem!important;
  line-height: 1;
}

/* Produktüberschriften */
body.font-size-large .woocommerce .site-product-summary h1.site-product-title {
  font-size: 1.25rem !important;
}
body.font-size-xlarge .woocommerce .site-product-summary h1.site-product-title {
  font-size: 1.5rem !important;
}

/* Preise */
body.font-size-large .woocommerce .archive_products #site-content-inner > .product-loop article .site-product-meta .price .amount,
body.font-size-large .woocommerce-page .archive_products #site-content-inner > .product-loop article .site-product-meta .price .amount,
body.font-size-large .woocommerce table tr.cart-subtotal td>.amount,
body.font-size-large .woocommerce table tr.order-total td>.amount,
body.font-size-large .woocommerce table tr.tax-total td>.amount,
body.font-size-large .woocommerce-page table tr.cart-subtotal td>.amount,
body.font-size-large .woocommerce-page table tr.order-total td>.amount {
  font-size: 1.25rem !important;
}

body.font-size-xlarge .woocommerce .archive_products #site-content-inner > .product-loop article .site-product-meta .price .amount,
body.font-size-xlarge .woocommerce-page .archive_products #site-content-inner > .product-loop article .site-product-meta .price .amount,
body.font-size-xlarge .woocommerce table tr.cart-subtotal td>.amount,
body.font-size-xlarge .woocommerce table tr.order-total td>.amount,
body.font-size-xlarge .woocommerce table tr.tax-total td>.amount,
body.font-size-xlarge .woocommerce-page table tr.cart-subtotal td>.amount,
body.font-size-xlarge .woocommerce-page table tr.order-total td>.amount {
  font-size: 1.5rem !important;
}

/* Navigation */
body.font-size-large #header_main nav ul li a {
  font-size: 1.15rem !important;
}
body.font-size-xlarge #header_main nav ul li a {
  font-size: 1.25rem !important;
}

#site-breadcrumbs a:hover {
  color: #fff;
}

body.font-size-large #site-breadcrumbs {
  font-size: 1rem !important;
}
body.font-size-xlarge #site-breadcrumbs {
  font-size: 1.25rem !important;
}
  

body.font-size-large.woocommerce .archive_products .site-entry-header, 
body.font-size-large.woocommerce-page .archive_products .site-entry-header {
  font-size: 1rem !important;
}

body.font-size-xlarge.woocommerce .archive_products .site-entry-header, 
body.font-size-xlarge.woocommerce-page .archive_products .site-entry-header {
  font-size: 1.25rem !important;
}

body.font-size-large.woocommerce table,
body.font-size-large .woocommerce-page table {
  font-size: 1rem !important;
}

body.font-size-xlarge.woocommerce table,
body.font-size-xlarge .woocommerce-page table {
  font-size: 1.25rem !important;
}

body.font-size-large .wein-zum-essen p {
  font-size: 1.75rem !important;
}

body.font-size-xlarge .wein-zum-essen p {
  font-size: 2rem !important;
}

body.font-size-large.woocommerce #primary h3.widget-title,
body.font-size-large .woocommerce-page #primary h3.widget-title {
  font-size: 1.25rem !important;
}

body.font-size-xlarge.woocommerce #primary h3.widget-title,
body.font-size-xlarge .woocommerce-page #primary h3.widget-title {
  font-size: 1.5rem !important;
}

body.font-size-large .widget.woocommerce.widget_layered_nav li a,
body.font-size-large .widget.woocommerce.widget_product_categories li a {
  font-size: 1rem !important;
}

body.font-size-xlarge .widget.woocommerce.widget_layered_nav li a,
body.font-size-xlarge .widget.woocommerce.widget_product_categories li a {
  font-size: 1.25rem !important;
}

.woocommerce .woocommerce-error, 
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-error, 
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-message {
  font-size: 15px;
}

body.font-size-large.woocommerce .woocommerce-error, 
body.font-size-large.woocommerce .woocommerce-info,
body.font-size-large.woocommerce .woocommerce-message,
body.font-size-large .woocommerce-page .woocommerce-error, 
body.font-size-large .woocommerce-page .woocommerce-info,
body.font-size-large .woocommerce-page .woocommerce-message {
  font-size: 17px;
}

body.font-size-xlarge.woocommerce .woocommerce-error, 
body.font-size-xlarge.woocommerce .woocommerce-info,
body.font-size-xlarge.woocommerce .woocommerce-message,
body.font-size-xlarge .woocommerce-page .woocommerce-error, 
body.font-size-xlarge .woocommerce-page .woocommerce-info,
body.font-size-xlarge .woocommerce-page .woocommerce-message {
  font-size: 19px;
}

button[name="add-to-cart"] {
  font-size: 0.875rem !important;
}

body.font-size-large button[name="add-to-cart"] {
  font-size: 1rem !important;
}

body.font-size-xlarge button[name="add-to-cart"] {
  font-size: 1.15rem !important;
}

body.font-size-large .footer-navigation ul li a {
  font-size: 1rem !important;
}

body.font-size-xlarge .footer-navigation ul li a {
  font-size: 1.25rem !important;
}

body.font-size-large h1 {
  font-size: 38px;
}

body.font-size-xlarge h1 {
  font-size: 46px;
}
  

body.font-size-large .woocommerce #site-cart, 
body.font-size-large .woocommerce-page #site-cart {
  font-size: 18px;
}

body.font-size-xlarge .woocommerce #site-cart,
body.font-size-xlarge .woocommerce-page #site-cart {
  font-size: 22px;
}

body.font-size-large .hero .widget_muenchen_slide .slide_text h2 {
  font-size: 60px;
}

body.font-size-xlarge .hero .widget_muenchen_slide .slide_text h2 {
  font-size: 72px;
}
