/* ==========================================================
   SOUK BASKINTA — PRODUCT DETAIL
   ========================================================== */

.bk-pdp {
    --teal: #173f3f;
    --teal2: #245655;
    --green: #71883f;
    --cream: #f7f3e9;
    --ink: #25332f;
    --muted: #69726f;
    --line: rgba(23,63,63,.14);

    background: #fff;
    color: var(--ink);
}

.bk-pdp-container {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}

.bk-pdp-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 28px 0 22px;
    font-size: 13px;
    color: var(--muted);
}

.bk-pdp-breadcrumb a {
    color: var(--teal);
    text-decoration: none;
}


/* TOP */

.bk-pdp-top {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr);
    gap: 60px;
    align-items: start;
    padding-bottom: 70px;
}

.bk-pdp-main-image {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 13px;
    background: #f2efe7;
}

.bk-pdp-main-image > img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.bk-pdp-made {
    position: absolute;
    bottom: 16px;
    left: 16px;
    padding: 7px 11px;
    border-radius: 5px;
    background: rgba(113,136,63,.95);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bk-pdp-thumbnails {
    display: flex;
    gap: 12px;
    margin-top: 14px;
}

.bk-pdp-thumb {
    width: 92px;
    height: 92px;
    padding: 3px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

.bk-pdp-thumb.active {
    border: 2px solid var(--green);
}

.bk-pdp-thumb img {
    width: 100%;
    height: 100%;
    border-radius: 5px;
    object-fit: cover;
}

.bk-pdp-category,
.bk-pdp-kicker {
    color: var(--green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bk-pdp-summary h1 {
    margin: 7px 0 20px;
    color: var(--teal);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px,4vw,64px);
    line-height: 1;
    letter-spacing: -.03em;
}


/* VENDOR MINI */

.bk-pdp-vendor-mini {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 28px;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 10px;
}

.bk-pdp-vendor-logo {
    width: 84px;
    height: 70px;
    flex: 0 0 84px;
}

.bk-pdp-vendor-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.bk-pdp-vendor-mini strong,
.bk-pdp-vendor-mini span,
.bk-pdp-vendor-mini a {
    display: block;
}

.bk-pdp-vendor-mini strong {
    color: var(--teal);
    font-family: Georgia, serif;
    font-size: 20px;
}

.bk-pdp-vendor-mini span {
    margin: 2px 0 5px;
    color: var(--muted);
    font-size: 13px;
}

.bk-pdp-vendor-mini a {
    color: var(--teal);
    font-weight: 800;
    font-size: 13px;
    text-decoration: none;
}


/* PRICE */

.bk-pdp-short {
    margin-bottom: 24px;
    color: #4d5956;
    font-size: 16px;
    line-height: 1.7;
}

.bk-pdp-price-panel {
    margin: 22px 0 16px;
    padding: 22px 24px;
    border-radius: 10px;
    background: var(--cream);
}

.bk-pdp-price-panel strong {
    display: block;
    color: var(--teal);
    font-family: Georgia, serif;
    font-size: 26px;
}

.bk-pdp-price-panel > span {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 13px;
}

.bk-pdp-price {
    color: var(--teal);
    font-family: Georgia, serif;
    font-size: 30px;
    font-weight: 700;
}

.bk-pdp-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
}

.bk-pdp-btn {
    min-height: 48px;
    padding: 0 18px;
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
    text-decoration: none !important;
}

.bk-pdp-btn-primary {
    background: var(--teal);
    color: #fff !important;
}

.bk-pdp-btn-secondary {
    border: 1px solid var(--teal);
    background: #fff;
    color: var(--teal) !important;
}

.bk-pdp-cart {
    grid-column: 1 / -1;
}


/* TRUST */

.bk-pdp-trust {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

.bk-pdp-trust strong,
.bk-pdp-trust span {
    display: block;
}

.bk-pdp-trust strong {
    color: var(--teal);
    font-size: 13px;
}

.bk-pdp-trust span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
}


/* DETAILS */

.bk-pdp-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    padding: 65px 0;
    border-top: 1px solid var(--line);
}

.bk-pdp-details h2,
.bk-pdp-producer h2,
.bk-pdp-related h2 {
    margin: 5px 0 22px;
    color: var(--teal);
    font-family: Georgia, serif;
    font-size: 36px;
    line-height: 1.1;
}

.bk-pdp-description,
.bk-pdp-muted {
    color: #53605c;
    font-size: 15px;
    line-height: 1.75;
}

.bk-pdp-specs dl {
    margin: 0;
}

.bk-pdp-specs dl > div {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 20px;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
}

.bk-pdp-specs dt {
    color: var(--muted);
    font-weight: 600;
}

.bk-pdp-specs dd {
    margin: 0;
    color: var(--teal);
    font-weight: 700;
}


/* PRODUCER */

.bk-pdp-producer {
    display: grid;
    grid-template-columns: 180px 1fr auto;
    gap: 30px;
    align-items: center;
    margin: 10px 0 70px;
    padding: 30px;
    border-radius: 13px;
    background: var(--cream);
}

.bk-pdp-producer-logo {
    height: 125px;
    padding: 10px;
    border-radius: 9px;
    background: #fff;
}

.bk-pdp-producer-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.bk-pdp-producer-copy h2 {
    margin-bottom: 6px;
}

.bk-pdp-producer-copy p {
    margin: 0 0 12px;
    color: var(--muted);
}

.bk-pdp-producer-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    color: var(--muted);
    font-size: 13px;
}

.bk-pdp-producer-actions {
    display: grid;
    min-width: 190px;
    gap: 9px;
}


/* RELATED */

.bk-pdp-related {
    padding: 0 0 80px;
}

.bk-pdp-related-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 20px;
    margin-bottom: 22px;
}

.bk-pdp-related-head a {
    color: var(--teal);
    font-weight: 800;
    font-size: 13px;
    text-decoration: none;
}

.bk-pdp-related-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}

.bk-pdp-related-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: inherit;
    text-decoration: none !important;
}

.bk-pdp-related-image {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.bk-pdp-related-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bk-pdp-related-image > span {
    position: absolute;
    bottom: 10px;
    left: 10px;
    padding: 5px 8px;
    border-radius: 4px;
    background: rgba(113,136,63,.95);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.bk-pdp-related-copy {
    padding: 16px;
}

.bk-pdp-related-copy small,
.bk-pdp-related-copy strong,
.bk-pdp-related-copy div {
    display: block;
}

.bk-pdp-related-copy small {
    margin-bottom: 5px;
    color: var(--green);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.bk-pdp-related-copy strong {
    min-height: 43px;
    color: var(--teal);
    font-family: Georgia, serif;
    font-size: 18px;
}

.bk-pdp-related-copy div {
    margin-top: 9px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}


/* RESPONSIVE */

@media (max-width: 900px) {

    .bk-pdp-top {
        grid-template-columns: 1fr;
    }

    .bk-pdp-details {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bk-pdp-producer {
        grid-template-columns: 130px 1fr;
    }

    .bk-pdp-producer-actions {
        grid-column: 1 / -1;
        grid-template-columns: 1fr 1fr;
    }

    .bk-pdp-related-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 600px) {

    .bk-pdp-container {
        width: calc(100% - 30px);
    }

    .bk-pdp-top {
        gap: 32px;
    }

    .bk-pdp-summary h1 {
        font-size: 42px;
    }

    .bk-pdp-actions,
    .bk-pdp-trust,
    .bk-pdp-producer-actions {
        grid-template-columns: 1fr;
    }

    .bk-pdp-producer {
        grid-template-columns: 1fr;
    }

    .bk-pdp-producer-logo {
        width: 150px;
    }

    .bk-pdp-related-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .bk-pdp-related-copy strong {
        font-size: 16px;
    }
}


/* ==========================================================
   PRODUCT HEADER — FINAL SPACING + PRICE POSITION
   ========================================================== */

/* Give breadcrumb more separation from global header */
.bk-pdp-breadcrumb {
    padding-top: 46px;
    padding-bottom: 26px;
}


/* Price belongs immediately below product name */
.bk-pdp-summary .bk-pdp-price-panel {
    margin: 0 0 22px;
    padding: 18px 22px;

    border: 1px solid rgba(23, 63, 63, .10);
    border-radius: 9px;

    background: #f7f3e9;
}


/* Real WooCommerce price */
.bk-pdp-summary .bk-pdp-price {
    color: var(--teal);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.05;
}


/* Price unavailable state */
.bk-pdp-summary .bk-pdp-price-panel > strong {
    color: var(--teal);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
}

.bk-pdp-summary .bk-pdp-price-panel > span {
    margin-top: 5px;

    color: var(--muted);
    font-size: 13px;
}


/* Vendor card follows price cleanly */
.bk-pdp-vendor-mini {
    margin-top: 0;
}


/* Mobile spacing */
@media (max-width: 600px) {

    .bk-pdp-breadcrumb {
        padding-top: 34px;
        padding-bottom: 20px;
    }

    .bk-pdp-summary .bk-pdp-price {
        font-size: 30px;
    }
}


/* ==========================================================
   SOUK BASKINTA — PURCHASE PANEL V2
   ========================================================== */

.bk-pdp-purchase-panel {
    margin-top: 24px;

    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 11px;

    background: #fff;
}


/* CART */

.bk-pdp-cart-form {
    margin: 0 !important;
    padding: 22px;
}


/* QUANTITY */

.bk-pdp-quantity-block {
    margin-bottom: 13px;
}

.bk-pdp-quantity-block > label {
    display: block;

    margin-bottom: 9px;

    color: var(--teal);

    font-size: 13px;
    font-weight: 800;
}

.bk-pdp-qty-control {
    width: 194px;
    height: 50px;

    display: grid;
    grid-template-columns: 52px 1fr 52px;

    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 28px;

    background: #fff;
}

.bk-pdp-qty-button {
    width: 52px;
    height: 48px;

    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;
    color: var(--teal) !important;

    box-shadow: none !important;

    font-size: 23px;
    font-weight: 400;

    cursor: pointer;
}

.bk-pdp-qty-button:hover {
    background: #f7f8f5 !important;
}

.bk-pdp-qty-input {
    width: 100% !important;
    height: 48px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;
    color: var(--teal);

    box-shadow: none !important;

    font-size: 18px;
    font-weight: 700;

    text-align: center;

    appearance: textfield;
    -moz-appearance: textfield;
}

.bk-pdp-qty-input::-webkit-outer-spin-button,
.bk-pdp-qty-input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}


/* PRIMARY ACTION */

.bk-pdp-add-to-basket {
    width: 100%;
    min-height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 0 20px !important;

    border: 0 !important;
    border-radius: 7px !important;

    background: var(--teal) !important;
    color: #fff !important;

    box-shadow: none !important;

    font-size: 17px !important;
    font-weight: 800 !important;

    cursor: pointer;
}

.bk-pdp-add-to-basket:hover {
    background: var(--teal2) !important;
}

.bk-pdp-basket-icon {
    font-size: 18px;
}


/* STORE CTA */

.bk-pdp-visit-store {
    width: calc(100% - 44px);
    min-height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 22px 20px;
    padding: 0 18px;

    border: 1px solid var(--teal);
    border-radius: 7px;

    background: #fff;
    color: var(--teal) !important;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none !important;
}

.bk-pdp-visit-store:hover {
    background: #f7f9f7;
}


/* WHATSAPP ASSISTANCE */

.bk-pdp-whatsapp-help {
    min-height: 84px;

    display: grid;
    grid-template-columns: 48px 1fr auto;
    align-items: center;

    gap: 14px;

    padding: 16px 22px;

    border-top: 1px solid var(--line);

    color: var(--teal) !important;

    text-decoration: none !important;
}

.bk-pdp-whatsapp-mark {
    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #22b35a;
    color: #fff;

    font-size: 11px;
    font-weight: 900;
}

.bk-pdp-whatsapp-copy {
    min-width: 0;
}

.bk-pdp-whatsapp-copy strong,
.bk-pdp-whatsapp-copy small {
    display: block;
}

.bk-pdp-whatsapp-copy strong {
    margin-bottom: 3px;

    color: var(--teal);

    font-size: 14px;
}

.bk-pdp-whatsapp-copy small {
    color: var(--muted);

    font-size: 13px;
}

.bk-pdp-whatsapp-arrow {
    color: var(--teal);

    font-size: 23px;
}


/*
 * If a future vendor uses variable/grouped products,
 * WooCommerce's native cart UI remains available,
 * but use Baskinta colors.
 */
.bk-pdp-standard-cart {
    padding: 22px;
}

.bk-pdp-standard-cart
.single_add_to_cart_button {
    background: var(--teal) !important;
    color: #fff !important;
}


/* Remove old action grid rules from visual impact */
.bk-pdp-actions {
    display: none;
}


/* MOBILE */

@media (max-width: 600px) {

    .bk-pdp-cart-form {
        padding: 18px;
    }

    .bk-pdp-qty-control {
        width: 100%;
        max-width: 210px;
    }

    .bk-pdp-visit-store {
        width: calc(100% - 36px);

        margin-left: 18px;
        margin-right: 18px;
    }

    .bk-pdp-whatsapp-help {
        padding: 15px 18px;
    }
}


/* ==========================================================
   PRODUCT PAGE — COMPACT PURCHASE ROW
   ========================================================== */

/*
 * The right column was taller than the product photo.
 * Compress the buying actions into a single horizontal row.
 */
.bk-pdp-purchase-panel {
    display: grid;
    grid-template-columns:
        minmax(360px, 1.65fr)
        minmax(180px, .72fr)
        minmax(130px, .52fr);

    gap: 10px;

    align-items: end;

    margin-top: 20px;

    overflow: visible;

    border: 0;
    border-radius: 0;

    background: transparent;
}


/* Quantity + Add to Basket share one line */
.bk-pdp-cart-form {
    display: grid;
    grid-template-columns: 128px minmax(210px, 1fr);

    gap: 10px;

    align-items: end;

    margin: 0 !important;
    padding: 0 !important;
}


.bk-pdp-quantity-block {
    margin: 0;
}


.bk-pdp-quantity-block > label {
    margin-bottom: 5px;

    font-size: 11px;
}


.bk-pdp-qty-control {
    width: 128px;
    height: 50px;

    grid-template-columns: 38px 1fr 38px;
}


.bk-pdp-qty-button {
    width: 38px;
    height: 48px;

    font-size: 20px;
}


.bk-pdp-qty-input {
    height: 48px !important;

    font-size: 15px;
}


/* Primary action */
.bk-pdp-add-to-basket {
    min-height: 50px;

    padding: 0 18px !important;

    font-size: 14px !important;
}


/* Store button becomes part of same row */
.bk-pdp-visit-store {
    width: 100%;
    min-height: 50px;

    margin: 0;

    padding: 0 14px;

    white-space: nowrap;
}


/* WhatsApp becomes a compact third CTA */
.bk-pdp-whatsapp-help {
    min-height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 0 12px;

    border: 1px solid #22b35a;
    border-radius: 7px;

    background: #fff;
}


.bk-pdp-whatsapp-mark {
    width: 30px;
    height: 30px;

    flex: 0 0 30px;

    font-size: 9px;
}


.bk-pdp-whatsapp-copy strong {
    margin: 0;

    font-size: 12px;
}


.bk-pdp-whatsapp-copy small {
    display: none;
}


.bk-pdp-whatsapp-arrow {
    display: none;
}


/* Reduce the vertical footprint beneath purchase controls */
.bk-pdp-trust {
    margin-top: 18px;
    padding-top: 17px;

    gap: 10px;
}


.bk-pdp-trust strong {
    font-size: 12px;
}


.bk-pdp-trust span {
    font-size: 10px;
}


/* Reduce lower whitespace of hero/product area */
.bk-pdp-top {
    padding-bottom: 38px;
}


/* Details start closer to the product hero */
.bk-pdp-details {
    padding-top: 48px;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1100px) {

    .bk-pdp-purchase-panel {
        grid-template-columns: 1fr 1fr;
    }

    .bk-pdp-cart-form {
        grid-column: 1 / -1;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .bk-pdp-purchase-panel {
        display: grid;

        grid-template-columns: 1fr;

        gap: 9px;
    }


    .bk-pdp-cart-form {
        grid-column: auto;

        grid-template-columns: 1fr;
    }


    .bk-pdp-qty-control {
        width: 150px;
    }


    .bk-pdp-visit-store {
        width: 100%;

        margin: 0;
    }


    .bk-pdp-whatsapp-help {
        width: 100%;

        min-height: 50px;
    }


    .bk-pdp-top {
        padding-bottom: 28px;
    }
}


/* ==========================================================
   PRODUCT PURCHASE UI — QUANTITY ABOVE ACTION ROW
   ========================================================== */

/*
 * Purchase panel:
 * quantity occupies the full first row.
 * Three real CTAs align beneath it.
 */
.bk-pdp-purchase-panel {
    display: grid;

    grid-template-columns:
        1.25fr
        1fr
        .65fr;

    gap: 10px;

    align-items: stretch;
}


/*
 * The cart form participates in the parent grid.
 * Its children can occupy the purchase-panel grid directly.
 */
.bk-pdp-cart-form {
    display: contents;
}


/* Quantity gets its own clean row */
.bk-pdp-quantity-block {
    grid-column: 1 / -1;

    display: flex;
    align-items: center;

    gap: 12px;

    margin: 0 0 3px;
}


.bk-pdp-quantity-block > label {
    margin: 0;

    color: var(--teal);

    font-size: 12px;
    font-weight: 800;
}


/* Compact quantity selector */
.bk-pdp-qty-control {
    width: 132px;
    height: 44px;

    grid-template-columns:
        38px
        1fr
        38px;

    border-radius: 24px;
}


.bk-pdp-qty-button {
    width: 38px;
    height: 42px;
}


.bk-pdp-qty-input {
    height: 42px !important;
}


/* Main purchasing action */
.bk-pdp-add-to-basket {
    grid-column: 1;

    width: 100%;
    min-height: 52px;
}


/* Vendor store */
.bk-pdp-visit-store {
    grid-column: 2;

    width: 100%;
    min-height: 52px;

    margin: 0;
}


/* WhatsApp */
.bk-pdp-whatsapp-help {
    grid-column: 3;

    width: 100%;
    min-height: 52px;

    padding: 0 12px;
}


/* Keep all three CTAs visually centered */
.bk-pdp-add-to-basket,
.bk-pdp-visit-store,
.bk-pdp-whatsapp-help {
    align-self: stretch;
}


/* Tablet */
@media (max-width: 1050px) {

    .bk-pdp-purchase-panel {
        grid-template-columns: 1fr 1fr;
    }

    .bk-pdp-quantity-block {
        grid-column: 1 / -1;
    }

    .bk-pdp-add-to-basket {
        grid-column: 1 / -1;
    }

    .bk-pdp-visit-store {
        grid-column: 1;
    }

    .bk-pdp-whatsapp-help {
        grid-column: 2;
    }
}


/* Mobile */
@media (max-width: 600px) {

    .bk-pdp-purchase-panel {
        grid-template-columns: 1fr;
    }

    .bk-pdp-quantity-block,
    .bk-pdp-add-to-basket,
    .bk-pdp-visit-store,
    .bk-pdp-whatsapp-help {
        grid-column: 1;
    }
}


/* ==========================================================
   PRODUCT PAGE CTA LAYOUT
   Row 1: Quantity + Add to Basket
   Row 2: Visit Store + WhatsApp
   ========================================================== */

.bk-pdp-purchase-panel {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 12px 14px;
    align-items: stretch;
}

.bk-pdp-cart-form {
    display: contents;
}

/* Row 1 */
.bk-pdp-quantity-block {
    grid-column: 1;
    grid-row: 1;

    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.bk-pdp-quantity-block > label {
    margin: 0;
    color: var(--teal);
    font-size: 12px;
    font-weight: 800;
}

.bk-pdp-qty-control {
    width: 132px;
    height: 44px;
    grid-template-columns: 38px 1fr 38px;
    border-radius: 24px;
}

.bk-pdp-qty-button {
    width: 38px;
    height: 42px;
}

.bk-pdp-qty-input {
    height: 42px !important;
}

.bk-pdp-add-to-basket {
    grid-column: 2;
    grid-row: 1;

    width: 100%;
    min-height: 52px;
    margin: 0;
}

/* Row 2 */
.bk-pdp-visit-store {
    grid-column: 1;
    grid-row: 2;

    width: 100%;
    min-height: 52px;
    margin: 0;
}

.bk-pdp-whatsapp-help {
    grid-column: 2;
    grid-row: 2;

    width: 100%;
    min-height: 52px;
    margin: 0;
    padding: 0 14px;
}

/* Keep all actions aligned */
.bk-pdp-add-to-basket,
.bk-pdp-visit-store,
.bk-pdp-whatsapp-help {
    align-self: stretch;
    justify-content: center;
}

/* Tablet */
@media (max-width: 900px) {
    .bk-pdp-purchase-panel {
        grid-template-columns: 1fr;
    }

    .bk-pdp-quantity-block,
    .bk-pdp-add-to-basket,
    .bk-pdp-visit-store,
    .bk-pdp-whatsapp-help {
        grid-column: 1 !important;
    }

    .bk-pdp-quantity-block { grid-row: 1; }
    .bk-pdp-add-to-basket  { grid-row: 2; }
    .bk-pdp-visit-store    { grid-row: 3; }
    .bk-pdp-whatsapp-help  { grid-row: 4; }
}


/* ==========================================================
   SOUK PRODUCT — FINAL CTA STRUCTURE

   ROW 1:
   Quantity | Add to Basket

   ROW 2:
   Social Share
   ========================================================== */

.bk-pdp-purchase-panel {
    display: grid;
    grid-template-columns: 190px 1fr;

    gap: 12px 14px;

    align-items: stretch;
}


/* Let form children participate in parent grid */
.bk-pdp-cart-form {
    display: contents;
}


/* ROW 1 — Quantity */

.bk-pdp-quantity-block {
    grid-column: 1;
    grid-row: 1;

    display: flex;
    align-items: center;

    gap: 10px;

    margin: 0;
}


.bk-pdp-quantity-block > label {
    margin: 0;

    white-space: nowrap;

    color: var(--teal);

    font-size: 12px;
    font-weight: 800;
}


.bk-pdp-qty-control {
    width: 132px;
}


/* ROW 1 — Add to Basket */

.bk-pdp-add-to-basket {
    grid-column: 2;
    grid-row: 1;

    width: 100%;
    min-height: 52px;

    margin: 0;
}


/* Old duplicated secondary actions are no longer used */

.bk-pdp-visit-store,
.bk-pdp-whatsapp-help {
    display: none !important;
}


/* ==========================================================
   SOCIAL SHARE ROW
   ========================================================== */

.bk-pdp-share {
    grid-column: 1 / -1;
    grid-row: 2;

    margin-top: 4px;
}


.bk-pdp-share-title {
    display: block;

    margin-bottom: 8px;

    color: var(--teal);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}


.bk-pdp-share-actions {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 8px;
}


.bk-pdp-share-btn {
    min-height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 0 10px;

    border: 1px solid var(--line);
    border-radius: 7px;

    background: #fff;

    color: var(--teal) !important;

    font-size: 12px;
    font-weight: 800;

    text-decoration: none !important;

    transition:
        background .18s ease,
        border-color .18s ease,
        transform .18s ease;
}


.bk-pdp-share-btn:hover {
    background: #f6f8f5;

    border-color:
        rgba(23,63,63,.30);

    transform: translateY(-1px);
}


.bk-pdp-share-icon {
    min-width: 27px;
    height: 27px;

    display: inline-grid;
    place-items: center;

    border-radius: 50%;

    background: var(--teal);
    color: #fff;

    font-size: 10px;
    font-weight: 900;
}


.bk-pdp-share-btn.whatsapp
.bk-pdp-share-icon {
    background: #21b659;
}


.bk-pdp-share-btn.linkedin
.bk-pdp-share-icon {
    font-size: 9px;
}


/* ==========================================================
   IN-FRAME IMAGE ZOOM
   ========================================================== */

.bk-pdp-main-image {
    cursor: zoom-in;

    user-select: none;

    outline: none;
}


.bk-pdp-main-image > img {
    transition:
        transform .28s ease;

    transform-origin: 50% 50%;
}


.bk-pdp-main-image.is-zoomed {
    cursor: zoom-out;
}


.bk-pdp-main-image.is-zoomed > img {
    transform: scale(1.85);
}


.bk-pdp-main-image:focus-visible {
    outline:
        3px solid
        rgba(113,136,63,.55);

    outline-offset: 4px;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 850px) {

    .bk-pdp-purchase-panel {
        grid-template-columns:
            175px 1fr;
    }

    .bk-pdp-share-actions {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }
}


@media (max-width: 600px) {

    .bk-pdp-purchase-panel {
        grid-template-columns: 1fr;
    }


    .bk-pdp-quantity-block,
    .bk-pdp-add-to-basket,
    .bk-pdp-share {
        grid-column: 1;
    }


    .bk-pdp-quantity-block {
        grid-row: 1;
    }


    .bk-pdp-add-to-basket {
        grid-row: 2;
    }


    .bk-pdp-share {
        grid-row: 3;

        margin-top: 6px;
    }


    .bk-pdp-share-actions {
        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }
}


/* ==========================================================
   SOUK PRODUCT — FINAL REPAIRED TOP LAYOUT
   ========================================================== */

@media (min-width: 901px) {

    .bk-pdp-top {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(360px, .95fr) !important;

        gap: 60px !important;

        align-items: start !important;
    }

    .bk-pdp-gallery,
    .bk-pdp-summary {
        min-width: 0;
    }
}


/* ==========================================================
   PURCHASE LAYOUT

   ROW 1
   Quantity | Add to Basket

   ROW 2
   Share buttons
   ========================================================== */

.bk-pdp-purchase-panel {
    display: grid !important;

    grid-template-columns:
        190px
        minmax(0, 1fr) !important;

    gap: 12px 14px !important;

    align-items: center !important;

    overflow: visible !important;

    border: 0 !important;

    background: transparent !important;
}


.bk-pdp-cart-form {
    display: contents !important;
}


.bk-pdp-quantity-block {
    grid-column: 1 !important;
    grid-row: 1 !important;

    display: flex !important;
    align-items: center !important;

    gap: 10px !important;

    margin: 0 !important;
}


.bk-pdp-add-to-basket {
    grid-column: 2 !important;
    grid-row: 1 !important;

    width: 100% !important;
    min-height: 52px !important;

    margin: 0 !important;
}


/* ==========================================================
   SOCIAL SHARE
   ========================================================== */

.bk-pdp-share {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;

    margin-top: 5px;
}


.bk-pdp-share-title {
    display: block;

    margin-bottom: 8px;

    color: var(--teal);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .07em;
    text-transform: uppercase;
}


.bk-pdp-share-actions {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 8px;
}


.bk-pdp-share-btn {
    min-height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    padding: 0 9px;

    border: 1px solid var(--line);
    border-radius: 7px;

    background: #fff;

    color: var(--teal) !important;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none !important;
}


.bk-pdp-share-btn:hover {
    background: #f6f8f5;
}


.bk-pdp-share-icon {
    width: 25px;
    height: 25px;

    flex: 0 0 25px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: var(--teal);
    color: #fff;

    font-size: 9px;
    font-weight: 900;
}


.bk-pdp-share-btn.whatsapp
.bk-pdp-share-icon {
    background: #20b75a;
}


/* ==========================================================
   IMAGE ZOOM — STAYS INSIDE FRAME
   ========================================================== */

.bk-pdp-main-image {
    cursor: zoom-in;

    user-select: none;

    overflow: hidden !important;
}


.bk-pdp-main-image > img {
    transition: transform .28s ease;

    transform-origin: center center;
}


.bk-pdp-main-image.is-zoomed {
    cursor: zoom-out;
}


.bk-pdp-main-image.is-zoomed > img {
    transform: scale(1.85);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .bk-pdp-purchase-panel {
        grid-template-columns: 1fr !important;
    }


    .bk-pdp-quantity-block {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }


    .bk-pdp-add-to-basket {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }


    .bk-pdp-share {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }


    .bk-pdp-share-actions {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* ==========================================================
   PRODUCT IMAGE — INTERACTIVE PAN ZOOM
   ========================================================== */

.bk-pdp-main-image {
    position: relative;

    overflow: hidden !important;

    cursor: zoom-in;

    touch-action: pan-y;

    user-select: none;
}


.bk-pdp-main-image > img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    will-change:
        transform,
        transform-origin;

    transition:
        transform .24s ease;

    pointer-events: none;
}


.bk-pdp-main-image.is-zoomed {
    cursor: crosshair;

    touch-action: none;
}


.bk-pdp-main-image.is-zoomed > img {
    transform: scale(2.15);
}


/*
 * Remove transform animation while actively
 * following mouse position. This makes panning
 * feel immediate rather than laggy.
 */
@media (hover: hover) and (pointer: fine) {

    .bk-pdp-main-image.is-zoomed > img {
        transition:
            transform .24s ease,
            transform-origin .06s linear;
    }
}


/* Touch users get a grab-style cursor where supported */
@media (hover: none) {

    .bk-pdp-main-image.is-zoomed {
        cursor: grab;
    }
}
