/*
 * RW Directory Listing - colourful theme layer.
 * Loaded after rwdl-style.css; remove this file's enqueue to go back to the plain look.
 */

:root{
    --rwdl-primary:#4f46e5;
    --rwdl-primary-hover:#4338ca;
    --rwdl-grad:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#ec4899 100%);
    --rwdl-grad-soft:linear-gradient(135deg,#eef2ff 0%,#fdf2f8 100%);
    --rwdl-c1:#4f46e5;   /* indigo */
    --rwdl-c2:#0ea5e9;   /* sky */
    --rwdl-c3:#10b981;   /* emerald */
    --rwdl-c4:#f59e0b;   /* amber */
    --rwdl-c5:#ec4899;   /* pink */
    --rwdl-c6:#8b5cf6;   /* violet */
}

/* ---------- Search header ---------- */

.rwdl-search-wrap{
    background:var(--rwdl-grad);
    border:0;
    color:#fff;
}
.rwdl-search-wrap .rwdl-page-title{
    color:#fff;
}
.rwdl-search-wrap .rwdl-page-subtitle{
    color:rgba(255,255,255,.88);
}
.rwdl-search-wrap .rwdl-input,
.rwdl-search-wrap .rwdl-select{
    border-color:transparent;
    box-shadow:0 4px 14px rgba(15,23,42,.12);
}
.rwdl-search-button button,
.rwdl-search-wrap .rwdl-btn-primary{
    background:#111827;
    color:#fff;
    border:0;
}
.rwdl-search-button button:hover{
    background:#facc15;
    color:#111827;
}

/* ---------- Toolbar ---------- */

.rwdl-total-count strong{
    color:var(--rwdl-c5);
}
.rwdl-view-btn.active,
.rwdl-view-btn:hover{
    background:var(--rwdl-grad);
    color:#fff;
    border-color:transparent;
}

/* ---------- Sidebar filters: each box gets its own colour ---------- */

.rwdl-filter-box{
    border-top:4px solid var(--rwdl-c1);
}
.rwdl-sidebar .rwdl-filter-box:nth-child(2){ border-top-color:var(--rwdl-c2); }
.rwdl-sidebar .rwdl-filter-box:nth-child(3){ border-top-color:var(--rwdl-c3); }
.rwdl-sidebar .rwdl-filter-box:nth-child(4){ border-top-color:var(--rwdl-c4); }
.rwdl-sidebar .rwdl-filter-box:nth-child(5){ border-top-color:var(--rwdl-c5); }

.rwdl-filter-title{
    background:var(--rwdl-grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.rwdl-checkbox input{
    accent-color:var(--rwdl-c1);
}
.rwdl-filter-scroll{
    max-height:280px;
    overflow-y:auto;
    padding-right:6px;
}

/* ---------- Cards ---------- */

.rwdl-card{
    border:0;
    box-shadow:0 10px 30px rgba(79,70,229,.10);
    position:relative;
}
.rwdl-card::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:4px;
    background:var(--rwdl-grad);
    z-index:2;
}
.rwdl-card:hover{
    box-shadow:0 16px 40px rgba(236,72,153,.18);
}
.rwdl-title a:hover,
.rwdl-card-title a:hover{
    color:var(--rwdl-c5);
}
.rwdl-tagline,
.rwdl-card-tagline{
    color:var(--rwdl-c6);
    font-weight:600;
}
.rwdl-item .dashicons,
.rwdl-meta-item i{
    color:var(--rwdl-c2);
}
.rwdl-featured,
.rwdl-badge-featured{
    background:linear-gradient(135deg,#f59e0b,#ef4444);
    color:#fff;
}
.rwdl-badge-verified,
.rwdl-verified{
    color:var(--rwdl-c3);
}
.rwdl-badge-verified{
    background:#d1fae5;
    color:#047857;
}

/* Category chips cycle through the palette */
.rwdl-category,
.rwdl-category-pill{
    background:#eef2ff;
    color:var(--rwdl-c1);
    border:0;
}
.rwdl-categories .rwdl-category:nth-child(6n+2),
.rwdl-business-categories .rwdl-category-pill:nth-child(6n+2){ background:#e0f2fe; color:#0369a1; }
.rwdl-categories .rwdl-category:nth-child(6n+3),
.rwdl-business-categories .rwdl-category-pill:nth-child(6n+3){ background:#d1fae5; color:#047857; }
.rwdl-categories .rwdl-category:nth-child(6n+4),
.rwdl-business-categories .rwdl-category-pill:nth-child(6n+4){ background:#fef3c7; color:#b45309; }
.rwdl-categories .rwdl-category:nth-child(6n+5),
.rwdl-business-categories .rwdl-category-pill:nth-child(6n+5){ background:#fce7f3; color:#be185d; }
.rwdl-categories .rwdl-category:nth-child(6n+6),
.rwdl-business-categories .rwdl-category-pill:nth-child(6n+6){ background:#ede9fe; color:#6d28d9; }

/* ---------- Buttons ---------- */

.rwdl-btn,
.rwdl-button{
    background:var(--rwdl-grad);
    border:0;
    color:#fff !important;
}
.rwdl-btn:hover,
.rwdl-button:hover{
    background:var(--rwdl-grad);
    filter:brightness(1.1);
}
.rwdl-btn-secondary:hover{
    background:var(--rwdl-grad);
    color:#fff;
}

/* ---------- Single listing ---------- */

/*
 * Full-width cover: the photo fills the whole screen width behind the
 * title block; a dark gradient keeps white text readable on any photo.
 */
body.single-directory{
    overflow-x:hidden; /* the 100vw cover must not cause a sideways scroll */
}
/* The container's padding was added on top of width:100% (30px too wide,
   off-centre), which also shifted the full-width cover sideways */
.rwdl-container{
    box-sizing:border-box;
}
.rwdl-hero{
    position:relative;
    width:100vw;
    max-width:100vw;
    margin:-40px 0 30px calc(50% - 50vw); /* break out of the page container */
    border-radius:0;
    box-shadow:none;
    overflow:hidden;
    background:#1e1b4b; /* shows while the photo loads / if it's missing */
    min-height:440px;
    display:flex;
    align-items:flex-end;
}
.rwdl-hero .rwdl-hero-image{
    position:absolute;
    inset:0;
    z-index:0;
}
.rwdl-hero .rwdl-hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    border-radius:0;
}
.rwdl-hero .rwdl-hero-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(to top, rgba(15,23,42,.94) 0%, rgba(15,23,42,.72) 45%, rgba(15,23,42,.30) 100%),
        linear-gradient(to right, rgba(15,23,42,.45) 0%, rgba(15,23,42,0) 60%);
}
.rwdl-hero .rwdl-hero-content{
    position:relative;
    z-index:1;
    width:100%;
    max-width:1450px;
    margin:0 auto;
    padding:150px 30px 36px;
    color:#e5e7eb;
}
.rwdl-hero .rwdl-business-title{
    margin:0 0 6px;
    color:#ffffff;
    font-size:clamp(28px, 4vw, 46px);
    line-height:1.15;
    text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.rwdl-hero .rwdl-business-tagline{
    color:#fde68a;
    font-weight:600;
    text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.rwdl-hero .rwdl-business-info,
.rwdl-hero .rwdl-info-item{
    color:#f3f4f6;
}
.rwdl-hero .rwdl-info-item strong{
    color:#c7d2fe;
}
.rwdl-hero .rwdl-info-item a{
    color:#ffffff;
    text-decoration:underline;
    text-underline-offset:3px;
}
.rwdl-hero .rwdl-phone-divider{
    color:#a5b4fc;
}
@media (max-width:768px){
    .rwdl-hero{
        min-height:360px;
        margin-top:-20px;
    }
    .rwdl-hero .rwdl-hero-content{
        padding:110px 16px 24px;
    }
}

/* Related keywords bar under the title */
.rwdl-keyword-bar{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:12px 0 14px;
    padding:6px;
    border-radius:999px;
    background:#e0e7ff;
    width:fit-content;
    max-width:100%;
}
.rwdl-keyword-pill{
    padding:7px 16px;
    border-radius:999px;
    font-weight:600;
    font-size:14px;
    color:#1e1b4b;
}
.rwdl-keyword-pill.is-first{
    background:#111827;
    color:#fff;
}
@media (max-width:600px){
    .rwdl-keyword-bar{
        border-radius:16px;
    }
}

.rwdl-phone-divider{
    margin:0 8px;
    color:#a5b4fc;
    font-weight:700;
}

.rwdl-single-tabs{
    background:#fff;
}
.rwdl-tab.active{
    background:var(--rwdl-grad);
    color:#fff !important;
    border-color:transparent;
}
.rwdl-tab:hover{
    color:var(--rwdl-c5);
}

.rwdl-section-header{
    border-bottom:0;
    position:relative;
}
.rwdl-section-header::after{
    content:"";
    display:block;
    width:56px;
    height:4px;
    margin-top:10px;
    border-radius:4px;
    background:var(--rwdl-grad);
}
.rwdl-contact-card{
    border-top:4px solid var(--rwdl-c2);
}
.rwdl-contact-label{
    color:var(--rwdl-c6);
    font-weight:700;
}

.rwdl-amenities{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.rwdl-amenity{
    padding:6px 12px;
    border-radius:999px;
    background:#d1fae5;
    color:#047857;
    font-size:14px;
    font-weight:600;
}

.rwdl-photo-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.rwdl-photo-grid img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:12px;
}

.rwdl-empty-note{
    padding:18px;
    border-radius:12px;
    background:var(--rwdl-grad-soft);
    color:#4b5563;
}

.rwdl-no-results{
    padding:40px 20px;
    border-radius:16px;
    background:var(--rwdl-grad-soft);
    text-align:center;
}
.rwdl-no-results h3{
    color:var(--rwdl-c1);
}
