/* =========================================================
   Seyara Fire Safety — theme chrome (header, footer, blog)
   Page bodies are built in Elementor; this styles the frame.
   ========================================================= */

:root{
  --sfs-red:#D7141A;
  --sfs-red-dark:#A50F14;
  --sfs-dark:#0E1116;
  --sfs-dark-2:#161A21;
  --sfs-dark-3:#1F252F;
  --sfs-grey:#B7BDC6;
  --sfs-light:#F4F6F9;
  --sfs-white:#FFFFFF;
  --sfs-amber:#F5A623;
  --sfs-radius:14px;
  --sfs-container:1200px;
  --sfs-head-font:"Oswald",Impact,sans-serif;
  --sfs-body-font:"Barlow",system-ui,sans-serif;
  --sfs-shadow:0 18px 50px rgba(8,10,14,.16);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sfs-body-font);
  color:#1a1f27;
  background:var(--sfs-white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{font-family:var(--sfs-head-font);font-weight:600;line-height:1.1;letter-spacing:.3px;color:var(--sfs-dark);}
a{color:var(--sfs-red);text-decoration:none;transition:color .25s ease;}
a:hover{color:var(--sfs-red-dark);}
img{max-width:100%;height:auto;display:block;}

.sfs-container{width:100%;max-width:var(--sfs-container);margin:0 auto;padding:0 24px;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--sfs-red);color:#fff;padding:10px 16px;z-index:100000;}
.skip-link:focus{left:10px;top:10px;}

/* ---------- Buttons ---------- */
.sfs-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--sfs-head-font);font-weight:600;letter-spacing:.6px;text-transform:uppercase;
  font-size:14px;padding:14px 28px;border-radius:40px;cursor:pointer;border:2px solid transparent;
  transition:transform .2s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease;
}
.sfs-btn--primary{background:var(--sfs-red);color:#fff;box-shadow:0 10px 24px rgba(215,20,26,.32);}
.sfs-btn--primary:hover{background:var(--sfs-red-dark);color:#fff;transform:translateY(-2px);}
.sfs-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);margin-left:10px;}
.sfs-btn--ghost:hover{background:#fff;color:var(--sfs-dark);transform:translateY(-2px);}

/* ---------- Top bar ---------- */
.sfs-topbar{background:var(--sfs-dark);color:var(--sfs-grey);font-size:13.5px;border-bottom:1px solid rgba(255,255,255,.06);}
.sfs-topbar__inner{display:flex;align-items:center;justify-content:space-between;min-height:42px;gap:16px;}
.sfs-topbar__note{letter-spacing:.3px;}
.sfs-topbar__contact a{color:var(--sfs-grey);margin-left:20px;font-weight:500;}
.sfs-topbar__contact a:hover{color:#fff;}
.sfs-topbar__contact i{color:var(--sfs-red);margin-right:6px;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:999;}
.sfs-header-main{background:rgba(14,17,22,.98);backdrop-filter:blur(8px);border-bottom:3px solid var(--sfs-red);}
.sfs-header-main__inner{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px;}
.site-branding .custom-logo{max-height:62px;width:auto;}
.sfs-logo-text{display:flex;flex-direction:column;line-height:1;}
.sfs-logo-text__name{font-family:var(--sfs-head-font);font-size:26px;font-weight:700;color:#fff;letter-spacing:1px;text-transform:uppercase;}
.sfs-logo-text__tag{font-size:11px;color:var(--sfs-grey);letter-spacing:1px;margin-top:4px;}

/* Nav */
.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center;}
.main-navigation li{position:relative;}
.main-navigation a{
  display:block;color:#eef1f5;font-family:var(--sfs-head-font);font-weight:500;letter-spacing:.6px;
  text-transform:uppercase;font-size:14px;padding:12px 14px;border-radius:8px;
}
.main-navigation a:hover,.main-navigation .current-menu-item>a,.main-navigation .current_page_item>a{color:#fff;background:rgba(215,20,26,.18);}
.main-navigation .sub-menu{
  position:absolute;left:0;top:100%;min-width:230px;background:var(--sfs-dark-2);
  border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px;display:none;
  box-shadow:var(--sfs-shadow);z-index:50;
}
.main-navigation li:hover>.sub-menu{display:block;}
.main-navigation .sub-menu a{font-size:13px;text-transform:none;letter-spacing:.3px;padding:10px 12px;}

.sfs-header-actions{display:flex;align-items:center;gap:12px;}

/* Hamburger */
.sfs-menu-toggle{display:none;flex-direction:column;gap:5px;background:transparent;border:0;cursor:pointer;padding:8px;}
.sfs-menu-toggle__bar{width:26px;height:3px;background:#fff;border-radius:3px;transition:transform .3s ease,opacity .3s ease;}
.sfs-menu-toggle.is-active .sfs-menu-toggle__bar:nth-child(1){transform:translateY(8px) rotate(45deg);}
.sfs-menu-toggle.is-active .sfs-menu-toggle__bar:nth-child(2){opacity:0;}
.sfs-menu-toggle.is-active .sfs-menu-toggle__bar:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ---------- Page hero (non-elementor pages) ---------- */
.sfs-page-hero{background:linear-gradient(rgba(14,17,22,.82),rgba(14,17,22,.92)),var(--sfs-dark);color:#fff;padding:70px 0;text-align:center;}
.sfs-page-hero__title{color:#fff;font-size:clamp(30px,5vw,52px);text-transform:uppercase;}
.sfs-page-hero__sub{color:var(--sfs-grey);max-width:720px;margin:14px auto 0;font-size:18px;}

/* Elementor pages: let the builder own the full width */
.sfs-page-content--elementor{padding:0;}

/* ---------- Blog ---------- */
.sfs-blog-layout{display:grid;grid-template-columns:1fr 320px;gap:40px;padding:60px 24px;}
.sfs-post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.sfs-card{background:#fff;border:1px solid #e7eaf0;border-radius:var(--sfs-radius);overflow:hidden;box-shadow:0 8px 24px rgba(14,17,22,.05);}
.sfs-post-card{display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;}
.sfs-post-card:hover{transform:translateY(-4px);box-shadow:var(--sfs-shadow);}
.sfs-post-card__thumb img{aspect-ratio:16/10;object-fit:cover;width:100%;}
.sfs-post-card__body{padding:22px;}
.sfs-post-meta{color:var(--sfs-red);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;}
.sfs-post-card__title{font-size:21px;margin:0 0 10px;}
.sfs-post-card__title a{color:var(--sfs-dark);}
.sfs-post-card__title a:hover{color:var(--sfs-red);}
.sfs-read-more{font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:.5px;display:inline-block;margin-top:12px;}
.sfs-single-article{background:#fff;}
.sfs-single-thumb{margin-bottom:28px;border-radius:var(--sfs-radius);overflow:hidden;}
.sfs-entry-content{font-size:17px;}
.sfs-entry-content h2,.sfs-entry-content h3{margin-top:1.6em;}
.sfs-sidebar .widget{margin-bottom:24px;padding:24px;}
.widget-title{font-size:18px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px;}
.sfs-footer-links{list-style:none;margin:0;padding:0;}

/* ---------- Footer ---------- */
.site-footer{background:var(--sfs-dark);color:var(--sfs-grey);}
.sfs-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding:64px 24px 44px;}
.sfs-footer-col h4.widget-title,.sfs-footer-col .widget-title{color:#fff;}
.site-footer .custom-logo{max-height:60px;margin-bottom:16px;background:#fff;padding:8px;border-radius:10px;}
.sfs-footer-brand{color:#fff;}
.sfs-footer-tagline{font-size:14.5px;line-height:1.7;}
.sfs-footer-contact{margin-top:18px;font-size:14px;}
.sfs-footer-contact p{margin:8px 0;}
.sfs-footer-contact i{color:var(--sfs-red);width:18px;margin-right:8px;}
.sfs-footer-contact a{color:var(--sfs-grey);}
.sfs-footer-contact a:hover{color:#fff;}
.sfs-footer-links li{margin:9px 0;}
.sfs-footer-links a{color:var(--sfs-grey);font-size:14.5px;}
.sfs-footer-links a:hover{color:#fff;padding-left:4px;}
.sfs-footer-bottom{border-top:1px solid rgba(255,255,255,.08);background:#0a0c10;}
.sfs-footer-bottom__inner{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;font-size:13.5px;flex-wrap:wrap;gap:10px;}
.sfs-footer-bottom__inner p{margin:0;}
.sfs-footer-bottom-menu{list-style:none;display:flex;gap:20px;margin:0;padding:0;}
.sfs-footer-bottom-menu a{color:var(--sfs-grey);}
.sfs-footer-bottom-menu a:hover{color:#fff;}

/* ---------- Floating conversion buttons ---------- */
.sfs-floating-actions{position:fixed;right:18px;bottom:22px;z-index:9999;display:flex;flex-direction:column;gap:14px;}
.sfs-float{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .2s ease;}
.sfs-float:hover{transform:scale(1.08);color:#fff;}
.sfs-float--call{background:var(--sfs-red);animation:sfs-pulse 2.2s infinite;}
.sfs-float--wa{background:#25D366;}
@keyframes sfs-pulse{0%{box-shadow:0 0 0 0 rgba(215,20,26,.5);}70%{box-shadow:0 0 0 16px rgba(215,20,26,0);}100%{box-shadow:0 0 0 0 rgba(215,20,26,0);}}

/* Elementor media cards (image-flush cards used across pages) */
.sfs-media-card{overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.sfs-media-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(14,17,22,.18);}
.sfs-media-card img{aspect-ratio:16/10;width:100%;height:auto;object-fit:cover;display:block;transition:transform .5s ease;}
.sfs-media-card:hover img{transform:scale(1.05);}

/* ---------- CPT archives: uniform professional cards ---------- */
.sfs-eyebrow{display:inline-block;color:var(--sfs-red);font-family:var(--sfs-head-font);font-weight:600;text-transform:uppercase;letter-spacing:2.5px;font-size:14px;margin-bottom:12px;}
.sfs-archive-wrap{padding:70px 24px;}
.sfs-card-grid{display:grid;gap:28px;}
.sfs-card-grid.sfs-cols-2{grid-template-columns:repeat(2,1fr);}
.sfs-card-grid.sfs-cols-3{grid-template-columns:repeat(3,1fr);}
.sfs-card-grid.sfs-cols-4{grid-template-columns:repeat(4,1fr);}

.sfs-ebox{background:#fff;border:1px solid #e7eaf0;border-radius:var(--sfs-radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(14,17,22,.05);transition:transform .25s ease,box-shadow .25s ease;}
.sfs-ebox:hover{transform:translateY(-6px);box-shadow:var(--sfs-shadow);}
.sfs-ebox__thumb{display:block;overflow:hidden;background:var(--sfs-dark-2);}
.sfs-ebox__thumb img{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;display:block;transition:transform .55s ease;}
.sfs-ebox:hover .sfs-ebox__thumb img{transform:scale(1.06);}
.sfs-ebox__ph{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;color:rgba(255,255,255,.25);font-size:54px;}
.sfs-ebox__body{padding:24px;display:flex;flex-direction:column;flex:1;}
.sfs-ebox__title{font-size:21px;margin:0 0 10px;line-height:1.2;}
.sfs-ebox__title a{color:var(--sfs-dark);}
.sfs-ebox__title a:hover{color:var(--sfs-red);}
.sfs-ebox__excerpt{color:var(--sfs-body,#4a5160);font-size:15px;line-height:1.65;margin:0 0 16px;flex:1;}
.sfs-ebox__link{margin-top:auto;font-family:var(--sfs-head-font);font-weight:600;text-transform:uppercase;letter-spacing:.6px;font-size:13px;color:var(--sfs-red);display:inline-flex;align-items:center;gap:8px;}
.sfs-ebox__link i{transition:transform .2s ease;}
.sfs-ebox__link:hover i{transform:translateX(4px);}
.sfs-empty{text-align:center;color:#6b7280;padding:40px;font-size:17px;}

/* ---------- Gallery tiles (uniform squares) ---------- */
.sfs-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.sfs-gtile{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--sfs-dark-2);}
.sfs-gtile img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;display:block;transition:transform .5s ease;}
.sfs-gtile:hover img{transform:scale(1.07);}
.sfs-gtile__cap{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;color:#fff;font-size:14px;font-weight:600;background:linear-gradient(transparent,rgba(10,12,17,.82));opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;}
.sfs-gtile:hover .sfs-gtile__cap{opacity:1;transform:translateY(0);}

/* ---------- CPT single ---------- */
.sfs-single-hero{background:var(--sfs-dark);background-size:cover;background-position:center;color:#fff;padding:90px 0 70px;}
.sfs-single-hero .sfs-page-hero__title{color:#fff;}
.sfs-back{display:inline-block;color:var(--sfs-grey);font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-size:13px;margin-bottom:18px;}
.sfs-back:hover{color:#fff;}
.sfs-single-layout{display:grid;grid-template-columns:1fr 340px;gap:44px;padding:64px 24px;align-items:start;}
.sfs-single-main{font-size:17px;line-height:1.8;color:#2b313c;}
.sfs-single-main h2,.sfs-single-main h3{margin:1.4em 0 .5em;}
.sfs-single-main img{border-radius:12px;margin:18px 0;}
.sfs-single-main ul{padding-left:0;list-style:none;}
.sfs-single-main ul li{position:relative;padding-left:30px;margin:10px 0;}
.sfs-single-main ul li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--sfs-red);position:absolute;left:0;top:2px;font-size:14px;}
.sfs-aside-card{position:sticky;top:120px;padding:28px;background:var(--sfs-dark);color:#fff;}
.sfs-aside-card h3{color:#fff;font-size:22px;margin:0 0 10px;}
.sfs-aside-card p{color:var(--sfs-grey);font-size:15px;margin:0 0 18px;}
.sfs-aside-card .sfs-btn{display:flex;width:100%;margin:0 0 12px;}
.sfs-btn--dark{background:var(--sfs-dark-3);color:#fff;}
.sfs-btn--dark:hover{background:#000;color:#fff;transform:translateY(-2px);}

/* ---------- Reusable CTA band (archive/single) ---------- */
.sfs-cta-band{background:linear-gradient(rgba(12,14,19,.9),rgba(12,14,19,.94)),var(--sfs-dark-2);color:#fff;text-align:center;padding:78px 0;}
.sfs-cta-band h2{color:#fff;font-size:clamp(26px,4vw,40px);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;}
.sfs-cta-band p{color:var(--sfs-grey);max-width:640px;margin:0 auto 26px;font-size:18px;}
.sfs-cta-band__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- Pagination */
.pagination,.nav-links{display:flex;gap:8px;justify-content:center;margin-top:36px;flex-wrap:wrap;}
.page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e0e4ea;color:var(--sfs-dark);font-weight:600;padding:0 10px;}
.page-numbers.current,.page-numbers:hover{background:var(--sfs-red);color:#fff;border-color:var(--sfs-red);}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .sfs-footer-grid{grid-template-columns:1fr 1fr;}
  .sfs-blog-layout{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .sfs-topbar__note{display:none;}
  .sfs-topbar__inner{justify-content:center;}
  .sfs-header-cta{display:none;}
  .sfs-menu-toggle{display:flex;}
  .main-navigation{
    position:fixed;inset:0 0 0 auto;top:0;height:100vh;width:min(84vw,360px);
    background:var(--sfs-dark-2);transform:translateX(100%);transition:transform .32s ease;
    padding:90px 22px 30px;overflow-y:auto;z-index:998;box-shadow:-20px 0 60px rgba(0,0,0,.4);
  }
  body.sfs-menu-open .main-navigation{transform:translateX(0);}
  body.sfs-menu-open{overflow:hidden;}
  .main-navigation ul{flex-direction:column;align-items:stretch;gap:2px;}
  .main-navigation a{font-size:16px;padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;}
  .main-navigation .sub-menu{position:static;display:block;background:transparent;border:0;box-shadow:none;padding:0 0 0 14px;}
  .main-navigation .sub-menu a{color:var(--sfs-grey);}
  .sfs-menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .3s ease;z-index:997;}
  body.sfs-menu-open .sfs-menu-overlay{opacity:1;visibility:visible;}
}
@media (max-width:640px){
  .sfs-container{padding:0 18px;}
  .sfs-footer-grid{grid-template-columns:1fr;gap:30px;padding:48px 18px 32px;}
  .sfs-post-grid{grid-template-columns:1fr;}
  .sfs-footer-bottom__inner{flex-direction:column;text-align:center;}
  .sfs-page-hero{padding:52px 0;}
  .sfs-btn--ghost{margin-left:0;margin-top:10px;}
  .sfs-float{width:50px;height:50px;font-size:21px;}
}

/* New grids — responsive */
@media (max-width:1024px){
  .sfs-card-grid.sfs-cols-3,.sfs-card-grid.sfs-cols-4{grid-template-columns:repeat(2,1fr);}
  .sfs-single-layout{grid-template-columns:1fr;}
  .sfs-aside-card{position:static;}
}
@media (max-width:640px){
  .sfs-card-grid.sfs-cols-2,.sfs-card-grid.sfs-cols-3,.sfs-card-grid.sfs-cols-4{grid-template-columns:1fr;}
  .sfs-gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .sfs-archive-wrap{padding:48px 18px;}
  .sfs-single-layout{padding:44px 18px;}
  .sfs-cta-band{padding:56px 0;}
}
