/* Compact layout overrides: tighter section/card padding, desktop and mobile. Loaded last. */

/* ---------- Desktop / tablet ---------- */
.home-modern .section-padding,
.home-modern.hosting-wrap .feature-section { padding: 44px 0; }
.home-modern .service-home { padding-top: 44px; }
.home-modern .intro-section { padding-top: 50px; }
.home-modern .service-blocks,
.home-modern .process-row,
.home-modern .why-row,
.home-modern .hp-row { margin-top: 22px; }
.home-modern .service-blocks .row > [class*="col-"],
.home-modern .hp-row > [class*="col-"] { margin-bottom: 18px; }
.home-modern .service-block { padding: 20px 20px 16px; }
.home-modern .service-block .service-icon { margin-bottom: 10px; }
.home-modern .process-step { padding: 20px 18px 14px; margin-bottom: 18px; }
.home-modern .why-card { padding: 20px 18px; margin-bottom: 18px; }
.home-modern .hp-card { padding: 20px 18px 18px; }
.home-modern .section-title { margin-bottom: 4px; }
.home-modern .partner-section { margin-top: 28px; padding-top: 20px; }
.home-modern .counter-section { padding: 30px 0; }
.home-modern .cta-banner { padding: 36px 0; }
.home-modern .cta-banner h2 { font-size: 30px; }
.home-modern .cta-banner p { margin-bottom: 16px; }
.home-modern .intro-text { margin: 10px 0; }
.home-modern .check-list { margin-bottom: 16px; }
.home-modern .check-list li { padding: 4px 0; }

.site-page .block { padding: 32px 0; }
.site-page .block .section-head { margin-bottom: 18px; }
.site-page .block h2 { margin-bottom: 10px; }
.page-hero { padding: 36px 0 30px; }
.page-hero h1 { margin: 6px 0 10px; }
.page-hero .lead { margin-bottom: 14px; }
.feature-grid { margin: 0 -8px; }
.feature-grid > div { padding: 0 8px 16px; }
.feature-item { padding: 16px 16px; }
.side-box, .info-card { padding: 18px; margin-bottom: 16px; }
.side-box li { padding: 5px 0; }
.stat { padding: 14px; }
.faq-list details { margin-bottom: 8px; }
.faq-list summary { padding: 13px 46px 13px 16px; }
.faq-list details p { padding: 0 16px 14px; }
.faq-group-title { margin: 20px 0 10px; }
.related-card { padding: 16px; margin-bottom: 14px; }
.legal h2 { margin-top: 20px; }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .container { padding-left: 12px; padding-right: 12px; }
  .row { margin-left: -8px; margin-right: -8px; }
  .row > [class*="col-"] { padding-left: 8px; padding-right: 8px; }

  .home-modern .section-padding,
  .home-modern.hosting-wrap .feature-section { padding: 28px 0; }
  .home-modern .service-home { padding-top: 28px; }
  .home-modern .intro-section { padding-top: 32px; }
  .home-modern .service-blocks,
  .home-modern .process-row,
  .home-modern .why-row,
  .home-modern .hp-row { margin-top: 14px; }
  .home-modern .service-blocks .row > [class*="col-"],
  .home-modern .hp-row > [class*="col-"] { margin-bottom: 12px; }
  .home-modern .service-block { padding: 14px 14px 12px; }
  .home-modern .service-block .service-icon { width: 44px; height: 44px; margin-bottom: 8px; }
  .home-modern .process-step { padding: 14px 14px 10px; margin-bottom: 12px; }
  .home-modern .why-card { padding: 14px; margin-bottom: 12px; }
  .home-modern .hp-card { padding: 16px 14px 14px; }
  .home-modern .section-title { font-size: 24px; }
  .home-modern .intro-visual { margin-top: 20px; }
  .home-modern .partner-section { margin-top: 18px; padding-top: 14px; }
  .home-modern .testimonial-content { padding: 0 8px 14px; margin-top: 8px; }
  .home-modern .counter-section { padding: 22px 0; }
  .home-modern .cta-banner { padding: 28px 0; }
  .home-modern .cta-banner h2 { font-size: 24px; }
  .home-modern .cta-banner p { font-size: 15px; margin-bottom: 12px; }
  .home-modern .trust-item { padding: 10px 14px; }
  .home-modern .hero-slide .carousel-caption { padding: 0 12px; }

  .site-page .block { padding: 22px 0; }
  .site-page .block h2 { font-size: 21px; }
  .site-page .block .section-head { margin-bottom: 12px; }
  .page-hero { padding: 26px 0 22px; }
  .page-hero h1 { font-size: 24px; }
  .page-hero .lead { font-size: 15px; margin-bottom: 10px; }
  .feature-grid > div { padding-bottom: 10px; }
  .feature-item, .side-box, .info-card { padding: 14px; margin-bottom: 12px; }
  .faq-list summary { padding: 11px 40px 11px 14px; font-size: 15px; }
  .faq-list summary::after { right: 14px; }
  .faq-list details p { padding: 0 14px 12px; }
  .map-wrap iframe { height: 260px; }
}

/* ---------- Inner pages: extra-compact main content (v2) ---------- */
.site-page { font-size: 14px; }
.site-page p { line-height: 1.6; margin-bottom: 8px; }
.page-hero { padding: 24px 0 20px; }
.page-hero::after { width: 260px; height: 260px; right: -90px; top: -110px; }
.page-hero .breadcrumbs { font-size: 12px; }
.page-hero h1 { font-size: 28px; margin: 4px 0 6px; line-height: 1.25; }
.page-hero .lead { font-size: 15px; margin-bottom: 10px; }
.page-hero .btn { padding: 8px 20px; font-size: 13px; margin: 0 8px 4px 0; }

.site-page .block { padding: 24px 0; }
.site-page .block h2 { font-size: 22px; margin-bottom: 8px; }
.site-page .block .section-head { margin-bottom: 14px; }
.site-page .eyebrow { margin-bottom: 4px; }
.site-page .media-img { border-radius: 10px; }

.feature-grid { margin: 0 -6px; }
.feature-grid > div { padding: 0 6px 12px; }
.feature-item { padding: 12px 14px; border-radius: 10px; }
.feature-item h3 { font-size: 15px; margin-bottom: 4px; }
.feature-item p { font-size: 13px; line-height: 1.5; }

.tag-list li { margin: 0 6px 6px 0; padding: 5px 12px; font-size: 13px; }
.site-page .check-list { margin-bottom: 10px; }
.site-page .check-list li { padding: 2px 0; }

.side-box, .info-card { padding: 14px 16px; margin-bottom: 12px; border-radius: 10px; }
.side-box h3, .info-card h3 { font-size: 16px; margin-bottom: 8px; }
.side-box li { padding: 4px 0; font-size: 13px; }
.side-box.brand .btn { padding: 7px 18px; font-size: 13px; }
.info-card i.big { width: 40px; height: 40px; line-height: 40px; font-size: 18px; margin-bottom: 8px; border-radius: 10px; }
.info-card p { font-size: 13px; }
.stat { padding: 10px; border-radius: 10px; }
.stat strong { font-size: 22px; }
.stat-row > div { padding: 6px; }

.faq-list details { margin-bottom: 6px; border-radius: 8px; }
.faq-list summary { padding: 10px 40px 10px 14px; font-size: 14px; }
.faq-list summary::after { right: 14px; font-size: 20px; }
.faq-list details p { padding: 0 14px 10px; font-size: 13px; }
.faq-group-title { font-size: 17px; margin: 14px 0 8px; }

.contact-form .form-control { height: 38px; margin-bottom: 8px; font-size: 14px; border-radius: 8px; }
.contact-form textarea.form-control { min-height: 100px; }
.contact-form label { margin-bottom: 3px; }
.alert-ok, .alert-err { padding: 9px 14px; margin-bottom: 12px; font-size: 13px; }
.map-wrap iframe { height: 240px; border-radius: 10px; }

.legal h2 { font-size: 18px; margin-top: 14px; }
.legal ul { line-height: 1.6; }

.related-card { padding: 12px 14px; margin-bottom: 10px; border-radius: 10px; }
.related-card img { height: 28px; margin-bottom: 6px; }
.related-card h3 { font-size: 14px; margin-bottom: 3px; }

.site-page .cta-banner { padding: 24px 0; }
.site-page .cta-banner h2 { font-size: 24px; }
.site-page .cta-banner p { font-size: 15px; margin-bottom: 12px; }
.site-page .cta-banner .btn { padding: 9px 22px; font-size: 14px; }

@media (min-width: 992px) { .feature-grid > div { width: 25%; } }
@media (max-width: 767px) {
  .site-page .block { padding: 18px 0; }
  .site-page .block h2 { font-size: 19px; }
  .page-hero { padding: 18px 0 16px; }
  .page-hero h1 { font-size: 21px; }
  .page-hero .lead { font-size: 14px; }
  .feature-item, .side-box, .info-card { padding: 11px 12px; margin-bottom: 8px; }
  .map-wrap iframe { height: 200px; }
}

/* ---------- Hosting plans: mobile fix (flex row needs explicit full-width cols) ---------- */
@media (max-width: 767px) {
  .home-modern .hp-row { display: block; margin-top: 10px; }
  .home-modern .hp-row > [class*="col-"] { display: block; width: 100%; float: none; margin-bottom: 14px; }
  .home-modern .hp-card, .home-modern .hp-card.featured { transform: none; padding: 14px 14px 12px; border-radius: 12px; }
  .home-modern .hp-card:hover { transform: none; }
  .home-modern .hp-card h3 { font-size: 17px; }
  .home-modern .hp-tag { margin: 2px 0 8px; font-size: 12px; }
  .home-modern .hp-price { font-size: 30px; padding-bottom: 10px; }
  .home-modern .hp-card ul { margin: 8px 0 12px; }
  .home-modern .hp-card li { padding: 2px 0; font-size: 13px; }
  .home-modern .hp-btn { padding: 8px; font-size: 14px; }
  .home-modern .hp-badge { top: -10px; font-size: 10px; padding: 3px 10px; }
  .home-modern .hp-card.featured { margin-top: 6px; }

  /* tighter everything on small screens */
  .container { padding-left: 8px; padding-right: 8px; }
  .row { margin-left: -4px; margin-right: -4px; }
  .row > [class*="col-"] { padding-left: 4px; padding-right: 4px; }
  .site-page .block { padding: 12px 0; }
  .site-page .block h2 { font-size: 18px; margin-bottom: 6px; }
  .site-page .block .section-head { margin-bottom: 8px; }
  .site-page p { margin-bottom: 6px; }
  .page-hero { padding: 12px 0 10px; }
  .page-hero h1 { font-size: 20px; }
  .feature-grid { margin: 0 -4px; }
  .feature-grid > div { padding: 0 4px 6px; }
  .feature-item, .side-box, .info-card { padding: 9px 10px; margin-bottom: 6px; }
  .tag-list li { margin: 0 4px 4px 0; padding: 4px 10px; }
  .related-card { padding: 9px 10px; margin-bottom: 6px; }
  .faq-list summary { padding: 8px 34px 8px 10px; }
  .faq-list details p { padding: 0 10px 8px; }
  .home-modern .section-padding,
  .home-modern.hosting-wrap .feature-section { padding: 18px 0; }
  .home-modern .cta-banner, .site-page .cta-banner { padding: 16px 0; }
  .home-modern .counter-section { padding: 14px 0; }
}

/* ---------- Extra compact (v4) ---------- */
@media (max-width: 991px) {
  .site-page .block { padding: 16px 0; }
  .home-modern .section-padding { padding: 22px 0; }
  .feature-item, .side-box, .info-card { padding: 10px 12px; }
}
@media (max-width: 767px) {
  body { font-size: 13px; line-height: 1.45; }
  .site-page { font-size: 13px; }
  .site-page p { line-height: 1.45; }
  .site-page .block { padding: 8px 0; }
  .site-page .block h2, .home-modern .section-title { font-size: 17px; margin-bottom: 4px; }
  .site-page .block .section-head { margin-bottom: 6px; }
  .site-page .eyebrow { font-size: 10px; margin-bottom: 2px; }
  .page-hero { padding: 8px 0 8px; }
  .page-hero h1 { font-size: 18px; margin: 2px 0 4px; }
  .page-hero .lead { font-size: 13px; margin-bottom: 6px; }
  .page-hero .btn { padding: 6px 14px; font-size: 12px; }
  .page-hero .breadcrumbs { font-size: 11px; }
  .feature-item h3 { font-size: 14px; margin-bottom: 2px; }
  .feature-item p { font-size: 12px; line-height: 1.4; }
  .feature-item, .side-box, .info-card { padding: 8px 10px; margin-bottom: 4px; }
  .feature-grid > div { padding-bottom: 4px; }
  .site-page .check-list li { padding: 1px 0; }
  .site-page .media-img { margin-top: 6px; }
  .faq-list details { margin-bottom: 4px; }
  .faq-list summary { padding: 7px 30px 7px 10px; font-size: 13px; }
  .faq-list details p { font-size: 12px; }
  .related-card { padding: 8px 10px; margin-bottom: 4px; }
  .related-card img { height: 22px; margin-bottom: 3px; }
  .home-modern .section-padding,
  .home-modern.hosting-wrap .feature-section { padding: 12px 0; }
  .home-modern .service-block, .home-modern .process-step, .home-modern .why-card { padding: 9px 10px; margin-bottom: 6px; }
  .home-modern .hp-card, .home-modern .hp-card.featured { padding: 10px 12px 10px; }
  .home-modern .hp-row > [class*="col-"] { margin-bottom: 8px; }
  .home-modern .hp-price { font-size: 26px; padding-bottom: 6px; }
  .home-modern .hp-card ul { margin: 6px 0 8px; }
  .home-modern .hp-card li { padding: 1px 0; font-size: 12px; }
  .home-modern .hero-slide .carousel-inner, .home-modern .hero-slide .item,
  .home-modern .hero-slide .item img { min-height: 260px; height: 260px; }
  .home-modern .cta-banner, .site-page .cta-banner { padding: 12px 0; }
  .home-modern .cta-banner h2, .site-page .cta-banner h2 { font-size: 18px; }
  .home-modern .cta-banner p, .site-page .cta-banner p { font-size: 13px; margin-bottom: 8px; }
  .top-bar .overlay-bg { padding: 3px 0; }
  .navbar-default { min-height: 0; margin-bottom: 0; }
  .site-logo img { max-height: 34px; }
  footer, .footer { padding-top: 14px; padding-bottom: 6px; }
}
