/* Kingston Groom Suits — Single Product Page enhancements */
.kgs-product-zoom-trigger {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    text-align: inherit;
}
.kgs-product-zoom-trigger img { display: block; width: 100%; height: auto; }
.kgs-product-zoom-hint {
    position: absolute; left: 12px; bottom: 12px;
    padding: 7px 10px; color: #111; background: #d4af37;
    font-size: 12px; border-radius: 3px;
}
.kgs-product-zoom-modal {
    display: none; position: fixed; inset: 0; z-index: 99999;
    align-items: center; justify-content: center;
    padding: 72px 20px 20px; background: rgba(0,0,0,.96);
}
.kgs-product-zoom-modal.is-open { display: flex; }
.kgs-product-zoom-modal[aria-hidden="true"] { display: none; }
.kgs-zoom-close {
    position: absolute; top: 14px; right: 20px; z-index: 2;
    width: 44px; height: 44px; color: #fff; background: #171717;
    border: 1px solid #d4af37; border-radius: 50%; font-size: 32px;
    line-height: 1; cursor: pointer;
}
.kgs-zoom-controls { position: absolute; top: 20px; left: 20px; z-index: 2; display: flex; gap: 8px; }
.kgs-zoom-controls button {
    min-height: 38px; padding: 8px 12px; color: #111; background: #d4af37;
    border: 0; border-radius: 4px; font-weight: 600; cursor: pointer;
}
.kgs-zoom-image-area {
    width: 100%; height: 100%; overflow: auto; display: flex;
    align-items: center; justify-content: center;
}
.kgs-zoom-image-area img {
    display: block; max-width: 100%; max-height: 100%; width: auto; height: auto;
    object-fit: contain; transform: scale(1); transform-origin: center center;
    transition: transform .12s ease-out; cursor: grab;
}
.kgs-product-share { margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(212,175,55,.25); }
.kgs-share-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.kgs-share-btn {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 38px; padding: 9px 13px; color: #f5f5f5;
    background: #171717; border: 1px solid #d4af37; border-radius: 4px;
    text-decoration: none; font: inherit; cursor: pointer;
}
.kgs-share-btn:hover, .kgs-share-btn:focus-visible { color: #111; background: #d4af37; }
.kgs-share-status { min-height: 1.3em; color: #d4af37; }
.kgs-product-qr { margin-top: 14px; padding: 16px; width: fit-content; background: #fff; color: #111; border-radius: 6px; }
.kgs-product-qr img { display: block; max-width: 100%; height: auto; }
.kgs-product-qr[hidden] { display: none !important; }
@media (max-width: 600px) {
    .kgs-product-zoom-modal { padding: 72px 10px 10px; }
    .kgs-zoom-controls { top: 16px; left: 10px; gap: 5px; }
    .kgs-zoom-controls button { padding: 7px 9px; }
    .kgs-zoom-close { top: 10px; right: 10px; }
}



/* Kingston Social Share Icon Colours */

.kgs-share-whatsapp svg,
.kgs-share-whatsapp .share-icon {
    color: #25D366;
}

.kgs-share-facebook svg,
.kgs-share-facebook .share-icon {
    color: #1877F2;
}

.kgs-share-instagram svg,
.kgs-share-instagram .share-icon {
    color: #E4405F;
}

.kgs-share-pinterest svg,
.kgs-share-pinterest .share-icon {
    color: #E60023;
}

.kgs-share-qr svg,
.kgs-share-qr .share-icon {
    color: #FFFFFF;
}

.kgs-share-copy svg,
.kgs-share-copy .share-icon {
    color: #D4AF37;
}
 
/* Social Media Brand Colours — Kingston Groom Suits */

/* WhatsApp */
.kgs-share-whatsapp,
.kgs-share-whatsapp svg,
.kgs-share-whatsapp .share-icon {
    color: #25D366;
}

/* Facebook */
.kgs-share-facebook,
.kgs-share-facebook svg,
.kgs-share-facebook .share-icon {
    color: #1877F2;
}

/* Instagram */
.kgs-share-instagram,
.kgs-share-instagram svg,
.kgs-share-instagram .share-icon {
    color: #E4405F;
}

/* Pinterest */
.kgs-share-pinterest,
.kgs-share-pinterest svg,
.kgs-share-pinterest .share-icon {
    color: #E60023;
}

/* QR Share */
.kgs-share-qr svg,
.kgs-share-qr .share-icon {
    color: #FFFFFF;
}

/* Copy URL */
.kgs-share-copy svg,
.kgs-share-copy .share-icon {
    color: #D4AF37;
}

/* Product Engagement Buttons */
.kgs-product-engagement {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #303030;
}

.kgs-engagement-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 15px;
    background: #0a0a0a;
    color: #f5f5f5;
    border: 1px solid #d4af37;
    border-radius: 8px;
    cursor: pointer;
    transition: background .2s, transform .2s;
}

.kgs-engagement-btn:hover {
    background: #191919;
    transform: translateY(-1px);
}

.kgs-engagement-btn[data-engagement-action="like"] .kgs-engagement-icon {
    color: #1877f2;
}

.kgs-engagement-btn[data-engagement-action="dislike"] .kgs-engagement-icon {
    color: #ff6b00;
}

.kgs-engagement-btn[data-engagement-action="favorite"] .kgs-engagement-icon {
    color: #d4af37;
}

.kgs-engagement-btn.is-selected {
    background: #24200f;
    box-shadow: inset 0 0 0 1px #d4af37;
}

.kgs-engagement-btn:disabled {
    opacity: .65;
    cursor: wait;
}

@media (max-width: 480px) {
    .kgs-product-engagement {
        gap: 8px;
    }

    .kgs-engagement-btn {
        flex: 1 1 100px;
        padding: 9px;
    }
}
