/*
Theme Name:   SaniDusch Child
Theme URI:    https://www.sanidusch.ch
Description:  Child-Theme für SaniDusch – basiert auf Astra Pro
Author:       SaniDusch AG
Author URI:   https://www.sanidusch.ch
Template:     astra
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  sanidusch-child
*/

/* ============================================================
   INHALTSVERZEICHNIS
   1.  CSS-Variablen (Farben, Typografie, Layout)
   2.  Globale Basis-Stile
   3.  Typografie
   4.  Header & Topbar
   5.  Hauptnavigation
   6.  Hero-Banner
   7.  Info-Streifen
   8.  WooCommerce – Shop-Seite (Produktgrid)
   9.  WooCommerce – Produktkarte
   10. WooCommerce – Sidebar & Filter
   11. WooCommerce – Produktdetailseite
   12. WooCommerce – Varianten & Buttons
   13. WooCommerce – Offert-Seite (YITH Quotation)
   14. WooCommerce – Checkout (Rechnung & Vorauszahlung)
   15. WooCommerce – Mein Konto
   16. WooCommerce – PDF / E-Mail-Overrides (Klassen)
   17. Merkliste / Wishlist
   18. Footer
   19. Utility-Klassen
   20. Responsive (Tablet / Mobile)
   ============================================================ */


/* ============================================================
   1. CSS-VARIABLEN
   ============================================================ */
:root {
  /* Markenfarben */
  --sd-blue:          #1a3a5c;
  --sd-blue-hover:    #2c5f8a;
  --sd-blue-light:    #e6eef5;
  --sd-gold:          #c8922a;
  --sd-gold-hover:    #e8b84b;
  --sd-gold-light:    #fdf5e8;

  /* Grautöne */
  --sd-bg:            #f5f5f3;
  --sd-bg-mid:        #e8e6e1;
  --sd-white:         #ffffff;
  --sd-border:        #d4d0c8;
  --sd-border-dark:   #b0aca0;

  /* Text */
  --sd-text:          #1a1a1a;
  --sd-muted:         #5a5a5a;
  --sd-hint:          #8a8a8a;

  /* Status */
  --sd-success:       #2e7d32;
  --sd-error:         #c62828;
  --sd-warning:       #e65100;

  /* Typografie */
  --font-body:        'Lato', sans-serif;
  --font-display:     'Playfair Display', serif;

  /* Layout */
  --container:        1100px;
  --radius:           2px;
  --radius-md:        6px;
  --transition:       all 0.15s ease;
}


/* ============================================================
   2. GLOBALE BASIS-STILE
   ============================================================ */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family:    var(--font-body);
  font-size:      14px;
  line-height:    1.6;
  color:          var(--sd-text);
  background:     var(--sd-bg);
  -webkit-font-smoothing: antialiased;
}

.container,
.ast-container {
  max-width: var(--container) !important;
  margin:    0 auto;
  padding:   0 16px;
}

a {
  color:           var(--sd-blue-hover);
  text-decoration: none;
  transition:      var(--transition);
}
a:hover {
  color: var(--sd-blue);
}

img {
  max-width: 100%;
  height:    auto;
}


/* ============================================================
   3. TYPOGRAFIE
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.woocommerce .entry-title,
.woocommerce-page .entry-title {
  font-family: var(--font-display);
  color:       var(--sd-blue);
  line-height: 1.2;
}

h1 { font-size: 2rem;   font-weight: 600; }
h2 { font-size: 1.6rem; font-weight: 600; }
h3 { font-size: 1.3rem; font-weight: 400; }

.sd-label {
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color:          var(--sd-hint);
}


/* ============================================================
   4. HEADER & TOPBAR
   ============================================================ */

/* Topbar */
.sd-topbar {
  background: var(--sd-blue);
  color:      #ccd9e8;
  font-size:  11px;
  padding:    6px 0;
}
.sd-topbar a {
  color:      #a8bcd0;
  margin-left: 14px;
}
.sd-topbar a:hover {
  color: #ffffff;
}

/* Astra Header überschreiben */
.site-header,
#masthead,
.ast-header-wrap {
  background:   var(--sd-white) !important;
  border-bottom: 1px solid var(--sd-border);
  box-shadow:   none !important;
}

.ast-logo-svg,
.custom-logo,
.site-title a {
  font-family: var(--font-display) !important;
  font-size:   26px !important;
  font-weight: 600 !important;
  color:       var(--sd-blue) !important;
}

/* Header-Suchleiste */
.ast-header-search .search-form input[type="search"] {
  border:        1.5px solid var(--sd-blue);
  border-radius: var(--radius);
  padding:       10px 14px;
  font-family:   var(--font-body);
  font-size:     14px;
}
.ast-header-search .search-form input[type="search"]:focus {
  outline:      none;
  border-color: var(--sd-gold);
}
.ast-header-search .search-submit {
  background:    var(--sd-blue);
  color:         #fff;
  border-radius: 0 var(--radius) var(--radius) 0;
}


/* ============================================================
   5. HAUPTNAVIGATION
   ============================================================ */
#ast-desktop-nav .main-navigation,
.ast-desktop-nav,
#ast-hf-menu-1 {
  background: var(--sd-blue) !important;
}

/* Nav-Links */
.ast-desktop-nav .menu-item > a,
#ast-hf-menu-1 .menu-item > a,
.main-navigation .menu-item > a {
  color:          #ccd9e8 !important;
  font-size:      13px !important;
  font-weight:    700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding:        14px 16px !important;
  border-bottom:  3px solid transparent;
  transition:     var(--transition);
}

.ast-desktop-nav .menu-item > a:hover,
.ast-desktop-nav .menu-item.current-menu-item > a,
.main-navigation .menu-item.current-menu-item > a {
  color:        #ffffff !important;
  border-color: var(--sd-gold) !important;
  background:   rgba(255,255,255,0.05) !important;
}

/* Offerte-CTA in Nav */
.menu-item-offerte > a,
.nav-offerte > a {
  background:   var(--sd-gold) !important;
  color:        #ffffff !important;
  border-color: transparent !important;
  padding:      14px 20px !important;
}
.menu-item-offerte > a:hover,
.nav-offerte > a:hover {
  background: var(--sd-gold-hover) !important;
}

/* Dropdown */
.ast-desktop-nav .sub-menu,
.main-navigation .sub-menu {
  background:    var(--sd-blue) !important;
  border:        1px solid var(--sd-blue-hover);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  box-shadow:    0 4px 16px rgba(0,0,0,0.2);
  min-width:     200px;
}
.ast-desktop-nav .sub-menu .menu-item > a {
  padding:     10px 16px !important;
  font-size:   12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}


/* ============================================================
   6. HERO-BANNER
   ============================================================ */
.sd-hero {
  background:   var(--sd-blue);
  color:        #ffffff;
  padding:      40px 0;
  overflow:     hidden;
  position:     relative;
}
.sd-hero::before {
  content:       '';
  position:      absolute;
  right:         -60px;
  top:           -60px;
  width:         360px;
  height:        360px;
  border-radius: 50%;
  background:    rgba(200,146,42,0.10);
  pointer-events: none;
}
.sd-hero-inner {
  max-width:      var(--container);
  margin:         0 auto;
  padding:        0 16px;
  display:        flex;
  align-items:    center;
  justify-content: space-between;
  gap:            32px;
  position:       relative;
  z-index:        1;
}
.sd-hero h1 {
  font-family: var(--font-display);
  font-size:   32px;
  font-weight: 600;
  color:       #ffffff;
  line-height: 1.2;
  margin:      0 0 10px;
}
.sd-hero p {
  font-size:   15px;
  color:       #b8ccdd;
  max-width:   420px;
  line-height: 1.6;
}
.sd-hero-badges {
  display:    flex;
  gap:        10px;
  margin-top: 18px;
  flex-wrap:  wrap;
}
.sd-hero-badge {
  border:         1px solid rgba(200,146,42,0.5);
  color:          var(--sd-gold-hover);
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding:        6px 14px;
  border-radius:  var(--radius);
}


/* ============================================================
   7. INFO-STREIFEN
   ============================================================ */
.sd-info-strip {
  display:          grid;
  grid-template-columns: repeat(4, 1fr);
  gap:              1px;
  background:       var(--sd-border);
  border:           1px solid var(--sd-border);
  border-radius:    var(--radius);
  overflow:         hidden;
  margin:           16px auto;
  max-width:        var(--container);
}
.sd-info-item {
  background:  var(--sd-white);
  padding:     16px;
  display:     flex;
  align-items: center;
  gap:         12px;
}
.sd-info-icon {
  width:         36px;
  height:        36px;
  background:    var(--sd-bg);
  border-radius: 50%;
  display:       flex;
  align-items:   center;
  justify-content: center;
  color:         var(--sd-blue-hover);
  font-size:     17px;
  flex-shrink:   0;
}
.sd-info-text strong {
  display:     block;
  font-size:   12px;
  font-weight: 700;
  color:       var(--sd-text);
}
.sd-info-text span {
  font-size: 11px;
  color:     var(--sd-muted);
}


/* ============================================================
   8. WOOCOMMERCE – SHOP-SEITE
   ============================================================ */

/* Toolbar */
.woocommerce-result-count,
.woocommerce-ordering select {
  font-family: var(--font-body);
  font-size:   13px;
  color:       var(--sd-muted);
}
.woocommerce-ordering select {
  border:        1px solid var(--sd-border);
  border-radius: var(--radius);
  padding:       6px 10px;
  background:    var(--sd-white);
}

/* Produktgrid */
.woocommerce ul.products {
  display:               grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap:                   16px !important;
  margin:                0 !important;
}
.woocommerce ul.products li.product {
  float:         none !important;
  width:         auto !important;
  margin:        0 !important;
  padding:       0 !important;
  background:    var(--sd-white);
  border:        1px solid var(--sd-border);
  border-radius: var(--radius);
  overflow:      hidden;
  transition:    box-shadow 0.2s, border-color 0.2s;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--sd-blue);
  box-shadow:   0 4px 16px rgba(26,58,92,0.12);
}


/* ============================================================
   9. WOOCOMMERCE – PRODUKTKARTE
   ============================================================ */

/* Produktbild */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-loop-product__link img {
  height:      180px;
  width:       100%;
  object-fit:  cover;
  display:     block;
}

/* Markenname (Kategorie als Brand) */
.woocommerce ul.products li.product .woocommerce-loop-product__category,
.ast-woocommerce-container .product-category-label {
  font-size:      10px;
  font-weight:    700;
  color:          var(--sd-gold);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding:        0 14px;
  margin-top:     14px;
  display:        block;
}

/* Produktname */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family:   var(--font-body) !important;
  font-size:     13px !important;
  font-weight:   700 !important;
  color:         var(--sd-text) !important;
  line-height:   1.4 !important;
  padding:       4px 14px 0 !important;
  margin:        0 !important;
}

/* Preis */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product span.price {
  font-family: var(--font-display) !important;
  font-size:   18px !important;
  font-weight: 600 !important;
  color:       var(--sd-blue) !important;
  padding:     6px 14px 0 !important;
  display:     block;
}
.woocommerce ul.products li.product .price del {
  font-size:  12px !important;
  color:      var(--sd-hint) !important;
  font-weight: 400 !important;
}

/* Offerte-Button (statt „In den Warenkorb") */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .yith-wcqv-button,
.woocommerce ul.products li.product .yith_ywraq_add_item {
  display:        block;
  width:          calc(100% - 28px);
  margin:         10px 14px 14px;
  padding:        9px 14px;
  background:     var(--sd-white) !important;
  color:          var(--sd-blue) !important;
  border:         1.5px solid var(--sd-blue) !important;
  border-radius:  var(--radius) !important;
  font-family:    var(--font-body) !important;
  font-size:      11px !important;
  font-weight:    700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  text-align:     center !important;
  cursor:         pointer;
  transition:     var(--transition);
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .yith_ywraq_add_item:hover {
  background: var(--sd-blue) !important;
  color:      #ffffff !important;
}

/* Badges */
.woocommerce ul.products li.product .onsale {
  background:    var(--sd-error);
  color:         #ffffff;
  font-size:     10px;
  font-weight:   900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding:        3px 8px;
  border-radius:  var(--radius);
  top:            10px;
  left:           10px;
  min-width:      auto;
  min-height:     auto;
  line-height:    normal;
}

/* Ausstellungs-Badge (Custom-Klasse, via Produkt-Attribut gesetzt) */
.sd-badge-ausst {
  position:       absolute;
  top:            10px;
  left:           10px;
  background:     var(--sd-blue);
  color:          #ffffff;
  font-size:      10px;
  font-weight:    900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding:        3px 8px;
  border-radius:  var(--radius);
  z-index:        2;
}
  .ast-on-card-button {
    display: none;
  }
  .ast-select-options-trigger {
    display: none;
  }


/* ============================================================
   10. WOOCOMMERCE – SIDEBAR & FILTER
   ============================================================ */
.woocommerce-sidebar .widget,
.widget_product_categories,
.widget_layered_nav,
.widget_price_filter {
  background:    var(--sd-white);
  border:        1px solid var(--sd-border);
  border-radius: var(--radius);
  overflow:      hidden;
  margin-bottom: 16px;
}

/* Sidebar Widget-Titel */
.woocommerce-sidebar .widget-title,
.widgettitle {
  background:     var(--sd-blue);
  color:          #ffffff !important;
  font-family:    var(--font-body);
  font-size:      12px !important;
  font-weight:    700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding:        10px 14px !important;
  margin:         0 !important;
}

/* Kategorieliste */
.widget_product_categories ul li a {
  display:         flex;
  justify-content: space-between;
  padding:         10px 14px;
  font-size:       13px;
  color:           var(--sd-text);
  border-bottom:   1px solid var(--sd-bg-mid);
  transition:      var(--transition);
}
.widget_product_categories ul li a:hover,
.widget_product_categories ul li.current-cat a {
  background:  var(--sd-bg);
  color:       var(--sd-blue);
  font-weight: 700;
  padding-left: 11px;
  border-left: 3px solid var(--sd-gold);
}

/* Preisfilter */
.widget_price_filter .price_slider_wrapper .ui-slider {
  background:    var(--sd-bg-mid);
  border:        none;
  border-radius: 2px;
  height:        4px;
}
.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-range {
  background: var(--sd-blue);
}
.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle {
  background:    var(--sd-blue);
  border:        2px solid var(--sd-white);
  border-radius: 50%;
  width:         16px;
  height:        16px;
  top:           -6px;
  box-shadow:    0 1px 4px rgba(0,0,0,0.2);
}

/* Filter-Button */
.widget_price_filter .price_slider_amount .button {
  background:     var(--sd-blue) !important;
  color:          #ffffff !important;
  border-radius:  var(--radius) !important;
  font-size:      12px !important;
  font-weight:    700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding:        8px 14px !important;
  border:         none !important;
}


/* ============================================================
   11. WOOCOMMERCE – PRODUKTDETAILSEITE
   ============================================================ */
.single-product .woocommerce-product-gallery__image img {
  border:        1px solid var(--sd-border);
  border-radius: var(--radius);
}

/* Produkttitel */
.single-product .product_title.entry-title {
  font-family: var(--font-display);
  font-size:   26px;
  font-weight: 600;
  color:       var(--sd-blue);
  margin:      0 0 6px;
}

/* Artikelnummer */
.single-product .sku_wrapper,
.single-product .sku {
  font-size: 11px;
  color:     var(--sd-hint);
}

/* Sternebewertung */
.single-product .woocommerce-product-rating .star-rating span {
  color: var(--sd-gold);
}

/* Preis auf Detailseite */
.single-product .price,
.single-product p.price {
  font-family: var(--font-display) !important;
  font-size:   28px !important;
  font-weight: 600 !important;
  color:       var(--sd-blue) !important;
}

/* Preis-Box */
.sd-price-box {
  background:    var(--sd-blue-light);
  border:        1px solid #c0d4e8;
  border-radius: var(--radius);
  padding:       16px;
  margin-bottom: 16px;
}
.sd-price-note {
  font-size:   12px;
  color:       var(--sd-blue-hover);
  font-weight: 700;
  margin-top:  8px;
}

/* Produktbeschreibung Tabs */
.single-product .woocommerce-tabs ul.tabs {
  padding:       0;
  margin:        0;
  border-bottom: 2px solid var(--sd-border);
  background:    transparent;
}
.single-product .woocommerce-tabs ul.tabs li {
  background:    transparent;
  border:        none;
  margin:        0;
  border-radius: 0;
}
.single-product .woocommerce-tabs ul.tabs li a {
  font-family:    var(--font-body);
  font-size:      13px;
  font-weight:    700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color:          var(--sd-muted);
  padding:        12px 20px;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
  color:         var(--sd-blue);
  border-bottom: 2px solid var(--sd-gold);
  margin-bottom: -2px;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after {
  display: none;
}

/* Spezifikationstabelle */
.woocommerce-product-attributes,
.shop_attributes {
  width:           100%;
  border-collapse: collapse;
  border:          1px solid var(--sd-bg-mid);
  border-radius:   var(--radius);
  overflow:        hidden;
  font-size:       12px;
}
.woocommerce-product-attributes th,
.shop_attributes th {
  background:    var(--sd-bg);
  padding:       9px 14px;
  font-weight:   700;
  color:         var(--sd-muted);
  border-bottom: 1px solid var(--sd-bg-mid);
  border-right:  1px solid var(--sd-bg-mid);
  width:         40%;
  text-align:    left;
}
.woocommerce-product-attributes td,
.shop_attributes td {
  background:    var(--sd-white);
  padding:       9px 14px;
  border-bottom: 1px solid var(--sd-bg-mid);
  color:         var(--sd-text);
}


/* ============================================================
   12. WOOCOMMERCE – VARIANTEN & BUTTONS
   ============================================================ */

/* Varianten-Dropdown */
.single-product .variations select,
.single-product .variations .select-btn {
  border:        1.5px solid var(--sd-border);
  border-radius: var(--radius);
  padding:       8px 12px;
  font-family:   var(--font-body);
  font-size:     13px;
  color:         var(--sd-text);
  background:    var(--sd-white);
  width:         100%;
  cursor:        pointer;
  transition:    var(--transition);
}
.single-product .variations select:focus {
  outline:      none;
  border-color: var(--sd-blue);
}

/* Variation-Label */
.single-product .variations label {
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color:          var(--sd-hint);
  display:        block;
  margin-bottom:  6px;
}

/* Mengen-Input */
.single-product .quantity input.qty {
  border:        1px solid var(--sd-border);
  border-radius: var(--radius);
  padding:       9px 12px;
  font-family:   var(--font-body);
  font-size:     14px;
  font-weight:   700;
  color:         var(--sd-blue);
  width:         80px;
  text-align:    center;
}

/* Offerte-Hauptbutton (statt „In den Warenkorb") */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button,
.yith_ywraq_add_item.single_add_to_cart_button {
  background:     var(--sd-blue) !important;
  color:          #ffffff !important;
  border:         none !important;
  border-radius:  var(--radius) !important;
  font-family:    var(--font-body) !important;
  font-size:      13px !important;
  font-weight:    700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding:        13px 24px !important;
  cursor:         pointer !important;
  transition:     var(--transition) !important;
  width:          100%;
}
.single-product .single_add_to_cart_button:hover {
  background: var(--sd-blue-hover) !important;
}

/* Merken / Wishlist Button */
.yith-wcwl-add-to-wishlist a,
.yith-wcwl-wishlistexistsbrowse a,
.yith-wcwl-wishlistaddedbrowse a {
  display:        inline-flex !important;
  align-items:    center !important;
  gap:            6px !important;
  padding:        11px 16px !important;
  background:     var(--sd-white) !important;
  color:          var(--sd-gold) !important;
  border:         1.5px solid var(--sd-gold) !important;
  border-radius:  var(--radius) !important;
  font-size:      12px !important;
  font-weight:    700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  transition:     var(--transition) !important;
}
.yith-wcwl-add-to-wishlist a:hover {
  background: var(--sd-gold) !important;
  color:      #ffffff !important;
}


/* ============================================================
   13. WOOCOMMERCE – OFFERT-SEITE (YITH QUOTATION)
   ============================================================ */

/* YITH Quotation – Offerttabelle */
.yith-ywraq-quote-table {
  border-collapse: collapse;
  width:           100%;
  background:      var(--sd-white);
  border:          1px solid var(--sd-border);
  border-radius:   var(--radius);
  overflow:        hidden;
}
.yith-ywraq-quote-table th {
  background:     var(--sd-bg);
  padding:        10px 14px;
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color:          var(--sd-hint);
  border-bottom:  1px solid var(--sd-bg-mid);
  text-align:     left;
}
.yith-ywraq-quote-table td {
  padding:       12px 14px;
  font-size:     13px;
  border-bottom: 1px solid var(--sd-bg-mid);
  color:         var(--sd-text);
}
.yith-ywraq-quote-table tr:last-child td {
  border-bottom: none;
}
.yith-ywraq-quote-table tr:hover td {
  background: #fafaf8;
}

/* Offert-Gesamtbetrag */
.yith-ywraq-quote-table .cart-totals-area,
.yith-ywraq-quote-table tfoot td {
  font-family: var(--font-display);
  font-size:   20px;
  font-weight: 600;
  color:       var(--sd-blue);
}

/* Offert senden Button */
.yith-ywraq-send-request input[type="submit"],
.yith-ywraq-send-request button[type="submit"] {
  background:     var(--sd-blue) !important;
  color:          #ffffff !important;
  border:         none !important;
  border-radius:  var(--radius) !important;
  font-family:    var(--font-body) !important;
  font-size:      13px !important;
  font-weight:    700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding:        13px 24px !important;
  cursor:         pointer !important;
  transition:     var(--transition) !important;
  width:          100%;
}
.yith-ywraq-send-request input[type="submit"]:hover {
  background: var(--sd-blue-hover) !important;
}

/* YITH – Validitätshinweis */
.sd-offert-validity {
  display:       flex;
  align-items:   center;
  gap:           8px;
  padding:       10px 14px;
  background:    var(--sd-blue-light);
  border:        1px solid #c0d4e8;
  border-radius: var(--radius);
  font-size:     12px;
  color:         var(--sd-blue-hover);
  margin-bottom: 14px;
}

/* Offert-Notizfeld */
.yith-ywraq-quote-form textarea,
.sd-offert-notiz {
  width:         100%;
  padding:       10px 12px;
  border:        1px solid var(--sd-border);
  border-radius: var(--radius);
  font-family:   var(--font-body);
  font-size:     13px;
  color:         var(--sd-text);
  background:    var(--sd-white);
  resize:        vertical;
  line-height:   1.6;
  transition:    var(--transition);
}
.yith-ywraq-quote-form textarea:focus,
.sd-offert-notiz:focus {
  outline:      none;
  border-color: var(--sd-blue);
}


/* ============================================================
   14. WOOCOMMERCE – CHECKOUT (RECHNUNG & VORAUSZAHLUNG)
   ============================================================ */

/* Checkout Formularfelder */
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  border:        1px solid var(--sd-border) !important;
  border-radius: var(--radius) !important;
  padding:       9px 12px !important;
  font-family:   var(--font-body) !important;
  font-size:     13px !important;
  color:         var(--sd-text) !important;
  background:    var(--sd-white) !important;
  width:         100% !important;
  transition:    var(--transition) !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  outline:      none !important;
  border-color: var(--sd-blue) !important;
  box-shadow:   0 0 0 3px rgba(26,58,92,0.08) !important;
}

/* Zahlungsmethoden-Radio */
.woocommerce-checkout .payment_methods .payment_box,
.woocommerce-checkout .payment_methods li {
  border:        1.5px solid var(--sd-border);
  border-radius: var(--radius);
  margin-bottom: 8px;
  padding:       12px 16px;
  cursor:        pointer;
  transition:    var(--transition);
}
.woocommerce-checkout .payment_methods li.wc_payment_method input:checked + label,
.woocommerce-checkout .payment_methods li:has(input:checked) {
  border-color: var(--sd-blue);
  background:   var(--sd-blue-light);
}

/* Bestellung abschicken */
#place_order,
.woocommerce #payment #place_order {
  background:     var(--sd-blue) !important;
  color:          #ffffff !important;
  border:         none !important;
  border-radius:  var(--radius) !important;
  font-family:    var(--font-body) !important;
  font-size:      14px !important;
  font-weight:    700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding:        14px 28px !important;
  width:          100% !important;
  cursor:         pointer !important;
  transition:     var(--transition) !important;
}
#place_order:hover {
  background: var(--sd-blue-hover) !important;
}

/* Bestellzusammenfassung */
.woocommerce-checkout-review-order-table tfoot tr:last-child td,
.woocommerce-checkout-review-order-table tfoot tr:last-child th {
  font-family: var(--font-display);
  font-size:   20px;
  font-weight: 600;
  color:       var(--sd-blue);
}


/* ============================================================
   15. WOOCOMMERCE – MEIN KONTO
   ============================================================ */
.woocommerce-MyAccount-navigation ul {
  list-style:    none;
  padding:       0;
  margin:        0;
  background:    var(--sd-white);
  border:        1px solid var(--sd-border);
  border-radius: var(--radius);
  overflow:      hidden;
}
.woocommerce-MyAccount-navigation ul li a {
  display:       block;
  padding:       11px 16px;
  font-size:     13px;
  font-weight:   700;
  color:         var(--sd-text);
  border-bottom: 1px solid var(--sd-bg-mid);
  transition:    var(--transition);
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
  background:  var(--sd-bg);
  color:       var(--sd-blue);
  padding-left: 11px;
  border-left: 3px solid var(--sd-gold);
}


/* ============================================================
   16. WOOCOMMERCE – PDF / E-MAIL KLASSEN (für PDF Invoices Plugin)
   ============================================================ */

/* Diese Klassen werden im PDF-Invoices-Template-Editor verwendet */
.sd-pdf-header-bg  { background-color: #1a3a5c; }
.sd-pdf-accent     { color: #c8922a; }
.sd-pdf-logo-text  { font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 600; }
.sd-pdf-validity   { font-size: 11px; color: #5a5a5a; font-style: italic; }

/* WooCommerce E-Mail Overrides */
.woocommerce-email,
body.woocommerce-emails {
  font-family: 'Lato', Arial, sans-serif;
}


/* ============================================================
   17. MERKLISTE / WISHLIST (YITH WCWL)
   ============================================================ */
.yith-wcwl-wishlist-title,
.wishlist-title {
  font-family: var(--font-display);
  font-size:   22px;
  color:       var(--sd-blue);
}
.yith-wcwl-table th {
  background:     var(--sd-bg);
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color:          var(--sd-hint);
  padding:        10px 14px;
  border-bottom:  1px solid var(--sd-bg-mid);
}
.yith-wcwl-table td {
  padding:       12px 14px;
  border-bottom: 1px solid var(--sd-bg-mid);
}
.yith-wcwl-table .add_to_cart {
  background:     var(--sd-white) !important;
  color:          var(--sd-blue) !important;
  border:         1.5px solid var(--sd-blue) !important;
  border-radius:  var(--radius) !important;
  font-size:      11px !important;
  font-weight:    700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding:        8px 14px !important;
  transition:     var(--transition) !important;
}
.yith-wcwl-table .add_to_cart:hover {
  background: var(--sd-blue) !important;
  color:      #ffffff !important;
}


/* ============================================================
   18. FOOTER
   ============================================================ */
.site-footer,
#colophon {
  background: var(--sd-blue) !important;
  color:      #a8bcd0;
  padding:    32px 0 0;
}

.site-footer .widget-title,
.site-footer h4 {
  color:          #ffffff !important;
  font-family:    var(--font-body);
  font-size:      12px !important;
  font-weight:    700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  margin-bottom:  14px !important;
  padding-bottom: 8px !important;
  border-bottom:  1px solid rgba(255,255,255,0.10) !important;
}

.site-footer p,
.site-footer li,
.site-footer a {
  font-size:   12px;
  color:       #a8bcd0;
  line-height: 1.8;
}
.site-footer a:hover {
  color: #ffffff;
}

.ast-footer-below-section,
.footer-bar {
  background:    rgba(0,0,0,0.2);
  border-top:    1px solid rgba(255,255,255,0.08);
  padding:       14px 0;
  font-size:     11px;
  color:         #6a88a0;
}


/* ============================================================
   19. UTILITY-KLASSEN
   ============================================================ */
.sd-btn-primary {
  display:        inline-block;
  padding:        12px 24px;
  background:     var(--sd-blue);
  color:          #ffffff;
  border:         none;
  border-radius:  var(--radius);
  font-family:    var(--font-body);
  font-size:      13px;
  font-weight:    700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  cursor:         pointer;
  transition:     var(--transition);
  text-align:     center;
}
.sd-btn-primary:hover {
  background: var(--sd-blue-hover);
  color:      #ffffff;
}

.sd-btn-gold {
  display:        inline-block;
  padding:        12px 24px;
  background:     var(--sd-gold);
  color:          #ffffff;
  border:         none;
  border-radius:  var(--radius);
  font-family:    var(--font-body);
  font-size:      13px;
  font-weight:    700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  cursor:         pointer;
  transition:     var(--transition);
}
.sd-btn-gold:hover {
  background: var(--sd-gold-hover);
  color:      #ffffff;
}

.sd-btn-outline {
  display:        inline-block;
  padding:        11px 22px;
  background:     transparent;
  color:          var(--sd-blue);
  border:         1.5px solid var(--sd-blue);
  border-radius:  var(--radius);
  font-family:    var(--font-body);
  font-size:      12px;
  font-weight:    700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor:         pointer;
  transition:     var(--transition);
}
.sd-btn-outline:hover {
  background: var(--sd-blue);
  color:      #ffffff;
}

/* Karten */
.sd-card {
  background:    var(--sd-white);
  border:        1px solid var(--sd-border);
  border-radius: var(--radius);
  overflow:      hidden;
}
.sd-card-header {
  background:     var(--sd-bg);
  padding:        12px 16px;
  border-bottom:  1px solid var(--sd-border);
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color:          var(--sd-blue);
}
.sd-card-body {
  padding: 16px;
}


/* ============================================================
   20. RESPONSIVE (TABLET / MOBILE)
   ============================================================ */

/* Tablet: ab 769px bis 1024px */
@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .sd-info-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .sd-hero-inner {
    flex-direction: column;
    text-align:     center;
  }
  .sd-hero-badges {
    justify-content: center;
  }
}

/* Tablet POS: Touchoptimierung ab 768px */
@media (max-width: 1024px) and (min-width: 601px) {
  /* Grössere Touch-Targets für POS */
  .woocommerce ul.products li.product a.button,
  .yith_ywraq_add_item,
  .single_add_to_cart_button {
    padding:   14px !important;
    font-size: 14px !important;
  }

  /* Varianten-Chips grösser */
  .single-product .variations select {
    padding:   12px !important;
    font-size: 16px !important;
  }

  /* Mengen-Input grösser */
  .single-product .quantity input.qty {
    font-size: 18px;
    padding:   12px;
    width:     90px;
  }

  /* Navigation für Touch */
  .ast-desktop-nav .menu-item > a {
    padding: 16px 18px !important;
  }
}

/* Mobile: bis 600px */
@media (max-width: 600px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .sd-info-strip {
    grid-template-columns: 1fr;
  }

  .ast-desktop-nav {
    display: none;
  }

  .sd-hero h1 {
    font-size: 24px;
  }

  .single-product .price {
    font-size: 22px !important;
  }
  .ast-on-card-button {
    display: none;
  }
  .ast-select-options-trigger {
    display: none;
  }
}
