/* install-ipa-iphone.html: components aligned with the supplied CydiaFree guides.
   Typography, content width, header, green buttons and section spacing come
   from base.css, ios-guide.css and responsive.css. */

.cf-ipa .cf-breadcrumbs { font-size: .9rem; color: #666; margin-bottom: 20px; }
.cf-ipa .cf-breadcrumbs a { color: #27ae60; font-size: inherit; text-decoration: none; }
.cf-ipa .cf-breadcrumbs a:hover { text-decoration: underline; }
.cf-ipa .cf-hero-lead { font-size: 1.15rem; color: #555; max-width: 780px; margin: 0 auto 22px; }
.cf-ipa .cf-cta-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.cf-ipa .cf-cta-row .cf-btn-primary { margin-bottom: 0; }
.cf-ipa .cf-btn-secondary { display: inline-block; padding: 10px 16px; color: #555 !important; font-size: .95rem; font-weight: 500; text-decoration: underline !important; }
.cf-ipa .cf-btn-secondary:hover { color: #111 !important; }
.cf-ipa .cf-hero .cf-cta-row { margin-bottom: 30px; }
.cf-ipa .cf-hero .hero-image { width: auto; }
.cf-ipa .cf-figure-hero { margin: 0; }
.cf-ipa .cf-figure:not(.cf-figure-hero) { margin: 36px 0; }
.cf-ipa .cf-content-image { display: block; max-width: 100%; height: auto; margin: 0 auto; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.cf-ipa .cf-figure figcaption { margin-top: 10px; color: #6b7280; font-size: .88rem; line-height: 1.65; }
.cf-ipa .cf-quick-answer h2 { margin-bottom: 12px; font-size: 1.25rem; font-weight: 600; }
.cf-ipa .cf-notice-box p { margin: 0 0 20px; font-size: 1.05rem; line-height: 1.8; }
.cf-ipa .cf-notice-box p:last-child { margin-bottom: 0; }
.cf-ipa .cf-guide-toc { padding: 24px; margin-top: 28px; background: #fafbfc; border: 1px solid #e1e5e9; border-radius: 8px; }
.cf-ipa .cf-guide-toc h2 { font-size: 1.25rem; font-weight: 600; margin-bottom: 12px; }
.cf-ipa .cf-guide-toc ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 28px; margin: 0; padding-left: 23px; }
.cf-ipa .cf-guide-toc li { min-width: 0; padding: 0; }
.cf-ipa .cf-guide-toc a { display: inline-block; padding: 8px 0; color: #0066cc; font-size: 1rem; line-height: 1.5; text-decoration: underline !important; }
.cf-ipa ul.cf-list, .cf-ipa ol.cf-list { margin: 0 0 24px; padding-left: 24px; }
.cf-ipa .cf-list li { margin-bottom: 12px; font-size: 1.05rem; line-height: 1.7; color: #444; }
.cf-ipa section[id], .cf-ipa nav[id], .cf-ipa main[id] { scroll-margin-top: var(--cf-page-header-offset,110px); }
.cf-ipa .cf-table-wrap { -webkit-overflow-scrolling: touch; }
.cf-ipa .cf-comparison { min-width: 660px; font-size: .97rem; line-height: 1.65; }
.cf-ipa .cf-comparison caption { padding: 14px; border-bottom: 1px solid #dedede; background: #fff; color: #5b6570; font-size: .9rem; text-align: left; }
.cf-ipa .cf-comparison tbody th { font-weight: 600; background: #fff; }
.cf-ipa .cf-comparison tbody tr:nth-child(even) > * { background: #fbfcfd; }
.cf-ipa .cf-comparison a { font-weight: 600; }
.cf-ipa .cf-scroll-hint { margin: 16px 0 -10px; color: #6b7280; font-size: .88rem; }
.cf-ipa .cf-membership-note { margin-top: 20px; color: #6b7280; font-size: .9rem; line-height: 1.7; }
.cf-ipa .cf-faq-item { border: 1px solid #dfe4e8; background: #fff; border-radius: 6px; margin-bottom: 12px; padding: 0 20px; }
.cf-ipa .cf-faq-item summary { padding: 18px 0; cursor: pointer; color: #222; }
.cf-ipa .cf-faq-item summary h3 { display: inline; font-size: 1.06rem; font-weight: 600; margin: 0; line-height: 1.6; }
.cf-ipa .cf-faq-item p { padding-top: 0; margin: 0 0 20px; }
.cf-ipa .cf-faq-item[open] summary { padding-bottom: 12px; }
.cf-ipa .cf-faq-item summary:focus-visible { outline: 2px solid #0066cc; outline-offset: 4px; }
.cf-ipa .cf-related-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.cf-ipa .cf-related-list a { display: flex; align-items: center; min-height: 54px; padding: 20px; border: 1px solid #e2e6ea; border-radius: 8px; background: #fff; }
.cf-ipa .cf-reference-list { columns: 2; column-gap: 30px; margin-bottom: 24px; padding-left: 24px; }
.cf-ipa .cf-reference-list li { break-inside: avoid; margin-bottom: 12px; font-size: .96rem; line-height: 1.7; }
.cf-ipa .cf-review-note { margin-top: 24px; color: #6b7280; font-size: .88rem; line-height: 1.7; }
.cf-ipa .cf-skip-link { position: absolute; left: -9999px; top: 8px; z-index: 20000; padding: 10px 14px; border-radius: 4px; background: #111; color: #fff !important; text-decoration: none !important; }
.cf-ipa .cf-skip-link:focus { left: 10px; }
.cf-ipa .footer-links { margin-bottom: 20px; }
/* The existing verified banner unit is retained without changing ad behavior. */
.cf-ipa .cf-ad-block { display: none; padding: 32px 0; border-bottom: 1px solid #ececec; background: #fff; }
.cf-ipa .cf-ad-block[hidden] { display: none; }
.cf-ipa .cf-ad-label { margin: 0 0 12px; color: #69717a; font-size: .72rem; line-height: 1.4; text-align: center; }
.cf-ipa .cf-ad-unit { display: inline-block; width: 728px; height: 90px; }
.cf-ipa .cf-ad-inner { min-height: 118px; text-align: center; }
@media (min-width: 800px) { .cf-ipa .cf-ad-block { display: block; } }
@media (max-width: 767px) {
  .cf-ipa .cf-hero-lead { font-size: 1rem; line-height: 1.75; }
  .cf-ipa .cf-guide-toc { padding: 18px; }
  .cf-ipa .cf-guide-toc ol, .cf-ipa .cf-related-list { grid-template-columns: 1fr; }
  .cf-ipa .cf-guide-toc ol { gap: 2px; }
  .cf-ipa .cf-reference-list { columns: 1; }
  .cf-ipa .cf-faq-item { padding: 0 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .cf-ipa .cf-btn-primary:hover { transform: none; }
}
@media print {
  .cf-ipa > header { position: static; }
  .cf-ipa .cf-ad-block, .cf-ipa .cc-window { display: none !important; }
}
