body {
    background: linear-gradient(135deg, #fff7ec, #fff1db);
    min-height: 100vh;
    color: #3b1f00;
}

*{
    font-family: 'Noto Serif Devanagari', serif !important;
}

/* CONTAINER */
.container {
    max-width: 1200px;
    margin: 40px auto;
}

/* MAIN TITLE */
.main-heading {
    text-align: center;
    font-size: 26px;
    margin-bottom: 25px;
    font-weight: bold;
    color: #7a3000;
    border-bottom: 2px solid #dc7014;
    padding-bottom: 8px;
}

/* PROVINCE BOX */
.province-list {
    background: #fff;
    padding: 10px 20px 20px 20px;
    border-radius: 12px;
    border: 1px solid #dc7014;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.12);
    margin-bottom: 30px;
}

.province-list h3 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 18px;
}

.province-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
}


input[type="radio"] {
    display: none;
}

/* Tabs */
label {
    padding: 8px 16px;
    border-radius: 25px;
    border: 1.5px solid #dc7014;
    background: white;
    color: #dc7014;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s ease;
    font-size: 14px;
}

label:hover {
    background: linear-gradient(to right, #dc7014, #ff9c2c);
    color: white;
    transform: scale(1.05);
}


/* ACTIVE BUTTON */
input:checked+label {
    background: linear-gradient(to right, #dc7014, #ff9c2c);
    color: white;
    transform: scale(1.06);
    box-shadow: 0 4px 10px rgba(220, 112, 20, 0.6);
}

/* Content Area */
.tab-content {
    display: none;
    border: 1px solid #999;
    padding: 15px;
    margin-top: 10px;
}

/* Show active */
body:has(#tamil:checked) #tamil-content,
body:has(#karnataka:checked) #karnataka-content,
body:has(#kerala:checked) #kerala-content,
body:has(#telangana:checked) #telangana-content,
body:has(#andhra:checked) #andhra-content,
body:has(#konkan:checked) #konkan-content,
body:has(#westernmaharashtra:checked) #westernmaharashtra-content,
body:has(#devagiri:checked) #devagiri-content,
body:has(#gujarat:checked) #gujarat-content,
body:has(#vidarbh:checked) #vidarbh-content,
body:has(#malwa:checked) #malwa-content,
body:has(#centralindia:checked) #centralindia-content,
body:has(#mahakoshal:checked) #mahakoshal-content,
body:has(#chhattisgarh:checked) #chhattisgarh-content,
body:has(#chittorgarh:checked) #chittorgarh-content,
body:has(#jaipur:checked) #jaipur-content,
body:has(#jodhpur:checked) #jodhpur-content,
body:has(#delhi:checked) #delhi-content,
body:has(#haryana:checked) #haryana-content,
body:has(#punjab:checked) #punjab-content,
body:has(#jammukashmirladakh:checked) #jammukashmirladakh-content,
body:has(#himachalpradesh:checked) #himachalpradesh-content,
body:has(#uttarakhand:checked) #uttarakhand-content,
body:has(#braj:checked) #braj-content,
body:has(#meerut:checked) #meerut-content,
body:has(#kanpur:checked) #kanpur-content,
body:has(#gorakh:checked) #gorakh-content,
body:has(#northbihar:checked) #northbihar-content,
body:has(#goaprovince:checked) #goaprovince-content,
body:has(#southbihar:checked) #southbihar-content,
body:has(#jharkhand:checked) #jharkhand-content,
body:has(#odishaeast:checked) #odishaeast-content,
body:has(#odishawest:checked) #odishawest-content,
body:has(#westbengal:checked) #westbengal-content,
body:has(#northbengal:checked) #northbengal-content,
body:has(#southbengal:checked) #southbengal-content,
body:has(#awadh:checked) #awadh-content,
body:has(#kashi:checked) #kashi-content,
body:has(#arunachal:checked) #arunachal-content,
body:has(#assam:checked) #assam-content,
body:has(#manipur:checked) #manipur-content,
body:has(#tripura:checked) #tripura-content,
body:has(#mizoram:checked) #mizoram-content,
body:has(#nagaland:checked) #nagaland-content,
body:has(#meghalaya:checked) #meghalaya-content,
body:has(#sikkim:checked) #sikkim-content {
    display: block;
}

/* TABLE AREA */
.table-wrapper {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    border-left: 6px solid #dc7014;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.13);
    display: none;
    animation: fadeIn 0.5s ease-in-out;
}

/* TITLE */
#regionTitle {
    text-align: center;
    color: #dc7014;
    font-size: 30px;
    font-weight: bold;
}

.table-wrapper h3,h4 {
    margin: 0;
}

.executive-label {
    display: block;
    border-radius: 20px;
    color: #4d0e0e;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 1px;
    text-align: center;
}

/* Table Design */
table {
    width: 100%;
    border-collapse: collapse;
}

thead th {
    background: linear-gradient(to right, #dc7014, #ff9c2c);
    color: #fff;
    padding: 10px;
}

tbody td {
    padding: 10px;
    border-bottom: 1px solid #ddd;
    text-align: center;
}

tbody tr:nth-child(even) {
    background: #fff3e0;
}

tbody tr:hover {
    background: #ffe0c2;
}


@media(max-width: 600px) {
    .province-buttons button {
        width: 100%;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ===============================
   TABLET (768px – 1199px)
================================ */
@media (max-width: 1199px) {

    .main-heading {
        font-size: 24px;
    }

    .province-list h3 {
        font-size: 17px;
    }

    label {
        font-size: 13.5px;
        padding: 7px 14px;
    }
}

/* ===============================
   MOBILE (≤767px)
================================ */
@media (max-width: 767px) {

    .main-heading {
        font-size: 20px;
        margin-bottom: 18px;
    }

    .province-list {
        padding: 10px 12px 15px;
        border-radius: 10px;
    }

    .province-list h3 {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .province-buttons {
        gap: 8px;
    }

    label {
        font-size: 12.5px;
        padding: 6px 12px;
        border-radius: 20px;
        white-space: nowrap; /* text break na ho */
    }
}

/* ===============================
   VERY SMALL MOBILE (≤480px)
================================ */
@media (max-width: 480px) {

    .main-heading {
        font-size: 18px;
    }

    label {
        font-size: 12px;
        padding: 5px 10px;
    }
}