/* ============================================================
   MPSR Blog Stylesheet — moteursetpiscinessr.com
   Brand: Montserrat | Navy #0d3276 | Sky #2fc1ff | Gold #c5a059
   ============================================================ */

/* ---- RESET & BASE ----------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:100%;scroll-behavior:smooth;}
body{
  font-family:'Montserrat',Arial,sans-serif;
  font-size:1rem;
  line-height:1.7;
  color:#4c5253;
  background:#f3f7fb;
}
img{display:block;max-width:100%;height:auto;}
a{color:#0d3276;text-decoration:none;}
a:hover{text-decoration:underline;}

/* ---- CSS VARIABLES --------------------------------------- */
:root{
  --navy:#0d3276;
  --navy-dark:#0a0545;
  --sky:#2fc1ff;
  --gold:#c5a059;
  --ink:#101218;
  --copy:#4c5253;
  --soft:#f3f6f6;
  --border:rgba(13,50,118,.10);
  --white:#ffffff;
  --max-w:1240px;
}

/* ---- SITE HEADER / NAV ----------------------------------- */
.blog-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--border);
  box-shadow:0 8px 24px rgba(8,24,52,.06);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.blog-header-inner{
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 24px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.blog-header-logo img{
  display:block;
  height:44px;
  width:auto;
}
.blog-nav ul{
  list-style:none;
  display:flex;
  gap:4px;
  align-items:center;
}
.blog-nav a{
  display:block;
  padding:8px 12px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--navy);
  transition:background .18s,color .18s;
  white-space:nowrap;
}
.blog-nav a:hover,.blog-nav a[aria-current="page"]{
  background:var(--navy);
  color:#fff;
  text-decoration:none;
}
.blog-nav-contact a{
  background:var(--navy);
  color:#fff !important;
  padding:8px 16px;
}
.blog-nav-contact a:hover{
  background:var(--navy-dark);
}
/* Mobile hamburger */
.blog-hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  background:none;
  border:none;
  padding:6px;
}
.blog-hamburger span{
  display:block;
  width:24px;
  height:2px;
  background:var(--navy);
  border-radius:2px;
}
@media(max-width:920px){
  .blog-nav{display:none;}
  .blog-nav.is-open{
    display:block;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    background:#fff;
    border-bottom:1px solid var(--border);
    padding:16px 24px 20px;
    box-shadow:0 12px 30px rgba(8,24,52,.08);
  }
  .blog-nav.is-open ul{flex-direction:column;gap:2px;}
  .blog-hamburger{display:flex;}
  .blog-header{position:relative;}
}

/* ---- BREADCRUMB ------------------------------------------ */
.blog-breadcrumb{
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:12px 0;
  font-size:.8rem;
}
.blog-breadcrumb-inner{
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 24px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.blog-breadcrumb a{color:var(--navy);}
.blog-breadcrumb span.sep{color:#aab;margin:0 2px;}
.blog-breadcrumb span.current{color:var(--copy);}

/* ---- ARTICLE HERO ---------------------------------------- */
.blog-hero{
  padding:56px 0 48px;
  background:linear-gradient(135deg,#0a0545 0%,#0d3276 55%,#1a5fa3 100%);
  color:#fff;
}
.blog-hero-inner{
  max-width:820px;
  margin:0 auto;
  padding:0 24px;
  text-align:center;
}
.blog-hero-eyebrow{
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9fdfff;
  margin-bottom:14px;
}
.blog-hero h1{
  font-size:clamp(1.8rem,4vw,2.7rem);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.03em;
  color:#fff;
  margin-bottom:18px;
}
.blog-hero-meta{
  font-size:.84rem;
  color:rgba(255,255,255,.72);
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
}
.blog-hero-meta span{display:flex;align-items:center;gap:6px;}

/* ---- ARTICLE LAYOUT -------------------------------------- */
.blog-article-wrap{
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:40px;
  padding-top:52px;
  padding-bottom:64px;
  align-items:start;
}
.blog-article-content h2{
  font-size:clamp(1.3rem,2.5vw,1.75rem);
  font-weight:700;
  color:var(--navy);
  letter-spacing:-.03em;
  line-height:1.15;
  margin:40px 0 16px;
}
.blog-article-content h3{
  font-size:1.1rem;
  font-weight:700;
  color:var(--ink);
  margin:24px 0 10px;
}
.blog-article-content p{
  font-size:1rem;
  line-height:1.72;
  color:var(--copy);
  margin-bottom:16px;
}
.blog-article-content ul,.blog-article-content ol{
  margin:12px 0 18px 0;
  padding-left:0;
  list-style:none;
}
.blog-article-content ul li,.blog-article-content ol li{
  position:relative;
  padding-left:22px;
  font-size:.98rem;
  line-height:1.65;
  color:var(--copy);
  margin-bottom:8px;
}
.blog-article-content ul li::before{
  content:"";
  position:absolute;
  top:.7em;
  left:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--sky);
}
.blog-article-content ol{counter-reset:ol-cnt;}
.blog-article-content ol li::before{
  content:counter(ol-cnt)".";
  counter-increment:ol-cnt;
  position:absolute;
  left:0;
  top:0;
  font-weight:700;
  color:var(--navy);
  font-size:.85rem;
}
.blog-article-content strong{color:var(--ink);}
.blog-article-content a{color:var(--navy);font-weight:600;}
.blog-article-content a:hover{color:var(--navy-dark);}

/* ---- INTRO BOX ------------------------------------------- */
.blog-intro-box{
  padding:24px 28px;
  background:#eef4fb;
  border-left:4px solid var(--navy);
  margin-bottom:32px;
  font-size:1.02rem;
  line-height:1.7;
  color:var(--copy);
}

/* ---- HIGHLIGHT BOX --------------------------------------- */
.blog-highlight{
  background:linear-gradient(135deg,#eef4fb,#f8fbff);
  border:1px solid var(--border);
  padding:24px 28px;
  margin:28px 0;
}
.blog-highlight h3{margin-top:0;}

/* ---- INFO GRID (2-col facts) ----------------------------- */
.blog-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:20px 0 28px;
}
.blog-info-card{
  padding:20px;
  background:#fff;
  border:1px solid var(--border);
  border-top:3px solid var(--navy);
}
.blog-info-card strong{
  display:block;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:6px;
}

/* ---- FAQ SECTION ----------------------------------------- */
.blog-faq-section{
  margin-top:48px;
  padding-top:40px;
  border-top:1px solid var(--border);
}
.blog-faq-section h2{margin-top:0 !important;}
.blog-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:24px;
}
.blog-faq-item{
  padding:22px 24px;
  background:#fff;
  border:1px solid var(--border);
}
.blog-faq-item h3{
  font-size:.98rem;
  font-weight:700;
  color:var(--navy);
  margin:0 0 10px;
  line-height:1.4;
}
.blog-faq-item p{
  font-size:.93rem;
  line-height:1.65;
  margin:0;
}

/* ---- CTA BANNER ------------------------------------------ */
.blog-cta{
  background:linear-gradient(135deg,#0a0545 0%,#0d3276 100%);
  padding:44px 40px;
  margin:48px 0 8px;
  text-align:center;
  color:#fff;
}
.blog-cta h2{
  color:#fff !important;
  font-size:clamp(1.4rem,2.8vw,2rem);
  margin:0 0 14px !important;
}
.blog-cta p{
  color:rgba(255,255,255,.82) !important;
  margin-bottom:24px;
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
}
.blog-btn{
  display:inline-flex;
  align-items:center;
  padding:16px 40px;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  border:2px solid #fff;
  background:#fff;
  color:var(--navy);
  transition:background .2s,color .2s;
  white-space:nowrap;
}
.blog-btn:hover,.blog-btn:focus{
  background:transparent;
  color:#fff;
  text-decoration:none;
}
.blog-btn--ghost{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.5);
  margin-left:12px;
}
.blog-btn--ghost:hover{
  background:rgba(255,255,255,.1);
  border-color:#fff;
}

/* ---- SIDEBAR --------------------------------------------- */
.blog-sidebar{}
.blog-sidebar-widget{
  background:#fff;
  border:1px solid var(--border);
  padding:24px;
  margin-bottom:24px;
}
.blog-sidebar-widget h3{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--navy);
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:2px solid var(--navy);
}
.blog-sidebar-widget ul{list-style:none;padding:0;margin:0;}
.blog-sidebar-widget ul li+li{margin-top:10px;}
.blog-sidebar-widget ul li a{
  font-size:.9rem;
  font-weight:600;
  color:var(--copy);
  transition:color .18s;
}
.blog-sidebar-widget ul li a:hover{color:var(--navy);text-decoration:none;}
.blog-sidebar-cta{
  background:linear-gradient(160deg,#0a0545,#0d3276);
  border:0;
  text-align:center;
  padding:28px 20px;
}
.blog-sidebar-cta h3{
  color:#9fdfff;
  border-color:rgba(255,255,255,.2);
}
.blog-sidebar-cta p{
  font-size:.9rem;
  color:rgba(255,255,255,.8);
  margin-bottom:18px;
}
.blog-sidebar-cta a.blog-btn{
  display:inline-flex;
  padding:12px 24px;
  font-size:.72rem;
}

/* ---- RELATED ARTICLES ------------------------------------ */
.blog-related{
  background:var(--soft);
  border-top:1px solid var(--border);
  padding:52px 0 56px;
}
.blog-related-inner{
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 24px;
}
.blog-related h2{
  font-size:clamp(1.3rem,2.4vw,1.7rem);
  font-weight:700;
  color:var(--navy);
  letter-spacing:-.03em;
  margin-bottom:28px;
}
.blog-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.blog-related-card{
  background:#fff;
  border:1px solid var(--border);
  padding:24px 22px;
  transition:border-color .2s;
}
.blog-related-card:hover{border-color:var(--navy);}
.blog-related-card .eyebrow{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sky);
  margin-bottom:8px;
}
.blog-related-card h3{
  font-size:1rem;
  font-weight:700;
  color:var(--ink);
  margin-bottom:8px;
  line-height:1.35;
}
.blog-related-card p{
  font-size:.88rem;
  color:var(--copy);
  line-height:1.6;
  margin-bottom:12px;
}
.blog-related-card a.read-more{
  font-size:.8rem;
  font-weight:700;
  color:var(--navy);
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* ---- BLOG INDEX GRID ------------------------------------- */
.blog-index-hero{
  background:linear-gradient(135deg,#0a0545 0%,#0d3276 55%,#1a5fa3 100%);
  padding:64px 0 52px;
  text-align:center;
  color:#fff;
}
.blog-index-hero h1{
  font-size:clamp(2rem,5vw,3rem);
  font-weight:700;
  letter-spacing:-.04em;
  color:#fff;
  margin-bottom:14px;
}
.blog-index-hero p{
  font-size:1.05rem;
  color:rgba(255,255,255,.8);
  max-width:640px;
  margin:0 auto;
}
.blog-index-wrap{
  max-width:var(--max-w);
  margin:0 auto;
  padding:52px 24px 64px;
}
.blog-index-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.blog-index-card{
  background:#fff;
  border:1px solid var(--border);
  transition:border-color .2s,box-shadow .2s;
}
.blog-index-card:hover{
  border-color:var(--navy);
  box-shadow:0 12px 32px rgba(13,50,118,.08);
}
.blog-index-card-thumb{
  display:block;
  height:180px;
  background:linear-gradient(135deg,#0a0545 0%,#0d3276 55%,#1a5fa3 100%);
  overflow:hidden;
  position:relative;
}
.blog-index-card-thumb .cat-label{
  position:absolute;
  bottom:12px;
  left:16px;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.3);
  padding:4px 10px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
}
.blog-index-card-body{
  padding:24px;
}
.blog-index-card-body .eyebrow{
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sky);
  margin-bottom:8px;
}
.blog-index-card-body h2{
  font-size:1.05rem;
  font-weight:700;
  color:var(--ink);
  line-height:1.35;
  margin-bottom:10px;
}
.blog-index-card-body p{
  font-size:.9rem;
  color:var(--copy);
  line-height:1.6;
  margin-bottom:16px;
}
.blog-index-card-body a.read-more{
  font-size:.75rem;
  font-weight:700;
  color:var(--navy);
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* ---- SITE FOOTER ----------------------------------------- */
.blog-footer{
  background:#07192f;
  color:rgba(255,255,255,.7);
  text-align:center;
  padding:28px 24px;
  font-size:.85rem;
}
.blog-footer a{color:rgba(255,255,255,.7);}
.blog-footer a:hover{color:#fff;}
.blog-footer-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:12px;
}

/* ---- RESPONSIVE ------------------------------------------ */
@media(max-width:920px){
  .blog-article-wrap{
    grid-template-columns:1fr;
  }
  .blog-sidebar{order:-1;}
  .blog-faq-grid{grid-template-columns:1fr;}
  .blog-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .blog-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .blog-info-grid{grid-template-columns:1fr;}
  .blog-cta{padding:36px 24px;}
}
@media(max-width:544px){
  .blog-related-grid,.blog-index-grid{grid-template-columns:1fr;}
  .blog-cta{padding:32px 18px;}
  .blog-btn--ghost{margin-left:0;margin-top:10px;}
  .blog-hero{padding:40px 0 36px;}
}
