/*
Theme Name: GeneratePress-Child
Author: 
Description: Your description goes here
Version: 1.0
Template: generatepress

This is the child theme for GeneratePress theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/

body{
    font-family: Arial, Helvetica, sans-serif;
    /*font-family: math;*/
    background: linear-gradient(135deg,#f5f7fa,#e4ecf7);
}
.site-content {
    display: block;
}
.section-heading {
    font-size: 18px;
    font-weight: 600;
}
.primary-btn {
    background: #2563eb;
    padding: 10px 22px;
    color: #fff;
    font-size: 16px;
    border-radius: 5px;
    text-decoration: none;
}
.primary-btn:hover{
    background: #1d4ed8;
    color: #fff;
}
.secondary-btn {
    background: #0ea5e9;
    padding: 10px 22px;
    color: #fff;
    font-size: 16px;
    border-radius: 5px;
    text-decoration: none;
}
.secondary-btn:hover{
    background: #0ea5e9;
    color: #fff;
}
.step01, .step02, .step03 {
    margin: 20px 0px;
}
.login-page{
    /*min-height:85vh;*/
    display:flex;
    justify-content:center;
    align-items:center;
    padding:20px;
    margin: 10px auto;
}

.login-card{
    width:100%;
    max-width:420px;
    background:#ffffff;
    border-radius:20px;
    padding:35px 28px;
    box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

.logo-title{
    text-align:center;
    margin-bottom:28px;
}

.logo-title h2{
    font-size:28px;
    color:#111827;
    margin-bottom:8px;
}

.logo-title p{
    color:#6b7280;
    font-size:15px;
}

.form-group{
    margin-bottom:18px;
}

.form-group label{
    display:block;
    font-size:14px;
    font-weight:600;
    margin-bottom:8px;
    color:#374151;
}

.phone-input{
    position:relative;
}

.phone-input span{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:#6b7280;
    font-size:15px;
}

.phone-input input{
    width:100%;
    height:52px;
    border:1px solid #d1d5db;
    border-radius:12px;
    padding:0 15px 0 48px;
    font-size:16px;
    outline:none;
    transition:0.3s;
}

.phone-input input:focus{
    border-color:#2563eb;
    box-shadow:0 0 0 4px rgba(37,99,235,0.08);
}

.submit-btn{
    width:100%;
    height:52px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:#fff;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:0.3s;
}

.submit-btn:hover{
    background:#1d4ed8;
}

.info-text{
    text-align:center;
    margin-top:18px;
    font-size:14px;
    color:#6b7280;
    line-height:1.6;
}
.tabs-wrapper{
    width:100%;
    margin:30px 0px;
    display:flex;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 0 15px rgba(0,0,0,0.1);
}
.tab-menu{
    width:250px;
    background:#1e293b;
}
.tab-menu ul{
    list-style:none;
    margin:0;
    padding:0;
}
.tab-menu ul li{
    padding:18px 10px;
    color:#fff;
    cursor:pointer;
    border-bottom:1px solid rgba(255,255,255,0.1);
    text-align: center;
}
.tab-menu ul li.active{
    background:#0ea5e9;
}
.tab-content{
    flex:1;
    padding:0px 25px;
}
.tab-box{
    display:none;
}
.tab-box.active{
    display:block;
}

.all-sheets {
    display: grid;
    grid-template-columns: auto;
    gap: 20px;
}

.sheet-box {
  background: #fff;
  box-sizing: border-box;
  page-break-after: always;
  overflow: hidden; /* ✅ prevents overflow */
  border-radius: 10px;
}

.sheet-box table tr td {
    text-align: center;
    font-weight: 700;
    border: 1px solid #000;
}

.sheet-box table {
    border: 1px solid #000;
}

.sheet-header {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 5px;
  background: #f1f1f1;
  padding: 8px;
}

.sheet-tickets {
  display: grid;
  /*grid-template-columns: repeat(2, 1fr);*/
  gap: 0px;
}

.tambola-ticket table {
    margin-bottom: 7px;
}
.tambola-ticket tr td {
    padding: 10px;
}

.tambola-ticket table {
  width: 100%;
  border-collapse: collapse;
}
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

#ticketsTable {
    min-width: 1200px;
    width: 100%;
}

.tambola-ticket td {
  border: 1px solid #000;
  height: 30px;
  text-align: center;
  font-weight: bold;
}
.download_sheet_btn {
    padding: 5px 10px;
    font-size: 15px;
    border-radius: 5px;
    margin: 5px 0px;
}
/*.booking-wrapper {*/
/*    margin: 0px 50px;*/
/*}*/
.step{display:none;}
.step.active{display:block;}
button{padding:10px;margin:10px 5px;cursor:pointer}

/* ===== POPUP STYLE ===== */
.booking-popup-overlay{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.7);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;
}

.booking-popup{
    background:#fff;
    padding:30px;
    border-radius:12px;
    text-align:center;
    max-width:400px;
    box-shadow:0 10px 30px rgba(0,0,0,0.3);
    animation:popupFade 0.4s ease;
}
#editModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9;
}

.modal-content {
    background: #fff;
    padding: 20px;
    width: 300px;
    margin: 100px auto;
}
.time-slot-sect span {
    padding: 14px 20px;
    background: #f2f2f2;
    border-radius: 5px;
    border: 1px solid #ddd;
}
.step01 input[type="text"] {
    width: 100%;
    background: #f2f2f2;
    border: 1px solid #ddd;
    border-radius: 5px;
}
.nine-pm-slot {
    margin: 0px 10px;
}
.usersheet-detaillist {
    margin: 30px;
}
.slot-title, .sheet-ticket-no {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}

/*book you slot ticket sheet checkbox list css*/
.ticket_sheet_options{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    padding:10px;
}

.chekbx_sheet{
    display:flex;
}

.ticketsheet_chkbx{
    display:flex;
    align-items:center;
    gap:6px;
    padding:8px 14px;
    border:1px solid #ddd;
    border-radius:8px;
    background:#fff;
    cursor:pointer;
    font-size:15px;
    font-weight:500;
    transition:0.3s ease;
}

.ticketsheet_chkbx:hover{
    background:#f5f5f5;
    border-color:#999;
}

.ticketsheet_chkbx input[type="checkbox"]{
    width:16px;
    height:16px;
    cursor:pointer;
}

/* Booked style */
.booked_sheet{
    background:#ffeaea;
    border-color:#ffb3b3;
    cursor:not-allowed;
    opacity:0.8;
}

.request-message, .user-detail-area {
    font-size: 18px;
    margin: 20px;
}
.upi-id-section, .barcode-qr-download-sect, .payment-screenshot-sect {
    background: #f3f3f3;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 10px;
}
input[type="file"] {
    width: 100%;
    padding: 10px;
    border: 2px solid #2563eb;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    margin-top: 8px;
    transition: 0.3s ease;
}
input[type="file"]:hover {
    background: #f4f4f4;
    border-color: #2563eb;
}
.disapproved-msg {
    color: red;
}
.pending-msg {
    color: green;
}

@keyframes popupFade{
    from{transform:scale(0.8);opacity:0;}
    to{transform:scale(1);opacity:1;}
}

@media(max-width:480px){

    .login-card{
        padding:28px 20px;
        border-radius:16px;
    }

    .logo-title h2{
        font-size:24px;
    }

    .phone-input input,
    .submit-btn{
        height:48px;
        font-size:15px;
    }
}

@media (max-width: 768px) {

    .tabs-wrapper {
        flex-direction: column;
    }

    .tab-menu, .tab-content {
        width: 100%;
    }

    .tab-menu ul {
        display: flex;
        overflow-x: auto;
        gap: 10px;
    }

    .tab-menu ul li {
        flex: 1;
        min-width: 120px;
        white-space: nowrap;
    }
    .slot-title {
        font-size: 20px;
        font-weight: 700;
    }

}