/*
============================================================
Stitch Witch – Header / Footer / Shop Layer
Zusätzliche Schicht für Kadence Header, Footer und WooCommerce.
============================================================
*/

:root{
  --sw-header-blur: 18px;
  --sw-footer-gradient: linear-gradient(145deg, #1a1a1a 0%, #24252d 38%, #4a4e69 100%);
  --sw-soft-panel: rgba(255,255,255,.72);
}

/* ------------------------------------------------------------
   HEADER
------------------------------------------------------------ */
.site-main-header-wrap{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(240,240,240,.76);
  backdrop-filter: blur(var(--sw-header-blur));
  -webkit-backdrop-filter: blur(var(--sw-header-blur));
}

.admin-bar .site-main-header-wrap{
  top: 32px;
}

.site-branding a.brand img,
.site-branding img.custom-logo,
.site-branding .custom-logo{
  max-height: 64px;
  width: auto;
}

.site-header-row-container-inner{
  padding-inline: clamp(.75rem, 2vw, 1.4rem);
}

.header-navigation .header-menu-container > ul{
  gap: .25rem;
}

.header-navigation .header-menu-container > ul > li{
  margin: 0;
}

.header-navigation .header-menu-container > ul > li > a{
  border-radius: 999px;
  padding: .78rem 1rem;
}

.header-navigation .header-menu-container > ul > li.current-menu-item > a,
.header-navigation .header-menu-container > ul > li.current_page_item > a,
.header-navigation .header-menu-container > ul > li > a:hover{
  background: rgba(255,255,255,.7);
  box-shadow: 0 10px 25px rgba(26,26,26,.06);
}

.header-navigation .sub-menu{
  border-radius: 18px;
  border: 1px solid rgba(26,26,26,.08);
  box-shadow: 0 22px 55px rgba(26,26,26,.12);
  overflow: hidden;
}

.header-navigation .sub-menu a{
  padding: .8rem 1rem;
}

.header-mobile-navigation .mobile-toggle-open-container .menu-toggle-open,
.header-mobile-navigation .menu-toggle-close{
  border-radius: 999px;
  background: rgba(255,255,255,.7);
}

/* ------------------------------------------------------------
   FOOTER
------------------------------------------------------------ */
.site-footer-wrap,
#colophon{
  position: relative;
  background: var(--sw-footer-gradient);
  color: var(--sw-offwhite);
}

.site-footer-wrap :where(h1,h2,h3,h4,h5,h6,p,li,a,span,strong),
#colophon :where(h1,h2,h3,h4,h5,h6,p,li,a,span,strong){
  color: var(--sw-offwhite);
}

.site-footer-wrap a,
#colophon a{
  opacity: .94;
}

.site-footer-wrap a:hover,
#colophon a:hover{
  opacity: 1;
  color: var(--sw-yellow);
}

.site-footer-row-container-inner{
  position: relative;
}

.site-footer-row-container-inner::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(247,198,206,0) 0%, rgba(247,198,206,.45) 25%, rgba(196,167,231,.65) 50%, rgba(252,217,139,.45) 75%, rgba(252,217,139,0) 100%);
}

.site-footer .widget,
.site-footer .footer-widget-area{
  background: transparent;
}

.site-footer .widget-title,
.site-footer .footer-widget-area .widget-title{
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 1rem;
}

.site-footer .menu,
.site-footer .menu li{
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer .menu li + li{
  margin-top: .55rem;
}

.site-info{
  border-top: 1px solid rgba(240,240,240,.10);
  padding-top: 1rem;
}

.sw-footer-band{
  position: relative;
  overflow: hidden;
  padding: clamp(1.6rem, 3vw, 2.3rem);
  border-radius: clamp(24px, 3vw, 36px);
  background: linear-gradient(135deg, rgba(196,167,231,.95) 0%, rgba(247,198,206,.95) 52%, rgba(252,217,139,.95) 100%);
  color: var(--sw-charcoal);
  box-shadow: 0 24px 60px rgba(26,26,26,.14);
}

.sw-footer-band :where(h2,h3,h4,p,a,strong){
  color: var(--sw-charcoal);
}

.sw-footer-band .wp-block-button__link{
  background: var(--sw-charcoal);
  color: var(--sw-offwhite);
}

.sw-footer-band .wp-block-button__link:hover{
  background: #000;
}

.sw-footer-contact-list{
  display: grid;
  gap: .65rem;
}

.sw-footer-contact-list p{
  margin: 0;
}

/* ------------------------------------------------------------
   SHOP ARCHIVE
------------------------------------------------------------ */
.woocommerce .content-area,
.woocommerce-page .content-area{
  width: 100%;
}

.woocommerce .site-main,
.woocommerce-page .site-main{
  padding-block: clamp(2rem, 4vw, 4rem);
}

.woocommerce .woocommerce-breadcrumb{
  margin-bottom: 1rem;
  font-size: .95rem;
  color: rgba(26,26,26,.62);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
  margin-bottom: 1.25rem;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select{
  min-height: 48px;
  padding-inline: 1rem 2.2rem;
  border-radius: 999px;
  border: 1px solid rgba(26,26,26,.10);
  background-color: rgba(255,255,255,.88);
}

.woocommerce ul.products,
.woocommerce-page ul.products{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.7rem);
  margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  float: none;
  width: auto;
  margin: 0;
  padding: 1rem;
  border-radius: clamp(22px, 2vw, 28px);
  border: 1px solid rgba(26,26,26,.08);
  background: rgba(255,255,255,.78);
  box-shadow: 0 16px 42px rgba(26,26,26,.08);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 55px rgba(26,26,26,.12);
  border-color: rgba(74,78,105,.18);
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img{
  margin-bottom: 1rem;
  border-radius: 18px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title{
  font-size: 1.2rem;
  line-height: 1.15;
  margin-bottom: .45rem;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  display: block;
  margin-bottom: .8rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--sw-midnight);
}

.woocommerce span.onsale{
  min-width: 0;
  min-height: 0;
  padding: .55rem .8rem;
  border-radius: 999px;
  line-height: 1;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #f7c6ce 0%, #fcd98b 100%);
  color: #1a1a1a;
  box-shadow: 0 12px 25px rgba(26,26,26,.12);
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button{
  width: 100%;
  justify-content: center;
}

/* ------------------------------------------------------------
   SINGLE PRODUCT
------------------------------------------------------------ */
.single-product div.product{
  display: grid;
  gap: clamp(1.2rem, 3vw, 2rem);
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary{
  width: 100%;
  float: none;
}

@media (min-width: 1025px){
  .single-product div.product{
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    align-items: start;
  }

  .single-product div.product .summary{
    position: sticky;
    top: 118px;
    padding: 1.45rem;
    border-radius: 28px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(26,26,26,.08);
    box-shadow: 0 18px 52px rgba(26,26,26,.09);
  }
}

.single-product .product_title{
  font-size: clamp(2rem, 3.8vw, 3.25rem);
  line-height: .98;
}

.single-product div.product p.price,
.single-product div.product span.price{
  color: var(--sw-midnight);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 800;
}

.single-product .woocommerce-product-details__short-description{
  color: rgba(26,26,26,.78);
}

.single-product .quantity .qty{
  min-height: 50px;
  border-radius: 999px;
  border: 1px solid rgba(26,26,26,.12);
  background: rgba(255,255,255,.92);
}

.single-product .woocommerce-product-gallery__wrapper img{
  border-radius: 24px;
}

.single-product .woocommerce-tabs{
  margin-top: clamp(1.4rem, 3vw, 2.4rem);
}

.single-product .woocommerce-tabs ul.tabs{
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  padding: 0;
  margin-bottom: 1.2rem;
  border: 0;
}

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after{
  display: none;
}

.single-product .woocommerce-tabs ul.tabs li{
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.8);
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{
  display: none;
}

.single-product .woocommerce-tabs ul.tabs li a{
  padding: .7rem 1rem;
  font-weight: 700;
}

.single-product .woocommerce-tabs .panel{
  padding: 1.25rem;
  border-radius: 24px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(26,26,26,.08);
}

/* ------------------------------------------------------------
   CART / CHECKOUT / ACCOUNT
------------------------------------------------------------ */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-account table.shop_table{
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(26,26,26,.08);
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-account .woocommerce-MyAccount-content{
  padding: 1.3rem;
  border-radius: 24px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(26,26,26,.08);
  box-shadow: 0 16px 42px rgba(26,26,26,.07);
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-account .woocommerce-MyAccount-navigation{
  padding: 1.3rem;
  border-radius: 24px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(26,26,26,.08);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single{
  min-height: 52px;
  border-radius: 18px;
  border: 1px solid rgba(26,26,26,.10);
  background: rgba(255,255,255,.92);
}

.select2-container--default .select2-selection--single{
  display: flex;
  align-items: center;
  padding-inline: .8rem;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  border-top: 0;
  border-left: 4px solid var(--sw-midnight);
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 14px 30px rgba(26,26,26,.05);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li{
  margin-top: .45rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation a{
  display: block;
  padding: .7rem .9rem;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background: linear-gradient(135deg, rgba(196,167,231,.95), rgba(247,198,206,.95));
  color: var(--sw-charcoal);
}

/* ------------------------------------------------------------
   RESPONSIVE
------------------------------------------------------------ */
@media (max-width: 1024px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 782px){
  .admin-bar .site-main-header-wrap{
    top: 46px;
  }

  .site-branding a.brand img,
  .site-branding img.custom-logo,
  .site-branding .custom-logo{
    max-height: 52px;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns: 1fr;
  }

  .single-product div.product .summary{
    position: static;
  }
}

/* ============================================================
   V140 – SHOP COHESION REWORK
   Ziel: weniger zerrissen, mehr zusammenhängende Produktfläche
============================================================ */

.single-product .site-main{
  max-width: min(1280px, calc(100% - 2rem));
  margin-inline: auto;
}

.single-product div.product{
  position: relative;
  grid-template-areas:
    "gallery summary"
    "tabs tabs"
    "related related";
  gap: clamp(1.35rem, 3vw, 2.35rem);
  padding: clamp(1rem, 2vw, 1.5rem);
  border-radius: clamp(28px, 3vw, 38px);
  border: 1px solid rgba(26,26,26,.08);
  background:
    radial-gradient(circle at top right, rgba(196,167,231,.16) 0%, rgba(196,167,231,0) 26%),
    radial-gradient(circle at bottom left, rgba(247,198,206,.18) 0%, rgba(247,198,206,0) 28%),
    linear-gradient(180deg, rgba(255,255,255,.90) 0%, rgba(255,255,255,.76) 100%);
  box-shadow: 0 20px 56px rgba(26,26,26,.08);
}

.single-product div.product > .woocommerce-product-gallery{
  grid-area: gallery;
  margin: 0;
  padding-right: clamp(.2rem, 1vw, .8rem);
}

.single-product div.product > .summary{
  grid-area: summary;
  align-self: start;
  margin: 0;
  padding: clamp(.25rem, .7vw, .5rem) 0 0 clamp(1.1rem, 2vw, 1.9rem);
  border-left: 1px solid rgba(26,26,26,.08);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.single-product div.product > .woocommerce-tabs{
  grid-area: tabs;
  width: 100%;
  margin-top: 0;
  padding-top: clamp(1.2rem, 2vw, 1.6rem);
  border-top: 1px solid rgba(26,26,26,.08);
}

.single-product div.product > section.related,
.single-product div.product > section.up-sells,
.single-product div.product > section.upsells{
  grid-area: related;
  width: 100%;
  margin-top: 0;
  padding-top: clamp(1.2rem, 2vw, 1.7rem);
  border-top: 1px solid rgba(26,26,26,.08);
}

.single-product .product_title{
  max-width: 12ch;
  margin-bottom: .9rem;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: .94;
}

.single-product .summary .price{
  margin-bottom: 1.1rem;
}

.single-product .woocommerce-product-details__short-description{
  max-width: 58ch;
  margin-bottom: 1.1rem;
  font-size: 1.06rem;
  line-height: 1.65;
}

.single-product form.cart{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(26,26,26,.08);
}

.single-product form.cart .quantity{
  margin: 0 !important;
}

.single-product form.cart .single_add_to_cart_button{
  min-height: 52px;
  padding-inline: 1.35rem;
}

.single-product .product_meta{
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(26,26,26,.08);
  font-size: .96rem;
  color: rgba(26,26,26,.64);
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport{
  border-radius: 26px;
  overflow: hidden;
}

.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img{
  display: block;
  width: 100%;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .6rem;
  margin-top: .8rem;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li{
  width: 100%;
  margin: 0;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img{
  border-radius: 16px;
  border: 1px solid rgba(26,26,26,.08);
  opacity: 1;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs li img:hover{
  border-color: rgba(74,78,105,.35);
  box-shadow: 0 10px 24px rgba(26,26,26,.10);
}

.single-product .woocommerce-tabs ul.tabs{
  gap: .6rem;
  margin-bottom: 1rem;
}

.single-product .woocommerce-tabs ul.tabs li{
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(26,26,26,.08);
  box-shadow: 0 8px 20px rgba(26,26,26,.04);
}

.single-product .woocommerce-tabs ul.tabs li.active{
  background: linear-gradient(135deg, rgba(247,198,206,.95) 0%, rgba(196,167,231,.95) 100%);
}

.single-product .woocommerce-tabs ul.tabs li.active a{
  color: var(--sw-charcoal);
}

.single-product .woocommerce-tabs .panel{
  padding: clamp(1.3rem, 2vw, 1.8rem);
  border-radius: 28px;
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 0 0 1px rgba(26,26,26,.06);
}

.single-product .woocommerce-tabs .panel > :last-child{
  margin-bottom: 0;
}

.single-product section.related > h2,
.single-product section.up-sells > h2,
.single-product section.upsells > h2{
  margin-bottom: 1rem;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.single-product section.related ul.products,
.single-product section.up-sells ul.products,
.single-product section.upsells ul.products{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (min-width: 1025px){
  .single-product div.product{
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
  }

  .single-product div.product > .woocommerce-product-gallery{
    position: sticky;
    top: 118px;
    align-self: start;
  }

  .single-product div.product > .summary{
    position: static;
    top: auto;
  }
}

@media (max-width: 1024px){
  .single-product div.product{
    grid-template-areas:
      "gallery"
      "summary"
      "tabs"
      "related";
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  .single-product div.product > .woocommerce-product-gallery{
    padding-right: 0;
  }

  .single-product div.product > .summary{
    padding: 1rem 0 0 0;
    border-left: 0;
    border-top: 1px solid rgba(26,26,26,.08);
  }
}

@media (max-width: 782px){
  .single-product .site-main{
    max-width: calc(100% - 1rem);
  }

  .single-product .product_title{
    max-width: none;
    font-size: clamp(1.8rem, 8vw, 2.5rem);
  }

  .single-product .woocommerce-product-gallery .flex-control-thumbs{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .single-product section.related ul.products,
  .single-product section.up-sells ul.products,
  .single-product section.upsells ul.products{
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   V150 – SUMMARY / CART / TYPOGRAPHY FIXES
   Ziel: bessere Proportionen, sauberer Warenkorb-Block, ruhigere Textkanten
============================================================ */

.single-product .site-main{
  max-width: min(1360px, calc(100% - 2rem));
}

.single-product div.product{
  gap: clamp(1.4rem, 3vw, 2.6rem);
}

.single-product .product_title{
  max-width: none;
  margin-bottom: .8rem;
  font-size: clamp(2.1rem, 3.1vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.single-product div.product p.price,
.single-product div.product span.price{
  font-size: clamp(1.3rem, 1.8vw, 1.7rem);
  line-height: 1.15;
}

.single-product div.product > .summary{
  padding: clamp(.1rem, .5vw, .25rem) 0 0 clamp(1.3rem, 2vw, 2rem);
}

.single-product .summary .price del,
.single-product .summary .price ins{
  display: block;
}

.single-product form.cart{
  display: grid;
  grid-template-columns: minmax(88px, 104px) minmax(0, 1fr);
  align-items: stretch;
  gap: .75rem;
  margin-top: 1.15rem;
  padding-top: 1.15rem;
}

.single-product form.cart .quantity{
  width: 100%;
}

.single-product form.cart .quantity .qty{
  width: 100%;
  min-width: 0;
  height: 54px;
  padding-inline: .75rem;
  text-align: center;
  font-weight: 700;
}

.single-product form.cart .single_add_to_cart_button{
  width: 100%;
  min-width: 0;
  min-height: 54px;
  padding-inline: 1.4rem;
  justify-content: center;
  text-align: center;
}

.single-product .product_meta{
  max-width: 62ch;
  line-height: 1.55;
}

.single-product .woocommerce-tabs .panel{
  padding: clamp(1.5rem, 2.2vw, 2rem);
}

.single-product .woocommerce-tabs .panel :where(p, li){
  max-width: 72ch;
  line-height: 1.72;
}

.single-product .woocommerce-tabs .panel p{
  margin: 0 0 1rem;
}

.single-product .woocommerce-tabs .panel ul,
.single-product .woocommerce-tabs .panel ol{
  margin: 0 0 1.1rem 1.2rem;
  padding: 0;
}

.single-product .woocommerce-tabs .panel li + li{
  margin-top: .28rem;
}

.single-product .woocommerce-tabs .panel h2,
.single-product .woocommerce-tabs .panel h3,
.single-product .woocommerce-tabs .panel h4{
  margin-top: 0;
  margin-bottom: .8rem;
  line-height: 1.12;
}

@media (min-width: 1180px){
  .single-product div.product{
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  }
}

@media (min-width: 1025px) and (max-width: 1179px){
  .single-product div.product{
    grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr);
  }
}

@media (max-width: 1120px){
  .single-product .product_title{
    font-size: clamp(2rem, 4.5vw, 3rem);
  }
}

@media (max-width: 1024px){
  .single-product .site-main{
    max-width: min(100%, calc(100% - 1.25rem));
  }

  .single-product div.product > .summary{
    padding: 1.1rem 0 0 0;
  }
}

@media (max-width: 640px){
  .single-product form.cart{
    grid-template-columns: 1fr;
  }

  .single-product .woocommerce-tabs .panel{
    padding: 1.15rem;
  }
}
