/* =====================================================
   HAWTHORNE PUBLISHERS — responsive.css
   Global responsive overrides — loaded last on every page
===================================================== */

/* ── GLOBAL FIXES (all viewports) ── */
.hp-books-btns {
  flex-wrap: wrap;
}

/* ── TABLET (≤ 991px) ── */
@media (max-width: 991px) {

  /* Navbar */
  .hp-nav .d-flex.align-items-center.gap-3 {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem !important;
    padding: 0.6rem 0 0.4rem;
  }
  .hp-nav-phone {
    font-size: 13px;
    padding: 8px 10px;
  }
  .hp-nav-call {
    font-size: 13px;
    padding: 8px 10px;
  }

  /* Section titles */
  .hp-section-title {
    font-size: 36px;
  }
  .hp-section-title.pb-5 {
    padding-bottom: 1.5rem !important;
  }
  .hp-section-title.mb-3 {
    margin-bottom: 0.75rem !important;
  }
  .hp-section-sub {
    font-size: 17px;
    max-width: 90%;
  }

  /* Hero */
  .hp-hero {
    min-height: auto;
    padding: 2.5rem 0;
  }
  .hp-hero-h1 {
    font-size: 38px;
  }
  .hp-hero-sub {
    font-size: 18px;
    max-width: 100%;
  }
  .hp-hero-checks li {
    font-size: 16px;
  }
  .hp-hero-btn {
    font-size: 18px;
    padding: 12px 28px;
  }
  .hp-hero-trust {
    font-size: 14px;
  }

  .hp-hero-text {
    padding-left: 0;
    padding: 20px 0 !important;
  }

  /* Hero form */
  .hp-form-title {
    font-size: 28px;
    padding: 22px 10px;
  }
  .hp-form-sub {
    font-size: 18px;
  }
  .hp-form-submit {
    font-size: 22px;
    padding: 16px 30px;
  }

  /* Service hero override */
  .service-hero .hp-hero-h1 {
    font-size: 48px;
    padding-right: 0;
  }
  .service-hero .hp-hero-text {
    padding-right: 0;
  }

  /* Benefits */
  .hp-benefit-name {
    font-size: 22px;
  }
  .hp-benefit-text {
    font-size: 15px;
  }

  /* Services cards */
  .hp-svc-title {
    font-size: 22px;
  }
  .hp-svc-text {
    font-size: 15px;
  }
  .hp-svc-btn {
    font-size: 18px;
  }

  /* Publish CTA */
  .hp-pub-cta-h {
    font-size: 36px;
  }
  .hp-pub-cta-text {
    font-size: 16px;
  }
  .hp-pub-btn-g,
  .hp-pub-btn-o {
    font-size: 16px;
    padding: 12px 20px;
  }

  /* Milestone */
  .hp-milestone-h {
    font-size: 52px;
    line-height: 1.15;
  }
  .hp-milestone-p {
    font-size: 17px;
    line-height: 1.7;
  }

  /* Books grid */
  .hp-books-btn-g,
  .hp-books-btn-o {
    font-size: 16px;
    padding: 12px 20px;
  }

  /* Idea CTA */
  .hp-idea-h {
    font-size: 44px;
    line-height: 1.2;
  }
  .hp-idea-eyebrow {
    font-size: 16px;
  }
  .hp-idea-btn-s,
  .hp-idea-btn-c {
    font-size: 16px;
    padding: 12px 20px;
  }

  /* FAQ */
  .hp-faq-h {
    font-size: 48px;
  }
  .hp-faq .accordion-button {
    font-size: 24px;
  }
  .hp-faq .accordion-body {
    font-size: 16px;
  }
  .hp-faq .faq-list li {
    font-size: 16px;
    line-height: 1.6;
  }
  .hp-faq .faq-link {
    font-size: 16px;
  }

  /* Team */
  .hp-team-avatar {
    width: 160px;
    height: 160px;
  }
  .hp-team-name {
    font-size: 24px;
  }

  /* Services page */
  .svc-hero-h1 {
    font-size: 34px;
    line-height: 1.3;
  }
  .svc-studios-h {
    font-size: 36px;
  }
  .svc-studios-sub {
    font-size: 17px;
  }
  .svc-featured-h {
    font-size: 32px;
    line-height: 1.2;
  }

  /* Contact page */
  .con-hero-h {
    font-size: 34px;
    line-height: 1.3;
  }
  .con-reach-h {
    font-size: 38px;
  }
  .con-form-h {
    font-size: 38px;
    line-height: 1.2;
  }
  .con-info-label {
    font-size: 22px;
  }
  .con-info-value,
  .con-info-value a {
    font-size: 16px;
  }
  .con-reach-p {
    font-size: 16px;
  }

  /* Packages hero */
  .pkg-hero-h {
    font-size: 34px;
    line-height: 1.3;
  }

  /* Ebook hero */
  .ebook-hero-h {
    font-size: 48px;
  }
}

/* ── MOBILE (≤ 767px) ── */
@media (max-width: 767px) {

  /* Navbar — stack CTA vertically below nav */
  .hp-nav .d-flex.align-items-center.gap-3 {
    width: 100%;
    justify-content: flex-start;
  }
  .hp-nav-phone {
    font-size: 12px;
    padding: 6px 8px;
  }
  .hp-nav-call {
    font-size: 12px;
    padding: 6px 8px;
  }

  /* Section titles */
  .hp-section-title {
    font-size: 28px;
  }
  .hp-section-title.pb-5 {
    padding-bottom: 1rem !important;
  }
  .hp-section-title.mb-3 {
    margin-bottom: 0.5rem !important;
  }
  .hp-section-sub {
    font-size: 15px;
    max-width: 100%;
  }

  .hp-s3__book-img {
    margin-bottom: 25px;
  }

  .pkg-cards-wrapper .pkg-card-wrap:nth-child(2) {
    margin-top: 30px;
  }

  .hp-s1__col {
    padding: 20px 20px;
  }

  .hp-s1__col-title {
    font-size: 24px;
    margin-bottom: 15px;
    line-height: 1.1;
  }

  .service-hero .hp-form-title {
    height: 60px;
    padding: 10px;
    font-size: 24px;
  }

  .service-hero .hp-form-body .hp-form-sub {
    font-size: 16px;
  }

  .service-hero .hp-form-body .hp-form-footer .hp-form-submit {
    height: 45px;
    padding: 15px 30px;
    font-size: 20px;
  }

  .service-hero .hp-form-body .hp-form-footer {
    gap: 12px;
    margin-top: 5px;
  }

  .service-hero .hp-form-body .hp-form-footer .hp-form-notes {
    font-size: 10px;
    margin-top: -5px;
  }
  
  .service-hero .hp-form-body .hp-form-footer .hp-form-check .hp-form-check-label {
    font-size: 10px;
  }

  .service-hero .hp-form-body {
    padding: 15px 10px;
  }

  .hp-s1__item {
    font-size: 14px;
  }

  .hp-s1__icon {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    margin-top: 5px;
  }

  .hp-s3__item {
    gap: 9px;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 7px;
  }

  .hp-s3__check {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    margin-top: 2px;
  }

  .ebook-shortform {
    padding: 40px 0;
  }

  .ebook-shortform-content {
    gap: 10px;
    margin-top: 30px;
  }

  .ebook-shortform-h {
    font-size: 24px;
  }

  .ebook-shortform-eyebrow {
    font-size: 14px;
    line-height: 1;
    margin: 0 0 4px 0 !important;
  }

  .ebook-shortform-p {
    font-size: 14px;
    line-height: 1.4;
  }

  .ebook-shortform-checks li {
    font-size: 14px;
    line-height: 1.3;
    gap: 12px;
  }

  .ebook-shortform-checks li svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 2px;
  }

  /* Hero */
  .hp-hero {
    padding: 2rem 0 1.5rem;
  }
  .hp-hero-h1 {
    font-size: 30px;
    line-height: 1.25;
  }
  .hp-hero-sub {
    font-size: 16px;
  }
  .hp-hero-checks li {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .hp-hero-btn {
    font-size: 16px;
    padding: 12px 22px;
    display: block;
    text-align: center;
  }
  .hp-hero-trust {
    font-size: 13px;
    gap: 0px 5px;
  }

  .hp-testi-row::after {
    height: 15%;
  }

  .blog-page-section {
    padding: 30px 0 50px !important;
  }

  .hp-insight-title {
    font-size: 20px;
    line-height: 1.2;
  }

  /* Hero form */
  .hp-form-title {
    font-size: 22px;
    padding: 18px 10px;
  }
  .hp-form-sub {
    font-size: 16px;
  }
  .hp-form-submit {
    font-size: 18px;
    padding: 14px 20px;
  }

  /* Service hero */
  .service-hero .hp-hero-h1 {
    font-size: 32px;
    padding-right: 0;
  }
  .service-hero .hp-hero-sub {
    font-size: 16px;
  }
  .service-hero .hp-hero-checks.v2 li {
    width: 100%;
  }

  /* Benefits */
  .hp-benefit-name {
    font-size: 20px;
  }
  .hp-benefit-text {
    font-size: 14px;
  }

  /* Services cards (homepage) */
  .hp-svc-title {
    font-size: 20px;
  }
  .hp-svc-btn {
    font-size: 16px;
  }

  /* Publish CTA banner */
  .hp-pub-cta-h {
    font-size: 28px;
    margin-bottom: 10px;
  }
  .hp-pub-cta-text {
    font-size: 15px;
  }
  .hp-pub-btn-g,
  .hp-pub-btn-o {
    display: block;
    text-align: center;
    font-size: 15px;
    padding: 12px 16px;
    margin-bottom: 0.5rem;
  }
  .hp-pub-phone {
    font-size: 15px;
  }

  /* Milestone */
  .hp-milestone-h {
    font-size: 36px;
    line-height: 1.2;
  }
  .hp-milestone-p {
    font-size: 16px;
    line-height: 1.65;
  }

  /* Books section */
  .hp-books-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .hp-books-btn-g,
  .hp-books-btn-o {
    font-size: 14px;
    padding: 10px 14px;
  }
  .hp-books-expert {
    font-size: 14px;
  }

  /* Idea CTA */
  .hp-idea {
    padding: 50px 0;
  }
  .hp-idea-h {
    font-size: 32px;
    line-height: 1.25;
    margin-bottom: 20px;
  }
  .hp-idea-eyebrow {
    font-size: 14px;
    line-height: 1.5;
  }
  .hp-idea-btn-s,
  .hp-idea-btn-c {
    display: block;
    text-align: center;
    font-size: 15px;
    padding: 12px 16px;
    margin-bottom: 0.5rem;
  }
  .hp-idea-phone {
    font-size: 15px;
    margin-top: 15px;
  }

  /* FAQ */
  .hp-faq-h {
    font-size: 34px;
    line-height: 1.15;
  }
  .hp-faq .accordion-button {
    font-size: 18px;
  }
  .hp-faq .accordion-body {
    font-size: 15px;
  }
  .hp-faq .faq-list li {
    font-size: 15px;
    line-height: 1.55;
  }
  .hp-faq .faq-link {
    font-size: 15px;
  }

  /* Team */
  .hp-team-avatar {
    width: 130px;
    height: 130px;
    margin-bottom: 20px;
  }
  .hp-team-name {
    font-size: 22px;
  }

  /* Footer */
  .hp-footer-bottom {
    flex-direction: column;
    text-align: center;
  }
  .hp-footer-btm-links a {
    margin-left: 0.5rem;
  }
  .socialLink {
    padding-top: 30px;
  }

  /* Services page */
  .svc-hero-h1 {
    font-size: 28px;
    line-height: 1.25;
  }
  .svc-studios-h {
    font-size: 28px;
  }
  .svc-studios-sub {
    font-size: 15px;
  }
  .svc-featured-h {
    font-size: 26px;
    line-height: 1.2;
  }
  .svc-featured-sub {
    font-size: 15px;
  }

  /* Contact page */
  .con-hero-h {
    font-size: 28px;
    line-height: 1.25;
  }
  .con-hero-stats {
    gap: 1.5rem;
  }
  .con-reach-h {
    font-size: 28px;
  }
  .con-reach-p {
    font-size: 15px;
    line-height: 1.6;
  }
  .con-form-h {
    font-size: 28px;
    line-height: 1.2;
  }
  .con-form-sub {
    font-size: 15px;
  }
  .con-info-label {
    font-size: 18px;
  }
  .con-form-submit {
    font-size: 20px;
  }

  /* Packages hero */
  .pkg-hero {
    padding: 60px 0;
  }
  .pkg-hero-h {
    font-size: 28px;
    line-height: 1.25;
  }

  /* Ebook hero */
  .ebook-hero-h {
    font-size: 34px;
  }

  /* Services sidebar — hide nav list, keep custom box full-width */
  .svc-sidebar {
    display: none;
  }
  .svc-custom-box {
    margin-top: 0;
  }

  /* Breadcrumb */
  .hp-breadcrumb .breadcrumb {
    font-size: 0.75rem;
    flex-wrap: wrap;
  }

  /* Inner page hero */
  .hp-page-hero {
    padding: 2.5rem 0 2rem;
  }

  /* Genre pills (books section) */
  .hp-genre-bar {
    gap: 0.25rem;
  }
  .hp-genre-pill {
    font-size: 11px;
    padding: 8px 12px;
  }

  .navbar-nav {
      display: flex;
      gap: 5px;
      padding-top: 20px;
  }
}

/* ── PACKAGES PAGE ── */
@media (max-width: 991px) {

  /* Cards stack vertically on tablet/mobile */
  .pkg-cards-wrapper {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  .pkg-cards-wrapper .pkg-card,
  .pkg-cards-wrapper .pkg-card-wrap .pkg-card {
    width: 100%;
    max-width: 100%;
  }
  .pkg-cards-wrapper .pkg-card-wrap {
    width: 100%;
  }

  /* Fix hardcoded width on the top color bar (overrides inline <style> in amazon.php) */
  .pkg-card::before {
    width: 100% !important;
  }
}

@media (max-width: 767px) {

  /* Process steps — 3 per row on mobile */
  .pkg-process .row.g-0 > .col {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    margin-bottom: 2rem;
  }

  /* Hide horizontal connector lines when steps wrap */
  .pkg-step-line {
    display: none;
  }

  /* Package title */
  .pkg-title {
    font-size: 26px;
    margin-bottom: 24px;
  }
}

@media (max-width: 575px) {

  /* Process steps — 2 per row on small phones */
  .pkg-process .row.g-0 > .col {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* ── PROCESS CARDS (amazon.php / ebook-ghostwriting.php service pages) ── */
@media (max-width: 991px) {
  /* Wrap cards into 2-column layout instead of one long row */
  .process-cards-wrapper {
    flex-wrap: wrap;
    align-items: stretch;
  }
  .process-cards-wrapper .process-card {
    width: calc(50% - 12px) !important;
  }
  /* Hide arrow connectors once cards wrap */
  .process-cards-wrapper .arrow-connector {
    display: none;
  }
  /* amazon.css s1 comparison columns — ensure they stack */
  .hp-s1__cols {
    flex-direction: column;
    align-items: stretch;
  }
  /* s5 guarantee grid — 2 cols on tablet */
  .hp-s5__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .hp-s5__title {
    font-size: 34px;
  }
  .hp-s1__title {
    font-size: 34px;
    line-height: 1.2;
  }
  .hp-s3__title {
    font-size: 30px;
    line-height: 1.2;
  }
}

@media (max-width: 767px) {
  /* Process cards — full width once in column layout */
  .process-cards-wrapper .process-card {
    width: 100% !important;
  }
  .hp-s5__title {
    font-size: 28px;
  }
  .hp-s1__title {
    font-size: 28px;
  }
  .hp-s3__title {
    font-size: 24px;
  }
}

@media (max-width: 575px) {
  /* s5 guarantee grid — single column */
  .hp-s5__grid {
    grid-template-columns: 1fr;
  }
  .hp-s5__title {
    font-size: 24px;
  }
  .hp-s1__title {
    font-size: 24px;
  }
  .hp-s3__title {
    font-size: 22px;
  }
  /* Stats bar wrap */
  .hp-s2__inner {
    flex-wrap: wrap;
    gap: 24px;
  }
  .hp-s2__stat {
    flex: 0 0 45%;
  }
  .hp-s2__divider {
    display: none;
  }
  .hp-s2__number {
    font-size: 40px;
  }
}

/* ── SMALL MOBILE (≤ 575px) ── */
@media (max-width: 575px) {

  /* Section titles */
  .hp-section-title {
    font-size: 24px;
  }

  /* Hero */
  .hp-hero-h1 {
    font-size: 26px;
  }
  .hp-form-title {
    font-size: 20px;
  }

  /* Books grid — 2 cols on very small screens */
  .hp-books-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Idea CTA */
  .hp-idea-h {
    font-size: 26px;
  }

  /* FAQ */
  .hp-faq-h {
    font-size: 28px;
  }
  .hp-faq .accordion-button {
    font-size: 16px;
    padding: 0.75rem 1rem;
  }

  /* Milestone */
  .hp-milestone-h {
    font-size: 30px;
  }

  /* Service hero */
  .service-hero .hp-hero-h1 {
    font-size: 26px;
  }

  /* CTA buttons — full width stacked */
  .hp-pub-btn-g,
  .hp-pub-btn-o,
  .hp-idea-btn-s,
  .hp-idea-btn-c,
  .hp-books-btn-g,
  .hp-books-btn-o {
    display: block;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 0.5rem;
  }

  /* Services page */
  .svc-hero-h1 {
    font-size: 24px;
  }
  .svc-featured-h {
    font-size: 22px;
  }

  /* Contact page */
  .con-hero-h {
    font-size: 24px;
  }
  .con-reach-h {
    font-size: 24px;
  }
  .con-form-h {
    font-size: 24px;
  }
  .con-stat-num {
    font-size: 26px;
  }

  /* Packages hero */
  .pkg-hero-h {
    font-size: 24px;
  }

  /* Ebook hero */
  .ebook-hero-h {
    font-size: 28px;
  }

  /* General section padding */
  .hp-benefits,
  .hp-services,
  .hp-creative,
  .hp-team,
  .hp-faq,
  .hp-books-section,
  .our-process-section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .hp-pub-cta,
  .hp-idea,
  .hp-milestone {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  /* Navbar phone button — hide on very small screens to save space */
  .hp-nav-phone {
    display: none;
  }
  .hp-nav-call {
    font-size: 13px;
    padding: 8px 12px;
  }
}
