/* =====================================
   GLOBAL
===================================== */

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #f7f6f2;
    color: #333;

    display: flex;
    justify-content: center;
}

/* =====================================
   MAIN CONTAINER
===================================== */

.container {
    max-width: 750px;
    width: 100%;
    padding: 20px;
    text-align: center;
}

/* =====================================
   HEADER
===================================== */

.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 15px;
    padding: 10px 16px;
    font-size: 20px;
    font-weight: 600;
    padding-bottom: 10px;
    border-bottom: 1px solid #e6e6e6;
}
/* top row */
.site-title a {
    text-decoration: none;
    color: inherit;
}

.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.site-title {
    font-size: 22px;
    font-weight: 600;
}

.meta-info {
    text-align: right;
    font-size: 14px;
    line-height: 1.4;
}


/* =====================================
   NAVIGATION
===================================== */

/* navigation row */

.nav-bar {
    display: flex;
    justify-content: center;
}

.nav-selectors {
    display: flex;
    width:70px;
    gap: 20px;
    align-items: center;
}

.nav-selectors > div {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 150px;
}

.nav-selectors label {
    font-size: 13px;
    color: #666;
}

.nav-selectors select {
    min-width: 160px;
}

/* =====================================
   FORM INPUTS
===================================== */

select,
input {
    padding: 8px;
    font-size: 14px;
    border-radius: 6px;
    border: 1px solid #ddd;
}

/* =====================================
   QURAN VERSE DISPLAY
===================================== */

.verse {
    font-family: "Amiri", "Scheherazade New", "Noto Naskh Arabic", serif;
    font-size: 42px;
    line-height: 2.1;
    direction: rtl;
    text-align: center;
    user-select: none;

    padding: 24px;
    background: #ffffff;

    border-radius: 12px;
    border: 1px solid #e6e6e6;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    margin: 14px 0;
}

/* =====================================
   TOOLBAR (EMOJI CONTROLS)
===================================== */

.toolbar {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 10px 0;
}

.toolbar button {
    font-size: 26px;
    background: #ffffff;
    border: 1px solid #e3e3e3;
    border-radius: 10px;

    padding: 10px 12px;

    cursor: pointer;

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);

    transition: all 0.15s ease;
}

.toolbar button:hover {
    background: #f1f1f1;
    transform: translateY(-1px);
}

/* =====================================
   BUTTONS (GENERAL UI)
===================================== */

button {
    padding: 12px 16px;
    font-size: 15px;
    border: none;
    border-radius: 8px;

    background: #2c5e4a;
    color: #ffffff;

    cursor: pointer;
    transition: background 0.2s ease;
}

button:hover {
    background: #1e4033;
}

/* =====================================
   PANELS / SECTIONS
===================================== */

.section {
    background: #ffffff;
    padding: 15px;

    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);

    margin-bottom: 20px;
}

/* =====================================
   TABS
===================================== */

.tabs {
    display: flex;
    gap: 8px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.tabButton{
padding:8px 14px;
border:none;
border-radius:6px;

background:#444;
color:#fff;

cursor:pointer;

transition:all .15s ease;
}

.tabButton:hover{
background:#333;
}

.tabButton.active{
background:#2c5e4a;
color:#fff;
box-shadow:0 2px 6px rgba(0,0,0,0.1);
}

.tabPanel {
    display: none;
    margin-top: 15px;
}

.tabPanel.active {
    display: block;
}

/* =====================================
   LOOP CONTROLS
===================================== */

.loopbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.loopbar input {
    width: 50px;
    text-align: center;
}

/* =====================================
   TAJWEED COLORS
===================================== */

.tj-ghunnah {
    color: #b00020;
    font-weight: 700;
}

.tj-qalqalah {
    color: #1565c0;
    font-weight: 700;
}

.tj-madd {
    color: #2e7d32;
    font-weight: 700;
}

/* =====================================
   MOBILE
===================================== */

.meta-info {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 14px;
}

.verse-area {
    margin-top: 10px;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.footer-note {
    margin-top: 20px;
    font-size: 13px;
    color: #666;
}

#madinahStart,
#madinahEnd{
width:60px;
text-align:center;
}

.madinah-description{
width:100%;
margin-top:8px;
font-size:14px;
color:#555;
text-align:center;
}

.madinah-range{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
}

#madinahTab button {
    font-size: 26px;
    color: #333;
	
	line-height:1;

    background: #ffffff;
    border: 1px solid #e3e3e3;
    border-radius: 10px;

    width:50px;
    height:50px;

    padding:0;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor: pointer;

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);

    transition: all 0.15s ease;
}

.madinah-controls {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 10px;
}

.page-range{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
}

#pageNumber{
width:70px;
text-align:center;
}

#pageTab button{
font-size:26px;
color:#333;

line-height:1;

background:#ffffff;
border:1px solid #e3e3e3;
border-radius:10px;

width:50px;
height:50px;

padding:0;

display:flex;
align-items:center;
justify-content:center;

cursor:pointer;

box-shadow:0 2px 6px rgba(0,0,0,0.06);

transition:all .15s ease;
}

/* =====================================
   MOBILE NAV SELECTORS
===================================== */

@media (max-width:600px){

.nav-selectors{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    flex-wrap:nowrap;
    white-space:nowrap;
}

/* remove vertical stacking */
.nav-selectors > div{
    display:flex;
    align-items:center;
    gap:4px;
    min-width: auto;
}

.nav-bar {
    display: flex;
    justify-content: center;
    min-width: auto;
}


/* shrink labels slightly */
.nav-selectors label{
    font-size:12px;
    margin:0;
}

/* shrink dropdown width */
.nav-selectors select{
    width:90px;
    padding:4px 6px;
    font-size:12px;
}

#ayahSelect{
    width:7ch;
    min-width:7ch;
}

#surahSelect{
    width:20ch;
    min-width:0;
}

#madinahStart,
#madinahEnd{
    width:55px;
    min-width:0;
    padding:4px;
    box-sizing:border-box;
}

.madinah-range{
    display:flex;
    align-items:center;
    gap:4px;
    flex-wrap:nowrap;
    white-space:nowrap;
}

/* smaller inputs */
#madinahStart,
#madinahEnd{
    width:42px;
    min-width:0;
    padding:2px;
    font-size:12px;
    text-align:center;
}

/* shrink buttons for phone */
.madinah-range button{
    font-size:12px;
    padding:3px 6px;
    min-width:auto;
}

/* hide description on phone to save space */
.madinah-description{
    display:none;
}

.madinah-range label{
    font-size:11px;
}
}