html body #app-view .ct-screen { min-width:320px; min-height:100svh; color:#1d1d1f; background:#fff; }
html body #app-view .ct-page { width:min(100%,760px); margin:0 auto; padding:28px 20px calc(34px + var(--bottom-nav-total-height)); overflow:visible; }
.ct-hero { padding:0 0 22px; }
.ct-hero h1 { margin:0 0 12px; color:var(--text-primary); font-family:var(--font-sans); font-weight:var(--font-weight-bold); }
.ct-hero p { max-width:60ch; margin:0; color:var(--text-secondary); font-family:var(--font-sans); font-size:16px; line-height:1.5; }
.ct-grid { display:grid; gap:16px; margin-top:6px; }
.ct-card { padding:20px 18px; border:1px solid #dfe5ee; border-radius:22px; background:#fff; }
.ct-card--wide { margin-top:16px; }
html body #app-view .ct-card h2 { display:flex; align-items:center; gap:12px; margin:0 0 6px; color:var(--text-primary); font-size:22px; font-weight:700; line-height:1.25; letter-spacing:-.3px; }
html body #app-view .ct-card h2.ct-card__sub { margin-top:26px; }
.ct-ico { display:grid; flex:0 0 auto; width:38px; height:38px; place-items:center; border-radius:12px; background:#fff3e8; color:#F97316; }
.ct-ico--green { background:#e8f7ee; color:#16a34a; }
.ct-ico svg, .ct-msg svg, .ct-soc__ico svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ct-phone-row { display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid #dfe5ee; }
.ct-phone-row small { display:block; margin-bottom:2px; color:var(--text-secondary); font-size:13px; line-height:1.3; }
.ct-phone { color:#1d1d1f; font-size:20px; font-weight:700; letter-spacing:-.2px; text-decoration:none; }
.ct-flag { display:flex; flex:0 0 auto; flex-direction:column; width:34px; height:24px; overflow:hidden; border:1px solid #dfe5ee; border-radius:6px; }
.ct-flag i { flex:1; }
.ct-flag--ua i:first-child { background:#0057b7; } .ct-flag--ua i:last-child { background:#ffd700; }
.ct-flag--pl i:first-child { background:#fff; } .ct-flag--pl i:last-child { background:#dc143c; }
.ct-msgs { display:grid; gap:10px; margin-top:20px; }
.ct-msg { display:flex; align-items:center; justify-content:center; gap:10px; padding:15px 26px; border:1.5px solid #dfe5ee; border-radius:16px; background:#fff; color:#1d1d1f; font-size:16px; font-weight:700; line-height:1.2; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.ct-msg--primary { border-color:#F97316; background:#F97316; color:#fff; box-shadow:0 10px 24px rgba(249,115,22,.28); }
.ct-address { margin:10px 0 14px; font-size:18px; font-style:normal; font-weight:600; line-height:1.4; }
.ct-map-link { display:inline-flex; align-items:center; gap:8px; padding:14px 22px; border-radius:16px; background:#fff3e8; color:#F97316; font-size:16px; font-weight:700; line-height:1.2; text-decoration:none; }
@media (hover:hover) { .ct-map-link:hover { background:#F97316; color:#fff; } .ct-msg:hover { border-color:#F97316; } }
.ct-hours { margin:0; }
.ct-hours div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #dfe5ee; font-size:16px; }
.ct-hours div:last-child { border:0; }
.ct-hours dt { font-weight:600; } .ct-hours dd { margin:0; }
.ct-socials { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.ct-soc { display:flex; align-items:center; gap:10px; min-width:0; padding:14px; border:1px solid #dfe5ee; border-radius:14px; color:#1d1d1f; font-size:15px; text-decoration:none; }
.ct-soc__ico { display:grid; flex:0 0 auto; width:36px; height:36px; place-items:center; border-radius:10px; }
.ct-soc strong { display:block; font-weight:600; line-height:1.25; }
.ct-soc small { display:block; color:var(--text-secondary); font-size:12px; line-height:1.3; }
.ct-soc--fb .ct-soc__ico { color:#1877F2; background:#e8f1fe; }
.ct-soc--ig .ct-soc__ico { color:#E4405F; background:#fdeaee; }
.ct-soc--vb .ct-soc__ico { color:#7360F2; background:#eeebfd; }
.ct-soc--tg .ct-soc__ico { color:#229ED9; background:#e6f4fb; }
.ct-faq { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:16px; padding:18px; border:1px solid #dfe5ee; border-radius:18px; color:#1d1d1f; text-decoration:none; }
.ct-faq strong { display:block; font-size:17px; line-height:1.3; }
.ct-faq small { display:block; margin-top:2px; color:var(--text-secondary); font-size:14px; line-height:1.4; }
.ct-faq em { color:#1E3A6B; font-style:normal; font-weight:700; white-space:nowrap; }
.ct-cta { margin-top:30px; padding:32px 22px; border-radius:24px; background:#1E3A6B; color:#fff; text-align:center; box-shadow:0 2px 6px rgba(30,58,107,.16),0 14px 28px -6px rgba(30,58,107,.30); }
html body #app-view .ct-cta h2 { margin:0; color:#fff; font-size:24px; font-weight:700; line-height:1.2; letter-spacing:-.3px; text-align:center; }
.ct-cta h2::after { content:""; display:block; width:44px; height:3px; margin:12px auto 0; border-radius:2px; background:#F97316; }
.ct-cta p { max-width:40ch; margin:14px auto 0; color:#d6e0f2; font-size:15px; line-height:1.5; }
.ct-cta .button { display:grid; width:min(100%,320px); place-items:center; margin:22px auto 0; color:#fff; text-decoration:none; }
@media (min-width:700px) { html body #app-view .ct-page { padding-top:42px; } .ct-card { padding:28px; } }
@media (min-width:1000px) {
  html body #app-view .ct-page { width:min(100%,1100px); }
  .ct-grid { grid-template-columns:1fr 1fr; gap:24px; align-items:stretch; }
  .ct-card--wide { margin-top:24px; }
  .ct-socials { grid-template-columns:repeat(4,1fr); gap:12px; }
  .ct-cta { margin-top:40px; padding:44px 32px; }
  html body #app-view .ct-cta h2 { font-size:30px; }
}

@media (min-width:1024px) { html body #app-view .ct-page { width:min(100%,1040px); } }
