/* ============================================================
   GARDEN ROUTE PULSE — UX ENHANCEMENT OVERRIDES
   File: css/grp-ux-enhancements.css
   Version: 1.0 — April 2026
   
   This file layers on top of the existing style.css.
   It does NOT replace any existing styles — only overrides
   and enhances specific components.
   ============================================================ */


/* ============================================================
   1. NAVIGATION & SEARCH UX
   ============================================================ */

/* --- Sticky nav: keep dropdowns consistent when scrolled --- */
.header-fixed .hom-top .container {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Make the search bar placeholder more descriptive via CSS (backup) */
.hom-top input[type="text"]::placeholder,
.search-box input::placeholder,
.hom-sea input::placeholder {
    color: #8a919e;
    font-size: 14px;
    letter-spacing: 0.2px;
}

/* Search bar — fix magnifying glass cutoff & general styling */
.hom-sea {
    overflow: visible !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    display: flex !important;
    align-items: center !important;
}

.hom-sea input[type="text"] {
    border-radius: 10px 0 0 10px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.hom-sea button {
    flex-shrink: 0 !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 10px 10px 0 !important;
    min-width: 48px !important;
    overflow: visible !important;
}

.hom-sea button i,
.hom-sea button svg,
.hom-sea button .fa {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
}

/* Sticky nav search bar */
.head-fix .hom-sea {
    max-width: 500px !important;
    overflow: visible !important;
}

/* Sticky nav search — preserve full functionality */
.head-fix .hom-sea {
    max-width: 480px;
}

/* "Add Your Business" — make it more prominent */
.hom-top .add-list-btn,
.hom-nav .add-list-btn {
    background: linear-gradient(135deg, #e8971d 0%, #d4800a 100%) !important;
    color: #fff !important;
    padding: 8px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0.3px !important;
    transition: all 0.2s ease !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(232, 151, 29, 0.3) !important;
}

.hom-top .add-list-btn:hover,
.hom-nav .add-list-btn:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 16px rgba(232, 151, 29, 0.4) !important;
}

/* Sign Up button refinement */
.hom-nav .btn,
.hom-top .btn {
    border-radius: 8px !important;
    font-weight: 600 !important;
    padding: 8px 20px !important;
    transition: all 0.2s ease !important;
}

/* Active page indicator for nav */
.hom-nav .act,
.hom-nav .active {
    position: relative;
}

.hom-nav .act::after,
.hom-nav .active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 2px;
    background: #e8971d;
    border-radius: 2px;
}

/* Explore dropdown refinement */
.hom-nav .dropdown-menu,
.mega-menu {
    border: none !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12) !important;
    border-radius: 12px !important;
    padding: 16px !important;
    animation: fadeInDown 0.2s ease;
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}


/* ============================================================
   2. LEFT PANEL FILTERING — PREMIUM REDESIGN
   ============================================================ */

/* --- Filter panel container --- */
.all-filt {
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
    padding: 0 !important;
    overflow: hidden;
}

/* --- Filter section headers — always visible, no collapsible toggle --- */
.filt-com h4,
.all-list-bre h1 {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    color: #1a2332 !important;
    padding: 14px 16px 10px !important;
    margin: 0 !important;
    border-bottom: 1px solid #edf0f3 !important;
    background: #fff !important;
    /* Remove collapsible arrow — keep panels always open */
    cursor: default !important;
}

/* Remove the arrow pseudo-element */
.filt-com h4::after {
    content: none !important;
}

/* Top-Rated Listings dark header — white text clearly visible */
.filt-alist-near .tit,
.filt-alist-near > h4,
.filt-alist-near .tit h4 {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    color: #ffffff !important;
    padding: 13px 16px !important;
    margin: 0 !important;
    background: #1a2332 !important;
    border-bottom: none !important;
    border-radius: 0 !important;
}

/* --- Category page title (e.g. "PLACES TO EAT") --- */
.all-filt .all-list-bre .sec-all-list-bre h1,
.all-filt h1 {
    color: #1a2332 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

/* --- Filter section content area --- */
.filt-com ul,
.filt-com .dropdown {
    padding: 12px 20px 16px !important;
}

/* --- Dropdown selects --- */
.filt-com select,
.filt-com .chosen-select,
.lhs-cate select {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid #e2e5ea !important;
    border-radius: 10px !important;
    background: #f8f9fa !important;
    color: #1a2332 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.filt-com select:focus,
.lhs-cate select:focus {
    outline: none !important;
    border-color: #e8971d !important;
    box-shadow: 0 0 0 3px rgba(232, 151, 29, 0.1) !important;
}

/* --- Checkbox styling (premium toggle look) --- */
.filt-com .chbox,
.lhs-sub .chbox,
.lhs-featu .chbox {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 6px 0 !important;
    cursor: pointer;
}

.filt-com .chbox input[type="checkbox"],
.lhs-sub .chbox input[type="checkbox"],
.lhs-featu .chbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 5px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    flex-shrink: 0 !important;
    position: relative !important;
    background: #fff !important;
}

.filt-com .chbox input[type="checkbox"]:checked,
.lhs-sub .chbox input[type="checkbox"]:checked,
.lhs-featu .chbox input[type="checkbox"]:checked {
    background: #e8971d !important;
    border-color: #e8971d !important;
}

.filt-com .chbox input[type="checkbox"]:checked::after,
.lhs-sub .chbox input[type="checkbox"]:checked::after,
.lhs-featu .chbox input[type="checkbox"]:checked::after {
    content: '✓' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.filt-com .chbox input[type="checkbox"]:hover,
.lhs-sub .chbox input[type="checkbox"]:hover {
    border-color: #e8971d !important;
}

.filt-com .chbox label,
.lhs-sub .chbox label,
.lhs-featu .chbox label {
    font-size: 13.5px !important;
    color: #374151 !important;
    font-weight: 450 !important;
    cursor: pointer !important;
    line-height: 1.3 !important;
    user-select: none;
}

.filt-com .chbox:hover label {
    color: #1a2332 !important;
}

/* --- Radio button styling (ratings) --- */
.filt-com .rbbox input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #d1d5db !important;
    border-radius: 50% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    flex-shrink: 0 !important;
    position: relative !important;
    background: #fff !important;
}

.filt-com .rbbox input[type="radio"]:checked {
    border-color: #e8971d !important;
}

.filt-com .rbbox input[type="radio"]:checked::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 8px !important;
    height: 8px !important;
    background: #e8971d !important;
    border-radius: 50% !important;
}

/* --- Subcategory list: max height with scroll --- */
.lhs-sub ul,
.sub_cat_section ul {
    max-height: 320px !important;
    overflow-y: auto !important;
    padding-right: 8px !important;
    scrollbar-width: thin;
    scrollbar-color: #d1d5db transparent;
}

.lhs-sub ul::-webkit-scrollbar,
.sub_cat_section ul::-webkit-scrollbar {
    width: 5px;
}

.lhs-sub ul::-webkit-scrollbar-track,
.sub_cat_section ul::-webkit-scrollbar-track {
    background: transparent;
}

.lhs-sub ul::-webkit-scrollbar-thumb,
.sub_cat_section ul::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 4px;
}

.lhs-sub ul::-webkit-scrollbar-thumb:hover,
.sub_cat_section ul::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

/* --- Filter search input --- */
.lhs-search input[type="text"] {
    width: 100% !important;
    padding: 10px 14px 10px 38px !important;
    border: 1px solid #e2e5ea !important;
    border-radius: 10px !important;
    background: #f8f9fa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 12px center !important;
    font-size: 13.5px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.lhs-search input[type="text"]:focus {
    outline: none !important;
    border-color: #e8971d !important;
    box-shadow: 0 0 0 3px rgba(232, 151, 29, 0.1) !important;
    background-color: #fff !important;
}

/* --- Top Service Providers widget --- */
.top-ser-secti-prov,
.filt-alist-near .near-ser-list {
    padding: 0 !important;
}

.filt-alist-near .near-ser-list ul {
    padding: 0 !important;
    margin: 0;
}

.filt-alist-near .near-ser-list li {
    border-bottom: 1px solid #f3f4f6 !important;
    transition: background 0.15s ease;
}

.filt-alist-near .near-ser-list li:hover {
    background: #fafbfc !important;
}

.filt-alist-near .near-ser-list li:last-child {
    border-bottom: none !important;
}

.filt-alist-near .near-bx {
    padding: 12px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.filt-alist-near .ne-1 img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 6px !important;
    object-fit: cover !important;
    border: 1px solid #f0f1f3 !important;
    aspect-ratio: 1 / 1 !important;
    min-width: 44px !important;
    min-height: 44px !important;
}

.filt-alist-near .ne-2 h5 {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #1a2332 !important;
    margin: 0 0 2px !important;
    line-height: 1.3 !important;
}

.filt-alist-near .ne-2 p {
    font-size: 12px !important;
    color: #6b7280 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

.filt-alist-near .ne-3 span {
    background: #e8971d !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    white-space: nowrap;
}

/* --- LHS Ad box --- */
.lhs-ads .ads-box {
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-top: 8px !important;
}

.lhs-ads .ads-box span {
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #9ca3af !important;
}

/* --- Filter section separators --- */
.filt-com {
    border-bottom: 1px solid #f0f1f3 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.filt-com:last-child {
    border-bottom: none !important;
}


/* ============================================================
   3. LISTING CARDS — PREMIUM REDESIGN
   ============================================================ */

/* --- Card container --- */
.listing-box,
.all-list-item .listing-box {
    background: #fff !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07) !important;
    overflow: hidden !important;
    transition: box-shadow 0.25s ease, transform 0.25s ease !important;
    position: relative !important;
    border: 1px solid #edf0f3 !important;
}

.listing-box:hover,
.all-list-item .listing-box:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-3px) !important;
    border-color: #dde1e7 !important;
}

/* ---- FIX: red/orange vertical line on card images ----
   The .pg-pro-buy-cta (Call Now + WhatsApp) panel sits at
   bottom:-53px but its icon elements bleed through the image.
   Push it far below the visible card area so it never shows. */
.listing-box .pg-pro-buy-cta,
.hide-pop-cta {
    bottom: -200px !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.listing-box:hover .pg-pro-buy-cta {
    bottom: -200px !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Ensure the card clips absolutely positioned children */
.listing-box {
    overflow: hidden !important;
    contain: layout !important;
}

/* Remove standalone .quo bleeding */
.listing-box .links .quo {
    position: static !important;
    display: block !important;
    margin: 0 16px 14px !important;
    padding: 9px 12px !important;
    border-radius: 10px !important;
    border: 2px solid #e8971d !important;
    color: #e8971d !important;
    background: transparent !important;
    font-weight: 650 !important;
    font-size: 13px !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    width: auto !important;
}

.listing-box .links .quo:hover {
    background: #e8971d !important;
    color: #fff !important;
}

/* --- Card image area --- */
.listing-box .al-img {
    position: relative !important;
    overflow: hidden !important;
}

/* Main listing thumbnail — full width, fixed height
   Target only the actual hero image (b-lazy / list-pro-thum / al-img-hero)
   NOT the small icon images inside .list-status / .enq-sav */
.listing-box .al-img > a > img,
.listing-box .al-img img.b-lazy,
.listing-box .al-img img.list-pro-thum,
.listing-box .al-img img.al-img-hero {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s ease !important;
}

.listing-box:hover .al-img > a > img,
.listing-box:hover .al-img img.b-lazy {
    transform: scale(1.04) !important;
}

/* IMPORTANT: Do NOT apply height:200px to icon images inside the card */
.listing-box .al-img .enq-sav img,
.listing-box .al-img .list-status img,
.listing-box .al-img .l-like img,
.listing-box .al-img i img {
    width: 14px !important;
    height: 14px !important;
    object-fit: unset !important;
    display: inline-block !important;
}

/* Open status badge */
.listing-box .al-img .open-stat {
    background: #10b981 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3) !important;
}

/* --- Card content area --- */
.listing-box .list-con {
    padding: 16px 18px 14px !important;
    position: relative !important;
    z-index: 1 !important;
    background: #fff !important;
}

.listing-box .list-con h4 {
    font-size: 15px !important;
    font-weight: 650 !important;
    color: #1a2332 !important;
    margin: 0 0 6px !important;
    line-height: 1.35 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.listing-box .list-con h4 a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.15s ease;
}

.listing-box .list-con h4 a:hover {
    color: #e8971d !important;
}

/* Verified badge */
.listing-box .li-veri {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 4px !important;
    vertical-align: middle !important;
}

.listing-box .li-veri img {
    width: 16px !important;
    height: 16px !important;
}

/* --- Star ratings on cards --- */
.listing-box .list-rat-all {
    margin-bottom: 6px !important;
}

.listing-box .list-rat-all .rat i {
    font-size: 15px !important;
    color: #e8971d !important;
}

.listing-box .list-rat-all .rat .ratstar {
    color: #d1d5db !important;
}

/* --- CTA buttons on cards (slide-up hover reveal — preserved from original) --- */
.listing-box .pg-pro-buy-cta {
    background: #fff !important;
}

.listing-box .cta-buy-now {
    background: #e8971d !important;
    font-weight: 650 !important;
    letter-spacing: 0.5px !important;
    font-size: 12.5px !important;
    transition: background 0.2s ease !important;
    color: #fff !important;
}

.listing-box .cta-buy-now:hover {
    background: #d4800a !important;
}

.listing-box .cta-add-cart,
.listing-box .what {
    background: #1a2332 !important;
    font-weight: 650 !important;
    letter-spacing: 0.5px !important;
    font-size: 12.5px !important;
    transition: background 0.2s ease !important;
    color: #fff !important;
}

.listing-box .cta-add-cart:hover,
.listing-box .what:hover {
    background: #0d1520 !important;
}

/* --- Like/save button --- */
.listing-box .enq-sav {
    z-index: 2 !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1) !important;
    padding: 5px !important;
}

.listing-box .enq-sav:hover {
    background: #fff !important;
    transform: scale(1.08) !important;
}

/* --- "View Listing" button (formerly "Enquire Here" / "Get Quote") --- */
.listing-box .quo,
.listing-box .links a.quo,
.listing-box .links a {
    color: #e8971d !important;
    border: 2px solid #e8971d !important;
    font-weight: 650 !important;
    transition: all 0.15s ease !important;
    border-radius: 8px !important;
}

.listing-box .quo:hover,
.listing-box .links a.quo:hover,
.listing-box .links a:hover {
    background: #e8971d !important;
    color: #fff !important;
    border-color: #e8971d !important;
}

/* --- Results count bar --- */
.count_no,
.all-list-sh .ser-re-cout {
    font-size: 14px !important;
    color: #6b7280 !important;
    padding: 12px 0 !important;
    font-weight: 500 !important;
}

.count_no span,
.all-list-sh .ser-re-cout span {
    color: #e8971d !important;
    font-weight: 700 !important;
}

/* --- Preserve float-based grid, add spacing between cards --- */
.all-list-item {
    padding: 8px !important;
    /* float:left and width:33.333% come from existing style.css — preserved */
}

@media (max-width: 768px) {
    .all-list-item {
        width: 50% !important;
    }
}

@media (max-width: 480px) {
    .all-list-item {
        width: 100% !important;
    }
}

/* View toggle icons */
.vfilter i {
    font-size: 22px !important;
    color: #9ca3af !important;
    cursor: pointer !important;
    padding: 6px !important;
    border-radius: 8px !important;
    transition: all 0.15s ease !important;
}

.vfilter i:hover,
.vfilter i.act {
    color: #e8971d !important;
    background: #fef3e2 !important;
}


/* ============================================================
   4. LISTING DETAIL PAGE — PREMIUM ENHANCEMENTS
   ============================================================ */

/* --- Quick-link tab bar (About | Services | Location etc.) --- */
.v3-list-ql {
    background: #fff !important;
    border-bottom: 1px solid #f0f1f3 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.v3-list-ql-inn ul {
    display: flex !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.v3-list-ql-inn ul li a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 14px 22px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
    transition: all 0.2s ease !important;
    white-space: nowrap;
}

.v3-list-ql-inn ul li.active a,
.v3-list-ql-inn ul li a:hover {
    color: #e8971d !important;
    border-bottom-color: #e8971d !important;
}

.v3-list-ql-inn ul li a i {
    font-size: 18px !important;
}

/* --- Content section cards --- */
.pglist-bg,
.pglist-p-com {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 20px !important;
    border: 1px solid #f0f1f3 !important;
    overflow: hidden !important;
}

/* Section headings inside detail page */
.pglist-p-com-ti h3 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1a2332 !important;
    padding: 20px 24px 0 !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}

.pglist-p-com-ti h3 span {
    color: #e8971d !important;
}

/* Inner content spacing */
.list-pg-inn-sp {
    padding: 16px 24px 24px !important;
}

/* About description text */
.list-pg-inn-abo p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #374151 !important;
}

/* --- Right sidebar business card --- */
.list-pg-rt .pglist-bg {
    border-radius: 16px !important;
    overflow: hidden !important;
    position: sticky !important;
    top: 90px !important;
}

.pg-list-ban-info-23 {
    text-align: center !important;
}

.pg-list-1-pro img {
    width: 100% !important;
    max-height: 200px !important;
    object-fit: cover !important;
}

.pg-list-1-pro .stat {
    position: absolute !important;
    bottom: -12px !important;
    right: 16px !important;
    background: #10b981 !important;
    color: #fff !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.3) !important;
}

.pg-list-1-pro .stat i {
    font-size: 16px !important;
}

/* Business name on detail page */
.pg-list-1-left h1 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a2332 !important;
    padding: 16px 20px 4px !important;
    margin: 0 !important;
}

/* Contact info in sidebar */
.pg-list-1-left ul li {
    padding: 8px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13.5px !important;
    color: #374151 !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

.pg-list-1-left ul li i {
    color: #e8971d !important;
    font-size: 18px !important;
}

.pg-list-1-left ul li a {
    color: #374151 !important;
    text-decoration: none !important;
    transition: color 0.15s ease;
}

.pg-list-1-left ul li a:hover {
    color: #e8971d !important;
}

/* CTA buttons in detail sidebar */
.pg-list-1-left .cta-buy-now,
.list-fix-btn span {
    background: linear-gradient(135deg, #e8971d 0%, #d4800a 100%) !important;
    color: #fff !important;
    padding: 12px 24px !important;
    border-radius: 10px !important;
    font-weight: 650 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    border: none !important;
    text-decoration: none !important;
    width: calc(100% - 40px) !important;
    margin: 12px 20px !important;
    text-align: center !important;
}

.pg-list-1-left .cta-buy-now:hover,
.list-fix-btn span:hover {
    box-shadow: 0 4px 16px rgba(232, 151, 29, 0.35) !important;
    transform: translateY(-1px) !important;
}

/* --- Services grid on detail page --- */
.pg-list-ser ul {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
    gap: 16px !important;
    list-style: none !important;
    padding: 0 !important;
}

.pg-list-ser-p1 img {
    width: 56px !important;
    height: 56px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    margin-bottom: 8px !important;
}

.pg-list-ser-p2 h4 {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    text-align: center !important;
}

/* --- Service areas tags --- */
.pg-list-ser-area span {
    display: inline-block !important;
    background: #fef3e2 !important;
    color: #92400e !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    font-size: 12.5px !important;
    font-weight: 550 !important;
    margin: 0 6px 8px 0 !important;
}

/* --- Review section --- */
.list-pg-write-rev {
    background: #fafbfc !important;
    border-radius: 12px !important;
    padding: 24px !important;
}

.list-pg-write-rev input,
.list-pg-write-rev textarea {
    border: 1px solid #e2e5ea !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.list-pg-write-rev input:focus,
.list-pg-write-rev textarea:focus {
    border-color: #e8971d !important;
    box-shadow: 0 0 0 3px rgba(232, 151, 29, 0.1) !important;
    outline: none !important;
}

/* --- Gallery slider on detail page --- */
.list-ban-sli,
.news-hom-ban-sli.list-ban-sli {
    border-radius: 0 !important;
    overflow: hidden !important;
}

.list-ban-sli .im img {
    width: 100% !important;
    height: 380px !important;
    object-fit: cover !important;
}

/* --- Google Map container --- */
.list-pg-map {
    border-radius: 12px !important;
    overflow: hidden !important;
}

.list-pg-map iframe {
    border-radius: 12px !important;
    width: 100% !important;
}

/* --- Related listings at bottom --- */
.rel-list .listing-box {
    border-radius: 14px !important;
}

/* --- Share button --- */
.list-sh .share-new {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 20px !important;
    background: #f3f4f6 !important;
    color: #374151 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.list-sh .share-new:hover {
    background: #e5e7eb !important;
}

.list-sh .share-new i {
    font-size: 18px !important;
}


/* ============================================================
   5. FOOTER CLEANUP & ENHANCEMENTS
   ============================================================ */

/* --- Footer support bar --- */
.foot-supp h2 {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    letter-spacing: 0.3px !important;
}

.foot-supp h2 span {
    font-weight: 700 !important;
    color: #fff !important;
}

/* --- Footer links section --- */
.wed-foot-link h4 {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #fff !important;
    margin-bottom: 16px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #e8971d !important;
    display: inline-block;
}

.wed-foot-link ul li {
    margin-bottom: 8px !important;
}

.wed-foot-link ul li a {
    font-size: 13.5px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.wed-foot-link ul li a:hover {
    color: #e8971d !important;
    transform: translateX(3px) !important;
}

/* --- Social media icons --- */
.fot-soc ul {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.fot-soc ul li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    /* No background override — icons are self-contained colored circles */
}

.fot-soc ul li a:hover {
    transform: translateY(-2px) scale(1.1) !important;
    opacity: 0.85 !important;
}

.fot-soc ul li a img {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    /* No filter — icons are already colored circular PNGs */
}

/* --- Popular tags --- */
.wed-foot-link-pop ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.wed-foot-link-pop ul li a {
    display: inline-block !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.75) !important;
    padding: 5px 14px !important;
    border-radius: 20px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    transition: all 0.2s ease !important;
}

.wed-foot-link-pop ul li a:hover {
    background: #e8971d !important;
    border-color: #e8971d !important;
    color: #fff !important;
}

/* --- Copyright bar --- */
.cr p {
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    letter-spacing: 0.3px !important;
}

.cr p a {
    color: #e8971d !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* --- Get in touch section --- */
.wed-foot-link-1 p {
    font-size: 13.5px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    line-height: 1.6 !important;
    margin-bottom: 6px !important;
}

.wed-foot-link-1 a {
    color: rgba(255, 255, 255, 0.75) !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.wed-foot-link-1 a:hover {
    color: #e8971d !important;
}


/* ============================================================
   6. GLOBAL POLISH & REFINEMENTS
   ============================================================ */

/* --- Back to top button --- */
.grp-back-to-top {
    position: fixed;
    bottom: 24px;
    right: 80px;
    width: 44px;
    height: 44px;
    background: #1a2332;
    color: #fff;
    border: none;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 999;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.grp-back-to-top.visible {
    opacity: 1;
    visibility: visible;
}

.grp-back-to-top:hover {
    background: #e8971d;
    transform: translateY(-2px);
}

.grp-back-to-top i {
    font-size: 22px;
}

/* --- Breadcrumbs refinement --- */
.eve-bred-crum ul,
.all-list-bre ul {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    padding: 12px 0 !important;
}

/* Breadcrumb — pull out of dark panel, give white background */
.all-list-bre {
    background: #fff !important;
    padding: 10px 16px !important;
    border-bottom: 1px solid #edf0f3 !important;
}

.all-list-bre ul,
.sec-all-list-bre ul {
    padding: 4px 0 !important;
}

.all-list-bre ul li a,
.sec-all-list-bre ul li a,
.all-list-bre ul li {
    color: #6b7280 !important;
    font-size: 13px !important;
}

.all-list-bre ul li a:hover {
    color: #e8971d !important;
}

/* Category title (e.g. "PLACES TO EAT") above the panel */
.all-filt > h1,
.all-list-bre h1 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a2332 !important;
    padding: 14px 16px 0 !important;
    background: #fff !important;
    margin: 0 !important;
}

.eve-bred-crum ul li a,
.all-list-bre ul li a {
    font-size: 13px !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    transition: color 0.15s ease;
}

.eve-bred-crum ul li a:hover,
.all-list-bre ul li a:hover {
    color: #e8971d !important;
}

/* --- Mobile filter button --- */
.fil-mob h4 {
    background: #1a2332 !important;
    color: #fff !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

.fil-mob h4:hover {
    background: #e8971d !important;
}

/* --- Ad banners --- */
.ban-ati-com {
    border-radius: 12px !important;
    overflow: hidden !important;
    margin: 16px 0 !important;
}

.ban-ati-com span {
    font-size: 9px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #9ca3af !important;
    display: block !important;
    text-align: right !important;
    padding: 2px 8px !important;
}

/* --- Smooth scrolling --- */
html {
    scroll-behavior: smooth;
}

/* --- Selection colour --- */
::selection {
    background: rgba(232, 151, 29, 0.15);
    color: #1a2332;
}

/* --- Focus visible for accessibility --- */
:focus-visible {
    outline: 2px solid #e8971d !important;
    outline-offset: 2px !important;
}

/* --- Mobile bottom nav refinement --- */
.fqui-menu ul {
    display: flex !important;
    overflow-x: auto !important;
    gap: 0 !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.fqui-menu ul::-webkit-scrollbar {
    display: none;
}

.fqui-menu ul li a {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    white-space: nowrap !important;
}

.fqui-menu ul li a img {
    width: 20px !important;
    height: 20px !important;
}


/* ============================================================
   7. NEWSLETTER SIGNUP (added to footer)
   ============================================================ */

.grp-newsletter {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    padding: 28px;
    margin-top: 24px;
    text-align: center;
}

.grp-newsletter h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 6px !important;
    border-bottom: none !important;
    display: block !important;
    padding: 0 !important;
}

.grp-newsletter p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 16px;
}

.grp-newsletter-form {
    display: flex;
    gap: 8px;
    max-width: 440px;
    margin: 0 auto;
}

.grp-newsletter-form input[type="email"] {
    flex: 1;
    padding: 11px 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 14px;
}

.grp-newsletter-form input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.grp-newsletter-form input[type="email"]:focus {
    outline: none;
    border-color: #e8971d;
    background: rgba(255, 255, 255, 0.12);
}

.grp-newsletter-form button {
    background: #e8971d;
    color: #fff;
    padding: 11px 24px;
    border: none;
    border-radius: 10px;
    font-weight: 650;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.grp-newsletter-form button:hover {
    background: #d4800a;
    box-shadow: 0 2px 8px rgba(232, 151, 29, 0.3);
}

@media (max-width: 576px) {
    .grp-newsletter-form {
        flex-direction: column;
    }
}
