/* VJ Collection Luxury Single Product v3 */
body.vj-luxury-product-active {
    background: #fbf8f3;
}

.vj-product-page,
.vj-product-page *,
.vj-product-page *::before,
.vj-product-page *::after {
    box-sizing: border-box;
}

.vj-product-page {
    --vj-bg: #fbf8f3;
    --vj-card: rgba(255,255,255,.88);
    --vj-ink: #211a14;
    --vj-muted: #7a7066;
    --vj-gold: #b98e4e;
    --vj-gold-deep: #7f5a28;
    --vj-gold-soft: #ead8b8;
    --vj-line: rgba(160,123,70,.19);
    --vj-shadow: 0 24px 70px rgba(74,48,20,.09);
    background:
        radial-gradient(circle at 15% 3%, rgba(234,215,180,.30), transparent 30%),
        linear-gradient(180deg, #fffdf9 0%, #fbf8f3 52%, #fff 100%);
    color: var(--vj-ink);
    font-family: Poppins, Inter, Arial, sans-serif;
    width: 100%;
    min-height: 70vh;
    padding: 24px 0 80px;
}

.vj-product-shell {
    width: min(1440px, calc(100% - 36px));
    margin: 0 auto;
}

.vj-breadcrumb-wrap {
    padding: 10px 2px 24px;
}

.vj-breadcrumb,
.vj-breadcrumb a {
    color: #8e7a63 !important;
    font-size: 12px !important;
    text-decoration: none !important;
}

.vj-crumb-sep {
    margin: 0 9px;
    opacity: .45;
}

.vj-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    gap: clamp(28px, 4vw, 68px);
    align-items: start;
}

.vj-gallery-card,
.vj-summary-card,
.vj-details-card {
    position: relative;
    border: 1px solid rgba(180,145,95,.20);
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(249,244,235,.82));
    box-shadow: var(--vj-shadow);
    border-radius: 30px;
}

.vj-gallery-card {
    overflow: hidden;
    padding: clamp(14px, 2vw, 24px);
    min-height: 620px;
}

.vj-gallery-card::before,
.vj-summary-card::before {
    content: "";
    position: absolute;
    inset: 0 12% auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
    pointer-events: none;
}

.vj-badge-stack {
    position: absolute;
    top: 24px;
    left: 24px;
    z-index: 12;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.vj-product-badge {
    min-height: 30px;
    padding: 6px 11px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.vj-sale-badge {
    color: #fff;
    background: linear-gradient(135deg, #7f5a28, #c39a5b);
    box-shadow: 0 8px 20px rgba(111,75,27,.18);
}

.vj-featured-badge {
    color: #5c4529;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(183,145,85,.18);
}

.vj-stock-badge { background: #2b2520; color: #fff; }

.vj-gallery-stage {
    position: relative;
}

/* WooCommerce gallery reset */
.vj-product-page .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.vj-product-page .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}

.vj-product-page .woocommerce-product-gallery__image {
    border-radius: 22px;
    overflow: hidden;
    background: #f7f1e7;
}

.vj-product-page .woocommerce-product-gallery__image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background: radial-gradient(circle at 50% 45%, #fff, #f4ede2);
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.vj-product-page .woocommerce-product-gallery__image:hover img {
    transform: scale(1.035);
}

.vj-product-page .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

.vj-product-page .flex-control-thumbs li {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
}

.vj-product-page .flex-control-thumbs img {
    border-radius: 12px;
    border: 1px solid rgba(168,130,74,.16);
    opacity: .62;
    transition: .25s ease;
}

.vj-product-page .flex-control-thumbs img.flex-active,
.vj-product-page .flex-control-thumbs img:hover {
    opacity: 1;
    border-color: rgba(168,130,74,.55);
    transform: translateY(-2px);
}

.vj-product-page .woocommerce-product-gallery__trigger {
    top: 22px !important;
    right: 22px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.9) !important;
    box-shadow: 0 8px 20px rgba(62,43,22,.10);
}

.vj-summary-card {
    padding: clamp(28px, 4vw, 52px);
    position: sticky;
    top: 24px;
}

.vj-product-category {
    display: inline-flex;
    margin-bottom: 13px;
    color: var(--vj-gold-deep) !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    text-decoration: none !important;
}

.vj-product-title {
    margin: 0 0 15px !important;
    color: var(--vj-ink) !important;
    font-size: clamp(34px, 4vw, 58px) !important;
    font-weight: 500 !important;
    letter-spacing: -.045em;
    line-height: 1.03 !important;
}

.vj-rating-row {
    min-height: 22px;
    margin-bottom: 17px;
}

.vj-product-page .woocommerce-product-rating {
    margin: 0 !important;
    display: flex;
    gap: 10px;
    align-items: center;
}

.vj-product-page .star-rating { color: var(--vj-gold) !important; }
.vj-product-page .woocommerce-review-link { color: #7f7468 !important; font-size: 12px; }

.vj-price-block {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 6px 0 18px;
}

.vj-product-page .price {
    margin: 0 !important;
    color: #6f4e24 !important;
    font-size: clamp(24px, 3vw, 34px) !important;
    font-weight: 650 !important;
}

.vj-product-page .price del {
    color: #a59c91 !important;
    font-size: .58em;
    margin-right: 8px;
    opacity: 1 !important;
}

.vj-product-page .price ins { text-decoration: none !important; }

.vj-save-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 11px;
    border-radius: 999px;
    background: #f4ead8;
    color: #755020;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.vj-divider {
    height: 1px;
    margin: 22px 0;
    background: linear-gradient(90deg, var(--vj-line), transparent);
}

.vj-short-description,
.vj-short-description p {
    color: #6d645b !important;
    font-size: 14px;
    line-height: 1.85;
}

.vj-stock-status {
    margin: 16px 0;
}

.vj-stock-status .stock {
    display: inline-flex;
    align-items: center;
    margin: 0 !important;
    padding: 7px 11px;
    border-radius: 999px;
    background: #eef6ee;
    color: #3d6d47 !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.vj-purchase-card {
    margin-top: 20px;
    padding: 18px;
    border-radius: 20px;
    border: 1px solid rgba(169,130,73,.15);
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.vj-product-page form.cart {
    margin: 0 !important;
    display: flex;
    align-items: stretch;
    gap: 10px;
    flex-wrap: wrap;
}

.vj-product-page form.cart .quantity {
    margin: 0 !important;
}

.vj-product-page form.cart .qty {
    height: 52px;
    min-width: 82px;
    padding: 0 12px;
    border-radius: 13px !important;
    border: 1px solid rgba(139,104,58,.2) !important;
    background: #fff !important;
    color: #241c15;
}

.vj-product-page form.cart .single_add_to_cart_button,
.vj-product-page .single_add_to_cart_button {
    min-height: 52px !important;
    flex: 1 1 220px;
    border: 0 !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #7d5828, #c39a5c) !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(111,75,27,.18) !important;
    transition: .3s ease !important;
}

.vj-product-page form.cart .single_add_to_cart_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(111,75,27,.24) !important;
}

.vj-product-page table.variations {
    width: 100% !important;
    margin: 0 0 14px !important;
}

.vj-product-page table.variations tr {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin-bottom: 12px;
}

.vj-product-page table.variations th,
.vj-product-page table.variations td {
    display: block;
    width: 100%;
    padding: 0 !important;
    text-align: left;
}

.vj-product-page table.variations label {
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #6d5b46;
}

.vj-product-page table.variations select {
    width: 100% !important;
    min-height: 48px;
    border-radius: 12px;
    border: 1px solid rgba(139,104,58,.2);
    background: #fff;
    padding: 0 13px;
}

.vj-product-page .reset_variations {
    display: inline-block;
    margin-top: 7px;
    color: #8c652f !important;
    font-size: 11px;
}

.vj-wishlist-area { margin-top: 14px; }

.vj-trust-grid {
    display: grid;
    gap: 9px;
    margin-top: 22px;
}

.vj-trust-item {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    align-items: center;
    padding: 11px 12px;
    border-radius: 14px;
    background: rgba(250,247,241,.9);
    border: 1px solid rgba(168,130,74,.11);
}

.vj-trust-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #fff, #eee1cb);
    color: #805b2c;
    font-weight: 700;
}

.vj-trust-item strong,
.vj-trust-item small { display: block; }
.vj-trust-item strong { font-size: 12px; color: #33271c; }
.vj-trust-item small { margin-top: 2px; font-size: 10px; color: #8b8176; }

.vj-meta-area {
    margin-top: 22px;
    padding-top: 17px;
    border-top: 1px solid var(--vj-line);
    color: #81766b;
    font-size: 11px;
}

.vj-meta-area a { color: #765124 !important; }

.vj-details-section {
    padding: 82px 0 24px;
}

.vj-section-heading {
    text-align: center;
    margin-bottom: 26px;
}

.vj-section-heading span {
    color: var(--vj-gold-deep);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .19em;
}

.vj-section-heading h2 {
    margin: 8px 0 0;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 500;
    letter-spacing: -.035em;
}

.vj-details-card {
    padding: clamp(22px, 4vw, 44px);
}

.vj-product-page .woocommerce-tabs ul.tabs {
    display: flex !important;
    justify-content: center;
    gap: 8px;
    padding: 0 !important;
    margin: 0 0 30px !important;
    border: 0 !important;
    flex-wrap: wrap;
}

.vj-product-page .woocommerce-tabs ul.tabs::before,
.vj-product-page .woocommerce-tabs ul.tabs li::before,
.vj-product-page .woocommerce-tabs ul.tabs li::after { display: none !important; }

.vj-product-page .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.vj-product-page .woocommerce-tabs ul.tabs li a {
    padding: 10px 16px !important;
    border-radius: 999px;
    background: #f4efe6;
    color: #665948 !important;
    font-size: 11px !important;
    letter-spacing: .04em;
}

.vj-product-page .woocommerce-tabs ul.tabs li.active a {
    background: linear-gradient(135deg, #7d5828, #bc9257);
    color: #fff !important;
}

.vj-product-page .woocommerce-Tabs-panel {
    color: #665e56;
    line-height: 1.85;
}

.vj-product-page .woocommerce-Tabs-panel > h2:first-child { display: none; }

.vj-recommendation-section {
    padding-top: 70px;
}

.vj-recommendation-section > .products,
.vj-recommendation-section .products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.vj-product-page .related > h2,
.vj-product-page .upsells > h2 {
    text-align: center;
    margin: 0 0 28px;
    font-size: clamp(27px, 4vw, 42px);
    font-weight: 500;
    letter-spacing: -.035em;
}

.vj-product-page ul.products::before,
.vj-product-page ul.products::after { display: none !important; }

.vj-product-page ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 12px !important;
    border-radius: 20px;
    border: 1px solid rgba(168,130,74,.14);
    background: #fff;
    box-shadow: 0 12px 32px rgba(58,39,18,.06);
    transition: .35s ease;
}

.vj-product-page ul.products li.product:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 42px rgba(58,39,18,.11);
}

.vj-product-page ul.products li.product img {
    border-radius: 14px;
    margin-bottom: 13px !important;
}

.vj-product-page ul.products li.product .woocommerce-loop-product__title {
    color: #2b2118;
    font-size: 14px !important;
    font-weight: 500;
}

.vj-product-page ul.products li.product .price { font-size: 15px !important; }

.vj-product-page ul.products li.product .button {
    border-radius: 10px !important;
    background: #f4eee4 !important;
    color: #6f4d22 !important;
    font-size: 10px !important;
}

.vj-mobile-buybar { display: none; }

@media (max-width: 1024px) {
    .vj-product-hero {
        grid-template-columns: 1fr;
    }
    .vj-summary-card { position: relative; top: auto; }
    .vj-gallery-card { min-height: 0; }
    .vj-recommendation-section .products { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 640px) {
    .vj-product-page { padding-top: 10px; padding-bottom: 110px; }
    .vj-product-shell { width: min(100% - 16px, 1440px); }
    .vj-breadcrumb-wrap { padding: 6px 2px 14px; overflow-x: auto; white-space: nowrap; }
    .vj-product-hero { gap: 12px; }
    .vj-gallery-card, .vj-summary-card, .vj-details-card { border-radius: 20px; }
    .vj-gallery-card { padding: 9px; }
    .vj-summary-card { padding: 22px 17px; }
    .vj-product-title { font-size: 34px !important; }
    .vj-product-page form.cart { display: grid; grid-template-columns: 78px 1fr; }
    .vj-product-page form.cart .variations,
    .vj-product-page form.cart .single_variation_wrap { grid-column: 1 / -1; }
    .vj-product-page .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .vj-details-section { padding-top: 48px; }
    .vj-details-card { padding: 16px 13px; }
    .vj-product-page .woocommerce-tabs ul.tabs { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
    .vj-recommendation-section { padding-top: 46px; }
    .vj-recommendation-section .products { gap: 10px !important; }
    .vj-product-page ul.products li.product { padding: 8px !important; border-radius: 14px; }
    .vj-mobile-buybar {
        position: fixed;
        left: 8px;
        right: 8px;
        bottom: 8px;
        z-index: 999999;
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 10px;
        padding: 10px 10px 10px 14px;
        border: 1px solid rgba(255,255,255,.76);
        border-radius: 18px;
        background: rgba(255,255,255,.93);
        backdrop-filter: blur(18px) saturate(160%);
        box-shadow: 0 18px 45px rgba(48,30,12,.18);
    }
    .vj-mobile-buybar-price { color: #6f4d22; font-weight: 700; font-size: 14px; }
    .vj-mobile-buybar-price del { opacity: .5; font-size: .75em; }
    .vj-mobile-buybar-price ins { text-decoration: none; }
    .vj-mobile-buybar-button {
        min-height: 44px;
        padding: 0 17px;
        border: 0;
        border-radius: 12px;
        background: linear-gradient(135deg, #7d5828, #c39a5c);
        color: #fff;
        font-family: inherit;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vj-product-page *, .vj-product-page *::before, .vj-product-page *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* =========================================================
   V4 — standalone product canvas + sticky custom header
   ========================================================= */
html,
body.vj-luxury-standalone {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 100% !important;
    overflow-x: hidden;
    background: #fbf8f3 !important;
}

body.vj-luxury-standalone > * {
    max-width: none;
}

.vj-custom-header-wrap {
    position: sticky;
    top: 0;
    z-index: 999999;
    width: 100%;
    background: rgba(251,248,243,.78);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

.vj-custom-header-wrap:empty {
    display: none;
}

.vj-custom-header-wrap .vj-site-header {
    position: relative !important;
    top: auto !important;
    margin: 0 !important;
}

.vj-product-page {
    width: 100vw !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: clip;
}

.vj-product-shell {
    width: min(1480px, calc(100% - 48px)) !important;
    max-width: 1480px !important;
    margin-inline: auto !important;
}

/* Quantity: luxury minus / input / plus control */
.vj-product-page .vj-purchase-card form.cart {
    display: flex;
    align-items: stretch;
    gap: 12px;
    width: 100%;
}

.vj-product-page .vj-purchase-card form.cart .quantity {
    display: grid !important;
    grid-template-columns: 42px 52px 42px;
    align-items: stretch;
    flex: 0 0 auto;
    margin: 0 !important;
    border: 1px solid rgba(168,130,74,.28);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,.86);
    min-height: 50px;
}

.vj-product-page .vj-qty-btn {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    color: #6f4b20;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .15s ease;
}

.vj-product-page .vj-qty-btn:hover {
    background: rgba(183,142,78,.11);
    color: #3d2a12;
}

.vj-product-page .vj-qty-btn:active {
    transform: scale(.92);
}

.vj-product-page .vj-purchase-card .quantity .qty {
    width: 52px !important;
    min-width: 0 !important;
    height: 100% !important;
    padding: 0 4px !important;
    margin: 0 !important;
    border: 0 !important;
    border-left: 1px solid rgba(168,130,74,.16) !important;
    border-right: 1px solid rgba(168,130,74,.16) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #211a14 !important;
    text-align: center !important;
    font-weight: 600;
    box-shadow: none !important;
    -moz-appearance: textfield;
}

.vj-product-page .vj-purchase-card .quantity .qty::-webkit-outer-spin-button,
.vj-product-page .vj-purchase-card .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.vj-product-page .vj-purchase-card form.cart .single_add_to_cart_button {
    flex: 1 1 auto;
    min-height: 50px !important;
    border-radius: 16px !important;
}

/* Variable products keep controls full width, then quantity/button row */
.vj-product-page .vj-purchase-card form.variations_form.cart {
    display: block;
}

.vj-product-page .vj-purchase-card .variations_button {
    display: flex !important;
    align-items: stretch;
    gap: 12px;
    width: 100%;
}

@media (max-width: 720px) {
    .vj-product-shell {
        width: min(100% - 20px, 1480px) !important;
    }

    .vj-custom-header-wrap {
        top: 0;
    }

    .vj-product-page .vj-purchase-card form.cart,
    .vj-product-page .vj-purchase-card .variations_button {
        gap: 8px;
    }

    .vj-product-page .vj-purchase-card form.cart .quantity {
        grid-template-columns: 38px 44px 38px;
        min-height: 48px;
    }

    .vj-product-page .vj-purchase-card .quantity .qty {
        width: 44px !important;
    }
}

/* =========================================================
   V5 — hard standalone reset, shortcode header, no theme shell
   ========================================================= */
html {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    background: #fffdf9 !important;
}

body.vj-luxury-standalone {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    overflow-x: clip !important;
    background: #fffdf9 !important;
}

/* The standalone template does not call wp_body_open(), so theme/builder headers cannot inject here. */
.vj-custom-header-wrap {
    position: sticky !important;
    top: 0 !important;
    z-index: 2147483000 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255,253,249,.88) !important;
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
}

.vj-custom-header-wrap .vj-site-header {
    width: 100% !important;
    margin: 0 !important;
}

/* Fallback header is used only if [vj_glossy_header] is not actually registered. */
.vj-fallback-header,
.vj-fallback-header * { box-sizing: border-box; }
.vj-fallback-header { width: 100%; padding: 10px 18px; }
.vj-fallback-header-inner {
    width: min(1400px, calc(100% - 10px));
    min-height: 72px;
    margin: 0 auto;
    padding: 8px 14px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(247,240,229,.83));
    box-shadow: 0 12px 38px rgba(78,51,21,.10), inset 0 1px 0 rgba(255,255,255,.95);
}
.vj-fallback-logo { display: inline-flex; align-items: center; }
.vj-fallback-logo img { display:block; width:auto; height:50px; max-width:150px; object-fit:contain; }
.vj-fallback-nav { display:flex; gap:5px; align-items:center; justify-content:center; }
.vj-fallback-nav a { padding:11px 18px; border-radius:999px; color:#261d15; text-decoration:none; font:600 13px/1.2 Poppins,Arial,sans-serif; }
.vj-fallback-nav a:hover { background:#f4ead9; color:#765022; }
.vj-fallback-actions { display:flex; justify-content:flex-end; align-items:center; gap:7px; }
.vj-fallback-actions > a { position:relative; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:#2c241c; background:rgba(255,255,255,.9); border:1px solid rgba(177,143,91,.16); box-shadow:0 5px 14px rgba(61,39,16,.07); text-decoration:none; }
.vj-fallback-actions svg { width:18px; height:18px; fill:currentColor; }
.vj-fallback-cart span { position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; display:grid; place-items:center; background:#a77c3f; color:#fff; border:2px solid #fff; font:700 9px/1 Arial,sans-serif; }

/* Full-width canvas: no pink/cream cut-off columns from the original theme. */
.vj-product-page {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(100vh - 90px);
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background:
        radial-gradient(circle at 8% 4%, rgba(226,198,150,.19), transparent 29%),
        radial-gradient(circle at 92% 16%, rgba(241,225,199,.24), transparent 28%),
        linear-gradient(180deg,#fffdf9 0%,#fbf7f1 56%,#fff 100%) !important;
}
.vj-product-shell {
    width: min(1480px, calc(100% - 48px)) !important;
    max-width: 1480px !important;
    margin: 0 auto !important;
}

/* Quantity control — guarantee - input + appears without depending on theme styles. */
.vj-product-page .vj-purchase-card form.cart .quantity[data-vj-qty-ready="1"] {
    display: grid !important;
    grid-template-columns: 44px 54px 44px !important;
    min-width: 142px !important;
    min-height: 52px !important;
    overflow: hidden !important;
    border: 1px solid rgba(153,111,53,.24) !important;
    border-radius: 14px !important;
    background: #fff !important;
}
.vj-product-page .vj-purchase-card .vj-qty-btn {
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #724d20 !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}
.vj-product-page .vj-purchase-card .quantity[data-vj-qty-ready="1"] .qty {
    width: 54px !important;
    min-width: 54px !important;
    height: 52px !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid rgba(153,111,53,.14) !important;
    border-right: 1px solid rgba(153,111,53,.14) !important;
    border-radius: 0 !important;
    text-align: center !important;
    background: transparent !important;
}

@media (max-width: 900px) {
    .vj-fallback-nav { display:none; }
    .vj-fallback-header-inner { grid-template-columns:auto 1fr auto; }
}
@media (max-width: 640px) {
    .vj-custom-header-wrap { top:0 !important; }
    .vj-product-shell { width: min(100% - 16px, 1480px) !important; }
    .vj-fallback-header { padding:7px; }
    .vj-fallback-header-inner { width:100%; min-height:62px; border-radius:17px; padding:6px 8px; }
    .vj-fallback-logo img { height:40px; max-width:110px; }
    .vj-fallback-actions > a { width:38px; height:38px; }
}

/* =========================================================
   V6 — boutique proportions + isolated recommendation cards
   ========================================================= */
body.vj-luxury-standalone {
    background: #fcfaf6 !important;
}

.vj-custom-header-wrap {
    padding: 8px 0 4px !important;
    background: rgba(252,250,246,.86) !important;
}

/* Keep the glossy shortcode header elegant instead of edge-to-edge. */
.vj-custom-header-wrap .vj-site-header {
    padding-left: 14px !important;
    padding-right: 14px !important;
}
.vj-custom-header-wrap .vj-header-inner,
.vj-fallback-header-inner {
    max-width: 1220px !important;
}

.vj-product-page {
    padding-top: 10px !important;
    padding-bottom: 72px !important;
}

.vj-product-shell {
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: 1180px !important;
}

.vj-breadcrumb-wrap {
    padding: 22px 2px 24px !important;
}

.vj-product-hero {
    grid-template-columns: minmax(0, 1.03fr) minmax(390px, .97fr) !important;
    gap: 34px !important;
}

.vj-gallery-card,
.vj-summary-card,
.vj-details-card {
    border-radius: 24px !important;
    box-shadow: 0 18px 48px rgba(69,45,20,.075) !important;
}

.vj-gallery-card {
    min-height: 0 !important;
    padding: 18px !important;
}

.vj-product-page .woocommerce-product-gallery__image {
    border-radius: 18px !important;
}

.vj-product-page .woocommerce-product-gallery__image img {
    aspect-ratio: 1 / 1 !important;
    max-height: 570px !important;
    object-fit: contain !important;
}

.vj-summary-card {
    padding: 38px !important;
    top: 116px !important;
}

.vj-product-title {
    font-size: clamp(34px, 3.6vw, 50px) !important;
}

.vj-purchase-card {
    padding: 14px !important;
    border-radius: 17px !important;
}

.vj-trust-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.vj-trust-item {
    padding: 10px !important;
    grid-template-columns: 32px 1fr !important;
}

.vj-details-section,
.vj-recommendation-section {
    margin-top: 72px !important;
}

/* Completely isolate recommendations from theme/WooCommerce loop CSS. */
.vj-recommendation-section,
.vj-recommendation-section * {
    box-sizing: border-box;
}

.vj-recommendation-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 22px;
}
.vj-recommendation-heading span {
    display: block;
    margin-bottom: 7px;
    color: #8a632f;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
}
.vj-recommendation-heading h2 {
    margin: 0 !important;
    color: #211a14 !important;
    font-size: clamp(26px, 3vw, 38px) !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
}

.vj-recommendation-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vj-reco-card {
    position: relative;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(169,130,73,.16);
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 11px 30px rgba(61,41,19,.055);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.vj-reco-card:hover {
    transform: translateY(-5px);
    border-color: rgba(169,130,73,.34);
    box-shadow: 0 18px 38px rgba(61,41,19,.10);
}

.vj-reco-media {
    position: relative;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden;
    background: linear-gradient(145deg,#f8f3ea,#fff);
    text-decoration: none !important;
}
.vj-reco-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    margin: 0 !important;
    transition: transform .55s cubic-bezier(.2,.7,.2,1);
}
.vj-reco-card:hover .vj-reco-media img { transform: scale(1.035); }

.vj-reco-sale {
    position: absolute;
    z-index: 2;
    top: 12px;
    left: 12px;
    min-height: 26px;
    padding: 5px 9px;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: linear-gradient(135deg,#855c28,#bd9255);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.vj-reco-info { padding: 14px 15px 15px; }
.vj-reco-category {
    display: block;
    margin-bottom: 4px;
    color: #938575;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.vj-reco-info h3 {
    margin: 0 0 11px !important;
    min-height: 42px;
    font-size: 14px !important;
    font-weight: 550 !important;
    line-height: 1.45 !important;
}
.vj-reco-info h3 a {
    color: #241c15 !important;
    text-decoration: none !important;
}
.vj-reco-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.vj-reco-price {
    color: #7d5727;
    font-size: 14px;
    font-weight: 700;
}
.vj-reco-price del {
    margin-right: 4px;
    color: #a69c91;
    font-size: 10px;
    font-weight: 400;
}
.vj-reco-price ins { text-decoration: none; }
.vj-reco-view {
    flex: 0 0 auto;
    padding: 8px 11px;
    border-radius: 999px;
    background: #f5ecdd;
    color: #755020 !important;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .25s ease, transform .25s ease;
}
.vj-reco-view:hover {
    background: #ead8ba;
    transform: translateY(-1px);
}

@media (max-width: 1040px) {
    .vj-product-shell { width: min(900px, calc(100% - 28px)) !important; }
    .vj-product-hero {
        grid-template-columns: 1fr 1fr !important;
        gap: 22px !important;
    }
    .vj-summary-card { padding: 28px !important; top: 106px !important; }
    .vj-recommendation-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}

@media (max-width: 820px) {
    .vj-product-shell { width: min(650px, calc(100% - 22px)) !important; }
    .vj-product-hero { grid-template-columns: 1fr !important; }
    .vj-summary-card { position: relative !important; top: auto !important; }
    .vj-product-page .woocommerce-product-gallery__image img { max-height: 620px !important; }
    .vj-recommendation-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; }
    .vj-trust-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 520px) {
    .vj-custom-header-wrap { padding-top: 3px !important; }
    .vj-product-shell { width: calc(100% - 16px) !important; }
    .vj-breadcrumb-wrap { padding: 13px 2px 15px !important; }
    .vj-gallery-card { padding: 10px !important; border-radius: 18px !important; }
    .vj-summary-card { padding: 22px 16px !important; border-radius: 18px !important; }
    .vj-product-title { font-size: 34px !important; }
    .vj-details-section,
    .vj-recommendation-section { margin-top: 48px !important; }
    .vj-recommendation-heading h2 { font-size: 27px !important; }
    .vj-reco-card { border-radius: 15px; }
    .vj-reco-info { padding: 10px; }
    .vj-reco-info h3 { font-size: 12px !important; min-height: 35px; }
    .vj-reco-price { font-size: 12px; }
    .vj-reco-view { padding: 7px 9px; font-size: 9px; }
}
