/* Shared ACST page styles. NOTE: this theme sets html font-size to 10px (62.5%),
   so every size here is in px on purpose - rem would render at 62.5% of intent. */
.acstp { font-family:'Open Sans',Arial,sans-serif; color:#222; }
.acstp, .acstp * { letter-spacing:normal !important; }
.acstp-formats { background:#fff; padding:26px 20px 18px; }
.acstp-formats-inner { max-width:820px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.acstp-formats a { flex:0 0 auto; min-width:180px; text-align:center; background:linear-gradient(180deg,#4a7fc1 0%,#3a6ca8 100%); color:#fff !important; text-decoration:none; font-size:17px; font-weight:600; padding:13px 26px; border-radius:7px; border:1px solid #2f5d96; box-shadow:0 2px 4px rgba(0,0,0,.18); }
.acstp-formats a:hover { background:linear-gradient(180deg,#5a8fd1 0%,#4a7cb8 100%); }
.acstp-title { background:#fff; text-align:center; padding:4px 20px 26px; }
.acstp-title h1 { font-size:clamp(28px,4vw,40px); font-weight:800; color:#1a1460; margin:0; text-transform:uppercase; letter-spacing:0.06em !important; }
.acstp-hero { background:linear-gradient(180deg,#a9c9e4 0%,#86b2d6 50%,#6f9fc6 100%); }
.acstp-hero > img { display:block; width:100%; max-width:880px; margin:0 auto; }
.acstp-herocopy { background:rgba(90,140,185,.62); padding:28px 26px 36px; }
.acstp-herocopy-inner { max-width:840px; margin:0 auto; color:#fff; font-size:16px; line-height:1.8; }
.acstp-herocopy-inner p { margin:0 0 18px; }
.acstp-bar { background:rgba(40,80,130,.78); padding:13px 20px; text-align:center; }
.acstp-bar h2 { font-size:20px; font-weight:700; color:#fff; margin:0; }
.acstp-proc h3 { font-size:17px; font-weight:700; color:#fff; margin:22px 0 10px; }
.acstp-proc ul { margin:0; padding-left:22px; }
.acstp-proc li { font-size:16px; line-height:1.95; color:#fff; }
.acstp-sec { padding:50px 20px; background:#fff; }
.acstp-sec-alt { background:#f4f7fb; }
.acstp-inner { max-width:1040px; margin:0 auto; }
.acstp-h2 { text-align:center; font-size:28px; font-weight:800; color:#1a1460; margin:0 0 10px; }
.acstp-sub { text-align:center; font-size:16px; color:#555; margin:0 0 30px; }
.acstp-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:38px; align-items:center; }
.acstp-split img { width:100%; height:auto; display:block; border-radius:6px; }
.acstp-price { font-size:26px; font-weight:800; color:#c00; margin:0 0 8px; }
.acstp-note { font-size:15px; color:#777; font-weight:400; }
.acstp-body { font-size:16px; line-height:1.8; color:#333; margin:0 0 14px; }
.acstp-list { margin:14px 0 22px; padding-left:20px; font-size:16px; line-height:1.95; color:#333; }
.acstp-btn { display:inline-block; background:#1a4fa0; color:#fff !important; text-decoration:none; padding:13px 32px; border-radius:5px; font-weight:700; font-size:15px; text-transform:uppercase; margin-top:6px; }
.acstp-btn:hover { background:#2260c0; }
.acstp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:14px; }
.acstp-grid img { width:100%; height:auto; display:block; border:1px solid #ddd; border-radius:4px; background:#fff; }
.acstp-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:22px; }
.acstp-card { background:#fff; border:1px solid #e0e6ee; border-radius:8px; padding:18px; text-align:center; }
.acstp-card img { width:100%; height:175px; object-fit:contain; display:block; margin-bottom:12px; }
.acstp-card h4 { font-size:15px; font-weight:700; color:#1a1460; margin:0 0 8px; line-height:1.45; }
.acstp-card .p { font-size:20px; font-weight:800; color:#c00; margin:0 0 3px; }
.acstp-card .s { font-size:13px; color:#2a8a2a; font-weight:700; }
.acstp-cert { display:flex; align-items:center; gap:22px; justify-content:center; flex-wrap:wrap; max-width:800px; margin:0 auto; }
.acstp-cert img { width:120px; height:auto; flex:0 0 auto; }
.acstp-cert p { font-size:16px; line-height:1.8; color:#333; margin:0; }
@media(max-width:780px){ .acstp-split{grid-template-columns:1fr; gap:24px;} .acstp-formats a{min-width:140px; font-size:15px; padding:11px 18px;} .acstp-h2{font-size:23px;} }
