/* ===== DialBharat shared styles (all pages) ===== */
  :root{
    --saffron:#FF9933;
    --saffron-deep:#E4740F;
    --green:#0E8A3B;
    --green-deep:#0A5A2A;
    --navy:#0B1F45;
    --navy-deep:#071530;
    --gold:#D9A441;
    --gold-deep:#B4842A;
    --bg:#FBFAF7;
    --panel:#FFFFFF;
    --ink:#161B2E;
    --slate:#5C5A66;
    --line:#E9E3D9;
    --radius:16px;
    --shadow:0 10px 30px -12px rgba(32,28,25,0.18);
    --sat: 'Baloo 2', system-ui, sans-serif;
    --body: 'Inter', system-ui, sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--body);
    background:var(--bg);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer;}
  .wrap{max-width:1240px; margin:0 auto; padding:0 24px;}
  h1,h2,h3,h4{font-family:var(--sat); line-height:1.15; letter-spacing:0.1px;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:7px;
    font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:1.3px;
    color:var(--gold);
    background:linear-gradient(135deg, var(--navy), var(--navy-deep));
    padding:6px 14px 6px 12px; border-radius:999px;
    border:1px solid rgba(217,164,65,0.55);
  }
  .eyebrow::before{content:"★"; font-size:9px; color:var(--gold); display:inline-block;}
  .services-band .eyebrow, .cta-banner .eyebrow{background:rgba(255,255,255,0.12); border-color:rgba(217,164,65,0.6);}

  /* ===== Tricolor bar + Ashoka chakra motif ===== */
  .tricolor-bar{height:5px; width:100%; background:linear-gradient(90deg, var(--saffron) 0%, var(--saffron) 32%, #ffffff 32%, #ffffff 68%, var(--green) 68%, var(--green) 100%);}
  .launch-bar{
    background:var(--navy-deep); color:#EFE3C6;
    font-size:12.5px; font-weight:600; text-align:center; padding:8px 16px;
    display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
  }
  .launch-bar strong{color:var(--gold);}
  .launch-bar .dot{opacity:0.4;}
  @media (max-width:640px){ .launch-bar span:last-child{display:none;} }
  @keyframes chakra-spin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
  .chakra{
    position:absolute; border-radius:50%;
    border:1.5px solid currentColor; opacity:0.16;
    animation:chakra-spin 40s linear infinite;
  }
  .chakra::before{
    content:""; position:absolute; inset:8%; border-radius:50%;
    background:
      repeating-conic-gradient(currentColor 0deg 3deg, transparent 3deg 15deg);
    -webkit-mask:radial-gradient(circle, transparent 34%, #000 35%, #000 100%);
    mask:radial-gradient(circle, transparent 34%, #000 35%, #000 100%);
  }
  .chakra::after{content:""; position:absolute; inset:44%; border-radius:50%; border:1.5px solid currentColor;}

  @keyframes flag-sway{
    0%,100%{transform:rotate(0deg) scaleX(1);}
    50%{transform:rotate(0.6deg) scaleX(0.992);}
  }
  .hero-flag{
    position:absolute; z-index:0; opacity:0.62; pointer-events:none;
    transform-origin:50% 50%;
    animation:flag-sway 4.5s ease-in-out infinite;
    filter:drop-shadow(0 10px 22px rgba(11,31,69,0.22));
  }

  /* ===== Header ===== */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(251,250,247,0.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .header-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 24px; gap:24px;
  }
  .brand{display:flex; align-items:center; gap:10px;}
  .brand img{height:42px; width:auto;}
  nav.main-nav{
    display:flex; align-items:center; gap:2px;
    background:#fff; border:1px solid var(--line); border-radius:999px;
    padding:5px; box-shadow:0 2px 10px -6px rgba(11,31,69,0.18);
  }
  nav.main-nav a{
    display:flex; align-items:center; gap:7px;
    font-size:13.5px; font-weight:700; color:var(--ink);
    position:relative; padding:8px 15px; border-radius:999px;
    transition:background .2s ease, color .2s ease;
    white-space:nowrap;
  }
  nav.main-nav a::before{
    content:""; width:6px; height:6px; border-radius:50%; flex-shrink:0;
    transition:background .2s ease, transform .2s ease;
  }
  nav.main-nav a:nth-child(1)::before{background:var(--saffron);}
  nav.main-nav a:nth-child(2)::before{background:var(--gold);}
  nav.main-nav a:nth-child(3)::before{background:var(--green);}
  nav.main-nav a:nth-child(4)::before{background:var(--navy);}
  nav.main-nav a:nth-child(5)::before{background:var(--saffron);}
  nav.main-nav a:nth-child(6)::before{background:var(--gold);}
  nav.main-nav a:nth-child(7)::before{background:var(--green);}
  nav.main-nav a:hover{background:linear-gradient(135deg, var(--navy), var(--navy-deep)); color:#fff;}
  nav.main-nav a:hover::before{background:var(--gold); transform:scale(1.3);}
  .header-actions{display:flex; align-items:center; gap:12px;}
  .loc-pill{
    display:flex; align-items:center; gap:6px;
    font-size:13.5px; font-weight:600; color:var(--slate);
    border:1px solid var(--line); padding:8px 14px; border-radius:999px;
    background:var(--panel);
  }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-weight:700; font-size:14px; padding:11px 20px; border-radius:999px;
    border:none; transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn:active{transform:scale(0.97);}
  .btn-primary{background:var(--saffron); color:#fff; box-shadow:0 8px 18px -8px rgba(255,153,51,0.45);}
  .btn-primary:hover{background:var(--saffron-deep);}
  .btn-outline{background:transparent; color:var(--green-deep); border:1.5px solid var(--green);}
  .btn-outline:hover{background:var(--green); color:#fff;}
  .btn-dark{background:var(--ink); color:#fff;}
  .menu-toggle{display:none; flex-direction:column; gap:4px; background:none; border:none;}
  .menu-toggle span{width:22px; height:2px; background:var(--ink); border-radius:2px;}

  /* ===== Section shell ===== */
  section{padding:78px 24px;}
  .section-head{
    display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; flex-wrap:wrap;
  }
  .section-head h2{font-size:clamp(26px,3vw,36px); font-weight:800; margin-top:8px;}
  .section-head p{color:var(--slate); font-size:15px; margin-top:8px; max-width:460px;}
  .see-all{font-weight:700; font-size:14px; color:var(--saffron); display:inline-flex; align-items:center; gap:6px;}
  .see-all svg{transition:transform .18s ease;}
  .see-all:hover svg{transform:translateX(4px);}

  /* ===== Categories ===== */
  /* Duotone photo treatment — brand-tinted images used on business & product cards */
  .img-duo{position:relative; overflow:hidden; background:#EDE8DE;}
  .img-duo img{width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(1) contrast(1.08);}
  .img-duo::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(150deg, var(--saffron), var(--green));
    mix-blend-mode:color; opacity:0.62;
  }
  .img-duo.tone-green::after{background:linear-gradient(150deg, var(--green), var(--green-deep));}
  .img-duo.tone-gold::after{background:linear-gradient(150deg, #F5B72B, var(--gold));}
  .img-duo.tone-red::after{background:linear-gradient(150deg, var(--saffron), var(--saffron-deep));}
  .img-duo.soft::after{opacity:0.32;}

  .type-grid{
    display:grid; grid-template-columns:repeat(5,1fr); gap:18px;
  }
  .type-card{
    background:var(--panel); border:1px solid var(--line); border-radius:20px;
    padding:26px 22px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    position:relative; overflow:hidden; text-align:center;
  }
  .type-card:hover{transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent;}
  .type-ico{
    width:54px; height:54px; border-radius:16px;
    display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
    background:linear-gradient(160deg, var(--saffron), var(--saffron-deep));
  }
  .type-card:nth-child(2) .type-ico{background:linear-gradient(160deg, var(--green), var(--green-deep));}
  .type-card:nth-child(3) .type-ico{background:linear-gradient(160deg, var(--navy), var(--navy-deep));}
  .type-card:nth-child(4) .type-ico{background:linear-gradient(160deg, #F5B72B, var(--gold));}
  .type-card:nth-child(5) .type-ico{background:linear-gradient(160deg, var(--saffron-deep), var(--navy));}
  .type-ico svg{stroke:#fff;}
  .type-card h3{font-size:17px; font-weight:700;}
  .type-card p{margin-top:8px; color:var(--slate); font-size:13px; line-height:1.55;}
  .type-foot{
    display:flex; align-items:center; justify-content:center;
    margin-top:18px; padding-top:16px; border-top:1px dashed var(--line);
  }
  .type-foot .type-count{font-family:var(--sat); font-weight:800; font-size:17px; color:var(--ink);}
  .type-foot .type-count span{display:block; font-family:var(--body); font-weight:600; font-size:10.5px; color:var(--slate); text-transform:uppercase; letter-spacing:0.5px;}

  /* ===== Listings ===== */
  .filter-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px;}
  .listing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .biz-card{
    background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; transition:transform .2s ease, box-shadow .2s ease;
  }
  .biz-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
  .biz-media{
    height:150px; position:relative;
  }
  .plan-badge{
    position:absolute; top:12px; left:12px; border-radius:999px;
    display:flex; align-items:center; gap:5px; padding:5px 11px; font-size:11px; font-weight:700;
    box-shadow:0 4px 10px rgba(0,0,0,0.12);
  }
  .plan-badge.free{background:#fff; color:var(--slate);}
  .plan-badge.premium{background:#FFF6E0; color:#A97400;}
  .plan-badge.featured{background:linear-gradient(120deg, var(--saffron), var(--saffron-deep)); color:#fff;}
  .biz-body{padding:18px;}
  .biz-cat{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.6px; color:var(--slate);}
  .biz-name-row{display:flex; align-items:center; gap:6px; margin-top:4px;}
  .biz-name{font-family:var(--sat); font-weight:700; font-size:18px;}
  .biz-name-row svg{flex-shrink:0;}
  .biz-meta{display:flex; align-items:center; gap:6px; margin-top:8px; font-size:13px; color:var(--slate);}
  .rating{
    display:inline-flex; align-items:center; gap:4px; background:#FFF6E0; color:#A97400;
    font-weight:700; font-size:12.5px; padding:3px 8px; border-radius:8px;
  }
  .biz-loc{display:flex; align-items:center; gap:5px; margin-top:10px; font-size:12.5px; color:var(--slate);}
  .biz-foot{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:14px; padding-top:14px; border-top:1px dashed var(--line);
  }
  .call-link{font-weight:700; font-size:13px; color:var(--saffron); display:flex; align-items:center; gap:6px;}

  /* ===== FAQ accordion ===== */
  .faq-list{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px;}
  .faq-item{
    border:1px solid var(--line); border-radius:16px; background:var(--panel);
    overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease;
  }
  .faq-item.open{border-color:var(--gold); box-shadow:0 10px 24px -16px rgba(11,31,69,0.35);}
  .faq-q{
    width:100%; display:flex; align-items:center; gap:14px; text-align:left;
    padding:19px 22px; font-size:15.5px; font-weight:700; color:var(--ink);
    background:none; border:0; cursor:pointer;
  }
  .faq-q span:nth-of-type(2){flex:1;}
  .faq-dot{
    width:9px; height:9px; border-radius:50%; flex-shrink:0;
    background:var(--saffron);
  }
  .faq-item:nth-child(2) .faq-dot{background:var(--gold);}
  .faq-item:nth-child(3) .faq-dot{background:var(--green);}
  .faq-item:nth-child(4) .faq-dot{background:var(--navy);}
  .faq-item:nth-child(5) .faq-dot{background:var(--saffron);}
  .faq-caret{flex-shrink:0; color:var(--slate); transition:transform .25s ease;}
  .faq-item.open .faq-caret{transform:rotate(180deg); color:var(--gold-deep);}
  .faq-a{
    display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease;
  }
  .faq-a p{
    overflow:hidden; min-height:0; padding:0 22px; color:var(--slate); font-size:14.5px; line-height:1.65;
  }
  .faq-item.open .faq-a{grid-template-rows:1fr;}
  .faq-item.open .faq-a p{padding:0 22px 20px;}

  /* ===== Footer ===== */
  footer{background:var(--navy-deep); color:#D9D3C9; padding:64px 24px 24px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr; gap:32px;}
  .foot-brand img{height:38px;}
  footer .foot-brand p{font-size:13.5px; color:#94897A; margin-top:14px; line-height:1.6; max-width:260px;}
  footer h5{font-size:13px; text-transform:uppercase; letter-spacing:1px; color:#B7AE9F; margin-bottom:16px;}
  footer ul li{margin-bottom:10px;}
  footer ul li a{font-size:14px; color:#D9D3C9; opacity:0.85;}
  footer ul li a:hover{opacity:1; color:var(--gold);}
  .foot-bottom{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
    margin-top:48px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.08);
    font-size:12.5px; color:#8A806F;
  }
  .socials{display:flex; gap:10px;}
  .socials a{
    width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,0.15);
    display:flex; align-items:center; justify-content:center;
  }

  /* ===== Floating contact buttons ===== */
  .float-actions{
    position:fixed; right:20px; bottom:24px; z-index:80;
    display:flex; flex-direction:column; gap:12px; align-items:flex-end;
  }
  .float-btn{
    width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 22px -8px rgba(11,31,69,0.5);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .float-btn:hover{transform:translateY(-3px) scale(1.05);}
  .float-btn.whatsapp{background:#25D366;}
  .float-btn.call{background:var(--saffron);}
  .float-btn svg{stroke:#fff;}
  @media (max-width:640px){
    .float-actions{right:14px; bottom:16px; gap:10px;}
    .float-btn{width:46px; height:46px;}
  }

  /* ===== Responsive ===== */
  @media (max-width:1080px){
    .type-grid{grid-template-columns:repeat(3,1fr); gap:16px;}
    .listing-grid{grid-template-columns:repeat(2,1fr);}
    .service-grid{grid-template-columns:repeat(3,1fr);}
    .shop-cat-grid{grid-template-columns:repeat(2,1fr);}
    .steps{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
  }
  @media (max-width:760px){
    nav.main-nav, .loc-pill, .btn-outline{display:none;}
    .menu-toggle{display:flex;}
    .search-card{flex-direction:column;}
    .search-field.divider{border-left:none; border-top:1px solid var(--line);}
    .hero-stats{gap:18px 0;}
    .type-grid{grid-template-columns:1fr 1fr; gap:14px;}
    .listing-grid{grid-template-columns:1fr;}
    .service-grid{grid-template-columns:1fr 1fr;}
    .services-band{padding:44px 22px;}
    .shop-cat-grid{grid-template-columns:1fr 1fr;}
    .shop-promo{padding:28px 22px;}
    .cta-banner{flex-direction:column; text-align:center; padding:40px 26px;}
    .cta-actions{justify-content:center;}
    .foot-grid{grid-template-columns:1fr;}
  }

/* ===== Site look: colours, header, cards, sections ===== */
/* ===== New look (overrides) ===== */
:root{--soft:#F3EEE4;--shadow:0 16px 34px -16px rgba(11,31,69,.35)}
header{background:#fff;border-bottom:3px solid var(--saffron)}
nav.main-nav a.on{background:var(--navy);color:#fff}
section{padding:48px 24px}
.section-head{margin-bottom:24px}
.section-head h2{border-left:5px solid var(--saffron);padding-left:14px;margin-top:10px}
.biz-card{border-radius:18px;box-shadow:0 8px 20px -14px rgba(11,31,69,.35)}
.faq-item{border-radius:14px}
.faq-item.open{border-color:var(--saffron)}
.btn-primary{background:linear-gradient(135deg,var(--saffron),var(--saffron-deep))}
@media(max-width:640px){section{padding:36px 18px}}

/* light footer + launch bar */
.launch-bar{background:linear-gradient(90deg,#FFE3B8,#FFF6E4 50%,#DDF3E4);color:var(--navy)}
.launch-bar strong{color:var(--saffron-deep)}
