/* Hajj Meals compact typography patch
   الهدف: تصغير الخطوط والمسافات مع الحفاظ على وضوح القراءة. */
:root{
    --hm-base-font: 14px;
    --hm-small-font: 12.5px;
    --hm-line-height: 1.72;
}

html{font-size:14px!important;}
body{
    font-size:var(--hm-base-font)!important;
    line-height:var(--hm-line-height)!important;
    letter-spacing:0!important;
}

/* Front public website */
.hm-public-nav{min-height:68px!important;}
.hm-brand img{width:56px!important;height:56px!important;}
.hm-brand span{font-size:.92rem!important;}
.hm-brand small{font-size:.66rem!important;}
.hm-public-nav .nav-link{font-size:.86rem!important;padding:.52rem .66rem!important;}
.hm-btn,.btn{font-size:.88rem!important;padding:.58rem .9rem!important;}
.hm-btn.py-2{padding-top:.45rem!important;padding-bottom:.45rem!important;}
.btn-lg,.hm-btn-lg{font-size:.95rem!important;padding:.72rem 1.05rem!important;}

.hm-hero{
    min-height:calc(86vh - 68px)!important;
    margin-top:-68px!important;
    padding-top:88px!important;
}
.hm-hero h1{font-size:clamp(1.55rem,3.5vw,2.75rem)!important;line-height:1.35!important;}
.hm-hero .verse{font-size:clamp(1rem,1.8vw,1.32rem)!important;}
.hm-hero p{font-size:.95rem!important;line-height:1.85!important;}
.hm-page-hero{padding:52px 0!important;}
.hm-page-hero h1{font-size:clamp(1.55rem,2.8vw,2.15rem)!important;}
.hm-page-hero p{font-size:.92rem!important;}
.hm-section{padding:48px 0!important;}
.hm-section-title{margin-bottom:22px!important;}
.hm-section-title h2{font-size:clamp(1.25rem,2.2vw,1.7rem)!important;}
.hm-section-title p,.hero-mini p,.hm-card p,.item-card p{font-size:.88rem!important;line-height:1.75!important;}
.eyebrow,.hm-section-title .eyebrow{font-size:.78rem!important;}

.hm-hero-card{border-radius:24px!important;padding:20px!important;}
.hm-hero-card .hm-mini-card{border-radius:18px!important;padding:14px!important;}
.hm-card{border-radius:22px!important;}
.hm-card-body{padding:18px!important;}
.hm-service-icon{width:48px!important;height:48px!important;border-radius:16px!important;font-size:1.35rem!important;margin-bottom:10px!important;}
.hm-card h3,.item-card h3{font-size:1.05rem!important;}
.hm-card h4,.item-card h4{font-size:.98rem!important;}
.hm-stats{gap:12px!important;}
.hm-stat{border-radius:20px!important;padding:16px!important;}
.hm-stat strong{font-size:1.65rem!important;}
.hm-stat span{font-size:.82rem!important;}
.hm-phone-grid{gap:28px!important;}
.hm-phone-img{max-width:340px!important;}
.hm-check{gap:8px!important;margin-bottom:8px!important;}
.hm-check b{width:24px!important;height:24px!important;flex-basis:24px!important;font-size:.78rem!important;}

.card{border-radius:20px!important;}
.card-body{padding:1rem!important;}
.item-card{border-radius:18px!important;padding:13px!important;}
.day-pill{font-size:.84rem!important;padding:.52rem .75rem!important;}
.meal-tabs{gap:7px!important;}
.badge,.badge-soft,.badge-health{font-size:.72rem!important;}
.hero-mini{border-radius:22px!important;padding:22px!important;}
.elder-friendly{font-size:.95rem!important;}
.elder-box{font-size:.88rem!important;padding:12px!important;border-radius:16px!important;}
.empty-state{padding:22px!important;font-size:.9rem!important;}
.form-control,.form-select{font-size:.88rem!important;padding:.62rem .8rem!important;border-radius:12px!important;}
.form-label{font-size:.85rem!important;margin-bottom:.32rem!important;}
.section-title{font-size:1.05rem!important;margin-bottom:10px!important;}
.media-placeholder{min-height:185px!important;font-size:2.25rem!important;border-radius:18px!important;}
.faq-row{padding:12px 0!important;}
.faq-row h3{font-size:.94rem!important;}
.hm-footer{padding-top:38px!important;}
.hm-footer-card{border-radius:24px!important;padding:24px!important;}
.hm-footer-bottom{padding:24px 0!important;margin-top:24px!important;font-size:.82rem!important;}
.hm-social a{width:28px!important;height:28px!important;font-size:.8rem!important;}

/* Admin dashboard */
.adm-shell{grid-template-columns:250px 1fr!important;}
.adm-sidebar{padding:14px!important;}
.adm-brand{gap:9px!important;padding:8px 6px 16px!important;margin-bottom:10px!important;}
.adm-brand-logo{width:42px!important;height:42px!important;border-radius:14px!important;}
.adm-brand strong{font-size:.92rem!important;}
.adm-brand small{font-size:.72rem!important;}
.adm-nav-title{font-size:.68rem!important;margin:12px 8px 6px!important;}
.adm-nav a,.adm-nav button{font-size:.82rem!important;padding:.55rem .65rem!important;border-radius:11px!important;gap:7px!important;}
.adm-nav .ico{width:23px!important;height:23px!important;border-radius:8px!important;font-size:.78rem!important;}
.adm-topbar{height:60px!important;padding:0 18px!important;}
.adm-topbar h1{font-size:.98rem!important;}
.adm-topbar small{font-size:.74rem!important;}
.adm-content{padding:18px!important;}
.hero,.hero-mini{border-radius:18px!important;padding:18px!important;}
.hero h1,.hero-mini h1{font-size:1.32rem!important;}
.stat-card{padding:15px!important;border-radius:17px!important;}
.stat-value{font-size:1.55rem!important;}
.stat-label{font-size:.82rem!important;}
.quick-card{padding:16px!important;border-radius:17px!important;}
.quick-icon{width:38px!important;height:38px!important;border-radius:12px!important;font-size:1.05rem!important;margin-bottom:8px!important;}
.table{font-size:.82rem!important;}
.table thead th{font-size:.74rem!important;}
.quantity-box{gap:6px!important;}
.qty-btn{width:32px!important;height:32px!important;border-radius:10px!important;}
.qr-box{border-radius:18px!important;padding:16px!important;}
.adm-login-wrap{padding:20px!important;}
.adm-login-card{width:min(460px,100%)!important;}

h1{font-size:clamp(1.45rem,2.7vw,2.15rem)!important;}
h2{font-size:clamp(1.25rem,2.2vw,1.75rem)!important;}
h3{font-size:1.12rem!important;}
h4{font-size:1rem!important;}
h5{font-size:.94rem!important;}
p,li,td,th,label,input,select,textarea,small{line-height:1.7!important;}

@media(max-width:992px){
    html{font-size:13.5px!important;}
    .hm-hero-grid,.hm-phone-grid{grid-template-columns:1fr!important;gap:22px!important;}
    .hm-hero{min-height:auto!important;padding:105px 0 70px!important;}
    .hm-stats{grid-template-columns:repeat(2,1fr)!important;}
    .adm-shell{display:block!important;}
    .adm-topbar{height:auto!important;padding:14px!important;}
    .adm-content{padding:14px!important;}
}
@media(max-width:576px){
    html{font-size:13px!important;}
    .hm-container{padding:0 12px!important;}
    .hm-section{padding:34px 0!important;}
    .hm-hero h1{font-size:1.55rem!important;}
    .hm-stats{grid-template-columns:1fr!important;}
    .hm-footer-card{padding:18px!important;}
    .adm-nav a,.adm-nav button{font-size:.8rem!important;}
}
