/* ===== SERVICE DETAILS — content + sticky enquiry sidebar (distinct from listing's grid) ===== */

  .sd-hero{
    background:var(--bg); padding:60px 0 0; position:relative;
  }
  .sd-hero-grid{display:grid; grid-template-columns:1fr auto; gap:30px; align-items:flex-end; padding-bottom:36px;}
  .sd-title-block .svc-cat-tag{margin-bottom:14px;}
  .sd-hero h1{font-size:clamp(1.8rem, 3.2vw, 2.5rem); max-width:20ch;}
  .sd-meta-row{display:flex; gap:26px; margin-top:18px; flex-wrap:wrap;}
  .sd-meta-row .m{font-size:0.86rem; color:var(--ink-soft); display:flex; align-items:center; gap:7px;}
  .sd-meta-row .m b{color:var(--navy-deep);}
  .sd-hero-price{
    background:var(--navy-deep); border-radius:14px; padding:22px 28px; color:#fff; text-align:center; min-width:200px;
  }
  .sd-hero-price .was{font-size:0.84rem; color:#94A3B8; text-decoration:line-through;}
  .sd-hero-price .now{font-family:var(--display); font-size:2rem; font-weight:700; color:var(--gold); display:block; margin:2px 0 6px;}
  .sd-hero-price .save{font-size:0.78rem; color:var(--success); font-weight:700;}

  .sd-layout{background:var(--paper); padding:60px 0 90px;}
  .sd-layout-grid{display:grid; grid-template-columns:1fr 360px; gap:50px; align-items:flex-start;}

  /* Content column */
  .sd-content h2{font-size:1.5rem; margin:40px 0 16px;}
  .sd-content h2:first-child{margin-top:0;}
  .sd-content p{color:var(--ink-soft); font-size:0.98rem; margin-bottom:14px; line-height:1.75;}

  .sd-tabs{display:flex; gap:6px; border-bottom:2px solid var(--line); margin-bottom:34px; flex-wrap:wrap;}
  .sd-tabs button{
    background:none; border:none; cursor:pointer; font-family:var(--body); font-weight:700; font-size:0.92rem;
    color:var(--ink-soft); padding:12px 18px; border-bottom:3px solid transparent; margin-bottom:-2px;
    transition:color .18s, border-color .18s;
  }
  .sd-tabs button.active{color:var(--navy); border-color:var(--gold);}
  .sd-tab-panel{display:none;}
  .sd-tab-panel.active{display:block;}

  .doc-checklist{display:flex; flex-direction:column; gap:12px; margin:18px 0 10px;}
  .doc-checklist .doc-item{
    display:flex; gap:12px; align-items:flex-start; padding:14px 16px;
    background:var(--bg); border-radius:10px;
  }
  .doc-checklist .doc-item .tick{
    width:22px; height:22px; border-radius:50%; background:var(--success); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:0.7rem; flex-shrink:0; margin-top:1px;
  }
  .doc-checklist .doc-item b{display:block; font-size:0.92rem; margin-bottom:2px;}
  .doc-checklist .doc-item span{font-size:0.82rem; color:var(--ink-soft);}

  .process-steps{margin:18px 0;}
  .pstep{display:flex; gap:18px; padding-bottom:28px; position:relative;}
  .pstep:not(:last-child)::before{
    content:''; position:absolute; left:17px; top:38px; bottom:0; width:2px; background:var(--line);
  }
  .pstep .pnum{
    width:36px; height:36px; border-radius:50%; background:var(--navy); color:var(--gold);
    display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:700; font-size:0.94rem;
    flex-shrink:0; z-index:1;
  }
  .pstep h4{font-size:1rem; margin-bottom:5px;}
  .pstep p{font-size:0.88rem; margin-bottom:0;}

  .pricing-table{width:100%; border-collapse:collapse; margin:18px 0; font-size:0.92rem;}
  .pricing-table th{
    background:var(--navy-deep); color:#fff; text-align:left; padding:13px 16px; font-weight:600;
  }
  .pricing-table th:first-child{border-radius:8px 0 0 0;}
  .pricing-table th:last-child{border-radius:0 8px 0 0;}
  .pricing-table td{padding:13px 16px; border-bottom:1px solid var(--line); color:var(--ink-soft);}
  .pricing-table tr:last-child td{border-bottom:none;}
  .pricing-table td.price{color:var(--navy); font-weight:700;}

  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; cursor:pointer;
    padding:18px 0; font-weight:600; font-size:0.96rem; color:var(--navy-deep);
  }
  .faq-q .plus{color:var(--blue); font-size:1.2rem; transition:transform .2s;}
  .faq-item.open .faq-q .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
  .faq-a p{color:var(--ink-soft); font-size:0.9rem; padding-bottom:18px;}

  /* Sidebar */
  .sd-sidebar{position:sticky; top:96px; display:flex; flex-direction:column; gap:20px;}
  .enquiry-card{
    background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:26px;
    box-shadow:0 20px 44px -20px rgba(15,23,42,0.14);
  }
  .enquiry-card h3{font-size:1.1rem; margin-bottom:6px;}
  .enquiry-card .sub{font-size:0.84rem; color:var(--ink-soft); margin-bottom:20px;}
  .form-group{margin-bottom:14px;}
  .form-group label{display:block; font-size:0.82rem; font-weight:600; color:var(--navy-deep); margin-bottom:6px;}
  .form-group input, .form-group textarea, .form-group select{
    width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:8px;
    font-family:var(--body); font-size:0.9rem; color:var(--navy-deep); background:var(--bg);
    transition:border-color .18s;
  }
  .form-group input:focus, .form-group textarea:focus, .form-group select:focus{border-color:var(--blue); outline:none;}
  .form-group textarea{resize:vertical; min-height:80px;}
  .enquiry-card .btn{width:100%; margin-top:6px;}
  .enquiry-trust{display:flex; gap:8px; align-items:center; font-size:0.78rem; color:var(--ink-soft); margin-top:14px; justify-content:center;}

  .sidebar-support{
    background:var(--navy-deep); border-radius:16px; padding:24px; color:#fff;
  }
  .sidebar-support h4{color:#fff; font-size:1rem; margin-bottom:6px;}
  .sidebar-support p{font-size:0.84rem; color:#9FB1D6; margin-bottom:16px;}
  .sidebar-support .row{display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:0.88rem;}
  .sidebar-support .row .ico{
    width:32px; height:32px; border-radius:8px; background:rgba(255,222,89,0.12); color:var(--gold);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }

  .related-services{margin-top:50px;}
  .related-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}

  @media (max-width:1024px){
    .sd-layout-grid{grid-template-columns:1fr;}
    .sd-sidebar{position:static;}
    .sd-hero-grid{grid-template-columns:1fr;}
  }
  @media (max-width:640px){
    .related-grid{grid-template-columns:1fr;}
    .pricing-table{font-size:0.82rem;}
  }