:root{
    --gold:#c8a84e;
    --gold-light:#e6cf83;
    --gold-dark:#9d7b20;

    --turquoise:#006b61;
    --turquoise-dark:#004f49;
    --turquoise-deep:#003d38;

    --black:#050505;
    --black-2:#0c0c0c;
    --black-3:#141414;

    --white:#fff;
    --off-white:#f7f6f2;
    --muted:#8f8f8f;
    --border:rgba(255,255,255,.10);

    --shadow:0 20px 60px rgba(0,0,0,.20);
    --radius:18px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Helvetica,Arial,sans-serif;
    background:var(--off-white);
    color:#111;
    line-height:1.6;
}

button,
input,
select,
textarea{
    font:inherit;
}

button{
    cursor:pointer;
}

a{
    color:inherit;
    text-decoration:none;
}

/* =========================
   HEADER
========================= */

.header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:100;
    padding:22px 5%;
    color:#fff;
}

.header-inner{
    max-width:1450px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.logo{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:800;
    font-size:23px;
    letter-spacing:-.7px;
    white-space:nowrap;
}

.logo-mark{
    width:40px;
    height:40px;
    border:1px solid var(--gold);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--gold-light);
    font-family:Georgia,serif;
    font-size:20px;
}

.nav{
    display:flex;
    align-items:center;
    gap:30px;
}

.nav a{
    font-size:14px;
    color:rgba(255,255,255,.86);
    transition:.25s;
}

.nav a:hover{
    color:var(--gold-light);
}

.header-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.login-btn,
.signup-btn{
    padding:10px 17px;
    border-radius:7px;
    font-size:13px;
    border:1px solid rgba(255,255,255,.25);
    background:transparent;
    color:#fff;
}

.signup-btn{
    background:var(--gold);
    border-color:var(--gold);
    color:#080808;
    font-weight:700;
}

.mobile-toggle{
    display:none;
    background:none;
    border:0;
    color:#fff;
    font-size:27px;
}

/* =========================
   HERO
========================= */

.hero{
    min-height:100vh;
    position:relative;
    overflow:hidden;
    color:#fff;
    background:#050505;
}

.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    background-size:cover;
    background-position:center;
    transition:opacity 1s ease;
}

.hero-slide.active{
    opacity:1;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.90) 0%,
            rgba(0,0,0,.72) 32%,
            rgba(0,0,0,.32) 68%,
            rgba(0,0,0,.15) 100%
        );
}

.hero-content{
    position:relative;
    z-index:5;
    min-height:100vh;
    max-width:1450px;
    margin:auto;
    padding:150px 5% 80px;
    display:flex;
    align-items:center;
}

.hero-copy{
    max-width:850px;
}

.eyebrow{
    color:var(--gold-light);
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:12px;
    font-weight:700;
    margin-bottom:20px;
}

.hero h1{
    font-family:"Times New Roman",serif;
    font-size:clamp(52px,7vw,100px);
    line-height:.94;
    font-weight:700;
    letter-spacing:-4px;
    max-width:850px;
}

.hero h1 span{
    color:var(--gold-light);
}

.hero-description{
    max-width:670px;
    color:rgba(255,255,255,.78);
    margin:27px 0 32px;
    font-size:17px;
}

.hero-search-row{
    display:flex;
    align-items:stretch;
    gap:10px;
    max-width:1050px;
}

.search-box{
    flex:1;
    min-width:300px;
    height:58px;
    display:flex;
    align-items:center;
    background:#fff;
    border-radius:8px;
    overflow:hidden;
}

.search-box i{
    color:#777;
    font-size:21px;
    margin-left:18px;
}

.search-box input{
    border:0;
    outline:0;
    height:100%;
    flex:1;
    padding:0 15px;
    color:#111;
    background:#fff;
}

.search-box button{
    height:44px;
    margin-right:7px;
    padding:0 20px;
    border:0;
    border-radius:6px;
    background:var(--turquoise);
    color:#fff;
    font-weight:700;
}

.ai-search-btn{
    min-height:58px;
    padding:0 20px;
    border-radius:8px;
    border:1px solid var(--gold);
    background:linear-gradient(135deg,var(--gold),var(--gold-light));
    color:#080808;
    white-space:nowrap;
    font-weight:800;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    box-shadow:0 8px 24px rgba(200,168,78,.16);
    transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.ai-search-btn:hover{
    transform:translateY(-1px);
    filter:brightness(1.03);
    box-shadow:0 12px 30px rgba(200,168,78,.22);
}
.ai-search-btn i{
    font-size:17px;
}
.ai-search-btn:disabled{
    opacity:.78;
    cursor:wait;
}
.ai-search-btn .ri-spin{
    animation:aiSpin .8s linear infinite;
}
@keyframes aiSpin{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
}

.plan-event-btn,
.vendor-btn{
    min-height:58px;
    padding:0 22px;
    border-radius:8px;
    border:1px solid var(--gold);
    white-space:nowrap;
    font-weight:700;
}

.plan-event-btn{
    background:var(--gold);
    color:#050505;
}

.vendor-btn{
    background:rgba(0,61,56,.88);
    color:#fff;
}

.popular{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:18px;
    font-size:12px;
    color:rgba(255,255,255,.62);
}

.popular a{
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.35);
}

.hero-controls{
    position:absolute;
    z-index:10;
    right:5%;
    bottom:50px;
    display:flex;
    align-items:center;
    gap:8px;
}

.slider-arrow{
    width:43px;
    height:43px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(0,0,0,.3);
    color:#fff;
    border-radius:50%;
    font-size:19px;
}

.slider-dots{
    display:flex;
    gap:6px;
    margin:0 10px;
}

.slider-dot{
    width:25px;
    height:3px;
    border:0;
    background:rgba(255,255,255,.35);
}

.slider-dot.active{
    background:var(--gold);
}

/* =========================
   SECTION SYSTEM
========================= */

.section{
    padding:95px 5%;
}

.container{
    max-width:1350px;
    margin:auto;
}

.section-heading{
    margin-bottom:42px;
}

.section-eyebrow{
    color:var(--turquoise);
    text-transform:uppercase;
    letter-spacing:2.5px;
    font-size:11px;
    font-weight:800;
    margin-bottom:10px;
}

.section-title{
    font-family:"Times New Roman",serif;
    font-size:clamp(38px,5vw,65px);
    line-height:1;
    letter-spacing:-2px;
}

.section-description{
    max-width:650px;
    color:#777;
    margin-top:15px;
}

/* =========================
   SERVICES
========================= */

.services{
    background:var(--turquoise-deep);
    color:#fff;
    padding:0 5%;
}

.services-inner{
    max-width:1350px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(7,1fr);
}

.service-item{
    padding:28px 15px;
    text-align:center;
    border-right:1px solid rgba(255,255,255,.10);
    transition:.25s;
}

.service-item:first-child{
    border-left:1px solid rgba(255,255,255,.10);
}

.service-item:hover{
    background:rgba(255,255,255,.05);
}

.service-item i{
    display:block;
    color:var(--gold-light);
    font-size:25px;
    margin-bottom:7px;
}

.service-item span{
    font-size:13px;
    font-weight:600;
}

/* =========================
   MARKETPLACE
========================= */

.marketplace{
    background:#f7f6f2;
}

.marketplace-toolbar{
    background:#fff;
    padding:20px;
    border:1px solid #e8e5dc;
    border-radius:14px;
    margin-bottom:25px;
}

.toolbar-top{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr auto;
    gap:10px;
}

.filter-control{
    height:48px;
    border:1px solid #dedbd2;
    border-radius:7px;
    background:#fff;
    padding:0 14px;
    outline:none;
    color:#222;
}

.search-control{
    position:relative;
}

.search-control i{
    position:absolute;
    left:14px;
    top:14px;
    color:#999;
}

.search-control input{
    width:100%;
    height:48px;
    border:1px solid #dedbd2;
    border-radius:7px;
    padding:0 15px 0 43px;
    outline:none;
}

.quick-categories{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin-top:13px;
}

.category-pill{
    border:1px solid #ddd8cc;
    background:#fff;
    padding:7px 13px;
    border-radius:30px;
    font-size:12px;
    color:#555;
}

.category-pill.active,
.category-pill:hover{
    background:var(--turquoise);
    border-color:var(--turquoise);
    color:#fff;
}

.marketplace-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:22px 0;
}

.vendor-count{
    font-size:13px;
    color:#777;
}

.vendor-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.vendor-card{
    background:#fff;
    border:1px solid #e8e5dc;
    border-radius:14px;
    overflow:hidden;
    position:relative;
    transition:.3s;
}

.vendor-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 45px rgba(0,0,0,.10);
}

.vendor-image{
    height:230px;
    position:relative;
    overflow:hidden;
}

.vendor-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.vendor-card:hover .vendor-image img{
    transform:scale(1.05);
}

.featured-badge,
.verified-badge{
    position:absolute;
    z-index:2;
    top:12px;
    left:12px;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    padding:5px 8px;
    border-radius:4px;
}

.featured-badge{
    background:var(--gold);
    color:#111;
}

.verified-badge{
    left:auto;
    right:12px;
    background:#fff;
    color:var(--turquoise);
}

.favorite-btn{
    position:absolute;
    right:12px;
    bottom:12px;
    width:36px;
    height:36px;
    border-radius:50%;
    border:0;
    background:rgba(0,0,0,.65);
    color:#fff;
    font-size:17px;
    z-index:3;
}

.favorite-btn.active{
    color:#e43c50;
}

.vendor-body{
    padding:19px;
}

.vendor-category{
    color:var(--turquoise);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1.3px;
    font-weight:800;
}

.vendor-name{
    font-size:19px;
    margin:4px 0 9px;
    font-weight:800;
}

.vendor-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#777;
    font-size:12px;
    margin-bottom:13px;
}

.vendor-rating{
    color:#111;
    font-weight:700;
}

.vendor-rating i{
    color:var(--gold-dark);
}

.vendor-price{
    font-size:12px;
    color:#777;
    margin-bottom:17px;
}

.vendor-price strong{
    color:#111;
    font-size:16px;
}

.vendor-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}

.profile-btn,
.whatsapp-btn{
    height:41px;
    border-radius:6px;
    font-size:12px;
    font-weight:700;
}

.profile-btn{
    border:1px solid #d8d4c9;
    background:#fff;
}

.whatsapp-btn{
    border:0;
    background:var(--turquoise);
    color:#fff;
}

.no-results{
    display:none;
    text-align:center;
    padding:70px 20px;
    color:#777;
    background:#fff;
    border-radius:14px;
}

.no-results i{
    display:block;
    font-size:45px;
    margin-bottom:10px;
}

.load-more-wrap{
    text-align:center;
    margin-top:35px;
}

.load-more{
    border:1px solid #cfc9bb;
    background:#fff;
    padding:12px 25px;
    border-radius:7px;
    font-weight:700;
}

/* =========================
   EVENT TYPES
========================= */

.event-types{
    background:#fff;
}

.event-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.event-card{
    height:420px;
    position:relative;
    overflow:hidden;
    border-radius:12px;
    color:#fff;
}

.event-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.event-card:hover img{
    transform:scale(1.06);
}

.event-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(transparent 35%,rgba(0,0,0,.85));
}

.event-card-content{
    position:absolute;
    z-index:2;
    bottom:25px;
    left:25px;
}

.event-card h3{
    font-family:"Times New Roman",serif;
    font-size:32px;
}

.event-card p{
    font-size:12px;
    color:rgba(255,255,255,.75);
}

/* =========================
   HOW IT WORKS
========================= */

.how{
    position:relative;
    isolation:isolate;
    background:
        linear-gradient(rgba(5,5,5,.88),rgba(5,5,5,.93)),
        url("https://images.unsplash.com/photo-1507504031003-b417219a0fde?auto=format&fit=crop&w=2000&q=80")
        center/cover no-repeat;
    color:#fff;
}
.how::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(0,61,56,.18),rgba(5,5,5,.06),rgba(200,168,78,.08));
    pointer-events:none;
}
.how > .container{
    position:relative;
    z-index:1;
}

.how .section-eyebrow{
    color:var(--gold-light);
}

.steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.step{
    border-top:1px solid rgba(255,255,255,.15);
    padding-top:25px;
}

.step-number{
    color:var(--gold-light);
    font-size:13px;
    font-weight:800;
}

.step i{
    font-size:38px;
    color:var(--gold);
    display:block;
    margin:20px 0;
}

.step h3{
    font-family:"Times New Roman",serif;
    font-size:32px;
}

.step p{
    color:#888;
    margin-top:9px;
    max-width:350px;
}

/* =========================
   MAP
========================= */

.map-section{
    background:#eeeae1;
}

.map-box{
    height:500px;
    border-radius:15px;
    overflow:hidden;
    position:relative;
    background:#d9d9d9;
    box-shadow:0 18px 50px rgba(0,0,0,.12);
}

.google-map{
    width:100%;
    height:100%;
    border:0;
    display:block;
    filter:saturate(.9) contrast(.98);
}

.map-overlay-card{
    position:absolute;
    left:22px;
    bottom:22px;
    z-index:2;
    max-width:310px;
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:12px;
    background:rgba(5,5,5,.78);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    color:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.25);
}
.map-overlay-eyebrow{
    display:block;
    color:var(--gold-light);
    font-size:9px;
    font-weight:900;
    letter-spacing:1.5px;
    margin-bottom:5px;
}
.map-overlay-card strong{
    display:block;
    font-family:"Times New Roman",serif;
    font-size:20px;
    line-height:1.1;
}
.map-overlay-card > span:last-child{
    display:block;
    margin-top:6px;
    color:rgba(255,255,255,.72);
    font-size:11px;
}

/* =========================
   CTA
========================= */

.cta{
    background:var(--turquoise-deep);
    color:#fff;
    text-align:center;
    padding:100px 5%;
}

.cta h2{
    font-family:"Times New Roman",serif;
    font-size:clamp(42px,6vw,75px);
    line-height:1;
    max-width:850px;
    margin:auto;
}

.cta p{
    max-width:600px;
    margin:20px auto 28px;
    color:rgba(255,255,255,.70);
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:10px;
}

.cta-primary,
.cta-secondary{
    padding:14px 24px;
    border-radius:7px;
    font-weight:700;
}

.cta-primary{
    background:var(--gold);
    color:#111;
}

.cta-secondary{
    border:1px solid rgba(255,255,255,.3);
}

/* =========================
   FOOTER
========================= */

.footer{
    background:#050505;
    color:#fff;
    padding:70px 5% 25px;
}

.footer-grid{
    max-width:1350px;
    margin:auto;
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:50px;
}

.footer-brand p{
    color:#777;
    max-width:400px;
    margin-top:15px;
    font-size:13px;
}

.footer h4{
    font-size:13px;
    margin-bottom:17px;
}

.footer-links{
    display:grid;
    gap:9px;
}

.footer-links a{
    color:#777;
    font-size:12px;
}

.footer-links a:hover{
    color:var(--gold);
}

.footer-bottom{
    max-width:1350px;
    margin:55px auto 0;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;
    justify-content:space-between;
    color:#666;
    font-size:11px;
}

/* =========================
   MODAL SYSTEM
========================= */

.modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.78);
    z-index:500;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.modal.active{
    display:flex;
}

.modal-box{
    width:min(650px,100%);
    max-height:92vh;
    overflow-y:auto;
    background:#fff;
    border-radius:14px;
    position:relative;
    box-shadow:0 30px 100px rgba(0,0,0,.35);
}

.modal-header{
    padding:25px 28px;
    border-bottom:1px solid #eee;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.modal-header h3{
    font-family:"Times New Roman",serif;
    font-size:30px;
}

.modal-close{
    border:0;
    background:none;
    font-size:25px;
    color:#777;
}

.modal-content{
    padding:28px;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
}

.form-group{
    display:grid;
    gap:6px;
}

.form-group.full{
    grid-column:1/-1;
}

.form-group label{
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.7px;
}

.form-group input,
.form-group select,
.form-group textarea{
    width:100%;
    border:1px solid #ddd;
    border-radius:6px;
    padding:12px;
    outline:none;
}

.form-group textarea{
    min-height:110px;
    resize:vertical;
}

.submit-btn{
    width:100%;
    height:48px;
    border:0;
    border-radius:7px;
    background:var(--turquoise);
    color:#fff;
    font-weight:800;
    margin-top:18px;
}

/* =========================
   VENDOR PROFILE
========================= */

.profile-modal .modal-box{
    width:min(1050px,100%);
    background:#f7f6f2;
    overflow:hidden;
}

.profile-cover{
    height:330px;
    position:relative;
    overflow:hidden;
}

.profile-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.profile-cover::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        transparent 25%,
        rgba(0,0,0,.82)
    );
}

.profile-close{
    position:absolute;
    z-index:20;
    top:18px;
    right:18px;
    width:42px;
    height:42px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(0,0,0,.5);
    color:#fff;
    font-size:21px;
}

.profile-cover-content{
    position:absolute;
    z-index:10;
    bottom:25px;
    left:35px;
    right:35px;
    color:#fff;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:25px;
}

.profile-identity{
    display:flex;
    align-items:flex-end;
    gap:18px;
}

.profile-logo{
    width:95px;
    height:95px;
    border-radius:12px;
    border:4px solid #fff;
    overflow:hidden;
    background:#fff;
    flex-shrink:0;
}

.profile-logo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.profile-name{
    font-family:"Times New Roman",serif;
    font-size:40px;
    line-height:1;
}

.profile-verified{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:var(--gold-light);
    font-size:11px;
    font-weight:800;
    margin-top:7px;
}

.profile-location{
    font-size:12px;
    color:rgba(255,255,255,.75);
    margin-top:5px;
}

.profile-top-actions{
    display:flex;
    gap:8px;
}

.profile-top-actions button{
    height:43px;
    padding:0 17px;
    border-radius:6px;
    font-size:12px;
    font-weight:800;
}

.profile-whatsapp{
    border:0;
    background:var(--turquoise);
    color:#fff;
}

.profile-quote{
    border:1px solid rgba(255,255,255,.5);
    background:rgba(0,0,0,.25);
    color:#fff;
}

.profile-body{
    padding:35px;
}

.profile-layout{
    display:grid;
    grid-template-columns:1.6fr .8fr;
    gap:30px;
}

.profile-main{
    min-width:0;
}

.profile-sidebar{
    min-width:0;
}

.profile-section{
    background:#fff;
    border:1px solid #e4e0d7;
    border-radius:12px;
    padding:25px;
    margin-bottom:20px;
}

.profile-section h3{
    font-family:"Times New Roman",serif;
    font-size:28px;
    margin-bottom:14px;
}

.profile-section p{
    color:#666;
    font-size:13px;
}

.profile-facts{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:20px;
    gap:10px;
}

.fact{
    background:#f7f6f2;
    border-radius:8px;
    padding:14px;
}

.fact strong{
    display:block;
    font-size:18px;
}

.fact span{
    color:#888;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.6px;
}

.service-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.service-tag{
    padding:7px 11px;
    background:#f2efe7;
    border-radius:30px;
    font-size:11px;
}

.packages{
    display:grid;
    gap:12px;
}

.package{
    border:1px solid #e2ded5;
    border-radius:9px;
    padding:17px;
}

.package-top{
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.package h4{
    font-size:15px;
}

.package-price{
    font-weight:800;
    color:var(--turquoise);
    white-space:nowrap;
}

.package ul{
    margin:10px 0 0 17px;
    color:#777;
    font-size:11px;
}

.package button{
    margin-top:13px;
    border:0;
    background:var(--black);
    color:#fff;
    border-radius:5px;
    padding:8px 13px;
    font-size:10px;
    font-weight:700;
}

.portfolio-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
}

.portfolio-item{
    height:145px;
    border-radius:6px;
    overflow:hidden;
    cursor:pointer;
}

.portfolio-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.3s;
}

.portfolio-item:hover img{
    transform:scale(1.05);
}

.review-summary{
    display:grid;
    grid-template-columns:130px 1fr;
    gap:25px;
    align-items:center;
    margin-bottom:22px;
}

.average-rating{
    text-align:center;
}

.average-rating strong{
    display:block;
    font-family:"Times New Roman",serif;
    font-size:52px;
    line-height:1;
}

.stars{
    color:var(--gold-dark);
    letter-spacing:2px;
}

.review-bars{
    display:grid;
    gap:6px;
}

.review-bar{
    display:grid;
    grid-template-columns:35px 1fr 30px;
    align-items:center;
    gap:7px;
    font-size:10px;
    color:#777;
}

.bar{
    height:6px;
    background:#eee;
    border-radius:10px;
    overflow:hidden;
}

.bar span{
    display:block;
    height:100%;
    background:var(--gold);
}

.review{
    padding:15px 0;
    border-top:1px solid #eee;
}

.review-head{
    display:flex;
    justify-content:space-between;
    font-size:12px;
}

.review-name{
    font-weight:800;
}

.review p{
    font-size:11px;
    margin-top:5px;
}

.availability-card{
    background:var(--turquoise-deep);
    color:#fff;
    border-radius:12px;
    padding:23px;
    margin-bottom:20px;
}

.availability-status{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:800;
}

.status-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#51d38b;
}

.availability-card p{
    color:rgba(255,255,255,.65);
    font-size:11px;
    margin-top:8px;
}

.sidebar-contact{
    width:100%;
    height:48px;
    border-radius:7px;
    font-weight:800;
    margin-top:8px;
}

.sidebar-whatsapp{
    background:#1c8d52;
    color:#fff;
    border:0;
}

.sidebar-quote{
    background:var(--gold);
    color:#111;
    border:0;
}

/* =========================
   LIGHTBOX
========================= */

.lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.94);
    z-index:1000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:25px;
}

.lightbox.active{
    display:flex;
}

.lightbox img{
    max-width:92vw;
    max-height:88vh;
    object-fit:contain;
}

.lightbox-close{
    position:absolute;
    top:25px;
    right:30px;
    color:#fff;
    background:none;
    border:0;
    font-size:35px;
}

/* =========================
   TOAST
========================= */

.toast{
    position:fixed;
    z-index:1500;
    right:25px;
    bottom:25px;
    background:#111;
    color:#fff;
    padding:14px 18px;
    border-left:3px solid var(--gold);
    border-radius:5px;
    font-size:12px;
    transform:translateY(100px);
    opacity:0;
    pointer-events:none;
    transition:.3s;
}

.toast.show{
    transform:translateY(0);
    opacity:1;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px){

    .vendor-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .event-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .toolbar-top{
        grid-template-columns:1fr 1fr;
    }

    .services-inner{
        grid-template-columns:repeat(3,1fr);
    }

    .service-item:nth-child(4){
        border-left:1px solid rgba(255,255,255,.10);
    }

    .profile-layout{
        grid-template-columns:1fr;
    }
}

@media(max-width:900px){

    .nav,
    .header-actions{
        display:none;
    }

    .mobile-toggle{
        display:block;
    }

    .hero-content{
        padding-top:135px;
    }

    .hero h1{
        letter-spacing:-2px;
    }

    .hero-search-row{
        flex-wrap:wrap;
    }

    .search-box{
        width:100%;
        flex-basis:100%;
    }

    .ai-search-btn,
    .plan-event-btn,
    .vendor-btn{
        flex:1;
    }

    .vendor-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:600px){

    .section{
        padding:70px 5%;
    }

    .hero h1{
        font-size:53px;
    }

    .hero-description{
        font-size:14px;
    }

    .hero-search-row{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .search-box{
        grid-column:1/-1;
    }

    .ai-search-btn,
    .plan-event-btn,
    .vendor-btn{
        width:100%;
    }

    .services-inner{
        grid-template-columns:repeat(2,1fr);
    }

    .vendor-grid,
    .event-grid{
        grid-template-columns:1fr;
    }

    .toolbar-top{
        grid-template-columns:1fr;
    }

    .marketplace-meta{
        align-items:flex-start;
        gap:10px;
        flex-direction:column;
    }

    .steps{
        grid-template-columns:1fr;
    }

    .map-box{
        height:370px;
    }

    .map-overlay-card{
        left:12px;
        right:12px;
        bottom:12px;
        max-width:none;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .footer-bottom{
        flex-direction:column;
        gap:8px;
    }

    .profile-cover{
        height:380px;
    }

    .profile-cover-content{
        left:20px;
        right:20px;
        bottom:20px;
        display:block;
    }

    .profile-identity{
        align-items:flex-end;
    }

    .profile-logo{
        width:72px;
        height:72px;
    }

    .profile-name{
        font-size:31px;
    }

    .profile-top-actions{
        margin-top:15px;
    }

    .profile-top-actions button{
        flex:1;
    }

    .profile-body{
        padding:18px;
    }

    .profile-section{
        padding:18px;
    }

    .profile-facts{
        grid-template-columns:1fr 1fr;
    }

    .portfolio-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .portfolio-item{
        height:120px;
    }

    .review-summary{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   FREE VENDOR DISCOVERY / FACEBOOK LINK SEARCH
========================================================= */
.free-discovery-card{
    margin:24px 0 10px;
    padding:22px;
    border:1px solid rgba(0,107,97,.18);
    background:linear-gradient(135deg,rgba(0,107,97,.05),rgba(200,168,78,.08));
    border-radius:16px;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:24px;
    align-items:center;
}
.free-discovery-eyebrow{
    font-size:10px;
    font-weight:900;
    letter-spacing:1.6px;
    color:var(--turquoise);
    margin-bottom:6px;
}
.free-discovery-copy h3{
    font-family:"Times New Roman",serif;
    font-size:29px;
    line-height:1.05;
    color:#111;
}
.free-discovery-copy p{
    margin-top:8px;
    max-width:620px;
    color:#6e6e6e;
    font-size:12px;
}
.free-discovery-controls{
    display:grid;
    gap:10px;
}
.free-search-row{
    display:grid;
    grid-template-columns:1.4fr .8fr;
    gap:10px;
}
.free-search-row input,
.free-search-row select{
    width:100%;
    height:46px;
    border:1px solid #ddd;
    border-radius:7px;
    padding:0 13px;
    outline:none;
    background:#fff;
}
.free-search-row input:focus,
.free-search-row select:focus{
    border-color:var(--turquoise);
    box-shadow:0 0 0 3px rgba(0,107,97,.08);
}
.free-discovery-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.free-facebook-btn,
.free-google-btn,
.free-maps-btn,
.free-register-btn{
    min-height:46px;
    border-radius:7px;
    font-weight:800;
    border:0;
}
.free-facebook-btn{
    background:#1877f2;
    color:#fff;
}
.free-google-btn,
.free-maps-btn{
    background:#fff;
    color:#1f1f1f;
    border:1px solid #dadce0;
}
.free-google-btn i{color:#4285f4;}
.free-maps-btn i{color:#ea4335;}
.free-register-btn{
    background:var(--gold);
    color:#111;
}
.free-discovery-note{
    color:#8b8b8b;
    font-size:10px;
    line-height:1.45;
}
.facebook-card-btn{
    width:100%;
    min-height:40px;
    margin-top:8px;
    border:1px solid #d8d8d8;
    background:#fff;
    color:#1877f2;
    border-radius:7px;
    font-weight:800;
    font-size:11px;
}
.facebook-card-btn i{margin-right:5px;}
.claim-card-btn{
    width:100%;
    min-height:40px;
    margin-top:8px;
    border:0;
    background:#111;
    color:#fff;
    border-radius:7px;
    font-weight:800;
    font-size:11px;
}
.claim-card-btn i{margin-right:5px;}
.source-badge{
    position:absolute;
    left:12px;
    bottom:12px;
    z-index:8;
    background:rgba(255,255,255,.94);
    color:#111;
    border-radius:999px;
    padding:5px 8px;
    font-size:9px;
    font-weight:900;
}
@media(max-width:900px){
    .free-discovery-card{grid-template-columns:1fr;}
}
@media(max-width:600px){
    .free-search-row,
    .free-discovery-actions{grid-template-columns:1fr;}
    .free-discovery-copy h3{font-size:24px;}
}


/* =========================================================
   EVENTHUB ZAMBIA — FRONT-END V2 / ZAMBIAN EDITORIAL SYSTEM
   Visual-only refinement. Existing JS and component structure retained.
========================================================= */
:root{
  --gold:#C6A15B;
  --gold-light:#D8BD7A;
  --gold-dark:#9A7838;
  --turquoise:#006B5B;
  --turquoise-dark:#005247;
  --turquoise-deep:#003F37;
  --black:#171817;
  --black-2:#20211F;
  --black-3:#2A2B28;
  --white:#FFFFFF;
  --off-white:#F8F6F0;
  --cream:#F2EFE7;
  --muted:#6F706D;
  --border:#E3DFD5;
  --border-dark:rgba(255,255,255,.13);
  --shadow:0 12px 35px rgba(24,34,29,.08);
  --shadow-lg:0 22px 55px rgba(24,34,29,.12);
  --radius:10px;
}

html{scroll-behavior:smooth;}
body{
  font-family:Inter,Arial,sans-serif;
  background:var(--off-white);
  color:var(--black);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font-family:Inter,Arial,sans-serif;}

/* ---------- GLOBAL TYPE ---------- */
.hero h1,.section-title,.event-card h3,.step h3,.cta h2,
.modal-header h3,.profile-name,.profile-section h3,.average-rating strong,
.free-discovery-copy h3{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:600;
}
.hero h1{
  font-size:clamp(48px,5.5vw,76px);
  line-height:1.01;
  letter-spacing:-2.2px;
  max-width:760px;
}
.section-title{font-size:clamp(38px,4.4vw,58px);letter-spacing:-1.5px;line-height:1.02;}
.section{padding:88px 5%;}
.section-heading{margin-bottom:36px;}
.section-description{color:#676864;font-size:14px;line-height:1.7;}

/* ---------- SHARED BUTTON SYSTEM ---------- */
button,.profile-btn,.whatsapp-btn,.cta-primary,.cta-secondary,
.login-btn,.signup-btn,.plan-event-btn,.vendor-btn,.ai-search-btn,
.load-more,.package button,.sidebar-contact,.free-facebook-btn,.free-google-btn,.free-maps-btn,.free-register-btn,
.facebook-card-btn,.claim-card-btn,.submit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:700;
  border-radius:6px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}

/* ---------- HEADER ---------- */
.header{padding:20px 5%;background:linear-gradient(to bottom,rgba(0,0,0,.38),transparent);}
.header-inner{max-width:1380px;gap:24px;}
.logo{gap:11px;font-size:18px;letter-spacing:-.3px;}
.logo-mark{
  width:36px;height:36px;border:1px solid var(--gold);
  color:var(--gold-light);font-family:Georgia,serif;font-size:17px;
  background:rgba(0,0,0,.12);
}
.nav{gap:26px;}
.nav a{font-size:13px;color:rgba(255,255,255,.88);}
.nav a:hover{color:var(--gold-light);}
.login-btn,.signup-btn{height:40px;padding:0 16px;border-radius:6px;font-size:12px;}
.login-btn{border-color:rgba(255,255,255,.28);}
.signup-btn{background:var(--gold);border-color:var(--gold);}

/* ---------- HERO ---------- */
.hero{min-height:88vh;max-height:900px;background:#10110F;}
.hero-overlay{
  background:linear-gradient(90deg,rgba(10,16,14,.90) 0%,rgba(10,16,14,.72) 38%,rgba(10,16,14,.28) 70%,rgba(10,16,14,.10) 100%);
}
.hero-content{min-height:88vh;padding:130px 5% 75px;max-width:1380px;}
.hero-copy{max-width:820px;}
.eyebrow{font-size:11px;letter-spacing:2.4px;color:var(--gold-light);margin-bottom:17px;}
.hero-description{max-width:610px;font-size:15px;line-height:1.75;color:rgba(255,255,255,.78);margin:24px 0 28px;}
.hero-search-row{max-width:940px;gap:9px;align-items:stretch;}
.search-box{height:54px;min-width:0;border-radius:6px;box-shadow:0 10px 30px rgba(0,0,0,.16);}
.search-box input{font-size:13px;}
.search-box button{height:40px;margin-right:7px;padding:0 18px;border-radius:5px;background:var(--turquoise);}
.ai-search-btn,.plan-event-btn,.vendor-btn{height:54px;min-height:54px;padding:0 17px;border-radius:6px;font-size:12px;box-shadow:none;}
.ai-search-btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.35);color:#fff;}
.ai-search-btn:hover{background:rgba(255,255,255,.14);box-shadow:none;transform:translateY(-1px);filter:none;}
.plan-event-btn{background:var(--gold);border-color:var(--gold);color:#17130A;}
.vendor-btn{background:rgba(0,63,55,.90);border-color:rgba(216,189,122,.55);color:#fff;}
.plan-event-btn:hover,.signup-btn:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-1px);}
.vendor-btn:hover{background:var(--turquoise);transform:translateY(-1px);}
.popular{margin-top:14px;gap:10px;font-size:11px;color:rgba(255,255,255,.58);}
.popular a{border-bottom:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.85);}
.hero-controls{right:5%;bottom:34px;}
.slider-arrow{width:40px;height:40px;border-radius:6px;border-color:rgba(255,255,255,.30);background:rgba(0,0,0,.22);}
.slider-dot{height:2px;width:22px;}

/* ---------- SERVICE NAV ---------- */
.services{background:var(--turquoise-deep);padding:0 5%;}
.services-inner{max-width:1380px;grid-template-columns:repeat(7,1fr);}
.service-item{padding:23px 12px;border-right:1px solid rgba(255,255,255,.09);}
.service-item i{font-size:21px;color:var(--gold-light);margin-bottom:6px;}
.service-item span{font-size:11px;letter-spacing:.1px;}
.service-item:hover{background:rgba(255,255,255,.035);}

/* ---------- MARKETPLACE ---------- */
.marketplace{background:var(--off-white);}
.marketplace-toolbar{padding:17px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 5px 20px rgba(30,35,30,.035);}
.toolbar-top{gap:9px;}
.filter-control,.search-control input{height:46px;border-color:#D9D5CB;border-radius:6px;font-size:12px;}
.quick-categories{gap:6px;margin-top:11px;}
.category-pill{padding:7px 12px;border-radius:5px;font-size:11px;border-color:#DDD9D0;}
.category-pill.active,.category-pill:hover{background:var(--turquoise);border-color:var(--turquoise);}
.marketplace-meta{margin:18px 0;}
.vendor-count{font-size:12px;color:#767773;}
.vendor-grid{gap:16px;}
.vendor-card{border:1px solid var(--border);border-radius:10px;box-shadow:none;}
.vendor-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.vendor-image{height:215px;}
.vendor-image img{transition:transform .35s ease;}
.vendor-card:hover .vendor-image img{transform:scale(1.025);}
.featured-badge,.verified-badge{top:11px;font-size:9px;padding:5px 7px;border-radius:4px;letter-spacing:.2px;}
.featured-badge{background:var(--gold);}
.verified-badge{background:rgba(255,255,255,.95);color:var(--turquoise);}
.favorite-btn{right:10px;bottom:10px;width:34px;height:34px;background:rgba(18,20,18,.62);}
.vendor-body{padding:17px;}
.vendor-category{font-size:9px;letter-spacing:1.1px;color:var(--turquoise);}
.vendor-name{font-size:17px;margin:4px 0 7px;}
.vendor-meta{font-size:11px;margin-bottom:10px;}
.vendor-price{font-size:11px;margin-bottom:14px;}
.vendor-price strong{font-size:15px;}
.vendor-actions{gap:7px;}
.profile-btn,.whatsapp-btn{height:40px;font-size:11px;border-radius:5px;}
.profile-btn{border-color:#D5D1C8;}
.whatsapp-btn{background:var(--turquoise);}
.load-more{height:42px;padding:0 22px;border-radius:6px;font-size:12px;}

/* ---------- EVENT TYPES ---------- */
.event-grid{gap:14px;}
.event-card{height:390px;border-radius:9px;}
.event-card::after{background:linear-gradient(transparent 32%,rgba(8,12,10,.82));}
.event-card-content{bottom:22px;left:22px;}
.event-card h3{font-size:29px;}
.event-card p{font-size:11px;}

/* ---------- HOW IT WORKS ---------- */
.how{background:linear-gradient(rgba(5,10,8,.91),rgba(5,10,8,.94)),url("https://images.unsplash.com/photo-1507504031003-b417219a0fde?auto=format&fit=crop&w=2000&q=80") center/cover no-repeat;}
.how::before{background:linear-gradient(90deg,rgba(0,63,55,.14),rgba(5,5,5,.03),rgba(198,161,91,.05));}
.steps{gap:35px;}
.step{border-top:1px solid rgba(255,255,255,.17);padding-top:21px;}
.step-number{color:var(--gold-light);font-size:11px;letter-spacing:1px;}
.step i{font-size:32px;color:var(--gold);margin:17px 0;}
.step h3{font-size:29px;}
.step p{font-size:12px;color:rgba(255,255,255,.58);}

/* ---------- MAP ---------- */
.map-section{background:#EEEAE1;}
.map-box{height:470px;border-radius:10px;box-shadow:var(--shadow);}
.map-overlay-card{left:18px;bottom:18px;max-width:300px;padding:15px 17px;border-radius:8px;background:rgba(20,22,20,.88);backdrop-filter:blur(7px);}

/* ---------- CTA ---------- */
.cta{background:var(--turquoise-deep);padding:88px 5%;}
.cta h2{font-size:clamp(42px,5.5vw,68px);letter-spacing:-1.5px;}
.cta p{font-size:13px;}
.cta-primary,.cta-secondary{height:46px;padding:0 21px;border-radius:6px;font-size:12px;}
.cta-primary{background:var(--gold);}
.cta-secondary{border:1px solid rgba(255,255,255,.30);}

/* ---------- FOOTER ---------- */
.footer{background:#111311;padding:62px 5% 22px;}
.footer-grid{max-width:1380px;gap:45px;}
.footer-brand p{font-size:12px;color:#858781;line-height:1.7;}
.footer h4{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#fff;}
.footer-links{gap:8px;}
.footer-links a{font-size:11px;color:#777A75;}
.footer-bottom{margin-top:45px;font-size:10px;}

/* ---------- MODALS / FORMS ---------- */
.modal{background:rgba(8,12,10,.76);backdrop-filter:blur(3px);}
.modal-box{border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.30);}
.modal-header{padding:22px 25px;}
.modal-header h3{font-size:27px;}
.modal-content{padding:25px;}
.form-group label{font-size:10px;color:#535550;}
.form-group input,.form-group select,.form-group textarea{border-color:#DCD8CE;border-radius:5px;padding:11px;font-size:12px;}
.submit-btn{height:46px;border-radius:6px;margin-top:16px;background:var(--turquoise);}
.profile-modal .modal-box{border-radius:10px;}
.profile-cover{height:310px;}
.profile-name{font-size:37px;}
.profile-top-actions button{height:41px;border-radius:5px;}
.profile-section{border-color:var(--border);border-radius:9px;box-shadow:none;}
.profile-section h3{font-size:26px;}
.availability-card{border-radius:9px;background:var(--turquoise-deep);}
.sidebar-contact{height:46px;border-radius:6px;}
.sidebar-whatsapp{background:#208A52;}
.sidebar-quote{background:var(--gold);}

/* ---------- DISCOVERY CARD ---------- */
.free-discovery-card{padding:20px;border:1px solid rgba(0,107,91,.15);background:linear-gradient(135deg,rgba(0,107,91,.035),rgba(198,161,91,.06));border-radius:10px;}
.free-discovery-copy h3{font-size:27px;}
.free-discovery-copy p{font-size:11px;}
.free-search-row input,.free-search-row select{height:44px;border-radius:5px;font-size:12px;}
.free-discovery-actions{gap:8px;}
.free-facebook-btn,.free-google-btn,.free-maps-btn,.free-register-btn{height:44px;min-height:44px;border-radius:5px;font-size:11px;}
.free-register-btn{background:var(--gold);}
.facebook-card-btn,.claim-card-btn{height:39px;min-height:39px;border-radius:5px;}

/* ---------- AI ASSISTANT: QUIETER PRODUCT TREATMENT ---------- */
.ai-search-btn i{color:var(--gold-light);}

/* ---------- FOOTER CREDIT ---------- */
.footer-credit{margin-left:10px;color:#8f918b;}
.footer-credit strong{color:var(--gold-light);font-weight:700;}
@media(max-width:600px){.footer-credit{display:block;margin:5px 0 0;}}

/* ---------- ACCESSIBILITY / FOCUS ---------- */
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

/* ---------- RESPONSIVE REFINEMENT ---------- */
@media(max-width:1100px){
  .vendor-grid{grid-template-columns:repeat(3,1fr);}
  .services-inner{grid-template-columns:repeat(4,1fr);}
  .service-item:nth-child(5){border-left:1px solid rgba(255,255,255,.09);}
}
@media(max-width:900px){
  .hero,.hero-content{min-height:760px;}
  .hero-content{padding-top:125px;}
  .hero h1{font-size:clamp(46px,8vw,66px);}
  .hero-search-row{flex-wrap:wrap;}
  .search-box{width:100%;flex-basis:100%;}
  .ai-search-btn,.plan-event-btn,.vendor-btn{flex:1;}
  .services-inner{grid-template-columns:repeat(3,1fr);}
  .vendor-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .header{padding:15px 5%;}
  .logo{font-size:16px;}
  .logo-mark{width:33px;height:33px;}
  .section{padding:68px 5%;}
  .hero,.hero-content{min-height:760px;}
  .hero-content{padding:120px 5% 65px;align-items:center;}
  .hero h1{font-size:49px;letter-spacing:-1.5px;}
  .hero-description{font-size:13px;line-height:1.65;margin:20px 0 24px;}
  .hero-search-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .search-box{grid-column:1/-1;height:52px;}
  .ai-search-btn,.plan-event-btn,.vendor-btn{width:100%;height:48px;min-height:48px;padding:0 10px;font-size:11px;}
  .services-inner{grid-template-columns:repeat(2,1fr);}
  .service-item{padding:19px 8px;}
  .service-item:nth-child(odd){border-left:1px solid rgba(255,255,255,.09);}
  .vendor-grid,.event-grid{grid-template-columns:1fr;}
  .vendor-image{height:225px;}
  .toolbar-top{grid-template-columns:1fr;}
  .marketplace-meta{margin:16px 0;}
  .event-card{height:360px;}
  .cta-buttons{flex-direction:column;align-items:stretch;max-width:360px;margin:auto;}
  .cta-primary,.cta-secondary{width:100%;}
  .profile-cover{height:360px;}
  .profile-top-actions button{flex:1;}
}


/* =========================================================
   EVENTHUB ZAMBIA — MARKETPLACE / PROFILE V3
   Intent: polished local marketplace, restrained luxury
========================================================= */
.marketplace .section-heading{max-width:760px;margin-bottom:34px;}
.marketplace .section-title{font-size:clamp(36px,4.4vw,58px);line-height:1.03;letter-spacing:-1.7px;}
.marketplace .section-description{max-width:620px;font-size:13px;line-height:1.75;color:#70736e;}
.marketplace-toolbar{position:relative;padding:18px 18px 15px;box-shadow:0 8px 24px rgba(25,32,28,.045);}
.toolbar-top{grid-template-columns:minmax(280px,1.7fr) 1fr 1fr 1fr;}
.search-control input,.filter-control{height:48px;background:#fff;}
.search-control input:focus,.filter-control:focus{border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(0,107,91,.07);}
.quick-categories{padding-top:2px;border-top:1px solid #eeeae2;}
.category-pill{height:34px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:#fff;}
.marketplace-toolbar-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:10px 1px 24px;color:#777a75;font-size:11px;}
.marketplace-result-label{display:flex;align-items:center;gap:7px;}
.result-dot{width:7px;height:7px;border-radius:50%;background:#2d9b62;box-shadow:0 0 0 3px rgba(45,155,98,.10);}
.clear-filters-btn{border:0;background:transparent;color:#666963;font-size:11px;font-weight:700;padding:5px 0;display:inline-flex;align-items:center;gap:6px;}
.clear-filters-btn:hover{color:var(--turquoise);}
.vendor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.vendor-card{border-radius:9px;background:#fff;box-shadow:0 3px 14px rgba(24,30,26,.035);}
.vendor-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(24,30,26,.09);}
.vendor-image{height:245px;background:#e9e6dd;}
.vendor-image img{filter:saturate(.96);}
.featured-badge,.verified-badge{top:13px;}
.featured-badge{padding:5px 8px;}
.verified-badge{padding:5px 8px;}
.favorite-btn{width:36px;height:36px;right:12px;bottom:12px;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(5px);}
.vendor-body{padding:18px 18px 17px;}
.vendor-category{font-size:9px;letter-spacing:1.2px;}
.vendor-name{font-size:18px;letter-spacing:-.2px;margin:5px 0 7px;}
.vendor-meta{justify-content:flex-start;gap:12px;font-size:11px;color:#767a74;}
.vendor-meta > span:first-child{display:inline-flex;align-items:center;gap:4px;}
.vendor-rating i{font-size:12px;}
.vendor-price{border-top:1px solid #eeeae2;padding-top:12px;margin:0 0 14px;font-size:10px;}
.vendor-price strong{font-size:15px;}
.vendor-actions{grid-template-columns:1.05fr .95fr;gap:8px;}
.profile-btn,.whatsapp-btn{height:42px;border-radius:5px;}
.profile-btn:hover{border-color:#aaa79d;background:#faf9f5;}
.whatsapp-btn{background:#15744f;}
.whatsapp-btn:hover{background:#126343;}

/* Vendor profile */
.profile-modal .modal-box{background:#f7f6f1;}
.profile-cover{height:335px;}
.profile-cover::after{background:linear-gradient(180deg,rgba(0,0,0,.04) 10%,rgba(0,0,0,.12) 42%,rgba(0,0,0,.84) 100%);}
.profile-cover-content{bottom:28px;left:32px;right:32px;}
.profile-logo{width:88px;height:88px;border-radius:8px;border-width:3px;box-shadow:0 8px 25px rgba(0,0,0,.18);}
.profile-name{font-size:38px;letter-spacing:-.8px;}
.profile-location{display:flex;align-items:center;gap:5px;}
.profile-top-actions{align-items:center;}
.profile-top-actions button{min-width:132px;height:44px;padding:0 16px;}
.profile-body{padding:28px;}
.profile-layout{grid-template-columns:minmax(0,1.65fr) 300px;gap:22px;align-items:start;}
.profile-section{padding:22px;border-radius:8px;margin-bottom:16px;background:#fff;}
.profile-section h3{font-size:24px;letter-spacing:-.3px;}
.fact{background:#f7f5ef;border:1px solid #ece8df;border-radius:6px;}
.service-tag{background:#f4f1e9;border:1px solid #ebe6dc;border-radius:4px;padding:7px 10px;}
.package{border-color:#e5e0d6;border-radius:7px;padding:16px;transition:border-color .2s,box-shadow .2s;}
.package:hover{border-color:#cbc4b4;box-shadow:0 6px 18px rgba(25,30,27,.05);}
.package button{height:36px;padding:0 13px;border-radius:5px;background:#171917;display:inline-flex;align-items:center;justify-content:center;}
.portfolio-grid{gap:8px;}
.portfolio-item{height:155px;border-radius:5px;}
.availability-card{padding:20px;border-radius:8px;}
.profile-sidebar{position:sticky;top:18px;}
.sidebar-contact{height:46px;}
.sidebar-quote{background:var(--gold);}
.sidebar-quote:hover{background:var(--gold-light);}

@media(max-width:1100px){
  .vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .toolbar-top{grid-template-columns:1.5fr 1fr 1fr;}
  .toolbar-top .filter-control:last-child{grid-column:1/-1;}
  .profile-layout{grid-template-columns:1fr;}
  .profile-sidebar{position:static;}
}
@media(max-width:700px){
  .toolbar-top{grid-template-columns:1fr;}
  .toolbar-top .filter-control:last-child{grid-column:auto;}
  .marketplace-toolbar-foot{align-items:flex-start;flex-direction:column;gap:5px;margin-bottom:18px;}
  .vendor-grid{grid-template-columns:1fr;gap:16px;}
  .vendor-image{height:225px;}
  .profile-cover{height:400px;}
  .profile-cover-content{left:18px;right:18px;bottom:18px;}
  .profile-identity{gap:12px;}
  .profile-name{font-size:29px;}
  .profile-top-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px;}
  .profile-top-actions button{width:100%;min-width:0;}
  .profile-body{padding:14px;}
}


/* =========================
   REVIEW FORM (profile modal)
========================= */
.review-form{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #eee;
}
.review-form h4{
    font-size:15px;
    font-weight:700;
    margin-bottom:12px;
}
.review-stars-picker{
    display:flex;
    gap:6px;
    margin-bottom:12px;
}
.review-stars-picker .review-star{
    background:transparent;
    border:none;
    font-size:26px;
    line-height:1;
    color:var(--gold,#c8a84e);
    padding:0;
}
.review-stars-picker .review-star i{display:block;}
.review-form textarea{
    width:100%;
    min-height:90px;
    padding:12px 14px;
    border:1px solid #ddd;
    border-radius:10px;
    resize:vertical;
    font-size:14px;
    margin-bottom:12px;
}
.review-form textarea:focus{
    outline:none;
    border-color:var(--turquoise,#006b61);
}
