/* TkShop · neue Käse-Produktseite (27.10.2026). Lädt nur mit Schalter (tk/pdp/schalter.html.twig). Alles unter .tk-p.
   Gestaltung nach der abgenommenen Vorschau /langres-aop-vorschau-tk9 (26.10.2026). Kauf, Größen und Bewertungen sind
   Shopwares eigene Bausteine (Formular, Variantenwahl, Bewertungsformular) – hier nur gestaltet. */
.tk-p{--p:#8E2F25;--p-dk:#6f2119;--d:#3F2A23;--hell:#F6F2EA;--creme:#EFE8D9;--l:#e4dccd;--t2:#6f5d55;--ok:#1C6B26;
 --r:10px;--rs:6px;--fh:"Belleza",Georgia,serif;--fb:"Raleway",system-ui,sans-serif;--gut:16px;
 font-family:var(--fb);color:var(--d);font-size:16px;line-height:1.55;margin:0}
.tk-p *,.tk-p *::before,.tk-p *::after{box-sizing:border-box}
.tk-p h1,.tk-p h2,.tk-p h3{font-family:var(--fh);font-weight:400;line-height:1.15;color:var(--d);text-transform:none;margin:0}
.tk-p p,.tk-p ul,.tk-p ol{margin:0}
.tk-p img{max-width:100%;height:auto}
.tk-p a{color:inherit}
.tk-p a:focus-visible,.tk-p button:focus-visible,.tk-p input:focus-visible,.tk-p [tabindex]:focus-visible{outline:2px solid #DC6B45;outline-offset:2px}
.tk-p__wrap{display:block;max-width:1400px;margin:0 auto;padding:0 var(--gut)}
.tk-p .tk-p__dach{font-family:var(--fb)!important;font-size:12px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--p)!important;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px!important;line-height:1.4!important}
.tk-p__leise{font-size:12.5px;color:var(--t2)}
.tk-p__block{padding:26px 0}
.tk-p__block h2{font-size:26px;margin:2px 0 14px}
.tk-p__karte{background:#fff;border:1px solid var(--l);border-radius:var(--r);padding:18px}
.tk-p .btn{min-height:52px;border-radius:var(--rs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:6px 20px;line-height:1.2}
.tk-p .btn-primary{background:var(--p);border-color:var(--p);color:#fff}
.tk-p .btn-primary:hover{background:var(--p-dk);border-color:var(--p-dk);color:#fff}
.tk-p__btn-hell{border:1.5px solid var(--d);background:#fff;color:var(--d)}

.tk-p__vorschau{background:#FFF4D6;border-bottom:1px solid #E9D49A;font-size:13px;padding:8px 0;color:var(--d)}
.tk-p__vorschau a{font-weight:700;text-decoration:underline}

/* ---------- Kopf ---------- */
.tk-p__kopf{padding:8px 0 20px}
.tk-p__top{background:var(--p);color:#fff;border-radius:4px;padding:3px 7px;font-size:10.5px;letter-spacing:.1em}
.tk-p__titel{display:flex;align-items:center;gap:14px}
.tk-p__titel h1{font-size:34px;margin:2px 0;min-width:0;overflow-wrap:anywhere}
.tk-p__siegelbild{flex:0 0 auto;display:block;width:68px;height:68px;border-radius:50%;-webkit-tap-highlight-color:transparent}
.tk-p__siegelbild img{width:100%;height:100%;display:block}
.tk-p__siegelzeile{font-size:14px;margin:2px 0 6px!important}
.tk-p__siegelzeile .tk-p__leise{font-size:13px}
.tk-p__ez{font-size:15px;color:var(--t2);max-width:40em}
.tk-p__bewertung{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:8px!important;flex-wrap:wrap}
.tk-p__bewertung a{text-decoration:underline;font-weight:700;min-height:24px;display:inline-flex;align-items:center}
.tk-p__sterne{color:#A9861A;letter-spacing:1px;font-size:15px}
.tk-p__beliebt{font-size:13.5px;font-weight:700;color:var(--ok);margin-top:6px!important}

.tk-p__galerie{margin:14px calc(-1 * var(--gut)) 0;position:relative}
.tk-p__bilder{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:#fff}
.tk-p__bilder::-webkit-scrollbar{display:none}
.tk-p__bild{flex:0 0 100%;scroll-snap-align:start;margin:0;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}
.tk-p__bild img{width:100%;height:100%;object-fit:contain;display:block}
.tk-p__daumen{display:flex;gap:8px;padding:10px var(--gut) 0;overflow-x:auto}
.tk-p__daumen-k{flex:0 0 auto;width:64px;height:64px;padding:0;border:1.5px solid var(--l);border-radius:var(--rs);background:#fff;overflow:hidden;cursor:pointer}
.tk-p__daumen-k img{width:100%;height:100%;object-fit:cover;display:block}
.tk-p__daumen-k.is-aktiv{border-color:var(--p)}

/* ---------- Kaufkasten ---------- */
.tk-p__kauf{background:#fff;border:1px solid var(--l);border-radius:var(--r);padding:18px;margin-top:16px}
.tk-p__preis{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap}
.tk-p__betrag{font-family:var(--fh);font-weight:400;font-size:36px;line-height:1;color:var(--p)}
.tk-p__alt{color:var(--t2);font-size:15px}
.tk-p__menge{font-size:14.5px}
.tk-p__vorher{font-size:13px;color:var(--t2);margin-top:4px!important}
.tk-p__steuer{font-size:12.5px;color:var(--t2);margin-top:6px!important}
.tk-p__steuer a{text-decoration:underline}
.tk-p__gewicht{font-size:13px;color:var(--t2);margin-top:8px!important;line-height:1.45}
.tk-p__gewicht b{color:var(--d)}
.tk-p__verf{display:flex;align-items:center;gap:7px;font-size:14.5px;font-weight:700;color:var(--ok);margin:14px 0 2px!important}
.tk-p__verf::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ok);flex:0 0 auto}
.tk-p__verf--nein{color:var(--p)}.tk-p__verf--nein::before{background:var(--p)}
.tk-p__liefer{font-size:14px;color:var(--t2)}.tk-p__liefer b{color:var(--d)}.tk-p__liefer a{text-decoration:underline;color:var(--p)}
.tk-p__cut{font-size:13.5px;margin-top:8px!important;color:var(--t2)}.tk-p__cut b{color:var(--p)}

/* Größen (Shopware-Variantenwahl) */
.tk-p__groessen{margin-top:14px}
.tk-p__groessen .product-detail-configurator-group{margin:0!important;border:0;padding:0}
.tk-p__groessen .product-detail-configurator-group-title{font-family:var(--fb);font-size:14px!important;font-weight:700!important;margin-bottom:8px;float:none;width:auto}
.tk-p__groessen .product-detail-configurator-options{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px!important}
.tk-p__groessen .product-detail-configurator-option{margin:0}
.tk-p__groessen .product-detail-configurator-option-label{min-height:44px;width:100%;display:flex;align-items:center;justify-content:center;padding:6px 8px;white-space:nowrap;border:1.5px solid #b8a990;border-radius:var(--rs);background:#fff;color:var(--d);font-weight:700;font-size:15px;cursor:pointer;margin:0}
.tk-p__groessen .product-detail-configurator-option-input:checked + .product-detail-configurator-option-label{border-color:var(--p);background:var(--p);color:#fff}
.tk-p__groessen .product-detail-configurator-option-input:focus-visible + .product-detail-configurator-option-label{outline:2px solid #DC6B45;outline-offset:2px}
.tk-p__groessen .not-combinable .product-detail-configurator-option-label,.tk-p__groessen .product-detail-configurator-option-input.not-combinable + .product-detail-configurator-option-label{opacity:.55;text-decoration:line-through;border-style:dashed}
.tk-p__groessen select{min-height:44px;font-size:16px}

/* Formular (Shopware): Menge + Knopf in einer Zeile */
.tk-p__form{margin-top:14px}
.tk-p .tk-p__form .buy-widget > .row.g-2{flex-wrap:nowrap;align-items:stretch;margin:0;--bs-gutter-x:10px;gap:10px}
.tk-p .tk-p__form .buy-widget > .row.g-2 > *{padding-left:0;padding-right:0}
.tk-p .tk-p__form .buy-widget > .row.g-2 > fieldset{flex:0 0 auto;width:auto;margin:0}
.tk-p .tk-p__form .buy-widget > .row.g-2 > div[class*="col-"]{flex:1 1 0;width:auto;min-width:0}
.tk-p__form .product-detail-quantity-group{height:100%;min-height:52px;border:1.5px solid #b8a990;border-radius:var(--rs);background:#fff;flex-wrap:nowrap}
.tk-p__form .product-detail-quantity-group .btn{min-height:0;border:0;background:transparent;color:var(--d);width:44px;padding:0}
.tk-p__form .product-detail-quantity-group .form-control{width:44px;border:0;text-align:center;font-weight:700;font-size:16px;padding:0;background:transparent;-moz-appearance:textfield}
.tk-p__form .product-detail-quantity-group .form-control::-webkit-outer-spin-button,.tk-p__form .product-detail-quantity-group .form-control::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tk-p__form .product-detail-quantity-group .input-group-text{display:none}
.tk-p .tk-p__form .buy-widget .btn-buy{width:100%;height:100%;min-height:52px;font-size:15.5px;white-space:normal;padding:6px 10px;line-height:1.25}
.tk-p__form .row.g-2.mt-0,.tk-p__form .shopware-payments-product-detail-row{margin-top:0!important}
.tk-p__pp{width:100%!important;flex:1 1 100%!important;max-width:100%!important;min-height:0}
.tk-p__form [data-tk-paypal-wartet]{min-height:0}
.tk-p__form .row.g-2.justify-content-end > .tk-p__pp,.tk-p__form .row.g-2.justify-content-end > [data-swag-paypal-express-button]{flex:1 1 100%;max-width:100%;width:100%;margin-top:10px}

.tk-p__trust{list-style:none;padding:14px 0 0!important;margin:16px 0 0!important;display:grid;gap:7px;font-size:14px;border-top:1px solid var(--l)}
.tk-p__trust li{padding-left:24px;position:relative}
.tk-p__trust li::before{content:"✓";position:absolute;left:0;top:0;color:var(--ok);font-weight:800}

/* ---------- Bundle ---------- */
.tk-p__bundle{background:#fff;border:1px solid var(--l);border-radius:var(--r);padding:16px}
.tk-p__bundle h2{margin-top:0}
.tk-p__b-items{display:grid;gap:10px}
.tk-p__b-item{display:grid;grid-template-columns:22px 56px 1fr auto;gap:10px;align-items:center;font-size:14px;cursor:pointer;margin:0}
.tk-p__b-item img,.tk-p__b-leer{width:56px;height:56px;object-fit:contain;border:1px solid var(--l);border-radius:var(--rs);background:#fff;display:block}
.tk-p__b-item input{width:20px;height:20px;accent-color:var(--p);margin:0}
.tk-p__b-item--fest{cursor:default}
.tk-p__b-name small{display:block;color:var(--t2);font-size:12.5px}
.tk-p__b-name b,.tk-p__b-name a{font-weight:700;text-decoration:none}
.tk-p__b-name a:hover{text-decoration:underline}
.tk-p__b-preis{white-space:nowrap}
.tk-p__b-summe{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--l);flex-wrap:wrap}
.tk-p__b-summe b{font-family:var(--fh);font-weight:400;font-size:26px;color:var(--p)}
.tk-p__bundle .tk-p__leise{margin-top:8px}

/* ---------- Auf einen Blick, Lieferweg ---------- */
.tk-p__zwei{display:grid!important;gap:14px}
.tk-p__tab{width:100%;border-collapse:collapse;font-size:15px}
.tk-p__tab th,.tk-p__tab td{text-align:left;padding:8px 0;border-bottom:1px solid var(--l);vertical-align:top}
.tk-p__tab th{font-weight:700;width:44%;padding-right:12px}
.tk-p__tab a{text-decoration:underline}
.tk-p__tab caption{caption-side:top;text-align:left;font-size:13px;color:var(--t2);padding:0 0 4px}
.tk-p__tab--klein{font-size:14px;max-width:30em;margin-bottom:12px}
.tk-p__schritte{list-style:none;display:grid;gap:12px;padding:0!important;counter-reset:s}
.tk-p__schritte li{position:relative;padding-left:40px;font-size:14.5px}
.tk-p__schritte li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--p);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.tk-p__schritte b{display:block}
.tk-p__mehrlink{margin-top:12px!important;font-size:14px}.tk-p__mehrlink a{font-weight:700;color:var(--p);text-decoration:underline}

/* ---------- Siegel ---------- */
.tk-p__gu{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;background:#fff;border:1px solid var(--l);border-radius:var(--r);padding:20px}
.tk-p__gu--ohnebild{grid-template-columns:1fr}
.tk-p__gu-bild img{width:96px;height:96px;display:block}
.tk-p__gu-punkte{list-style:none;display:grid;gap:12px;padding:0!important}
.tk-p__gu-punkte li{padding-left:14px;border-left:3px solid #F2C230}
.tk-p__gu-punkte b{display:block;color:var(--d)}

/* ---------- Beschreibung, Aufklapper ---------- */
.tk-p__textin{max-width:46em;font-size:15.5px}
.tk-p__textin p{margin:0 0 12px}
.tk-p__textin h2,.tk-p__textin h3{font-size:20px;margin:16px 0 8px}
.tk-p__text.is-kurz .tk-p__textin{max-height:15.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.tk-p__weiter{font-weight:700;color:var(--p);text-decoration:underline;padding:6px 0;min-height:44px;background:none;border:0}
.tk-p__akks{margin-top:18px}
.tk-p__akk{border-top:1px solid var(--l)}.tk-p__akk:last-child{border-bottom:1px solid var(--l)}
.tk-p__akk-k{width:100%;display:flex;justify-content:space-between;gap:12px;padding:15px 0;font-weight:700;font-size:16px;text-align:left;min-height:48px;background:none;border:0;color:var(--d)}
.tk-p__akk-k::after{content:"+";font-size:22px;line-height:1;color:var(--p)}
.tk-p__akk-k[aria-expanded="true"]::after{content:"–"}
.tk-p__akk-in{padding:0 0 16px;font-size:15px;color:var(--t2);max-width:46em}
.tk-p__fragen h2{font-size:26px}
.tk-p__beratung{margin-top:18px!important;font-size:15px;line-height:1.5}
.tk-p__beratung a{display:inline-flex;align-items:center;min-height:44px;color:var(--p);font-weight:700;text-decoration:underline}

/* ---------- Produktbewertungen (Shopware-Baustein) ---------- */
.tk-p__rev .product-detail-review{font-size:15px}
.tk-p__rev .product-detail-review-widget{position:static;background:#fff;border:1px solid var(--l);border-radius:var(--r);padding:16px}
.tk-p__rev--wenig .js-review-filter{display:none}
.tk-p__rev .offcanvas-close,.tk-p__rev .product-detail-review-language{display:none!important}
.tk-p__rev--wenig .product-detail-review-title{display:none}
.tk-p__rev--leer .product-detail-review-list .alert,.tk-p__rev--leer .js-review-content > .alert,.tk-p__rev--leer .product-detail-review-actions{display:none!important}
.tk-p__rev--leer .product-detail-review-main{display:none}
.tk-p__rev--leer .product-detail-review-main:has(.collapse.show .product-detail-review-form),.tk-p__rev--leer .product-detail-review-main:has(.collapse.show .product-detail-review-login){display:block}
.tk-p .tk-p__form .tk-steller{height:auto;min-height:52px;margin-right:0;border:1.5px solid #b8a990}
.tk-p .tk-p__form .tk-steller__btn,.tk-p .tk-p__form .tk-steller__feld{height:auto;font-weight:700}
.tk-p .tk-p__form select.js-quantity-selector{min-height:52px;border:1.5px solid #b8a990;border-radius:var(--rs);font-weight:700}
.tk-p__rev .product-detail-review-teaser .h4{font-family:var(--fh);font-size:20px}
.tk-p__rev .product-detail-review-teaser-btn{background:var(--p);border-color:var(--p);min-height:48px}
.tk-p__rev .product-detail-review-item{background:#fff;border:1px solid var(--l);border-radius:var(--r);padding:14px 16px;margin-bottom:10px}
.tk-p__rev .product-review-point .point-full,.tk-p__rev .product-review-point .point-partial{color:var(--p)}
.tk-p__kunden{background:var(--creme)}

/* ---------- Reihen (Karten der Übersicht) ---------- */
.tk-p__cs{display:block}
.tk-p__reihe{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--gut));padding:2px var(--gut) 8px;scrollbar-width:none}
.tk-p__reihe::-webkit-scrollbar{display:none}
.tk-p__reihe-k{flex:0 0 46%;scroll-snap-align:start;display:flex}
.tk-p__reihe-k > .tk-k{width:100%}
/* Die Handy-Querform der Übersicht gilt hier nicht: in Reihen bleibt die Karte hochkant */
.tk-p__reihe .tk-k__link{display:flex;flex-direction:column}
.tk-p__reihe .tk-k__bild{aspect-ratio:4/3;min-height:0}
.tk-p__reihe .tk-k__bild .tk-k__img{position:static}
.tk-p__reihe .tk-k__text{padding:10px 12px 12px}
.tk-p__reihe .tk-k__name{font-size:16px}
.tk-p__reihe .tk-k__ez{font-size:12.5px;-webkit-line-clamp:2}
.tk-p__reihe .tk-k__betrag{font-size:17px}

/* ---------- Zwischenkarte, Gewährleistung ---------- */
.tk-p__zw{background:#3F2A23;color:#fff;border-radius:var(--r);padding:20px}
.tk-p__zw h2{color:#fff;font-size:24px}
.tk-p__zw .tk-p__dach{color:#E9C9A9!important}
.tk-p__zw p{margin-bottom:6px}
.tk-p__zw .tk-p__leise{color:#e6dcd3;font-size:13.5px}
.tk-p__zw-knoepfe{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px!important}
.tk-p__zw .btn-primary{background:#fff;color:#3F2A23;border-color:#fff}
.tk-p__zw .tk-p__btn-hell{background:transparent;color:#fff;border-color:#fff}
.tk-p__gew p{font-size:14.5px}
.tk-p__gew-bild{display:block;margin:14px auto 0;max-width:340px}
.tk-p__gew-bild img{width:100%;height:auto;display:block}
.tk-p__gew .tk-p__leise{margin-top:10px!important}
.tk-p__gew .tk-p__leise a{text-decoration:underline}

/* ---------- Klebeleiste (Handy) ---------- */
.tk-p__leiste{position:fixed;left:0;bottom:0;width:100%;z-index:1030;background:#fff;border-top:1px solid var(--l);box-shadow:0 -6px 20px rgba(0,0,0,.08);padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;transform:translateY(110%);transition:transform .2s;visibility:hidden}
.tk-p__leiste.is-an{transform:none;visibility:visible}
.tk-p__leiste-sel{flex:1;min-width:0;font-size:13px;line-height:1.3}
.tk-p__leiste-sel span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-p__leiste-sel b{display:block;font-size:17px}
.tk-p__leiste .btn{min-height:48px;padding:0 18px}
@media (prefers-reduced-motion:reduce){.tk-p__leiste{transition:none}}

/* ---------- Rechner ---------- */
@media (min-width:760px){
 .tk-p__kopf{padding:18px 0 30px}
 .tk-p__kopfraster{display:grid!important;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
 .tk-p__rechts{position:static}
 .tk-p__titel h1{font-size:42px}
 .tk-p__siegelbild{width:88px;height:88px}
 .tk-p__galerie{margin:14px 0 0}
 .tk-p__bilder{border:1px solid var(--l);border-radius:var(--r)}
 .tk-p__daumen{padding:10px 0 0}
 .tk-p__kauf{margin-top:0}
 .tk-p__block{padding:30px 0}
 .tk-p__block h2{font-size:30px}
 .tk-p__zwei{grid-template-columns:1fr 1fr;gap:20px;align-items:start}
 .tk-p__reihe{margin:0;padding:2px 0 8px}
 .tk-p__reihe-k{flex:0 0 calc(25% - 9px)}
 .tk-p__b-items{grid-template-columns:repeat(3,1fr)}
 .tk-p__b-item{grid-template-columns:22px 56px 1fr}
 .tk-p__b-item .tk-p__b-preis{grid-column:3}
 .tk-p__leiste{display:none}
 .tk-p__text.is-kurz .tk-p__textin{max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}
 .tk-p__weiter{display:none}
 .tk-p__gu{padding:28px;gap:28px}
 .tk-p__gu-bild img{width:132px;height:132px}
 .tk-p__gu-punkte{grid-template-columns:repeat(3,1fr);gap:20px}
 .tk-p__zw{padding:28px}
}
@media (min-width:1200px){.tk-p__reihe-k{flex:0 0 calc(20% - 10px)}}
@media (max-width:420px){.tk-p__gu{grid-template-columns:1fr}.tk-p__gu-bild{display:none}}

.tk-p .tk-p__link{padding:0;min-height:0;border:0;font:inherit;color:inherit;text-decoration:underline;vertical-align:baseline;display:inline}
.tk-p__sterne .product-review-rating{display:inline-flex;gap:1px}
.tk-p__sterne .point-full,.tk-p__sterne .point-partial{color:#A9861A}

/* 27.10.2026 Marcel: am Rechner breiter, Bild größer, Kaufkasten mittig neben dem Kopf statt mitlaufend */
@media (min-width:1100px){
 .tk-p__wrap{padding:0 32px}
 .tk-p__kopfraster{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:48px}
}
@media (min-width:1400px){.tk-p__kopfraster{gap:56px}}
/* 27.10.2026 14:02 Marcel: Bilder am Rechner 25 % kleiner (Galerie 75 % der linken Spalte) */
@media (min-width:760px) and (max-width:1099.98px){.tk-p__galerie{width:75%}}
@media (min-width:1100px){.tk-p__kauf{max-width:600px;margin-left:auto;margin-right:auto}}
/* 27.10.2026 14:04 Marcel: keine weißen Balken – Rahmen im Format der Käsefotos (3:2), Bild füllt ihn */
.tk-p__bild{aspect-ratio:3/2;background:#e2e2e2}
.tk-p__bild img{object-fit:cover}
