/* EasyPrint V2.63 — mobile & tablet visual parity for the five public utility pages.
   CSS-only, loaded LAST. Desktop (1025px and wider) is deliberately untouched.
   Existing HTML structure, routes, form handlers, file picker and accordion behaviors remain intact.
*/
@media screen and (max-width: 1024px) {
  /* Shared responsive page rhythm: preserve the approved navy/cyan visual language. */
  :is(.guest-support-body .guest-page, .contact-page, .developers-page, .privacy-page, .legal-page) {
    box-sizing: border-box !important;
    width: min(100% - 32px, 850px) !important;
    max-width: 850px !important;
    margin-inline: auto !important;
    padding: 16px 0 48px !important;
    min-width: 0 !important;
  }
  :is(.guest-support-body .guest-page, .contact-page, .developers-page, .privacy-page, .legal-page) *,
  :is(.guest-support-body .guest-page, .contact-page, .developers-page, .privacy-page, .legal-page) *::before,
  :is(.guest-support-body .guest-page, .contact-page, .developers-page, .privacy-page, .legal-page) *::after {
    box-sizing: border-box;
  }
  :is(.guest-topbar, .contact-topbar, .developers-topbar, .privacy-topbar, .legal-topbar) {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    min-width: 0 !important;
    padding: 10px 2px 13px !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(30, 100, 152, .12) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }
  :is(.brand-copy, .contact-brand-copy, .developers-brand-copy, .privacy-brand-copy, .legal-brand-copy) strong {
    font: 800 21px/1.1 Arial, Helvetica, sans-serif !important;
    color: #194e83 !important;
    letter-spacing: -.5px !important;
  }
  :is(.brand-copy, .contact-brand-copy, .developers-brand-copy, .privacy-brand-copy, .legal-brand-copy) small {
    font: 400 11px/1.3 Arial, Helvetica, sans-serif !important;
    color: #6a8196 !important;
  }
  :is(.top-link, .contact-home-link, .developers-home-link, .privacy-home-link, .legal-home-link) {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
    font: 700 12px/1.3 Arial, Helvetica, sans-serif !important;
    white-space: nowrap;
  }
  :is(.guest-hero .hero-copy, .contact-header, .developers-header, .privacy-header, .legal-header) {
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
  :is(.contact-header, .developers-header, .privacy-header, .legal-header) {
    width: 100% !important;
    max-width: none !important;
    margin: 27px auto 0 !important;
    padding: 12px 6px 24px !important;
    text-align: center !important;
  }
  :is(.contact-header, .developers-header, .privacy-header, .legal-header) h1 {
    font: 800 clamp(32px, 5vw, 46px)/1.1 Arial, Helvetica, sans-serif !important;
    letter-spacing: -1.4px !important;
    color: #194e83 !important;
    text-wrap: balance;
    overflow-wrap: anywhere;
  }
  :is(.contact-introduction, .developers-introduction, .privacy-introduction, .legal-introduction) {
    font: 400 14px/1.65 Arial, Helvetica, sans-serif !important;
    color: #607d96 !important;
    max-width: 64ch !important;
    margin-inline: auto !important;
  }
  /* Retain the actual desktop headline wording and cyan highlights. */
  :is(.contact-header .contact-title-accent,
      .developers-header .ep-dev-highlight,
      .privacy-header .ep-privacy-gradient,
      .legal-header .ep-terms-gradient) {
    color: #16a8cd !important;
    background: linear-gradient(100deg,#14b8c5,#319ce2) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }
  .privacy-header .ep-privacy-original,
  .legal-header .ep-terms-original {display:none !important;}
  .privacy-header .ep-privacy-desktop-title,
  .legal-header .ep-terms-desktop-title {display:inline !important;}
  /* Avoid inherited fixed desktop widths in the core content regions. */
  :is(.guest-grid, .contact-layout, .developers-section, .developers-contact-section, .privacy-layout, .legal-layout) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }
  :is(.guest-card, .contact-info-card, .contact-support-card, .contact-form-card, .developers-section, .developers-contact-section, .privacy-content, .legal-content) {
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    border-radius: 22px !important;
    box-shadow: 0 14px 36px rgba(22, 86, 135, .07) !important;
  }
  :is(.guest-card, .contact-info-card, .contact-support-card, .contact-form-card, .privacy-content, .legal-content) {
    background: rgba(255,255,255,.87) !important;
    border: 1px solid rgba(210,233,245,.9) !important;
  }
  :is(.guest-form input, .guest-form select, .guest-form textarea, .contact-form input, .contact-form select, .contact-form textarea) {
    min-width: 0 !important;
    max-width: 100% !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important; /* Prevent iOS input focus zoom. */
  }
  :is(.guest-form button, .contact-form button, .developer-profile-button, .developers-contact-actions a, .privacy-content button, .legal-content button) {
    font-family: Arial, Helvetica, sans-serif !important;
  }

  /* Guest Support: form access stays intact; do not enable the desktop-only switch without its JS gate. */
  .guest-support-body .guest-hero {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 29px auto 0 !important;
    padding: 8px 4px 14px !important;
    text-align: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .guest-support-body .guest-hero .hero-copy {width: 100% !important;max-width: 740px !important;margin-inline: auto !important;}
  .guest-support-body .guest-hero .kicker {
    font: 800 11px/1.3 Arial, Helvetica, sans-serif !important;
    letter-spacing: 2px !important;color: #1799bf !important;
  }
  .guest-support-body .guest-hero h1.ep-support-mobile-original {display: none !important;}
  .guest-support-body .guest-hero h1.ep-support-desktop-title {
    display: block !important;
    margin: 12px auto !important;
    font: 800 clamp(32px, 5.5vw, 46px)/1.1 Arial, Helvetica, sans-serif !important;
    letter-spacing: -1.35px !important;
    color: #194e83 !important;
    text-wrap: balance;
  }
  .guest-support-body .guest-hero h1 .ep-support-title-gradient {
    color: #1aa5c7 !important;
    background: linear-gradient(100deg,#15b9c5,#309ce0) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }
  .guest-support-body .guest-hero .hero-copy p:not(.ep-support-desktop-description) {display: none !important;}
  .guest-support-body .guest-hero p.ep-support-desktop-description {
    display: block !important;
    margin: 10px auto 0 !important;
    max-width: 58ch !important;
    font: 400 14px/1.65 Arial, Helvetica, sans-serif !important;
    color: #607d96 !important;
  }
  .guest-support-body .guest-hero .hero-signin {display: inline-flex !important;margin: 14px auto 0 !important;}
  .guest-support-body .guest-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 18px !important;
    margin: 18px auto !important;
  }
  .guest-support-body .guest-grid > .guest-card {width: 100% !important;padding: clamp(20px,3vw,30px) !important;}
  .guest-support-body .guest-card h2,
  .guest-support-body .guest-credentials h2 {
    font: 800 clamp(21px,3.5vw,26px)/1.2 Arial, Helvetica, sans-serif !important;
    letter-spacing: -.65px !important;color:#194e83 !important;
  }
  .guest-support-body .guest-page .card-description,
  .guest-support-body .guest-page .guest-note p,
  .guest-support-body .guest-page .security-note p {
    font: 400 13px/1.65 Arial, Helvetica, sans-serif !important;
  }
  .guest-support-body .guest-page .field > span {font: 700 13px/1.35 Arial, Helvetica, sans-serif !important;}
  .guest-support-body .guest-page .field-help {font:400 12px/1.5 Arial,Helvetica,sans-serif !important;}
  .guest-support-body .guest-page .guest-credentials {max-width: 100% !important;}

  /* Contact: retain desktop-approved information cards and full-width message form. */
  .contact-page .contact-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    margin-top: 14px !important;
  }
  .contact-page .contact-sidebar {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .contact-page .contact-form-card {width: 100% !important;min-width: 0 !important;max-width: none !important;}
  .contact-page :is(.contact-info-card, .contact-support-card, .contact-form-card) {padding: clamp(20px,3vw,30px) !important;}
  .contact-page :is(.contact-info-card, .contact-support-card, .contact-form-card) h2 {
    font: 800 22px/1.2 Arial,Helvetica,sans-serif !important;letter-spacing:-.6px !important;color:#194e83 !important;
  }
  .contact-page .contact-form-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;}
  .contact-page .contact-field--full {grid-column:1/-1 !important;}
  .contact-page :is(.contact-field label, .contact-info-card p, .contact-support-card p, .contact-form-heading p) {font-family:Arial,Helvetica,sans-serif !important;}

  /* Developers: retain portrait carousel on narrow screens, card visual system on tablets. */
  .developers-page .developers-header {background: transparent !important;border:0 !important;box-shadow:none !important;}
  .developers-page .developers-header-tags {display:flex !important;justify-content:center !important;flex-wrap:wrap !important;gap:8px !important;}
  .developers-page .developers-header-tags span {font:700 11px/1.4 Arial,Helvetica,sans-serif !important;min-height:32px;}
  .developers-page .developers-section {padding:clamp(20px,3vw,30px) !important;margin-top:18px !important;}
  .developers-page :is(.developers-section-heading h2, .developers-contact-content h2) {
    font:800 clamp(22px,3.4vw,27px)/1.2 Arial,Helvetica,sans-serif !important;letter-spacing:-.6px !important;color:#194e83 !important;
  }
  .developers-page :is(.developers-section-heading p, .developers-contact-content p) {font:400 13px/1.65 Arial,Helvetica,sans-serif !important;}
  .developers-page .developers-grid {max-width: 100% !important;min-width:0 !important;}
  .developers-page :is(.developers-grid .developer-card, .developers-contribution-grid .contribution-card) {min-width:0;}
  .developers-page .developers-contribution-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;}
  .developers-page .contribution-card {min-height:0 !important;padding:18px !important;}
  .developers-page .contribution-card h3 {font:800 15px/1.3 Arial,Helvetica,sans-serif !important;}
  .developers-page .contribution-card p {font:400 12.5px/1.6 Arial,Helvetica,sans-serif !important;}
  .developers-page .project-information-row {min-width:0 !important;}
  .developers-page .developer-profile-dialog {max-width: calc(100vw - 32px) !important;}

  /* Legal accordion pages: preserve native <details> behavior and independently scroll wide tables. */
  :is(.privacy-layout,.legal-layout) {
    display: block !important;
    grid-template-columns: minmax(0,1fr) !important;
    margin: 14px auto 0 !important;
  }
  :is(.privacy-navigation,.legal-navigation) {display:none !important;}
  :is(.privacy-content,.legal-content) {width:100% !important;padding:clamp(20px,3.1vw,32px) !important;}
  :is(.privacy-accordion-heading h2,.legal-accordion-heading h2) {
    font:800 24px/1.2 Arial,Helvetica,sans-serif !important;letter-spacing:-.7px !important;color:#194e83 !important;
  }
  :is(.privacy-accordion-heading p,.legal-accordion-heading p) {font:400 13px/1.6 Arial,Helvetica,sans-serif !important;color:#607d96 !important;}
  :is(.privacy-accordion-item,.legal-accordion-item) > summary {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-height:54px !important;
    padding:14px 2px !important;
    cursor:pointer;
  }
  :is(.privacy-accordion-title,.legal-accordion-title) {
    min-width:0 !important;
    flex:1 1 auto !important;
    font:700 14px/1.5 Arial,Helvetica,sans-serif !important;
    color:#194e83 !important;
    overflow-wrap:anywhere;
  }
  :is(.privacy-accordion-body,.legal-accordion-body) {padding:0 2px 18px !important;min-width:0 !important;overflow-wrap:break-word;}
  :is(.privacy-accordion-body,.legal-accordion-body) :is(p,li) {
    font:400 14px/1.75 Arial,Helvetica,sans-serif !important;
    color:#42647d !important;
    max-width:75ch;
  }
  :is(.privacy-accordion-body,.legal-accordion-body) h3 {font:800 15px/1.4 Arial,Helvetica,sans-serif !important;}
  :is(.privacy-table-wrapper,.legal-table-wrapper) {width:100%;max-width:100%;overflow-x:auto !important;-webkit-overflow-scrolling:touch;}
  :is(.privacy-table,.legal-table) {width:100%;}
}

@media screen and (max-width: 680px) {
  :is(.guest-support-body .guest-page,.contact-page,.developers-page,.privacy-page,.legal-page) {
    width:calc(100% - 28px) !important;
    padding:11px 0 36px !important;
  }
  :is(.contact-header,.developers-header,.privacy-header,.legal-header) {
    margin-top:24px !important;padding:7px 2px 20px !important;
  }
  :is(.contact-header,.developers-header,.privacy-header,.legal-header) h1 {
    font-size:clamp(29px,8vw,38px) !important;
    letter-spacing:-1px !important;
  }
  :is(.contact-introduction,.developers-introduction,.privacy-introduction,.legal-introduction) {font-size:13px !important;line-height:1.65 !important;}
  .guest-support-body .guest-hero h1.ep-support-desktop-title {font-size:clamp(30px,8vw,38px) !important;}
  .guest-support-body .guest-grid {gap:14px !important;}
  .guest-support-body .guest-grid > .guest-card {padding:19px 16px !important;}
  .guest-support-body .guest-page .field-grid {grid-template-columns:minmax(0,1fr) !important;gap:12px !important;}
  .guest-support-body .guest-page .field.full {grid-column:auto !important;}
  .guest-support-body .guest-page :is(.action-button,.support-add-file) {min-height:44px !important;font-size:13px !important;}
  .guest-support-body .guest-page .guest-credentials {padding:20px 16px !important;}
  .guest-support-body .guest-page .credential-grid {grid-template-columns:minmax(0,1fr) !important;}
  .contact-page .contact-sidebar {grid-template-columns:minmax(0,1fr) !important;gap:12px !important;}
  .contact-page .contact-form-grid {grid-template-columns:minmax(0,1fr) !important;gap:12px !important;}
  .contact-page .contact-field--full {grid-column:auto !important;}
  .contact-page :is(.contact-info-card,.contact-support-card,.contact-form-card) {padding:20px 16px !important;}
  .contact-page .contact-form-actions {display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:12px !important;}
  .contact-page .contact-submit-button {width:100% !important;min-height:46px !important;font-size:13px !important;}
  .contact-page .contact-form-actions p {max-width:none !important;text-align:center !important;}
  .developers-page .developers-section {padding:20px 15px !important;border-radius:20px !important;}
  .developers-page .developers-grid {display:flex !important;gap:12px !important;overflow-x:auto !important;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .developers-page .developer-card {flex:0 0 min(82vw,310px) !important;width:min(82vw,310px) !important;min-width:min(82vw,310px) !important;scroll-snap-align:start;}
  .developers-page .developer-photo-wrapper {width:100% !important;height:190px !important;}
  .developers-page .developer-card-content {padding:16px !important;}
  .developers-page .developer-card-content h3 {font:800 18px/1.25 Arial,Helvetica,sans-serif !important;}
  .developers-page .developer-role {font-family:Arial,Helvetica,sans-serif !important;}
  .developers-page .developers-contribution-grid {grid-template-columns:minmax(0,1fr) !important;gap:10px !important;}
  .developers-page .contribution-card {padding:16px !important;}
  .developers-page .developer-profile-modal {padding:12px !important;}
  .developers-page .developer-profile-dialog {width:100% !important;max-height:90dvh !important;overflow-y:auto !important;}
  .developers-page .developer-profile-layout {display:block !important;}
  .developers-page .developer-profile-image-wrap {width:100% !important;min-height:0 !important;height:220px !important;}
  .developers-page .developers-contact-actions {width:100% !important;display:flex !important;flex-wrap:wrap !important;gap:10px !important;}
  .developers-page .developers-contact-actions a {flex:1 1 135px;min-height:44px;}
  :is(.privacy-content,.legal-content) {padding:20px 15px !important;}
  :is(.privacy-accordion-heading h2,.legal-accordion-heading h2) {font-size:21px !important;}
  :is(.privacy-accordion-title,.legal-accordion-title) {font-size:13px !important;}
  :is(.privacy-accordion-body,.legal-accordion-body) :is(p,li) {font-size:13px !important;line-height:1.7 !important;}
  :is(.privacy-header-meta,.legal-header-meta) {display:flex !important;flex-wrap:wrap !important;justify-content:center !important;gap:8px !important;}
  :is(.privacy-accordion-icon,.legal-accordion-icon) {flex:0 0 24px !important;width:24px !important;height:24px !important;}
}

@media screen and (max-width: 390px) {
  :is(.guest-support-body .guest-page,.contact-page,.developers-page,.privacy-page,.legal-page) {width:calc(100% - 24px) !important;}
  :is(.contact-header,.developers-header,.privacy-header,.legal-header) h1 {font-size:29px !important;}
  .guest-support-body .guest-hero h1.ep-support-desktop-title {font-size:31px !important;}
  .developers-page .developers-header-tags span {font-size:10px !important;}
  :is(.privacy-content,.legal-content) {padding:18px 13px !important;}
}

/* EasyPrint V2.64: precise mobile CTA and form-field typography correction.
   Based on existing Developers, Guest Support and Contact Us class names.
   V2.63 is the shared stylesheet; this is its additive corrective section.
   No visual changes at desktop widths >= 1025px.
*/
@media screen and (max-width: 1024px) {
  /* Only editable Guest Support and Contact inputs; exclude hidden/file/checkbox/radio. */
  .guest-support-body .guest-page .guest-form :is(input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]), select, textarea),
  .contact-page .contact-form :is(input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]), select, textarea) {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
  }
  .guest-support-body .guest-page .guest-form :is(input:not([type="hidden"]):not([type="file"]), textarea)::placeholder,
  .contact-page .contact-form :is(input:not([type="hidden"]):not([type="file"]), textarea)::placeholder {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    opacity: 1 !important;
  }
}
@media screen and (max-width: 680px) {
  /* Real source: .developers-contact-actions contains two anchor-buttons.
     Its previous flex: 1 1 135px creates 135px-high cards in mobile column layout. */
  .developers-page .developers-contact-section .developers-contact-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .developers-page .developers-contact-section .developers-contact-actions :is(a.developers-primary-button, a.developers-secondary-button) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
  }
}
/* End EasyPrint V2.64 mobile correction. */
