/* Pack inherits title typography; price rules are deliberately untouched. */
.miski-shop-section .miski-product-card .miski-product-content h3.miski-title-with-pack,
.miski-shop-section .miski-shop-track.is-mobile-masonry .miski-product-card .miski-product-content h3.miski-title-with-pack {
    display: block !important; height: auto !important; max-height: none !important;
    overflow: visible !important; -webkit-line-clamp: unset !important;
}
.miski-shop-section h3.miski-title-with-pack > a { display: block; }
.miski-shop-section h3.miski-title-with-pack .miski-product-name {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    overflow: hidden;
}
.miski-shop-section h3.miski-title-with-pack .miski-pack-line {
    display: block !important; margin: 0 !important; padding: 0 !important;
    font: inherit !important; color: inherit !important; letter-spacing: inherit !important;
    text-transform: none !important; white-space: normal; line-height: inherit !important;
}
/* Single product: generous image, compact details, one purchase control. */
body.miski-modern-product { --miski-ink:#123456; --miski-line:#e4eaf0; --miski-soft:#f5f8fb; }
body.miski-modern-product div.product[id^="product-"] {
    display:grid !important; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr) !important;
    align-items:start !important; gap:24px 30px !important; width:100% !important;
    max-width:1320px !important; margin:12px auto 30px !important; padding:0 !important;
}
body.miski-modern-product div.product[id^="product-"]::before,
body.miski-modern-product div.product[id^="product-"]::after { display:none !important; }
body.miski-modern-product div.product[id^="product-"] > :not(.images):not(.summary) { grid-column:1/-1; min-width:0; }
body.miski-modern-product div.product[id^="product-"] > .images,
body.miski-modern-product div.product[id^="product-"] > .summary {
    width:100% !important; max-width:none !important; min-width:0 !important;
    float:none !important; margin:0 !important; clear:none !important;
}
body.miski-modern-product div.product[id^="product-"] > .images { grid-column:1; padding:0 !important; border:1px solid var(--miski-line); border-radius:20px; background:#fff; overflow:hidden; }
body.miski-modern-product div.product[id^="product-"] > .summary { grid-column:2; padding:6px 0 0 !important; }
body.miski-modern-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { max-width:none !important; margin:0 !important; }
body.miski-modern-product .woocommerce-product-gallery .flex-viewport { width:100% !important; max-width:none !important; }
body.miski-modern-product .woocommerce-product-gallery__image { padding:0 !important; }
body.miski-modern-product .woocommerce-product-gallery__image img:not(.zoomImg) {
    display:block !important; width:100% !important; max-width:none !important; height:auto !important;
    aspect-ratio:1/1; object-fit:contain; object-position:center; border-radius:16px;
}
body.miski-modern-product .woocommerce-product-gallery .flex-control-thumbs { display:flex !important; gap:8px; padding:12px !important; margin:0 !important; }
body.miski-modern-product .woocommerce-product-gallery .flex-control-thumbs li { float:none !important; width:72px !important; max-width:22% !important; }
body.miski-modern-product .woocommerce-product-gallery .flex-control-thumbs img { border-radius:9px; border:1px solid var(--miski-line); }
body.miski-modern-product div.product .product_title {
    font-family:inherit !important; font-size:clamp(24px,2.5vw,34px) !important; font-weight:700 !important;
    line-height:1.2 !important; letter-spacing:-.4px !important; color:var(--miski-ink) !important; margin:0 0 14px !important;
}
body.miski-modern-product .miski-single-pack { display:block; margin:5px 0 0; font:inherit; color:inherit; }
body.miski-modern-product .summary .price,
body.miski-modern-product .summary .price .amount { color:var(--miski-ink) !important; font-family:inherit !important; font-size:25px !important; font-weight:700 !important; line-height:1.3 !important; }
body.miski-modern-product .summary .price { margin:12px 0 !important; }
body.miski-modern-product .summary .price ins { text-decoration:none; background:none; }
body.miski-modern-product .summary .price del { opacity:.5; }
body.miski-modern-product .summary form.cart {
    display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:10px !important;
    padding:12px !important; margin:18px 0 !important; border:1px solid var(--miski-line) !important;
    border-radius:15px !important; background:var(--miski-soft) !important; box-shadow:none !important;
}
body.miski-modern-product .summary form.cart .variations,
body.miski-modern-product .summary form.cart .single_variation_wrap,
body.miski-modern-product .summary form.cart .group_table { width:100%; }
body.miski-modern-product .summary form.cart .quantity {
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    flex:0 0 auto !important; width:auto !important; min-width:0 !important; height:46px !important;
    padding:2px !important; float:none !important; margin:0 !important; background:#fff !important;
    border:1px solid #dde5ed !important; border-radius:11px !important; box-shadow:none !important;
}
/* Theme controls use varying classes. Keep only the two explicit Miski buttons. */
body.miski-modern-product .summary form.cart .quantity :is(button,a,input[type="button"],input[type="submit"],[role="button"]):not(.miski-single-step) { display:none !important; }
body.miski-modern-product .summary form.cart .quantity.miski-single-quantity > :not(input.qty):not(.miski-single-step):not(.screen-reader-text):not(input[type="hidden"]) { display:none !important; }
body.miski-modern-product .summary form.cart .quantity:has(input.qty[type="hidden"]) { display:none !important; }
body.miski-modern-product .summary form.cart .quantity input.qty {
    display:block !important; flex:0 0 38px !important; width:38px !important; min-width:38px !important; max-width:38px !important;
    height:40px !important; min-height:0 !important; padding:0 !important; margin:0 !important; border:0 !important;
    border-radius:0 !important; background:transparent !important; box-shadow:none !important; text-align:center !important;
    color:var(--miski-ink) !important; font-family:inherit !important; font-size:14px !important; font-weight:600 !important;
    line-height:40px !important; appearance:textfield; -moz-appearance:textfield;
}
body.miski-modern-product .quantity input.qty::-webkit-inner-spin-button,
body.miski-modern-product .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
body.miski-modern-product .summary form.cart .quantity .miski-single-step {
    position:static !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;
    flex:0 0 34px !important; width:34px !important; min-width:34px !important; max-width:34px !important;
    height:40px !important; min-height:40px !important; padding:0 !important; margin:0 !important; border:0 !important;
    border-radius:8px !important; background:#fff !important; color:var(--miski-ink) !important; box-shadow:none !important;
    font-family:inherit !important; font-size:20px !important; font-weight:500 !important; line-height:1 !important; cursor:pointer;
}
body.miski-modern-product .summary form.cart .quantity .miski-single-step:hover { background:#edf2f7 !important; }
body.miski-modern-product .summary form.cart .single_add_to_cart_button {
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    flex:1 1 130px !important; width:auto !important; min-width:0 !important; height:46px !important; min-height:46px !important;
    padding:0 18px !important; margin:0 !important; float:none !important; border:0 !important; border-radius:11px !important;
    background:var(--miski-ink) !important; color:#fff !important; box-shadow:none !important; font-family:inherit !important;
    font-size:14px !important; font-weight:600 !important; line-height:1.2 !important; letter-spacing:0 !important; text-transform:none !important;
}
body.miski-modern-product .summary form.cart .single_add_to_cart_button.miski-single-added { background:#168653 !important; }
body.miski-modern-product .summary form.cart[aria-busy="true"] { opacity:.7; }
body.miski-modern-product .summary form.cart button:disabled { cursor:wait; opacity:.55 !important; }
body.miski-modern-product .miski-single-feedback { width:100%; color:#168653; font-size:12px !important; margin:0 !important; }
body.miski-modern-product .miski-single-feedback:empty { display:none; }
body.miski-modern-product .miski-single-feedback.is-error { color:#b03333; }
body.miski-modern-product .miski-single-cart-link { color:var(--miski-ink); font-size:12px; font-weight:600; }
body.miski-modern-product [hidden] { display:none !important; }
body.miski-modern-product .summary .product_meta { padding:14px 0 0 !important; margin:0 !important; border-top:1px solid var(--miski-line) !important; font-size:13px !important; line-height:1.6 !important; color:#617285; }
body.miski-modern-product .summary .product_meta > span { display:block !important; padding:0 !important; margin:6px 0 !important; border:0 !important; }
body.miski-modern-product .miski-product-note { font-size:14px !important; font-weight:500; line-height:1.6 !important; color:var(--miski-ink); margin:0 0 12px !important; padding:0 !important; }
body.miski-modern-product .miski-product-note p { margin:0 0 8px !important; }
body.miski-modern-product .woocommerce-tabs { width:100%; margin:0 !important; padding:0 !important; }
body.miski-modern-product .woocommerce-tabs h2 { font-size:18px !important; line-height:1.3 !important; margin:0 0 12px !important; }
body.miski-modern-product .woocommerce-tabs .panel { margin:0 !important; padding:16px !important; border:1px solid var(--miski-line); border-radius:14px; }
body.miski-modern-product table.shop_attributes { border:0; font-size:13px; }
body.miski-modern-product table.shop_attributes th,
body.miski-modern-product table.shop_attributes td { padding:8px 12px; border-color:var(--miski-line); font-style:normal; }

/* Feedback is its own compact section, not a Reviews (0) tab. */
body.miski-modern-product .miski-feedback {
    width:100%; min-width:0; margin:0 !important; padding:18px !important;
    border:1px solid var(--miski-line); border-radius:16px; background:linear-gradient(135deg,#fafbfd,#fff);
}
body.miski-modern-product .miski-feedback-header { display:flex; align-items:center; gap:12px; padding:0; margin:0 0 12px; }
body.miski-modern-product .miski-feedback-mark { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:12px; background:#f3eadc; color:#a77837; font-size:22px; }
body.miski-modern-product .miski-feedback h2#miski-feedback-heading { font-family:inherit !important; font-size:18px !important; font-weight:700 !important; line-height:1.3 !important; letter-spacing:0 !important; color:var(--miski-ink) !important; margin:0 0 3px !important; padding:0 !important; }
body.miski-modern-product .miski-feedback-header p { margin:0 !important; font-size:13px !important; line-height:1.4 !important; color:#617285; }
body.miski-modern-product .miski-feedback-score { margin-left:auto; flex-shrink:0; text-align:right; }
body.miski-modern-product .miski-feedback-score strong { display:block; font-size:24px; line-height:1.2; color:var(--miski-ink); }
body.miski-modern-product .miski-feedback-score small { font-size:12px; font-weight:400; color:#617285; }
body.miski-modern-product .miski-feedback-score .star-rating { float:none !important; margin:4px 0 0 auto; color:#c9954b; font-size:12px; }
body.miski-modern-product .miski-feedback #reviews { margin:0 !important; padding:0 !important; font-size:13px !important; line-height:1.6 !important; }
body.miski-modern-product .miski-feedback #reviews .woocommerce-Reviews-title,
body.miski-modern-product .miski-feedback #reviews #comments > h2,
body.miski-modern-product .miski-feedback #reviews .woocommerce-noreviews { display:none !important; }
body.miski-modern-product .miski-feedback #reviews #comments { margin:0 !important; padding:0 !important; }
body.miski-modern-product .miski-feedback #reviews ol.commentlist { padding:0 !important; margin:0 !important; list-style:none !important; }
body.miski-modern-product .miski-feedback #reviews ol.commentlist li { border:1px solid var(--miski-line); border-radius:12px; margin:0 0 10px !important; padding:14px !important; background:white; }
body.miski-modern-product .miski-feedback #reviews ol.commentlist li img.avatar { position:static; float:left; width:34px; height:34px; padding:0; border:0; border-radius:50%; margin:0 10px 0 0; }
body.miski-modern-product .miski-feedback #reviews .comment-text { margin:0 0 0 44px !important; padding:0 !important; border:0 !important; }
body.miski-modern-product .miski-feedback #reviews .comment-text .meta { font-size:12px !important; color:var(--miski-ink); margin:0 0 8px !important; }
body.miski-modern-product .miski-feedback #reviews .description p { font-size:13px !important; line-height:1.6 !important; margin:0 !important; }
body.miski-modern-product .miski-feedback #reviews .star-rating { color:#c9954b; font-size:12px; }
body.miski-modern-product .miski-review-disclosure { margin:0 !important; border-top:1px solid var(--miski-line); border-radius:0; background:transparent; }
body.miski-modern-product .miski-review-disclosure > summary { display:flex; align-items:center; justify-content:space-between; list-style:none; cursor:pointer; padding:12px 0 0 !important; font-family:inherit; font-size:13px !important; line-height:1.4; font-weight:600; color:var(--miski-ink); }
body.miski-modern-product .miski-review-disclosure > summary::-webkit-details-marker { display:none; }
body.miski-modern-product .miski-review-disclosure > summary::after { content:'+'; font-size:18px; }
body.miski-modern-product .miski-review-disclosure[open] > summary::after { content:'−'; }
body.miski-modern-product #review_form_wrapper { margin:0 !important; padding:14px 0 0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
body.miski-modern-product #review_form,
body.miski-modern-product #review_form #respond,
body.miski-modern-product #review_form .comment-respond,
body.miski-modern-product #review_form .comment-form,
body.miski-modern-product #review_form fieldset { width:100% !important; max-width:none !important; min-width:0; padding:0 !important; margin:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
body.miski-modern-product #review_form .comment-reply-title { font-size:16px !important; line-height:1.3 !important; margin:0 0 12px !important; }
body.miski-modern-product .miski-review-disclosure .comment-reply-title { display:none !important; }
body.miski-modern-product #review_form .comment-form > p,
body.miski-modern-product #review_form .comment-form-rating { padding:0 !important; margin:0 0 12px !important; }
body.miski-modern-product #review_form label { display:inline-block; font-size:12px !important; font-weight:500 !important; line-height:1.4 !important; text-transform:none !important; letter-spacing:0 !important; margin:0 0 5px !important; color:var(--miski-ink); }
body.miski-modern-product #review_form :is(input[type="text"],input[type="email"]) { width:100%; height:38px !important; min-height:38px !important; padding:8px 12px !important; border:1px solid #dde5ed; border-radius:9px; font-size:13px !important; background:white !important; box-sizing:border-box; }
body.miski-modern-product #review_form textarea#comment { width:100% !important; max-width:100%; height:80px !important; min-height:80px !important; padding:10px 12px !important; margin:0 !important; border:1px solid #dde5ed !important; border-radius:9px !important; box-shadow:none !important; font-family:inherit !important; font-size:13px !important; line-height:1.5 !important; resize:vertical; background:white; box-sizing:border-box; }
body.miski-modern-product #review_form p.stars { font-size:17px !important; line-height:1 !important; margin:4px 0 12px !important; }
body.miski-modern-product #review_form p.stars a { color:#c9954b !important; }
body.miski-modern-product #review_form input#submit { width:auto !important; height:38px !important; min-height:38px !important; padding:0 16px !important; margin:0 !important; border:0 !important; border-radius:9px !important; box-shadow:none !important; background:var(--miski-ink) !important; color:white !important; font-family:inherit !important; font-size:13px !important; font-weight:600 !important; line-height:38px !important; text-transform:none !important; letter-spacing:0 !important; }
body.miski-modern-product #review_form .comment-form-cookies-consent label { display:inline; font-size:11px !important; }

/* Tag-led recommendations: native touch scrolling, arrows and keyboard access. */
body.miski-modern-product .miski-discovery { width:100%; min-width:0; margin:0 !important; padding:0 !important; }
body.miski-modern-product .miski-discovery-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; }
body.miski-modern-product .miski-discovery h2#miski-discovery-heading { margin:0 0 4px !important; font-family:inherit !important; font-size:21px !important; font-weight:700 !important; line-height:1.3 !important; letter-spacing:-.2px !important; color:var(--miski-ink) !important; }
body.miski-modern-product .miski-discovery-header a { font-size:12px; color:#617285; }
body.miski-modern-product .miski-discovery-arrows { display:flex; gap:6px; }
body.miski-modern-product .miski-discovery-arrows button { display:grid; place-items:center; width:36px !important; height:36px !important; min-width:36px !important; min-height:36px !important; margin:0 !important; padding:0 !important; border:1px solid var(--miski-line) !important; border-radius:50% !important; background:#fff !important; color:var(--miski-ink) !important; font-size:18px !important; line-height:1 !important; cursor:pointer; }
body.miski-modern-product .miski-discovery-arrows button:disabled { opacity:.3; cursor:default; }
body.miski-modern-product .miski-discovery-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/4); gap:16px; width:100%; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#d4dfe9 transparent; padding:0 0 10px; }
body.miski-modern-product .miski-discovery-card { min-width:0; overflow:hidden; border:1px solid var(--miski-line); border-radius:15px; background:#fff; scroll-snap-align:start; }
body.miski-modern-product .miski-discovery-image { display:block; aspect-ratio:1/1; background:var(--miski-soft); overflow:hidden; }
body.miski-modern-product .miski-discovery-image img { display:block; width:100%; height:100%; object-fit:contain; margin:0; }
body.miski-modern-product .miski-discovery-info { padding:12px; }
body.miski-modern-product .miski-discovery h3 { margin:0 0 8px !important; font-size:14px !important; font-weight:600 !important; line-height:1.4 !important; color:var(--miski-ink) !important; }
body.miski-modern-product .miski-discovery h3 a { color:inherit; text-decoration:none; }
body.miski-modern-product .miski-discovery h3 span { display:block; font:inherit; color:inherit; }
body.miski-modern-product .miski-discovery-price,
body.miski-modern-product .miski-discovery-price .amount { font-family:inherit !important; font-size:14px !important; font-weight:700 !important; color:var(--miski-ink) !important; line-height:1.3 !important; }
body.miski-modern-product .miski-discovery-price ins { text-decoration:none; background:none; }
body.miski-modern-product .miski-discovery-price del { opacity:.5; }
body.miski-modern-product .miski-discovery-view { display:inline-block; color:var(--miski-ink); font-size:12px; font-weight:600; margin:12px 0 0; }
.miski-single-toast { position:fixed; z-index:999999; bottom:20px; left:50%; transform:translate(-50%,18px); display:flex; align-items:center; gap:16px; width:max-content; max-width:calc(100% - 32px); padding:14px 18px; border-radius:14px; background:#123456; color:#fff; box-shadow:0 12px 36px #12345630; opacity:0; visibility:hidden; transition:opacity .2s,transform .2s,visibility .2s; font-size:13px; box-sizing:border-box; }
.miski-single-toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }
.miski-single-toast.is-error { background:#923434; }
.miski-single-toast a { color:#fff; white-space:nowrap; text-decoration:underline; }
body.miski-modern-product :is(button,a,input,textarea,select,summary):focus-visible { outline:2px solid #3977a5; outline-offset:3px; }
body.miski-modern-product .miski-feedback,
body.miski-modern-product .miski-discovery,
body.miski-modern-product .miski-feedback * ,
body.miski-modern-product .miski-discovery * { box-sizing:border-box; }
@media (min-width:1024px) {
    body.miski-modern-product .woocommerce-product-gallery .woocommerce-product-gallery__image img:not(.zoomImg) { min-width:100%; }
}
@media (max-width:1023px) and (min-width:768px) {
    body.miski-modern-product .miski-discovery-track { grid-auto-columns:calc((100% - 32px)/3); }
}
@media (max-width:767px) {
    body.miski-modern-product div.product[id^="product-"] { grid-template-columns:minmax(0,1fr) !important; gap:20px !important; margin:8px auto 24px !important; }
    body.miski-modern-product div.product[id^="product-"] > .images,
    body.miski-modern-product div.product[id^="product-"] > .summary { grid-column:1 !important; width:100% !important; }
    body.miski-modern-product div.product[id^="product-"] > .summary { padding:0 !important; }
    body.miski-modern-product .summary form.cart { margin:16px 0 !important; padding:10px !important; gap:8px !important; }
    body.miski-modern-product .miski-feedback { padding:14px !important; }
    body.miski-modern-product .miski-feedback h2#miski-feedback-heading { font-size:16px !important; }
    body.miski-modern-product .miski-feedback-header p { font-size:12px !important; }
    body.miski-modern-product .miski-feedback-score strong { font-size:20px; }
    body.miski-modern-product .miski-discovery h2#miski-discovery-heading { font-size:18px !important; }
    body.miski-modern-product .miski-discovery-track { grid-auto-columns:calc((100% - 12px)/2); gap:12px; }
    body.miski-modern-product .miski-discovery h3 { font-size:12px !important; }
    body.miski-modern-product .miski-discovery-info { padding:10px; }
    .miski-single-toast { bottom:16px; gap:12px; padding:12px 14px; }
}
@media (prefers-reduced-motion:reduce) { .miski-single-toast { transition:none !important; } }
