/* Redcube Technologies policy pages — dedicated override stylesheet */
html { scroll-padding-top: 96px; }
body.policy-template { margin: 0; background: #f4f5f7; color: #454545; overflow-x: hidden; }
body.policy-template #header { min-height: 70px; background: rgba(255,255,255,.98); box-shadow: 0 6px 28px rgba(15,15,15,.08); }
body.policy-template #header .logo img { max-height: 52px; }
body.policy-template .policy-page { padding-top: 70px !important; background: #f4f5f7 !important; }
body.policy-template .policy-hero { position: relative !important; isolation: isolate; overflow: hidden !important; padding: 64px 0 92px !important; background: radial-gradient(circle at 88% 18%, rgba(224,58,60,.28), transparent 24%), radial-gradient(circle at 72% 112%, rgba(224,58,60,.17), transparent 32%), linear-gradient(118deg,#111 0%,#1a1a1a 58%,#252525 100%) !important; color:#fff !important; }
body.policy-template .policy-hero::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:46px 46px; -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 45%,#000 100%); mask-image:linear-gradient(to right,transparent 0%,#000 45%,#000 100%); }
body.policy-template .policy-hero::after { content:""; position:absolute; right:-90px; bottom:-155px; z-index:-1; width:350px; height:350px; border:54px solid rgba(224,58,60,.16); border-radius:50%; background:transparent !important; }
body.policy-template .policy-hero .container { position:relative; z-index:2; max-width:1180px; }
body.policy-template .policy-hero-topline { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:29px; }
body.policy-template .policy-breadcrumb { display:inline-flex !important; align-items:center; gap:8px; margin:0 !important; color:rgba(255,255,255,.68) !important; font-family:"Raleway",sans-serif; font-size:13px !important; font-weight:600; line-height:1.4; }
body.policy-template .policy-breadcrumb a { color:#fff !important; }
body.policy-template .policy-breadcrumb a:hover { color:#e03a3c !important; }
body.policy-template .policy-breadcrumb i { color:#e03a3c !important; font-size:11px !important; }
body.policy-template .policy-kicker { display:inline-flex; align-items:center; gap:9px; min-height:36px; padding:8px 14px; border:1px solid rgba(224,58,60,.38); border-radius:999px; background:rgba(224,58,60,.1); color:#fff; font-family:"Raleway",sans-serif; font-size:12px; font-weight:700; letter-spacing:.65px; text-transform:uppercase; }
body.policy-template .policy-kicker i { color:#ef5557; font-size:15px; line-height:1; }
body.policy-template .policy-hero-icon { display:none !important; }
body.policy-template .policy-hero h1 { max-width:900px; margin:0 0 15px !important; color:#fff !important; font-family:"Raleway",sans-serif; font-size:clamp(38px,4.2vw,56px) !important; font-weight:800 !important; letter-spacing:-1.2px; line-height:1.08; }
body.policy-template .policy-hero h1::after { content:""; display:block; width:58px; height:4px; margin-top:20px; border-radius:99px; background:#e03a3c; }
body.policy-template .policy-hero p { max-width:820px !important; margin:0 !important; color:rgba(255,255,255,.76) !important; font-size:16px !important; line-height:1.75 !important; }
body.policy-template .policy-meta-strip { position:relative !important; z-index:6 !important; margin-top:-47px !important; }
body.policy-template .policy-meta-strip .container, body.policy-template .policy-content-wrap .container { max-width:1180px; }
body.policy-template .policy-meta-card { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; overflow:hidden; border:1px solid #e5e5e5 !important; border-top:4px solid #e03a3c !important; border-radius:12px !important; background:#fff !important; box-shadow:0 18px 45px rgba(20,20,20,.12) !important; }
body.policy-template .policy-meta-item { display:flex !important; align-items:center; gap:14px; min-width:0; min-height:92px; padding:20px 24px !important; border-right:1px solid #ececec !important; background:#fff; }
body.policy-template .policy-meta-item:last-child { border-right:0 !important; }
body.policy-template .policy-meta-item > i { flex:0 0 42px; width:42px !important; height:42px !important; display:inline-flex !important; align-items:center; justify-content:center; border:1px solid rgba(224,58,60,.16); border-radius:10px !important; background:#fff4f4 !important; color:#e03a3c !important; font-size:19px !important; line-height:1 !important; }
body.policy-template .policy-meta-item div { min-width:0; }
body.policy-template .policy-meta-item small { display:block !important; margin-bottom:4px !important; color:#888 !important; font-size:10px !important; font-weight:800 !important; letter-spacing:.8px; line-height:1.35; text-transform:uppercase; }
body.policy-template .policy-meta-item strong, body.policy-template .policy-meta-item a { display:block; color:#222 !important; font-size:14px !important; font-weight:750 !important; line-height:1.45; overflow-wrap:anywhere; }
body.policy-template .policy-meta-item a:hover { color:#e03a3c !important; }
body.policy-template .policy-content-wrap { padding:58px 0 82px !important; background:#f4f5f7 !important; }
body.policy-template .policy-content-wrap .row { --bs-gutter-x:32px; --bs-gutter-y:28px; }
body.policy-template .policy-sidebar { position:sticky !important; top:96px !important; overflow:hidden; padding:0 !important; border:1px solid #e4e4e4 !important; border-radius:12px !important; background:#fff !important; box-shadow:0 12px 34px rgba(20,20,20,.07) !important; }
body.policy-template .policy-sidebar h3 { position:relative; margin:0 !important; padding:20px 22px 17px !important; background:#161616; color:#fff !important; font-size:17px !important; font-weight:800 !important; }
body.policy-template .policy-sidebar h3::after { content:""; position:absolute; left:22px; bottom:0; width:42px; height:3px; border-radius:99px; background:#e03a3c; }
body.policy-template .policy-sidebar ul { margin:0 !important; padding:12px 14px 15px !important; list-style:none; }
body.policy-template .policy-sidebar li + li { border-top:1px solid #f0f0f0 !important; }
body.policy-template .policy-sidebar a { display:flex !important; align-items:center; justify-content:space-between; gap:12px; margin:0 !important; padding:12px 9px !important; border-radius:7px; color:#4f4f4f !important; font-size:13px !important; font-weight:700 !important; line-height:1.35; transition:.22s ease; }
body.policy-template .policy-sidebar a i { flex:0 0 auto; color:#aaa !important; font-size:12px !important; transition:.22s ease; }
body.policy-template .policy-sidebar a:hover { padding-left:13px !important; background:#fff2f2; color:#e03a3c !important; }
body.policy-template .policy-sidebar a:hover i { color:#e03a3c !important; transform:translateX(2px); }
body.policy-template .policy-help-card { position:relative; overflow:hidden; margin-top:20px !important; padding:26px !important; border-radius:12px !important; background:linear-gradient(145deg,#141414,#242424) !important; color:#fff !important; box-shadow:0 14px 35px rgba(18,18,18,.14); }
body.policy-template .policy-help-card::after { content:""; position:absolute; right:-34px; bottom:-42px; width:105px; height:105px; border:20px solid rgba(224,58,60,.14); border-radius:50%; }
body.policy-template .policy-help-card > i { position:relative; z-index:1; display:inline-flex !important; align-items:center; justify-content:center; width:44px; height:44px; margin-bottom:16px !important; border-radius:10px; background:#e03a3c; color:#fff !important; font-size:21px !important; }
body.policy-template .policy-help-card h4, body.policy-template .policy-help-card p, body.policy-template .policy-help-card a { position:relative; z-index:1; }
body.policy-template .policy-help-card h4 { margin:0 0 9px !important; color:#fff !important; font-size:18px !important; font-weight:800 !important; }
body.policy-template .policy-help-card p { margin:0 0 16px !important; color:rgba(255,255,255,.69) !important; font-size:13px !important; line-height:1.7 !important; }
body.policy-template .policy-help-card a { color:#fff !important; font-size:13px !important; font-weight:750 !important; }
body.policy-template .policy-help-card a:hover { color:#ef5557 !important; }
body.policy-template .policy-document { overflow:hidden; padding:38px 40px !important; border:1px solid #e4e4e4 !important; border-radius:12px !important; background:#fff !important; box-shadow:0 12px 34px rgba(20,20,20,.07) !important; }
body.policy-template .policy-intro { position:relative; margin:0 0 34px !important; padding:22px 24px 22px 28px !important; border:1px solid #f0d6d6 !important; border-left:5px solid #e03a3c !important; border-radius:8px !important; background:linear-gradient(90deg,#fff4f4 0%,#fffafa 100%) !important; color:#3f3f3f !important; font-size:15px; line-height:1.8 !important; }
body.policy-template .policy-section { scroll-margin-top:105px; margin:0 !important; padding:31px 0 !important; border-bottom:1px solid #ececec !important; }
body.policy-template .policy-section:first-of-type { padding-top:0 !important; }
body.policy-template .policy-section:last-child { padding-bottom:0 !important; border-bottom:0 !important; }
body.policy-template .policy-section-heading { display:flex !important; align-items:flex-start !important; gap:14px !important; margin:0 0 17px !important; }
body.policy-template .policy-section-number { flex:0 0 42px; width:42px !important; height:42px !important; display:inline-flex !important; align-items:center; justify-content:center; border:1px solid #282828; border-radius:9px !important; background:#171717 !important; color:#fff !important; box-shadow:inset 0 -3px 0 #e03a3c; font-family:"Poppins",sans-serif; font-size:12px !important; font-weight:800 !important; line-height:1 !important; }
body.policy-template .policy-section h2 { margin:5px 0 0 !important; color:#262626 !important; font-size:24px !important; font-weight:800 !important; letter-spacing:-.25px; line-height:1.28 !important; }
body.policy-template .policy-section h3 { margin:23px 0 9px !important; color:#303030 !important; font-size:17px !important; font-weight:800 !important; line-height:1.4; }
body.policy-template .policy-section p, body.policy-template .policy-section li { color:#555 !important; font-size:14.5px !important; line-height:1.82 !important; }
body.policy-template .policy-section p { margin-bottom:13px; }
body.policy-template .policy-section p:last-child { margin-bottom:0; }
body.policy-template .policy-section a { color:#e03a3c !important; font-weight:650; }
body.policy-template .policy-section ul { margin:14px 0 4px !important; padding:0 !important; list-style:none !important; }
body.policy-template .policy-section li { position:relative; margin-bottom:9px !important; padding-left:26px !important; }
body.policy-template .policy-section li::before { content:"" !important; position:absolute; left:1px; top:10px; width:8px; height:8px; border:2px solid #e03a3c; border-radius:2px; background:#fff; transform:rotate(45deg); }
body.policy-template .policy-callout { display:flex !important; align-items:flex-start; gap:14px !important; margin:20px 0 4px !important; padding:18px 20px !important; border:1px solid #e5e5e5 !important; border-radius:9px !important; background:#f8f8f8 !important; box-shadow:inset 4px 0 0 #e03a3c; }
body.policy-template .policy-callout > i { flex:0 0 38px; width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; margin:0 !important; border-radius:9px; background:#fff; color:#e03a3c !important; font-size:18px !important; box-shadow:0 5px 18px rgba(20,20,20,.08); }
body.policy-template .policy-callout strong { color:#222 !important; }
body.policy-template .policy-contact-box { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; margin-top:18px !important; }
body.policy-template .policy-contact-item { min-width:0; padding:18px !important; border:1px solid #e6e6e6 !important; border-radius:9px !important; background:#fafafa !important; transition:.22s ease; }
body.policy-template .policy-contact-item:hover { border-color:#efb5b6 !important; background:#fff8f8 !important; transform:translateY(-2px); }
body.policy-template .policy-contact-item > i { display:inline-flex !important; align-items:center; justify-content:center; width:38px; height:38px; margin-bottom:11px !important; border-radius:9px; background:#fff0f0; color:#e03a3c !important; font-size:18px !important; }
body.policy-template .policy-contact-item small { display:block !important; margin-bottom:5px !important; color:#888 !important; font-size:10px !important; font-weight:800 !important; letter-spacing:.7px; text-transform:uppercase; }
body.policy-template .policy-contact-item strong, body.policy-template .policy-contact-item a { color:#333 !important; font-size:13px !important; font-weight:750 !important; line-height:1.45; overflow-wrap:anywhere; }
body.policy-template .policy-action-bar { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:20px !important; margin-top:30px !important; padding:24px 26px !important; border-left:5px solid #e03a3c; border-radius:10px !important; background:linear-gradient(125deg,#151515,#292929) !important; color:#fff !important; }
body.policy-template .policy-action-bar h3 { margin:0 0 5px !important; color:#fff !important; font-size:18px !important; font-weight:800 !important; }
body.policy-template .policy-action-bar p { margin:0 !important; color:rgba(255,255,255,.67) !important; font-size:13px !important; line-height:1.55 !important; }
body.policy-template .policy-action-button { display:inline-flex !important; align-items:center; justify-content:center; gap:8px; min-height:43px; padding:11px 19px !important; border:1px solid #e03a3c; border-radius:5px !important; background:#e03a3c !important; color:#fff !important; white-space:nowrap; font-size:13px !important; font-weight:750 !important; transition:.22s ease; }
body.policy-template .policy-action-button:hover { border-color:#fff; background:#fff !important; color:#151515 !important; }
body.policy-template .error-page { min-height:calc(100vh - 70px); display:flex; align-items:center; padding:138px 0 80px !important; background:#f4f5f7 !important; }
body.policy-template .error-card { max-width:720px; margin:0 auto; padding:56px 42px !important; border:1px solid #e3e3e3 !important; border-top:5px solid #e03a3c !important; border-radius:13px !important; background:#fff !important; text-align:center; box-shadow:0 15px 42px rgba(20,20,20,.1) !important; }
body.policy-template .error-card .error-code { color:#e03a3c !important; font-size:82px !important; font-weight:800 !important; line-height:1; }
@media (min-width:992px) { body.policy-template .policy-content-wrap aside.col-lg-4 { flex:0 0 30%; max-width:30%; } body.policy-template .policy-content-wrap .col-lg-8 { flex:0 0 70%; max-width:70%; } }
@media (max-width:991.98px) { body.policy-template .policy-hero { padding:56px 0 84px !important; } body.policy-template .policy-meta-card { grid-template-columns:1fr !important; } body.policy-template .policy-meta-item { min-height:78px; border-right:0 !important; border-bottom:1px solid #ececec; } body.policy-template .policy-meta-item:last-child { border-bottom:0; } body.policy-template .policy-sidebar { position:static !important; } body.policy-template .policy-sidebar ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; } body.policy-template .policy-sidebar li + li { border-top:0 !important; } body.policy-template .policy-sidebar li { border-bottom:1px solid #f0f0f0; } }
@media (max-width:767.98px) { html { scroll-padding-top:78px; } body.policy-template #header { min-height:58px; } body.policy-template #header .logo img { max-height:43px; } body.policy-template .policy-page { padding-top:58px !important; } body.policy-template .policy-hero { padding:38px 0 66px !important; } body.policy-template .policy-hero::before { background-size:34px 34px; opacity:.11; } body.policy-template .policy-hero::after { right:-115px; bottom:-185px; } body.policy-template .policy-hero-topline { align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:23px; } body.policy-template .policy-kicker { order:-1; min-height:32px; padding:7px 11px; font-size:10px; letter-spacing:.55px; } body.policy-template .policy-kicker i { font-size:13px; } body.policy-template .policy-breadcrumb { font-size:12px !important; } body.policy-template .policy-hero h1 { margin-bottom:13px !important; font-size:clamp(32px,10vw,40px) !important; letter-spacing:-.7px; } body.policy-template .policy-hero h1::after { width:48px; height:3px; margin-top:15px; } body.policy-template .policy-hero p { font-size:14px !important; line-height:1.7 !important; } body.policy-template .policy-meta-strip { margin-top:-30px !important; } body.policy-template .policy-meta-card { border-top-width:3px !important; border-radius:10px !important; } body.policy-template .policy-meta-item { min-height:0; padding:16px 17px !important; } body.policy-template .policy-meta-item > i { flex-basis:38px; width:38px !important; height:38px !important; font-size:17px !important; } body.policy-template .policy-meta-item strong, body.policy-template .policy-meta-item a { font-size:13px !important; } body.policy-template .policy-content-wrap { padding:38px 0 62px !important; } body.policy-template .policy-content-wrap .row { --bs-gutter-x:20px; --bs-gutter-y:20px; } body.policy-template .policy-sidebar h3 { padding:18px 18px 15px !important; font-size:16px !important; } body.policy-template .policy-sidebar h3::after { left:18px; } body.policy-template .policy-sidebar ul { grid-template-columns:1fr; padding:10px 12px 13px !important; } body.policy-template .policy-sidebar li { border-bottom:1px solid #f0f0f0; } body.policy-template .policy-sidebar li:last-child { border-bottom:0; } body.policy-template .policy-sidebar a { padding:11px 7px !important; font-size:12.5px !important; } body.policy-template .policy-help-card { margin-top:16px !important; padding:22px !important; } body.policy-template .policy-document { padding:24px 18px !important; border-radius:10px !important; } body.policy-template .policy-intro { margin-bottom:27px !important; padding:18px 17px 18px 19px !important; font-size:13.5px; line-height:1.72 !important; } body.policy-template .policy-section { padding:25px 0 !important; } body.policy-template .policy-section-heading { gap:11px !important; margin-bottom:14px !important; } body.policy-template .policy-section-number { flex-basis:36px; width:36px !important; height:36px !important; border-radius:8px !important; font-size:10px !important; } body.policy-template .policy-section h2 { margin-top:3px !important; font-size:20px !important; line-height:1.32 !important; } body.policy-template .policy-section h3 { font-size:16px !important; } body.policy-template .policy-section p, body.policy-template .policy-section li { font-size:13.5px !important; line-height:1.75 !important; } body.policy-template .policy-callout { flex-direction:column; gap:11px !important; padding:17px !important; } body.policy-template .policy-contact-box { grid-template-columns:1fr !important; } body.policy-template .policy-action-bar { align-items:flex-start !important; flex-direction:column; padding:21px !important; } body.policy-template .policy-action-button { width:100%; } body.policy-template .error-page { padding:115px 0 55px !important; } body.policy-template .error-card { padding:42px 20px !important; } }
@media (max-width:420px) { body.policy-template .policy-hero h1 { font-size:31px !important; } body.policy-template .policy-kicker { white-space:normal; } }

/* ===== Desktop spacing and sidebar stability fixes (V3) ===== */
@media (min-width: 992px) {
  body.policy-template .policy-content-wrap {
    padding-top: 28px !important;
  }

  body.policy-template .policy-content-wrap .row {
    align-items: flex-start !important;
  }

  body.policy-template .policy-content-wrap aside.col-lg-4,
  body.policy-template .policy-content-wrap .col-lg-8 {
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-self: flex-start !important;
  }

  /* Keep both sidebar cards in normal document flow so they never overlap. */
  body.policy-template .policy-sidebar {
    position: static !important;
    top: auto !important;
    z-index: 1 !important;
  }

  body.policy-template .policy-help-card {
    position: relative !important;
    clear: both !important;
    z-index: 1 !important;
    margin-top: 22px !important;
  }
}

/* ===== Match policy page width with the homepage container (V4) ===== */
/* The previous policy layout was capped at 1180px, which created wider
   empty space on large desktop screens. These values now follow the same
   Bootstrap container widths used by the homepage and header. */
@media (min-width: 992px) {
  body.policy-template .policy-hero .container,
  body.policy-template .policy-meta-strip .container,
  body.policy-template .policy-content-wrap .container {
    width: 100% !important;
    max-width: 960px !important;
  }
}

@media (min-width: 1200px) {
  body.policy-template .policy-hero .container,
  body.policy-template .policy-meta-strip .container,
  body.policy-template .policy-content-wrap .container {
    max-width: 1140px !important;
  }
}

@media (min-width: 1400px) {
  body.policy-template .policy-hero .container,
  body.policy-template .policy-meta-strip .container,
  body.policy-template .policy-content-wrap .container {
    max-width: 1320px !important;
  }
}
