@import url("https://sheethaus.com/wp-content/uploads/breakdance/font_styles/custom_font_bitsumishi.css");
@import url("https://use.typekit.net/qce1uuy.css");

/* Container Layout */
.clp-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: "Bitsumishi", sans-serif;
    align-items: flex-start;
}

/* Left Column */
.clp-preview-column {
    flex: 0 0 45%;
    max-width: 45%;
}

.clp-sticky-wrapper {
    position: sticky;
    top: 40px;
}

/* Right Column */
.clp-options-column {
    flex: 0 0 50%;
    max-width: 50%;

}

/* SVG Styles */
.clp-svg-wrapper {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent;
    padding: 0;
    margin-bottom: 25px;
    position: relative; 
}

#safety-sign-svg {
    width: 100%;
    height: auto;
    max-height: 85vh; 
    display: block;
    transition: all 0.3s ease;
    overflow: visible; 
    box-sizing: border-box;
}
/* Text Container inside SVG */
.sign-text-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    text-align: center;
}

/* Info Section (Under Image) */
.clp-info-under-image {
    padding-top: 10px;
}

.clp-price-display {
    font-family: "Gotham", sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #333;
    margin-bottom: 15px;
}

.clp-price-display .amount {
    color: #333;
}

.clp-bullets {
    margin: 0 0 25px 0;
    padding-left: 18px;
    color: #444;
    font-family: "Gotham", sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

.clp-bullets li {
    margin-bottom: 8px;
}

/* Quantity and Add to Cart Row */
.clp-actions {
    display: flex;
    gap: 15px;
    align-items: stretch;
    margin-bottom: 20px;
}

.clp-actions .added_to_cart.wc-forward {
	display: none!important;
}

.clp-qty-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    background: #f9f9f9;
}

.clp-qty-btn {
    width: 35px;
    height: 100%;
    border: none;
    background: none;
    font-size: 18px;
    cursor: pointer;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
}

.clp-qty-btn:hover {
    background: #eee;
}

.clp-qty-input {
    width: 40px !important;
    text-align: center;
    border: none;
    background: transparent;
    font-size: 16px;
    font-family: "Gotham", sans-serif;
    padding: 0;
    height: 100%;
    -moz-appearance: textfield;
}
.clp-qty-input::-webkit-outer-spin-button,
.clp-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


.clp-add-to-cart-btn {
    /* Layout */
    flex-grow: 1; /* Fills space next to Qty input */
    width: auto;
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
    border-radius: 8px;
    padding: 16px 20px;
    background-color: #7b5642;
    border: 1px solid transparent;
    color: #fff !important;
    font-family: "Bitsumishi", sans-serif;
    font-size: 14px;
    letter-spacing: 2px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    text-transform: uppercase; /* Ensures "ADD TO BASKET" looks correct */
    
    /* Transitions */
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

/* Hover State - Transparent Background with Border */
.clp-add-to-cart-btn:hover {
    background-color: transparent;
    color: #344343 !important;
    border: 1px solid #7b5642;
}

/* Loading / Disabled State */
.clp-add-to-cart-btn:disabled, 
.clp-add-to-cart-btn.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

.clp-add-to-cart-btn.loading::after {
    content: ' ...';
}

/* Form Styling */
.clp-icons-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; /* Aligns text and icons nicely */
    margin-bottom: 15px;
    color: #666;
    font-size: 16px;
    text-align: center;
    font-family: "Gotham", sans-serif;
    gap: 10px;
}

.clp-icon-item {
    display: flex;
    flex-direction: row; /* Stack image above text */
    align-items: center;
    gap: 8px;
    flex: 1;
}

.clp-icon-item img {
    width: 60px; /* Adjust size of the new icons */
    height: 60px;
    display: block;
    margin-bottom: 5px;
}

.clp-divider {
    border: 0;
    border-top: 2px dotted #4B5F65;
    margin-bottom: 20px;
}

.clp-product-title {
    font-family: "Bitsumishi", sans-serif;
    font-size: 24px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #333;
    font-weight: bold;
}

.clp-form-group {
    margin-bottom: 15px;
}

.clp-form-group label {
    display: block;
    font-weight: 500;
    margin-bottom: 6px;
    font-size: 14px;
    color: #333;
    font-family: "Gotham", sans-serif;
}

.clp-input {
    width: 100%;
    height: 50px; /* Force a fixed height for both inputs and selects */
    padding: 0 12px; /* Remove top/bottom padding, rely on height */
    line-height: 46px; /* Vertically center text (height minus borders) */
    border: 2px solid #888;
    border-radius: 4px;
    font-family: "Gotham", sans-serif;
    font-size: 15px;
    color: #000;
    background-color: #fff;
    font-weight: 700;
    box-sizing: border-box; /* Ensures borders don't increase the width/height */
    -webkit-appearance: none; /* Removes default browser styling on Macs/iPhones */
    -moz-appearance: none;
    appearance: none;
}

/* Add a custom arrow for the Select boxes since we removed default styling */
select.clp-input {
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 15px top 50%;
    background-size: 12px auto;
    padding-right: 30px; /* Make space for the arrow */
}

.clp-input:focus {
    border-color: #7b5642;
    outline: none;
}

.clp-disabled-input {
    background-color: #fff;
    color: #000;
    border: 2px solid #888;
    font-size: 14px;
    font-weight: 700;
}

.clp-order-notes {
    border: 2px solid #333;
    padding: 15px;
    border-radius: 6px;
    margin-top: 25px;
    background: #fff;
}

.clp-textarea {
    resize: none;
    font-weight: 800;
    text-transform: uppercase;
    border: none;
    padding: 0;
    width: 100%;
    font-size: 16px;
    line-height: 1.4;
    font-family: "Helvetica", "Arial", sans-serif; 
}
.clp-textarea:focus { border:none; outline:none; }
/* ──────────────── SUCCESS POPUP STYLES (EXACT REPLICA) ──────────────── */
.custom-shop-overlay { 
    position: fixed; 
    top: 0; 
    left: 0; 
    right: 0;
    bottom: 0;
    width: 100%; 
    height: 100vh; 
    background-color: rgba(0, 0, 0, 0.6); 
    z-index: 999999; 
}

.custom-shop-success-popup { 
    position: fixed; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    background-color: #ffffff; 
    color: #333; 
    border-radius: 0px; 
    box-shadow: 0 8px 25px rgba(0,0,0,0.15); 
    z-index: 1000000; 
    width: 90%; 
    max-width: 720px; /* Matched to Plugin 1 */
    padding: 0; 
    font-family: "Gotham", sans-serif; 
}

.popup-header { display: flex; align-items: center; padding: 15px 20px; }
.popup-success-icon { color: #4CAF50; font-size: 20px; margin-right: 10px; line-height: 1; }
.popup-title { font-size: 18px!important; font-weight: 600; margin: 0; flex-grow: 1; color: #202020; font-family: "Bitsumishi", sans-serif; letter-spacing: 2px; }
.popup-close-button { background: none; border: none; font-size: 28px; color: #777; cursor: pointer; padding: 0 5px; line-height: 1; }
.popup-close-button:hover { color: #333; }

.popup-product-info { display: flex; align-items: center; padding: 20px; gap: 15px; }
.popup-product-image img { width: 60px; height: auto; max-height: 60px; object-fit: contain; border: 1px solid #eee; border-radius: 4px; }
.popup-product-name { font-size: 15px; line-height: 1.4; color: #333; font-family: "Gotham", sans-serif; }

.popup-actions { display: flex; justify-content: flex-start; padding: 15px 20px; gap: 10px; }
.popup-actions button { transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out; cursor: pointer; text-decoration: none; box-sizing: border-box; text-align: center; }

.popup-continue-shopping { padding: 16px 20px; border-radius: 8px; font-family: "Bitsumishi", sans-serif; font-size: 20px; letter-spacing: 2px; background-color: #fff; color: #344343; border: 1px solid #7b5642; }
.popup-continue-shopping:hover { background-color: #7b5642; color: #fff; }

.popup-go-to-basket { border-radius: 8px; padding: 16px 20px; background-color: #7b5642; border: 1px solid transparent; color: #fff !important; font-family: "Bitsumishi", sans-serif; font-size: 20px; letter-spacing: 2px; }
.popup-go-to-basket:hover { background-color: #fff; color: #344343!important; border: 1px solid #7b5642; }

@media (max-width: 767px) {
    .custom-shop-success-popup { width: 95%; max-width: 95%; }
    .popup-title { font-size: 16px; }
    .popup-product-info { flex-direction: column; text-align: center; }
    .popup-product-image img { margin-bottom: 10px; }
    .popup-actions { flex-direction: column; }
    .popup-actions button { width: 100%; margin-bottom: 10px; font-size: 16px; }
    .popup-actions button:last-child { margin-bottom: 0; }
}
/* Mobile Response */
@media (max-width: 991px) {
    .clp-container {
        flex-direction: column;
        align-items: center;
    }
    .clp-preview-column, .clp-options-column {
        flex: 100%;
        max-width: 100%;
    }
    .clp-sticky-wrapper {
        position: static;
    }
}