/* =====================================================================
   THE EVENTS FLOW — marketplace stylesheet (single clean, mobile-first file)
   Base styles = phone. Larger screens add rules with min-width queries.
   No !important overrides. Minimum body text 13px, inputs 16px (no iOS zoom).
   ===================================================================== */

/* ---------- 1. Tokens & reset ---------- */
:root{
  --orange:#ff6a00; --orange-2:#ff8a00; --orange-dark:#d85a00;
  --navy:#111827; --navy-2:#172033; --navy-3:#26324a;
  --purple:#4d2bcf; --purple-soft:#eee9ff;
  --ink:#1c2033; --muted:#667085; --line:#e3e5ec; --bg:#f4f5f7; --white:#fff;
  --green:#159b68; --red:#d74a55;
  --radius:6px; --shadow:0 1px 5px rgba(0,0,0,.07);
  --gutter:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.5;background:var(--bg);color:var(--ink);overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{line-height:1.2;margin:0 0 .4em}
p{margin:0 0 .8em}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.muted{color:var(--muted);font-size:.9em}

/* ---------- 2. Buttons, chips, badges ---------- */
.btn,.join{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:10px 18px;border:0;border-radius:var(--radius);background:var(--orange);color:#fff;font-weight:800;font-size:14px;text-align:center}
.btn:hover,.join:hover{background:var(--orange-dark)}
.ghost,.outlineBtn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #cfd3de;border-radius:var(--radius);background:#fff;color:var(--ink);font-weight:700;font-size:14px;text-align:center}
.ghost:hover,.outlineBtn:hover{border-color:var(--orange);color:var(--orange-dark)}
.danger{border:0;border-radius:var(--radius);background:#fff0f1;color:#c33a46;padding:9px 13px;font-weight:800;min-height:38px}
.full{width:100%;text-align:center}
.eyebrow{display:block;font-size:12px;letter-spacing:.08em;font-weight:800;color:var(--orange-dark);text-transform:uppercase}
.verified{display:inline-block;padding:3px 8px;border-radius:3px;background:#eafaf3;color:var(--green);font-size:11px;font-weight:800}
.tags,.match-tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.tags span,.tag,.discount{display:inline-block;padding:3px 8px;border-radius:3px;background:#f0efff;color:#5636da;font-size:12px;font-weight:700}
.discount{background:#fff0f1;color:#d33b48;margin-left:6px}
.flash{padding:12px 14px;border-radius:var(--radius);margin:10px 0;font-weight:700}
.flash.success{background:#eafaf3;color:#117a54}
.flash.error{background:#fff0f1;color:#b42e3b}
.warning{background:#fff8df;padding:10px 12px;border-radius:var(--radius)}
.empty{grid-column:1/-1;padding:26px 16px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #ccd0de;border-radius:var(--radius);font-size:15px}

/* ---------- 3. Header, navigation, category bar ---------- */
.siteHead{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px var(--gutter);background:var(--navy);color:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,.2)}
.brand{display:flex;align-items:center;gap:9px;min-width:0;margin-right:auto;white-space:nowrap}
.brand span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:5px;background:linear-gradient(135deg,var(--orange),#ffb000);font-size:18px}
.brand b{font-size:15px;letter-spacing:.2px}
.navToggle{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid #ffffff40;border-radius:var(--radius);background:transparent;color:#fff;font-size:22px;line-height:1}
.topSearch{order:3;display:flex;width:100%;height:44px;background:#fff;border:2px solid var(--orange);border-radius:var(--radius);overflow:hidden}
.topSearch input{flex:1;min-width:0;border:0;outline:0;padding:0 12px;font-size:16px;color:var(--ink)}
.topSearch input+input{display:none}
.topSearch button{flex:none;border:0;background:var(--orange);color:#fff;padding:0 18px;font-weight:800;font-size:14px}
.siteHead nav{order:4;display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid #ffffff22;margin-top:2px}
.siteHead nav.open{display:flex}
.siteHead nav a{padding:12px 4px;border-bottom:1px solid #ffffff14;font-size:15px;color:#fff}
.siteHead nav a.calcLink{color:#ffd4a8}
.siteHead nav a.join{margin:10px 0 4px;border-bottom:0;padding:10px 18px}

.marketbar{display:flex;gap:8px;overflow-x:auto;padding:9px var(--gutter);background:#fff;border-bottom:1px solid var(--line);white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.marketbar::-webkit-scrollbar{display:none}
.marketbar a{flex:none;padding:7px 12px;border:1px solid var(--line);border-radius:20px;font-size:13px;font-weight:600;background:#fff}
.marketbar a:first-child{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:800}
.marketbar a:hover{border-color:var(--orange);color:var(--orange-dark)}
.marketbar a:first-child:hover{color:#fff}

.container{width:100%;max-width:1500px;margin:0 auto;padding:14px var(--gutter) 48px}

/* ---------- 4. Home hero ---------- */
.marketHero{display:block;overflow:hidden;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
.categorySide{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:9px 10px;background:var(--navy-2);border-bottom:2px solid var(--orange);white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.categorySide::-webkit-scrollbar{display:none}
.sideTitle{flex:none;padding:8px 11px;border-radius:4px;background:#101827;color:#fff;font-size:12px;font-weight:800}
.categorySide a{flex:none;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #33405c;border-radius:4px;background:#1d2940;color:#fff;font-size:13px}
.categorySide a b{display:none}
.categorySide a:hover{background:var(--navy-3)}
.categorySide .allCat{background:var(--orange);border-color:var(--orange);font-weight:800}

.heroCore{padding:24px var(--gutter) 20px;background:linear-gradient(135deg,#fff 0%,#fff8f1 100%)}
.heroCore .eyebrow{color:#8c3d00}
.heroCore h1{font-size:clamp(28px,8vw,56px);line-height:1.08;letter-spacing:-.02em;color:var(--navy-2);margin:10px 0 12px}
.heroCore h1 em{color:var(--orange);font-style:normal}
.heroCore p{max-width:760px;font-size:16px;line-height:1.55;color:#555}
.heroSearch{display:grid;grid-template-columns:1fr;gap:8px;margin:18px 0 12px}
.heroSearch input{width:100%;height:46px;padding:0 12px;border:1px solid #c5c9d4;border-radius:var(--radius);background:#fff;font-size:16px;outline:0}
.heroSearch input:focus{border-color:var(--orange)}
.heroSearch button{height:46px;border:0;border-radius:var(--radius);background:var(--orange);color:#fff;font-weight:800;font-size:15px}
.heroActions{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.heroActions .btn,.heroActions .ghost{width:100%}
.trustRow{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.trustRow span,.calcPromise span{padding:5px 10px;border:1px solid #ddd;border-radius:20px;background:#fff;color:#555;font-size:12px}
.heroPromo{display:none}

.quickLinks{display:flex;gap:8px;overflow-x:auto;margin:12px 0;white-space:nowrap;scrollbar-width:none}
.quickLinks::-webkit-scrollbar{display:none}
.quickLinks a{flex:none;padding:9px 14px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:13px;font-weight:700}
.quickLinks a:hover{border-color:var(--orange);color:var(--orange-dark)}

/* ---------- 5. Stats, banners, sections ---------- */
.statGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.statGrid>div{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.statGrid b{display:block;font-size:26px;line-height:1.15}
.statGrid span{display:block;margin-top:2px;color:var(--muted);font-size:13px;font-weight:600}

.calcBanner{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px 14px;margin:20px 0;padding:18px 16px;border-radius:var(--radius);background:linear-gradient(90deg,#35158e,#5b2bd6);color:#fff;box-shadow:0 5px 18px rgba(57,30,150,.18)}
.calcBadge{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#ffffff1f;font-size:26px}
.calcBanner .eyebrow{color:#d8ccff}
.calcBanner h2{margin:4px 0 6px;font-size:20px}
.calcBanner p{margin:0;color:#e3dffa;font-size:14px;line-height:1.55}
.calcBanner .btn{grid-column:1/-1;width:100%}

.section{margin:28px 0}
.sectionHead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 14px;margin-bottom:14px;padding-bottom:9px;border-bottom:1px solid #ddd}
.sectionHead h2,.sectionHead h3{margin:3px 0 0;font-size:22px}
.sectionHead>a{font-size:14px;font-weight:800;color:var(--orange-dark)}

.eventGrid,.orgGrid,.serviceGrid,.featureGrid,.catGrid,.plans{display:grid;grid-template-columns:1fr;gap:12px}
.eventCard,.orgCard,.serviceCard,.catCard,.featureGrid>div,.planCard,.formCard,.detailCard,.enquiry,.adminSection,.dashTile,.paymentInfo{padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.eventPic{position:relative;display:grid;place-items:center;height:120px;margin-bottom:10px;border-radius:var(--radius);background:linear-gradient(135deg,#ffe9d6,#e6f6ff);font-size:42px}
.eventPic span{position:absolute;top:8px;right:8px;padding:3px 8px;border-radius:3px;background:#fff;color:var(--green);font-size:11px;font-weight:800}
.eventCard small{color:var(--muted);font-size:12px;font-weight:700}
.eventCard h3,.orgCard h3,.serviceCard h3{margin:6px 0;font-size:17px}
.eventCard p,.orgCard p,.serviceCard p{color:var(--muted);font-size:14px}
.serviceCard strong{font-size:20px}
.serviceCard strong small{font-size:12px;color:var(--muted);font-weight:600}
.orgCard{display:grid;grid-template-columns:56px minmax(0,1fr);gap:13px}
.avatar,.profileAvatar{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#ffe9d6,#e6f6ff);font-size:24px;font-weight:800}

.catCard{display:flex;align-items:center;gap:12px;transition:.18s}
.catCard:hover{transform:translateY(-2px);border-color:#ffb77c;box-shadow:0 5px 16px rgba(0,0,0,.1)}
.catCard>span{flex:none;font-size:28px}
.catCard div{flex:1;min-width:0}
.catCard b{display:block;font-size:15px}
.catCard small{display:block;margin-top:2px;color:var(--muted);font-size:12.5px;line-height:1.35}
.catCard i{flex:none;font-style:normal;color:var(--muted);font-size:18px}

.organizerCTA{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px 16px;border-radius:var(--radius);background:linear-gradient(90deg,#16233d,#0e5a67);color:#fff}
.organizerCTA h2{margin:4px 0;font-size:24px}
.organizerCTA p{margin:0;color:#cbd1df;max-width:780px}
.organizerCTA .btn{width:100%}

/* ---------- 6. Listing / detail / profile / dashboard ---------- */
.listingHero,.detailHero,.profileHero,.dashHero{margin-bottom:16px;padding:22px var(--gutter);border-radius:var(--radius);background:linear-gradient(120deg,#111735,#3a208c);color:#fff}
.listingHero h1,.detailHero h1,.profileHero h1,.dashHero h1{margin:6px 0;font-size:clamp(26px,6vw,46px)}
.listingHero p,.detailHero p,.profileHero p,.dashHero p{color:#dcdcf0}
.listingHero .eyebrow,.detailHero .eyebrow,.profileHero .eyebrow{color:#d8ccff}
.dashHero{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.filterBar{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}
.filterBar input,.filterBar select,.filterBar button{min-height:46px;padding:0 12px;border:1px solid #ddd;border-radius:var(--radius);font-size:16px;background:#fff;color:var(--ink)}
.filterBar button{border:0;background:var(--orange);color:#fff;font-weight:800;font-size:15px}
.detailGrid,.profileGrid{display:grid;grid-template-columns:1fr;gap:14px}
.enquiry{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.dashGrid{display:grid;grid-template-columns:1fr;gap:12px}
.dashTile{display:block}
.dashTile b,.dashTile small{display:block;margin-top:6px}
.dashTile small{color:var(--muted)}
.manageRow,.adminRow{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.manageRow:last-child,.adminRow:last-child{border-bottom:0}
.manageRow b,.manageRow small,.adminRow b,.adminRow small{display:block}
.manageRow small,.adminRow small{margin-top:4px;color:var(--muted)}
.adminSection{margin:16px 0}
.adminRow form{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.adminRow select{min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);font-size:15px}

/* ---------- 7. Forms, auth ---------- */
.authWrap,.formPage{display:grid;place-items:center;padding:12px 0 24px}
.authCard,.formCard{width:min(850px,100%)}
.authCard{padding:22px 16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 10px 40px rgba(29,36,83,.08)}
.authCard h1{font-size:28px}
.authCard label,.formCard label{display:block;margin-bottom:12px;font-size:14px;font-weight:700}
.authCard input,.authCard select,.formCard input,.formCard select,.formCard textarea,.detailCard input,.detailCard textarea,.planCard input,.planCard select{display:block;width:100%;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #d7dae4;border-radius:var(--radius);background:#fff;font-size:16px;outline:0}
.authCard input:focus,.formCard input:focus,.formCard select:focus,.formCard textarea:focus,.detailCard input:focus,.detailCard textarea:focus{border-color:var(--orange)}
textarea{min-height:110px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr;gap:0 14px}

/* ---------- 8. Plans ---------- */
.planCard{padding:22px 18px}
.planCard.featured{border:2px solid var(--orange);box-shadow:0 10px 36px rgba(255,106,0,.14)}
.planCard h2{font-size:30px}
.planCard h2 small{font-size:13px;color:var(--muted)}
.planCard p{color:var(--muted);line-height:1.7}
.paymentInfo{margin-top:16px}

/* ---------- 9. Event calculator ---------- */
.calculatorIntro{margin-bottom:16px;padding:24px var(--gutter);border-radius:var(--radius);background:linear-gradient(120deg,#0d1130,#4a26bd);color:#fff}
.calculatorIntro h1{margin:8px 0;font-size:clamp(30px,8vw,60px);line-height:1.05}
.calculatorIntro h1 em{font-style:normal;color:#c0b0ff}
.calculatorIntro .eyebrow{color:#d8ccff}
.calculatorIntro p{max-width:900px;color:#dfe0ef;font-size:16px;line-height:1.6}
.calcPromise{display:flex;flex-wrap:wrap;gap:6px}
.calcPromise span{background:#ffffff14;border-color:#ffffff30;color:#fff}
.calcLayout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.calcForm,.calcResults{min-width:0}
.calcSection{margin-bottom:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.calcSectionHead{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px}
.calcSectionHead>div{display:flex;align-items:center;gap:10px}
.calcSectionHead>div>span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--purple-soft);color:#5b36f2;font-weight:800}
.calcSectionHead h2{margin:0;font-size:19px}
.calcSectionHead p{margin:0;color:var(--muted);font-size:13px}
.expenseTools{display:flex;gap:8px;margin-bottom:12px}
.expenseTools input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);font-size:16px}
.expenseGrid{display:grid;grid-template-columns:1fr;gap:10px}
.expense{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;padding:12px;border:1px solid #e4e6ef;border-radius:var(--radius)}
.expenseMain b,.expenseMain small{display:block}
.expenseMain small{margin-top:2px;color:var(--muted);font-size:12.5px}
.rateBox{grid-column:1/-1;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px}
.rateBox input{width:100%;min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius);font-size:16px}
.rateBox small{grid-column:1/-1;margin-top:2px;color:var(--muted);font-size:12px}
.calcBig{width:100%;padding:15px;font-size:16px}
.resultSticky{padding:18px 16px;border-radius:var(--radius);background:#111735;color:#fff;box-shadow:0 14px 36px #11173533}
.resultTop{text-align:center}
.resultTop .eyebrow{color:#bcaeff}
.bigTotal{margin:4px 0;font-size:clamp(32px,10vw,44px);font-weight:900;line-height:1.1;word-break:break-word}
.resultTop p{color:#c7cade}
.resultMetrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}
.resultMetrics>div{padding:11px;border:1px solid #ffffff18;border-radius:var(--radius);background:#ffffff0d}
.resultMetrics b,.resultMetrics span{display:block}
.resultMetrics span{margin-top:3px;color:#c4c6d7;font-size:12px}
.summary>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #ffffff14;font-size:14px}
.summaryTotal{font-size:16px;font-weight:800}
.resultNote{margin:14px 0 0;color:#bfc2d2;font-size:12px}
.matchBox{margin-top:16px}
.match{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;margin:8px 0;padding:10px;border:1px solid #ffffff14;border-radius:var(--radius);background:#ffffff0c}
.matchAvatar{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#6d49f2;font-weight:800}
.match b,.match small,.match span{display:block}
.match small{margin-top:2px;color:#c7c9d6;font-size:12px}
.match span{margin-top:2px;color:#aeb1c4;font-size:12px}
.match strong{color:#9ef0c8}
.breakdown{padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.breakdown small{color:var(--muted)}
.tableWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tableWrap table{width:100%;border-collapse:collapse}
.tableWrap th,.tableWrap td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.tableWrap th{font-size:12px;color:var(--muted)}
.tableWrap .final td{background:#fff3e8;font-size:16px;font-weight:800}

/* ---------- 10. Footer ---------- */
footer{display:flex;flex-direction:column;gap:14px;padding:26px var(--gutter);background:var(--navy-2);border-top:3px solid var(--orange);color:#d4d7e5}
footer p{margin:4px 0 0}
footer div:last-child{display:flex;flex-wrap:wrap;gap:6px 18px}
footer a{color:#fff}

/* =====================================================================
   Breakpoints (min-width = "this size and up")
   ===================================================================== */

/* Large phones / small tablets */
@media (min-width:600px){
  :root{--gutter:20px}
  body{font-size:15.5px}
  .heroSearch{grid-template-columns:minmax(0,1fr) 190px 120px}
  .heroActions{flex-direction:row}
  .heroActions .btn,.heroActions .ghost{width:auto}
  .statGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .eventGrid,.orgGrid,.serviceGrid,.catGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calcBanner{grid-template-columns:48px minmax(0,1fr) auto;align-items:center}
  .calcBanner .btn{grid-column:auto;width:auto}
  .organizerCTA{flex-direction:row;align-items:center;justify-content:space-between;padding:26px 24px}
  .organizerCTA .btn{width:auto}
  .filterBar{grid-template-columns:2fr 1fr 1fr auto}
  .grid2{grid-template-columns:1fr 1fr}
  .dashGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashHero{flex-direction:row;align-items:center;justify-content:space-between}
  .enquiry{flex-direction:row;justify-content:space-between}
  .manageRow,.adminRow{flex-direction:row;align-items:center;justify-content:space-between}
  .adminRow form{width:auto}
  .expense{grid-template-columns:auto minmax(0,1fr) 150px}
  .rateBox{grid-column:auto}
  .calcSectionHead{flex-direction:row;align-items:center;justify-content:space-between}
  .authCard{padding:30px}
  footer{flex-direction:row;justify-content:space-between}
}

/* Tablets landscape / small laptops: desktop header + two-column hero */
@media (min-width:900px){
  .siteHead{flex-wrap:nowrap;gap:16px;padding:9px 3%}
  .navToggle{display:none}
  .topSearch{order:0;flex:1;width:auto;max-width:640px}
  .topSearch input+input{display:block;flex:none;width:170px;max-width:30%;border-left:1px solid var(--line)}
  .siteHead nav,.siteHead nav.open{order:0;display:flex;flex-direction:row;align-items:center;width:auto;gap:16px;border:0;margin:0}
  .siteHead nav a{padding:0;border:0;font-size:13px;white-space:nowrap}
  .siteHead nav a.join{margin:0;padding:9px 14px}
  .marketbar{padding:9px 3%}
  .container{padding:18px 3% 56px}
  .marketHero{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:400px}
  .categorySide{flex-direction:column;align-items:stretch;gap:0;overflow:visible;padding:0 0 8px;border-bottom:0;white-space:normal}
  .sideTitle{padding:16px;border-radius:0;font-size:15px;border-bottom:1px solid #2d3850}
  .categorySide a{justify-content:space-between;gap:8px;padding:9px 15px;border:0;border-left:3px solid transparent;border-radius:0;background:transparent;font-size:13px}
  .categorySide a b{display:inline;color:#ffb36d;font-size:17px}
  .categorySide a:hover{background:var(--navy-3);border-left-color:var(--orange)}
  .categorySide .allCat{margin:8px;border:0;border-radius:3px;background:#27324a;font-weight:700}
  .heroCore{padding:40px 36px}
  .eventGrid,.orgGrid,.serviceGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .catGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plans{grid-template-columns:repeat(3,minmax(0,1fr))}
  .detailGrid,.profileGrid{grid-template-columns:2fr 1fr;gap:18px}
  .dashGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .expenseGrid{grid-template-columns:1fr 1fr}
  .calcLayout{grid-template-columns:minmax(0,1.65fr) minmax(320px,.8fr);gap:18px}
  .resultSticky{position:sticky;top:88px}
  .calcSection{padding:20px}
  .calculatorIntro{padding:40px}
}

/* Desktop: add promo column */
@media (min-width:1200px){
  .marketHero{grid-template-columns:235px minmax(0,1fr) 235px}
  .heroPromo{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:16px;background:#fff7ee;border-left:1px solid #eee}
  .promoBox{padding:17px;border:1px solid #ffd5b0;border-radius:4px;background:#fff;box-shadow:0 4px 14px #ff6a0012}
  .promoBox small{display:block;color:var(--orange-dark);font-size:11px;font-weight:800;letter-spacing:.1em}
  .promoBox strong{display:block;margin:7px 0;font-size:20px;color:var(--ink)}
  .promoBox p{color:#666;font-size:13px;line-height:1.5}
  .promoBox a{display:inline-block;padding:9px 14px;border-radius:4px;background:var(--orange);color:#fff;font-weight:800;font-size:13px}
  .promoMini{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border:1px solid #eee;border-radius:4px;background:#fff}
  .promoMini b{font-size:20px}
  .promoMini span{color:#777;font-size:12px}
  .catGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .expenseGrid{grid-template-columns:1fr 1fr}
}

/* ---------- Print ---------- */
@media print{
  .siteHead,.marketbar,footer,.calcForm,.resultSticky .matchBox,.breakdown .sectionHead button{display:none}
  .container{max-width:none;padding:0}
  .calculatorIntro{border:1px solid #ddd;background:#fff;color:#000}
  .breakdown{border:0}
  .tableWrap{overflow:visible}
}

/* =====================================================================
   PREMIUM MARKETPLACE LAYER (Alibaba-style): white header, hero slider,
   icon tiles, trust strip, steps, RFQ, footer columns
   ===================================================================== */
:root{--r:12px;--sh:0 8px 28px rgba(20,24,50,.08);--grad:linear-gradient(135deg,#ff6a00,#ff9a1f)}
body{background:#f3f4f8}
.utilBar{display:none}

/* header */
.siteHead{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(20,24,50,.07)}
.brand b{color:var(--navy);font-size:16px}
.brand span{background:var(--grad);color:#fff;border-radius:10px;box-shadow:0 4px 12px rgba(255,106,0,.35)}
.navToggle{border-color:var(--line);color:var(--navy)}
.topSearch{border-radius:999px;height:46px}
.topSearch select{display:none}
.topSearch button{margin:3px;padding:0 20px;border-radius:999px;background:var(--grad)}
.siteHead nav{border-top-color:var(--line)}
.siteHead nav a{color:var(--ink);border-bottom-color:var(--line)}
.siteHead nav a.calcLink{color:var(--orange-dark);font-weight:700}
.siteHead nav a.join{color:#fff;border-radius:999px;background:var(--grad)}
.marketbar{background:#fff}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.hero .categorySide{border:0;border-radius:var(--r)}
.slider{display:grid;position:relative;overflow:hidden;border-radius:var(--r);box-shadow:var(--sh)}
.slide{grid-area:1/1;position:relative;display:flex;flex-direction:column;justify-content:center;padding:26px 20px 46px;color:#fff;opacity:0;visibility:hidden;transition:opacity .6s}
.slider:not(.js) .slide:first-child,.slide.on{opacity:1;visibility:visible}
.s1{background:linear-gradient(125deg,#ff6a00 0%,#ff8a1f 55%,#ffb000 100%)}
.s2{background:linear-gradient(125deg,#1b1250 0%,#4d2bcf 100%)}
.s3{background:linear-gradient(125deg,#0b3d4d 0%,#0e8a8a 100%)}
.slide .art{position:absolute;right:14px;bottom:10px;font-size:96px;line-height:1;opacity:.2;pointer-events:none}
.slide>*{position:relative}.slide>.art{position:absolute}
.slide .eyebrow{color:#fff4e0;opacity:.9}
.slide h1,.slide h2{margin:8px 0 10px;color:#fff;font-size:clamp(26px,7vw,46px);line-height:1.08;letter-spacing:-.02em;max-width:640px}
.slide h1 em{font-style:normal;color:#fff3c4}
.slide p{max-width:560px;color:#fff;opacity:.93;font-size:16px}
.slide .heroSearch{max-width:620px;margin:14px 0 10px;padding:4px;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.slide .heroSearch input{border:0;background:transparent}
.slide .heroSearch button{background:var(--grad)}
.slide .trustRow span{background:#ffffff26;border-color:#ffffff55;color:#fff}
.slide .heroActions{margin-top:10px}
.slide .ghost{background:#ffffff1c;border-color:#ffffff66;color:#fff}
.btn.light{background:#fff;color:var(--orange-dark)}
.btn.light:hover{background:#fff4e8}
.dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:7px;z-index:2}
.dots button{width:9px;height:9px;padding:0;border:0;border-radius:9px;background:#ffffff80;transition:.3s}
.dots button.on{width:26px;background:#fff}
.sidePanel{display:none}

/* trust strip */
.trustStrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.trustStrip>div{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}
.trustStrip b{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#fff1e5;color:var(--orange-dark);font-size:19px}
.trustStrip span{font-weight:800;font-size:14px;line-height:1.25}
.trustStrip small{display:block;margin-top:1px;color:var(--muted);font-size:12px;font-weight:600}

/* category tiles */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border:1px solid var(--line);border-radius:var(--r);background:#fff;text-align:center;box-shadow:var(--shadow);transition:.2s}
.tile span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#fff1e5,#ffe2c7);font-size:28px;transition:.2s}
.tile b{font-size:14px}
.tile small{color:var(--muted);font-size:12px;line-height:1.35}
.tile:hover{transform:translateY(-4px);border-color:#ffb77c;box-shadow:0 14px 30px rgba(255,106,0,.16)}
.tile:hover span{background:var(--grad);transform:scale(1.08)}

/* cards polish */
.orgCard,.serviceCard,.eventCard,.planCard,.dashTile{border-radius:var(--r);transition:.2s}
.orgCard:hover,.serviceCard:hover,.eventCard:hover,.dashTile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(20,24,50,.12)}
.orgCard{border-top:3px solid var(--orange)}
.serviceCard strong{color:var(--orange-dark)}
.sectionHead h2{position:relative}
.calcBanner,.organizerCTA,.calculatorIntro,.listingHero,.detailHero,.profileHero,.dashHero{border-radius:var(--r)}

/* steps */
.steps{display:grid;grid-template-columns:1fr;gap:12px}
.steps>div{position:relative;padding:18px 16px 16px 66px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}
.steps i{position:absolute;left:16px;top:16px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--grad);color:#fff;font-style:normal;font-weight:800}
.steps b{display:block;font-size:16px}
.steps p{margin:3px 0 0;color:var(--muted);font-size:14px}

/* RFQ */
.rfq{display:flex;flex-direction:column;gap:16px;margin:28px 0;padding:24px 16px;border-radius:var(--r);background:linear-gradient(120deg,#ff6a00,#ff9a1f);color:#fff;box-shadow:0 14px 34px rgba(255,106,0,.28)}
.rfq .eyebrow{color:#fff4e0}
.rfq h2{margin:6px 0 0;font-size:clamp(22px,5vw,32px);max-width:620px}
.rfq form{display:grid;grid-template-columns:1fr;gap:8px;width:100%;max-width:560px}
.rfq input{min-height:46px;padding:0 14px;border:0;border-radius:var(--radius);font-size:16px;background:#fff;color:var(--ink)}
.rfq button{min-height:46px;border:0;border-radius:var(--radius);background:var(--navy);color:#fff;font-weight:800;font-size:15px}

/* footer */
footer{display:block;padding:34px var(--gutter) 18px}
.footGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.footGrid>div:first-child{grid-column:1/-1}
.fb{font-size:18px;color:#fff}
.footGrid p{max-width:360px;color:#aab1c5;font-size:14px}
.footGrid h4{margin:0 0 8px;color:#fff;font-size:14px}
.footGrid a{display:block;margin:0 0 7px;color:#c9cee0;font-size:14px}
.footGrid a:hover{color:var(--orange)}
.copy{margin-top:22px;padding-top:14px;border-top:1px solid #ffffff1f;color:#8f97ad;font-size:13px}

@media (min-width:600px){
  .trustStrip{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rfq{padding:30px 26px}
  .rfq form{grid-template-columns:1fr 150px auto}
  .footGrid{grid-template-columns:2fr 1fr 1fr 1fr}
  .footGrid>div:first-child{grid-column:auto}
}
@media (min-width:900px){
  .utilBar{display:flex;justify-content:space-between;padding:6px 3%;background:var(--navy);color:#cfd4e6;font-size:12px}
  .utilBar a{margin-left:18px;color:#fff}.utilBar a:hover{color:var(--orange)}
  .topSearch select{display:block;flex:none;width:150px;border:0;border-right:1px solid var(--line);padding:0 10px;background:#f7f7fa;font-size:13px;color:var(--ink);outline:0}
  .topSearch{max-width:720px}
  .siteHead nav a{color:var(--ink)}
  .siteHead nav a:hover{color:var(--orange-dark)}
  .hero{grid-template-columns:230px minmax(0,1fr);align-items:stretch}
  .hero .categorySide{padding:0 0 8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
  .hero .sideTitle{padding:15px 16px;border-radius:0;background:var(--grad);color:#fff;font-size:14px}
  .hero .categorySide a{color:var(--ink);background:transparent;border-left-color:transparent}
  .hero .categorySide a b{color:#b6bbca}
  .hero .categorySide a:hover{background:#fff4ea;color:var(--orange-dark);border-left-color:var(--orange)}
  .hero .categorySide .allCat{background:#fff1e5;color:var(--orange-dark)}
  .slide{padding:44px 40px 54px}
  .slide .art{font-size:170px;right:36px;bottom:24px;opacity:.22}
  .tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .steps>div{padding:70px 16px 16px}
}
@media (min-width:1200px){
  .hero{grid-template-columns:235px minmax(0,1fr) 250px}
  .sidePanel{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}
  .welcome{display:flex;align-items:center;gap:10px;padding-bottom:6px}
  .welcome .ava{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff1e5;font-size:22px}
  .welcome b{display:block;font-size:14px;line-height:1.25}
  .welcome small{color:var(--muted);font-size:12px}
  .rfqMini{margin-top:auto;padding:14px;border-radius:var(--radius);background:var(--grad);color:#fff}
  .rfqMini b{font-size:16px}
  .rfqMini p{margin:4px 0 10px;font-size:13px;opacity:.95}
  .rfqMini a{display:inline-block;padding:8px 13px;border-radius:999px;background:#fff;color:var(--orange-dark);font-weight:800;font-size:13px}
  .tiles{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* ===== EVENT CALCULATOR FIXES ===== */
.calculatorPage{padding-bottom:70px}
.calcSection .grid2 label{display:block;margin-bottom:14px;font-size:14px;font-weight:700}
.calcSection .grid2 input,.calcSection .grid2 select{display:block;width:100%;min-height:46px;margin-top:6px;padding:0 12px;border:1px solid #d7dae4;border-radius:var(--radius);background:#fff;font-size:16px;outline:0}
.calcSection .grid2 input:focus,.calcSection .grid2 select:focus,.rateBox input:focus,.expenseTools input:focus{border-color:var(--orange)}
.expenseTools{flex-wrap:wrap}
.expenseTools .outlineBtn{flex:none}
.expenseTools input{flex:1 1 180px}
.expense{grid-template-columns:auto minmax(0,1fr);gap:10px 12px;cursor:pointer;transition:.15s}
.expense:has(input[type=checkbox]:checked){border-color:#ffb77c;background:#fff8f1}
.expense input[type=checkbox]{width:20px;height:20px;accent-color:var(--orange)}
.expenseMain b{font-size:15px}
.rateBox{grid-column:1/-1;grid-template-columns:24px minmax(0,1fr);gap:4px 6px}
.rateBox>span{font-weight:700;color:var(--muted)}
.rateBox small{grid-column:2}
.match{color:inherit}
.match span{text-transform:capitalize}
.match:hover{border-color:#ffffff40;background:#ffffff18}
#total{scroll-margin-top:130px}
.calcBar{position:fixed;left:10px;right:10px;bottom:10px;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-radius:999px;background:var(--navy);color:#fff;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.calcBar small{opacity:.75;font-weight:600}
@media (min-width:900px){.calcBar{display:none}.calculatorPage{padding-bottom:0}}

/* ===== HEADER FIX (tablet / "desktop site" on phones) + ORGANIZER PAGES ===== */
@media (min-width:900px) and (max-width:1499px){
  .siteHead{flex-wrap:wrap;row-gap:8px}
  .topSearch{order:3;flex:1 1 100%;max-width:none;width:100%}
  .siteHead nav{margin-left:auto}
}
.listing>h2{margin:26px 0 12px}
.resultsBar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 14px}
.resultsBar a{color:var(--orange-dark);font-weight:700;font-size:14px}
.orgCard .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.orgCard .actions .btn,.orgCard .actions .outlineBtn{min-height:38px;padding:7px 14px;font-size:13px}
.orgCard .rating{color:#b45309;font-weight:800}
.orgCard .fromPrice{margin:6px 0 0;color:var(--orange-dark);font-weight:800;font-size:14px}
.profileHero{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
.profileHero .profileAvatar{flex:none;width:72px;height:72px;border-radius:16px;background:#fff;color:var(--orange-dark);font-size:32px}
.profileHero .meta{flex:1;min-width:240px}
.profileHero .verified{background:#ffffff22;color:#fff}
.profileHero .chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.profileHero .chips span,.profileHero .chips a{padding:4px 11px;border-radius:999px;background:#ffffff22;font-size:13px;font-weight:600}
.profileGrid h2{margin:0 0 12px}
.detailCard#enquiry{align-self:start;position:sticky;top:96px;scroll-margin-top:110px}
.detailCard label{display:block;margin-bottom:12px;font-size:14px;font-weight:700}
@media (max-width:899px){.detailCard#enquiry{position:static}}
