/* Pre-sale Label Styles */
/* Hook class mirrors other product states (festival/sale/soon). Add your ::after icon in style.css using .product-presale similar to .product-festival */
.product-presale { position: relative; }

.presale-label {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #07cba7; /* site green */
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* Pre-sale Button Styles */
.presale-button-wrap { margin: 20px 0; }

.presale-request-btn {
    background: #07cba7; /* site green */
    color: #fff;
    border: none;
    padding: 10px;
    border-radius: 5px;
    /* font-size: 16px; */
    font-weight: 700;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
    width: 100%;
    max-width: 200px;
    box-shadow: 0 6px 16px rgba(7, 203, 167, 0.25);
}

.presale-request-btn:hover { 
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(7, 203, 167, 0.35);
    background: #06b497;
}

.presale-request-btn:active { transform: translateY(0); }

/* Pre-sale Form Styles */
.presale-form-container {
    max-width: 640px;
    margin: 0 auto;
    padding: 24px;
    /* background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.08); */
}

.wrap-presale h2 {
    color: #333;
    margin-bottom: 0px;
    margin-top: 0px;
    margin-right: 10px;
    font-size: 22px;
    font-weight: 800;
}


.wrap-presale-col{
display: block;    
}

.wrap-presale-col .col{
margin-top: 30px;
}

@media(min-width:993px){
    .wrap-presale-col{

    display: flex;
}
}

.presale-form { display: flex; flex-direction: column; gap: 16px; }

.form-group { display: flex; flex-direction: column; gap: 8px; }

.form-group label { font-weight: 700; color: #444; font-size: 14px; }

.form-group .required { color: #e74c3c; }

.form-group input,
.form-group textarea {
    padding: 12px 14px;
    border: 2px solid #e6f7f3; /* light green tint */
    border-radius: 8px;
    font-size: 14px;
    transition: border-color .2s ease, box-shadow .2s ease;
    font-family: inherit;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #07cba7;
    box-shadow: 0 0 0 3px rgba(7, 203, 167, 0.12);
}

.form-group input[readonly] { background-color: #f7fffd; color: #6c757d; }

.form-group textarea { resize: vertical; min-height: 100px; }

.submit-btn {
    background: #07cba7;
    color: #fff;
    border: none;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
    margin-top: 8px;
    box-shadow: 0 6px 16px rgba(7, 203, 167, 0.25);
}

.submit-btn:hover:not(:disabled) { background: #06b497; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(7, 203, 167, 0.35); }

.submit-btn:disabled { opacity: .7; cursor: not-allowed; transform: none; position: relative; }

/* Form Result Messages */
.form-result { margin-top: 14px; padding: 12px 16px; border-radius: 8px; font-weight: 700; text-align: center; }
.form-result.success { background-color: #e9fbf6; color: #0c5f52; border: 1px solid #bdf0e6;

    position: absolute;
    top: 200px;
    padding-top: 50px;
    padding-bottom: 50px;
 }
.form-result.error { background-color: #fdeaea; color: #7e1f1f; border: 1px solid #f5c6cb; }

/* Invalid Input Styles */
.invalid-input { border-color: #e74c3c !important; box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.08) !important; }

/* Responsive */
@media (max-width: 768px) {
    .presale-form-container { 
         padding: 18px; 
        }
    .presale-request-btn, .submit-btn { padding: 12px 20px; font-size: 15px; }
    .form-group input, .form-group textarea { padding: 10px 12px; font-size: 16px; }
}

/* RTL */
.presale-form-container { direction: rtl; text-align: right; }
.form-group label { text-align: right; }
.form-group input, .form-group textarea { text-align: right; }

/* Product archive alignment for label */
.woocommerce ul.products li.product { position: relative; }
.woocommerce ul.products li.product .presale-label { top: 10px; right: 10px; }

/* Single Product alignment */
.single-product .presale-button-wrap { margin: 20px 0; text-align: left; }
@media(max-width:768px){
    .single-product .presale-button-wrap {
        text-align: center;
}
}
.single-product .presale-request-btn { max-width: 200px;height: 40px; }
