/*
 * rentboss-compat.css
 * Compatibility shim: re-defines old-theme utility classes using Palace-aligned values.
 * Loaded after palace/css/style.css in frontend/layouts/master.blade.php.
 */

/* ─── Flaticon base rule ────────────────────────────────────────────────────── */
/*
 * Palace's flaticon_palace-icons.css only defines :before content values.
 * The font-family is applied by specific Palace component rules in style.css,
 * which means standalone usage (e.g. <span class="flaticon-telephone">) breaks.
 * This rule makes ALL flaticon classes work anywhere in the page.
 */
[class^="flaticon-"]:before,
[class*=" flaticon-"]:before {
    font-family: "flaticon_palace-icons" !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ─── Spacing ──────────────────────────────────────────────────────────────── */
.section_spacing6 { padding: 80px 0; }
.pv-16   { padding: 16px 0; }
.mb_6    { margin-bottom:  6px !important; }
.mb_10   { margin-bottom: 10px !important; }
.mb_15   { margin-bottom: 15px !important; }
.mb_20   { margin-bottom: 20px !important; }
.mb_23   { margin-bottom: 23px !important; }
.mb_25   { margin-bottom: 25px !important; }
.mb_30   { margin-bottom: 30px !important; }
.mb_35   { margin-bottom: 35px !important; }
.mb_40   { margin-bottom: 40px !important; }
.mt_10   { margin-top: 10px !important; }
.mt_15   { margin-top: 15px !important; }
.mt_20   { margin-top: 20px !important; }
.mt_30   { margin-top: 30px !important; }
.mt_50   { margin-top: 50px !important; }
.mr_10   { margin-right: 10px !important; }
.mr_20   { margin-right: 20px !important; }
.gap_6   { gap:  6px !important; }
.gap_10  { gap: 10px !important; }
.gap_15  { gap: 15px !important; }
.gap_20  { gap: 20px !important; }
.gap_30  { gap: 30px !important; }
.min_220 { min-width: 220px; }
.max_100 { max-width: 100px; }
.max_14  { max-width: 14px; }

/* ─── Typography ───────────────────────────────────────────────────────────── */
.f_w_400 { font-weight: 400 !important; }
.f_w_500 { font-weight: 500 !important; }
.f_w_600 { font-weight: 600 !important; }
.f_w_700 { font-weight: 700 !important; }
.font_12 { font-size: 12px !important; }
.font_14 { font-size: 14px !important; }
.font_16 { font-size: 16px !important; }
.font_18 { font-size: 18px !important; }
.font_20 { font-size: 20px !important; }
.font_30 { font-size: 30px !important; }

/* ─── Colour utilities (mapped to Palace palette) ──────────────────────────── */
.secondary_text { color: #eb2027 !important; }
.priamry_text   { color: #171b2a !important; }
.mute_text      { color: #666 !important; }
.orange_text    { color: #ffa41b !important; }
.body_text      { color: #555 !important; }
.gray_bg_2      { background-color: #f8f9fa !important; }

/* ─── Custom checkbox (.primary_checkbox) ──────────────────────────────────── */
.primary_checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    gap: 8px;
    font-size: 14px;
    color: #555;
    margin: 0;
}
.primary_checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.primary_checkbox .checkmark {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    border-radius: 3px;
    background: #fff;
    transition: border-color 0.2s, background 0.2s;
}
.primary_checkbox input:checked ~ .checkmark {
    background: #eb2027;
    border-color: #eb2027;
}
.primary_checkbox .checkmark::after {
    content: '';
    display: none;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg) translateY(-1px);
}
.primary_checkbox input:checked ~ .checkmark::after {
    display: block;
}
.primary_checkbox .label_name {
    line-height: 1.4;
}

/* ─── Filter sidebar layout ────────────────────────────────────────────────── */
.Check_sidebar {
    list-style: none;
    padding: 0;
    margin: 0;
}
.Check_sidebar li {
    padding: 5px 0;
}
.single_pro_categry {
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0f0f0;
}
.single_pro_categry:last-child {
    border-bottom: none;
}
.single_pro_categry h4 {
    font-size: 14px;
    font-weight: 700;
    color: #171b2a;
    margin-bottom: 12px;
}
.land_border_bottom {
    border-bottom: 1px solid #eee;
}
.course_title {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #eb2027;
}
.product_category_chose {
    background: #f8f9fa;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 20px;
}
#product_category_chose {
    background: #f8f9fa;
    border: 1px solid #eee;
    border-radius: 6px;
    padding: 20px;
}

/* ─── Filter result bar ────────────────────────────────────────────────────── */
.box_header {
    padding: 12px 0;
    margin-bottom: 16px;
    border-bottom: 1px solid #eee;
}
.tag_added {
    background: #f0f0f0;
    color: #555;
    border: none;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}
.tag_added:hover { background: #eb2027; color: #fff; }
.keyword_lists { display: flex; flex-wrap: wrap; gap: 8px; }

/* ─── About page sections ───────────────────────────────────────────────────── */
.section__title2 h3 {
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 700;
    color: #171b2a;
    line-height: 1.3;
    margin-bottom: 16px;
}
.section__title2 p,
.section__title2 .priamry_text {
    color: #555;
    line-height: 1.8;
}
.about_countBox {
    padding: 30px 20px;
    text-align: center;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    margin-bottom: 24px;
    transition: box-shadow 0.3s;
}
.about_countBox:hover {
    box-shadow: 0 8px 24px rgba(23,27,42,0.1);
}
.about_countBox h3,
.about_countBox h4 {
    font-size: 32px;
    font-weight: 800;
    color: #eb2027;
    margin-bottom: 6px;
}
.about_countBox p {
    font-size: 14px;
    color: #666;
    margin: 0;
}
.about_banner_count {
    gap: 0;
}
.single_about_banner_count {
    padding-right: 32px;
    margin-right: 32px;
    border-right: 1px solid #eee;
}
.single_about_banner_count:last-child {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
}
.single_about_banner_count h4 {
    font-size: 36px;
    font-weight: 800;
    color: #171b2a;
    margin-bottom: 4px;
    line-height: 1;
}
.single_about_banner_count p {
    font-size: 13px;
    color: #666;
    margin: 0;
}
.about_cta_area {
    padding: 80px 0;
    background-size: cover;
    background-position: center;
    background-color: #171b2a;
}
.about_cta_area .o_land_primary_btn,
.about_cta_area a {
    display: inline-block;
    background: #eb2027;
    color: #fff;
    padding: 14px 36px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    margin-top: 16px;
    transition: background 0.2s;
}
.about_cta_area a:hover { background: #c41920; }
.list_disc ul,
.list_disc ol {
    padding-left: 20px;
    color: #555;
    line-height: 1.9;
}
.list_disc li { margin-bottom: 6px; }

/* ─── Mobile: collapse filter sidebar ─────────────────────────────────────── */
@media (max-width: 991px) {
    #product_category_chose {
        display: none;
    }
    #product_category_chose.open {
        display: block;
    }
    .catgory_sidebar_closeIcon { display: flex !important; }
}
@media (min-width: 992px) {
    .catgory_sidebar_closeIcon { display: none !important; }
}
