/*
Theme Name: CRI Boxed Theme Final Design
Theme URI: https://example.com/
Author: Zillen/Piper
Description: Final approved CRI boxed homepage design. Gutenberg-editable Home Boxes + Images layout with clean editor reset and primary homepage setup.
Version: 6.5.8
License: GPL-2.0-or-later
Text Domain: cri-boxed-final
*/

:root {
  --cri-red:#b51f2a;
  --cri-red-dark:#8f1720;
  --cri-navy:#061b3a;
  --cri-gold:#fba21d;
  --cri-light:#f4f8fb;
  --cri-soft:#e8f1f6;
  --ink:#132638;
  --max:1180px;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  background: #fff;
  line-height: 1.55;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
main.wp-site-blocks, .entry-content { margin: 0; }
.entry-content > * { margin-block-start: 0; }

/* Gutenberg button compatibility for the imported CRI classes */
.wp-block-buttons.hero-actions,
.wp-block-buttons.hero-actions-fixed { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:30px; }
.wp-block-button .wp-block-button__link { border-radius:999px; padding:13px 18px; font-weight:800; text-decoration:none; transition:.2s ease; }
.wp-block-button.btn-primary .wp-block-button__link { color:#fff; background:linear-gradient(135deg,var(--cri-red),var(--cri-red-dark)); box-shadow:0 12px 28px rgba(181,31,42,.22); }
.wp-block-button.btn-secondary .wp-block-button__link { color:var(--cri-navy); background:#fff; border:1px solid #d6e2eb; }
.wp-block-button .wp-block-button__link:hover { transform:translateY(-2px); }
.trust-panel .wp-block-button .wp-block-button__link { border-radius:8px !important; box-shadow:none !important; }
.trust-panel .wp-block-buttons { gap:12px !important; margin-top:24px; }

/* Gutenberg block compatibility for card text */
.mini-stat .wp-block-heading { display:block; color:var(--cri-navy); font-size:22px; line-height:1; margin:0; }
.mini-stat p { display:block; margin:7px 0 0 !important; font-size:12px !important; color:#607286 !important; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.value-card .wp-block-heading,
.solution-card .wp-block-heading,
.cert .wp-block-heading,
.step .wp-block-heading { margin-top:0; }
.cert p, .step p, .value-card p, .solution-card p { margin-top:0; }
.solution-card .tags p { margin:0; }

/* Gutenberg editor/admin helper classes */
.cri-admin-note {
  max-width: 1180px;
  margin: 0 auto;
  padding: 12px 22px;
  font-size: 13px;
  color: #405466;
}


/* v6.4.1 universal hero video + red signal spinner hardfix */
.tech-card .dashboard,
.tech-card-images .dashboard-images,
.dashboard.dashboard-images{
  display:grid !important;
  grid-template-rows:auto auto 1fr auto !important;
  gap:18px !important;
}
.hero-photo-panel,
.tech-card .hero-photo-panel,
.dashboard .hero-photo-panel{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:260px !important;
  overflow:hidden !important;
  background:#0d1f39 !important;
  border-radius:22px !important;
  z-index:2 !important;
}
.tech-card-images .hero-photo-panel,
.dashboard-images .hero-photo-panel{
  border-radius:0 !important;
  min-height:300px !important;
}
.hero-photo-panel video.hero-video,
.hero-photo-panel .hero-video,
body .hero-photo-panel video.hero-video{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:260px !important;
  object-fit:cover !important;
  object-position:center center !important;
  visibility:visible !important;
  opacity:1 !important;
  background:#0d1f39 !important;
}
.tech-card-images .hero-photo-panel video.hero-video,
.dashboard-images .hero-photo-panel video.hero-video{
  min-height:300px !important;
}
.hero-photo-panel::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(6,27,58,.08),rgba(6,27,58,.58)) !important;
  pointer-events:none !important;
  z-index:1 !important;
}
.hero-photo-panel .hero-photo-label{
  position:absolute !important;
  left:22px !important;
  right:22px !important;
  bottom:28px !important;
  color:#fff !important;
  z-index:3 !important;
}
.hero-photo-panel .hero-photo-label span{
  display:block !important;
  color:var(--cri-gold,#fba21d) !important;
  font-size:12px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
  margin-bottom:5px !important;
}
.hero-photo-panel .hero-photo-label strong{
  display:block !important;
  font-size:22px !important;
  line-height:1.1 !important;
}
.signal{
  position:relative !important;
  overflow:hidden !important;
}
.signal .pulse{
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  width:78px !important;
  height:78px !important;
  min-width:78px !important;
  margin-left:auto !important;
  border-radius:999px !important;
  z-index:4 !important;
}
.signal .pulse::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:999px !important;
  background:conic-gradient(from 0deg,rgba(255,255,255,.06),rgba(255,255,255,.78),rgba(255,255,255,.10),rgba(255,255,255,.06)) !important;
  -webkit-mask:radial-gradient(circle,transparent 0 58%,#000 59% 72%,transparent 73%) !important;
  mask:radial-gradient(circle,transparent 0 58%,#000 59% 72%,transparent 73%) !important;
  animation:cri-red-signal-spin-v641 1.8s linear infinite !important;
}
.signal .pulse::after{
  content:"" !important;
  position:absolute !important;
  inset:10px !important;
  border-radius:999px !important;
  border:2px solid rgba(255,255,255,.30) !important;
  animation:cri-red-signal-pulse-v641 2.3s ease-out infinite !important;
}
.signal .pulse i{
  display:block !important;
  width:16px !important;
  height:16px !important;
  border-radius:999px !important;
  background:var(--cri-gold,#fba21d) !important;
  box-shadow:0 0 0 10px rgba(251,162,29,.16) !important;
  z-index:2 !important;
}
@keyframes cri-red-signal-spin-v641{to{transform:rotate(360deg)}}
@keyframes cri-red-signal-pulse-v641{from{transform:scale(.70);opacity:.85}to{transform:scale(1.35);opacity:0}}
@media (max-width:980px){
  .hero-photo-panel,
  .tech-card .hero-photo-panel,
  .dashboard .hero-photo-panel,
  .hero-photo-panel video.hero-video,
  .hero-photo-panel .hero-video,
  body .hero-photo-panel video.hero-video{
    min-height:230px !important;
  }
}


/* v6.4.2 static hero image and reliable dashboard spinner */
.hero-photo-panel,
.hero-photo-panel-standard,
.dashboard .hero-photo-panel,
.dashboard-images .hero-photo-panel{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:220px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  margin:0 0 20px 0 !important;
  background:#d9e5ee !important;
}

.hero-photo-panel img.hero-static-image,
.hero-photo-panel .hero-static-image,
.dashboard .hero-photo-panel img.hero-static-image,
.dashboard-images .hero-photo-panel img.hero-static-image{
  display:block !important;
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.hero-photo-panel .hero-photo-label{
  position:absolute !important;
  left:24px !important;
  right:24px !important;
  bottom:20px !important;
  z-index:3 !important;
}

.signal{
  position:relative !important;
  overflow:visible !important;
}

.signal .pulse,
.signal .pulse-hardfix{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  border-radius:50% !important;
  flex:0 0 72px !important;
  margin-left:auto !important;
  margin-right:6px !important;
  overflow:visible !important;
  background:transparent !important;
}

.signal .pulse i,
.signal .pulse-hardfix i{
  width:16px !important;
  height:16px !important;
  border-radius:50% !important;
  background:#fba21d !important;
  display:block !important;
  position:relative !important;
  z-index:3 !important;
  box-shadow:0 0 0 6px rgba(251,162,29,.18) !important;
}

.signal .pulse::before,
.signal .pulse::after,
.signal .pulse-hardfix::before,
.signal .pulse-hardfix::after,
.signal .pulse .pulse-ring,
.signal .pulse-hardfix .pulse-ring{
  content:'' !important;
  position:absolute !important;
  inset:6px !important;
  border-radius:50% !important;
  border:2px solid rgba(255,255,255,.48) !important;
  opacity:1 !important;
  display:block !important;
}

.signal .pulse::before,
.signal .pulse-hardfix::before,
.signal .pulse .pulse-ring-one,
.signal .pulse-hardfix .pulse-ring-one{
  animation:cri-signal-pulse-ring-one 2.4s ease-out infinite !important;
}

.signal .pulse::after,
.signal .pulse-hardfix::after,
.signal .pulse .pulse-ring-two,
.signal .pulse-hardfix .pulse-ring-two{
  animation:cri-signal-pulse-ring-two 2.4s ease-out infinite .8s !important;
}

@keyframes cri-signal-pulse-ring-one{
  0%{transform:scale(.64);opacity:.95}
  100%{transform:scale(1.18);opacity:0}
}

@keyframes cri-signal-pulse-ring-two{
  0%{transform:scale(.64);opacity:.95}
  100%{transform:scale(1.18);opacity:0}
}

@media (max-width:980px){
  .hero-photo-panel,
  .hero-photo-panel-standard,
  .dashboard .hero-photo-panel,
  .dashboard-images .hero-photo-panel{
    min-height:190px !important;
  }
  .hero-photo-panel img.hero-static-image,
  .hero-photo-panel .hero-static-image,
  .dashboard .hero-photo-panel img.hero-static-image,
  .dashboard-images .hero-photo-panel img.hero-static-image{
    height:190px !important;
  }
}


/* v6.4.3 restore original image hero + force visible red-box spinner */
.hero-photo-panel,
.hero-photo-panel-standard,
.dashboard .hero-photo-panel,
.dashboard-images .hero-photo-panel{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:1.69 / 1 !important;
  border-radius:28px 28px 0 0 !important;
  overflow:hidden !important;
  margin:0 0 22px 0 !important;
  background:#d9e5ee !important;
}

.hero-photo-panel img.hero-static-image,
.hero-photo-panel .hero-static-image,
.dashboard .hero-photo-panel img.hero-static-image,
.dashboard-images .hero-photo-panel img.hero-static-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.hero-photo-panel video,
.hero-photo-panel .hero-video{
  display:none !important;
}

.hero-photo-panel::after{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(6,27,58,.02) 0%,rgba(6,27,58,.42) 100%) !important;
  z-index:1 !important;
  pointer-events:none !important;
}

.hero-photo-panel .hero-photo-label{
  position:absolute !important;
  left:24px !important;
  right:24px !important;
  bottom:20px !important;
  z-index:3 !important;
  color:#fff !important;
}

.signal{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
}

.signal .pulse,
.signal .pulse-hardfix{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
  border-radius:50% !important;
  flex:0 0 74px !important;
  margin-left:auto !important;
  margin-right:4px !important;
  background:transparent !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:visible !important;
}

.signal .pulse i,
.signal .pulse-hardfix i{
  width:16px !important;
  height:16px !important;
  border-radius:50% !important;
  background:#fba21d !important;
  display:block !important;
  position:relative !important;
  z-index:4 !important;
  opacity:1 !important;
  box-shadow:0 0 0 8px rgba(251,162,29,.18) !important;
}

.signal .pulse::before,
.signal .pulse::after,
.signal .pulse-hardfix::before,
.signal .pulse-hardfix::after,
.signal .pulse .pulse-ring,
.signal .pulse-hardfix .pulse-ring{
  content:'' !important;
  position:absolute !important;
  inset:4px !important;
  border-radius:50% !important;
  border:2px solid rgba(255,255,255,.52) !important;
  display:block !important;
  opacity:1 !important;
}

.signal .pulse::before,
.signal .pulse-hardfix::before,
.signal .pulse .pulse-ring-one,
.signal .pulse-hardfix .pulse-ring-one{
  animation:cri-visible-signal-ring-a 2.2s ease-out infinite !important;
}

.signal .pulse::after,
.signal .pulse-hardfix::after,
.signal .pulse .pulse-ring-two,
.signal .pulse-hardfix .pulse-ring-two{
  animation:cri-visible-signal-ring-b 2.2s ease-out infinite .75s !important;
}

@keyframes cri-visible-signal-ring-a{
  0%{transform:scale(.55);opacity:.95}
  100%{transform:scale(1.15);opacity:0}
}

@keyframes cri-visible-signal-ring-b{
  0%{transform:scale(.55);opacity:.95}
  100%{transform:scale(1.15);opacity:0}
}

@media (max-width:980px){
  .hero-photo-panel,
  .hero-photo-panel-standard,
  .dashboard .hero-photo-panel,
  .dashboard-images .hero-photo-panel{
    aspect-ratio:1.69 / 1 !important;
  }
}
