/*
Theme Name: KopfsalART
Theme URI: https://kopfsalart.com
Description: Eigenstaendiges WooCommerce-Theme fuer KopfsalART (ohne Kadence). 7 umschaltbare Designs (Farben/Schriften) und 5 Startseiten-Layouts ueber Design -> Customizer -> "KopfsalART Design". Aendert das Aussehen der ganzen Seite: Startseite, Shop, Produkte, Warenkorb, Checkout.
Author: KopfsalART
Version: 1.6.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kopfsalart
*/

/* =====================================================================
   TOKENS (Fallback = Design "Atelier-Galerie").
   Das aktive Design in assets/designs/*.css ueberschreibt diese Werte.
   ===================================================================== */
:root,
body{
  --ksa-paper:#F6F2EA; --ksa-paper-2:#EDE7DA;
  --ksa-ink:#211B13; --ksa-muted:#6F675A; --ksa-line:#DDD5C7;
  --ksa-acc:#C05B33; --ksa-acc-d:#9E4826; --ksa-on-acc:#ffffff;
  --ksa-surface:#ffffff; --ksa-surface-2:#EDE7DA;
  --ksa-serif:'Fraunces', Georgia, serif;
  --ksa-sans:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ksa-heading-weight:400; --ksa-heading-tt:none; --ksa-heading-spacing:-.01em;
  --ksa-btn-radius:100px; --ksa-btn-border:1px solid transparent;
  --ksa-btn-shadow:none; --ksa-btn-shadow-hover:none;
  --ksa-btn-tt:none; --ksa-btn-spacing:.01em; --ksa-btn-hover:translateY(-1px);
  --ksa-card-radius:6px; --ksa-card-border:0; --ksa-card-shadow:none;
  --ksa-badge-radius:100px; --ksa-badge-bg:#211B13; --ksa-badge-color:#F6F2EA; --ksa-badge-font:var(--ksa-serif);
  --ks-maxw:1240px;

  /* Fallback-Palette (Atelier) – die Design-Pakete ueberschreiben diese Werte */
  --global-palette1:#C05B33; --global-palette2:#9E4826; --global-palette3:#211B13;
  --global-palette4:#3A3025; --global-palette5:#574D40; --global-palette6:#6F675A;
  --global-palette7:#DDD5C7; --global-palette8:#EDE7DA; --global-palette9:#F6F2EA;
  --global-palette10:#211B13; --global-palette11:#C05B33; --global-palette12:#9E4826;
  --global-palette13:#4F6F4A; --global-palette14:#C05B33; --global-palette15:#E0A94D;

  /* Kadence/WordPress-Preset-Farben an die Design-Palette binden,
     damit alte Kadence-Block-Inhalte lesbar bleiben und mitwechseln */
  --wp--preset--color--theme-palette-1:var(--global-palette1);
  --wp--preset--color--theme-palette-2:var(--global-palette2);
  --wp--preset--color--theme-palette-3:var(--global-palette3);
  --wp--preset--color--theme-palette-4:var(--global-palette4);
  --wp--preset--color--theme-palette-5:var(--global-palette5);
  --wp--preset--color--theme-palette-6:var(--global-palette6);
  --wp--preset--color--theme-palette-7:var(--global-palette7);
  --wp--preset--color--theme-palette-8:var(--global-palette8);
  --wp--preset--color--theme-palette-9:var(--global-palette9);
  --wp--preset--color--theme-palette-10:var(--global-palette10);
  --wp--preset--color--theme-palette-11:var(--global-palette11);
  --wp--preset--color--theme-palette-12:var(--global-palette12);
  --wp--preset--color--theme-palette-13:var(--global-palette13);
  --wp--preset--color--theme-palette-14:var(--global-palette14);
  --wp--preset--color--theme-palette-15:var(--global-palette15);
}

/* Kadence-Block-Farbklassen (Text + Hintergrund) -> Design-Palette */
.has-theme-palette-1-color{color:var(--global-palette1)!important} .has-theme-palette-1-background-color{background-color:var(--global-palette1)!important}
.has-theme-palette-2-color{color:var(--global-palette2)!important} .has-theme-palette-2-background-color{background-color:var(--global-palette2)!important}
.has-theme-palette-3-color{color:var(--global-palette3)!important} .has-theme-palette-3-background-color{background-color:var(--global-palette3)!important}
.has-theme-palette-4-color{color:var(--global-palette4)!important} .has-theme-palette-4-background-color{background-color:var(--global-palette4)!important}
.has-theme-palette-5-color{color:var(--global-palette5)!important} .has-theme-palette-5-background-color{background-color:var(--global-palette5)!important}
.has-theme-palette-6-color{color:var(--global-palette6)!important} .has-theme-palette-6-background-color{background-color:var(--global-palette6)!important}
.has-theme-palette-7-color{color:var(--global-palette7)!important} .has-theme-palette-7-background-color{background-color:var(--global-palette7)!important}
.has-theme-palette-8-color{color:var(--global-palette8)!important} .has-theme-palette-8-background-color{background-color:var(--global-palette8)!important}
.has-theme-palette-9-color{color:var(--global-palette9)!important} .has-theme-palette-9-background-color{background-color:var(--global-palette9)!important}
.has-theme-palette-10-color{color:var(--global-palette10)!important} .has-theme-palette-10-background-color{background-color:var(--global-palette10)!important}
.has-theme-palette-11-color{color:var(--global-palette11)!important} .has-theme-palette-11-background-color{background-color:var(--global-palette11)!important}
.has-theme-palette-12-color{color:var(--global-palette12)!important} .has-theme-palette-12-background-color{background-color:var(--global-palette12)!important}
.has-theme-palette-13-color{color:var(--global-palette13)!important} .has-theme-palette-13-background-color{background-color:var(--global-palette13)!important}
.has-theme-palette-14-color{color:var(--global-palette14)!important} .has-theme-palette-14-background-color{background-color:var(--global-palette14)!important}
.has-theme-palette-15-color{color:var(--global-palette15)!important} .has-theme-palette-15-background-color{background-color:var(--global-palette15)!important}

/* =====================================================================
   RESET / BASIS
   ===================================================================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--ksa-paper); color:var(--ksa-ink);
  font-family:var(--ksa-sans); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--ksa-acc); text-decoration:none; }
a:hover{ color:var(--ksa-acc-d); }
::selection{ background:var(--ksa-acc); color:var(--ksa-on-acc); }
h1,h2,h3,h4,h5,h6{
  font-family:var(--ksa-serif); font-weight:var(--ksa-heading-weight);
  color:var(--ksa-ink); letter-spacing:var(--ksa-heading-spacing);
  text-transform:var(--ksa-heading-tt); line-height:1.15; margin:0 0 .5em;
}
p{ margin:0 0 1em; }
hr,.wp-block-separator{ border:0; border-top:1px solid var(--ksa-line); margin:2em 0; }
.ks-container{ max-width:var(--ks-maxw); margin:0 auto; padding:0 32px; }
.ks-eyebrow{ font-size:12px; letter-spacing:.26em; text-transform:uppercase; color:var(--ksa-acc-d); font-weight:600; }
.screen-reader-text{ position:absolute!important; width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0); }
.skip-link{ position:absolute; left:-9999px; }
.skip-link:focus{ left:8px; top:8px; background:var(--ksa-ink); color:var(--ksa-paper); padding:8px 14px; z-index:1000; border-radius:6px; }

/* =====================================================================
   BUTTONS
   ===================================================================== */
.ksa-btn,
.wp-block-button__link,
button, input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce .button.alt,
.woocommerce #respond input#submit,.woocommerce-page a.button,.woocommerce-page button.button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--ksa-sans); font-weight:600; font-size:15px; cursor:pointer;
  padding:14px 28px; border-radius:var(--ksa-btn-radius); border:var(--ksa-btn-border);
  box-shadow:var(--ksa-btn-shadow); text-transform:var(--ksa-btn-tt);
  letter-spacing:var(--ksa-btn-spacing); text-decoration:none;
  background:var(--ksa-acc); color:var(--ksa-on-acc);
  transition:background-color .2s, box-shadow .2s, transform .2s;
}
.ksa-btn:hover,
.wp-block-button__link:hover,
button:hover,input[type="submit"]:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button.alt:hover,
.woocommerce #respond input#submit:hover{
  background:var(--ksa-acc-d); color:var(--ksa-on-acc);
  box-shadow:var(--ksa-btn-shadow-hover); transform:var(--ksa-btn-hover);
}
.ksa-btn-ghost{ background:transparent; color:var(--ksa-ink); border:1px solid var(--ksa-ink); }
.ksa-btn-ghost:hover{ background:var(--ksa-ink); color:var(--ksa-paper); }

/* =====================================================================
   ANKUENDIGUNGSLEISTE
   ===================================================================== */
.ks-topbar{
  background:var(--ksa-ink); color:var(--ksa-paper);
  font-size:12.5px; letter-spacing:.04em; text-align:center; padding:9px 16px;
}
.ks-topbar b{ color:var(--ksa-acc); font-weight:600; }
.ks-topbar span{ opacity:.45; padding:0 10px; }

/* =====================================================================
   KOPFZEILE
   ===================================================================== */
.ks-header{
  position:sticky; top:0; z-index:60;
  background:color-mix(in srgb, var(--ksa-paper) 90%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--ksa-line);
}
.ks-header .ks-container{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:82px; }
.ks-logo{ display:inline-flex; align-items:center; }
.ks-logo img{ max-height:64px; width:auto; }
.ks-logo .ks-wordmark{ font-family:var(--ksa-serif); font-size:26px; color:var(--ksa-ink); }
.ks-nav{ margin-left:auto; }
.ks-menu{ display:flex; gap:30px; list-style:none; margin:0; padding:0; font-size:15px; font-weight:500; }
.ks-menu a{ color:var(--ksa-muted); position:relative; padding:4px 0; }
.ks-menu a:hover,.ks-menu .current-menu-item>a{ color:var(--ksa-ink); }
.ks-menu a::after{ content:""; position:absolute; left:0; bottom:-2px; width:0; height:1.5px; background:var(--ksa-acc); transition:width .28s; }
.ks-menu a:hover::after,.ks-menu .current-menu-item>a::after{ width:100%; }
.ks-tools{ display:flex; align-items:center; gap:18px; }
.ks-cart{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--ksa-ink); color:var(--ksa-ink); border-radius:100px; padding:9px 18px; font-size:14px; font-weight:600; }
.ks-cart:hover{ background:var(--ksa-ink); color:var(--ksa-paper); }
.ks-cart .n{ background:var(--ksa-acc); color:var(--ksa-on-acc); border-radius:100px; padding:1px 8px; font-size:12px; }
.ks-burger{ display:none; background:none; border:0; font-size:26px; line-height:1; cursor:pointer; color:var(--ksa-ink); }

/* =====================================================================
   INHALT (Seiten / Beitraege)
   ===================================================================== */
.ks-main{ min-height:50vh; }
.ks-page{ padding:64px 0 88px; }
.ks-page .entry-header{ margin-bottom:32px; }
.ks-page .entry-title{ font-size:clamp(32px,4.4vw,52px); }
.ks-content{ max-width:860px; }
.ks-content :where(h2,h3,h4){ margin-top:1.6em; }
.ks-content ul,.ks-content ol{ padding-left:1.3em; margin:0 0 1em; }
.ks-content li{ margin:.35em 0; }
.ks-content blockquote{ border-left:3px solid var(--ksa-acc); padding:.2em 0 .2em 1.2em; margin:1.4em 0; font-family:var(--ksa-serif); font-size:1.2em; color:var(--ksa-ink); }
.ks-content img{ border-radius:var(--ksa-card-radius); margin:1em 0; }
.ks-content a{ text-decoration:underline; text-underline-offset:2px; }

/* =====================================================================
   FUSSZEILE
   ===================================================================== */
.ks-footer{ background:var(--ksa-surface); border-top:1px solid var(--ksa-line); padding:66px 0 30px; margin-top:40px; }
.ks-fcols{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; }
.ks-fcol h4{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--ksa-muted); margin:0 0 16px; }
.ks-fcol ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ks-fcol a{ font-size:14.5px; color:var(--ksa-ink); opacity:.85; }
.ks-fcol a:hover{ opacity:1; color:var(--ksa-acc-d); }
.ks-fbrand .ks-wordmark{ font-family:var(--ksa-serif); font-size:24px; display:block; margin-bottom:12px; }
.ks-fbrand img{ max-height:52px; margin-bottom:14px; }
.ks-fbrand p{ color:var(--ksa-muted); font-size:14px; max-width:34ch; }
.ks-pay{ display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
.ks-pay span{ border:1px solid var(--ksa-line); border-radius:6px; padding:5px 12px; font-size:11.5px; font-weight:600; color:var(--ksa-muted); }
.ks-fbottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:48px; padding-top:22px; border-top:1px solid var(--ksa-line); font-size:13px; color:var(--ksa-muted); }

/* =====================================================================
   WOOCOMMERCE
   ===================================================================== */
.woocommerce, .woocommerce-page{ padding-bottom:80px; }
.woocommerce .ks-container, .ks-shopwrap{ }
.woocommerce ul.products{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem 1.6rem; list-style:none; margin:0; padding:0; }
.woocommerce ul.products li.product{ text-align:left; float:none; width:auto; margin:0; }
.woocommerce ul.products li.product a img{
  border-radius:var(--ksa-card-radius); border:var(--ksa-card-border); box-shadow:var(--ksa-card-shadow);
  background:var(--ksa-surface-2); margin:0 0 14px; transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.woocommerce ul.products li.product a:hover img{ transform:scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:var(--ksa-serif); font-size:1.15rem; line-height:1.25; color:var(--ksa-ink); padding:0; }
.woocommerce ul.products li.product .price{ color:var(--ksa-ink); font-family:var(--ksa-sans); font-weight:600; font-size:.95rem; }
.woocommerce ul.products li.product .price del{ color:var(--ksa-muted); font-weight:400; }
.woocommerce ul.products li.product .price ins{ color:var(--ksa-acc-d); text-decoration:none; }
.woocommerce span.onsale{
  background:var(--ksa-badge-bg); color:var(--ksa-badge-color); border-radius:var(--ksa-badge-radius);
  font-family:var(--ksa-badge-font); font-weight:400; min-height:auto;min-width:auto;line-height:1;
  padding:6px 12px; top:12px; left:12px; right:auto; margin:0;
}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{ color:var(--ksa-muted); }
.woocommerce div.product .product_title{ font-family:var(--ksa-serif); color:var(--ksa-ink); }
.woocommerce div.product p.price,.woocommerce div.product span.price{ color:var(--ksa-ink); font-family:var(--ksa-serif); font-size:1.8rem; }
.woocommerce div.product p.price ins{ color:var(--ksa-acc-d); text-decoration:none; }
.woocommerce .star-rating span,.woocommerce .star-rating::before{ color:var(--ksa-acc); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom-color:var(--ksa-acc); }
.woocommerce-message,.woocommerce-info,.woocommerce-noreviews{ border-top-color:var(--ksa-acc); background:var(--ksa-surface); color:var(--ksa-ink); }
.woocommerce-message::before,.woocommerce-info::before{ color:var(--ksa-acc); }
.woocommerce-error{ border-top-color:var(--ksa-acc-d); }
.woocommerce table.shop_table,.woocommerce .cart_totals,.woocommerce-checkout #payment{ border-radius:8px; border-color:var(--ksa-line); }
.woocommerce-checkout #payment{ background:var(--ksa-surface-2); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single{ border:1px solid var(--ksa-line); border-radius:8px; background:var(--ksa-surface); color:var(--ksa-ink); }
.woocommerce form .form-row input.input-text:focus{ outline:2px solid var(--ksa-acc); outline-offset:1px; border-color:var(--ksa-acc); }
.woocommerce-breadcrumb{ color:var(--ksa-muted); font-size:.85rem; }
.woocommerce-breadcrumb a{ color:var(--ksa-muted); }
.woocommerce-breadcrumb a:hover{ color:var(--ksa-acc-d); }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:940px){
  .ks-header .ks-container{ position:relative; }
  /* Mobiles Menue: einfache, zuverlaessige Auf/Zu-Loesung */
  .ks-nav{ display:none; position:absolute; top:100%; left:0; right:0; margin:0; z-index:70;
    background:var(--ksa-paper); border-top:1px solid var(--ksa-line); border-bottom:1px solid var(--ksa-line);
    padding:8px 20px 14px; box-shadow:0 14px 26px rgba(0,0,0,.14); }
  .ks-nav.open{ display:block; }
  .ks-menu{ flex-direction:column; gap:2px; }
  .ks-menu a{ display:block; padding:13px 2px; font-size:16px; }
  .ks-menu a::after{ display:none; }
  .ks-burger{ display:block; order:3; }
  .ks-cart span.lbl{ display:none; }
  .woocommerce ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ks-fcols{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px){
  .ks-container{ padding:0 20px; }
  .woocommerce ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem 1rem; }
  .ks-fcols{ grid-template-columns:1fr; }
  .ks-header .ks-container{ height:70px; }
  .ks-logo img{ max-height:46px; }
}

/* =====================================================================
   KONTAKTSEITE (Template "Kontakt")
   ===================================================================== */
.ks-contact{ padding:56px 0 80px; }
.ks-contact .intro{ text-align:center; max-width:720px; margin:0 auto; }
.ks-contact .intro h1{ font-size:clamp(38px,5vw,64px); margin:12px 0 14px; }
.ks-contact .intro h1 em{ font-style:italic; color:var(--ksa-acc); }
.ks-contact .intro p{ color:var(--ksa-muted); font-size:18px; }
.ks-cgrid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; margin-top:48px; align-items:start; }
.ks-cinfo h2{ font-family:var(--ksa-serif); font-size:24px; margin-bottom:20px; }
.ks-ccards{ display:grid; gap:14px; }
.ks-ccard{ display:flex; gap:16px; align-items:flex-start; background:var(--ksa-surface); border:1px solid var(--ksa-line); border-radius:14px; padding:18px 20px; transition:.2s; color:var(--ksa-ink); }
.ks-ccard:hover{ border-color:var(--ksa-acc); transform:translateY(-2px); }
.ks-ccard .ic{ width:42px; height:42px; flex:none; border-radius:12px; background:var(--ksa-paper-2); display:grid; place-items:center; font-size:19px; }
.ks-ccard h3{ font-family:var(--ksa-sans); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ksa-muted); margin:0 0 3px; }
.ks-ccard p{ margin:0; font-size:15.5px; line-height:1.5; color:var(--ksa-ink); }
.ks-cnote{ margin-top:18px; font-size:14px; color:var(--ksa-muted); }
.ks-cnote strong{ color:var(--ksa-ink); }
.ks-cform{ background:var(--ksa-surface); border:1px solid var(--ksa-line); border-radius:20px; padding:34px; box-shadow:0 18px 44px rgba(0,0,0,.06); }
.ks-cform .lead{ font-family:var(--ksa-serif); font-size:22px; margin-bottom:6px; }
.ks-cform .sub{ color:var(--ksa-muted); font-size:14.5px; margin-bottom:22px; }
.ks-field{ margin-bottom:16px; }
.ks-field label{ display:block; font-size:13px; font-weight:600; margin-bottom:7px; }
.ks-field label .req{ color:var(--ksa-acc); }
.ks-field input,.ks-field textarea{ width:100%; font:inherit; font-size:15.5px; padding:13px 15px; border:1px solid var(--ksa-line); border-radius:10px; background:var(--ksa-paper); color:var(--ksa-ink); }
.ks-field textarea{ min-height:150px; resize:vertical; }
.ks-field input:focus,.ks-field textarea:focus{ outline:2px solid var(--ksa-acc); outline-offset:1px; border-color:var(--ksa-acc); }
.ks-hp{ position:absolute!important; left:-9999px!important; }
.ks-frow{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ks-notice{ padding:14px 18px; border-radius:10px; margin-bottom:20px; font-size:15px; background:var(--ksa-paper); border:1px solid var(--ksa-line); }
.ks-notice.ok{ border-left:3px solid #4F6F4A; }
.ks-notice.err{ border-left:3px solid var(--ksa-acc-d); }
.ks-csocial{ background:var(--ksa-ink); color:var(--ksa-paper); border-radius:16px; margin-top:56px; padding:34px 36px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.ks-csocial h2{ font-family:var(--ksa-serif); font-weight:400; color:var(--ksa-paper); font-size:clamp(22px,3vw,32px); margin:0; }
.ks-csocial h2 em{ font-style:italic; color:var(--ksa-acc); }
@media(max-width:860px){ .ks-cgrid{ grid-template-columns:1fr; gap:32px; } }
@media(max-width:520px){ .ks-frow{ grid-template-columns:1fr; } .ks-cform{ padding:24px; } }

/* =====================================================================
   INHALTS-VEREINHEITLICHUNG
   Bringt alte (Kadence-)Seiteninhalte auf einheitliche Schriften,
   Farben und Ausrichtung – damit alle Seiten gleich aussehen.
   ===================================================================== */
/* Kadence/WordPress-Font-Presets an die Theme-Schriften binden */
:root,body{
  --wp--preset--font-family--cardo:var(--ksa-serif);
  --wp--preset--font-family--inter:var(--ksa-sans);
  --wp--preset--font-family--fraunces:var(--ksa-serif);
  --global-heading-font-family:var(--ksa-serif);
  --global-body-font-family:var(--ksa-sans);
}
.has-cardo-font-family{ font-family:var(--ksa-serif)!important; }
.has-inter-font-family{ font-family:var(--ksa-sans)!important; }

/* Seiteninhalt: einheitliche Typografie */
.ks-content :where(h1,h2,h3,h4,h5,h6){ font-family:var(--ksa-serif)!important; color:var(--ksa-ink); }
.ks-content :where(p,li,td,th,blockquote,a,span,label,strong,em){ font-family:var(--ksa-sans); }
.ks-content{ color:var(--ksa-ink); }
.ks-content a{ color:var(--ksa-acc-d); }

/* Ausrichtung vereinheitlichen: Fliesstext durchgehend linksbuendig */
.ks-content .has-text-align-center,
.ks-content .has-text-align-right,
.ks-content [style*="text-align:right"],
.ks-content [style*="text-align: right"]{ text-align:left!important; }

/* Alte Kadence-Reihen nicht breiter als der Inhaltsbereich */
.ks-content .wp-block-kadence-rowlayout,
.ks-content .kt-row-column-wrap{ max-width:100%; }

/* =====================================================================
   VERSANDSEITE (Template "Versand")
   ===================================================================== */
.ks-panel{ background:var(--ksa-surface); border:1px solid var(--ksa-line); border-radius:20px; padding:30px 32px; }
.ks-panel h2{ font-family:var(--ksa-serif); font-size:22px; margin:0 0 4px; }
.ks-panel .sub{ color:var(--ksa-muted); font-size:14.5px; margin-bottom:18px; }
.ks-shiptable{ width:100%; border-collapse:collapse; }
.ks-shiptable th,.ks-shiptable td{ text-align:left; padding:14px 12px; border-bottom:1px solid var(--ksa-line); font-size:15px; }
.ks-shiptable th{ font-family:var(--ksa-sans); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ksa-muted); font-weight:600; }
.ks-shiptable td{ color:var(--ksa-ink); }
.ks-shiptable tr:last-child td{ border-bottom:0; }
.ks-shiptable .free{ color:var(--ksa-acc-d); font-weight:600; }
.ks-shipnote{ margin-top:14px; font-size:13px; color:var(--ksa-muted); }

/* =====================================================================
   EINHEITLICHE INHALTS-SCHRIFTGROESSE & -FARBE
   Damit alle Seiten (Datenschutz, AGB, Widerruf, Impressum, …) exakt
   gleich aussehen – unabhaengig von alten Kadence-Groessenklassen.
   ===================================================================== */
:root,body{
  --wp--preset--font-size--small:16px;
  --wp--preset--font-size--medium:18px;
  --wp--preset--font-size--large:30px;
  --wp--preset--font-size--x-large:40px;
}
.ks-content{ font-size:18px; color:var(--ksa-ink); }
.ks-content p,
.ks-content li,
.ks-content td,
.ks-content th,
.ks-content dd,
.ks-content dt,
.ks-content span{ font-size:18px; line-height:1.75; color:var(--ksa-ink); }
.ks-content .has-small-font-size{ font-size:16px!important; }
.ks-content .has-medium-font-size{ font-size:18px!important; }
.ks-content a{ font-size:inherit; }

/* =====================================================================
   LINKS VEREINHEITLICHEN – alle Inhalts-Links in Akzentfarbe
   (ueberschreibt altes Blau aus Kadence-Inhalten)
   ===================================================================== */
.ks-content a,
.ks-content a:visited,
.entry-content a,
.entry-content a:visited{
  color:var(--ksa-acc)!important;
  text-decoration:underline;
  text-underline-offset:2px;
}
.ks-content a:hover,
.entry-content a:hover{ color:var(--ksa-acc-d)!important; }
/* haeufige Blau-Farbklassen aus Alt-Inhalten neutralisieren */
.ks-content .has-vivid-cyan-blue-color,
.ks-content .has-pale-cyan-blue-color,
.ks-content .has-cyan-bluish-gray-color{ color:var(--ksa-acc)!important; }

/* Mobile-Fix: Shop-Karten duerfen schrumpfen, lange Titel umbrechen */
.woocommerce ul.products li.product{ min-width:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ overflow-wrap:anywhere; }
body{ overflow-x:hidden; }
