/* Mobile-only layout polish for the primary storefront pages. */
@media (max-width: 700px) {
  html, body { max-width: 100%; overflow-x: clip; }
  #site-shell-header .shell-inner { min-height: 64px; }
  .shell-promo { height: auto !important; min-height: 42px; padding: 7px 10px; }
  .shell-promo-slide { justify-content: center; gap: 8px; line-height: 1.25; }
  .shell-promo-slide > span:first-child { max-width: 58%; }
  .shell-promo-button { flex: 0 0 auto; }

  /* Home: calmer hero rhythm, image stays below the copy, and no fixed CTA overlap. */
  .bs-hero { min-height: 0 !important; }
  .bs-slider-container { padding: 0 18px 20px !important; }
  .bs-hero-content { padding: 30px 0 8px !important; }
  .bs-hero-content h1 { font-size: clamp(29px, 8vw, 36px) !important; line-height: 1.12 !important; letter-spacing: -.9px !important; }
  .bs-hero-content p { max-width: 34ch !important; font-size: 15px !important; line-height: 1.6 !important; }
  .bs-hero-buttons { display: grid !important; grid-template-columns: 1fr; width: min(100%, 330px); margin-inline: auto; }
  .bs-hero .bs-primary, .bs-hero .bs-secondary { min-height: 48px; font-size: 14px !important; }
  .bs-visual { height: clamp(250px, 78vw, 340px) !important; }
  .bs-main-image { max-height: 100% !important; object-fit: contain; }
  .bs-slider-controls { margin: 8px 0 0 !important; }
  .info-cards-section { margin: 24px 0; padding: 38px 0; }
  .bs-section-head { padding: 0 20px; margin-bottom: 22px; }
  .bs-section-head h2 { font-size: clamp(27px, 7vw, 34px) !important; line-height: 1.15; }
  .bs-section-head p { max-width: 38ch; margin-inline: auto; font-size: 15px; line-height: 1.65; }
  .info-cards-grid { grid-template-columns: 1fr !important; gap: 14px; padding: 0 18px; }
  .info-card-item { text-align: left; padding: 22px 20px !important; border-radius: 18px; }
  .info-card-item h3 { font-size: 21px; }
  .info-card-item p { font-size: 15px; line-height: 1.6; }
  .info-card-item .bs-card-link { display: flex; justify-content: space-between; }
  .pink-ticket-btn { right: 14px !important; bottom: max(14px, env(safe-area-inset-bottom)) !important; left: 14px; width: auto; justify-content: center; min-height: 48px; padding: 11px 16px !important; font-size: 14px !important; box-shadow: 0 8px 24px rgba(255,0,127,.25); }
  #standard-scroll-top { right: 14px; bottom: 74px; }

  /* Standard package catalog. */
  .page-banner { padding: 34px 18px 27px !important; }
  .page-banner h1 { max-width: 18ch; margin: 0 auto 12px; font-size: clamp(27px, 7vw, 34px) !important; line-height: 1.15; }
  .page-banner p { max-width: 40ch; font-size: 15px !important; line-height: 1.65 !important; }
  .filter-section { position: static !important; padding: 12px 0; }
  .filter-container { padding: 0 16px; gap: 8px; }
  .themes-section { padding: 22px 0; }
  .themes-section .container { padding-inline: 16px; }
  .product-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .product-card { border-radius: 16px; }
  .product-image { height: clamp(190px, 58vw, 250px); }
  .product-body { padding: 17px; }
  .product-body h2 { font-size: 19px; }
  .product-body p { font-size: 14px; line-height: 1.6; }
  .comparison-section, .faq-section { padding: 38px 16px; }

  /* Pro catalog: legible heading, compact benefit chips and demo panel. */
  .page-hero { padding: 38px 18px 30px !important; }
  .page-hero h1 { max-width: 19ch; margin-inline: auto; font-size: clamp(29px, 7.5vw, 36px) !important; line-height: 1.12 !important; }
  .page-hero p { max-width: 40ch; font-size: 15px !important; line-height: 1.65 !important; }
  .feature-strip { gap: 8px; margin-top: 18px; }
  .feature-strip span { padding: 8px 11px; font-size: 12px; }
  .admin-preview-card { border-radius: 18px !important; }
  .admin-preview-copy h2 { font-size: 20px !important; }
  .admin-preview-copy p { font-size: 14px !important; line-height: 1.6 !important; }
  .catalog-tools { margin-top: 18px; padding-inline: 16px; }
  .catalog-search-form { width: 100%; display: flex; gap: 8px; }
  .catalog-search-form input { min-width: 0; flex: 1; }
  .product-grid { margin: 16px auto 42px; padding-inline: 16px; }
  .pro-story { padding: 24px 14px 42px; }
  .pro-story-intro h2 { font-size: clamp(29px, 8vw, 36px); }
  .pro-feature-band, .pro-feature-responsive { grid-template-columns: minmax(0, 1fr) !important; gap: 22px !important; padding: 18px !important; }
  .pro-feature-responsive .pro-feature-copy h2 { font-size: clamp(26px, 7vw, 31px) !important; line-height: 1.18 !important; }
  .pro-feature-responsive .pro-feature-lead { font-size: 15px !important; line-height: 1.65 !important; }
  .pro-responsive-visual { aspect-ratio: 1.12 / 1 !important; }
  .pro-responsive-order { min-height: 50px; }
}

@media (max-width: 390px) {
  .shell-promo-slide > span:first-child { max-width: 53%; font-size: 10px; }
  .shell-promo-button { padding: 6px 8px; font-size: 10px; }
  .bs-hero-buttons { width: 100%; }
  .filter-btn { font-size: 10px; }
  .catalog-search-form { flex-direction: column; }
  .catalog-search-form button { min-height: 44px; }
}

.mobile-quick-contact { display:none; }
@media (max-width:700px) {
  .mobile-quick-contact { position:fixed; z-index:9998; right:18px; bottom:calc(20px + env(safe-area-inset-bottom)); left:18px; display:flex; align-items:flex-end; justify-content:space-between; pointer-events:none; }
  .mobile-quick-contact>a { position:relative; display:grid; place-items:center; width:60px; height:60px; border-radius:50%; color:#fff; text-decoration:none; box-shadow:0 8px 22px rgba(21,48,80,.24); pointer-events:auto; }
  .mobile-quick-contact-call { background:#2878f0; }
  .mobile-quick-contact-assistant { background:#20c971; }
  .mobile-quick-contact svg { width:29px; height:29px; fill:#fff; }
  .mobile-quick-contact-assistant svg { width:34px; height:34px; fill:none; stroke:#fff; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-quick-contact-label { position:absolute; bottom:calc(100% + 9px); left:50%; transform:translateX(-50%); padding:7px 10px; border:1px solid #e9eef4; border-radius:999px; background:#fff; color:#1d2d42; font:700 11px/1.1 Inter,Arial,sans-serif; white-space:nowrap; box-shadow:0 4px 14px rgba(15,34,56,.12); }
  .mobile-quick-contact-assistant .mobile-quick-contact-label { color:#087d4a; }
  .mobile-quick-contact-call .mobile-quick-contact-label { display:none; }
  #pro-scroll-top { right:18px!important; bottom:calc(94px + env(safe-area-inset-bottom))!important; }
}
