body.bskb-premium-kit.single-product div.product {
    display: none !important;
}

.bskb-premium-below-product {
    width: min(1500px, calc(100vw - 56px));
    max-width: 1500px;
    margin: 0 auto 64px;
    clear: both;
}

/* BayShore Kit Builder premium storefront — v0.3.5 */
body.bskb-premium-kit.single-product div.product > .woocommerce-product-gallery,
body.bskb-premium-kit.single-product div.product > .summary {
    display: none !important;
}

/* The premium hero is rendered before div.product so it is not trapped in a
   theme's 50% product column. Keep all containing wrappers open and unclipped. */
body.bskb-premium-kit.single-product,
body.bskb-premium-kit.single-product #page,
body.bskb-premium-kit.single-product #main-content,
body.bskb-premium-kit.single-product .site,
body.bskb-premium-kit.single-product .site-content,
body.bskb-premium-kit.single-product .content-area,
body.bskb-premium-kit.single-product .site-main,
body.bskb-premium-kit.single-product .entry-content,
body.bskb-premium-kit.single-product .woocommerce {
    overflow: visible !important;
}

body.bskb-premium-kit.single-product div.product {
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.bskb-premium-layout {
    --bskb-navy: #06224a;
    --bskb-blue: #1554d1;
    --bskb-border: #dfe7f1;
    --bskb-muted: #66758a;
    position: relative;
    left: 50%;
    z-index: 1;
    display: grid !important;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
    align-items: start;
    gap: clamp(44px, 4.2vw, 76px);
    width: min(1500px, calc(100vw - 56px)) !important;
    max-width: 1500px !important;
    min-width: 0 !important;
    margin: 24px 0 64px !important;
    padding: 0 !important;
    transform: translateX(-50%);
    color: var(--bskb-navy);
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.bskb-premium-layout,
.bskb-premium-layout *,
.bskb-premium-layout *::before,
.bskb-premium-layout *::after { box-sizing: border-box; }

.bskb-premium-gallery,
.bskb-premium-summary {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bskb-premium-main-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--bskb-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: none !important;
}

.bskb-lightbox-link {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: clamp(24px, 3vw, 44px);
    background: #fff;
}

.bskb-main-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 620px !important;
    object-fit: contain !important;
    transition: opacity .18s ease, transform .25s ease;
}
.bskb-main-image.is-changing { opacity: .25; transform: scale(.988); }

.bskb-sale-badge {
    position: absolute;
    z-index: 3;
    top: 20px;
    left: 20px;
    padding: 8px 14px;
    border-radius: 7px;
    background: var(--bskb-blue);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.bskb-zoom {
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--bskb-border);
    border-radius: 50%;
    background: rgba(255,255,255,.97);
    box-shadow: 0 5px 18px rgba(6,34,74,.12);
    font-size: 17px;
}

.bskb-gallery-nav {
    display: grid;
    grid-template-columns: 30px minmax(0,1fr) 30px;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-top: 18px;
}
.bskb-thumbnail-rail {
    display: flex;
    align-items: stretch;
    gap: 12px;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 3px;
    scroll-behavior: smooth;
    scrollbar-width: none;
}
.bskb-thumbnail-rail::-webkit-scrollbar { display: none; }
.bskb-gallery-arrow {
    display: grid;
    place-items: center;
    width: 30px;
    height: 86px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--bskb-navy);
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}
.bskb-gallery-arrow:disabled { opacity: .2; cursor: default; }
.bskb-thumb {
    flex: 0 0 86px;
    width: 86px;
    height: 86px;
    padding: 7px;
    overflow: hidden;
    border: 1px solid var(--bskb-border);
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}
.bskb-thumb.is-active { border: 2px solid var(--bskb-blue); box-shadow: 0 4px 14px rgba(21,84,209,.15); }
.bskb-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }

.bskb-kicker { display: none; }
.bskb-premium-header { padding-top: 0; }
.bskb-premium-header h1 {
    margin: 0 0 14px !important;
    color: var(--bskb-navy) !important;
    font-size: clamp(42px, 3.6vw, 58px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em;
}
.bskb-rating-row {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 26px;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--bskb-border);
}
.bskb-rating-row .star-rating { margin: 0 !important; }
.bskb-review-link { color: var(--bskb-blue); font-size: 14px; text-decoration: none; }
.bskb-short-description { max-width: 760px; color: #314158; font-size: 16px; line-height: 1.65; }
.bskb-short-description p:last-child { margin-bottom: 0; }

.bskb-price-card,
.bskb-included-card,
.bskb-purchase-card {
    width: 100%;
    margin-top: 18px;
    padding: 20px 22px;
    border: 1px solid var(--bskb-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: none !important;
}
.bskb-price-main,
.bskb-price-main .price { color: var(--bskb-navy); font-size: clamp(32px, 2.8vw, 42px); font-weight: 850; line-height: 1.1; }
.bskb-price-main del { margin-left: 10px; color: #7b8798; font-size: .55em; font-weight: 500; opacity: 1; }
.bskb-price-main ins { text-decoration: none; }
.bskb-price-savings { margin-top: 8px; color: #17833d; font-size: 15px; font-weight: 800; }

.bskb-quality-strip {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    width: 100%;
    margin-top: 18px;
    padding: 16px 12px;
    border: 1px solid var(--bskb-border);
    border-radius: 12px;
    background: #fff;
}
.bskb-quality-strip span { display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:2px 10px;color:#34465f;font-size:13px;font-weight:700;text-align:center; }
.bskb-quality-strip span + span { border-left: 1px solid var(--bskb-border); }
.bskb-quality-strip b { color: var(--bskb-blue); }

.bskb-section-title { display:flex;align-items:center;gap:10px;margin-bottom:14px; }
.bskb-section-title h2 { margin:0 !important;color:var(--bskb-navy)!important;font-size:22px!important;line-height:1.2!important; }
.bskb-section-icon { display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#edf3ff;color:var(--bskb-blue);font-weight:900; }
.bskb-component-list { display:grid;gap:10px; }
.bskb-component-row {
    display:grid;
    grid-template-columns: 58px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-width:0;
    padding:10px 12px;
    border:1px solid #e5ebf3;
    border-radius:10px;
    background:#fff;
}
.bskb-component-thumb { display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border-radius:8px;background:#f7f9fc; }
.bskb-component-thumb img { width:100%;height:100%;object-fit:contain; }
.bskb-component-copy { min-width:0; }
.bskb-component-copy strong { display:block;overflow:hidden;color:var(--bskb-navy);font-size:14px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap; }
.bskb-component-copy span { display:block;margin-top:4px;color:var(--bskb-muted);font-size:12px; }
.bskb-component-value { padding:8px 10px;border-radius:8px;background:#edf3ff;color:#0d43ad;font-size:13px;font-weight:800;white-space:nowrap; }
.bskb-component-value small { font-size:10px;text-transform:uppercase; }
.bskb-total-value { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding-top:14px;border-top:1px solid var(--bskb-border);color:var(--bskb-navy); }
.bskb-total-value strong { font-size:19px; }

.bskb-purchase-card { padding:16px; }
.bskb-purchase-card form.cart { display:grid!important;grid-template-columns:132px minmax(0,1fr);align-items:stretch;gap:14px;margin:0!important; }
.bskb-purchase-card form.cart::before,.bskb-purchase-card form.cart::after { display:none!important; }
.bskb-purchase-card .quantity { display:grid!important;grid-template-columns:40px minmax(46px,1fr) 40px;width:132px!important;min-height:56px;margin:0!important;overflow:hidden;border:1px solid var(--bskb-border);border-radius:10px;background:#fff; }
.bskb-purchase-card .quantity input.qty { width:100%!important;height:56px!important;margin:0!important;padding:0 4px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;text-align:center;appearance:textfield; }
.bskb-purchase-card .quantity input.qty::-webkit-outer-spin-button,.bskb-purchase-card .quantity input.qty::-webkit-inner-spin-button { margin:0;appearance:none; }
.bskb-qty-control { display:grid;place-items:center;padding:0;border:0;background:#f7f9fc;color:var(--bskb-navy);font-size:20px;cursor:pointer; }
.bskb-qty-control:hover { background:#eaf1fb; }
.bskb-purchase-card .single_add_to_cart_button { min-height:56px!important;margin:0!important;padding:14px 28px!important;border:0!important;border-radius:10px!important;background:linear-gradient(135deg,var(--bskb-blue),#0d43bd)!important;box-shadow:0 8px 20px rgba(21,84,209,.18)!important;color:#fff!important;font-size:15px!important;font-weight:850!important;letter-spacing:.02em;text-transform:uppercase;white-space:normal; }
.bskb-stock-note { margin:10px 0 0;color:var(--bskb-muted);font-size:12px;text-align:right; }
.bskb-service-strip { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;margin-top:14px;padding:2px 0; }
.bskb-service-strip span { display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;color:#43546b;font-size:12px;font-weight:600;text-align:center; }

.bskb-kit-box { margin:24px 0;padding:22px;border:1px solid var(--bskb-border,#dce7f4);border-radius:14px;background:#fff; }
.bskb-kit-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.bskb-kit-item { display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e5eaf1;border-radius:10px; }
.bskb-kit-image img { width:72px;height:72px;object-fit:contain;border-radius:8px; }

@media (max-width: 1120px) {
    .bskb-premium-layout { grid-template-columns:1fr!important;width:min(880px,calc(100vw - 36px))!important;gap:32px; }
    .bskb-lightbox-link { aspect-ratio:4/3; }
    .bskb-main-image { max-height:660px!important; }
}
@media (max-width: 680px) {
    .bskb-premium-layout { width:calc(100vw - 20px)!important;margin-top:8px!important;gap:24px; }
    .bskb-lightbox-link { aspect-ratio:1/1;padding:18px; }
    .bskb-premium-header h1 { font-size:34px!important; }
    .bskb-gallery-nav { grid-template-columns:24px minmax(0,1fr) 24px;gap:5px; }
    .bskb-gallery-arrow { width:24px;height:66px;font-size:28px; }
    .bskb-thumb { flex-basis:66px;width:66px;height:66px; }
    .bskb-quality-strip { grid-template-columns:1fr;padding:8px 12px; }
    .bskb-quality-strip span { padding:10px 6px; }
    .bskb-quality-strip span + span { border-left:0;border-top:1px solid var(--bskb-border); }
    .bskb-price-card,.bskb-included-card,.bskb-purchase-card { padding:16px; }
    .bskb-component-row { grid-template-columns:52px minmax(0,1fr); }
    .bskb-component-value { grid-column:2;justify-self:start; }
    .bskb-purchase-card form.cart { grid-template-columns:1fr; }
    .bskb-purchase-card .quantity { width:100%!important; }
    .bskb-service-strip { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px; }
}
