/* AstroVyra home theme: restores the visual system used by the original homepage. */
:root { --av-dark:#17082c; --av-dark-2:#142341; --av-blue:#0d315d; --av-gold:#ffad0a; --av-gold-deep:#f58a07; --av-rose:#e62c61; --av-ink:#1d1831; --av-muted:#6f7080; --av-page:#f7f8fc; --av-radius:16px; }
body { background:var(--av-page) !important; color:var(--av-ink); font-family:Roboto,Arial,sans-serif; }

/* Keep the two-tier navigation in the same dark treatment as the original UI. */
header:not(.mobile), .header:not(.mobile), nav.navbar, nav.navbar.navbar-light, .navbar.bg-dark {
  background:var(--av-dark) !important; color:#fff; border:0 !important;
}
header:not(.mobile) a, header:not(.mobile) .fa, header:not(.mobile) .bi,
nav.navbar a, nav.navbar .nav-link { color:rgba(255,255,255,.86) !important; }
nav.navbar { border-bottom:3px solid var(--av-gold) !important; padding-top:0 !important; padding-bottom:0 !important; }
nav.navbar .nav-link { font-size:13px; padding:12px 14px !important; }
nav.navbar .nav-link:hover { color:var(--av-gold) !important; }
.desktop-logo { filter:brightness(0) invert(1); max-height:46px !important; }

.av-hero { background:linear-gradient(135deg,var(--av-dark) 0%,var(--av-dark-2) 45%,var(--av-blue) 100%); min-height:365px; padding:58px 0 86px; position:relative; overflow:hidden; }
.av-hero-stars { position:absolute; inset:0; opacity:.48; background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 90px 42px,#fff,transparent),radial-gradient(2px 2px at 150px 78px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 45px 95px,#fff,transparent); background-size:200px 120px; }
.av-hero-badge { display:inline-block; background:rgba(255,173,10,.14); color:var(--av-gold); border-radius:999px; padding:6px 14px; font-size:12px; font-weight:700; }
.av-hero-title { margin:0 0 14px !important; color:#fff !important; font-size:44px !important; font-weight:800 !important; line-height:1.12; }
.av-highlight { color:var(--av-gold); }
.av-hero-subtitle { color:rgba(255,255,255,.68); max-width:430px; font-size:14px; line-height:1.65; }
.av-trust-row { display:flex; flex-wrap:wrap; gap:18px; margin-top:21px; }
.av-trust-item { color:rgba(255,255,255,.82); font-size:11px; line-height:1.45; }
.av-trust-item i { color:var(--av-gold); margin-right:3px; }
.av-btn-primary,.av-btn-outline { display:inline-block; border-radius:999px; padding:11px 22px; font-size:13px; font-weight:700; text-decoration:none; }
.av-btn-primary { background:linear-gradient(135deg,#ffbd12,var(--av-gold-deep)); color:#291204 !important; box-shadow:0 6px 18px rgba(255,173,10,.26); }
.av-btn-outline { border:1px solid rgba(255,255,255,.32); color:#fff !important; }
.av-btn-primary:hover,.av-btn-outline:hover { transform:translateY(-2px); }
.av-astro-card,.av-side-card { background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.12); box-shadow:0 14px 35px rgba(0,0,0,.16); backdrop-filter:blur(12px); }
.av-astro-card { border-radius:18px; overflow:hidden; }
.av-astro-card-header { display:flex; justify-content:space-between; padding:12px 17px; border-bottom:1px solid rgba(255,255,255,.11); color:#fff; font-size:13px; font-weight:700; }
.av-online-dot { color:#58db84; font-size:11px; }.av-online-dot i{font-size:7px;}
.av-astro-card-body { padding:15px 18px; text-align:center; }.av-astro-photo { width:155px; height:168px; display:block; margin:auto; object-fit:cover; border-radius:10px; box-shadow:0 8px 18px rgba(0,0,0,.3); }
.av-astro-card-body h5 { font-size:14px; }.av-astro-card-body .fs-13{font-size:11px!important;}.av-call-btn { width:31px; height:31px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--av-rose); color:#fff!important; }
.av-side-card { border-radius:15px; padding:19px; }.av-side-card h6{font-size:13px;}.av-side-card .fs-13{font-size:11px!important;}.av-ai-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:rgba(255,255,255,.1); font-size:23px; }.av-link{color:var(--av-gold)!important;font-size:12px;font-weight:700;}

.av-services-strip-wrap { position:relative; z-index:2; margin-top:-43px; margin-bottom:10px; }
.av-services-strip { display:flex; justify-content:space-between; gap:8px; padding:18px 18px; background:#fff; border-radius:16px; box-shadow:0 10px 24px rgba(34,28,66,.09); }
.av-service-icon-item { flex:1; min-width:70px; color:var(--av-ink)!important; text-align:center; text-decoration:none; font-size:10px; font-weight:700; }.av-service-icon-item span{display:block;margin-top:6px;}.av-icon-circle{height:36px;width:36px;display:grid;place-items:center;margin:auto;border-radius:50%;font-size:16px;}
.av-services-grid { background:var(--av-page); }.av-section-label{color:#7a7785;font-size:12px;}
.av-svc-card { display:flex!important; min-height:122px; height:100%; padding:16px; justify-content:space-between; border-radius:12px; text-decoration:none; color:var(--av-ink)!important; transition:.22s ease; }.av-svc-card:hover{transform:translateY(-4px);box-shadow:0 9px 20px rgba(34,28,66,.1);}.av-svc-content h5{font-size:13px!important;font-weight:800!important;margin:0 0 6px;color:var(--av-ink)!important;}.av-svc-content p{font-size:10px;margin:0 0 9px;line-height:1.45;color:#686574;}.av-svc-link{font-size:10px;font-weight:700;color:#5e2b8a!important;}.av-svc-icon{opacity:.28;font-size:13px;}.av-svc-orange{background:linear-gradient(135deg,#fff5df,#ffebcd)}.av-svc-green{background:linear-gradient(135deg,#ebfff0,#d8f8df)}.av-svc-purple{background:linear-gradient(135deg,#f9edff,#eee0ff)}.av-svc-pink{background:linear-gradient(135deg,#ffeff3,#ffe0e8)}

/* The content below the hero uses spaced, rounded cards on the pale canvas. */
.sec_third { padding:16px 0 25px; background:var(--av-page); }.sec_third h2{color:var(--av-ink)!important;font-size:15px!important;font-weight:800!important;}.sec_third .row.align-items-center{margin-bottom:4px!important;}.sec_third .fa-robot,.sec_third .fa-comments,.sec_third .fa-phone{color:var(--av-ink);}.view_all_new{border:1px solid var(--av-gold)!important;border-radius:999px!important;background:#fff!important;color:#ce7500!important;font-size:10px!important;padding:4px 13px!important;}
.av-vertical-card { border:0!important; border-radius:10px!important; overflow:hidden; box-shadow:0 3px 11px rgba(33,26,61,.11)!important; }.av-vertical-card .av-card-img{display:block;width:112px!important;height:112px;max-width:112px;margin:12px auto 0;object-fit:cover;border-radius:50%;}.av-vertical-card .card-body{padding:10px!important;}.av-vertical-card h6{font-size:11px;}.av-vertical-card .btn{background:var(--av-dark)!important;border:0!important;font-size:10px!important;padding:5px!important;}.av-status-badge{position:absolute;top:6px;left:6px;z-index:1;}.av-status-badge .badge{font-size:8px!important;}
.guru_main .px-2.py-3 { padding-top:8px!important; padding-bottom:8px!important; }.panchang_line_img1{opacity:.12!important;}.blg_card{border-radius:12px!important;overflow:hidden;box-shadow:0 3px 11px rgba(33,26,61,.1)!important;}.blg_card img{height:130px;object-fit:cover;}

/* Report and puja product cards */
.kundli-slider .d3-card { margin:0 5px; overflow:hidden; background:#fff; border:1px solid #ecebf2; border-radius:11px; box-shadow:0 4px 12px rgba(33,26,61,.08); transition:transform .2s,box-shadow .2s; }
.kundli-slider .d3-card:hover { transform:translateY(-4px); box-shadow:0 10px 22px rgba(33,26,61,.13); }
.kundli-slider .d3-img-wrapper { height:155px; overflow:hidden; position:relative; background:#eee; }
.kundli-slider .d3-img-wrapper img { display:block; width:100%; height:100%; object-fit:cover; }
.kundli-slider .d3-body { padding:11px 12px 12px; text-align:center; }
.kundli-slider .d3-title { min-height:18px; margin:0 0 7px; overflow:hidden; color:var(--av-ink); font-size:12px; font-weight:800; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.kundli-slider .d3-price-wrap { display:inline-flex; align-items:center; justify-content:center; min-height:24px; margin:0 0 9px; padding:3px 10px; border-radius:999px; background:#fff1f5; color:#ed356a; font-size:12px; font-weight:800; }
.kundli-slider .d3-price-wrap strike { margin-right:5px; color:#93909a; font-size:10px; font-weight:500; }
.kundli-slider .d3-btn { display:flex; align-items:center; justify-content:center; width:100%; min-height:31px; border:0; border-radius:7px; background:linear-gradient(100deg,#ea3f94,#8d50ed); color:#fff!important; box-shadow:none; font-size:11px; font-weight:800; line-height:1; text-decoration:none; cursor:pointer; }
.kundli-slider .d3-btn:hover { color:#fff!important; filter:brightness(1.06); }
.kundli-slider .d3-btn .fa { margin-right:5px; }

/* Uniform vertical rhythm after the hero/services area. The old utility classes
   add a large gap after every slider, so reset them only for homepage sections. */
.av-services-grid ~ section { margin-top:0 !important; margin-bottom:0 !important; padding-top:18px !important; padding-bottom:0 !important; }
.av-services-grid ~ section .container > .row.align-items-center.mb-3 { margin-bottom:10px !important; }
.av-services-grid ~ section .kundli-slider-new,
.av-services-grid ~ section .kundli-slider { margin-top:0 !important; margin-bottom:0 !important; }
.av-services-grid ~ section .kundli-slider-new .px-2.py-3 { padding-top:6px !important; padding-bottom:6px !important; }
.av-services-grid ~ section .panchang_line_img1 { display:none !important; }

/* Latest blog cards */
.av-services-grid ~ section .blg_card { display:flex; height:100%; border:1px solid #ecebf2 !important; border-radius:12px !important; background:#fff; box-shadow:0 4px 12px rgba(33,26,61,.1) !important; transition:transform .2s,box-shadow .2s; }
.av-services-grid ~ section .blg_card:hover { transform:translateY(-4px); box-shadow:0 10px 22px rgba(33,26,61,.14) !important; }
.av-services-grid ~ section .blg_card > img { width:100%; height:150px; object-fit:cover; }
.av-services-grid ~ section .blg_card .card-body { display:block !important; flex:none !important; min-height:76px; padding:10px 12px 12px !important; }
.av-services-grid ~ section .blg_card .strip { display:none; }
.av-services-grid ~ section .blg_card .card-title { margin:0 0 5px !important; padding:0 !important; color:var(--av-ink) !important; font-size:12px !important; font-weight:800; line-height:1.35; }
.av-services-grid ~ section .blg_card small { display:block; overflow:hidden; color:#757180; font-size:10px; line-height:1.35; }

footer,.d2-footer { background:#140727!important; } footer h4,footer h5,footer h6{color:#fff!important;} footer a{color:#d6d0df!important;} .d2-top-strip{background:linear-gradient(135deg,#ffad0a,#ff9707)!important;}
@media(max-width:991px){.av-hero{padding:38px 0 70px}.av-hero-title{font-size:34px!important}.av-side-card{margin-top:12px}.av-services-strip{overflow-x:auto;justify-content:flex-start}.av-service-icon-item{flex:0 0 75px}.av-astro-photo{height:190px}}
@media(max-width:575px){.av-hero-title{font-size:29px!important}.av-trust-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px 8px}.av-trust-item{font-size:10px;text-align:left}.av-services-grid{padding-top:2rem!important}.av-svc-card{min-height:108px}.av-astro-card{max-width:340px;margin:auto}}
@media(max-width:575px){
  /* Do not let Slick's desktop negative margin cut the first mobile card. */
  .kundli-slider-new .slick-list { margin:0!important; padding:0 5px!important; }
  .kundli-slider-new .slick-slide > div { margin:0!important; }
  .kundli-slider-new .px-2.py-3 { padding:6px 5px!important; }
  .guru_main .av-vertical-card { margin:0!important; }
  .av-vertical-card .av-card-img { width:74px!important; height:74px; max-width:74px; margin:8px auto 0; }
  .av-vertical-card .card-body { padding:8px 7px!important; }
  .av-vertical-card h6 { font-size:9px; }.av-vertical-card .fs-13 { font-size:10px!important; }
  .av-vertical-card .btn { min-height:25px; font-size:9px!important; padding:4px!important; }
  .av-status-badge { top:4px; left:4px; }.av-status-badge .badge { font-size:7px!important; }
}

/* Desktop header: the legacy header markup needs explicit dimensions so the
   square source logo cannot stretch the first row or push the menu inward. */
@media (min-width:992px) {
  header.header.desktop {
    height:88px;
    padding:0 !important;
    background:var(--av-dark) !important;
  }
  header.header.desktop > .container { height:100%; }
  header.header.desktop .row { height:100%; }
  header.header.desktop .header-list-m {
    width:100%; height:100%; margin-left:0 !important; padding:0 4px;
  }
  header.header.desktop .navbar-brand { display:flex; align-items:center; margin:0; }
  header.header.desktop .navbar-brand a { display:flex; align-items:center; gap:12px; text-decoration:none; }
  header.header.desktop .navbar-brand img {
    display:block; width:52px !important; height:52px !important;
    max-width:52px; object-fit:cover; border-radius:50%; background:#fff;
    border:2px solid rgba(255,255,255,.25); filter:none;
  }
  .av-desktop-brand { display:flex; flex-direction:column; color:#fff; line-height:1; }
  .av-desktop-brand strong { font-family:Georgia,serif; font-size:24px; letter-spacing:.5px; }
  .av-desktop-brand strong span { color:var(--av-gold); }
  .av-desktop-brand small { color:#e7dceb; font-size:10px; letter-spacing:2px; font-style:italic; margin-top:5px; }
  header.header.desktop .h-search { width:500px; }
  header.header.desktop .h-search .form-control { height:44px; border:1px solid rgba(255,255,255,.18); border-radius:999px 0 0 999px; background:rgba(255,255,255,.08); color:#fff; font-size:13px; padding-left:20px; }
  header.header.desktop .h-search .form-control::placeholder { color:rgba(255,255,255,.55); }
  header.header.desktop .h-search .input-group-text { height:44px; width:49px; justify-content:center; background:linear-gradient(135deg,#ffb20c,#ed8600); color:#fff; border:0; border-radius:0 999px 999px 0; }
  header.header.desktop .icon_list { align-items:center; gap:10px; margin:0; }
  header.header.desktop .icon_list li { margin:0; }
  header.header.desktop .icon_list .log { display:flex; align-items:center; gap:10px; }
  .av-header-login,.av-header-signup { height:38px; padding:0 18px; border-radius:999px; font-size:12px; font-weight:700; cursor:pointer; }
  .av-header-login { background:transparent; border:1px solid rgba(255,255,255,.4); color:#fff; }
  .av-header-signup { border:0; color:#fff; background:linear-gradient(135deg,#ffb20c,#ef8700); box-shadow:0 5px 14px rgba(255,159,0,.28); }

  section.header-top.desktop {
    width:100%; margin:0; padding:0 !important; background:var(--av-dark) !important;
    border-top:1px solid rgba(255,255,255,.1); border-bottom:3px solid var(--av-gold);
  }
  section.header-top.desktop > .container { width:100%; max-width:none; padding:0 28px; }
  section.header-top.desktop .row, section.header-top.desktop .row > div { width:100%; margin:0; padding:0 !important; }
  #header-nav { width:100%; min-height:45px; background:transparent !important; border:0 !important; }
  #header-nav .container-fluid { width:100%; max-width:1280px; padding:0; }
  #header-nav .navbar-collapse { display:flex !important; justify-content:center; }
  #header-nav .navbar-nav { width:100%; justify-content:space-between; }
  #header-nav .nav-item { padding:0 !important; }
  #header-nav .nav-link {
    padding:13px 10px !important; color:rgba(255,255,255,.9) !important;
    font-size:12px !important; font-weight:600; line-height:1; white-space:nowrap;
  }
  #header-nav .nav-link:hover, #header-nav .nav-link.active { color:var(--av-gold) !important; }
  #header-nav .menu-new-badge { top:-2px; font-size:7px; }

  /* Puja Remedies and Kundli menus: keep them above the hero and override
     the white header-link colour that made menu labels disappear. */
  #header-nav .dropdown { position:relative; }
  #header-nav .dropdown-menu {
    top:100%; left:0; right:auto; z-index:10020; min-width:185px;
    margin:0; padding:7px; border:1px solid #ece8f2; border-radius:0 0 10px 10px;
    background:#fff; box-shadow:0 12px 24px rgba(16,8,38,.2);
  }
  #header-nav .dropdown-menu .dropdown-item {
    display:block; padding:9px 11px; border-radius:6px; color:#26163e !important;
    font-size:12px; font-weight:600; white-space:nowrap;
  }
  #header-nav .dropdown-menu .dropdown-item:hover,
  #header-nav .dropdown-menu .dropdown-item:focus { background:#f5edff; color:#8c4900 !important; }
  #header-nav .dropdown:hover > .dropdown-menu { display:block; }
  #header-nav .dropdown:last-child .dropdown-menu { left:auto; right:0; }
}
