/* =====================================================================
   Mobile UX & SEO pack — added 2026-10-17
   ===================================================================== */

/* ---------- Blog single post (used by single.php) ---------- */
.post-single { max-width: 820px; margin: 0 auto; }
.post-single__cover { width: 100%; height: auto; border-radius: 16px; margin: 0 0 32px; }
.post-meta-line { color: rgba(255, 255, 255, 0.55); font-size: 0.9rem; margin-top: 12px; }
.post-meta-line a { color: var(--accent); text-decoration: none; }
.post-single .entry-content h2 { margin: 2.1em 0 0.7em; }
.post-single .entry-content h3 { margin: 1.6em 0 0.5em; }
.post-single .entry-content p,
.post-single .entry-content li { line-height: 1.75; }
.post-single .entry-content a { color: var(--accent); }
.post-single .entry-content ul,
.post-single .entry-content ol { padding-left: 1.3em; margin: 0.8em 0 1.2em; }
.post-single .entry-content li { margin-bottom: 0.45em; }
.post-single .entry-content table { width: 100%; border-collapse: collapse; margin: 1.3em 0; font-size: 0.95rem; }
.post-single .entry-content th,
.post-single .entry-content td { border: 1px solid rgba(255, 255, 255, 0.12); padding: 10px 12px; text-align: left; }
.post-single .entry-content th { background: rgba(255, 255, 255, 0.05); }
.post-single__cta { margin: 48px auto 0; max-width: 820px; padding: 28px 24px; border-radius: 16px; text-align: center; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.04); }
.post-single__cta p { margin-bottom: 14px; }
.post-single__cta .btn { margin: 8px 6px 0; }
.post-single__nav { display: flex; justify-content: space-between; gap: 16px; max-width: 820px; margin: 36px auto 0; flex-wrap: wrap; }
.post-single__nav a { color: var(--accent); text-decoration: none; }

/* ---------- Sticky product CTA (filled by JS on product pages) ---------- */
.m-sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(10, 10, 15, 0.94); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-top: 1px solid rgba(255, 255, 255, 0.12); }
.m-sticky-cta__price { font-weight: 700; font-size: 1.05rem; white-space: nowrap; }
.m-sticky-cta .btn { flex: 1; min-height: 46px; padding: 12px 18px; }
@media (max-width: 768px) {
   .m-sticky-cta.is-visible { display: flex; }
}

/* Order buttons injected into pricing tables: desktop keeps plain tables */
@media (min-width: 769px) {
   .m-order-cell { display: none; }
}

/* ---------- Mobile fixes ---------- */
@media (max-width: 768px) {

   /* Burger: 44px tap target */
   .burger { width: 44px; height: 44px; padding: 10px; box-sizing: border-box; align-items: center; }

   /* Mobile menu: full-width 48px tap zones */
   .nav-mobile { gap: 10px; }
   .nav-mobile .menu { width: 100%; padding: 0 24px; }
   .nav-mobile .menu a { display: block; width: 100%; text-align: center; padding: 13px 0; min-height: 48px; box-sizing: border-box; }
   .nav-mobile > .btn { min-width: 230px; min-height: 48px; }
   .m-nav-contacts { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 4px; width: 100%; padding: 0 24px; box-sizing: border-box; }
   .m-nav-contacts .btn { min-width: 230px; min-height: 48px; }

   /* Hero: compact buttons + 3-in-a-row stats */
   .hero-buttons { gap: 10px; margin-bottom: 28px; }
   .hero-buttons .btn { flex: 1 1 calc(50% - 10px); min-height: 48px; padding: 13px 10px; }
   .hero-buttons .btn-primary { flex-basis: 100%; }
   .hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
   .hero-stat { padding: 14px 6px; }
   .hero-stat__number { font-size: 1.35rem; }
   .hero-stat__label { font-size: 0.72rem; }

   /* Service cards: CTA looks and taps like a real button */
   .service-card__cta { background: var(--accent); color: #fff; min-height: 48px; padding: 13px 18px; border-radius: 10px; }
   .service-card__cta:hover, .service-card__cta:active { color: #fff; }

   /* Footer: comfortable tap zones */
   .site-footer .menu a { display: inline-block; padding: 9px 0; }

   /* Forms: 16px inputs prevent iOS auto-zoom */
   input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
   input[type="password"], input[type="number"], input[type="search"],
   textarea, select, .input-text,
   .cta-form__field input, .cta-form__field select,
   .brief-form__field input, .brief-form__field select, .brief-form__field textarea,
   .woocommerce-checkout .form-row input, .woocommerce-checkout .form-row textarea,
   .woocommerce-checkout .form-row select {
      font-size: 16px !important;
   }

   /* Pricing tables → cards (classes set by JS) */
   table.m-cards { display: block; border: 0; }
   table.m-cards thead { display: none; }
   table.m-cards tbody { display: block; }
   table.m-cards tr { display: block; margin: 0 0 14px; padding: 14px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; background: rgba(255, 255, 255, 0.03); }
   table.m-cards td { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; border: 0 !important; padding: 6px 0; text-align: right; }
   table.m-cards td::before { content: attr(data-label); color: rgba(255, 255, 255, 0.55); font-size: 0.8rem; font-weight: 600; text-align: left; flex: 0 0 38%; }
   table.m-cards td:first-child { display: block; font-size: 1.05rem; font-weight: 600; text-align: left; padding-bottom: 8px; }
   table.m-cards td:first-child::before { display: none; }
   table.m-cards .m-order-cell { display: block; padding: 4px 0 0; }
   table.m-cards .m-order-cell::before { display: none; }
   .m-order-btn { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 46px; background: var(--accent); color: #fff !important; border-radius: 10px; font-weight: 700; text-decoration: none; }

   /* Checkout: order summary first, full-width pay button */
   form.woocommerce-checkout { display: flex; flex-direction: column; }
   form.woocommerce-checkout #order_review_heading { order: 1; }
   form.woocommerce-checkout #order_review { order: 2; margin-bottom: 28px; }
   form.woocommerce-checkout #customer_details { order: 3; }
   .woocommerce-checkout #place_order { width: 100%; min-height: 50px; }

   /* Room for the sticky CTA so it never covers the footer CTA */
   .single-product .site-footer { padding-bottom: 86px; }
}
