/* Product overview and full-size gallery. */
.single .single-wrap__title { max-width:1100px; font-size:clamp(28px,3vw,44px); line-height:1.18; letter-spacing:-.035em; margin:0 0 32px; }
.single .single-wrap__flex { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:40px; align-items:start; }
.single .single-wrap__flex--gallery { display:grid; grid-template-columns:80px minmax(0,1fr); gap:16px; width:100%; max-width:none; margin:0; min-width:0; }
.single .single-wrap__flex--gallery-list { width:80px; max-width:none; margin:0; }
.single .single-wrap__flex--gallery-list .item { width:76px; height:76px; margin:0 0 12px; padding:5px; border:1px solid #dfe6ed; border-radius:14px; background:#fff; cursor:pointer; overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.single .single-wrap__flex--gallery-list .item:hover,
.single .single-wrap__flex--gallery-list .item:focus-visible { border-color:#0072bb; box-shadow:0 0 0 2px #e2f0fa; outline:none; }
.single .single-wrap__flex--gallery-list .item img { width:100%; height:100%; object-fit:contain; }
.single .single-wrap__flex--gallery-main { position:relative; width:100%; max-width:none; min-width:0; margin:0; padding:20px; background:#fff; border:1px solid #e3e9ef; border-radius:24px; overflow:hidden; }
.single .single-wrap__flex--gallery-main .item { height:auto; }
.single .single-wrap__flex--gallery-trigger { display:flex; align-items:center; justify-content:center; aspect-ratio:1; cursor:zoom-in; }
.single .single-wrap__flex--gallery-main .item img { width:100%; height:100%; max-height:560px; object-fit:contain; }
.single .single-wrap__flex--gallery-main::after { content:'＋ Bild vergrößern'; display:block; text-align:center; margin-top:16px; color:#576b7e; font-size:13px; pointer-events:none; }
.single .single-wrap__flex--content { width:100%; max-width:none; min-width:0; margin:0; padding:28px; background:#fff; border:1px solid #e3e9ef; border-radius:24px; box-shadow:0 12px 40px #183c5e06; }
.single .single-wrap__flex--content .aquarum-product-stock { margin:0 0 14px!important; font-weight:500; }
.single .single-wrap__flex--content-sku { margin:0 0 22px; color:#66798b; font-size:13px; }
.single .single-wrap__flex--content-sku strong { color:#23384b; font-weight:600; }
.single .single-wrap__flex--content-price { margin:0 0 8px; color:#0072bb; font-size:clamp(30px,3vw,42px); font-weight:600; line-height:1.15; }
.single .single-wrap__flex--content-price del { color:#82909d; font-size:.55em; font-weight:400; }
.single .single-wrap__flex--content-price ins { text-decoration:none; }
.single .aquarum-price-tax-info { margin:0 0 22px; padding:0; border:0; color:#647484; font-size:13px; line-height:1.6; }
.single .single-wrap__flex--content-qty { display:inline-flex; align-items:center; width:auto; margin:0 0 20px; border:1px solid #dbe3ea; border-radius:12px; overflow:hidden; }
.single .single-wrap__flex--content-qty span { display:flex; align-items:center; justify-content:center; width:42px; height:44px; margin:0; border:0; background:#f5f8fb; cursor:pointer; }
.single .single-wrap__flex--content-qty input { width:48px; height:44px; margin:0; padding:0; border:0; border-radius:0; text-align:center; font-size:16px; background:#fff; }
.single .single-wrap__flex--content-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px; gap:10px; align-items:center; margin:0; padding:0; }
.single .single-wrap__flex--content-actions .btn { width:100%; min-width:0; min-height:54px; padding:12px 14px; border-radius:14px; font-size:15px; line-height:1.3; white-space:normal; }
.single .single-wrap__flex--content-actions_favorite { display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0; border:1px solid #dbe3ea; border-radius:50%; }
.single .single-wrap__flex--content-actions_favorite svg { width:22px; height:22px; }
.single .single-wrap__flex--content-list:empty { display:none; }
.single .single-wrap__flex--content-meta { margin-top:24px; padding-top:22px; border-top:1px solid #e7edf2; }
.single .single-wrap__flex--content-meta_title { margin:0 0 14px; font-size:16px; font-weight:600; }
.single .single-wrap__flex--content-meta .item { margin:0 0 8px; }
.single .single-wrap__flex--content-meta .item-title { font-size:13px; line-height:1.5; color:#566b7d; }
.single .aquarum-invoice-note { margin:0 0 16px; padding:12px 14px; border-radius:12px; background:#fff6e7; color:#865000; font-size:13px; line-height:1.5; }
.single .single-wrap__flex--content-actions:not(:has(.add-to-cart)) { grid-template-columns:minmax(0,1fr) 44px; }
.product-lightbox { display:none; position:fixed; inset:0; z-index:100000; align-items:center; justify-content:center; padding:64px 80px; background:rgba(12,24,36,.94); }
.product-lightbox--active { display:flex; }
html.product-gallery-open { overflow:hidden!important; }
.product-lightbox__body { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-width:0; }
.product-lightbox__body img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; border-radius:10px; background:#fff; }
.product-lightbox__close,.product-lightbox__nav { position:absolute; display:flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid #ffffff40; border-radius:50%; color:#fff; background:#ffffff15; font-size:32px; cursor:pointer; }
.product-lightbox__close:hover,.product-lightbox__nav:hover { background:#ffffff30; }
.product-lightbox button:focus-visible { outline:3px solid #66c4ff; outline-offset:3px; }
.product-lightbox__close { top:18px; right:20px; }
.product-lightbox__nav--prev { left:16px; }
.product-lightbox__nav--next { right:16px; }
.product-lightbox__counter { position:absolute; bottom:18px; left:50%; transform:translateX(-50%); color:#fff; font-size:14px; }
@media(max-width:1100px) {
 .single .single-wrap__flex { gap:24px; }
 .single .single-wrap__flex--gallery { grid-template-columns:64px minmax(0,1fr); gap:10px; }
 .single .single-wrap__flex--gallery-list { width:64px; }
 .single .single-wrap__flex--gallery-list .item { width:60px; height:60px; }
 .single .single-wrap__flex--content { padding:22px; }
 .single .single-wrap__flex--content-actions { grid-template-columns:minmax(0,1fr) 44px; }
 .single .single-wrap__flex--content-actions .add-to-cart { grid-column:1/-1; }
}
@media(max-width:767px) {
 .single .single-wrap__flex { grid-template-columns:minmax(0,1fr); gap:20px; }
 .single .single-wrap__flex--gallery { display:flex; flex-direction:column-reverse; gap:12px; }
 .single .single-wrap__flex--gallery-main { padding:14px; border-radius:20px; }
 .single .single-wrap__flex--gallery-list { display:flex; width:100%; max-height:none; gap:10px; overflow-x:auto; }
 .single .single-wrap__flex--gallery-list .item { flex:0 0 64px; width:64px; height:64px; margin:0; }
 .single .single-wrap__flex--gallery-list .slick-list { width:100%; }
 .single .single-wrap__flex--content { padding:22px 18px; border-radius:20px; }
 .product-lightbox { padding:72px 12px; }
 .product-lightbox__nav { width:40px; height:40px; bottom:14px; }
 .product-lightbox__nav--prev { left:20px; }
 .product-lightbox__nav--next { right:20px; }
 .single .single-wrap__title { margin-bottom:22px; }
}

.single .single-wrap__flex--gallery-main { display:block; }
.single .single-wrap__flex--gallery-slider { display:none!important; }
.single .aquarum-gallery-thumbs { width:80px!important; max-width:80px!important; flex:0 0 80px!important; }
.single .aquarum-gallery-thumbs__list { width:80px!important; max-width:80px!important; height:auto!important; max-height:410px; overflow-y:auto!important; overflow-x:hidden!important; }
.single .aquarum-gallery-thumbs__list .item { width:76px!important; height:76px!important; margin:0 0 12px!important; padding:5px!important; }
.single .aquarum-gallery-thumbs__list .item img { max-height:100%!important; }
.product-lightbox__nav[hidden] { display:none; }
@media(max-width:1100px) and (min-width:768px) {
 .single .aquarum-gallery-thumbs { width:64px!important; max-width:64px!important; }
 .single .aquarum-gallery-thumbs__list { width:64px!important; max-width:64px!important; }
 .single .aquarum-gallery-thumbs__list .item { width:60px!important; height:60px!important; }
}
@media(max-width:767px) {
 .single .aquarum-gallery-thumbs { width:100%!important; max-width:100%!important; flex:auto!important; }
 .single .aquarum-gallery-thumbs__list { width:100%!important; max-width:100%!important; height:auto!important; max-height:none; overflow-x:auto!important; overflow-y:hidden!important; }
 .single .aquarum-gallery-thumbs__list .item { width:64px!important; height:64px!important; margin:0!important; }
 .single .aquarum-gallery-thumbs__arrow { display:none; }
}
.single .single-wrap__flex--content-qty { padding:0; }
.single .single-wrap__flex--content-actions .btn { max-width:none; margin:0; }
/* Override the old fixed-height mobile gallery rules. */
@media(max-width:768px) {
 .single .aquarum-gallery-thumbs { display:flex!important; }
 .single .single-wrap__flex--gallery-main .slick-slide,
 .single .single-wrap__flex--gallery-main .slick-slide > div,
 .single .single-wrap__flex--gallery-main .item { height:auto!important; }
 .single .single-wrap__flex--gallery-main .item a { display:flex!important; height:auto!important; aspect-ratio:1; }
 .single .single-wrap__flex--gallery-main .item img { width:100%!important; height:100%!important; max-height:none!important; object-fit:contain!important; }
}

/* Compact spacing below the header; avoid stacking title and grid margins. */
body.single-product #primary > .container > .bread {
    padding-top:16px;
    padding-bottom:14px;
}
.single .single-wrap__title {
    display:block;
    max-width:none;
    text-align:left;
    font-size:clamp(26px,2.5vw,40px);
    margin:0 0 24px;
}
.single .single-wrap__flex { margin-top:0; }
@media(max-width:767px) {
    body.single-product #primary > .container > .bread { padding-top:12px; padding-bottom:10px; }
    .single .single-wrap__title { margin-bottom:20px; }
}

@media(max-width:768px) {
    .single .single-wrap__flex--content-actions .btn {
        min-height: 46px;
        height: auto;
        padding: 12px 16px;
        font-size: 15px;
        line-height: 1.3;
        border-radius: 12px;
    }
}

/* Native reviews: one comments loop and one form, shared by both layouts. */
.aquarum-product-reviews .woocommerce-Reviews { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; align-items:start; padding:24px 0; }
.aquarum-product-reviews #comments,
.aquarum-product-reviews #review_form_wrapper { min-width:0; padding:28px; background:#fff; border:1px solid #dde7ef; border-radius:20px; }
.aquarum-product-reviews .woocommerce-Reviews-title,
.aquarum-product-reviews .comment-reply-title { display:block; margin:0 0 22px; font-size:23px; line-height:1.35; font-weight:600; overflow-wrap:anywhere; }
.aquarum-product-reviews .commentlist { list-style:none; margin:0; padding:0; }
.aquarum-product-reviews .commentlist > li { list-style:none; margin:0; padding:22px 0; border-bottom:1px solid #e6edf3; }
.aquarum-product-reviews .commentlist > li:first-child { padding-top:0; }
.aquarum-product-reviews .commentlist > li:last-child { padding-bottom:0; border-bottom:0; }
.aquarum-product-reviews .comment_container { display:flex; gap:14px; }
.aquarum-product-reviews .avatar { width:44px; height:44px; flex:0 0 44px; border-radius:50%; object-fit:cover; }
.aquarum-product-reviews .comment-text { flex:1; min-width:0; }
.aquarum-product-reviews .meta { margin:8px 0; color:#63798b; font-size:13px; line-height:1.5; }
.aquarum-product-reviews .woocommerce-review__author { color:#182f40; font-size:15px; }
.aquarum-product-reviews .description { font-size:15px; line-height:1.65; color:#405566; overflow-wrap:anywhere; }
.aquarum-product-reviews .description p { margin:0 0 10px; }
.aquarum-product-reviews .comment-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.aquarum-product-reviews .comment-form > * { grid-column:1/-1; margin:0; min-width:0; }
.aquarum-product-reviews .comment-form-author { grid-column:1; }
.aquarum-product-reviews .comment-form-email { grid-column:2; }
.aquarum-product-reviews label { display:block; margin-bottom:8px; font-size:14px; line-height:1.5; color:#243f52; }
.aquarum-product-reviews input:not([type=checkbox]):not([type=submit]),
.aquarum-product-reviews textarea,
.aquarum-product-reviews select { box-sizing:border-box; width:100%; border:1px solid #d5e2ec; border-radius:12px; background:#f7fafc; padding:12px 14px; font-size:16px; line-height:1.5; color:#152c3e; }
.aquarum-product-reviews textarea { min-height:150px; resize:vertical; }
.aquarum-product-reviews .comment-notes { color:#63798b; font-size:13px; line-height:1.6; }
.aquarum-product-reviews .comment-form-cookies-consent { display:flex; align-items:flex-start; gap:10px; }
.aquarum-product-reviews .comment-form-cookies-consent input { width:18px; height:18px; flex:0 0 18px; margin:2px 0 0; }
.aquarum-product-reviews .comment-form-cookies-consent label { margin:0; font-size:12px; color:#63798b; }
.aquarum-product-reviews .submit { width:auto; min-height:46px; padding:12px 28px; border:0; border-radius:12px; background:#0072bc; color:#fff; font-size:15px; cursor:pointer; }
.aquarum-product-reviews :is(input,textarea,select,a):focus-visible { outline:2px solid #0072bc; outline-offset:3px; }
.aquarum-product-reviews p.stars { margin:0; }
.aquarum-product-reviews p.stars > span { display:flex; gap:5px; }
.aquarum-product-reviews p.stars a { position:relative; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; font-size:0; text-decoration:none; color:#bac9d4; border-radius:6px; }
.aquarum-product-reviews p.stars a::before { content:'★'; font-family:Arial,sans-serif; font-size:30px; line-height:1; }
.aquarum-product-reviews p.stars.selected a.active,
.aquarum-product-reviews p.stars.selected a:has(~ a.active),
.aquarum-product-reviews p.stars a:hover,
.aquarum-product-reviews p.stars a:has(~ a:hover) { color:#e9a315; }
.aquarum-product-reviews .star-rating { position:relative; display:block; overflow:hidden; width:5.5em; height:1.2em; font-size:18px; line-height:1.2; letter-spacing:.1em; color:#bac9d4; }
.aquarum-product-reviews .star-rating::before { content:'★★★★★'; position:absolute; inset:0; }
.aquarum-product-reviews .star-rating > span { position:absolute; top:0; left:0; height:100%; overflow:hidden; text-indent:-9999px; }
.aquarum-product-reviews .star-rating > span::before { content:'★★★★★'; position:absolute; top:0; left:0; color:#e9a315; text-indent:0; }
@media(max-width:1024px) { .aquarum-product-reviews .woocommerce-Reviews { grid-template-columns:minmax(0,1fr); gap:20px; } }
@media(max-width:768px) {
    .aquarum-product-reviews #comments,.aquarum-product-reviews #review_form_wrapper { padding:20px; border-radius:16px; }
    .aquarum-product-reviews .woocommerce-Reviews-title,.aquarum-product-reviews .comment-reply-title { font-size:20px; }
    .aquarum-product-reviews .comment-form { grid-template-columns:minmax(0,1fr); }
    .aquarum-product-reviews .comment-form-author,.aquarum-product-reviews .comment-form-email { grid-column:1/-1; }
}
