/*
Theme Name: Builder Theme Child
Template: tenweb-website-builder-theme
Author: Child Theme Configurator
Description: This is a basic theme which helps you design your website.
Version: 2.1.19.1791890115
Updated: 2026-10-13 11:15:15
*/

/* ============================================================
   Precision Pools - Blog presentation (child theme)
   Blog index cards, single-post layout, CTA block, recent posts
   ============================================================ */
.ppblog-wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.ppblog-wrap--reading{max-width:820px;}
.ppblog-wrap--wide{max-width:1200px;}

/* ---------- Index / archive hero ---------- */
.ppblog-hero{background:linear-gradient(120deg,#0b2a46 0%,#10395e 55%,#13607f 100%);color:#fff;padding:72px 0;margin-bottom:56px;position:relative;overflow:hidden;}
.ppblog-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 85% 20%,rgba(30,155,214,.35),transparent 70%);pointer-events:none;}
.ppblog-hero .ppblog-wrap{position:relative;z-index:1;}
.ppblog-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8fd0ef;margin:0 0 12px;}
.ppblog-hero-title{color:#fff;font-size:clamp(34px,4.5vw,52px);line-height:1.1;margin:0 0 12px;font-weight:800;}
.ppblog-hero-sub{color:#cfe3f1;font-size:18px;margin:0;max-width:640px;line-height:1.6;}

/* ---------- Card grid ---------- */
.ppblog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:64px;}
.ppblog-card{background:#fff;border:1px solid #e4ecf2;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(16,57,94,.07);transition:transform .25s ease,box-shadow .25s ease;}
.ppblog-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(16,57,94,.14);}
.ppblog-card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#0b2a46,#13607f);}
.ppblog-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.ppblog-card:hover .ppblog-card__media img{transform:scale(1.05);}
.ppblog-card__fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:rgba(255,255,255,.85);}
.ppblog-card__fallback svg{width:64px;height:64px;opacity:.7;}
.ppblog-card__body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.ppblog-card__date{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1e9bd6;margin:0;}
.ppblog-card__title{font-size:21px;line-height:1.3;margin:0;color:#10395e;font-weight:700;}
.ppblog-card__title a{color:inherit;text-decoration:none;}
.ppblog-card__title a:hover{color:#1e9bd6;}
.ppblog-card__excerpt{color:#64788c;font-size:15px;line-height:1.65;margin:0;flex:1;}
.ppblog-card__more{display:inline-flex;align-items:center;gap:6px;color:#1e9bd6;font-weight:700;font-size:15px;text-decoration:none;margin-top:6px;}
.ppblog-card__more:hover{color:#0b2a46;}

/* ---------- Pagination ---------- */
.ppblog-pagination{display:flex;justify-content:center;margin:0 0 72px;flex-wrap:wrap;}
.ppblog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;margin:4px;border-radius:999px;border:1px solid #dbe6ee;color:#10395e;font-weight:700;text-decoration:none;background:#fff;}
.ppblog-pagination .page-numbers.current{background:#1e9bd6;border-color:#1e9bd6;color:#fff;}
.ppblog-pagination a.page-numbers:hover{border-color:#1e9bd6;color:#1e9bd6;}

/* ---------- Single post ---------- */
.ppblog-single-hero{background:linear-gradient(120deg,#0b2a46 0%,#10395e 55%,#13607f 100%);color:#fff;padding:64px 0;position:relative;overflow:hidden;}
.ppblog-single-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 85% 20%,rgba(30,155,214,.35),transparent 70%);pointer-events:none;}
.ppblog-single-hero .ppblog-wrap{position:relative;z-index:1;}
.ppblog-single-title{color:#fff;font-size:clamp(30px,4vw,46px);line-height:1.15;margin:0 0 14px;font-weight:800;max-width:900px;}
.ppblog-single-meta{color:#cfe3f1;font-size:15px;margin:0;}
.ppblog-featured{margin:40px 0 0;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(16,57,94,.16);line-height:0;}
.ppblog-featured img{width:100%;height:auto;display:block;}
.ppblog-content{font-size:18px;line-height:1.8;color:#2f4456;padding:48px 0 8px;}
.ppblog-content h2,.ppblog-content h3{color:#10395e;font-weight:700;line-height:1.3;margin:1.6em 0 .6em;}
.ppblog-content p{margin:0 0 1.4em;}
.ppblog-content img{border-radius:12px;}
.ppblog-content a{color:#1e9bd6;}

/* ---------- CTA block ---------- */
.ppblog-cta{background:linear-gradient(135deg,#0b2a46 0%,#10395e 60%,#0f6d8c 100%);border-radius:22px;padding:56px 48px;text-align:center;color:#fff;margin:56px 0;position:relative;overflow:hidden;box-shadow:0 20px 48px rgba(11,42,70,.28);}
.ppblog-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 260px at 50% 0%,rgba(30,155,214,.4),transparent 70%);pointer-events:none;}
.ppblog-cta h2{color:#fff;font-size:clamp(26px,3.4vw,38px);margin:0 0 14px;font-weight:800;position:relative;}
.ppblog-cta p{color:#d7e7f3;font-size:18px;line-height:1.65;max-width:640px;margin:0 auto 28px;position:relative;}
.ppblog-cta__btn{display:inline-flex;align-items:center;gap:10px;background:#1e9bd6;color:#fff !important;font-size:20px;font-weight:800;padding:16px 44px;border-radius:999px;text-decoration:none;box-shadow:0 12px 28px rgba(30,155,214,.45);transition:transform .2s ease,background .2s ease;position:relative;}
.ppblog-cta__btn:hover{background:#25a9e6;transform:translateY(-2px);color:#fff !important;}
.ppblog-cta__btn svg{width:22px;height:22px;}

/* ---------- Recent posts ---------- */
.ppblog-recent{padding:8px 0 72px;}
.ppblog-recent__title{color:#10395e;font-size:30px;font-weight:800;margin:0 0 28px;text-align:center;}
.ppblog-empty{color:#64788c;text-align:center;padding:40px 0 72px;font-size:17px;}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .ppblog-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .ppblog-grid{grid-template-columns:1fr;}
  .ppblog-hero{padding:52px 0;margin-bottom:40px;}
  .ppblog-cta{padding:40px 24px;margin:40px 0;}
  .ppblog-content{font-size:17px;}
  .ppblog-cta__btn{font-size:18px;padding:14px 32px;}
}