/* Sub-service page components (theme-aligned) */
.nb-ss-hero-img { width: 100%; overflow: hidden; border-radius: 12px; line-height: 0; }
.nb-ss-hero-img img { width: 100%; height: auto; max-height: 520px; object-fit: cover; display: block; border-radius: 12px; }
.nb-ss-tag { display: inline-block; background: rgba(255,255,0,.1); border: 1px solid rgba(255,255,0,.35); color: #FFFF00; padding: 4px 16px; border-radius: 20px; font-size: 13px; font-weight: 600; letter-spacing: .3px; margin-bottom: 18px; }
.nb-ss-tag, .nb-ss-tag:hover { text-decoration: none; }
.nb-ss-tag:hover { color: #FFFF00; background: rgba(255,255,0,.18); }
.nb-ss-h1 { font-size: clamp(26px, 3.2vw, 42px); font-weight: 700; line-height: 1.25; margin-bottom: 18px; }
.nb-ss-lead { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; color: #fff; margin-bottom: 22px; }
.nb-ss-intro p a, .nb-ss-faq a { color: #FFFF00; text-decoration: underline; }
.nb-ss-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.nb-ss-btns a { display: inline-flex; }
.nb-ss-section-title { text-align: center; margin-bottom: 44px; }
.nb-ss-card { height: 100%; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 26px 24px; transition: border-color .3s, transform .3s; }
.nb-ss-card:hover { border-color: rgba(255,255,0,.4); transform: translateY(-4px); }
.nb-ss-card .nb-ss-ico { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,0,.12); margin-bottom: 14px; }
.nb-ss-why li { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 22px; list-style: none; }
.nb-ss-why { padding-left: 0; margin: 0; }
.nb-ss-why svg { flex-shrink: 0; margin-top: 8px; }
.nb-ss-step { display: flex; gap: 16px; margin-bottom: 24px; align-items: flex-start; }
.nb-ss-step-num { width: 40px; min-width: 40px; height: 40px; background: rgba(255,255,0,.15); border: 1px solid rgba(255,255,0,.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #FFFF00; font-size: 16px; flex-shrink: 0; }
.nb-ss-faq details { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; margin-bottom: 14px; padding: 0; }
.nb-ss-faq summary { cursor: pointer; list-style: none; padding: 18px 54px 18px 22px; position: relative; font-weight: 700; color: #fff; }
.nb-ss-faq summary::-webkit-details-marker { display: none; }
.nb-ss-faq summary::after { content: '+'; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 24px; color: #FFFF00; line-height: 1; }
.nb-ss-faq details[open] summary::after { content: '\2212'; }
.nb-ss-faq details[open] { border-color: rgba(255,255,0,.3); }
.nb-ss-faq .nb-ss-ans { padding: 0 22px 20px; }
.nb-ss-rel { display: block; height: 100%; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; overflow: hidden; text-decoration: none; transition: border-color .3s, transform .3s; }
.nb-ss-rel:hover { border-color: rgba(255,255,0,.4); transform: translateY(-4px); }
.nb-ss-rel-img { display: block; line-height: 0; aspect-ratio: 16/10; overflow: hidden; }
.nb-ss-rel-img img { width: 100%; height: 100%; object-fit: cover; }
.nb-ss-rel-body { display: block; padding: 18px 20px 22px; }
.nb-ss-rel-cat { display: block; font-size: 12px; letter-spacing: .6px; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 6px; }
.nb-ss-rel-title { display: block; margin-bottom: 10px; }
.nb-ss-rel-link { display: block; }
.nb-cta-box { background: rgba(255,255,0,.05); border: 1px solid rgba(255,255,0,.2); border-radius: 12px; padding: 40px; text-align: center; }
.nb-ss-back { display: inline-block; margin-bottom: 20px; font-size: 15px; }
.nb-ss-sec { padding: 60px 0; }
/* Breadcrumb: keep readable on small screens */
.nb_bredcrumb_wrapper_container { flex-wrap: wrap; gap: 10px 24px; }
@media (max-width: 991px) {
    .nb-ss-sec { padding: 44px 0; }
    .nb_bredcrumb_left h4 { font-size: 24px !important; }
    .nb_bredcrumb_right h4 { font-size: 16px !important; text-align: left !important; }
}
@media (max-width: 576px) {
    .nb-cta-box { padding: 26px 18px; }
    .nb-ss-btns a { width: 100%; text-align: center; }
}

/* Parent service pages */
.nb-ps-why { height: 100%; display: flex; gap: 14px; align-items: flex-start; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 22px; }
.nb-ps-why svg { flex-shrink: 0; margin-top: 8px; }
.nb-ps-other { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.nb-ps-other a { display: inline-block; padding: 10px 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 30px; color: #fff; font-size: 15px; transition: border-color .3s, color .3s; }
.nb-ps-other a:hover { border-color: #FFFF00; color: #FFFF00; }
.nb-ps-hero .nb-ss-h1 { font-size: clamp(28px, 4vw, 52px); }
.nb-ss-chip { display: inline-block; padding: 12px 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 30px; color: #fff; font-size: 16px; }
.nb-home-services .nb-ss-card .nb-ss-why li { display: block; }
.nb-home-services .nb-ss-card .nb-ss-why a:hover { color: #FFFF00; }

/* Buttons used on service pages, home hero, contact (solid + outline, readable on hover) */
.nb-ss-btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 34px; border-radius: 6px; font-family: var(--nb-h-font, "Rajdhani", sans-serif); font-weight: 700; font-size: 16px; line-height: 1.2; letter-spacing: .6px; text-transform: uppercase; text-decoration: none; text-align: center; border: 1px solid #4773b8; background: #4773b8; color: #fff; transition: background .3s, color .3s, border-color .3s, transform .3s; }
.nb-ss-btn:hover, .nb-ss-btn:focus-visible { background: #fff; border-color: #fff; color: #0E0E0E; transform: translateY(-2px); }
.nb-ss-btn--ghost { background: transparent; border-color: rgba(255,255,255,.4); color: #fff; }
.nb-ss-btn--ghost:hover, .nb-ss-btn--ghost:focus-visible { background: #4773b8; border-color: #4773b8; color: #fff; }
@media (max-width: 576px) { .nb-ss-btn { width: 100%; } }
