/* ==========================================================================
   PREMIUM V2 — gemeinsame Basis für Fleischtheke V2 und Produktseite V2
   (Flag HOMEPAGE_V2). Gleiche Designsprache wie die Startseite V2 (home.css,
   .hv2), hier unter .pv2 gekapselt, damit bestehende Seiten-CSS und die
   wiederverwendeten Kaufkomponenten unberührt bleiben.
   ========================================================================== */

.pv2 {
    --pv2-ink: var(--aw-text-primary, #17120f);
    --pv2-text: var(--aw-text, #4a4540);
    --pv2-muted: var(--aw-text-muted, #7d756a);
    --pv2-cream: var(--aw-bg-bone, #f7f4ee);
    --pv2-sand: var(--aw-bg-sand, #efe9de);
    --pv2-line: var(--aw-border-subtle, #e2d9c9);
    --pv2-dark: var(--aw-bg-dark, #16110e);
    --pv2-dark-2: var(--aw-bg-dark-2, #221b16);
    --pv2-on-dark: var(--aw-text-on-dark, #f3eee6);
    --pv2-on-dark-muted: var(--aw-text-on-dark-muted, #b9afa1);
    --pv2-accent: var(--aw-accent, #9a7746);
    --pv2-accent-on-dark: var(--aw-accent-on-dark, #c9a961);
    --pv2-serif: var(--aw-font-display, 'Cormorant Garamond', Georgia, 'Times New Roman', serif);
    --pv2-gutter: var(--aw-gutter, clamp(1rem, 4vw, 2rem));
    --pv2-section-y: var(--aw-section-space-lg, clamp(3.5rem, 1.5rem + 4vw, 5.5rem));
    --pv2-radius: var(--aw-radius-sm, 2px);
    color: var(--pv2-text);
    background: #fff;
}

.pv2-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 var(--pv2-gutter);
}
.pv2-section { padding: var(--pv2-section-y) 0; }
.pv2-section--cream { background: var(--pv2-cream); }
.pv2-section--dark { background: var(--pv2-dark); color: var(--pv2-on-dark-muted); }

.pv2-eyebrow {
    display: block;
    margin: 0 0 1rem;
    font-size: var(--aw-text-eyebrow, 0.8125rem);
    font-weight: 600;
    letter-spacing: var(--aw-ls-eyebrow, 0.16em);
    text-transform: uppercase;
    color: var(--pv2-accent);
}
.pv2-section--dark .pv2-eyebrow { color: var(--pv2-accent-on-dark); }

.pv2-display,
.pv2-h2,
.pv2-h3 {
    font-family: var(--pv2-serif);
    font-weight: 500;
    color: var(--pv2-ink);
    letter-spacing: -0.005em;
    margin: 0;
}
.pv2-display { font-size: var(--aw-text-display-xl, clamp(2.5rem, 1.5rem + 2.8vw, 4.25rem)); line-height: var(--aw-lh-display, 1.05); }
.pv2-h2 { font-size: var(--aw-text-display-lg, clamp(2.15rem, 1.4rem + 1.9vw, 3.25rem)); line-height: var(--aw-lh-heading, 1.1); }
.pv2-h2--sm { font-size: var(--aw-text-heading-lg, clamp(1.9rem, 1.3rem + 1.5vw, 2.75rem)); }
.pv2-h3 { font-size: var(--aw-text-heading-md, clamp(1.5rem, 1.15rem + 0.9vw, 2.125rem)); line-height: 1.12; }
.pv2-section--dark .pv2-display,
.pv2-section--dark .pv2-h2,
.pv2-section--dark .pv2-h3 { color: var(--pv2-on-dark); }

.pv2-lead {
    font-size: var(--aw-text-body-lg, 1.125rem);
    line-height: var(--aw-lh-body, 1.65);
    max-width: 38rem;
    margin: 1.25rem 0 0;
}
.pv2-section-head { margin-bottom: var(--aw-head-gap, 2rem); }

.pv2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 3.25rem;
    padding: 0.95rem 1.75rem;
    border: 1px solid var(--pv2-ink);
    border-radius: 2px;
    background: var(--pv2-ink);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.pv2-btn:hover,
.pv2-btn:focus-visible { background: #3a2f28; border-color: #3a2f28; color: #fff; }
.pv2-btn--ghost { background: transparent; color: var(--pv2-ink); }
.pv2-btn--ghost:hover { background: var(--pv2-ink); color: #fff; }
.pv2-btn--light { background: var(--pv2-on-dark); border-color: var(--pv2-on-dark); color: var(--pv2-ink); }
.pv2-btn--light:hover { background: #fff; border-color: #fff; color: var(--pv2-ink); }

.pv2-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    color: var(--pv2-ink);
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 0.2rem;
}
.pv2-link:hover { color: var(--pv2-accent); }
.pv2-section--dark .pv2-link { color: var(--pv2-on-dark); }

.pv2-media { position: relative; overflow: hidden; background: var(--pv2-sand); }
.pv2-media img { display: block; width: 100%; height: 100%; object-fit: cover; }

.pv2 a:focus-visible,
.pv2 button:focus-visible,
.pv2 [tabindex]:focus-visible { outline: 2px solid var(--pv2-accent); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
    .pv2 * { transition: none !important; animation: none !important; }
}
