/*
Theme Name: HandyMeister Zeitung
Theme URI: https://www.handymeister.at/
Author: HandyMeister
Description: Minimalistisches schwarz-weiß WordPress Theme im Zeitungs-/Editorial-Stil für Handyreparatur, Zubehör, MEISTER, Datenservice und Passfotos.
Version: 2.7.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: handymeister-zeitung
*/

:root{
  --hz-paper:#ffffff;
  --hz-ink:#111111;
  --hz-muted:#5f5f5f;
  --hz-rule:#1b1b1b;
  --hz-soft:#ececec;
  --hz-max:1180px;
  --hz-body:17px;
  --hz-line:1.55;
  --hz-section:54px;
  --hz-headline:72px;
  --hz-subhead:34px;
  --hz-cardtitle:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--hz-paper);
  color:var(--hz-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:var(--hz-body);
  line-height:var(--hz-line)
}
a{color:inherit}
img{max-width:100%;height:auto}
.hz-shell{width:min(calc(100% - 30px),var(--hz-max));margin:auto}

/* Masthead / newspaper header */
.hz-header{
  background:#fff;
  border-bottom:1px solid var(--hz-rule)
}
.hz-topline{
  border-bottom:1px solid #cfcfcf;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em
}
.hz-topline-inner{
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px
}
.hz-masthead{
  padding:20px 0 16px;
  text-align:center
}
.hz-brand{
  display:inline-block;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  font-size:clamp(44px,7vw,86px);
  line-height:.9;
  letter-spacing:-.055em;
  text-decoration:none
}
.hz-tagline{
  margin-top:7px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.22em
}
.hz-nav{
  border-top:1px solid var(--hz-rule);
  border-bottom:1px solid var(--hz-rule)
}
.hz-nav-inner{
  min-height:40px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:24px
}
.hz-nav a{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  text-transform:uppercase
}
.hz-nav a:hover{text-decoration:underline}

/* general editorial helpers */
.hz-section{
  padding:var(--hz-section) 0;
  border-bottom:1px solid var(--hz-rule)
}
.hz-kicker{
  display:block;
  margin-bottom:9px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.18em
}
.hz-headline{
  margin:0;
  max-width:1000px;
  font-size:var(--hz-headline);
  line-height:.95;
  letter-spacing:-.055em
}
.hz-subheadline{
  margin:0;
  font-size:var(--hz-subhead);
  line-height:1;
  letter-spacing:-.04em
}
.hz-deck{
  margin:16px 0 0;
  max-width:780px;
  color:var(--hz-muted);
  font-size:21px;
  line-height:1.35
}
.hz-byline{
  margin-top:22px;
  padding-top:10px;
  border-top:1px solid #cfcfcf;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.hz-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px
}
.hz-btn{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid #111;
  background:#111;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  text-decoration:none!important
}
.hz-btn.alt{
  background:#fff;
  color:#111!important
}
.hz-btn:hover{opacity:.72}

/* Front page lead */
.hz-lead{
  padding:48px 0 42px
}
.hz-lead-grid{
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:40px
}
.hz-briefs{
  border-left:1px solid var(--hz-rule);
  padding-left:24px
}
.hz-brief{
  padding:0 0 18px;
  margin-bottom:18px;
  border-bottom:1px solid #cfcfcf
}
.hz-brief:last-child{margin-bottom:0}
.hz-brief h3{
  margin:0 0 6px;
  font-size:23px;
  line-height:1.08;
  letter-spacing:-.025em
}
.hz-brief p{
  margin:0;
  color:var(--hz-muted);
  font-size:15px
}

/* columns */
.hz-columns-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid var(--hz-rule);
  border-left:1px solid var(--hz-rule);
  margin-top:28px
}
.hz-story{
  min-height:250px;
  padding:22px;
  border-right:1px solid var(--hz-rule);
  border-bottom:1px solid var(--hz-rule)
}
.hz-story-no{
  display:block;
  margin-bottom:30px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:700
}
.hz-story h3{
  margin:0;
  font-size:var(--hz-cardtitle);
  line-height:1.05;
  letter-spacing:-.025em
}
.hz-story p{
  margin:10px 0 0;
  color:var(--hz-muted);
  font-size:15px
}

/* service index */
.hz-service-list{
  margin-top:28px;
  border-top:2px solid var(--hz-rule)
}
.hz-service-row{
  display:grid;
  grid-template-columns:70px 1.1fr 1fr;
  gap:24px;
  padding:18px 0;
  border-bottom:1px solid #bfbfbf
}
.hz-service-row .num{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:700
}
.hz-service-row h3{
  margin:0;
  font-size:24px;
  line-height:1.05
}
.hz-service-row p{
  margin:0;
  color:var(--hz-muted);
  font-size:15px
}

/* quote / strengths */
.hz-quote{
  padding:36px 0 12px;
  font-size:clamp(30px,4vw,52px);
  line-height:1.02;
  letter-spacing:-.04em
}
.hz-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--hz-rule);
  border-left:1px solid var(--hz-rule);
  margin-top:28px
}
.hz-fact{
  padding:20px;
  border-right:1px solid var(--hz-rule);
  border-bottom:1px solid var(--hz-rule)
}
.hz-fact strong{
  display:block;
  margin-bottom:6px;
  font-size:19px
}
.hz-fact span{
  color:var(--hz-muted);
  font-size:14px
}

/* Meister feature */
.hz-meister{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:34px;
  align-items:start
}
.hz-meister-mark{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(58px,8vw,110px);
  font-weight:700;
  letter-spacing:-.07em;
  line-height:.8
}
.hz-meister-copy p{
  margin:0 0 14px;
  color:var(--hz-muted)
}

/* passfoto smaller */
.hz-pass{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:end
}
.hz-pass h2{
  margin:0;
  font-size:36px
}
.hz-pass p{
  max-width:700px;
  margin:9px 0 0;
  color:var(--hz-muted)
}

/* contact */
.hz-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:46px;
  margin-top:24px
}
.hz-contact-table{
  border-top:2px solid var(--hz-rule)
}
.hz-contact-row{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:20px;
  padding:12px 0;
  border-bottom:1px solid #bfbfbf
}
.hz-contact-row small{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em
}

/* footer */
.hz-footer{
  background:#fff;
  border-top:3px double var(--hz-rule);
  padding:26px 0 36px
}
.hz-footer-inner{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  text-transform:uppercase
}

/* normal content */
.hz-content{padding:46px 0}
.hz-content h1{
  font-size:52px;
  line-height:1;
  letter-spacing:-.04em
}

/* responsive */
@media(max-width:850px){
  .hz-lead-grid,
  .hz-meister,
  .hz-contact-grid{grid-template-columns:1fr}
  .hz-briefs{border-left:0;border-top:1px solid var(--hz-rule);padding-left:0;padding-top:22px}
  .hz-columns-3{grid-template-columns:1fr 1fr}
  .hz-facts{grid-template-columns:1fr 1fr}
  .hz-headline{font-size:56px}
}
@media(max-width:580px){
  .hz-shell{width:min(calc(100% - 20px),var(--hz-max))}
  .hz-topline-inner{display:block;padding:7px 0;text-align:center}
  .hz-nav-inner{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:0 10px}
  .hz-lead{padding-top:34px}
  .hz-headline{font-size:44px}
  .hz-columns-3{grid-template-columns:1fr}
  .hz-service-row{grid-template-columns:42px 1fr}
  .hz-service-row p{grid-column:2}
  .hz-facts{grid-template-columns:1fr}
  .hz-pass{grid-template-columns:1fr}
}
@media print{
  .hz-nav{display:none}
}


/* =========================================================
   v1.1 Privacy notice / Datenschutz
   ========================================================= */
.hz-privacy-link{
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  font:inherit;
  text-transform:inherit;
  cursor:pointer;
  text-decoration:underline
}
.hz-privacy-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.32)
}
.hz-privacy-overlay.is-open{display:flex}
.hz-privacy-dialog{
  width:min(100%,760px);
  max-height:min(82vh,760px);
  overflow:auto;
  background:#fff;
  color:#111;
  border:1px solid #111;
  box-shadow:0 18px 60px rgba(0,0,0,.18)
}
.hz-privacy-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:22px 24px 16px;
  border-bottom:1px solid #111
}
.hz-privacy-head h2{
  margin:0;
  font-size:31px;
  line-height:1;
  letter-spacing:-.035em
}
.hz-privacy-close{
  width:36px;
  height:36px;
  border:1px solid #111;
  background:#fff;
  color:#111;
  cursor:pointer;
  font-size:20px
}
.hz-privacy-body{
  padding:20px 24px
}
.hz-privacy-body p{
  margin:0 0 12px;
  color:#444;
  font-size:15px
}
.hz-privacy-body strong{color:#111}
.hz-privacy-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:0 24px 22px
}
.hz-privacy-actions a,
.hz-privacy-actions button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid #111;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  cursor:pointer;
  text-decoration:none
}
.hz-privacy-actions .primary{
  background:#111;
  color:#fff
}
.hz-privacy-actions .secondary{
  background:#fff;
  color:#111
}
body.hz-privacy-lock{overflow:hidden}

.hz-privacy-page h2{
  margin-top:38px;
  padding-top:18px;
  border-top:1px solid #111;
  font-size:30px;
  line-height:1.05
}
.hz-privacy-page h3{
  margin-top:24px;
  font-size:21px
}
.hz-privacy-page p,
.hz-privacy-page li{
  color:#444
}
.hz-privacy-page .hz-legal-note{
  margin:24px 0;
  padding:16px;
  border:1px solid #111;
  background:#f8f8f8
}
@media(max-width:580px){
  .hz-privacy-overlay{padding:8px}
  .hz-privacy-head,.hz-privacy-body,.hz-privacy-actions{padding-left:16px;padding-right:16px}
}


/* =========================================================
   v1.2 Background color controls
   ========================================================= */
:root{
  --hz-site-bg:#ffffff;
  --hz-content-bg:#ffffff;
  --hz-header-bg:#ffffff;
  --hz-footer-bg:#ffffff;
}
body{
  background:var(--hz-site-bg)!important;
}
.hz-header{
  background:var(--hz-header-bg)!important;
}
.hz-masthead,
.hz-nav,
.hz-topline{
  background:var(--hz-header-bg)!important;
}
main,
.hz-lead,
.hz-section,
.hz-content{
  background:var(--hz-content-bg)!important;
}
.hz-footer{
  background:var(--hz-footer-bg)!important;
}


/* =========================================================
   v1.3 Floating page scroll arrows
   ========================================================= */
:root{
  --hz-scroll-size:42px;
  --hz-scroll-right:16px;
}

.hz-scroll-nav{
  position:fixed;
  right:var(--hz-scroll-right);
  top:50%;
  transform:translateY(-50%);
  z-index:9990;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.hz-scroll-btn{
  width:var(--hz-scroll-size);
  height:var(--hz-scroll-size);
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--hz-rule);
  background:var(--hz-content-bg);
  color:var(--hz-ink);
  cursor:pointer;
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  line-height:1;
  box-shadow:0 3px 12px rgba(0,0,0,.05);
  transition:opacity .18s ease, transform .18s ease, background .18s ease, color .18s ease;
}

.hz-scroll-btn:hover,
.hz-scroll-btn:focus-visible{
  background:var(--hz-ink);
  color:var(--hz-content-bg);
  transform:translateX(-2px);
}

.hz-scroll-btn:disabled{
  opacity:.22;
  cursor:default;
  transform:none;
}

.hz-scroll-btn span{
  transform:translateY(-1px)
}

@media(max-width:700px){
  .hz-scroll-nav{
    right:8px;
  }
  .hz-scroll-btn{
    box-shadow:0 2px 8px rgba(0,0,0,.08);
  }
}

@media print{
  .hz-scroll-nav{display:none!important}
}


/* =========================================================
   v1.4 Shop / Product / WooCommerce
   ========================================================= */

.hz-shop-intro{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:38px;
  align-items:end;
}
.hz-shop-note{
  border-top:2px solid var(--hz-rule);
  padding-top:12px;
  color:var(--hz-muted);
  font-size:14px;
}
.hz-shop-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--hz-rule);
  border-left:1px solid var(--hz-rule);
  margin-top:30px;
}
.hz-product-card{
  border-right:1px solid var(--hz-rule);
  border-bottom:1px solid var(--hz-rule);
  padding:18px;
  min-width:0;
}
.hz-product-card a{text-decoration:none}
.hz-product-card-image{
  aspect-ratio:4/5;
  background:#f8f8f8;
  overflow:hidden;
  margin-bottom:16px;
}
.hz-product-card-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block
}
.hz-product-card .hz-kicker{margin-bottom:6px}
.hz-product-card h3{
  margin:0;
  font-size:24px;
  line-height:1.04;
  letter-spacing:-.035em
}
.hz-product-card p{
  margin:9px 0 0;
  color:var(--hz-muted);
  font-size:14px
}
.hz-product-price{
  margin-top:14px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:700
}

/* Product detail */
.hz-breadcrumb{
  padding:16px 0;
  border-bottom:1px solid #cfcfcf;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em
}
.hz-breadcrumb a{text-decoration:none}
.hz-breadcrumb a:hover{text-decoration:underline}

.hz-product{
  padding:44px 0 58px;
  border-bottom:1px solid var(--hz-rule)
}
.hz-product-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:48px;
  align-items:start
}
.hz-product-gallery{
  display:grid;
  gap:14px
}
.hz-product-main{
  background:#f7f7f7;
  border:1px solid #dedede;
  min-height:500px;
  display:flex;
  align-items:center;
  justify-content:center
}
.hz-product-main img{
  width:100%;
  height:auto;
  display:block
}
.hz-product-thumbs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px
}
.hz-product-thumb{
  border:1px solid #d7d7d7;
  background:#fafafa;
  padding:0;
  cursor:pointer
}
.hz-product-thumb img{
  display:block;
  width:100%;
  height:170px;
  object-fit:contain
}
.hz-product-summary{
  position:sticky;
  top:20px
}
.hz-product-summary h1{
  margin:0;
  font-size:clamp(42px,5vw,72px);
  line-height:.92;
  letter-spacing:-.055em
}
.hz-product-lead{
  margin:18px 0 0;
  color:var(--hz-muted);
  font-size:20px;
  line-height:1.35
}
.hz-product-price-big{
  margin:24px 0 18px;
  padding:15px 0;
  border-top:1px solid var(--hz-rule);
  border-bottom:1px solid var(--hz-rule);
  font-family:Arial,Helvetica,sans-serif;
  font-size:24px;
  font-weight:700
}
.hz-product-meta{
  margin:0;
  border-top:1px solid #bbb
}
.hz-product-meta-row{
  display:grid;
  grid-template-columns:125px 1fr;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid #ccc
}
.hz-product-meta-row dt{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em
}
.hz-product-meta-row dd{
  margin:0;
  font-size:14px
}
.hz-product-buy{
  margin-top:20px;
}
.hz-product-buy .hz-btn{
  min-width:210px
}
.hz-product-buy .disabled{
  opacity:.55;
  cursor:not-allowed
}
.hz-product-smallnote{
  margin-top:10px;
  color:var(--hz-muted);
  font-size:12px
}
.hz-product-copy{
  padding:50px 0;
  border-bottom:1px solid var(--hz-rule)
}
.hz-product-copy-grid{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:48px
}
.hz-product-copy h2{
  margin:0;
  font-size:38px;
  line-height:1
}
.hz-product-copy p{
  margin:0 0 16px;
  color:var(--hz-muted)
}
.hz-product-features{
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--hz-rule)
}
.hz-product-features li{
  padding:11px 0;
  border-bottom:1px solid #ccc
}
.hz-product-seo-note{
  margin-top:28px;
  padding:14px;
  border:1px solid #bbb;
  color:var(--hz-muted);
  font-size:12px
}

/* WooCommerce newspaper skin */
.woocommerce .woocommerce-breadcrumb{
  color:var(--hz-muted);
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
}
.woocommerce ul.products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border-top:1px solid var(--hz-rule);
  border-left:1px solid var(--hz-rule);
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto!important;
  float:none!important;
  margin:0!important;
  padding:18px!important;
  border-right:1px solid var(--hz-rule);
  border-bottom:1px solid var(--hz-rule);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--hz-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px!important;
  line-height:1.05;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--hz-ink)!important;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  border-radius:0!important;
  border:1px solid var(--hz-ink)!important;
  background:var(--hz-ink)!important;
  color:var(--hz-content-bg)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  text-transform:uppercase;
}
.woocommerce div.product div.images img{background:#f8f8f8}
.woocommerce div.product .product_title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(40px,5vw,70px);
  line-height:.95;
  letter-spacing:-.05em
}
.woocommerce .quantity .qty{
  min-height:40px;
  border:1px solid #aaa
}
.woocommerce table.shop_table{
  border-radius:0!important;
  border-color:var(--hz-rule)!important
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  min-height:42px;
  border:1px solid #999;
  border-radius:0;
  background:#fff
}

@media(max-width:850px){
  .hz-shop-intro,
  .hz-product-grid,
  .hz-product-copy-grid{grid-template-columns:1fr}
  .hz-shop-grid,
  .woocommerce ul.products{grid-template-columns:1fr 1fr}
  .hz-product-summary{position:static}
}
@media(max-width:580px){
  .hz-shop-grid,
  .woocommerce ul.products{grid-template-columns:1fr}
  .hz-product-main{min-height:0}
}


/* =========================================================
   v1.5 Sticky Menu / Header
   ========================================================= */
:root{
  --hz-sticky-top:0px;
  --hz-sticky-bg:#ffffff;
  --hz-sticky-shadow:0 6px 22px rgba(0,0,0,.08);
}

body.hz-sticky-nav .hz-nav{
  position:sticky;
  top:var(--hz-sticky-top);
  z-index:9995;
  background:var(--hz-sticky-bg)!important;
}

body.hz-sticky-header .hz-header{
  position:sticky;
  top:var(--hz-sticky-top);
  z-index:9995;
  background:var(--hz-sticky-bg)!important;
}

body.hz-sticky-shadow.hz-sticky-nav .hz-nav,
body.hz-sticky-shadow.hz-sticky-header .hz-header{
  box-shadow:var(--hz-sticky-shadow);
}

body.hz-sticky-header .hz-nav,
body.hz-sticky-header .hz-masthead,
body.hz-sticky-header .hz-topline{
  background:var(--hz-sticky-bg)!important;
}

@media(max-width:700px){
  body.hz-sticky-mobile-off.hz-sticky-nav .hz-nav,
  body.hz-sticky-mobile-off.hz-sticky-header .hz-header{
    position:relative!important;
    top:auto!important;
    box-shadow:none!important;
  }
}

@media print{
  body.hz-sticky-nav .hz-nav,
  body.hz-sticky-header .hz-header{
    position:relative!important;
    top:auto!important;
    box-shadow:none!important;
  }
}


/* =========================================================
   v1.6 – DEIN DESIGN / HANDYHÜLLEN BEDRUCKEN
   ========================================================= */
:root{
  --hz-design-orange:#ff7a00;
  --hz-design-orange-rgb:255,122,0;
  --hz-design-glass-opacity:.28;
  --hz-design-glass-blur:18px;
  --hz-design-sidebar:50%;
  --hz-design-radius:28px;
}

.hz-design-page{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 22%, rgba(var(--hz-design-orange-rgb),.08), transparent 32%),
    var(--hz-content-bg);
}

.hz-design-page::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border:1px solid rgba(var(--hz-design-orange-rgb),.12);
  border-radius:50%;
  left:-240px;
  top:210px;
  pointer-events:none;
}

.hz-design-shell{
  width:min(calc(100% - 34px),1360px);
  margin:auto;
  padding:42px 0 68px;
}

.hz-design-breadcrumb{
  margin-bottom:26px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.hz-design-breadcrumb a{text-decoration:none}
.hz-design-breadcrumb a:hover{text-decoration:underline}

.hz-design-grid{
  display:grid;
  grid-template-columns:minmax(0,calc(100% - var(--hz-design-sidebar) - 34px)) minmax(390px,var(--hz-design-sidebar));
  gap:34px;
  align-items:start;
}

.hz-design-main{
  min-width:0;
}

.hz-design-kicker{
  display:block;
  margin-bottom:10px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.hz-design-title{
  margin:0;
  font-size:clamp(78px,9vw,148px);
  line-height:.72;
  letter-spacing:-.075em;
  font-weight:700;
}
.hz-design-title span{
  display:block;
}
.hz-design-title .orange{
  color:var(--hz-design-orange);
  margin-top:.16em;
}

.hz-design-subtitle{
  margin:34px 0 0;
  max-width:690px;
  font-size:clamp(30px,3.1vw,48px);
  line-height:1;
  letter-spacing:-.04em;
}

.hz-design-intro{
  max-width:640px;
  margin:22px 0 0;
  color:var(--hz-muted);
  font-size:19px;
  line-height:1.48;
}

.hz-design-script{
  margin:22px 0 8px;
  color:var(--hz-design-orange);
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:clamp(30px,4vw,56px);
  line-height:.95;
  transform:rotate(-2deg);
  transform-origin:left center;
}

.hz-design-visual{
  position:relative;
  min-height:640px;
  margin-top:12px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
}

.hz-design-visual::before{
  content:"GRAZ";
  position:absolute;
  left:4%;
  bottom:8%;
  color:rgba(0,0,0,.035);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(100px,14vw,220px);
  font-weight:700;
  letter-spacing:-.08em;
  z-index:0;
}

.hz-design-phone-wrap{
  position:relative;
  z-index:2;
  width:min(82%,540px);
}
.hz-design-phone-wrap img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 24px 28px rgba(0,0,0,.12));
}

.hz-design-note{
  position:absolute;
  z-index:3;
  right:1%;
  top:17%;
  width:155px;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:21px;
  line-height:1.05;
  transform:rotate(-5deg);
}
.hz-design-note::after{
  content:"↙";
  display:block;
  margin-top:8px;
  color:var(--hz-design-orange);
  font-family:Arial,sans-serif;
  font-size:42px;
}

.hz-design-stamp{
  position:absolute;
  right:3%;
  bottom:12%;
  z-index:4;
  width:128px;
  aspect-ratio:1;
  border:2px solid currentColor;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  background:rgba(255,255,255,.72);
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:700;
  line-height:1.15;
  text-transform:uppercase;
  letter-spacing:.1em;
  transform:rotate(-6deg);
}

/* info cards */
.hz-design-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:14px;
}
.hz-design-card{
  min-height:160px;
  padding:20px;
  border:1px solid rgba(0,0,0,.13);
  border-radius:18px;
  background:rgba(255,255,255,.68);
}
.hz-design-card .ico{
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--hz-design-orange);
  color:#fff;
  font-family:Arial,sans-serif;
  margin-bottom:18px;
}
.hz-design-card h3{
  margin:0;
  font-size:22px;
  line-height:1;
}
.hz-design-card p{
  margin:8px 0 0;
  color:var(--hz-muted);
  font-size:14px;
  line-height:1.35;
}

/* wide orange glass sidebar */
.hz-design-sidebar{
  position:sticky;
  top:calc(var(--hz-sticky-top) + 56px);
  min-height:760px;
  padding:34px;
  border:1px solid rgba(var(--hz-design-orange-rgb),.42);
  border-radius:var(--hz-design-radius);
  background:
    linear-gradient(145deg,
      rgba(255,255,255,.72),
      rgba(var(--hz-design-orange-rgb),var(--hz-design-glass-opacity))
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 24px 80px rgba(var(--hz-design-orange-rgb),.16);
  backdrop-filter:blur(var(--hz-design-glass-blur)) saturate(155%);
  -webkit-backdrop-filter:blur(var(--hz-design-glass-blur)) saturate(155%);
  overflow:hidden;
}

.hz-design-sidebar::before{
  content:"";
  position:absolute;
  width:350px;
  height:350px;
  right:-150px;
  top:-120px;
  border-radius:50%;
  background:rgba(var(--hz-design-orange-rgb),.18);
  filter:blur(4px);
  pointer-events:none;
}

.hz-design-sidebar > *{
  position:relative;
  z-index:1;
}

.hz-design-sidebar .sidebar-kicker{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.28em;
}

.hz-design-sidebar h2{
  margin:16px 0 4px;
  font-size:clamp(48px,5.1vw,76px);
  line-height:.92;
  letter-spacing:-.06em;
}
.hz-design-sidebar .sidebar-lead{
  margin:0 0 24px;
  font-size:21px;
  line-height:1.25;
}

.hz-design-checks{
  margin:22px 0 26px;
  padding:0;
  list-style:none;
}
.hz-design-checks li{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:10px;
  align-items:start;
  margin:0 0 13px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
}
.hz-design-checks li::before{
  content:"✓";
  width:26px;
  height:26px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.78);
  color:var(--hz-design-orange);
  font-weight:800;
}

/* generic content zone for existing shortcodes / plugins */
.hz-design-existing-content{
  margin:22px 0 0;
  padding:18px;
  border:1px solid rgba(var(--hz-design-orange-rgb),.35);
  border-radius:18px;
  background:rgba(255,255,255,.52);
}
.hz-design-existing-content > :first-child{margin-top:0}
.hz-design-existing-content > :last-child{margin-bottom:0}

/* fallback upload demo */
.hz-design-upload{
  display:block;
  margin:16px 0 18px;
  padding:28px 18px;
  border:1px dashed rgba(var(--hz-design-orange-rgb),.8);
  border-radius:16px;
  background:rgba(255,255,255,.48);
  text-align:center;
  cursor:pointer;
}
.hz-design-upload:hover{
  background:rgba(255,255,255,.65);
}
.hz-design-upload .cloud{
  display:block;
  font-family:Arial,sans-serif;
  font-size:42px;
  line-height:1;
}
.hz-design-upload strong{
  display:block;
  margin-top:10px;
  font-size:20px;
}
.hz-design-upload small{
  display:block;
  margin-top:5px;
  color:var(--hz-muted);
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
}
.hz-design-file{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.hz-design-preview{
  display:none;
  margin:12px 0 0;
  padding:10px;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(255,255,255,.65);
}
.hz-design-preview.is-visible{display:block}
.hz-design-preview img{
  max-height:190px;
  max-width:100%;
  width:auto;
  display:block;
  margin:0 auto 8px;
}

.hz-design-cta{
  width:100%;
  min-height:60px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg,#ff982f,var(--hz-design-orange));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  box-shadow:0 12px 24px rgba(var(--hz-design-orange-rgb),.24);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.hz-design-cta:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
}
.hz-design-pricebox{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:18px;
  align-items:center;
  margin-top:16px;
  padding:18px;
  border-radius:16px;
  background:rgba(255,255,255,.48);
}
.hz-design-pricebox .price small{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
}
.hz-design-pricebox .price strong{
  display:block;
  margin-top:2px;
  font-size:32px;
  line-height:1;
}
.hz-design-benefits{
  padding-left:18px;
  border-left:1px solid rgba(0,0,0,.15);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
}
.hz-design-benefits div{margin:4px 0}

.hz-design-orange-word{
  color:var(--hz-design-orange)
}

/* active nav */
body.page-dein-design .hz-nav a[href*="/dein-design/"]{
  text-decoration:underline;
  text-decoration-color:var(--hz-design-orange);
  text-decoration-thickness:2px;
  text-underline-offset:7px;
}

/* Responsive */
@media(max-width:1080px){
  .hz-design-grid{
    grid-template-columns:1fr;
  }
  .hz-design-sidebar{
    position:relative;
    top:auto;
    min-height:0;
  }
  .hz-design-visual{
    min-height:540px
  }
}

@media(max-width:720px){
  .hz-design-shell{width:min(calc(100% - 20px),1360px);padding-top:28px}
  .hz-design-title{font-size:68px}
  .hz-design-subtitle{font-size:31px}
  .hz-design-visual{min-height:430px}
  .hz-design-phone-wrap{width:min(90%,400px)}
  .hz-design-note{display:none}
  .hz-design-stamp{width:102px;font-size:9px;right:1%}
  .hz-design-cards{grid-template-columns:1fr}
  .hz-design-sidebar{padding:24px 18px;border-radius:20px}
  .hz-design-sidebar h2{font-size:48px}
  .hz-design-pricebox{grid-template-columns:1fr}
  .hz-design-benefits{border-left:0;border-top:1px solid rgba(0,0,0,.15);padding:12px 0 0}
}

@media print{
  .hz-design-sidebar{
    position:relative;
    top:auto;
    box-shadow:none;
    backdrop-filter:none;
  }
}


/* =========================================================
   v1.8 – DEIN DESIGN menu highlight
   ========================================================= */

.hz-nav a.hz-design-menu{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:0 13px;
  border:1px solid rgba(var(--hz-design-orange-rgb),.82);
  border-radius:999px;
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.82),
      rgba(var(--hz-design-orange-rgb),.22)
    );
  color:var(--hz-ink)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 4px 16px rgba(var(--hz-design-orange-rgb),.18);
  text-decoration:none!important;
  overflow:visible;
  isolation:isolate;
}

.hz-nav a.hz-design-menu::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(
      110deg,
      transparent 0%,
      transparent 36%,
      rgba(255,255,255,.68) 47%,
      transparent 58%,
      transparent 100%
    );
  transform:translateX(-120%);
  pointer-events:none;
  z-index:-1;
}

.hz-nav a.hz-design-menu::after{
  content:attr(data-badge);
  position:absolute;
  right:-9px;
  top:-11px;
  min-width:30px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  background:var(--hz-design-orange);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 3px 10px rgba(var(--hz-design-orange-rgb),.28);
  font-family:Arial,Helvetica,sans-serif;
  font-size:8px;
  font-weight:800;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hz-design-menu .hz-design-star{
  color:var(--hz-design-orange);
  font-size:14px;
  line-height:1;
}

.hz-design-menu .hz-design-menu-text{
  color:var(--hz-ink);
  font-weight:900;
  letter-spacing:.05em;
}

body.hz-design-menu-animate .hz-nav a.hz-design-menu::before{
  animation:hz-design-shine 4.8s ease-in-out infinite;
}

body.hz-design-menu-animate .hz-nav a.hz-design-menu{
  animation:hz-design-pulse 3.8s ease-in-out infinite;
}

.hz-nav a.hz-design-menu:hover,
.hz-nav a.hz-design-menu:focus-visible{
  background:var(--hz-design-orange);
  color:#fff!important;
  transform:translateY(-1px) scale(1.03);
  box-shadow:0 7px 22px rgba(var(--hz-design-orange-rgb),.28);
}

.hz-nav a.hz-design-menu:hover .hz-design-menu-text,
.hz-nav a.hz-design-menu:focus-visible .hz-design-menu-text,
.hz-nav a.hz-design-menu:hover .hz-design-star,
.hz-nav a.hz-design-menu:focus-visible .hz-design-star{
  color:#fff;
}

body.page-dein-design .hz-nav a.hz-design-menu{
  background:var(--hz-design-orange);
  color:#fff!important;
  box-shadow:0 7px 22px rgba(var(--hz-design-orange-rgb),.28);
}
body.page-dein-design .hz-design-menu .hz-design-menu-text,
body.page-dein-design .hz-design-menu .hz-design-star{
  color:#fff;
}

@keyframes hz-design-shine{
  0%,72%{transform:translateX(-120%)}
  86%,100%{transform:translateX(120%)}
}

@keyframes hz-design-pulse{
  0%,100%{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.9),
      0 4px 16px rgba(var(--hz-design-orange-rgb),.18);
  }
  50%{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.95),
      0 5px 22px rgba(var(--hz-design-orange-rgb),.34);
  }
}

@media(prefers-reduced-motion:reduce){
  body.hz-design-menu-animate .hz-nav a.hz-design-menu,
  body.hz-design-menu-animate .hz-nav a.hz-design-menu::before{
    animation:none!important;
  }
}

@media(max-width:580px){
  .hz-nav a.hz-design-menu{
    min-height:30px;
    padding:0 11px;
    flex:0 0 auto;
  }
  .hz-nav a.hz-design-menu::after{
    right:-5px;
    top:-9px;
  }
}


/* =========================================================
   v1.9 – Upload button highlight + sidebar 50%
   ========================================================= */
.hz-design-upload{
  padding:30px 20px 22px;
  border:2px dashed rgba(var(--hz-design-orange-rgb),.92);
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.72),
      rgba(var(--hz-design-orange-rgb),.12)
    );
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 10px 28px rgba(var(--hz-design-orange-rgb),.12);
}

.hz-design-upload strong{
  font-size:22px;
}

.hz-design-upload small{
  font-size:12px;
  margin-top:7px;
}

.hz-design-upload-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  margin-top:16px;
  padding:0 24px;
  border-radius:999px;
  background:linear-gradient(180deg,#ff9b34,var(--hz-design-orange));
  color:#fff;
  box-shadow:0 14px 26px rgba(var(--hz-design-orange-rgb),.24);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  font-weight:800;
  letter-spacing:.02em;
}

.hz-design-upload:hover .hz-design-upload-btn{
  filter:brightness(.98);
  transform:translateY(-1px);
}

.hz-design-upload-btn .ico{
  font-size:18px;
  line-height:1;
}

.hz-design-upload-subline{
  display:block;
  margin-top:12px;
  color:var(--hz-muted);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
}

.hz-design-preview{
  margin-top:15px;
  border-radius:14px;
  background:rgba(255,255,255,.78);
}

@media(max-width:720px){
  .hz-design-upload-btn{
    width:100%;
  }
}


/* =========================================================
   v2.0 – WordPress-editierbares Hauptmenü
   ========================================================= */
.hz-menu-list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:24px;
}

.hz-menu-list > li{
  position:relative;
  margin:0;
  padding:0;
  list-style:none;
}

.hz-menu-list > li > a{
  display:inline-flex;
  align-items:center;
}

/* Optionale Untermenüs aus Design > Menüs */
.hz-menu-list .sub-menu{
  position:absolute;
  z-index:10020;
  left:0;
  top:calc(100% + 8px);
  min-width:210px;
  margin:0;
  padding:8px;
  display:none;
  list-style:none;
  border:1px solid rgba(0,0,0,.14);
  background:var(--hz-header-bg,#fff);
  box-shadow:0 14px 34px rgba(0,0,0,.10);
}

.hz-menu-list .sub-menu li{
  margin:0;
  padding:0;
  list-style:none;
}

.hz-menu-list .sub-menu a{
  display:block;
  padding:10px 12px;
  white-space:nowrap;
}

.hz-menu-list li:hover > .sub-menu,
.hz-menu-list li:focus-within > .sub-menu{
  display:block;
}

/* DEIN DESIGN behält automatisch seinen auffälligen Button-Stil,
   auch wenn der Benutzer den Menüpunkt verschiebt. */
.hz-menu-list .hz-design-menu{
  white-space:nowrap;
}

@media(max-width:580px){
  .hz-nav-inner{
    overflow-x:auto;
  }

  .hz-menu-list{
    min-width:max-content;
    justify-content:flex-start;
    flex-wrap:nowrap;
    padding:0 2px;
  }

  .hz-menu-list .sub-menu{
    display:none!important;
  }
}


/* =========================================================
   v2.3 – SHOP CONTROL / COMPACT SHOP
   Alle wichtigen Werte kommen aus dem Customizer.
   ========================================================= */
:root{
  --hz-shop-cols:5;
  --hz-shop-cols-tablet:3;
  --hz-shop-cols-mobile:2;

  --hz-shop-card-bg:#ffffff;
  --hz-shop-card-border:#dedede;
  --hz-shop-image-bg:#f7f7f7;
  --hz-shop-title-color:#111111;
  --hz-shop-price-color:#111111;
  --hz-shop-button-bg:#111111;
  --hz-shop-button-text:#ffffff;
  --hz-shop-sale-bg:#ff7a00;
  --hz-shop-sale-text:#ffffff;
  --hz-shop-related-bg:#ffffff;

  --hz-shop-card-padding:10px;
  --hz-shop-card-radius:0px;
  --hz-shop-image-height:165px;
  --hz-shop-title-size:14px;
  --hz-shop-price-size:12px;
  --hz-shop-button-size:10px;

  --hz-related-cols:5;
  --hz-related-image-height:130px;
  --hz-related-title-size:13px;

  --hz-cart-bg:#ffffff;
  --hz-cart-text:#111111;
  --hz-cart-badge:#ff7a00;
}

/* Navigation + Warenkorb */
.hz-nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.hz-nav-inner .hz-menu-list{
  flex:1 1 auto;
  min-width:0;
}

.hz-cart-menu{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(0,0,0,.20);
  background:var(--hz-cart-bg);
  color:var(--hz-cart-text)!important;
  text-decoration:none!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  transition:.18s ease;
}

.hz-cart-menu:hover,
.hz-cart-menu:focus-visible{
  border-color:var(--hz-design-orange);
  transform:translateY(-1px);
}

.hz-cart-icon{
  font-size:17px;
  line-height:1;
}

.hz-cart-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 5px;
  border-radius:999px;
  background:var(--hz-cart-badge);
  color:#fff;
  font-size:10px;
  font-weight:900;
}

.hz-cart-total{
  font-size:10px;
  opacity:.70;
}

/* Shop Kopf kompakt */
body.woocommerce-shop .hz-content,
body.post-type-archive-product .hz-content{
  padding-top:22px;
  padding-bottom:42px;
}

body.woocommerce-shop .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header{
  margin:0 0 15px;
  padding:0 0 13px;
  border-bottom:1px solid var(--hz-rule);
}

body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title{
  margin:0!important;
  font-size:clamp(30px,3.5vw,48px)!important;
  line-height:.96!important;
  letter-spacing:-.04em!important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count{
  margin:5px 0 12px!important;
  color:var(--hz-muted);
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px!important;
}

body.woocommerce-shop .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering{
  margin:0 0 12px!important;
}

body.woocommerce-shop .woocommerce-ordering select,
body.post-type-archive-product .woocommerce-ordering select{
  min-height:32px;
  padding:4px 28px 4px 8px;
  border:1px solid #bbb;
  background:#fff;
  font-size:10px;
}

/* Produktgrid */
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products{
  display:grid!important;
  grid-template-columns:repeat(var(--hz-shop-cols),minmax(0,1fr))!important;
  gap:0!important;
  margin-top:6px!important;
  border-top:1px solid var(--hz-shop-card-border)!important;
  border-left:1px solid var(--hz-shop-card-border)!important;
}

body.woocommerce-shop ul.products::before,
body.woocommerce-shop ul.products::after,
body.post-type-archive-product ul.products::before,
body.post-type-archive-product ul.products::after{
  display:none!important;
}

body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product{
  width:auto!important;
  float:none!important;
  min-width:0;
  margin:0!important;
  padding:var(--hz-shop-card-padding)!important;
  border-right:1px solid var(--hz-shop-card-border)!important;
  border-bottom:1px solid var(--hz-shop-card-border)!important;
  border-radius:var(--hz-shop-card-radius)!important;
  background:var(--hz-shop-card-bg)!important;
}

body.woocommerce-shop ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img{
  display:block;
  width:100%!important;
  height:var(--hz-shop-image-height)!important;
  object-fit:contain!important;
  margin:0 0 8px!important;
  padding:6px!important;
  background:var(--hz-shop-image-bg)!important;
}

body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title{
  min-height:2.2em;
  margin:0!important;
  padding:0!important;
  color:var(--hz-shop-title-color)!important;
  font-size:var(--hz-shop-title-size)!important;
  line-height:1.10!important;
  letter-spacing:-.015em!important;
}

body.woocommerce-shop ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price{
  display:block!important;
  margin:6px 0 8px!important;
  color:var(--hz-shop-price-color)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:var(--hz-shop-price-size)!important;
  font-weight:800!important;
  line-height:1.15!important;
}

body.woocommerce-shop ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button{
  min-height:30px!important;
  margin-top:0!important;
  padding:7px 8px!important;
  border:1px solid var(--hz-shop-button-bg)!important;
  border-radius:0!important;
  background:var(--hz-shop-button-bg)!important;
  color:var(--hz-shop-button-text)!important;
  font-size:var(--hz-shop-button-size)!important;
  line-height:1.05!important;
  letter-spacing:.03em;
}

body.woocommerce-shop ul.products li.product .button:hover,
body.post-type-archive-product ul.products li.product .button:hover{
  opacity:.82;
}

body.woocommerce-shop span.onsale,
body.post-type-archive-product span.onsale{
  min-width:auto!important;
  min-height:auto!important;
  width:auto!important;
  height:auto!important;
  margin:6px!important;
  padding:4px 6px!important;
  border-radius:0!important;
  background:var(--hz-shop-sale-bg)!important;
  color:var(--hz-shop-sale-text)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:8px!important;
  line-height:1!important;
  text-transform:uppercase;
}

/* =========================================================
   ÄHNLICHE PRODUKTE / UPSELLS – extra kompakt
   ========================================================= */
.single-product section.related.products,
.single-product section.upsells.products{
  margin-top:30px!important;
  padding:18px!important;
  border-top:1px solid var(--hz-shop-card-border)!important;
  background:var(--hz-shop-related-bg)!important;
}

.single-product section.related.products > h2,
.single-product section.upsells.products > h2{
  margin:0 0 13px!important;
  font-size:24px!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
}

.single-product section.related.products ul.products,
.single-product section.upsells.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(var(--hz-related-cols),minmax(0,1fr))!important;
  gap:0!important;
  margin:0!important;
  border-top:1px solid var(--hz-shop-card-border)!important;
  border-left:1px solid var(--hz-shop-card-border)!important;
}

.single-product section.related.products ul.products li.product,
.single-product section.upsells.products ul.products li.product{
  width:auto!important;
  float:none!important;
  min-width:0!important;
  margin:0!important;
  padding:8px!important;
  border-right:1px solid var(--hz-shop-card-border)!important;
  border-bottom:1px solid var(--hz-shop-card-border)!important;
  background:var(--hz-shop-card-bg)!important;
}

.single-product section.related.products ul.products li.product img,
.single-product section.upsells.products ul.products li.product img{
  width:100%!important;
  height:var(--hz-related-image-height)!important;
  object-fit:contain!important;
  margin:0 0 6px!important;
  padding:5px!important;
  background:var(--hz-shop-image-bg)!important;
}

.single-product section.related.products .woocommerce-loop-product__title,
.single-product section.upsells.products .woocommerce-loop-product__title{
  min-height:2.15em!important;
  margin:0!important;
  padding:0!important;
  color:var(--hz-shop-title-color)!important;
  font-size:var(--hz-related-title-size)!important;
  line-height:1.08!important;
}

.single-product section.related.products .price,
.single-product section.upsells.products .price{
  margin:5px 0 7px!important;
  color:var(--hz-shop-price-color)!important;
  font-size:11px!important;
  font-weight:800!important;
}

.single-product section.related.products .button,
.single-product section.upsells.products .button{
  min-height:28px!important;
  margin-top:0!important;
  padding:6px 7px!important;
  background:var(--hz-shop-button-bg)!important;
  color:var(--hz-shop-button-text)!important;
  font-size:8.5px!important;
}

/* Cross-Sells im Warenkorb ebenfalls kleiner */
.woocommerce-cart .cross-sells{
  margin-top:26px!important;
}
.woocommerce-cart .cross-sells > h2{
  margin-bottom:12px!important;
  font-size:23px!important;
}
.woocommerce-cart .cross-sells ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.woocommerce-cart .cross-sells ul.products li.product a img{
  height:130px!important;
  object-fit:contain!important;
}

/* Tablet */
@media(max-width:980px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products{
    grid-template-columns:repeat(var(--hz-shop-cols-tablet),minmax(0,1fr))!important;
  }

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

  .hz-cart-total{
    display:none;
  }
}

/* Mobil */
@media(max-width:720px){
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products{
    grid-template-columns:repeat(var(--hz-shop-cols-mobile),minmax(0,1fr))!important;
  }

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

  .hz-nav-inner{
    align-items:stretch;
  }

  .hz-cart-menu{
    position:sticky;
    right:0;
    z-index:7;
    min-width:48px;
    padding:0 9px;
  }

  .hz-cart-label,
  .hz-cart-total{
    display:none;
  }
}

@media(max-width:420px){
  body.woocommerce-shop ul.products li.product,
  body.post-type-archive-product ul.products li.product{
    padding:7px!important;
  }

  .single-product section.related.products,
  .single-product section.upsells.products{
    padding:10px!important;
  }
}


/* =========================================================
   v2.4 – SHOP PAGE LAYOUT CONTROL
   ========================================================= */
:root{
  --hz-shop-page-width:1080px;
  --hz-shop-page-pad:22px;
  --hz-shop-page-top:24px;
  --hz-shop-page-bottom:52px;
  --hz-shop-page-bg:#ffffff;
  --hz-shop-outer-bg:#ffffff;
  --hz-shop-page-border:#e2e2e2;
  --hz-shop-page-radius:0px;
  --hz-shop-grid-gap:0px;
}

/* Catalog body background */
body.hz-shop-catalog{
  background:var(--hz-shop-outer-bg);
}

/* Robust width control across WooCommerce wrappers */
body.hz-shop-catalog .site-main,
body.hz-shop-catalog #primary,
body.hz-shop-catalog main.hz-content > .hz-shell,
body.hz-shop-catalog .woocommerce{
  width:min(calc(100% - 30px),var(--hz-shop-page-width))!important;
  max-width:var(--hz-shop-page-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Avoid double width constraints when .woocommerce is nested */
body.hz-shop-catalog .site-main .woocommerce,
body.hz-shop-catalog #primary .woocommerce,
body.hz-shop-catalog main.hz-content > .hz-shell .woocommerce{
  width:100%!important;
  max-width:none!important;
}

/* Standard centered layout */
body.hz-shop-catalog .site-main,
body.hz-shop-catalog #primary,
body.hz-shop-catalog main.hz-content > .hz-shell{
  padding-top:var(--hz-shop-page-top)!important;
  padding-bottom:var(--hz-shop-page-bottom)!important;
}

/* Boxed layout */
body.hz-shop-layout-boxed .site-main,
body.hz-shop-layout-boxed #primary,
body.hz-shop-layout-boxed main.hz-content > .hz-shell{
  padding-left:var(--hz-shop-page-pad)!important;
  padding-right:var(--hz-shop-page-pad)!important;
  background:var(--hz-shop-page-bg)!important;
  border:1px solid var(--hz-shop-page-border)!important;
  border-radius:var(--hz-shop-page-radius)!important;
}

/* Clean layout: no card border, only inner horizontal spacing */
body.hz-shop-layout-clean .site-main,
body.hz-shop-layout-clean #primary,
body.hz-shop-layout-clean main.hz-content > .hz-shell{
  padding-left:var(--hz-shop-page-pad)!important;
  padding-right:var(--hz-shop-page-pad)!important;
  background:transparent!important;
  border:0!important;
}

/* Full theme width */
body.hz-shop-layout-full .site-main,
body.hz-shop-layout-full #primary,
body.hz-shop-layout-full main.hz-content > .hz-shell,
body.hz-shop-layout-full .woocommerce{
  width:min(calc(100% - 30px),var(--hz-max))!important;
  max-width:var(--hz-max)!important;
}

/* Shop header alignment */
body.hz-shop-head-center .woocommerce-products-header,
body.hz-shop-head-center .page-title{
  text-align:center!important;
}
body.hz-shop-head-center .woocommerce-result-count{
  text-align:center!important;
  float:none!important;
}
body.hz-shop-head-left .woocommerce-products-header,
body.hz-shop-head-left .page-title{
  text-align:left!important;
}

/* Toolbar layout */
body.hz-shop-toolbar-row .woocommerce-result-count{
  float:left!important;
}
body.hz-shop-toolbar-row .woocommerce-ordering{
  float:right!important;
}
body.hz-shop-toolbar-row ul.products{
  clear:both!important;
}

body.hz-shop-toolbar-stacked .woocommerce-result-count,
body.hz-shop-toolbar-stacked .woocommerce-ordering{
  float:none!important;
  display:block;
}
body.hz-shop-toolbar-stacked .woocommerce-ordering{
  text-align:left;
}

/* Product gap control */
body.hz-shop-catalog ul.products{
  gap:var(--hz-shop-grid-gap)!important;
}
body.hz-shop-catalog ul.products li.product{
  border-left:1px solid var(--hz-shop-card-border)!important;
  border-top:1px solid var(--hz-shop-card-border)!important;
}

/* When gaps are used, remove the outer joined-grid look */
body.hz-shop-has-gap ul.products{
  border:0!important;
}
body.hz-shop-has-gap ul.products li.product{
  border:1px solid var(--hz-shop-card-border)!important;
}

/* Related section follows selected width on product pages */
body.single-product .related.products,
body.single-product .upsells.products{
  max-width:var(--hz-shop-page-width);
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:720px){
  body.hz-shop-catalog .site-main,
  body.hz-shop-catalog #primary,
  body.hz-shop-catalog main.hz-content > .hz-shell,
  body.hz-shop-catalog .woocommerce{
    width:min(calc(100% - 16px),var(--hz-shop-page-width))!important;
  }

  body.hz-shop-layout-boxed .site-main,
  body.hz-shop-layout-boxed #primary,
  body.hz-shop-layout-boxed main.hz-content > .hz-shell,
  body.hz-shop-layout-clean .site-main,
  body.hz-shop-layout-clean #primary,
  body.hz-shop-layout-clean main.hz-content > .hz-shell{
    padding-left:min(var(--hz-shop-page-pad),14px)!important;
    padding-right:min(var(--hz-shop-page-pad),14px)!important;
  }

  body.hz-shop-toolbar-row .woocommerce-result-count,
  body.hz-shop-toolbar-row .woocommerce-ordering{
    float:none!important;
    display:block!important;
  }
}


/* =========================================================
   v2.5 – CASE DESIGNER FOTO-UPLOAD KOMPATIBILITÄTS-FIX
   Sichert den auffälligen orangefarbenen Upload unabhängig
   davon, ob Case Designer die alte oder neue Upload-Struktur nutzt.
   ========================================================= */

/* ---------- Case Designer v0.5.4+ ---------- */
.hz-design-existing-content .mcd-upload-box,
.mcd-wrap .mcd-upload-box{
  margin:0 0 20px!important;
  padding:20px!important;
  border:2px solid var(--hz-design-orange)!important;
  border-radius:18px!important;
  background:
    linear-gradient(
      135deg,
      rgba(var(--hz-design-orange-rgb),.10) 0%,
      rgba(255,255,255,.96) 48%,
      rgba(var(--hz-design-orange-rgb),.14) 100%
    )!important;
  box-shadow:
    0 12px 34px rgba(var(--hz-design-orange-rgb),.16)!important;
}

.hz-design-existing-content .mcd-upload-title,
.mcd-wrap .mcd-upload-title{
  margin:0 0 13px!important;
  color:var(--hz-ink)!important;
  font-size:18px!important;
  font-weight:900!important;
}

.hz-design-existing-content .mcd-upload-action,
.mcd-wrap .mcd-upload-action{
  position:relative!important;
  display:grid!important;
  grid-template-columns:52px 1fr!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:14px!important;
  width:100%!important;
  min-height:86px!important;
  padding:15px 20px!important;
  border:2px solid rgba(255,255,255,.32)!important;
  border-radius:16px!important;
  background:
    linear-gradient(
      135deg,
      #ffad42 0%,
      var(--hz-design-orange) 48%,
      #ff5900 100%
    )!important;
  color:#fff!important;
  cursor:pointer!important;
  box-shadow:
    0 0 0 4px rgba(var(--hz-design-orange-rgb),.14),
    0 14px 32px rgba(var(--hz-design-orange-rgb),.34),
    0 0 36px rgba(var(--hz-design-orange-rgb),.20)!important;
  overflow:hidden!important;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
}

.hz-design-existing-content .mcd-upload-action:hover,
.mcd-wrap .mcd-upload-action:hover{
  transform:translateY(-2px) scale(1.008)!important;
  filter:saturate(1.10) brightness(1.02)!important;
  box-shadow:
    0 0 0 5px rgba(var(--hz-design-orange-rgb),.18),
    0 18px 38px rgba(var(--hz-design-orange-rgb),.42),
    0 0 46px rgba(var(--hz-design-orange-rgb),.30)!important;
}

.hz-design-existing-content .mcd-upload-action .mcd-file,
.mcd-wrap .mcd-upload-action .mcd-file{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
}

.hz-design-existing-content .mcd-upload-icon,
.mcd-wrap .mcd-upload-icon{
  grid-row:1/3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:32px!important;
}

.hz-design-existing-content .mcd-upload-button-text,
.mcd-wrap .mcd-upload-button-text{
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:19px!important;
  font-weight:900!important;
  line-height:1.05!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
}

.hz-design-existing-content .mcd-upload-button-sub,
.mcd-wrap .mcd-upload-button-sub{
  margin-top:5px!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  opacity:.95!important;
}

.hz-design-existing-content .mcd-file-name,
.mcd-wrap .mcd-file-name{
  margin-top:11px!important;
  padding:9px 11px!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.80)!important;
  color:#5d5d5d!important;
  font-size:13px!important;
  font-weight:700!important;
}

/* ---------- ältere Case-Designer-Versionen ----------
   Dort existiert noch ein normales <input type=file> mit
   Browsertext "Durchsuchen / Datei auswählen".
   Wir machen genau diesen nativen Button groß und orange.
   --------------------------------------------------- */
.hz-design-existing-content .mcd-upload-label,
.mcd-wrap .mcd-upload-label{
  display:block!important;
  margin:0 0 18px!important;
  padding:18px!important;
  border:2px solid var(--hz-design-orange)!important;
  border-radius:18px!important;
  background:
    linear-gradient(
      135deg,
      rgba(var(--hz-design-orange-rgb),.09),
      #fff 58%,
      rgba(var(--hz-design-orange-rgb),.13)
    )!important;
  box-shadow:0 12px 32px rgba(var(--hz-design-orange-rgb),.15)!important;
}

.hz-design-existing-content .mcd-upload-label > span,
.mcd-wrap .mcd-upload-label > span{
  display:block!important;
  margin:0 0 11px!important;
  color:var(--hz-ink)!important;
  font-size:18px!important;
  font-weight:900!important;
}

.hz-design-existing-content .mcd-upload-label input[type="file"],
.mcd-wrap .mcd-upload-label input[type="file"]{
  display:block!important;
  width:100%!important;
  min-height:68px!important;
  padding:8px!important;
  border:2px solid rgba(var(--hz-design-orange-rgb),.50)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#555!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  cursor:pointer!important;
}

/* Standard modern browsers */
.hz-design-existing-content .mcd-upload-label input[type="file"]::file-selector-button,
.mcd-wrap .mcd-upload-label input[type="file"]::file-selector-button{
  min-height:50px!important;
  margin:0 14px 0 0!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:11px!important;
  background:
    linear-gradient(
      135deg,
      #ffad42 0%,
      var(--hz-design-orange) 55%,
      #ff5900 100%
    )!important;
  color:#fff!important;
  box-shadow:
    0 8px 20px rgba(var(--hz-design-orange-rgb),.30),
    0 0 22px rgba(var(--hz-design-orange-rgb),.18)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}

/* Safari / older Chromium fallback */
.hz-design-existing-content .mcd-upload-label input[type="file"]::-webkit-file-upload-button,
.mcd-wrap .mcd-upload-label input[type="file"]::-webkit-file-upload-button{
  min-height:50px!important;
  margin:0 14px 0 0!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:11px!important;
  background:
    linear-gradient(
      135deg,
      #ffad42 0%,
      var(--hz-design-orange) 55%,
      #ff5900 100%
    )!important;
  color:#fff!important;
  box-shadow:
    0 8px 20px rgba(var(--hz-design-orange-rgb),.30),
    0 0 22px rgba(var(--hz-design-orange-rgb),.18)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}

@media(max-width:640px){
  .hz-design-existing-content .mcd-upload-action,
  .mcd-wrap .mcd-upload-action{
    min-height:80px!important;
    padding:13px 15px!important;
    grid-template-columns:46px 1fr!important;
  }

  .hz-design-existing-content .mcd-upload-button-text,
  .mcd-wrap .mcd-upload-button-text{
    font-size:17px!important;
  }

  .hz-design-existing-content .mcd-upload-label input[type="file"]::file-selector-button,
  .mcd-wrap .mcd-upload-label input[type="file"]::file-selector-button,
  .hz-design-existing-content .mcd-upload-label input[type="file"]::-webkit-file-upload-button,
  .mcd-wrap .mcd-upload-label input[type="file"]::-webkit-file-upload-button{
    min-height:48px!important;
    padding:0 15px!important;
    font-size:13px!important;
  }
}


/* =========================================================
   v2.6 – EINZELNE PRODUKTSEITE KOMPAKT / SCHMAL
   ========================================================= */
:root{
  --hz-product-page-width:980px;
  --hz-product-gallery-width:42%;
  --hz-product-summary-width:54%;
  --hz-product-image-height:520px;
  --hz-product-gap:4%;
  --hz-product-page-pad:22px;
  --hz-product-page-bg:#ffffff;
}

body.single-product .site-main,
body.single-product #primary,
body.single-product main.hz-content > .hz-shell,
body.single-product div.product{
  width:min(calc(100% - 30px),var(--hz-product-page-width))!important;
  max-width:var(--hz-product-page-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.single-product main.hz-content > .hz-shell{
  padding-left:var(--hz-product-page-pad)!important;
  padding-right:var(--hz-product-page-pad)!important;
}

body.single-product .site-main div.product,
body.single-product #primary div.product,
body.single-product main.hz-content > .hz-shell div.product{
  width:100%!important;
  max-width:none!important;
}

body.single-product div.product{
  padding-top:26px!important;
  padding-bottom:34px!important;
  background:var(--hz-product-page-bg)!important;
}

body.single-product div.product::before,
body.single-product div.product::after{
  content:"";
  display:table;
  clear:both;
}

body.single-product div.product div.images,
body.single-product div.product .woocommerce-product-gallery{
  width:var(--hz-product-gallery-width)!important;
  max-width:var(--hz-product-gallery-width)!important;
  margin:0 var(--hz-product-gap) 24px 0!important;
  float:left!important;
}

body.single-product div.product div.images img,
body.single-product div.product .woocommerce-product-gallery img{
  width:100%!important;
  height:auto!important;
  max-height:var(--hz-product-image-height)!important;
  object-fit:contain!important;
}

body.single-product .woocommerce-product-gallery__image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  background:#fafafa!important;
}

body.single-product .woocommerce-product-gallery__image a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
}

body.single-product .flex-control-thumbs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  margin-top:9px!important;
}

body.single-product .flex-control-thumbs li{
  width:auto!important;
  float:none!important;
  margin:0!important;
}

body.single-product .flex-control-thumbs img{
  height:76px!important;
  object-fit:contain!important;
  padding:3px!important;
  background:#fafafa!important;
}

body.single-product div.product .summary{
  width:var(--hz-product-summary-width)!important;
  max-width:var(--hz-product-summary-width)!important;
  margin:0!important;
  float:right!important;
}

body.single-product div.product .product_title{
  margin:0 0 12px!important;
  font-size:clamp(30px,3.2vw,48px)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
}

body.single-product div.product .summary .price{
  margin:10px 0 16px!important;
  font-size:22px!important;
  line-height:1.1!important;
}

body.single-product div.product .woocommerce-product-details__short-description{
  margin-bottom:16px!important;
  font-size:15px!important;
  line-height:1.5!important;
}

body.single-product div.product form.cart{
  margin:16px 0!important;
}

body.single-product table.variations{
  margin:0 0 14px!important;
}

body.single-product table.variations th,
body.single-product table.variations td{
  padding:5px 8px 5px 0!important;
}

body.single-product table.variations select{
  min-height:38px!important;
  padding:5px 34px 5px 10px!important;
  font-size:13px!important;
}

body.single-product .quantity .qty{
  min-height:40px!important;
  width:68px!important;
}

body.single-product .single_add_to_cart_button{
  min-height:42px!important;
  padding:9px 17px!important;
  font-size:12px!important;
}

body.single-product .product_meta{
  margin-top:17px!important;
  padding-top:13px!important;
  border-top:1px solid var(--hz-rule)!important;
  font-size:11px!important;
  line-height:1.5!important;
}

body.single-product .woocommerce-tabs{
  clear:both!important;
  margin-top:26px!important;
  padding-top:16px!important;
}

body.single-product .woocommerce-tabs .panel{
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.single-product .woocommerce-tabs h2{
  font-size:26px!important;
}

body.single-product section.related.products,
body.single-product section.upsells.products{
  width:min(100%,var(--hz-product-page-width))!important;
  max-width:var(--hz-product-page-width)!important;
}

@media(max-width:900px){
  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery{
    width:46%!important;
    max-width:46%!important;
    margin-right:4%!important;
  }

  body.single-product div.product .summary{
    width:50%!important;
    max-width:50%!important;
  }
}

@media(max-width:720px){
  body.single-product .site-main,
  body.single-product #primary,
  body.single-product main.hz-content > .hz-shell,
  body.single-product div.product{
    width:min(calc(100% - 16px),var(--hz-product-page-width))!important;
  }

  body.single-product main.hz-content > .hz-shell{
    padding-left:min(var(--hz-product-page-pad),12px)!important;
    padding-right:min(var(--hz-product-page-pad),12px)!important;
  }

  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary{
    width:100%!important;
    max-width:100%!important;
    float:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery{
    margin-bottom:20px!important;
  }

  body.single-product div.product div.images img,
  body.single-product div.product .woocommerce-product-gallery img{
    max-height:min(var(--hz-product-image-height),430px)!important;
  }

  body.single-product div.product .product_title{
    font-size:34px!important;
  }
}


/* =========================================================
   v2.7 – PRODUKTSEITE: VOLLE CUSTOMIZER-KONTROLLE
   ========================================================= */
:root{
  --hz-product-title-size:42px;
  --hz-product-title-color:#111111;
  --hz-product-price-size:22px;
  --hz-product-price-color:#111111;
  --hz-product-old-price-color:#888888;
  --hz-product-short-size:15px;
  --hz-product-short-color:#444444;
  --hz-product-stock-size:12px;
  --hz-product-stock-color:#2c6b3f;
  --hz-product-label-size:12px;
  --hz-product-label-color:#111111;
  --hz-product-select-size:13px;
  --hz-product-select-bg:#ffffff;
  --hz-product-select-border:#bdbdbd;
  --hz-product-button-size:12px;
  --hz-product-button-bg:#111111;
  --hz-product-button-text:#ffffff;
  --hz-product-button-radius:0px;
  --hz-product-meta-size:11px;
  --hz-product-meta-color:#666666;
  --hz-product-tab-title-size:13px;
  --hz-product-tab-content-size:15px;
  --hz-product-tab-accent:#ff7a00;
  --hz-product-image-bg:#fafafa;
  --hz-product-summary-gap:16px;

  --hz-product-sale-bg:#ff7a00;
  --hz-product-sale-text:#ffffff;
  --hz-product-sale-size:12px;
  --hz-product-sale-radius:999px;
  --hz-product-sale-pad-y:8px;
  --hz-product-sale-pad-x:12px;

  --hz-product-custom-badge-bg:#111111;
  --hz-product-custom-badge-text:#ffffff;
}

/* Product title */
body.single-product div.product .product_title{
  font-size:var(--hz-product-title-size)!important;
  color:var(--hz-product-title-color)!important;
}

/* Price: current + old */
body.single-product div.product .summary .price{
  font-size:var(--hz-product-price-size)!important;
  color:var(--hz-product-price-color)!important;
}

body.single-product div.product .summary .price ins{
  color:var(--hz-product-price-color)!important;
  text-decoration:none!important;
  font-weight:800!important;
}

body.single-product div.product .summary .price del{
  color:var(--hz-product-old-price-color)!important;
  opacity:.72!important;
  font-size:.78em!important;
}

/* Short description */
body.single-product div.product .woocommerce-product-details__short-description{
  color:var(--hz-product-short-color)!important;
  font-size:var(--hz-product-short-size)!important;
}

/* Stock */
body.single-product div.product .stock{
  color:var(--hz-product-stock-color)!important;
  font-size:var(--hz-product-stock-size)!important;
  font-weight:700!important;
}

/* Spacing between summary blocks */
body.single-product div.product .summary > *{
  margin-bottom:var(--hz-product-summary-gap);
}

/* Variation labels */
body.single-product table.variations th.label,
body.single-product table.variations th.label label{
  color:var(--hz-product-label-color)!important;
  font-size:var(--hz-product-label-size)!important;
  font-weight:800!important;
}

/* Variation/select fields */
body.single-product table.variations select{
  min-height:40px!important;
  border:1px solid var(--hz-product-select-border)!important;
  border-radius:0!important;
  background:var(--hz-product-select-bg)!important;
  color:var(--hz-product-title-color)!important;
  font-size:var(--hz-product-select-size)!important;
}

/* Quantity */
body.single-product .quantity .qty{
  border:1px solid var(--hz-product-select-border)!important;
  background:var(--hz-product-select-bg)!important;
  color:var(--hz-product-title-color)!important;
}

/* Add to cart */
body.single-product .single_add_to_cart_button{
  border:1px solid var(--hz-product-button-bg)!important;
  border-radius:var(--hz-product-button-radius)!important;
  background:var(--hz-product-button-bg)!important;
  color:var(--hz-product-button-text)!important;
  font-size:var(--hz-product-button-size)!important;
  font-weight:900!important;
  letter-spacing:.025em!important;
  transition:.16s ease!important;
}

body.single-product .single_add_to_cart_button:hover{
  opacity:.84!important;
  transform:translateY(-1px)!important;
}

body.hz-product-cart-full .single_add_to_cart_button{
  width:100%!important;
  display:block!important;
  margin-top:8px!important;
}

/* Meta */
body.single-product .product_meta,
body.single-product .product_meta a{
  color:var(--hz-product-meta-color)!important;
  font-size:var(--hz-product-meta-size)!important;
}

/* Product gallery background */
body.single-product .woocommerce-product-gallery__image,
body.single-product .flex-control-thumbs img{
  background:var(--hz-product-image-bg)!important;
}

/* WooCommerce tabs */
body.single-product .woocommerce-tabs ul.tabs{
  margin:0 0 18px!important;
  padding:0!important;
  border-bottom:1px solid var(--hz-shop-card-border)!important;
}

body.single-product .woocommerce-tabs ul.tabs::before{
  display:none!important;
}

body.single-product .woocommerce-tabs ul.tabs li{
  margin:0 18px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

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

body.single-product .woocommerce-tabs ul.tabs li a{
  padding:10px 0!important;
  color:var(--hz-product-meta-color)!important;
  font-size:var(--hz-product-tab-title-size)!important;
  font-weight:800!important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a{
  color:var(--hz-product-title-color)!important;
  box-shadow:inset 0 -3px 0 var(--hz-product-tab-accent)!important;
}

body.single-product .woocommerce-tabs .panel{
  color:var(--hz-product-short-color)!important;
  font-size:var(--hz-product-tab-content-size)!important;
  line-height:1.55!important;
}

/* SALE / ANGEBOT badge on single product */
body.single-product span.onsale.hz-product-sale-badge,
body.single-product .woocommerce-product-gallery span.onsale,
body.single-product div.product > span.onsale{
  z-index:12!important;
  min-width:0!important;
  min-height:0!important;
  width:auto!important;
  height:auto!important;
  padding:var(--hz-product-sale-pad-y) var(--hz-product-sale-pad-x)!important;
  border:0!important;
  border-radius:var(--hz-product-sale-radius)!important;
  background:var(--hz-product-sale-bg)!important;
  color:var(--hz-product-sale-text)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.13)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:var(--hz-product-sale-size)!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

body.hz-product-sale-left span.onsale{
  left:12px!important;
  right:auto!important;
}

body.hz-product-sale-right span.onsale{
  left:auto!important;
  right:12px!important;
}

/* Optional custom badge above product title */
.hz-product-custom-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 10px!important;
  padding:7px 10px;
  border-radius:999px;
  background:var(--hz-product-custom-badge-bg);
  color:var(--hz-product-custom-badge-text);
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Optional hiding of product details controlled by body class */
body.hz-product-hide-sku .product_meta .sku_wrapper{
  display:none!important;
}
body.hz-product-hide-categories .product_meta .posted_in{
  display:none!important;
}
body.hz-product-hide-tags .product_meta .tagged_as{
  display:none!important;
}

/* Breadcrumb size */
body.single-product .woocommerce-breadcrumb{
  font-size:10px!important;
  color:var(--hz-product-meta-color)!important;
}

@media(max-width:720px){
  body.single-product div.product .product_title{
    font-size:min(var(--hz-product-title-size),36px)!important;
  }

  body.single-product .woocommerce-tabs ul.tabs li{
    margin-right:12px!important;
  }
}
