/* Product detail template */
/* This file maps cleanly to a future WooCommerce single-product template. */
.breadcrumbs {
    max-width:var(--max);
    margin:auto;
    padding:22px 28px;
    color:var(--muted);
    font-size:11px;
    display:flex;
    gap:9px
}
.breadcrumbs strong {
    color:var(--ink);
    font-weight:500
}
.product-detail {
    max-width:var(--max);
    margin:0 auto 110px;
    padding:18px 28px 0;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
    gap:80px
}
.product-gallery {
    min-width:0
}
.gallery-main {
    height:620px
}
.product-pack-large {
    transform:scale(1.55) rotate(-3deg)
}
.gallery-main[data-view="tablet"] .product-pack,.gallery-main[data-view="machine"] .product-pack {
    display:none
}
.gallery-main[data-view="tablet"] {
    background:radial-gradient(circle at center,#f3eadf 0 9%,#b99a8f 9.5% 11%,#ded3c6 11.5%)
}
.gallery-main[data-view="tablet"]:after {
    content:"M";
    position:absolute;
    width:145px;
    height:145px;
    border-radius:50%;
    background:#f8f2e9;
    color:#a5877d;
    display:grid;
    place-items:center;
    font:600 32px Manrope;
    box-shadow:0 22px 40px rgba(62,43,32,.16)
}
.gallery-main[data-view="machine"]:after {
    content:"⌁";
    position:absolute;
    width:270px;
    height:300px;
    border:12px solid #4e4943;
    border-radius:28px 28px 55px 55px;
    color:#4e4943;
    display:grid;
    place-items:center;
    font-size:90px;
    background:linear-gradient(145deg,#c8c3ba,#898984);
    box-shadow:0 25px 40px rgba(62,43,32,.22)
}
.gallery-thumbs {
    display:flex;
    gap:10px;
    margin-top:12px
}
.gallery-thumb {
    width:78px;
    height:78px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#ede2d6;
    cursor:pointer;
    display:grid;
    place-items:center
}
.gallery-thumb.is-active {
    border:2px solid var(--green)
}
.mini-pack {
    width:24px;
    height:40px;
    background:#f8f2e9;
    box-shadow:0 5px 8px rgba(0,0,0,.15)
}
.tablet-shape {
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#faf7f1;
    color:#9a7d73;
    font-size:10px
}
.mini-machine {
    font-size:30px
}
.product-summary {
    padding-top:18px
}
.product-summary h1 {
    font:600 clamp(38px,4vw,56px)/1.08 Manrope;
    letter-spacing:-.05em;
    margin:0 0 13px
}
.rating {
    display:flex;
    gap:12px;
    align-items:center;
    font-size:12px
}
.rating span,.review-meta span,.review-score>span {
    color:#9a694e;
    letter-spacing:.1em
}
.rating a {
    color:var(--muted);
    border-bottom:1px solid var(--line)
}
.product-lead {
    font-size:17px;
    color:var(--muted);
    margin:27px 0
}
.price-row {
    display:flex;
    align-items:baseline;
    gap:15px;
    border-bottom:1px solid var(--line);
    padding-bottom:25px
}
.price-row strong {
    font:600 25px Manrope
}
.price-row span {
    font-size:11px;
    color:var(--muted)
}
.product-highlights {
    list-style:none;
    padding:20px 0;
    margin:0
}
.product-highlights li {
    padding:5px 0;
    font-size:13px
}
.product-highlights li:before {
    content:"✓";
    color:var(--green);
    font-weight:700;
    margin-right:9px
}
.purchase-row {
    display:grid;
    grid-template-columns:120px 1fr;
    gap:10px
}
.quantity {
    display:grid;
    grid-template-columns:35px 1fr 35px;
    border:1px solid var(--line);
    border-radius:7px;
    overflow:hidden;
    background:#fbf5ed
}
.quantity button {
    border:0;
    background:transparent;
    cursor:pointer
}
.quantity input {
    width:100%;
    text-align:center;
    border:0;
    background:transparent;
    -moz-appearance:textfield
}
.quantity input::-webkit-inner-spin-button {
    display:none
}
.product-add {
    width:100%
}
.stock-message {
    font-size:11px;
    color:var(--muted)
}
.stock-message span {
    display:inline-block;
    width:7px;
    height:7px;
    background:#668053;
    border-radius:50%;
    margin-right:6px
}
.product-assurances {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:25px 0
}
.product-assurances>div {
    display:flex;
    align-items:center;
    gap:11px;
    padding:13px;
    background:#eee3d5;
    border-radius:8px
}
.product-assurances b {
    color:var(--green)
}
.product-assurances span,.product-assurances strong,.product-assurances small {
    display:block
}
.product-assurances strong {
    font-size:11px
}
.product-assurances small {
    color:var(--muted);
    font-size:9px
}
.product-accordions {
    border-top:1px solid var(--line)
}
.product-accordions details {
    border-bottom:1px solid var(--line);
    padding:16px 0
}
.product-accordions summary {
    list-style:none;
    cursor:pointer;
    font-weight:600;
    font-size:13px;
    display:flex;
    justify-content:space-between
}
.product-accordions summary::-webkit-details-marker {
    display:none
}
.product-accordions details[open] summary span {
    transform:rotate(45deg)
}
.product-accordions p {
    font-size:12px;
    color:var(--muted);
    margin-bottom:4px
}
.product-benefit-band {
    max-width:var(--max);
    margin:auto;
    background:#5d4444;
    color:#fff;
    border-radius:18px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    padding:45px
}
.product-benefit-band>div {
    padding:0 35px;
    border-right:1px solid rgba(255,255,255,.15)
}
.product-benefit-band>div:first-child {
    padding-left:0
}
.product-benefit-band>div:last-child {
    border:0
}
.product-benefit-band span {
    font-size:9px;
    color:#dfc4ad
}
.product-benefit-band h2 {
    font:600 17px Manrope;
    margin:12px 0 5px
}
.product-benefit-band p {
    font-size:12px;
    color:rgba(255,255,255,.67);
    margin:0
}
.how-to-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
}
.how-to-grid article {
    background:#eadbca;
    border-radius:16px;
    padding:28px;
    min-height:260px
}
.how-to-grid article>span {
    font-size:10px;
    color:var(--muted)
}
.how-icon {
    width:48px;
    height:48px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#5d4444;
    color:#fff;
    margin:34px 0 25px
}
.how-to-grid h3 {
    font:600 18px Manrope;
    margin:0 0 8px
}
.how-to-grid p {
    font-size:13px;
    color:var(--muted)
}
.compatibility {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    align-items:center;
    background:linear-gradient(120deg,#e9dac9,#f1e6d8);
    max-width:none;
    padding-left:max(28px,calc((100vw - 1240px)/2));
    padding-right:max(28px,calc((100vw - 1240px)/2))
}
.compatibility h2,.bundle-upsell h2 {
    font:600 42px/1.08 Manrope;
    letter-spacing:-.045em;
    margin:0 0 20px
}
.compatibility>div:first-child>p:not(.eyebrow) {
    color:var(--muted);
    max-width:500px;
    margin-bottom:25px
}
.compatibility-card {
    background:#f8f1e8;
    border-radius:16px;
    padding:35px;
    box-shadow:0 18px 40px rgba(74,51,35,.07)
}
.compatibility-card>span {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--muted)
}
.compatibility-card ul {
    list-style:none;
    padding:15px 0;
    margin:0
}
.compatibility-card li {
    border-bottom:1px solid var(--line);
    padding:15px 0;
    font-weight:600;
    font-size:13px
}
.compatibility-card li b {
    display:inline-block;
    width:26px;
    color:var(--green)
}
.compatibility-card small {
    color:var(--muted)
}
.reviews {
    display:grid;
    grid-template-columns:1fr 2fr;
    gap:80px;
    align-items:center
}
.review-score strong {
    display:block;
    font:600 70px/1 Manrope
}
.review-score>span {
    display:block;
    margin:8px 0
}
.review-score>p:last-child {
    font-size:11px;
    color:var(--muted)
}
.featured-review {
    border-left:1px solid var(--line);
    padding-left:70px
}
.review-meta {
    display:flex;
    justify-content:space-between
}
.review-meta small {
    color:var(--muted)
}
.featured-review blockquote {
    font:500 25px/1.45 Manrope;
    letter-spacing:-.02em;
    margin:30px 0
}
.featured-review>p {
    font-size:12px;
    color:var(--muted)
}
.bundle-upsell {
    background:#dfcdbc;
    border-radius:20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
    margin-bottom:110px
}
.upsell-visual {
    min-height:390px;
    display:flex;
    align-items:center;
    justify-content:center
}
.upsell-visual .product-pack {
    transform:rotate(-8deg) translateX(12px)
}
.upsell-visual .product-pack+.product-pack {
    transform:rotate(7deg) translateX(-12px)
}
.bundle-upsell>div:last-child {
    padding-right:50px
}
.bundle-upsell>div:last-child>p:not(.eyebrow) {
    color:var(--muted);
    max-width:430px
}
.upsell-price {
    display:flex;
    gap:12px;
    align-items:center;
    margin:22px 0
}
.upsell-price s {
    color:var(--muted);
    font-size:13px
}
.upsell-price strong {
    font:600 24px Manrope
}
/* Product photography */
.product-gallery-photo {
    object-position: center
}
.gallery-thumb {
    padding: 0;
    overflow: hidden
}
.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}
.upsell-visual {
    gap: 14px;
    overflow: hidden
}
.upsell-visual img {
    width: 46%;
    max-width: 280px;
    aspect-ratio: 4/5;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 20px 42px rgba(62,43,32,.18)
}
.upsell-visual img:first-child {
    transform: rotate(-7deg) translateX(14px)
}
.upsell-visual img:last-child {
    transform: rotate(6deg) translateX(-14px)
}
@media(max-width:900px) {
    .product-detail {
        grid-template-columns:1fr;
        gap:35px
    }
    .gallery-main {
        height:540px
    }
    .product-summary {
        max-width:650px
    }
    .product-benefit-band {
        margin:0 28px
    }
    .how-to-grid {
        grid-template-columns:1fr
    }
    .how-to-grid article {
        min-height:auto
    }
    .compatibility,.reviews,.bundle-upsell {
        grid-template-columns:1fr;
        gap:40px
    }
    .featured-review {
        border-left:0;
        border-top:1px solid var(--line);
        padding:35px 0 0
    }
    .bundle-upsell>div:last-child {
        padding:0 30px 45px
    }
    .upsell-visual {
        min-height:330px
    }
}
@media(max-width:600px) {
    .breadcrumbs {
        padding:18px 20px
    }
    .product-detail {
        padding:4px 20px 0;
        margin-bottom:70px
    }
    .gallery-main {
        height:420px
    }
    .product-pack-large {
        transform:scale(1.2) rotate(-3deg)
    }
    .purchase-row {
        grid-template-columns:100px 1fr
    }
    .product-assurances {
        grid-template-columns:1fr
    }
    .product-benefit-band {
        margin:0 20px;
        padding:20px;
        grid-template-columns:1fr
    }
    .product-benefit-band>div,.product-benefit-band>div:first-child {
        padding:18px 0;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.15)
    }
    .product-benefit-band>div:last-child {
        border:0
    }
    .compatibility h2,.bundle-upsell h2 {
        font-size:34px
    }
    .reviews {
        gap:20px
    }
    .featured-review blockquote {
        font-size:20px
    }
    .bundle-upsell {
        margin:0 20px 70px;
        padding:0
    }
    .upsell-visual {
        min-height:300px
    }
    .upsell-visual .product-pack {
        transform:scale(.8) rotate(-8deg) translateX(25px)
    }
    .upsell-visual .product-pack+.product-pack {
        transform:scale(.8) rotate(7deg) translateX(-25px)
    }
}
