@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;700&family=Lato:wght@300;400;700&display=swap');

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --wood:  #B8825A;
    --teal:  #6DBFC0;
    --dark:  #2C2C2C;
    --steam: #F5F5F0;
    --bg:    #EDECEA;
}

html { scroll-behavior: smooth; }

body {
    font-family: 'Lato', sans-serif;
    background: linear-gradient(135deg, #F5F5F0 0%, #E8E8E0 100%);
    color: var(--dark);
    line-height: 1.6;
    min-height: 100vh;
}

/* ============================================================
   STEAM BACKGROUND
   ============================================================ */
.steam-bg {
    position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
}
.steam-orb {
    position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.25;
    animation: steamFloat 20s ease-in-out infinite;
}
.steam-orb--1 { width: 600px; height: 600px; background: radial-gradient(circle, rgba(127,179,213,.4), transparent 70%); top: -100px; left: -100px; animation-delay: 0s; }
.steam-orb--2 { width: 500px; height: 500px; background: radial-gradient(circle, rgba(166,124,82,.3), transparent 70%); bottom: -100px; right: -50px; animation-delay: -8s; }
.steam-orb--3 { width: 400px; height: 400px; background: radial-gradient(circle, rgba(245,245,240,.6), transparent 70%); top: 40%; left: 40%; animation-delay: -15s; }
@keyframes steamFloat {
    0%,100% { transform: translate(0,0) scale(1); }
    33%      { transform: translate(40px,-30px) scale(1.05); }
    66%      { transform: translate(-20px,20px) scale(0.97); }
}

/* ============================================================
   LAYOUT HELPERS
   ============================================================ */
.pw-container {
    position: relative; z-index: 1;
    max-width: 80rem; margin: 0 auto; padding: 0 1.5rem;
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.pw-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: transparent;
    transition: background 0.3s, box-shadow 0.3s;
}
.pw-nav.scrolled {
    background: rgba(245,245,240,.95);
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
}
.pw-nav__inner {
    max-width: 80rem; margin: 0 auto; padding: 0.5rem 1.5rem;
    display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.pw-nav__logo { display: flex; align-items: center; cursor: pointer; }
.pw-nav__logo img { height: 7rem; width: auto; }

.pw-nav__links {
    display: flex; align-items: center; gap: 2rem;
    font-size: 1rem;
}
.pw-nav__link {
    color: var(--dark); text-decoration: none; font-weight: 500;
    transition: color 0.3s; background: none; border: none; cursor: pointer;
    font-family: 'Lato', sans-serif; font-size: 1rem;
    display: flex; align-items: center; gap: 0.25rem;
}
.pw-nav__link:hover { color: var(--wood); }
.pw-nav__link--shop {
    background: rgba(166,124,82,.1); color: var(--wood);
    padding: 0.5rem 1rem; border-radius: 9999px; font-weight: 600;
}
.pw-nav__link--shop:hover { background: var(--wood); color: white; }

/* Dropdown */
.pw-nav__dropdown { position: relative; }
.pw-nav__dropdown-toggle .pw-nav__chevron {
    transition: transform 0.3s;
}
.pw-nav__dropdown:hover .pw-nav__chevron,
.pw-nav__dropdown--open .pw-nav__chevron { transform: rotate(180deg); }

.pw-nav__dropdown-menu {
    position: absolute; top: 100%; left: 0;
    padding-top: 0.5rem; min-width: 200px; z-index: 50;
    opacity: 0; visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
    pointer-events: none;
}
.pw-nav__dropdown:hover .pw-nav__dropdown-menu {
    opacity: 1; visibility: visible; pointer-events: auto;
}
.pw-nav__dropdown-menu > * {
    background: white; border-radius: 1rem;
    box-shadow: 0 8px 30px rgba(0,0,0,.1);
    border: 1px solid rgba(255,255,255,.6);
    overflow: hidden;
}
/* Invisible bridge fills the padding gap so hover stays active */
.pw-nav__dropdown-menu::before {
    content: ''; display: block; height: 0.5rem;
}
.pw-nav__dropdown-menu a {
    display: block; padding: 0.75rem 1.5rem;
    color: var(--dark); text-decoration: none; font-weight: 500;
    transition: background 0.2s, color 0.2s;
}
.pw-nav__dropdown-menu a:hover { background: rgba(166,124,82,.1); color: var(--wood); }

.pw-nav__actions { display: flex; align-items: center; gap: 1rem; }

.pw-nav__cart {
    position: relative; color: var(--dark); text-decoration: none;
    display: flex; align-items: center;
}
.pw-nav__cart:hover { color: var(--wood); }
.pw-nav__cart-count {
    position: absolute; top: -0.5rem; right: -0.5rem;
    background: var(--teal); color: white;
    font-size: 0.7rem; width: 1.2rem; height: 1.2rem; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-weight: 700;
}
.pw-nav__cta { display: none; }
@media (min-width: 768px) { .pw-nav__cta { display: inline-flex; } }

/* Hamburger */
.pw-nav__hamburger {
    display: flex; flex-direction: column; gap: 5px; background: none; border: none;
    cursor: pointer; padding: 4px;
}
.pw-nav__hamburger span {
    display: block; width: 24px; height: 2px; background: var(--dark);
    transition: transform 0.3s, opacity 0.3s;
}
@media (min-width: 1024px) { .pw-nav__hamburger { display: none; } }

/* Mobile Menu */
.pw-nav__mobile {
    display: none; flex-direction: column; gap: 0.25rem;
    background: white; padding: 1rem 1.5rem 1.5rem;
    border-top: 1px solid rgba(0,0,0,.08);
}
.pw-nav__mobile.is-open { display: flex; }
.pw-nav__mobile a {
    padding: 0.75rem 0; color: var(--dark); text-decoration: none;
    font-weight: 500; border-bottom: 1px solid rgba(0,0,0,.05);
    transition: color 0.2s;
}
.pw-nav__mobile a:hover { color: var(--wood); }

/* ============================================================
   BUTTONS
   ============================================================ */
.pw-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0.875rem 2rem; border-radius: 9999px;
    font-family: 'Lato', sans-serif; font-size: 1rem; font-weight: 600;
    text-decoration: none; border: none; cursor: pointer;
    transition: background 0.3s, color 0.3s, transform 0.2s;
    white-space: nowrap;
}
.pw-btn:hover { transform: translateY(-1px); }
.pw-btn--dark  { background: var(--dark); color: white; }
.pw-btn--dark:hover { background: #3d3d3d; }
.pw-btn--teal  { background: var(--teal); color: white; }
.pw-btn--teal:hover { background: #6aa5c8; }
.pw-btn--wood  { background: var(--wood); color: white; }
.pw-btn--wood:hover { background: #956d43; }
.pw-btn--glass { background: rgba(255,255,255,.6); color: var(--dark); backdrop-filter: blur(8px); }
.pw-btn--glass:hover { background: rgba(255,255,255,.85); }
.pw-btn--white { background: white; color: var(--dark); }
.pw-btn--white:hover { background: rgba(255,255,255,.9); }
.pw-btn--outline-white { background: transparent; color: white; border: 2px solid rgba(255,255,255,.7); }
.pw-btn--outline-white:hover { background: rgba(255,255,255,.1); }
.pw-btn--full { width: 100%; }

/* ============================================================
   TYPOGRAPHY HELPERS
   ============================================================ */
.pw-text--teal { color: var(--teal); }
.pw-text--wood { color: var(--wood); }

/* ============================================================
   ANIMATIONS
   ============================================================ */
[data-animation] { opacity: 0; transition: opacity 0.7s ease, transform 0.7s ease; }
[data-animation].is-visible { opacity: 1; transform: none !important; }
[data-animation="fade-up"]    { transform: translateY(40px); }
[data-animation="fade-left"]  { transform: translateX(-40px); }
[data-animation="fade-right"] { transform: translateX(40px); }

/* ============================================================
   HERO SECTION (Homepage)
   ============================================================ */
.pw-hero {
    position: relative; z-index: 1;
    min-height: 100vh; display: flex; align-items: center;
    padding-top: 9rem; padding-left: 1.5rem; padding-right: 1.5rem; padding-bottom: 4rem;
}
.pw-hero__grid {
    display: grid; gap: 3rem; align-items: center;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) { .pw-hero__grid { grid-template-columns: 1fr 1fr; } }

.pw-hero__headline {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 300; line-height: 1.15; color: var(--dark); margin-bottom: 1.5rem;
}
.pw-hero__headline--accent {
    display: block; color: var(--wood); font-weight: 500;
}
.pw-hero__sub {
    font-size: 1.125rem; color: rgba(44,44,44,.7); margin-bottom: 2rem; max-width: 30rem;
}
.pw-hero__btns { display: flex; flex-wrap: wrap; gap: 1rem; }

.pw-hero__image {
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.15);
}
.pw-hero__image img { width: 100%; height: 500px; object-fit: cover; display: block; }

/* ============================================================
   SECTIONS
   ============================================================ */
.pw-section { position: relative; z-index: 1; padding: 6rem 1.5rem; }
.pw-section--white { background: rgba(255,255,255,.4); }
.pw-section__header { text-align: center; margin-bottom: 4rem; }
.pw-section__title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3.5rem); color: var(--dark); margin-bottom: 1rem;
}
.pw-section__sub { font-size: 1.125rem; color: rgba(44,44,44,.7); }

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.pw-service-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; margin-bottom: 3rem; }
@media (min-width: 768px) { .pw-service-grid { grid-template-columns: 1fr 1fr; } }

.pw-service-card {
    padding: 2.5rem; border-radius: 1.5rem; border: 1px solid;
}
.pw-service-card--teal {
    background: linear-gradient(135deg, rgba(127,179,213,.12), rgba(127,179,213,.05));
    border-color: rgba(127,179,213,.2);
}
.pw-service-card--wood {
    background: linear-gradient(135deg, rgba(166,124,82,.12), rgba(166,124,82,.05));
    border-color: rgba(166,124,82,.2);
}
.pw-service-card__head { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.pw-service-card__head h3 { font-family: 'Playfair Display', serif; font-size: 1.75rem; color: var(--dark); }
.pw-service-card__icon {
    padding: 0.75rem; border-radius: 0.75rem; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
}
.pw-service-card__icon--teal { background: var(--teal); color: white; }
.pw-service-card__icon--wood { background: var(--wood); color: white; }
.pw-service-card__icon svg { color: white; }

.pw-service-list { list-style: none; display: flex; flex-direction: column; gap: 1rem; }
.pw-service-list li {
    display: flex; align-items: flex-start; gap: 1rem;
    font-size: 1.05rem; color: var(--dark);
}
.pw-service-list li svg { flex-shrink: 0; margin-top: 2px; color: var(--teal); }
.pw-service-list--wood li svg { color: var(--wood); }

/* Process Steps */
.pw-steps { display: grid; gap: 1rem; grid-template-columns: repeat(2,1fr); margin-top: 3rem; }
@media (min-width: 768px) { .pw-steps { grid-template-columns: repeat(4,1fr); } }
.pw-step {
    background: rgba(255,255,255,.6); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.4); border-radius: 1rem;
    padding: 1.5rem; text-align: center;
}
.pw-step__num {
    width: 3rem; height: 3rem; background: var(--dark); color: white;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-family: 'Playfair Display', serif; font-size: 1.25rem; font-weight: 700;
    margin: 0 auto 1rem;
}
.pw-step__who { font-size: 0.8rem; color: rgba(44,44,44,.55); margin-bottom: 0.25rem; }
.pw-step__text { font-weight: 600; color: var(--dark); font-size: 0.9rem; }

/* ============================================================
   BENTO GRID (Expertise)
   ============================================================ */
.pw-bento { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .pw-bento { grid-template-columns: 1fr 1fr; } }

.pw-bento__card {
    padding: 2rem; border-radius: 1.5rem; border: 1px solid;
    text-decoration: none; display: block;
    transition: transform 0.3s, box-shadow 0.3s;
    cursor: pointer;
    background: rgba(255,255,255,.5); backdrop-filter: blur(12px);
}
.pw-bento__card:hover { transform: translateY(-5px) scale(1.01); box-shadow: 0 20px 50px rgba(0,0,0,.1); }
.pw-bento__card--wood  { border-color: rgba(166,124,82,.2);  background: linear-gradient(135deg, rgba(166,124,82,.12), rgba(166,124,82,.05)); }
.pw-bento__card--teal  { border-color: rgba(127,179,213,.2); background: linear-gradient(135deg, rgba(127,179,213,.12), rgba(127,179,213,.05)); }
.pw-bento__card--dark  { border-color: rgba(44,44,44,.1);    background: linear-gradient(135deg, rgba(44,44,44,.08), rgba(44,44,44,.03)); }
.pw-bento__card--mixed { border-color: rgba(127,179,213,.15); background: linear-gradient(135deg, rgba(166,124,82,.08), rgba(127,179,213,.08)); }
.pw-bento__icon { margin-bottom: 1.25rem; color: var(--wood); }
.pw-bento__card--teal .pw-bento__icon { color: var(--teal); }
.pw-bento__title { font-family: 'Playfair Display', serif; font-size: 1.75rem; color: var(--dark); margin-bottom: 0.75rem; }
.pw-bento__text  { font-size: 0.95rem; color: rgba(44,44,44,.7); line-height: 1.6; }

/* ============================================================
   INNER PAGES
   ============================================================ */
.pw-page {
    position: relative; z-index: 1;
    min-height: 100vh; padding-top: 10rem; padding-bottom: 5rem;
}
.pw-page__header { text-align: center; margin-bottom: 4rem; }
.pw-page__title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2.5rem, 5vw, 4.5rem); color: var(--dark); margin-bottom: 1.25rem;
}
.pw-page__sub { font-size: 1.25rem; color: rgba(44,44,44,.7); max-width: 40rem; margin: 0 auto 2rem; }
.pw-page__btns { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

/* Hero image band */
.pw-hero-image {
    position: relative; border-radius: 1.5rem; overflow: hidden; height: 500px; margin-bottom: 4rem;
}
.pw-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.pw-hero-image__overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 2.5rem 2rem;
    background: linear-gradient(to top, rgba(44,44,44,.7), transparent);
    color: white;
}
.pw-hero-image__overlay h2 { font-family: 'Playfair Display', serif; font-size: 2rem; margin-bottom: 0.5rem; }
.pw-hero-image__overlay p  { font-size: 1.05rem; opacity: .9; }

/* Benefits Grid */
.pw-benefits {
    display: grid; gap: 1.5rem; margin-bottom: 4rem;
    grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 1024px) { .pw-benefits { grid-template-columns: repeat(4, 1fr); } }
.pw-benefit {
    background: rgba(255,255,255,.6); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.4); border-radius: 1rem;
    padding: 1.5rem; text-align: center;
}
.pw-benefit svg   { margin: 0 auto 1rem; display: block; }
.pw-benefit h3    { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: var(--dark); margin-bottom: 0.5rem; }
.pw-benefit p     { font-size: 0.875rem; color: rgba(44,44,44,.7); }

/* Generic Card */
.pw-card {
    background: rgba(255,255,255,.6); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.4); border-radius: 1.5rem;
    padding: 3rem; margin-bottom: 3rem;
}
.pw-card h2 { font-family: 'Playfair Display', serif; font-size: 1.75rem; color: var(--dark); margin-bottom: 1.25rem; }
.pw-card p  { font-size: 1.05rem; color: rgba(44,44,44,.7); line-height: 1.8; }
.pw-card--wood { background: linear-gradient(135deg, rgba(166,124,82,.1), rgba(166,124,82,.05)); border-color: rgba(166,124,82,.2); }

/* CTA Banner */
.pw-cta-banner {
    border-radius: 1.5rem; padding: 3.5rem 2.5rem; text-align: center; margin-top: 3rem;
    color: white;
}
.pw-cta-banner--teal { background: linear-gradient(135deg, var(--teal), #5a9ec5); }
.pw-cta-banner--wood { background: linear-gradient(135deg, var(--wood), #7a5a35); }
.pw-cta-banner h2   { font-family: 'Playfair Display', serif; font-size: 2rem; margin-bottom: 0.75rem; }
.pw-cta-banner p    { font-size: 1.1rem; opacity: .9; margin-bottom: 2rem; }
.pw-cta-banner__btns { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

/* Planning Grid */
.pw-planning-grid {
    display: grid; gap: 1.5rem; grid-template-columns: 1fr; margin-bottom: 4rem;
}
@media (min-width: 640px) { .pw-planning-grid { grid-template-columns: 1fr 1fr; } }
.pw-planning-card {
    position: relative;
    background: rgba(255,255,255,.6); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.4); border-radius: 1.5rem;
    padding: 3rem 2.5rem 2.5rem; transition: box-shadow 0.3s;
}
.pw-planning-card:hover { box-shadow: 0 20px 50px rgba(0,0,0,.1); }
.pw-planning-card__num {
    position: absolute; top: -1.25rem; left: 2rem;
    width: 2.5rem; height: 2.5rem; background: rgba(166,124,82,.2);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-family: 'Playfair Display', serif; font-size: 1.25rem; color: var(--wood); font-weight: 700;
}
.pw-planning-card h3 { font-family: 'Playfair Display', serif; font-size: 1.75rem; color: var(--dark); margin: 1.25rem 0 1rem; }
.pw-planning-card p  { color: rgba(44,44,44,.7); line-height: 1.7; }

/* ============================================================
   REFERENZEN GALLERY
   ============================================================ */
.pw-ref-grid { display: grid; gap: 1.5rem; margin-bottom: 4rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .pw-ref-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .pw-ref-grid { grid-template-columns: 1fr 1fr 1fr; } }
.pw-ref-card {
    background: rgba(255,255,255,.7); border-radius: 1.25rem; overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.08); transition: box-shadow 0.3s;
}
.pw-ref-card:hover { box-shadow: 0 12px 40px rgba(0,0,0,.15); }
.pw-ref-card__gallery { position: relative; height: 280px; overflow: hidden; }
.pw-ref-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.4s; }
.pw-ref-card__img--active { opacity: 1; }
.pw-ref-card__prev,
.pw-ref-card__next {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(255,255,255,.8); border: none; cursor: pointer;
    width: 2rem; height: 2rem; border-radius: 50%;
    font-size: 1.25rem; display: flex; align-items: center; justify-content: center;
    transition: background 0.2s; z-index: 2;
}
.pw-ref-card__prev:hover, .pw-ref-card__next:hover { background: white; }
.pw-ref-card__prev { left: 0.5rem; }
.pw-ref-card__next { right: 0.5rem; }
.pw-ref-card__dots { position: absolute; bottom: 0.5rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.35rem; z-index: 2; }
.pw-ref-card__dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5); cursor: pointer; transition: background 0.2s; }
.pw-ref-card__dot--active { background: white; }
.pw-ref-card__info { padding: 1rem 1.25rem; display: flex; justify-content: space-between; align-items: center; }
.pw-ref-card__info h3 { font-family: 'Playfair Display', serif; font-size: 1rem; color: var(--dark); }
.pw-ref-card__info span { font-size: 0.8rem; color: rgba(44,44,44,.5); }

/* ============================================================
   CONTACT
   ============================================================ */
.pw-contact-grid { display: grid; gap: 2rem; }
@media (min-width: 768px) { .pw-contact-grid { grid-template-columns: 1.4fr 1fr; } }

.pw-form { display: flex; flex-direction: column; gap: 1.25rem; }
.pw-form__row { display: grid; gap: 1rem; }
.pw-form__row--2 { grid-template-columns: 1fr 1fr; }
@media (max-width: 480px) { .pw-form__row--2 { grid-template-columns: 1fr; } }
.pw-form__field { display: flex; flex-direction: column; gap: 0.375rem; }
.pw-form__field label { font-weight: 600; font-size: 0.9rem; color: var(--dark); }
.pw-form__field input,
.pw-form__field textarea,
.pw-form__field select {
    padding: 0.75rem 1rem; border: 1.5px solid #E8E8E0; border-radius: 0.75rem;
    font-family: 'Lato', sans-serif; font-size: 1rem; color: var(--dark);
    background: white; transition: border-color 0.2s, box-shadow 0.2s;
}
.pw-form__field input:focus,
.pw-form__field textarea:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(127,179,213,.15); }
.pw-form__field textarea { resize: vertical; min-height: 8rem; }
.pw-form__field--checkbox { flex-direction: row; align-items: center; }
.pw-form__field--checkbox label { display: flex; align-items: center; gap: 0.5rem; font-weight: 400; cursor: pointer; }
.pw-form__field--checkbox input { width: auto; }

.pw-contact-info {
    background: rgba(255,255,255,.6); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.4); border-radius: 1.5rem; padding: 2rem;
    height: fit-content;
}
.pw-contact-info h3 { font-family: 'Playfair Display', serif; font-size: 1.5rem; color: var(--dark); margin-bottom: 1.5rem; }
.pw-contact-info__item {
    display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 1.25rem;
}
.pw-contact-info__item svg { flex-shrink: 0; margin-top: 2px; }
.pw-contact-info__item strong { display: block; font-size: 0.85rem; color: rgba(44,44,44,.5); margin-bottom: 0.2rem; }
.pw-contact-info__item a,
.pw-contact-info__item span { color: var(--dark); text-decoration: none; font-weight: 500; font-size: 0.95rem; }
.pw-contact-info__item a:hover { color: var(--wood); }

/* ============================================================
   FOOTER
   ============================================================ */
footer {
    position: relative; z-index: 1;
    background: var(--dark); color: var(--steam); padding: 4rem 1.5rem;
}
footer .pw-container { position: static; }
footer .footer-grid {
    display: grid; gap: 3rem; margin-bottom: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
footer h3 { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--wood); margin-bottom: 1rem; }
footer h4 { font-family: 'Playfair Display', serif; font-size: 1.1rem; margin-bottom: 1rem; }
footer p  { font-size: 0.875rem; color: rgba(245,245,240,.7); line-height: 1.7; }
footer ul { list-style: none; }
footer ul li { margin-bottom: 0.5rem; }
footer ul li a { color: rgba(245,245,240,.7); text-decoration: none; font-size: 0.875rem; transition: color 0.3s; }
footer ul li a:hover { color: var(--teal); }
footer .contact-info { display: flex; align-items: flex-start; gap: 0.5rem; color: rgba(245,245,240,.7); font-size: 0.875rem; margin-bottom: 0.75rem; }
footer .contact-info svg { width: 1rem; height: 1rem; color: var(--teal); flex-shrink: 0; margin-top: 2px; }
footer .footer-bottom {
    border-top: 1px solid rgba(245,245,240,.1); padding-top: 2rem;
    display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem;
}
footer .footer-bottom p { font-size: 0.875rem; color: rgba(245,245,240,.5); }
footer .footer-links { display: flex; flex-wrap: wrap; gap: 1.5rem; }
footer .footer-links a,
footer .footer-links button {
    color: rgba(245,245,240,.5); text-decoration: none; font-size: 0.875rem;
    transition: color 0.3s; background: none; border: none; cursor: pointer;
    font-family: 'Lato', sans-serif; padding: 0;
}
footer .footer-links a:hover,
footer .footer-links button:hover { color: var(--teal); }

/* ============================================================
   WOOCOMMERCE – Modernes Shop-Layout
   ============================================================ */

/* ── Seiten-Wrapper ─────────────────────────────────────── */
.pw-shop-main {
    position: relative;
    z-index: 1;
    padding-top: 6.5rem;
    padding-bottom: 5rem;
    min-height: 100vh;
}

/* Cart / Checkout / Account ohne Sidebar */
.pw-woo-inner {
    max-width: 72rem;
    margin: 0 auto;
    padding: 2rem 1.5rem 0;
}

/* ── Kategorie-Topbar ───────────────────────────────────── */
.pw-cat-topbar {
    background: rgba(255,255,255,.85);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0,0,0,.07);
    position: sticky;
    top: 6.5rem;
    z-index: 100;
    margin-bottom: 0;
}

.pw-cat-topbar__inner {
    max-width: 90rem;
    margin: 0 auto;
    padding: 0.75rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.pw-cat-topbar__inner::-webkit-scrollbar { display: none; }

.pw-cat-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 1.1rem;
    border-radius: 9999px;
    font-family: 'Lato', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    color: rgba(44,44,44,.7);
    background: rgba(255,255,255,.7);
    border: 1.5px solid rgba(0,0,0,.1);
    transition: all 0.2s;
    flex-shrink: 0;
}
.pw-cat-pill:hover {
    color: var(--dark);
    background: white;
    border-color: rgba(0,0,0,.2);
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.pw-cat-pill--active {
    background: var(--teal);
    color: white !important;
    border-color: var(--teal);
    box-shadow: 0 2px 12px rgba(109,191,192,.4);
}
.pw-cat-pill--active:hover {
    background: #5aafb0;
    border-color: #5aafb0;
}
.pw-cat-pill__count {
    font-size: 0.75rem;
    font-weight: 400;
    opacity: 0.75;
}

/* ── Zweispaltiges Layout ───────────────────────────────── */
.pw-shop-layout {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    max-width: 90rem;
    margin: 0 auto;
    padding: 1.75rem 1.5rem 0;
}

.pw-shop-sidebar-wrap {
    width: 240px;
    flex-shrink: 0;
    position: sticky;
    top: 10rem;
    max-height: calc(100vh - 11rem);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.15) transparent;
}

.pw-shop-content {
    flex: 1;
    min-width: 0;
}

@media (max-width: 1024px) {
    .pw-shop-sidebar-wrap { width: 200px; }
}
@media (max-width: 860px) {
    .pw-shop-layout       { flex-direction: column; }
    .pw-shop-sidebar-wrap { width: 100%; position: static; max-height: none; }
    .pw-cat-topbar        { top: 5rem; }
}

/* ── Sidebar-Boxen ──────────────────────────────────────── */
.pw-sidebar-box {
    background: white;
    border-radius: 1rem;
    padding: 1.25rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
    border: 1px solid rgba(0,0,0,.05);
}

.pw-sidebar-hint { border-style: dashed; box-shadow: none; }

.pw-sidebar-title {
    font-family: 'Lato', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    color: rgba(44,44,44,.5);
    margin: 0 0 0.875rem;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid #F0F0EA;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Unterkategorie-Navigation in Sidebar */
.pw-cat-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.pw-cat-nav__item > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.45rem 0.5rem;
    border-radius: 0.5rem;
    color: rgba(44,44,44,.7);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
    gap: 0.5rem;
}
.pw-cat-nav__item > a:hover {
    background: rgba(109,191,192,.1);
    color: var(--dark);
}
.pw-cat-nav__item--active > a {
    background: rgba(109,191,192,.15);
    color: var(--teal);
    font-weight: 600;
}
.pw-cat-nav__count {
    color: rgba(44,44,44,.3);
    font-size: 0.78rem;
    font-weight: 400;
    flex-shrink: 0;
}

/* Unterklassen */
.pw-cat-nav__sub {
    list-style: none;
    margin: 0.2rem 0 0.2rem 0.75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    border-left: 2px solid rgba(109,191,192,.3);
    padding-left: 0.875rem;
}

.pw-cat-nav__sub .pw-cat-nav__item > a {
    font-size: 0.85rem;
    padding: 0.375rem 0.5rem;
}

/* WooCommerce Widget-Styles in Sidebar */
.pw-widget-%2$s,
.pw-sidebar-box .widget {
    /* already wrapped via register_sidebar */
}
.pw-sidebar-box ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.pw-sidebar-box ul li {
    padding: 0.375rem 0;
    border-bottom: 1px solid rgba(0,0,0,.05);
    font-size: 0.875rem;
}
.pw-sidebar-box ul li:last-child { border-bottom: none; }
.pw-sidebar-box ul li a {
    color: rgba(44,44,44,.75);
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    transition: color 0.2s;
}
.pw-sidebar-box ul li a:hover { color: var(--teal); }
.pw-sidebar-box ul li .count {
    color: rgba(44,44,44,.35);
    font-size: 0.8rem;
}

/* Preisfilter */
.pw-sidebar-box .price_slider_wrapper { padding-top: 0.25rem; }
.pw-sidebar-box .price_slider_amount {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.75rem;
    gap: 0.5rem;
}
.pw-sidebar-box .price_slider_amount .button {
    background: var(--teal);
    color: white;
    border: none;
    border-radius: 9999px;
    padding: 0.35rem 1rem;
    font-size: 0.8rem;
    font-family: 'Lato', sans-serif;
    cursor: pointer;
    transition: background 0.2s;
    flex-shrink: 0;
}
.pw-sidebar-box .price_slider_amount .button:hover { background: #5aafb0; }

/* ── Shop-Toolbar ───────────────────────────────────────── */
.pw-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.75rem;
    gap: 1rem;
    flex-wrap: wrap;
}

.woocommerce-result-count {
    font-size: 0.875rem;
    color: rgba(44,44,44,.5);
    margin: 0;
}

.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select {
    padding: 0.5rem 2.25rem 0.5rem 1rem;
    border: 1.5px solid #E0E0D8;
    border-radius: 0.625rem;
    font-family: 'Lato', sans-serif;
    font-size: 0.875rem;
    color: var(--dark);
    background: white;
    -webkit-appearance: none;
    cursor: pointer;
    transition: border-color 0.2s;
}
.woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(109,191,192,.15);
}

/* Breadcrumb */
.woocommerce-breadcrumb {
    font-size: 0.85rem;
    color: rgba(44,44,44,.5);
    margin-bottom: 1.5rem;
}
.woocommerce-breadcrumb a { color: rgba(44,44,44,.6); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--teal); }

/* Shop-Header: "Shop"-Titel ausblenden (Topbar übernimmt Navigation) */
.woocommerce-products-header { display: none; }

/* Innerhalb einer Kategorie: Kategorie-Titel wieder zeigen */
.tax-product_cat .woocommerce-products-header {
    display: block;
    margin-bottom: 1.25rem;
}
.woocommerce-products-header__title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    color: var(--dark);
    margin-bottom: 0.25rem;
}

/* ── Produkt-Grid ───────────────────────────────────────── */
/* WooCommerce Float-Clearfix entfernen (nimmt sonst einen Grid-Slot weg) */
ul.products::before,
ul.products::after {
    display: none !important;
    content: none !important;
}

ul.products {
    display: grid !important;
    gap: 1.5rem !important;
    list-style: none !important;
    margin: 0 0 2rem !important;
    padding: 0 !important;
    clear: both;
    /* 3 Spalten neben der Sidebar — gut lesbar */
    grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 1100px) {
    ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    ul.products { grid-template-columns: 1fr !important; }
}

/* Wenn Sidebar weggeklappt (mobile) → 3 Spalten wieder */
@media (min-width: 861px) and (max-width: 1100px) {
    ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Kategorie-Übersichtskacheln: maximal 2 Spalten, damit Bilder groß sind */
ul.products.columns-2 {
    grid-template-columns: repeat(2, 1fr) !important;
}
ul.products.columns-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 600px) {
    ul.products.columns-2,
    ul.products.columns-3 { grid-template-columns: 1fr !important; }
}

/* ── Produkt- & Kategorie-Karte ─────────────────────────── */
ul.products li.product {
    background: white !important;
    border-radius: 1.25rem !important;
    overflow: hidden !important;
    box-shadow: 0 2px 14px rgba(0,0,0,.06) !important;
    border: 1px solid rgba(0,0,0,.05) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    padding: 0 !important;
    /* WooCommerce setzt width: 22.05%, float: left, clear: both — alles überschreiben */
    width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
}
ul.products li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.12) !important;
}

/* Produkt-Link */
ul.products li.product a.woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    color: inherit !important;
    flex: 1 !important;
    overflow: hidden !important; /* clippt Bild-Zoom, da li overflow:hidden hat */
}

/* Kategorie-Link — kein overflow:hidden damit Titel nicht abgeschnitten wird */
ul.products li.product-category > a {
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    color: inherit !important;
    flex: 1 !important;
}

/* Bild-Container mit fester Höhe */
ul.products li.product .woocommerce-loop-product__link img,
ul.products li.product-category img,
ul.products li.product > a > img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.45s ease !important;
    background: #f5f5f0 !important;
    flex-shrink: 0 !important;
}
ul.products li.product:hover img {
    transform: scale(1.06) !important;
}

/* WooCommerce-Platzhalter-Bild zentriert darstellen */
ul.products li.product img.woocommerce-placeholder,
ul.products li.product-category img.woocommerce-placeholder {
    object-fit: contain !important;
    padding: 2.5rem !important;
    background: #f5f5f0 !important;
    opacity: 0.35 !important;
}

/* Sale-Badge */
ul.products li.product .onsale {
    position: absolute !important;
    top: 0.75rem !important;
    left: 0.75rem !important;
    z-index: 5 !important;
    background: var(--wood) !important;
    color: white !important;
    padding: 0.2rem 0.75rem !important;
    border-radius: 9999px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

/* Produkttitel */
ul.products li.product h2.woocommerce-loop-product__title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--dark) !important;
    padding: 1rem 1.125rem 0.375rem !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Kategorie-Kachel: Titel (kein overflow clip, voller Text) */
ul.products li.product-category h2.woocommerce-loop-category__title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: var(--dark) !important;
    padding: 0.875rem 1.125rem 1rem !important;
    margin: 0 !important;
    line-height: 1.45 !important;
    display: block !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}

/* Produktanzahl "(9)" — kein gelber Hintergrund */
ul.products li.product-category h2 .count,
ul.products li.product-category h2 mark.count {
    display: inline !important;
    background: none !important;
    color: rgba(44,44,44,.4) !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 400 !important;
    margin-left: 0.25rem !important;
}

/* Bewertung */
ul.products li.product .star-rating {
    margin: 0.25rem 1.125rem 0.125rem !important;
    font-size: 0.8rem !important;
    color: var(--wood) !important;
}

/* Preis */
ul.products li.product .price {
    display: block !important;
    padding: 0.25rem 1.125rem 0 !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    color: var(--wood) !important;
    margin-bottom: 0 !important;
}
ul.products li.product .price del {
    color: rgba(44,44,44,.3) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    margin-right: 0.25rem !important;
}
ul.products li.product .price ins {
    text-decoration: none !important;
}

/* In-den-Warenkorb Button */
ul.products li.product .button,
ul.products li.product a.button {
    display: block !important;
    margin: auto 1.125rem 1.125rem !important;
    padding: 0.65rem 1rem !important;
    background: var(--teal) !important;
    color: white !important;
    border-radius: 9999px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s, transform 0.2s !important;
    letter-spacing: 0.01em !important;
}
ul.products li.product .button:hover,
ul.products li.product a.button:hover {
    background: #5aafb0 !important;
    color: white !important;
    transform: none !important;
}

/* ── Pagination ─────────────────────────────────────────── */
.woocommerce-pagination {
    margin-top: 2rem;
    clear: both;
}
.woocommerce-pagination ul.page-numbers {
    display: flex;
    gap: 0.4rem;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce-pagination ul.page-numbers li span.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.875rem;
    border-radius: 0.625rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    background: white;
    color: var(--dark);
    border: 1.5px solid rgba(0,0,0,.1);
    transition: all 0.2s;
}
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
    background: var(--teal);
    color: white;
    border-color: var(--teal);
}
.woocommerce-pagination ul.page-numbers li span.current {
    background: var(--teal);
    color: white;
    border-color: var(--teal);
}

/* ── Kein-Produkt-Meldung ───────────────────────────────── */
.woocommerce-info {
    background: rgba(109,191,192,.1);
    border-left: 4px solid var(--teal);
    padding: 1rem 1.5rem;
    border-radius: 0.75rem;
    margin-bottom: 1.5rem;
    font-family: 'Lato', sans-serif;
}
.woocommerce-message { background: rgba(109,191,192,.1); border-top: 3px solid var(--teal); border-radius: 0.75rem; padding: 1rem 1.5rem; margin-bottom: 1.5rem; }
.woocommerce-error   { background: rgba(239,68,68,.08);  border-top: 3px solid #ef4444;    border-radius: 0.75rem; padding: 1rem 1.5rem; margin-bottom: 1.5rem; list-style: none; }

/* ── Einzelprodukt-Seite ────────────────────────────────── */
.single-product .pw-shop-content { max-width: 100%; }

.woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: start;
}
@media (max-width: 768px) {
    .woocommerce div.product { grid-template-columns: 1fr; gap: 2rem; }
}

.woocommerce div.product .woocommerce-product-gallery {
    min-width: 0;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.woocommerce div.product .summary {
    min-width: 0;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.single-product .woocommerce-product-gallery__image img {
    border-radius: 1.25rem;
    width: 100%;
}

.woocommerce div.product h1.product_title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    color: var(--dark);
    margin-bottom: 0.5rem;
    line-height: 1.25;
}

.woocommerce div.product .price,
.woocommerce div.product span.price {
    color: var(--wood);
    font-size: 1.75rem;
    font-weight: 700;
    display: block;
    margin-bottom: 1rem;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: rgba(44,44,44,.75);
    line-height: 1.8;
    margin: 1rem 0 1.5rem;
    font-size: 1rem;
}

.woocommerce div.product form.cart {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
    background: var(--wood) !important;
    color: white !important;
    padding: 0.9rem 2.5rem !important;
    border-radius: 9999px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.3s !important;
    letter-spacing: 0.02em !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: #a0703e !important;
}

.woocommerce div.product .quantity input.qty {
    width: 5rem;
    padding: 0.75rem;
    border: 1.5px solid #E0E0D8;
    border-radius: 0.75rem;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    color: var(--dark);
}

/* Tabs → Sections (Tab-Navigation ausgeblendet, alle Panels sichtbar) */
.woocommerce-tabs {
    margin-top: 2.5rem;
    grid-column: 1 / -1;
}
/* Tab-Buttons komplett ausblenden */
.woocommerce-tabs ul.wc-tabs { display: none !important; }

/* Alle Tab-Panels direkt anzeigen (WC JS setzt display:none inline → !important nötig) */
.woocommerce-tabs .panel {
    display: block !important;
    background: white;
    border-radius: 1rem;
    padding: 1.75rem 2rem;
    margin-bottom: 1rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
    border: 1px solid rgba(0,0,0,.05);
}
/* Panel-Überschriften im Theme-Stil */
.woocommerce-tabs .panel > h2:first-child {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
    color: var(--dark);
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1.5px solid rgba(0,0,0,.06);
}
.woocommerce-tabs .panel p {
    color: rgba(44,44,44,.75);
    line-height: 1.8;
    margin-bottom: 0.75rem;
}
/* Attribut-Tabelle in Zusätzliche Informationen */
.woocommerce-tabs .panel table.shop_attributes {
    width: 100%;
    border-collapse: collapse;
}
.woocommerce-tabs .panel table.shop_attributes th,
.woocommerce-tabs .panel table.shop_attributes td {
    padding: 0.6rem 0.75rem;
    font-size: 0.9rem;
    border-bottom: 1px solid rgba(0,0,0,.05);
    text-align: left;
}
.woocommerce-tabs .panel table.shop_attributes th {
    font-weight: 700;
    color: rgba(44,44,44,.7);
    width: 35%;
}
.woocommerce-tabs .panel table.shop_attributes td {
    color: rgba(44,44,44,.85);
}
/* Bewertungs-Formular */
#review_form .comment-form { display: flex; flex-direction: column; gap: 1rem; }
#review_form input, #review_form textarea {
    border: 1.5px solid #E0E0D8;
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    font-family: 'Lato', sans-serif;
    font-size: 0.95rem;
    width: 100%;
}
#review_form textarea { min-height: 120px; resize: vertical; }
#review_form #submit {
    background: var(--teal);
    color: white;
    border: none;
    border-radius: 9999px;
    padding: 0.85rem 2.5rem;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    cursor: pointer;
    align-self: flex-start;
    transition: background 0.2s;
}
#review_form #submit:hover { background: #5aafb0; }

/* Ähnliche Produkte */
.related.products,
.upsells.products {
    margin-top: 4rem;
    grid-column: 1 / -1;
}
.related > h2,
.upsells > h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.75rem;
    color: var(--dark);
    margin-bottom: 1.5rem;
}

/* ── WooCommerce Standard-Buttons ───────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--teal);
    color: white !important;
    padding: 0.75rem 1.75rem;
    border-radius: 9999px;
    font-family: 'Lato', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: #5aafb0; color: white !important; }

.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background: var(--wood);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: #a0703e; }

/* ── Warenkorb ──────────────────────────────────────────── */
.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-account {
    position: relative;
    z-index: 1;
}

.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 2px 14px rgba(0,0,0,.06);
}
.shop_table thead th {
    font-weight: 600;
    color: var(--dark);
    padding: 1rem 1.25rem;
    text-align: left;
    background: rgba(109,191,192,.08);
    border-bottom: 2px solid rgba(109,191,192,.2);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.shop_table tbody td {
    padding: 1.25rem;
    border-bottom: 1px solid #F0F0EA;
    vertical-align: middle;
}
.shop_table .product-thumbnail img {
    max-width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 0.5rem;
}
.shop_table .product-name a { color: var(--dark); text-decoration: none; font-weight: 500; }
.shop_table .product-name a:hover { color: var(--wood); }
.shop_table .product-price,
.shop_table .product-subtotal { color: var(--wood); font-weight: 600; }
.shop_table .product-remove a { color: rgba(239,68,68,.7); font-size: 1.25rem; text-decoration: none; transition: color 0.2s; }
.shop_table .product-remove a:hover { color: #ef4444; }

.woocommerce .quantity input.qty {
    width: 4.5rem;
    padding: 0.5rem 0.75rem;
    border: 1.5px solid #E0E0D8;
    border-radius: 0.625rem;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
}

.woocommerce .coupon {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
.woocommerce .coupon input.input-text {
    padding: 0.75rem 1rem;
    border: 1.5px solid #E0E0D8;
    border-radius: 0.75rem;
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    background: white;
    transition: border-color 0.2s;
}
.woocommerce .coupon input.input-text:focus {
    outline: none;
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(109,191,192,.15);
}

.cart-collaterals { margin-top: 2rem; }
.cart_totals {
    background: white;
    padding: 2rem;
    border-radius: 1.25rem;
    max-width: 28rem;
    margin-left: auto;
    box-shadow: 0 2px 14px rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.05);
}
.cart_totals h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--dark);
    margin-bottom: 1.25rem;
}
.cart_totals table { width: 100%; }
.cart_totals th, .cart_totals td {
    padding: 0.75rem 0;
    border-bottom: 1px solid #F0F0EA;
    font-size: 0.95rem;
}
.cart_totals .order-total td { font-size: 1.4rem; font-weight: 700; color: var(--wood); }
.cart_totals .order-total th { font-weight: 700; font-size: 1rem; }
.wc-proceed-to-checkout { margin-top: 1.5rem; }
.wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    background: var(--wood) !important;
    color: white !important;
    padding: 1rem;
    border-radius: 9999px;
    text-align: center;
    font-family: 'Lato', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.3s;
    letter-spacing: 0.02em;
}
.wc-proceed-to-checkout .checkout-button:hover { background: #a0703e !important; }

/* ── Checkout ───────────────────────────────────────────── */
.woocommerce-checkout .woocommerce { max-width: 72rem; margin: 0 auto; padding: 0 1.5rem; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid #E0E0D8;
    border-radius: 0.75rem;
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    color: var(--dark);
    background: white;
    transition: border-color 0.2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    outline: none;
    border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(109,191,192,.15);
}
.woocommerce form .form-row label {
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--dark);
    margin-bottom: 0.375rem;
    display: block;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--dark);
    margin-bottom: 1.25rem;
    margin-top: 2rem;
}
.woocommerce-checkout #payment {
    background: white;
    border-radius: 1.25rem;
    padding: 1.5rem;
    margin-top: 1.5rem;
    border: 1px solid rgba(0,0,0,.06);
}
.woocommerce-checkout #place_order {
    display: block;
    width: 100%;
    background: var(--wood);
    color: white;
    padding: 1rem;
    border-radius: 9999px;
    font-family: 'Lato', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: background 0.3s;
    margin-top: 1rem;
    letter-spacing: 0.02em;
}
.woocommerce-checkout #place_order:hover { background: #a0703e; }

/* ============================================================
   COOKIE BANNER
   ============================================================ */
#pw-cookie-banner { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 99999; background: rgba(44,44,44,.97); backdrop-filter: blur(8px); color: var(--steam); padding: 1.5rem; box-shadow: 0 -4px 24px rgba(0,0,0,.25); }
#pw-cookie-banner.is-visible { display: block; }
.pw-cookie-banner__inner { max-width: 80rem; margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 1.5rem 2rem; align-items: start; }
.pw-cookie-banner__text h3 { font-family: 'Playfair Display', serif; font-size: 1.25rem; color: var(--wood); margin-bottom: 0.5rem; }
.pw-cookie-banner__text p { font-size: 0.875rem; color: rgba(245,245,240,.8); line-height: 1.5; margin: 0; }
.pw-cookie-banner__options { display: flex; gap: 1.5rem; margin-top: 1rem; flex-wrap: wrap; }
.pw-cookie-banner__options label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: rgba(245,245,240,.9); cursor: pointer; }
.pw-cookie-banner__options input[type="checkbox"] { width: 1.125rem; height: 1.125rem; accent-color: var(--teal); cursor: pointer; }
.pw-cookie-banner__options input:disabled { opacity: 0.6; cursor: not-allowed; }
.pw-cookie-banner__actions { display: flex; flex-direction: column; gap: 0.75rem; align-items: stretch; min-width: 200px; }
.pw-cookie-banner__actions .pw-btn-primary, .pw-cookie-banner__actions .pw-btn-secondary { display: block; text-align: center; padding: 0.75rem 1.5rem; border-radius: 9999px; font-family: 'Lato', sans-serif; font-size: 0.9rem; font-weight: 600; cursor: pointer; border: none; transition: background 0.3s; }
.pw-cookie-banner__actions .pw-btn-primary { background: var(--wood); color: white; }
.pw-cookie-banner__actions .pw-btn-primary:hover { background: #956d43; }
.pw-cookie-banner__actions .pw-btn-secondary { background: transparent; color: rgba(245,245,240,.8); border: 1px solid rgba(245,245,240,.3); }
.pw-cookie-banner__actions .pw-btn-secondary:hover { border-color: rgba(245,245,240,.6); color: white; }
.pw-cookie-banner__link { font-size: 0.8rem; color: var(--teal); text-decoration: underline; text-align: center; display: block; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1023px) {
    .pw-nav__links { display: none; }
    .pw-nav__cta { display: none !important; }
}
@media (max-width: 767px) {
    .pw-hero__image { display: none; }
    .pw-cookie-banner__inner { grid-template-columns: 1fr; }
    .pw-cookie-banner__actions { flex-direction: row; flex-wrap: wrap; min-width: unset; }
    .pw-cookie-banner__actions .pw-btn-primary,
    .pw-cookie-banner__actions .pw-btn-secondary { flex: 1; min-width: 140px; }
    footer .footer-bottom { flex-direction: column; text-align: center; }
    .pw-contact-grid { grid-template-columns: 1fr; }
    .pw-benefits { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .pw-page__title { font-size: 2.25rem; }
    .pw-benefits { grid-template-columns: 1fr; }
    .pw-steps { grid-template-columns: 1fr 1fr; }
}

/* Page generic fallback */
.entry-content { position: relative; z-index: 1; min-height: 100vh; padding: 10rem 1.5rem 5rem; max-width: 80rem; margin: 0 auto; }
.entry-content h1, .entry-content h2 { font-family: 'Playfair Display', serif; color: var(--dark); margin-bottom: 1rem; }
.entry-content p { margin-bottom: 1rem; line-height: 1.8; color: rgba(44,44,44,.8); }
.entry-content a { color: var(--wood); }




/* ============================================================
   SHOP-VERBESSERUNGEN v2 – Mai 2026
   ============================================================ */

/* ── Produkt-Galerie (Einzelprodukt) ────────────────────────────────────────── */
.woocommerce-product-gallery {
    position: relative;
    overflow: hidden;
    border-radius: 1.5rem;
    background: white;
    box-shadow: 0 4px 24px rgba(0,0,0,.07);
}

.woocommerce-product-gallery .flex-viewport {
    border-radius: 1.25rem 1.25rem 0 0;
    overflow: hidden;
}

.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image a img {
    width: 100% !important;
    height: auto !important;
    max-height: 520px;
    object-fit: contain;
    border-radius: 1.25rem;
    background: #f8f8f6;
}

/* Lightbox-Trigger sichtbar machen */
.woocommerce-product-gallery__image a {
    display: block;
    cursor: zoom-in;
}

/* Thumbnails */
.flex-control-thumbs {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 0.75rem 0.75rem 0.75rem;
    background: white;
    border-radius: 0 0 1.25rem 1.25rem;
}
.flex-control-thumbs li {
    list-style: none;
    width: calc(25% - 0.375rem) !important;
    float: none !important;
    margin: 0 !important;
}
.flex-control-thumbs li img {
    border-radius: 0.6rem;
    width: 100% !important;
    height: 70px !important;
    object-fit: cover !important;
    border: 2px solid transparent;
    transition: border-color 0.2s, opacity 0.2s;
    cursor: pointer;
}
.flex-control-thumbs li img.flex-active,
.flex-control-thumbs li img:hover {
    border-color: var(--teal);
    opacity: 1;
}

/* Zoom-Overlay */
.woocommerce-product-gallery__trigger {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 10;
    background: rgba(255,255,255,.9);
    border-radius: 50%;
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
    transition: background 0.2s;
}
.woocommerce-product-gallery__trigger:hover { background: white; }
.woocommerce-product-gallery__trigger img { width: 1.25rem; height: 1.25rem; }

/* ── Produktseite: Summary-Bereich ─────────────────────────────────────────── */
.woocommerce div.product .summary {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Produkt-Attribute (Marke etc.) in Summary */
.pw-product-attrs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    margin: 0.25rem 0;
}
.pw-attr-pair {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(109,191,192,.08);
    border: 1px solid rgba(109,191,192,.2);
    border-radius: 9999px;
    padding: 0.25rem 0.75rem;
    font-size: 0.8rem;
    font-family: 'Lato', sans-serif;
}
.pw-attr-label {
    color: rgba(44,44,44,.55);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
}
.pw-attr-value {
    color: var(--dark);
    font-weight: 600;
}

.woocommerce div.product .woocommerce-product-details__short-description p {
    margin-bottom: 0.75rem;
}

/* Kategorie-Breadcrumb unter Titel */
.woocommerce div.product .posted_in {
    font-size: 0.8rem;
    color: rgba(44,44,44,.5);
    margin-top: -0.25rem;
}
.woocommerce div.product .posted_in a {
    color: var(--teal);
    text-decoration: none;
}

/* SKU */
.woocommerce div.product .sku_wrapper {
    font-size: 0.8rem;
    color: rgba(44,44,44,.45);
}

/* "In den Warenkorb" Button */
.single_add_to_cart_button.button {
    width: 100%;
    padding: 1rem 2rem !important;
    font-size: 1.05rem !important;
    border-radius: 9999px !important;
    margin-top: 0.5rem;
}

/* Anfragen-Button / Kontakt-Hinweis unter Warenkorb */
.woocommerce div.product .pw-contact-hint {
    margin-top: 0.75rem;
    font-size: 0.85rem;
    color: rgba(44,44,44,.55);
    text-align: center;
}
.woocommerce div.product .pw-contact-hint a {
    color: var(--teal);
}

/* Tabs – verbessert */
.woocommerce-tabs ul.tabs {
    border-bottom: 2px solid #E8E8E0;
    margin-bottom: 0;
}
.woocommerce-tabs ul.tabs li.active a {
    font-weight: 700;
    color: var(--wood);
    border-bottom-color: white;
}
.woocommerce-tabs .panel {
    border-radius: 0 1rem 1rem 1rem;
}

/* Beschreibung im Tab */
.woocommerce-product-details__short-description {
    font-size: 1rem;
    line-height: 1.8;
    color: rgba(44,44,44,.8);
}
#tab-description p,
#tab-description ul,
#tab-description ol {
    color: rgba(44,44,44,.8);
    line-height: 1.8;
    margin-bottom: 0.75rem;
}
#tab-description h1, #tab-description h2,
#tab-description h3, #tab-description h4 {
    font-family: 'Playfair Display', serif;
    margin: 1.25rem 0 0.5rem;
    color: var(--dark);
}
#tab-description img {
    max-width: 100%;
    border-radius: 0.75rem;
    margin: 1rem 0;
}

/* ── Produktkarten im Raster ────────────────────────────────────────────────── */
ul.products li.product {
    background: white;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
    border: 1px solid rgba(0,0,0,.05);
    transition: transform 0.25s, box-shadow 0.25s;
    display: flex;
    flex-direction: column;
}
ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0,0,0,.10);
}

/* Bild-Container: feste Höhe für einheitliches Grid */
ul.products li.product .woocommerce-LoopProduct-link {
    flex: 1;
    display: flex;
    flex-direction: column;
}

ul.products li.product .woocommerce-loop-product__link img,
ul.products li.product-category img,
ul.products li.product > a > img {
    width: 100%;
    height: 200px;
    object-fit: contain;
    background: #f5f5f0;
    padding: 0.75rem;
    border-radius: 0;
    transition: transform 0.3s;
    flex-shrink: 0;
}

ul.products li.product:hover img { transform: scale(1.04); }

ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 0.9rem;
    line-height: 1.4;
    padding: 0.75rem 1rem 0;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
}

ul.products li.product .price {
    padding: 0.25rem 1rem;
    color: var(--wood);
    font-size: 1rem;
    font-weight: 700;
}

ul.products li.product .button {
    margin: 0.5rem 1rem 1rem;
    width: calc(100% - 2rem);
    text-align: center;
    border-radius: 9999px !important;
    font-size: 0.875rem !important;
    padding: 0.6rem 1rem !important;
}

/* Kategorie-Kacheln besser stylen */
ul.products li.product-category > a {
    background: white;
    border-radius: 1rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
    transition: transform 0.25s, box-shadow 0.25s;
    overflow: hidden;
    display: block;
}
ul.products li.product-category > a:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0,0,0,.10);
}
ul.products li.product-category img {
    height: 200px !important;
    object-fit: cover !important;
    padding: 0 !important;
}
ul.products li.product-category h2.woocommerce-loop-category__title {
    font-size: 1.1rem;
    padding: 1rem;
    background: white;
}
ul.products li.product-category h2 .count {
    font-size: 0.8rem;
    opacity: 0.6;
}

/* ── Preis-Filter (WC Widget) ───────────────────────────────────────────────── */
.pw-sidebar-box .price_slider_wrapper {
    margin-top: 0.5rem;
}
.pw-sidebar-box .ui-slider {
    background: #E8E8E0;
    border-radius: 9999px;
    height: 4px;
    border: none;
    position: relative;
    margin: 1rem 0.5rem;
}
.pw-sidebar-box .ui-slider-range {
    background: var(--teal);
    border-radius: 9999px;
    height: 4px;
}
.pw-sidebar-box .ui-slider-handle {
    position: absolute;
    background: var(--teal);
    border: 2px solid white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    top: -7px;
    margin-left: -9px;
    cursor: grab;
    box-shadow: 0 2px 6px rgba(0,0,0,.2);
    outline: none;
    touch-action: none;
    z-index: 2;
}
.pw-sidebar-box .ui-slider-handle:active { cursor: grabbing; }
.pw-sidebar-box .price_slider_amount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.75rem;
}
.pw-sidebar-box .price_slider_amount .price_label {
    font-size: 0.875rem;
    color: rgba(44,44,44,.7);
}
.pw-sidebar-box .price_slider_amount .button {
    font-size: 0.8rem !important;
    padding: 0.4rem 1rem !important;
    border-radius: 9999px !important;
}
/* (Alte Preisfilter-Inputs entfernt – ersetzt durch .pw-price-inputs--php weiter unten) */

/* ── Sidebar Kategorie-Navigation ───────────────────────────────────────────── */
.pw-cat-nav { list-style: none; padding: 0; margin: 0; }
.pw-cat-nav__item { border-bottom: 1px solid rgba(0,0,0,.06); }
.pw-cat-nav__item:last-child { border-bottom: none; }
.pw-cat-nav__item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0.25rem;
    color: rgba(44,44,44,.75);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.2s;
}
.pw-cat-nav__item a:hover,
.pw-cat-nav__item--active a { color: var(--teal); font-weight: 600; }
.pw-cat-nav__count {
    font-size: 0.75rem;
    background: rgba(109,191,192,.12);
    color: var(--teal);
    border-radius: 9999px;
    padding: 0.1rem 0.5rem;
    font-weight: 600;
}

/* ── Shop – Leere Zustand ───────────────────────────────────────────────────── */
.woocommerce-info.woocommerce-no-products-found {
    text-align: center;
    padding: 3rem;
    border-radius: 1rem;
}

/* ── PhotoSwipe Lightbox über Cookie-Banner ─────────────────────────────────── */
.pswp { z-index: 999999 !important; }

/* ============================================================
   SHOP-VERBESSERUNGEN v2 – UX Fixes
   ============================================================ */

/* ── 1. Produktseite: volle Breite ohne Sidebar ─────────────────────────────── */
.pw-product-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 1rem 2rem 0;
}
.pw-product-wrap .woocommerce div.product {
    grid-template-columns: 55% 1fr;
    gap: 4rem;
}
.pw-product-wrap .woocommerce-product-gallery {
    /* Volle Spaltenbreite nutzen */
}
@media (max-width: 860px) {
    .pw-product-wrap { padding: 1rem 1rem 0; }
    .pw-product-wrap .woocommerce div.product { grid-template-columns: 1fr; gap: 2rem; }
}

/* ── 2. Zurück-Button ───────────────────────────────────────────────────────── */
.pw-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: rgba(44,44,44,.55);
    font-family: 'Lato', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    padding: 0.4rem 0;
    margin-bottom: 1.25rem;
    transition: color 0.2s;
    letter-spacing: 0.01em;
}
.pw-back-btn:hover { color: var(--teal); }
.pw-back-btn svg { flex-shrink: 0; }

/* ── 3. Topbar Hover-Dropdown ───────────────────────────────────────────────── */
.pw-cat-pill-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.pw-cat-pill__chevron {
    margin-left: 0.2rem;
    opacity: 0.6;
    transition: transform 0.2s;
    flex-shrink: 0;
}
.pw-cat-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    background: white;
    border-radius: 0.875rem;
    box-shadow: 0 8px 32px rgba(0,0,0,.14);
    border: 1px solid rgba(0,0,0,.06);
    min-width: 200px;
    padding: 0.4rem;
    z-index: 500;
}
.pw-cat-pill-wrap:hover .pw-cat-dropdown,
.pw-cat-pill-wrap.touch-open .pw-cat-dropdown { display: block; }
.pw-cat-pill-wrap:hover .pw-cat-pill__chevron { transform: rotate(180deg); }
.pw-cat-dropdown__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    text-decoration: none;
    font-family: 'Lato', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(44,44,44,.8);
    gap: 0.75rem;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.pw-cat-dropdown__item:hover,
.pw-cat-dropdown__item--active {
    background: rgba(109,191,192,.1);
    color: var(--teal);
}
.pw-cat-dropdown__count {
    font-size: 0.75rem;
    color: rgba(44,44,44,.4);
    font-weight: 400;
}

/* ── WooCommerce Germanized: inkl. MwSt. + Versand klein & dezent ────────────── */
p.wc-gzd-additional-info {
    font-size: 0.7rem !important;
    color: rgba(44,44,44,.42) !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
}
p.wc-gzd-additional-info a {
    color: rgba(44,44,44,.42) !important;
    text-decoration: none !important;
}
p.wc-gzd-additional-info a:hover {
    text-decoration: underline !important;
    color: var(--teal) !important;
}
/* JS wraps beides in .pw-price-meta → inline nebeneinander */
.pw-price-meta {
    display: flex;
    gap: 0.3rem;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 1rem 0.25rem;
}
.pw-price-meta p.wc-gzd-additional-info { margin: 0 !important; }
.pw-price-meta p.wc-gzd-additional-info.shipping-costs-info::before {
    content: "·";
    margin-right: 0.2rem;
    opacity: 0.5;
}

/* ── 4. Shop-Hauptseite: 4 Kategorie-Kacheln ───────────────────────────────── */
.pw-main-cats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 0;
}
@media (max-width: 900px) { .pw-main-cats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .pw-main-cats { grid-template-columns: 1fr; } }

.pw-main-cat-card {
    display: flex;
    flex-direction: column;
    border-radius: 1rem;
    overflow: hidden;
    background: white;
    box-shadow: 0 2px 16px rgba(0,0,0,.07);
    border: 1px solid rgba(0,0,0,.05);
    text-decoration: none;
    transition: transform 0.22s, box-shadow 0.22s;
}
.pw-main-cat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0,0,0,.12);
}
.pw-main-cat-card__img {
    width: 100%;
    height: 140px;
    background-size: cover;
    background-position: center;
    background-color: #f0f0eb;
}
.pw-main-cat-card__body {
    padding: 0.85rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}
.pw-main-cat-card__name {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--dark);
}
.pw-main-cat-card__count {
    font-size: 0.78rem;
    color: rgba(44,44,44,.5);
    white-space: nowrap;
}

/* Trennlinie zwischen Kategorien und Produkten */
.pw-products-divider {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.75rem 0 0.25rem;
    color: rgba(44,44,44,.4);
    font-family: 'Lato', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.pw-products-divider::before,
.pw-products-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(0,0,0,.08);
}

/* ── 5. Cart/Checkout – unstyled Links als Button stylen ─────────────────────── */
.woocommerce-cart .return-to-shop a,
.wc-block-cart__submit-button,
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
    font-family: 'Lato', sans-serif !important;
}
/* Zurück-zum-Shop Link auf leerer Warenkorbseite */
.woocommerce .return-to-shop a {
    display: inline-flex !important;
    align-items: center !important;
    background: var(--teal) !important;
    color: white !important;
    padding: 0.75rem 2rem !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    transition: background 0.25s !important;
    margin-top: 1rem !important;
}
.woocommerce .return-to-shop a:hover { background: #5aafb0 !important; }
/* WooCommerce-Nachrichten Links */
.woocommerce-message .button,
.woocommerce-info .button {
    background: var(--teal) !important;
    color: white !important;
    border-radius: 9999px !important;
    padding: 0.5rem 1.5rem !important;
    font-weight: 700 !important;
    border: none !important;
    text-decoration: none !important;
    float: none !important;
    display: inline-block !important;
    margin-left: 1rem !important;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover { background: #5aafb0 !important; }

/* ── Favoriten-Herz auf Produktkarten ────────────────────────────────────── */
ul.products li.product { position: relative; }
.pw-heart-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,.13);
    transition: transform 0.18s, background 0.18s;
    z-index: 10;
}
.pw-heart-btn:hover { transform: scale(1.13); background: white; }
.pw-heart-icon {
    width: 1.05rem;
    height: 1.05rem;
    color: rgba(44,44,44,.38);
    transition: color 0.18s, fill 0.18s;
    flex-shrink: 0;
}
.pw-heart-btn.is-fav .pw-heart-icon { color: #e05252; fill: #e05252; }

/* ── Favoriten-Icon in der Navigation ───────────────────────────────────── */
.pw-nav__favorites {
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    color: var(--dark);
    padding: 0;
    transition: color 0.2s;
}
.pw-nav__favorites:hover,
.pw-nav__favorites:focus-visible { color: var(--teal); outline: none; }
.pw-nav__fav-count {
    position: absolute;
    top: -0.35rem;
    right: -0.45rem;
    background: var(--teal);
    color: white;
    font-size: 0.6rem;
    font-weight: 700;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

/* ── Favoriten-Panel (Seitenlade) ───────────────────────────────────────── */
.pw-fav-panel {
    position: fixed;
    inset: 0;
    z-index: 99998;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s;
}
.pw-fav-panel.is-open {
    pointer-events: all;
    opacity: 1;
}
.pw-fav-panel__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.32);
    backdrop-filter: blur(2px);
}
.pw-fav-panel__drawer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(420px, 100vw);
    background: #faf9f7;
    box-shadow: -8px 0 40px rgba(0,0,0,.14);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(.4,0,.2,1);
}
.pw-fav-panel.is-open .pw-fav-panel__drawer { transform: translateX(0); }
.pw-fav-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid rgba(0,0,0,.07);
    background: white;
    flex-shrink: 0;
}
.pw-fav-panel__head h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    margin: 0;
    color: var(--dark);
}
.pw-fav-panel__close {
    background: none;
    border: none;
    font-size: 1.6rem;
    cursor: pointer;
    color: rgba(44,44,44,.45);
    line-height: 1;
    padding: 0.2rem 0.4rem;
    transition: color 0.15s;
}
.pw-fav-panel__close:hover { color: var(--dark); }
.pw-fav-panel__body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.pw-fav-empty {
    text-align: center;
    color: rgba(44,44,44,.45);
    padding: 2.5rem 1rem;
    font-style: italic;
    font-size: 0.95rem;
}
.pw-fav-card {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    background: white;
    border-radius: 0.875rem;
    padding: 0.75rem;
    box-shadow: 0 1px 6px rgba(0,0,0,.06);
    position: relative;
}
.pw-fav-card__img-wrap { flex-shrink: 0; }
.pw-fav-card__img-wrap img {
    width: 4rem;
    height: 4rem;
    object-fit: cover;
    border-radius: 0.5rem;
    display: block;
}
.pw-fav-card__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.pw-fav-card__name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--dark);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}
.pw-fav-card__name:hover { color: var(--teal); }
.pw-fav-card__price {
    font-size: 0.8rem;
    color: rgba(44,44,44,.55);
}
.pw-fav-card__remove {
    position: absolute;
    top: 0.3rem;
    right: 0.4rem;
    background: none;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    color: rgba(44,44,44,.28);
    line-height: 1;
    padding: 0.1rem 0.25rem;
    transition: color 0.15s;
}
.pw-fav-card__remove:hover { color: #e05252; }

/* ── Erweiterte Produktdaten (Farben, Eigenschaften, Spezifikation …) ────── */
.pw-product-detail-sections {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 2rem 3rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.pw-detail-section {
    background: white;
    border-radius: 1rem;
    padding: 1.75rem 2rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.05);
    border: 1px solid rgba(0,0,0,.05);
}
.pw-detail-section__title {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    color: var(--dark);
    margin: 0 0 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 1.5px solid rgba(0,0,0,.06);
}

/* Farben */
.pw-farben-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.pw-farbe-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    width: 5.5rem;
    text-align: center;
    background: none;
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 0.4rem;
    cursor: pointer;
    transition: border-color 0.18s, background 0.18s;
}
.pw-farbe-item:hover { background: rgba(0,0,0,.04); }
.pw-farbe-item.is-selected {
    border-color: var(--teal);
    background: rgba(90,175,176,.08);
}
.pw-farbe-item img {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(0,0,0,.07);
    box-shadow: 0 1px 4px rgba(0,0,0,.1);
    transition: box-shadow 0.18s;
}
.pw-farbe-item.is-selected img { box-shadow: 0 0 0 3px var(--teal); border-color: white; }
.pw-farbe-item span {
    font-size: 0.72rem;
    color: rgba(44,44,44,.65);
    line-height: 1.3;
}
.pw-farbe-item.is-selected span { color: var(--teal); font-weight: 600; }
/* Selected color label */
.pw-farbe-selection {
    margin-top: 0.75rem;
    font-size: 0.9rem;
    color: rgba(44,44,44,.7);
}
.pw-farbe-selection__label { font-weight: 600; color: var(--dark); }
.pw-farbe-selection__name { color: var(--teal); font-weight: 700; }
.pw-rollenbezug {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: rgba(44,44,44,.7);
}
.pw-rollenbezug__label {
    font-weight: 700;
    color: var(--dark);
}

/* Eigenschaften */
.pw-eigenschaften-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.6rem;
}
.pw-eigenschaften-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: rgba(44,44,44,.8);
    padding: 0.5rem 0.75rem;
    background: rgba(109,191,192,.05);
    border-radius: 0.5rem;
    border-left: 3px solid var(--teal);
}
.pw-eigenschaften-list li::before {
    content: "✓";
    color: var(--teal);
    font-weight: 700;
    flex-shrink: 0;
}

/* Spezifikation */
.pw-spez-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.pw-spez-table tr:nth-child(even) { background: rgba(0,0,0,.025); }
.pw-spez-table th,
.pw-spez-table td {
    padding: 0.55rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid rgba(0,0,0,.05);
}
.pw-spez-table th {
    font-weight: 700;
    color: rgba(44,44,44,.65);
    width: 38%;
    vertical-align: top;
}
.pw-spez-table td { color: var(--dark); }

/* Erweiterungen */
.pw-erw-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 1rem;
}
.pw-erw-item {
    border-radius: 0.75rem;
    border: 1px solid rgba(0,0,0,.07);
    overflow: hidden;
    text-align: center;
    transition: box-shadow 0.2s, transform 0.2s;
}
.pw-erw-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); transform: translateY(-2px); }
.pw-erw-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 0.85rem 0.6rem 0.75rem;
    text-decoration: none;
    color: var(--dark);
}
.pw-erw-item img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border-radius: 0.4rem;
}
.pw-erw-item__name {
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3;
}
.pw-erw-item__badge {
    font-size: 0.65rem;
    background: var(--teal);
    color: white;
    border-radius: 9999px;
    padding: 0.1rem 0.5rem;
    font-weight: 700;
}

/* Dokumente */
.pw-dokumente-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}
.pw-dokument-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(109,191,192,.08);
    border: 1.5px solid rgba(109,191,192,.3);
    color: var(--teal);
    border-radius: 9999px;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}
.pw-dokument-btn:hover {
    background: rgba(109,191,192,.18);
    border-color: var(--teal);
}

@media (max-width: 640px) {
    .pw-product-detail-sections { padding: 0 1rem 2rem; }
    .pw-erw-grid { grid-template-columns: repeat(2, 1fr); }
    .pw-eigenschaften-list { grid-template-columns: 1fr; }
}

/* ── "Angebot anfragen" Button ────────────────────────────────────────────── */
.pw-btn--anfrage {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    margin-top: 0.75rem;
    padding: 0.85rem 1.5rem;
    background: transparent;
    border: 2px solid var(--teal);
    border-radius: 9999px;
    color: var(--teal);
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.pw-btn--anfrage:hover {
    background: var(--teal);
    color: white;
}

/* ── Angebotsformular ────────────────────────────────────────────────────── */
.pw-angebot-form { max-width: 640px; margin: 0 auto; }
.pw-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 1.25rem;
}
.pw-form-field { display: flex; flex-direction: column; gap: 0.35rem; }
.pw-form-field--full { grid-column: 1 / -1; }
.pw-form-field label { font-size: 0.875rem; font-weight: 600; color: var(--dark); }
.pw-form-field input,
.pw-form-field textarea,
.pw-form-field select {
    border: 1.5px solid rgba(0,0,0,.15);
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    font-size: 0.95rem;
    color: var(--dark);
    background: white;
    transition: border-color 0.2s;
    font-family: inherit;
}
.pw-form-field input:focus,
.pw-form-field textarea:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(90,175,176,.12); }
.pw-form-field input[readonly] { background: rgba(0,0,0,.04); cursor: default; }
.pw-form-field textarea { resize: vertical; min-height: 8rem; }
.pw-form-checkbox { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.875rem; cursor: pointer; }
.pw-form-checkbox input { margin-top: 0.2rem; flex-shrink: 0; }
.pw-req { color: var(--teal); }
.pw-form-success {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    background: rgba(90,175,176,.1);
    border: 1.5px solid var(--teal);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    color: var(--teal);
    font-weight: 600;
    font-size: 1rem;
}
.pw-form-error {
    background: rgba(224,82,82,.08);
    border: 1.5px solid #e05252;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    color: #c0392b;
    font-size: 0.9rem;
}
@media (max-width: 540px) { .pw-form-grid { grid-template-columns: 1fr; } }

/* ============================================================
   UX-AUDIT FIXES v4.7.0 – Mai 2026
   ============================================================ */

/* ── Breadcrumbs ─────────────────────────────────────────── */
.pw-breadcrumbs-wrap { max-width: 80rem; margin: 0 auto; padding: 0.75rem 1.5rem 0; }
.pw-breadcrumbs { font-size: 0.82rem; color: rgba(44,44,44,.55); display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem; }
.pw-breadcrumbs a { color: rgba(44,44,44,.6); text-decoration: none; }
.pw-breadcrumbs a:hover { color: var(--teal); }
.pw-breadcrumbs__sep { color: rgba(44,44,44,.3); margin: 0 0.1rem; }
.pw-product-nav { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.pw-product-nav .pw-breadcrumbs { font-size: 0.8rem; }

/* ── Cookie Banner Mobile: kompakter Bottom-Strip ────────── */
@media (max-width: 767px) {
    #pw-cookie-banner.is-visible { display: flex; flex-direction: column; padding: 1rem; }
    .pw-cookie-banner__inner { grid-template-columns: 1fr; gap: 0.75rem; }
    .pw-cookie-banner__text h3 { font-size: 1rem; }
    .pw-cookie-banner__text p { font-size: 0.8rem; display: none; }
    .pw-cookie-banner__options { gap: 0.75rem; margin-top: 0.5rem; }
    .pw-cookie-banner__actions { flex-direction: row; gap: 0.5rem; }
    .pw-cookie-banner__actions .pw-btn-primary,
    .pw-cookie-banner__actions .pw-btn-secondary { flex: 1; padding: 0.6rem 0.75rem; font-size: 0.85rem; }
}

/* ── Search overlay + button ─────────────────────────────── */
.pw-nav__search-btn { background: none; border: none; padding: 0.3rem 0.5rem; cursor: pointer; color: var(--dark); display: flex; align-items: center; border-radius: 8px; transition: background 0.2s; }
.pw-nav__search-btn:hover { background: rgba(0,0,0,.06); }
.pw-search-overlay { position: fixed; inset: 0; z-index: 9998; background: rgba(0,0,0,.5); display: flex; align-items: flex-start; padding-top: 80px; opacity: 0; pointer-events: none; transition: opacity 0.2s; }
.pw-search-overlay.is-open { opacity: 1; pointer-events: all; }
.pw-search-overlay__inner { width: 100%; max-width: 680px; margin: 0 auto; padding: 0 1.5rem; }
.pw-search-overlay__form { display: flex; align-items: center; gap: 0.75rem; background: white; border-radius: 14px; padding: 0.9rem 1.25rem; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.pw-search-overlay__form svg { color: rgba(44,44,44,.4); flex-shrink: 0; }
.pw-search-overlay__input { flex: 1; border: none; outline: none; font-size: 1.15rem; font-family: 'Lato', sans-serif; color: var(--dark); background: transparent; }
.pw-search-overlay__close { background: none; border: none; cursor: pointer; color: rgba(44,44,44,.5); padding: 0.25rem; border-radius: 6px; flex-shrink: 0; }
.pw-search-overlay__close:hover { color: var(--dark); }
.pw-mobile-search { display: flex; align-items: center; gap: 0.5rem; background: rgba(255,255,255,.12); border-radius: 8px; padding: 0.5rem 0.75rem; margin-top: 0.75rem; }
.pw-mobile-search__input { flex: 1; background: none; border: none; outline: none; color: white; font-family: 'Lato', sans-serif; font-size: 0.95rem; }
.pw-mobile-search__input::placeholder { color: rgba(255,255,255,.6); }
.pw-mobile-search button { background: none; border: none; color: rgba(255,255,255,.8); cursor: pointer; }

/* ── Mobile Filter Toggle ─────────────────────────────────── */
.pw-mobile-filter-bar { display: none; padding: 0.5rem 1rem; }
.pw-mobile-filter-toggle { display: flex; align-items: center; gap: 0.5rem; background: white; border: 1.5px solid rgba(0,0,0,.12); border-radius: 9999px; padding: 0.5rem 1rem; font-size: 0.875rem; font-weight: 600; cursor: pointer; color: var(--dark); }
.pw-mobile-filter-toggle:hover { border-color: var(--teal); color: var(--teal); }
.pw-shop-sidebar-wrap.is-hidden { display: none; }
@media (max-width: 900px) {
    .pw-mobile-filter-bar { display: block; }
    .pw-shop-sidebar-wrap { display: none; }
    .pw-shop-sidebar-wrap.is-open { display: block; }
}

/* ── Trust-Streifen auf Produktseite ─────────────────────── */
.pw-trust-strip { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin: 1rem 0; padding: 1rem; background: rgba(90,175,176,.06); border: 1px solid rgba(90,175,176,.15); border-radius: 12px; }
.pw-trust-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; color: rgba(44,44,44,.75); font-weight: 600; }
.pw-trust-item__icon { color: var(--teal); flex-shrink: 0; }

/* ── Sticky CTA Bar ──────────────────────────────────────── */
.pw-sticky-cta { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9990; background: white; box-shadow: 0 -4px 24px rgba(0,0,0,.12); transform: translateY(100%); transition: transform 0.3s ease; border-top: 2px solid rgba(90,175,176,.2); }
.pw-sticky-cta.is-visible { transform: translateY(0); }
.pw-sticky-cta__inner { max-width: 80rem; margin: 0 auto; padding: 0.75rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pw-sticky-cta__info { display: flex; align-items: center; gap: 0.75rem; min-width: 0; }
.pw-sticky-cta__thumb { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.pw-sticky-cta__name { display: block; font-weight: 700; font-size: 0.9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 280px; }
.pw-sticky-cta__price { display: block; color: var(--teal); font-weight: 700; font-size: 1rem; }
.pw-sticky-cta__actions { display: flex; gap: 0.75rem; flex-shrink: 0; }
.pw-btn--sm { padding: 0.55rem 1.1rem !important; font-size: 0.875rem !important; }
@media (max-width: 600px) {
    .pw-sticky-cta__name { max-width: 130px; }
    .pw-sticky-cta__info > img { display: none; }
}

/* ── Produktkarten: mehr Infos ───────────────────────────── */
.pw-card-specs { display: flex; flex-direction: column; gap: 0.2rem; margin: 0.4rem 0 0.3rem; }
.pw-card-spec { font-size: 0.75rem; color: rgba(44,44,44,.6); line-height: 1.4; }
.pw-card-spec__key { font-weight: 600; color: rgba(44,44,44,.75); }

/* ── Vergleichs-Button auf Karten ───────────────────────── */
.pw-compare-btn { display: flex; align-items: center; gap: 0.3rem; font-size: 0.75rem; color: rgba(44,44,44,.6); background: none; border: 1px solid rgba(0,0,0,.1); border-radius: 9999px; padding: 0.3rem 0.75rem; cursor: pointer; margin: 0.3rem auto 0; width: fit-content; transition: border-color 0.2s, color 0.2s; }
.pw-compare-btn:hover, .pw-compare-btn.is-comparing { border-color: var(--teal); color: var(--teal); }
.pw-compare-btn.is-comparing { background: rgba(90,175,176,.08); }

/* ── Vergleichs-Leiste (Footer) ─────────────────────────── */
.pw-compare-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9980; background: var(--dark); color: white; transform: translateY(100%); transition: transform 0.3s ease; }
.pw-compare-bar.is-visible { transform: translateY(0); }
.pw-compare-bar__inner { max-width: 80rem; margin: 0 auto; padding: 0.75rem 1.5rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.pw-compare-bar__label { font-size: 0.875rem; color: rgba(255,255,255,.7); }
.pw-compare-bar__label strong { color: white; }
.pw-compare-bar__items { display: flex; gap: 0.5rem; flex: 1; min-width: 0; }
.pw-compare-bar__item { display: flex; align-items: center; gap: 0.35rem; background: rgba(255,255,255,.1); border-radius: 6px; padding: 0.3rem 0.6rem; font-size: 0.8rem; color: rgba(255,255,255,.9); max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw-compare-bar__actions { display: flex; align-items: center; gap: 0.75rem; margin-left: auto; }
.pw-compare-bar__clear { background: none; border: none; color: rgba(255,255,255,.5); font-size: 1.4rem; cursor: pointer; line-height: 1; padding: 0 0.25rem; }
.pw-compare-bar__clear:hover { color: white; }

/* ── Recently viewed ─────────────────────────────────────── */
.pw-recently-viewed { margin: 2rem 0; }
.pw-recently-viewed__title { font-family: 'Playfair Display', serif; font-size: 1.3rem; color: var(--dark); margin-bottom: 1rem; }
.pw-recently-viewed__list { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: 0.5rem; }
.pw-rv-item { flex-shrink: 0; width: 140px; text-decoration: none; }
.pw-rv-item img { width: 140px; height: 100px; object-fit: cover; border-radius: 10px; display: block; }
.pw-rv-item__name { display: block; font-size: 0.78rem; color: var(--dark); margin-top: 0.4rem; line-height: 1.3; }
.pw-rv-item__price { display: block; font-size: 0.8rem; color: var(--teal); font-weight: 700; }

/* ── Back-to-Top ─────────────────────────────────────────── */
.pw-back-to-top { position: fixed; bottom: 5rem; right: 1.5rem; z-index: 9970; width: 44px; height: 44px; border-radius: 50%; background: var(--teal); color: white; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(0,0,0,.15); transition: background 0.2s, transform 0.2s; }
.pw-back-to-top:hover { background: #4da0a1; transform: translateY(-2px); }

/* ── Heart button contrast ───────────────────────────────── */
.pw-heart-btn { background: rgba(255,255,255,.85) !important; border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.pw-heart-btn .pw-heart-icon { width: 18px; height: 18px; }
.pw-heart-btn.is-fav { background: white !important; }

/* ── Leerer Warenkorb – Empfehlungen ────────────────────── */
.pw-empty-cart-suggest { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(0,0,0,.06); }
.pw-empty-cart-suggest__title { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--dark); margin-bottom: 1.25rem; text-align: center; }
.pw-empty-cart-suggest__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.25rem; }
.pw-suggest-card { text-decoration: none; border-radius: 14px; overflow: hidden; background: white; box-shadow: 0 4px 16px rgba(0,0,0,.07); transition: box-shadow 0.2s, transform 0.2s; display: block; }
.pw-suggest-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.12); transform: translateY(-3px); }
.pw-suggest-card__img { height: 160px; background-size: cover; background-position: center; }
.pw-suggest-card__body { padding: 0.85rem 1rem; }
.pw-suggest-card__name { display: block; font-size: 0.9rem; font-weight: 700; color: var(--dark); margin-bottom: 0.2rem; line-height: 1.3; }
.pw-suggest-card__detail { display: block; font-size: 0.78rem; color: rgba(44,44,44,.6); margin-bottom: 0.4rem; }
.pw-suggest-card__price { display: block; color: var(--teal); font-weight: 700; font-size: 1rem; }

/* ── Google Reviews Footer Link ─────────────────────────── */
.pw-google-reviews { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--teal); font-size: 0.85rem; text-decoration: none; margin-top: 0.75rem; font-weight: 600; }
.pw-google-reviews:hover { text-decoration: underline; }
footer .contact-info a { color: inherit; text-decoration: none; }
footer .contact-info a:hover { color: var(--teal); }

/* ── Form 24h notice ─────────────────────────────────────── */
.pw-form-notice { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: rgba(44,44,44,.65); margin-bottom: 1.25rem; }
.pw-form-notice svg { color: var(--teal); flex-shrink: 0; }

/* ── Homepage: Featured categories ──────────────────────── */
.pw-section--feat { background: var(--steam); }
.pw-feat-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
@media (max-width: 900px) { .pw-feat-cats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .pw-feat-cats { grid-template-columns: 1fr 1fr; gap: 0.75rem; } }
.pw-feat-cat { position: relative; border-radius: 16px; overflow: hidden; text-decoration: none; min-height: 180px; display: flex; align-items: flex-end; }
.pw-feat-cat__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.4s ease; }
.pw-feat-cat:hover .pw-feat-cat__bg { transform: scale(1.05); }
.pw-feat-cat__body { position: relative; padding: 1rem 1.25rem; background: linear-gradient(to top, rgba(0,0,0,.65), transparent); width: 100%; }
.pw-feat-cat__name { display: block; font-family: 'Playfair Display', serif; font-size: 1.15rem; color: white; font-weight: 700; }
.pw-feat-cat__sub { display: block; font-size: 0.78rem; color: rgba(255,255,255,.8); margin-top: 0.1rem; }

/* ── Homepage: Featured products ─────────────────────────── */
.pw-feat-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
@media (max-width: 900px) { .pw-feat-products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .pw-feat-products { grid-template-columns: 1fr; } }
.pw-feat-product-card { display: block; text-decoration: none; border-radius: 16px; overflow: hidden; background: white; box-shadow: 0 4px 20px rgba(0,0,0,.08); transition: box-shadow 0.25s, transform 0.25s; }
.pw-feat-product-card:hover { box-shadow: 0 10px 36px rgba(0,0,0,.14); transform: translateY(-4px); }
.pw-feat-product-card__img { height: 200px; background-size: cover; background-position: center; position: relative; }
.pw-feat-product-card__badge { position: absolute; top: 0.75rem; left: 0.75rem; background: var(--wood); color: white; font-size: 0.7rem; font-weight: 700; padding: 0.25rem 0.6rem; border-radius: 9999px; }
.pw-feat-product-card__body { padding: 1rem 1.1rem 1.25rem; }
.pw-feat-product-card__name { display: block; font-weight: 700; font-size: 0.95rem; color: var(--dark); margin-bottom: 0.3rem; line-height: 1.3; }
.pw-feat-product-card__detail { display: block; font-size: 0.78rem; color: rgba(44,44,44,.55); margin-bottom: 0.5rem; }
.pw-feat-product-card__price { display: block; font-size: 1.1rem; font-weight: 700; color: var(--teal); margin-bottom: 0.5rem; }
.pw-feat-product-card__cta { display: block; font-size: 0.8rem; color: var(--wood); font-weight: 600; }

/* ── USP Streifen (Homepage) ─────────────────────────────── */
.pw-usp-strip { background: var(--dark); padding: 2rem 1.5rem; }
.pw-usp-strip__grid { max-width: 80rem; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
@media (max-width: 768px) { .pw-usp-strip__grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
@media (max-width: 420px) { .pw-usp-strip__grid { grid-template-columns: 1fr; } }
.pw-usp-item { display: flex; align-items: flex-start; gap: 0.85rem; }
.pw-usp-item svg { color: var(--teal); flex-shrink: 0; margin-top: 0.1rem; }
.pw-usp-item strong { display: block; color: white; font-size: 0.9rem; font-weight: 700; margin-bottom: 0.15rem; }
.pw-usp-item span { color: rgba(255,255,255,.6); font-size: 0.8rem; }

/* ── UVP-Hinweis: als dezentes Label ────────────────────── */
.woocommerce-gzd-additional-info,
p.wc-gzd-additional-info { font-size: 0.78rem !important; color: rgba(44,44,44,.55) !important; font-style: normal !important; }
p.woocommerce-gzd-uvp-price, .woocommerce-gzd-product-units { font-size: 0.78rem !important; color: rgba(44,44,44,.5) !important; }


/* ============================================================
   PATCH v4.7.1 – Fixes nach UX-Review
   ============================================================ */

/* ── Detail-Sektionen: Volle Breite (clear:both nach Gallery+Summary-Float) ── */
.pw-product-detail-sections {
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin-top: 2rem;
}
.pw-detail-section { width: 100%; }

/* ── Produktkarten: Spezifikationsdaten korrekt eingerückt ───────────────── */
.pw-card-specs {
    padding: 0 0 0.25rem;      /* kein extra links, folgt dem Card-Padding */
    gap: 0.25rem;
}
.pw-card-spec {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: rgba(90,175,176,.07);
    border-radius: 4px;
    padding: 0.15rem 0.45rem;
    font-size: 0.72rem;
    color: rgba(44,44,44,.7);
    margin-right: 0.25rem;
    margin-bottom: 0.2rem;
}
.pw-card-spec__key { font-weight: 700; color: var(--teal); }

/* ── Sticky CTA: 'In den Warenkorb' + Anfrage nebeneinander ─────────────── */
.pw-sticky-cta__actions { gap: 0.5rem; }
.pw-btn--primary.pw-btn--sm {
    background: var(--teal);
    color: white;
    border: none;
}
.pw-btn--primary.pw-btn--sm:hover { background: #4da0a1; }

/* ── Preisfilter PHP-Form ────────────────────────────────────────────────── */
.pw-price-form { margin-top: 0.5rem; }
.pw-price-inputs--php {
    display: flex;
    align-items: flex-end;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
}
.pw-price-input-wrap { display: flex; flex-direction: column; gap: 0.3rem; flex: 1 1 50%; min-width: 0; }
.pw-price-input-label { font-size: 0.72rem; color: rgba(44,44,44,.6); font-weight: 700; }
.pw-sidebar-box .pw-price-inp,
.pw-price-inp {
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1.5px solid rgba(0,0,0,.18);
    border-radius: 8px;
    padding: 0.6rem 0.7rem !important;
    font-size: 1rem !important;
    line-height: 1.3 !important;
    height: auto !important;
    color: var(--dark);
    background: white;
    -moz-appearance: textfield;
    text-align: left;
    flex: none !important;
}
.pw-price-inp::-webkit-outer-spin-button,
.pw-price-inp::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pw-price-inp::placeholder { color: rgba(44,44,44,.35); }
.pw-price-inp:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(90,175,176,.12); }
.pw-price-filter-btn {
    width: 100%;
    background: var(--teal);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    font-weight: 700;
    transition: background 0.2s;
}
.pw-price-filter-btn:hover { background: #4da0a1; }
.pw-price-reset {
    display: block;
    font-size: 0.75rem;
    color: rgba(44,44,44,.5);
    text-decoration: none;
    margin-top: 0.25rem;
}
.pw-price-reset:hover { color: var(--teal); }
/* Slider unter PHP-Form subtil darstellen */
.pw-sidebar-box .price_slider_wrapper { opacity: 0.7; pointer-events: none; margin-top: 0.5rem; }

/* ── Leerer Warenkorb: WC Cross-Sells und Neu-im-Shop ausblenden ────────── */
.woocommerce-cart .cross-sells,
.woocommerce-cart .woocommerce-loop-product__title + .price { }
.woocommerce-cart-form + .cart-collaterals .cross-sells { display: none !important; }

/* ── UVP-Hinweis: sehr klein und dezent ─────────────────────────────────── */
.woocommerce div.product p.woocommerce-gzd-product-units,
.woocommerce div.product .woocommerce-gzd-additional-info,
p.woocommerce-gzd-additional-info.tax-info,
p.wc-gzd-additional-info,
.woocommerce-germanized .woocommerce-gzd-additional-info,
span.woocommerce-gzd-additional-info { 
    font-size: 0.72rem !important;
    color: rgba(44,44,44,.42) !important;
    font-style: normal !important;
    line-height: 1.4 !important;
    display: block !important;
}
/* "Aufgeführte Preise sind UVP" spezifisch */
.woocommerce div.product .wc-gzd-additional-info.uvp-price,
p.woocommerce-gzd-uvp-price {
    font-size: 0.68rem !important;
    color: rgba(44,44,44,.35) !important;
}

/* ── Cookie Banner: Desktop kompakter ───────────────────────────────────── */
#pw-cookie-banner.is-visible {
    padding: 0.75rem 1.5rem;
}
.pw-cookie-banner__inner {
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 1rem 2rem;
}
.pw-cookie-banner__text h3 { font-size: 1rem; margin-bottom: 0.25rem; }
.pw-cookie-banner__text p {
    font-size: 0.78rem;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.pw-cookie-banner__options { margin-top: 0.4rem; gap: 1rem; }
.pw-cookie-banner__options label { font-size: 0.8rem; }
.pw-cookie-banner__actions { min-width: 180px; gap: 0.5rem; }
.pw-cookie-banner__actions .pw-btn-primary,
.pw-cookie-banner__actions .pw-btn-secondary { padding: 0.55rem 1rem; font-size: 0.82rem; }

/* Vergleichs-Bar so positionieren dass sie nicht mit Sticky-CTA kollidiert */
.pw-compare-bar { bottom: 0; }
.pw-sticky-cta { bottom: 0; }
/* Wenn beide aktiv: Sticky-CTA über Compare-Bar stapeln */
.pw-sticky-cta.is-visible { z-index: 9991; }
body.pw-has-compare-bar .pw-sticky-cta.is-visible { bottom: 56px; }
/* Inhalt nicht von der fixierten Compare-Bar verdecken lassen */
body.pw-has-compare-bar { padding-bottom: 64px; }

/* ── Vergleichs-Modal ────────────────────────────────────────────────────── */
.pw-compare-modal {
    position: fixed;
    inset: 0;
    z-index: 99995;
    background: rgba(0,0,0,.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s;
}
.pw-compare-modal.is-open { opacity: 1; pointer-events: all; }
.pw-compare-modal__box {
    background: white;
    border-radius: 20px;
    width: 100%;
    max-width: 900px;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 24px 80px rgba(0,0,0,.25);
}
.pw-compare-modal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid rgba(0,0,0,.07);
    position: sticky;
    top: 0;
    background: white;
    z-index: 1;
}
.pw-compare-modal__head h2 { font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--dark); }
.pw-compare-modal__close {
    background: none;
    border: none;
    font-size: 1.6rem;
    cursor: pointer;
    color: rgba(44,44,44,.5);
    line-height: 1;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
}
.pw-compare-modal__close:hover { color: var(--dark); background: rgba(0,0,0,.05); }
.pw-compare-modal__body { padding: 0 1.5rem 1.5rem; overflow-x: auto; }
.pw-compare-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 480px;
}
.pw-compare-table th, .pw-compare-table td {
    padding: 0.65rem 0.75rem;
    text-align: left;
    border-bottom: 1px solid rgba(0,0,0,.06);
    font-size: 0.875rem;
    vertical-align: top;
}
.pw-compare-table th { font-size: 0.78rem; color: rgba(44,44,44,.5); font-weight: 600; width: 130px; background: rgba(0,0,0,.02); }
.pw-compare-table td { color: var(--dark); }
.pw-compare-table tr:last-child th,
.pw-compare-table tr:last-child td { border-bottom: none; }
.pw-compare-prod-img { width: 100%; max-width: 160px; height: 110px; object-fit: cover; border-radius: 10px; display: block; margin-bottom: 0.5rem; }
.pw-compare-prod-name { font-weight: 700; font-size: 0.9rem; color: var(--dark); display: block; margin-bottom: 0.3rem; }
.pw-compare-prod-price { color: var(--teal); font-weight: 700; font-size: 1rem; display: block; margin-bottom: 0.5rem; }
.pw-compare-prod-link { display: inline-block; font-size: 0.78rem; color: var(--wood); font-weight: 600; text-decoration: none; }
.pw-compare-prod-link:hover { text-decoration: underline; }


/* ============================================================
   PATCH v4.7.2 – Shop-Suche + Nur-auf-Anfrage
   ============================================================ */

/* ── Prominente Shop-Suche ───────────────────────────────────────────────── */
.pw-shop-search-wrap {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0.5rem 1.5rem 0;
}
.pw-shop-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: white;
    border: 2px solid rgba(90,175,176,.25);
    border-radius: 14px;
    padding: 0.35rem 0.5rem 0.35rem 1rem;
    box-shadow: 0 4px 18px rgba(0,0,0,.06);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.pw-shop-search:focus-within {
    border-color: var(--teal);
    box-shadow: 0 6px 24px rgba(90,175,176,.18);
}
.pw-shop-search__icon { color: var(--teal); flex-shrink: 0; }
.pw-shop-search__input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1.05rem;
    font-family: 'Lato', sans-serif;
    color: var(--dark);
    padding: 0.6rem 0.25rem;
    min-width: 0;
}
.pw-shop-search__input::placeholder { color: rgba(44,44,44,.4); }
.pw-shop-search__btn {
    flex-shrink: 0;
    background: var(--teal);
    color: white;
    border: none;
    border-radius: 10px;
    padding: 0.7rem 1.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}
.pw-shop-search__btn:hover { background: #4da0a1; }
@media (max-width: 600px) {
    .pw-shop-search { padding-left: 0.75rem; }
    .pw-shop-search__input { font-size: 0.95rem; }
    .pw-shop-search__btn { padding: 0.65rem 1rem; font-size: 0.85rem; }
}

/* ── "Nur auf Anfrage"-Hinweis auf der Produktseite ──────────────────────── */
.pw-quote-only-note {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    background: linear-gradient(135deg, rgba(166,124,82,.08), rgba(90,175,176,.08));
    border: 1px solid rgba(166,124,82,.2);
    border-radius: 12px;
    padding: 0.9rem 1.1rem;
    margin: 0.5rem 0 1rem;
    font-size: 0.88rem;
    line-height: 1.5;
    color: rgba(44,44,44,.78);
}
.pw-quote-only-note svg { color: var(--wood); flex-shrink: 0; margin-top: 0.1rem; }
.pw-quote-only-note strong { color: var(--dark); }

/* Angebot-Button als primärer CTA bei Anfrage-Produkten */
.pw-btn--anfrage-primary {
    background: var(--teal) !important;
    color: white !important;
    border-color: var(--teal) !important;
    font-size: 1.05rem !important;
    padding: 0.95rem 1.5rem !important;
}
.pw-btn--anfrage-primary:hover { background: #4da0a1 !important; }

/* Verfügbarkeits-Text "Nur auf Anfrage" dezent-positiv stylen */
.pw-availability-quote,
p.stock.pw-availability-quote {
    color: var(--teal) !important;
    font-weight: 600;
    font-size: 0.9rem;
}
/* WC "Nicht vorrätig"-Standardtext bei Anfrage-Produkten ausblenden, wenn Note vorhanden */
.single-product .product.outofstock p.stock.out-of-stock { font-size: 0.85rem; }


/* ============================================================
   PATCH v4.7.4 – Badges, Empty-Cart, Suche
   ============================================================ */

/* ── "Nur auf Anfrage"-Badge auf Produktkacheln ──────────────────────────── */
ul.products li.product { position: relative; }
.pw-card-badge {
    position: absolute;
    top: 0.6rem;
    left: 0.6rem;
    z-index: 3;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.28rem 0.6rem;
    border-radius: 9999px;
    line-height: 1;
    pointer-events: none;
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
}
.pw-card-badge--anfrage {
    background: var(--wood);
    color: #fff;
}

/* ── Empty-Cart Premium-Empfehlungen ─────────────────────────────────────── */
.pw-empty-cart-suggest__head { text-align: center; margin-bottom: 1.5rem; }
.pw-empty-cart-suggest__sub {
    font-size: 0.92rem;
    color: rgba(44,44,44,.6);
    max-width: 36rem;
    margin: 0.4rem auto 0;
    line-height: 1.5;
}
.pw-suggest-card__img { position: relative; }
.pw-suggest-card__badge {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    background: var(--wood);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.25rem 0.55rem;
    border-radius: 9999px;
    line-height: 1;
}
.pw-empty-cart-suggest__cta { text-align: center; margin-top: 1.75rem; }

/* ── Suchergebnis-Seite: Toolbar-Abstand ─────────────────────────────────── */
.search-results .pw-shop-content .pw-products-divider { display: none; }


/* ============================================================
   PATCH v4.7.6 – UVP-Hinweis, Checkout-Block, Bewertungen
   ============================================================ */

/* ── UVP-Hinweis (nur Anfrage-Produkte) ──────────────────────────────────── */
.pw-uvp-hint {
    font-size: 0.78rem;
    line-height: 1.5;
    color: rgba(44,44,44,.5);
    margin: 0.25rem 0 0.75rem;
    max-width: 36rem;
}

/* ── WooCommerce Block-Checkout im Premium-Stil ──────────────────────────── */
.wc-block-checkout, .wp-block-woocommerce-checkout {
    --wc-blocks-font-family: 'Lato', sans-serif;
}
.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-text-input input.input-text,
.wc-block-components-address-form input,
.wc-block-checkout select,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"] {
    border: 1.5px solid rgba(0,0,0,.15) !important;
    border-radius: 10px !important;
    padding: 0.85rem 0.9rem !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 0.95rem !important;
    background: #fff !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus {
    border-color: var(--teal) !important;
    box-shadow: 0 0 0 3px rgba(90,175,176,.12) !important;
    outline: none !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label {
    color: rgba(44,44,44,.6) !important;
    font-family: 'Lato', sans-serif !important;
}
/* Block-Titel im Theme-Stil */
.wc-block-components-title,
.wp-block-woocommerce-checkout h2,
.wc-block-components-checkout-step__title {
    font-family: 'Playfair Display', serif !important;
    color: var(--dark) !important;
}
/* Step-Nummern in Teal */
.wc-block-components-checkout-step__title-content,
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__heading::before {
    color: var(--teal) !important;
}
/* Bestellübersicht / Summary */
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-totals-wrapper {
    border-radius: 16px;
}
.wc-block-components-sidebar {
    background: rgba(255,255,255,.7) !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    border-radius: 16px !important;
    padding: 0.5rem !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price {
    color: var(--dark) !important;
    font-weight: 700 !important;
}
.wc-block-formatted-money-amount { color: var(--teal); }
/* "Bestellung absenden" / Place order Button */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-checkout-actions-block button {
    background: var(--teal) !important;
    border-radius: 9999px !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    padding: 1rem 2rem !important;
    transition: background 0.2s !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block button:hover {
    background: #4da0a1 !important;
}
/* Versand-/Zahlungsoptionen Radios in Teal */
.wc-block-components-radio-control__option:focus-within,
.wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked {
    border-color: var(--teal) !important;
}
.wc-block-components-radio-control__input:checked {
    accent-color: var(--teal);
}

/* Klassischer Warenkorb/Kasse-Buttons (Shortcode) im Theme-Stil */
.woocommerce a.button, .woocommerce button.button.alt, .woocommerce .checkout-button {
    background: var(--teal) !important;
    color: #fff !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
}
.woocommerce a.button:hover, .woocommerce button.button.alt:hover { background: #4da0a1 !important; }

/* ── Bewertungen / Reviews Premium ───────────────────────────────────────── */
#reviews .woocommerce-Reviews-title,
#reviews h2 {
    font-family: 'Playfair Display', serif;
    color: var(--dark);
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
#reviews .comment-form-rating label { font-weight: 600; color: var(--dark); }
#reviews #respond input#submit,
#reviews .form-submit input {
    background: var(--teal) !important;
    color: #fff !important;
    border-radius: 9999px !important;
    padding: 0.75rem 1.75rem !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer;
}
#reviews #respond input#submit:hover { background: #4da0a1 !important; }
#reviews .comment-form input[type="text"],
#reviews .comment-form input[type="email"],
#reviews .comment-form textarea {
    border: 1.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    padding: 0.7rem 0.85rem;
    font-family: 'Lato', sans-serif;
    width: 100%;
}
#reviews .comment-form input:focus,
#reviews .comment-form textarea:focus {
    outline: none; border-color: var(--teal);
    box-shadow: 0 0 0 3px rgba(90,175,176,.12);
}
.pw-no-reviews-yet {
    background: rgba(90,175,176,.06);
    border: 1px solid rgba(90,175,176,.18);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    color: rgba(44,44,44,.7);
    font-size: 0.92rem;
    margin-bottom: 1.25rem;
}
.star-rating, .stars a { color: var(--wood) !important; }


/* ============================================================
   PATCH v4.7.7 – Widerrufsbutton & -formular
   ============================================================ */
.footer-widerruf-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 0.4rem;
    border: 1.5px solid rgba(255,255,255,.35);
    border-radius: 9999px;
    padding: 0.3rem 0.85rem !important;
    font-weight: 600;
    transition: border-color 0.2s, background 0.2s;
}
.footer-widerruf-btn:hover { border-color: var(--teal); background: rgba(109,191,192,.15); }

.pw-widerruf { max-width: 680px; }
.pw-widerruf__intro { font-size: 0.95rem; color: rgba(44,44,44,.75); line-height: 1.6; margin-bottom: 1.5rem; }
.pw-widerruf__empfaenger {
    background: rgba(0,0,0,.03);
    border-radius: 10px;
    padding: 0.85rem 1rem;
    font-size: 0.9rem;
    color: rgba(44,44,44,.8);
    margin-bottom: 1rem;
    line-height: 1.5;
}
.pw-widerruf__satz { font-size: 0.95rem; color: var(--dark); margin-bottom: 1rem; }
.pw-widerruf__hint { font-size: 0.85rem; color: rgba(44,44,44,.55); margin-top: 1rem; }
.pw-widerruf-form .pw-btn--primary { background: var(--teal); color:#fff; }
.pw-widerruf-form .pw-btn--primary:hover { background:#4da0a1; }

/* ============================================================
   PATCH v4.7.8 – Bewertungsformular Premium (Karte, kompakt)
   ============================================================ */
#reviews {
    max-width: 820px;
    margin: 1.5rem auto 0;
}
#reviews #comments,
#reviews #review_form_wrapper {
    background: #fff;
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 16px;
    padding: 1.75rem 2rem;
    box-shadow: 0 4px 20px rgba(0,0,0,.05);
}
#reviews #comments { margin-bottom: 1.25rem; }
#reviews .woocommerce-Reviews-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--dark);
    margin: 0 0 1rem;
}
#reviews .woocommerce-noreviews {
    background: rgba(90,175,176,.07);
    border: 1px solid rgba(90,175,176,.18);
    border-radius: 10px;
    padding: 0.85rem 1.1rem;
    color: rgba(44,44,44,.7);
    font-size: 0.95rem;
    margin: 0;
}
#reviews .comment-reply-title {
    display: block;
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    color: var(--dark);
    margin-bottom: 1.25rem;
}
#reviews .comment-notes,
#reviews .comment-form-cookies-consent label {
    font-size: 0.85rem;
    color: rgba(44,44,44,.55);
}
/* Sterne-Auswahl */
#reviews .comment-form-rating { margin-bottom: 1.25rem; }
#reviews .comment-form-rating label { display:block; font-weight:700; color:var(--dark); margin-bottom:0.4rem; }
#reviews p.stars { margin: 0; }
#reviews p.stars a::before { color: var(--wood); }
#reviews p.stars a:hover ~ a::before { color: rgba(0,0,0,.2); }
/* Felder: Name + E-Mail nebeneinander */
#review_form .comment-form,
#reviews .comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; }
#reviews .comment-form-rating,
#reviews .comment-form-comment,
#reviews .comment-notes,
#reviews .comment-form-cookies-consent,
#reviews .form-submit { grid-column: 1 / -1; margin: 0; }
#reviews .comment-form label { display:block; font-size:0.85rem; font-weight:600; color:rgba(44,44,44,.7); margin-bottom:0.35rem; }
#reviews .comment-form input[type="text"],
#reviews .comment-form input[type="email"],
#reviews .comment-form textarea,
#review_form input, #review_form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1.5px solid rgba(0,0,0,.15);
    border-radius: 10px;
    padding: 0.7rem 0.85rem;
    font-family: 'Lato', sans-serif;
    font-size: 0.95rem;
    background: #fff;
}
#reviews .comment-form textarea { min-height: 130px; resize: vertical; }
#reviews .comment-form input:focus,
#reviews .comment-form textarea:focus {
    outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(90,175,176,.12);
}
#reviews .comment-form-cookies-consent { display:flex; align-items:center; gap:0.5rem; }
#reviews .comment-form-cookies-consent input { width:auto; }
#reviews .comment-form-cookies-consent label { margin:0; }
/* Senden-Button: kompakt, nicht volle Breite */
#reviews .form-submit input#submit,
#review_form #submit {
    width: auto !important;
    display: inline-block;
    background: var(--teal) !important;
    color:#fff !important;
    border:none !important;
    border-radius: 9999px !important;
    padding: 0.8rem 2.5rem !important;
    font-weight:700 !important;
    cursor:pointer;
    justify-self: start;
}
#reviews .form-submit input#submit:hover,
#review_form #submit:hover { background:#4da0a1 !important; }
@media (max-width: 600px) {
    #reviews #comments, #reviews #review_form_wrapper { padding: 1.25rem; }
    #review_form .comment-form, #reviews .comment-form { grid-template-columns: 1fr; }
}
