/* Shared layout repairs for the archived static site. */
html { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
.clr, .clearfix { clear: both; }

/* Tour cards: these rules were absent on Hajj and the original 31% width was
   being applied inside an already narrow Bootstrap column on Umrah. */
.program-row-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 28px;
    width: 100%;
    margin-top: 30px;
}
.program-row-content::after { display: table; clear: both; content: ""; }
.program-row-content > #programs {
    float: none;
    flex: 1 1 420px;
    width: auto;
    max-width: 620px;
    padding: 0;
}
.tour.three {
    float: none;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding-bottom: 18px;
    overflow: hidden;
    background: #f3f3f3;
    border-radius: 3px;
    box-shadow: 0 5px 22px rgba(0, 0, 0, .08);
}
.tour .header { padding: 0 18px; background: #fcb614; color: #111; text-align: center; }
.tour .header h3 { margin: 0; padding: 24px 0 16px; font: 24px/1.2 "OpenSansSemiBold", Arial, sans-serif; }
.tour .header h4 { margin: 0; font-size: 16px; }
.tour .dates { display: inline-flex; align-items: center; padding: 14px 0 18px; }
.tour .date { display: flex; align-items: center; }
.tour .date .day { margin-right: 7px; font: 44px/1 MyriadProCondRegular, Arial, sans-serif; }
.tour .date div span { display: block; font: 16px/1.25 "OpenSansSemibold", Arial, sans-serif; text-align: left; }
.tour .date:first-child::after { margin: 0 14px; content: "–"; font-size: 32px; }
.tour .photo { width: 100%; height: 228px; background-position: center; background-size: cover; }
.tour .photo div { display: none; width: 100%; height: 100%; background: rgba(252,182,20,.5); color: #fff; font: 30px/228px "OpenSansSemibold", Arial, sans-serif; text-align: center; }
.tour:hover .photo div { display: block; }
.tour .opt-row { display: flex; min-height: 76px; margin: 0 18px; border-bottom: 1px solid #ddd; align-items: center; }
.tour .opt-row:last-child { border-bottom: 0; }
.tour .opt-row .opt { display: flex; width: 100%; align-items: center; gap: 10px; font-size: 16px; white-space: normal; }
.tour .opt-row .opt img { flex: 0 0 auto; vertical-align: middle; }
.tour .opt-row .opt span, .tour .opt-row .opt p { margin: 0; padding: 0; white-space: normal; line-height: 1.4; }
.tour .opt-row .opt p { margin-left: auto; text-align: right; }
.tour .opt-row .opt.food { align-items: flex-start; padding: 12px 0; }
.tour .tourpage { position: absolute; inset: 0; z-index: 2; height: auto; }

/* Partner and airline logos remain usable even when FlexSlider is unavailable. */
.flyslider, .partnersSlider { width: 100%; margin: -20px 0 0; overflow: hidden; background: #fff; }
.flyslider .slides, .partnersSlider .slides {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px 28px;
    width: 100% !important;
    margin: 0;
    padding: 24px;
    transform: none !important;
}
.flyslider .slides > li, .partnersSlider .slides > li {
    display: flex !important;
    float: none !important;
    flex: 1 1 130px;
    width: auto !important;
    min-height: 90px;
    margin: 0 !important;
    align-items: center;
    justify-content: center;
}
.flyslider .slides > li img, .partnersSlider .slides > li img { display: block; width: auto !important; max-width: 160px; max-height: 86px; }
.flyslider .flex-control-nav, .flyslider .flex-direction-nav,
.partnersSlider .flex-control-nav, .partnersSlider .flex-direction-nav { display: none !important; }

/* Sections that previously depended on missing common stylesheet rules. */
.pu_head { position: relative; overflow: hidden; background-position: center; background-size: cover; }
.pu_head > .row, .pu_head .container { position: relative; z-index: 1; }
.pu_head::before { position: absolute; inset: 0; background: rgba(0, 0, 0, .22); content: ""; }
.pu_head .title_top {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 28px 30px 34px;
    color: #fff;
    background: rgba(13, 25, 38, .48);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 6px;
    box-shadow: 0 16px 45px rgba(0, 0, 0, .2);
}
.pu_head .title_top > h1 {
    width: 100%;
    margin: 0 0 28px;
    color: #fcb614;
    font: 46px/1.15 "OpenSansSemiBold", Arial, sans-serif;
    text-align: center;
    text-shadow: 0 3px 14px rgba(0, 0, 0, .45);
}
.pu_head .title_top > h2 { width: 100%; margin: 18px 0 6px; font-size: 27px; line-height: 1.4; }
.pu_head .title_top .right_side { height: 100%; padding: 24px; background: rgba(0, 0, 0, .28); border-radius: 5px; }
.pu_head .title_top .utp_form h4 { margin-top: 0; line-height: 1.45; }
.pu_head .title_top .rline input { width: 100%; max-width: 100%; border-bottom: 2px solid rgba(255,255,255,.7) !important; }
.pu_head .title_top .btn1 { width: 100%; min-height: 48px; margin-top: 18px; background: #fcb614; color: #111; border: 0; }
.umrah-hero-main { display: grid; width: 100%; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 28px; align-items: stretch; }
.umrah-hero-visual {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    background: url('../img/umrah_gallery_img1.jpg') center/cover no-repeat;
    border-radius: 5px;
}
.umrah-hero-visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.72)); content: ""; }
.umrah-hero .img_head, .umrah-hero .arr, .umrah-hero .numbs, .umrah-hero .numbs2, .umrah-hero .numbs3 { position: static; display: none; }
.umrah-availability { position: absolute; right: 20px; bottom: 20px; left: 20px; z-index: 1; display: flex; gap: 12px; }
.availability-item { display: flex; flex: 1; padding: 14px 16px; background: rgba(8,20,31,.88); border: 1px solid rgba(255,255,255,.24); border-radius: 4px; align-items: center; justify-content: space-between; }
.availability-date { font: 17px/1 "OpenSansSemiBold", Arial, sans-serif; }
.availability-count { padding: 7px 10px; background: #078ff0; border-radius: 3px; font: 16px/1 "OpenSansBold", Arial, sans-serif; }
.umrah-hero-form, .umrah-hero-form .right_side { height: 100%; }
.umrah-hero-form .right_side { display: flex; flex-direction: column; justify-content: center; }
.umrah-promo { width: 100%; margin-top: 30px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.2); }
.umrah-promo-title { margin: 0 0 10px !important; color: #fcb614 !important; font-size: 28px !important; line-height: 1.3 !important; text-align: center; }
.umrah-promo-lead { max-width: 920px; margin: 0 auto 24px; color: #fff; font: 18px/1.5 "OpenSansSemiBold", Arial, sans-serif; text-align: center; }
.umrah-promo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; }
.umrah-promo-grid .actsia { float: none; width: 100%; margin: 0; }
.umrah-promo-grid .actsia ul { margin: 0; padding: 0; columns: 2; column-gap: 24px; }
.umrah-promo-grid .actsia li { break-inside: avoid; margin: 0 0 9px; padding-left: 18px; font-size: 15px; line-height: 1.45; }
.umrah-promo-grid .actsia_timer { float: none; width: 100%; margin: 0; text-align: center; }
.umrah-promo-grid .actsia_timer .btn { margin: 22px auto 0; }
.news_question_answer::after { display: table; clear: both; content: ""; }
.news_question_answer .first_news .bg { overflow: hidden; }
.news_question_answer .question_answer { overflow-wrap: anywhere; }
.counter.bgs_black { background: #20242a; color: #fff; }
.counter.bgs_black .main_title, .counter.bgs_black .item_f, .counter.bgs_black .item_f p { color: #fff; }
.counter .item_f { position: relative; min-height: 190px; padding: 16px 14px; text-align: center; }
.counter .item_f + .item_f { border-left: 1px solid rgba(255,255,255,.16); }
.counter .numbers { display: grid; width: 46px; height: 46px; margin: 0 auto 14px; border: 2px solid #fcb614; border-radius: 50%; color: #fcb614 !important; font: 18px/1 "OpenSansBold", Arial, sans-serif; place-items: center; }
.counter .img_f { display: none; }
.main_field1.bgss { background: #f5f5f5; }

/* Visa pages reference a missing visa.css; keep their principal blocks presentable. */
.visa .bl1, .page_visa .bl1, .page_field .bl1 { text-align: center; }
.bl1 .icon { width: 72px; height: 72px; margin: 0 auto 16px; border: 3px solid #fcb614; border-radius: 50%; }
.visa_text { min-height: 66px; font-size: 16px; line-height: 1.45; }
.bl2 .item { margin-bottom: 24px; }
.flags { display: block; min-height: 150px; padding: 14px; background: #fff; color: #222; text-align: center; box-shadow: 0 2px 12px rgba(0,0,0,.08); transition: transform .2s, box-shadow .2s; }
.flags:hover { color: #222; text-decoration: none; transform: translateY(-3px); box-shadow: 0 7px 20px rgba(0,0,0,.13); }
.flags img { display: block; width: 100%; max-width: 150px; max-height: 90px; margin: 0 auto 12px; object-fit: contain; }
.flags .title { font: 16px/1.3 "OpenSansSemiBold", Arial, sans-serif; }

@media (max-width: 767px) {
    .program-row-content { gap: 22px; }
    .program-row-content > #programs { flex-basis: 100%; max-width: 560px; }
    .tour .photo { height: 205px; }
    .tour .opt-row { min-height: 68px; margin: 0 12px; }
    .tour .opt-row .opt { flex-wrap: wrap; gap: 7px; }
    .tour .opt-row .opt p { flex: 1 1 55%; }
    .flyslider .slides, .partnersSlider .slides { gap: 12px; padding: 18px 8px; }
    .flyslider .slides > li, .partnersSlider .slides > li { flex-basis: calc(50% - 12px); min-height: 72px; }
    .flyslider .slides > li img, .partnersSlider .slides > li img { max-width: 125px; max-height: 64px; }
    .counter .item_f { min-height: 0; padding: 14px 18px 22px; }
    .counter .item_f + .item_f { border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }
    .pu_head .title_top { display: block; padding: 22px 16px 26px; }
    .pu_head .title_top > h1 { margin-bottom: 22px; font-size: 34px; line-height: 1.15; text-align: center; }
    .pu_head .title_top > h2 { font-size: 22px !important; line-height: 1.35 !important; }
    .pu_head .title_top .right_side { padding: 20px 16px; }
    .umrah-hero-main { display: block; }
    .umrah-hero-visual { min-height: 250px; margin-bottom: 20px; }
    .umrah-availability { right: 12px; bottom: 12px; left: 12px; }
    .availability-item { padding: 10px 12px; }
    .umrah-promo { margin-top: 24px; padding-top: 22px; }
    .umrah-promo-title { font-size: 23px !important; }
    .umrah-promo-lead { font-size: 16px; }
    .umrah-promo-grid { display: block; }
    .umrah-promo-grid .actsia { margin-bottom: 22px; }
    .umrah-promo-grid .actsia ul { columns: 1; }
    .news_question_answer .first_news, .news_question_answer .question_answer { width: 100%; }
}

@media (max-width: 420px) {
    .tour .date .day { font-size: 36px; }
    .tour .date div span { font-size: 14px; }
    .tour .date:first-child::after { margin: 0 8px; }
    .tour .opt-row .opt p { flex-basis: 100%; margin-left: 42px; text-align: left; }
    .umrah-hero-visual { min-height: 210px; }
    .umrah-availability { display: grid; }
}
