/* ============================================
   SERVICE PAGE STYLES (used by all 8 service pages)
   ============================================ */

/* INFO BLOCKS */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:20px}
.info-card{
  background:#fff;padding:24px;border-radius:var(--radius);
  border:1.5px solid var(--c-line);transition:.2s;
}
.info-card:hover{border-color:var(--c-marigold);box-shadow:var(--shadow-sm)}
.info-card .ic{
  width:50px;height:50px;border-radius:12px;
  background:linear-gradient(135deg,var(--c-cream),var(--c-marigold));
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:12px;
}
.info-card h3{font-family:'Marcellus',serif;font-size:18px;color:var(--c-charcoal);margin:0 0 8px}
.info-card p{color:var(--c-mist);font-size:14px;margin:0;line-height:1.6}
.info-card ul{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--c-mist)}
.info-card ul li{margin-bottom:4px}

/* PRICING TABLE */
.pricing-table{
  background:#fff;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);border:1px solid var(--c-line);
}
.pricing-table table{width:100%;border-collapse:collapse}
.pricing-table th{
  background:linear-gradient(90deg,var(--c-red),var(--c-saffron));color:#fff;
  text-align:left;padding:14px 16px;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:700;
}
.pricing-table td{
  padding:14px 16px;font-size:14px;border-bottom:1px solid var(--c-line);vertical-align:middle;
}
.pricing-table tr:last-child td{border-bottom:none}
.pricing-table tr:hover td{background:rgba(255,247,230,.5)}
.pricing-table .item-name{font-weight:600;color:var(--c-charcoal)}
.pricing-table .item-desc{font-size:12px;color:var(--c-mist);margin-top:2px}
.pricing-table .price-cell{
  font-family:'Marcellus',serif;font-size:18px;color:var(--c-red);font-weight:600;
}
.pricing-table .price-cell .strike{
  font-family:'Inter',sans-serif;font-size:12px;color:var(--c-mist);
  text-decoration:line-through;margin-right:6px;font-weight:400;
}
.pricing-note{
  background:var(--c-cream);padding:14px 18px;border-radius:10px;margin-top:14px;
  font-size:13px;color:var(--c-charcoal);border-left:4px solid var(--c-marigold);
}
.pricing-note strong{color:var(--c-red)}

/* GOVT RATES BANNER */
.govt-banner{
  background:linear-gradient(90deg,var(--c-cream),#fff);
  border:2px solid var(--c-marigold);border-radius:var(--radius);
  padding:18px 22px;margin-bottom:24px;display:flex;align-items:center;gap:16px;
}
.govt-banner .ic{font-size:36px;flex-shrink:0}
.govt-banner h4{font-family:'Marcellus',serif;color:var(--c-red);margin:0 0 4px;font-size:16px}
.govt-banner p{margin:0;font-size:13px;color:var(--c-mist);line-height:1.5}
.govt-banner strong{color:var(--c-charcoal)}

/* TWO COLUMN LAYOUT */
.two-col-layout{display:grid;grid-template-columns:1fr;gap:30px;align-items:start}
@media(min-width:900px){.two-col-layout{grid-template-columns:1.4fr 1fr}}

/* PROCESS STEPS */
.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px}
.process-step{
  background:#fff;padding:20px;border-radius:var(--radius);text-align:center;
  border:1px solid var(--c-line);position:relative;
}
.process-step .num{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--c-marigold),var(--c-saffron));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-family:'Marcellus',serif;font-size:18px;font-weight:700;margin:0 auto 12px;
}
.process-step h4{font-family:'Marcellus',serif;font-size:15px;color:var(--c-red);margin:0 0 6px}
.process-step p{font-size:13px;color:var(--c-mist);margin:0;line-height:1.5}

/* IMAGE GALLERY (for service pages) */
.gallery-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:20px;
}
.gallery-item{
  aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;
  position:relative;cursor:pointer;transition:.2s;
}
.gallery-item:hover{transform:scale(1.02)}
.gallery-item img{width:100%;height:100%;object-fit:cover}

/* FILTER PILLS — clean wrap design with section header */
.filter-section{
  background:#fff;border-radius:var(--radius);padding:18px 20px;
  margin-bottom:24px;border:1.5px solid var(--c-line);box-shadow:var(--shadow-sm);
}
.filter-section .filter-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px;
}
.filter-section .filter-head h3{
  font-family:'Marcellus',serif;font-size:16px;color:var(--c-charcoal);margin:0;
}
.filter-section .filter-count{font-size:12px;color:var(--c-mist);font-weight:600}
.filter-tabs{
  display:flex;gap:8px;flex-wrap:wrap;
}
.filter-tab{
  padding:8px 14px;border-radius:50px;background:var(--c-cream);border:1.5px solid transparent;
  font-size:13px;font-weight:600;color:var(--c-charcoal);cursor:pointer;
  transition:.2s;font-family:inherit;
}
.filter-tab:hover{background:#fff;border-color:var(--c-marigold);transform:translateY(-1px)}
.filter-tab.active{background:linear-gradient(90deg,var(--c-red),var(--c-saffron));color:#fff;border-color:transparent;box-shadow:0 4px 10px rgba(184,24,31,.25)}
@media(max-width:600px){
  .filter-section{padding:14px}
  .filter-tab{padding:7px 12px;font-size:12px}
}

/* PILGRIM TIPS / CHECKLIST */
.checklist{background:#fff;padding:22px;border-radius:var(--radius);border:1px solid var(--c-line)}
.checklist h3{font-family:'Marcellus',serif;color:var(--c-red);margin:0 0 14px;font-size:18px}
.checklist ul{list-style:none;padding:0;margin:0}
.checklist li{
  display:flex;gap:10px;align-items:flex-start;padding:8px 0;
  border-bottom:1px dashed var(--c-line);font-size:14px;color:var(--c-charcoal);
}
.checklist li:last-child{border-bottom:none}
.checklist li::before{content:"✓";color:var(--c-success);font-weight:700;font-size:16px;flex-shrink:0}
.checklist.no-list li::before{content:"✕";color:var(--c-red)}
.checklist ul{list-style:none;padding:0;margin:0}
.checklist ul li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--c-line);font-size:14px;color:var(--c-charcoal)}
.checklist ul li:last-child{border-bottom:none}
.checklist ul li::before{content:"✓";color:var(--c-success);font-weight:700;font-size:16px;flex-shrink:0}
.checklist.no-list ul li::before{content:"✕";color:var(--c-red)}

/* HIGHLIGHT BOX */
.highlight-box{
  background:linear-gradient(135deg,#FFF3D6,var(--c-cream));
  border-left:5px solid var(--c-marigold);border-radius:var(--radius);
  padding:20px 22px;margin:20px 0;
}
.highlight-box h4{font-family:'Marcellus',serif;color:var(--c-red);margin:0 0 8px;font-size:16px;display:flex;align-items:center;gap:8px}
.highlight-box p{margin:0;color:var(--c-charcoal);font-size:14px;line-height:1.65}

/* CALL CARD (no sticky — was causing overlap with form) */
.contact-card{
  background:linear-gradient(135deg,var(--c-charcoal),#332720);
  color:#fff;padding:24px;border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}
.contact-card h3{font-family:'Marcellus',serif;color:var(--c-marigold);font-size:20px;margin:0 0 8px}
.contact-card p{font-size:13px;opacity:.9;margin:0 0 16px;line-height:1.6}
.contact-card .contact-row{
  display:flex;align-items:center;gap:10px;padding:12px;background:rgba(255,255,255,.08);
  border-radius:10px;margin-bottom:8px;text-decoration:none;color:#fff;transition:.2s;
}
.contact-card .contact-row:hover{background:rgba(255,255,255,.15);color:#fff}
.contact-card .contact-row .ic{font-size:20px;flex-shrink:0}
.contact-card .contact-row .label{font-size:11px;opacity:.7;text-transform:uppercase;letter-spacing:1px}
.contact-card .contact-row .val{font-weight:600;font-size:14px}

/* COMPARISON TABLE */
.comparison{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--c-line);margin-top:20px}
.comparison table{width:100%;border-collapse:collapse}
.comparison th{background:var(--c-cream);text-align:left;padding:12px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--c-mist);font-weight:700}
.comparison td{padding:12px 14px;font-size:13px;border-top:1px solid var(--c-line)}
.comparison .yes{color:var(--c-success);font-weight:700}
.comparison .no{color:var(--c-red);font-weight:700}
