/* ==========================================================================
   Chandu Jewellers — Responsive rules
   ========================================================================== */

@media (max-width: 1280px) {
  :root { --gutter: 24px; }
  .h1 { font-size: 50px; }
}

@media (max-width: 1100px) {
  .h1 { font-size: 46px; }
  .h2 { font-size: 34px; }
  .nav > li > a { padding: 10px 9px; font-size: 13.5px; }
  .bento { grid-template-columns: 1fr 1fr; }
  .bento .small-tile { grid-column: span 1; }
  .cat-row { grid-template-columns: repeat(3, 1fr); }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .why { grid-template-columns: 1fr; gap: 28px; }
  .why .h2 { max-width: none; }
  .rates-layout { grid-template-columns: 1fr; }
  .process { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
  .step:nth-child(2) .arrow { display: none; }
  .footer .top { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
  .footer .top > div:last-child { grid-column: 1 / -1; }
  .purity-cards { grid-template-columns: repeat(2, 1fr); }
  .services-strip { grid-template-columns: 1fr 1fr; }
  .services-strip .intro { grid-column: 1 / -1; }
  .contact-options { grid-template-columns: repeat(2, 1fr); }
  .appt-layout { grid-template-columns: 1fr 280px; }
  .service-cards { grid-template-columns: repeat(3, 1fr); }
  .why-book .grid { grid-template-columns: repeat(2, 1fr); }
  .why-book .art { width: 30%; }
}

@media (max-width: 1024px) {
  .nav, .header-cta .btn { display: none; }
  .nav-toggle { display: inline-flex; }
  .hero .hero-grid { grid-template-columns: 1fr; gap: 28px; padding-top: 36px; }
  .hero .hero-grid { min-height: 0; }
  .hero-media { height: 380px; }
  .hero-media.bleed { position: relative; top: auto; right: auto; bottom: auto; width: auto; height: 380px; }
  .hero-media.bleed .img { border-radius: 18px; }
  .hero-media .img::after { display: none; }
  .hero-media.bleed .float-card { top: 22px; right: 22px; }
  .hero-media.bleed .float-card.left { right: auto; left: 22px; }
  .hero-note { display: none; }
  .trust-strip { grid-template-columns: repeat(2, 1fr); }
  .calc-wrap { grid-template-columns: 1fr; }
  .calc-wrap .bgimg { display: none; }
  .map-layout { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .appt-layout { grid-template-columns: 1fr; }
  .appt-side { position: static; grid-template-columns: 1fr 1fr; align-items: start; }
  .appt-side .help-card { grid-column: 1 / -1; }
  .datetime { grid-template-columns: 1fr; }
  .cta-band { grid-template-columns: 1fr auto; padding-right: 44px; }
  .cta-band .art { display: none; }
  .section { padding: 60px 0; }
}

@media (max-width: 768px) {
  .topbar .container { height: auto; padding-top: 7px; padding-bottom: 7px; flex-wrap: wrap; gap: 4px 16px; font-size: 12px; }
  .topbar .right { gap: 16px; }
  .topbar .branches { display: none; }
  .header .container { height: 68px; }
  .h1 { font-size: 40px; }
  .h2 { font-size: 30px; }
  .section { padding: 52px 0; }
  .section-head.split { flex-direction: column; align-items: flex-start; gap: 14px; }
  .bento { grid-template-columns: 1fr; }
  .bento .gold-tile, .bento .silver-tile { grid-row: auto; min-height: 340px; }
  .bento .small-tile p { max-width: 70%; }
  .cat-row { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .feature-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .rate-cards { grid-template-columns: 1fr; }
  .rates-panel, .estimate { padding: 22px; }
  .testi-track { grid-template-columns: 1fr; }
  .testi-head { flex-direction: column; align-items: flex-start; }
  .cta-band { grid-template-columns: 1fr; padding: 28px 24px; gap: 18px; }
  .cta-band .h3 { font-size: 24px; }
  .footer .top { grid-template-columns: 1fr 1fr; gap: 28px; padding: 44px 0 32px; }
  .footer .top > div:last-child { grid-column: auto; }
  .footer .top .about { grid-column: 1 / -1; }
  .footer .bottom { flex-direction: column; gap: 8px; text-align: center; }
  .purity-cards { grid-template-columns: 1fr 1fr; gap: 12px; }
  .purity-card { padding: 16px; }
  .calc-wrap { padding: 24px; }
  .purity-select { grid-template-columns: repeat(2, 1fr); }
  .services-strip { grid-template-columns: 1fr 1fr; padding: 14px; gap: 12px; }
  .stores { grid-template-columns: 1fr; }
  .faq-grid { grid-template-columns: 1fr; }
  .steps-bar .s span { font-size: 11.5px; }
  .appt-main { padding: 22px; }
  .appt-step .h2 { font-size: 26px; }
  .service-cards { grid-template-columns: repeat(3, 1fr); }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .span-2, .form-grid .span-3 { grid-column: auto; }
  .confirm-grid { grid-template-columns: 1fr; }
  .appt-side { grid-template-columns: 1fr; }
  .why-book .grid { grid-template-columns: 1fr 1fr; }
  .why-book .art { display: none; }
  .contact-options { grid-template-columns: 1fr 1fr; }
  .contact-form .form-grid { grid-template-columns: 1fr; }
  .direct { padding: 26px; }
  .map { min-height: 340px; }
  .process { grid-template-columns: 1fr; }
  .step .arrow { display: none; }
  .step { padding-right: 0; }
}

@media (max-width: 560px) {
  :root { --gutter: 16px; }
  .h1 { font-size: 34px; }
  .h2 { font-size: 27px; }
  .lead { font-size: 15px; }
  .hero .hero-grid { padding-top: 28px; }
  .hero-media, .hero-media.bleed { height: 300px; }
  .hero .actions .btn { flex: 1 1 auto; }
  .float-card, .hero-media.bleed .float-card { top: 12px; right: 12px; padding: 12px 14px; min-width: 160px; }
  .hero-media.bleed .float-card.left { left: 12px; right: auto; }
  .float-card .value { font-size: 22px; }
  .trust-strip { grid-template-columns: 1fr 1fr; gap: 14px; }
  .trust-strip .item p { font-size: 12px; }
  .trust-strip .icon-ring { width: 34px; height: 34px; }
  .cat-row { grid-template-columns: repeat(2, 1fr); }
  .bento .tile { padding: 20px; min-height: 280px; }
  .bento .tile .title { font-size: 26px; }
  .bento .small-tile p { max-width: none; }
  .feature-grid { grid-template-columns: 1fr; }
  .estimate .weight-row { grid-template-columns: 1fr; }
  .estimate .weight-row .segment { display: flex; }
  .estimate .weight-row .segment button { flex: 1; }
  .est-result { flex-direction: column; align-items: flex-start; }
  .est-result .btn { width: 100%; }
  .segment.full button { padding: 9px 6px; font-size: 12px; }
  .purity-cards { grid-template-columns: 1fr; }
  .calc-form .weight-row { grid-template-columns: 1fr; }
  .calc-form .weight-row .segment { display: flex; }
  .calc-form .weight-row .segment button { flex: 1; }
  .calc-result .big { font-size: 38px; }
  .services-strip { grid-template-columns: 1fr; }
  .service-cards { grid-template-columns: repeat(2, 1fr); }
  .steps-bar::before, .steps-bar .prog { display: none; }
  .steps-bar { grid-template-columns: repeat(2, 1fr); gap: 14px 8px; }
  .slots { grid-template-columns: repeat(2, 1fr); }
  .calendar { padding: 12px; }
  .contact-options { grid-template-columns: 1fr; }
  .why-book .grid { grid-template-columns: 1fr; }
  .office .actions { flex-direction: column; }
  .office .actions .btn { width: 100%; }
  .footer .top { grid-template-columns: 1fr; }
  .modal .box { padding: 28px 20px; }
  .help-card img { width: 45%; }
  .help-card p { max-width: 65%; }
  .direct li .v { font-size: 16px; }
  .cta-band .btn { width: 100%; }
}

@media (max-width: 400px) {
  .h1 { font-size: 31px; }
  .topbar .right { display: none; }
  .service-cards { grid-template-columns: 1fr 1fr; gap: 8px; }
  .service-card .img { width: 56px; height: 56px; }
  .slots button { font-size: 12px; }
  .trust-strip { grid-template-columns: 1fr; }
}

@media (max-width: 1024px) { .hero-trust { grid-template-columns: repeat(4, 1fr); gap: 16px; } }
@media (max-width: 560px) { .hero-trust { grid-template-columns: 1fr 1fr; gap: 14px; } }
