/* ========================================================================
   ROCKETROUTINE - CUSTOM CSS (consolidated & cleaned up)
   Paste this into: Appearance > Customize > Additional CSS
   This REPLACES everything you currently have in that box - delete the
   old content first, then paste this in as one clean copy.
   ======================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400&display=swap');

:root{
  --sky:#0091C7; --sky-deep:#045A82; --sky-pale:#E6F4FB;
  --ink:#122029; --ink-soft:#4B5B66;
  --cloud:#F5F7FA; --paper:#FFFFFF;
  --gold:#FFC93C; --gold-deep:#C98A00;
  --wp--style--root--padding-left: 40px !important;
  --wp--style--root--padding-right: 40px !important;
}

html, body{
  overflow-x: hidden;
  max-width: 100%;
}

body{
  font-family:'Atkinson Hyperlegible',sans-serif;
  color:var(--ink);
}

h1,h2,h3,.wpb_heading,.vc_custom_heading{
  font-family:'Baloo 2',sans-serif !important;
  font-weight:700;
}

/* ---------- page width ---------- */
.has-global-padding{
  padding-left: 40px !important;
  padding-right: 40px !important;
}
.entry-content.wp-block-post-content,
.wpb-content-wrapper{
  max-width: 100% !important;
  width: 100% !important;
}

/* keep every NORMAL row centred within that width */
.wpb_row:not(.rr-wide-row):not(.rr-divider-row){
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

/* ---------- full-bleed rows (hero, dividers, video, etc) ----------
   Uses a transform instead of left/margin math - more reliable regardless
   of what WPBakery wrapper this row happens to sit inside. */
.rr-wide-row, .rr-divider-row{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 50% !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}
.rr-wide-row > .vc_column_container{
  /*max-width: 1300px !important;*/
  margin: 0 auto !important;
  /*float: none !important;*/
  /*padding-left: 24px !important;*/
  /*padding-right: 24px !important;*/
}

.vc_column_container>.vc_column-inner {
    padding-left: 0!important;
    padding-right: 0!important;
}

.wpb_button, .wpb_content_element, ul.wpb_thumbnails-fluid>li {
    margin-bottom: 0!important;
}

/* ---------- cloud section dividers ---------- */
.rr-divider{position:relative;width:100%;overflow:hidden;line-height:0;display:block;}
.rr-divider svg{width:100%;height:auto;display:block;}
.rr-divider-row{padding:0 !important;margin-top:0 !important;margin-bottom:0 !important;}
.rr-divider-row > .vc_column_container,
.rr-divider-row .wpb_wrapper,
.rr-divider-row .vc_column-inner,
.rr-divider-row .wpb_raw_html,
.rr-divider-row .wpb_raw_code{
  padding:0 !important;
  margin:0 !important;
}
.rr-divider-row .wpb_wrapper > *{margin:0 !important;}
.rr-divider-row .wpb_content_element{margin-top:0 !important;margin-bottom:0 !important;}

/* ---------- hero ---------- */
.rr-hero{position:relative;background:radial-gradient(ellipse 120% 90% at 30% 0%, #2FA9DE 0%, var(--sky) 45%, var(--sky-deep) 100%);overflow:hidden;padding:64px 24px;border-radius:0;}
.rr-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;max-width:1160px;margin:0 auto;}
.rr-hero h1{color:#fff;font-size:clamp(34px,4.4vw,54px);line-height:1.12;margin:16px 0;}
.rr-hero h1 em{font-style:normal;color:var(--gold);}
.rr-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'Baloo 2',sans-serif;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.14);padding:7px 16px;border-radius:20px;}
.rr-hero-sub{color:rgba(255,255,255,.88);font-size:18px;max-width:480px;margin:20px 0 30px;}
.rr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Baloo 2',sans-serif;font-weight:600;font-size:16px;padding:15px 28px;border-radius:14px;border:none;cursor:pointer;text-decoration:none;}
.rr-btn-primary{background:var(--gold);color:#3A2900;}
.rr-btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.5);}
.rr-phone-shell{position:relative;width:280px;height:663px;max-width:100%;border-radius:44px;border:9px solid #0B1A22;background:#0B1A22;box-shadow:0 30px 60px rgba(4,30,45,.45);overflow:hidden;margin:0 auto;}
.rr-phone-shell .rr-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;}
.rr-phone-shell .rr-slide.active{opacity:1;}
.rr-phone-shell img{width:100%;height:100%;object-fit:contain;}
.rr-dots{display:flex;gap:8px;justify-content:center;margin-top:20px;}
.rr-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);}
.rr-dot.active{background:var(--gold);}
@media (max-width:900px){ .rr-hero-grid{grid-template-columns:1fr;} .rr-hero-sub{max-width:none;} }

/* ---------- video section ---------- */
.rr-video-wrap{background:var(--ink);text-align:center;padding:70px 24px;}
.rr-video-frame{
  max-width:300px;
  margin:0 auto !important;
  text-align:center;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.rr-video-frame .wp-video{margin:0 auto !important;width:100% !important;max-width:100% !important;}
.rr-video-frame video{width:100% !important;height:auto !important;display:block;}

/* ---------- palette strip ---------- */
.rr-palette-strip{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:0 24px 60px;}
.rr-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid rgba(18,32,41,.08);border-radius:30px;padding:8px 16px 8px 8px;font-size:13.5px;font-weight:600;}
.rr-chip .sw{width:26px;height:26px;border-radius:50%;flex-shrink:0;}

/* ---------- small utility classes used via el_class ---------- */
.rr-mb16{margin-bottom:16px;}
.rr-quote{border-left:4px solid var(--gold);padding-left:20px;margin-top:24px;font-style:italic;}
.rr-shot-300 img{max-width:300px;margin:0 auto;}
.rr-shot-260 img{max-width:260px;margin:0 auto;}
.rr-center{text-align:center;}
.rr-center-white{text-align:center;color:#fff;}
.rr-white{color:#fff;}
.rr-right-white{text-align:right;color:#fff;}
@media (max-width:600px){ .rr-right-white{text-align:left;} }

/* ---------- Contact Form 7 - match site styling ---------- */
.wpcf7-form{
  font-family:'Atkinson Hyperlegible',sans-serif !important;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  align-items:flex-start;
  max-width:420px;
  margin:0 auto;
}
.wpcf7-form p{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  width:100%;
}
.wpcf7-form-control-wrap{
  flex:1;
  min-width:220px;
}
.wpcf7 input[type="email"],
.wpcf7 input[type="text"],
.wpcf7 textarea{
  width:100%;
  padding:20px 18px;
  border-radius:14px;
  border:none;
  font-family:'Atkinson Hyperlegible',sans-serif;
  font-size:15px;
  box-sizing:border-box;
}
.wpcf7 textarea{ resize:vertical; }
.wpcf7 input[type="submit"]{
  background:#FFC93C;
  color:#3A2900;
  font-family:'Baloo 2',sans-serif;
  font-weight:600;
  font-size:16px;
  padding:15px 28px;
  border-radius:14px;
  border:none;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .15s ease;
}
.wpcf7 input[type="submit"]:hover{
  transform:translateY(-2px);
}
.wpcf7-not-valid-tip{
  font-family:'Atkinson Hyperlegible',sans-serif;
  font-size:12px;
  width:100%;
  text-align:center;
}
.wpcf7-response-output{
  font-family:'Atkinson Hyperlegible',sans-serif;
  color:#fff;
  border-radius:12px;
  text-align:center;
  width:100%;
}