/* ============================================================
   Solutions Unlimited · G-LAY  — brand overrides for ProMotors
   Loaded AFTER style.css. Re-skins accent to G-LAY red/yellow
   and adds a handful of custom components.
   ============================================================ */

:root,
[data-bs-theme=dark]{
  --bs-primary:#E2231A;              /* G-LAY red  */
  --bs-primary-border-subtle:#E2231A;
  --glay-red:#E2231A;
  --glay-yellow:#F5C518;
  --glay-dark:#161616;
  --glay-accent-ink:#F5C518;         /* readable accent text per theme */
  --glay-card:#121212;               /* card surface per theme */
}
[data-bs-theme=light]{
  --bs-primary:#E2231A;
  --bs-primary-border-subtle:#E2231A;
  --glay-accent-ink:#9a6b00;         /* dark amber — readable on light */
  --glay-card:#ffffff;
}

/* focus ring to match brand */
:focus-visible{ outline:2px solid var(--glay-red); outline-offset:4px; }

/* ---------- Text wordmark logo ---------- */
.su_logo .site_link{
  display:inline-flex; align-items:center; gap:12px; text-decoration:none; line-height:1;
}
.su_logo .su_mark{
  flex:0 0 auto; width:54px; height:54px; border-radius:10px;
  display:grid; place-items:center; overflow:hidden; padding:3px;
  background:#fff; box-shadow:0 6px 18px rgba(0,0,0,.25);
  border:1px solid rgba(0,0,0,.08);
}
.su_logo .su_mark img{ width:100%; height:100%; object-fit:contain; display:block; }
.su_logo .su_name{ display:flex; flex-direction:column; }
.su_logo .su_name b{
  font-family:var(--bs-font-heading); font-weight:700; letter-spacing:.14em;
  font-size:19px; color:var(--bs-body-color); text-transform:uppercase;
}
.su_logo .su_name span{
  font-size:10.5px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--glay-red); font-weight:700;
}
[data-bs-theme=light] .su_logo .su_name b{ color:#161616; }

/* ---------- Nav spacing (7 items fit on one line) ---------- */
@media (min-width:992px){
  .main_menu_list > li:not(:last-child){ margin-right:26px; }
}
@media (min-width:992px) and (max-width:1199px){
  .main_menu_list > li:not(:last-child){ margin-right:18px; }
  .main_menu_list > li{ font-size:14px; }
}

/* ---------- Generic section helpers ---------- */
.glay_eyebrow{
  display:inline-block; margin-bottom:14px; padding:6px 16px; border-radius:40px;
  font-family:var(--bs-font-heading); font-weight:600; font-size:12px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--glay-accent-ink);
  background:rgba(245,197,24,.08); border:1px solid rgba(245,197,24,.3);
}
[data-bs-theme=light] .glay_eyebrow{ background:rgba(154,107,0,.08); border-color:rgba(154,107,0,.3); }
.text_yellow{ color:var(--glay-accent-ink)!important; }
.text_red{ color:var(--glay-red)!important; }

/* ============================================================
   Custom brand visuals (replace busy marketing images)
   ============================================================ */
.glay_visual{
  position:relative; border-radius:24px; overflow:hidden; min-height:460px; width:100%;
  background:radial-gradient(ellipse at 50% 26%, rgba(226,35,26,.28), transparent 58%), linear-gradient(160deg,#1b1b1a,#080808);
  border:1px solid rgba(255,255,255,.07); box-shadow:0 30px 70px rgba(0,0,0,.5);
  display:grid; place-items:center;
}
.glay_visual::before{
  content:""; position:absolute; inset:0;
  background:url('../brand/honeycomb.svg') center/500px auto repeat; opacity:.5;
  -webkit-mask:radial-gradient(ellipse at 50% 44%, #000 8%, transparent 72%);
          mask:radial-gradient(ellipse at 50% 44%, #000 8%, transparent 72%);
}
/* coating rings + central badge */
.gv_core{ position:relative; z-index:2; display:grid; place-items:center; width:240px; height:240px; }
.gv_core::before,.gv_core::after{ content:""; position:absolute; border-radius:50%; }
.gv_core::before{ width:100%; height:100%; border:1px solid rgba(245,197,24,.28); }
.gv_core::after{ width:74%; height:74%; border:2px solid rgba(226,35,26,.45); box-shadow:0 0 46px rgba(226,35,26,.35), inset 0 0 30px rgba(226,35,26,.2); animation:gvSpin 16s linear infinite; }
@keyframes gvSpin{ to{ transform:rotate(360deg); } }
.gv_badge{ position:relative; z-index:3; width:130px; height:130px; border-radius:24px; background:#fff;
  display:grid; place-items:center; padding:11px; box-shadow:0 12px 34px rgba(0,0,0,.45); }
.gv_badge img{ width:100%; height:100%; object-fit:contain; display:block; }
/* floating stat chips */
.gv_chip{ position:absolute; z-index:4; display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  background:rgba(18,18,18,.82); border:1px solid rgba(255,255,255,.12); color:#fff;
  font-size:13px; font-weight:700; padding:9px 14px; border-radius:40px; box-shadow:0 8px 22px rgba(0,0,0,.45); }
.gv_chip i{ color:var(--glay-yellow); font-size:13px; }
.gv_chip.c1{ top:13%; left:7%; } .gv_chip.c2{ top:26%; right:5%; }
.gv_chip.c3{ bottom:15%; left:10%; } .gv_chip.c4{ bottom:25%; right:7%; }
/* graphene hexagon node (science visual) */
.gv_hexnode{ position:relative; z-index:2; width:220px; height:220px; display:grid; place-items:center; }
.gv_hexnode svg{ width:100%; height:100%; filter:drop-shadow(0 0 24px rgba(245,197,24,.3)); }
.gv_caption{ position:absolute; z-index:4; bottom:22px; left:0; right:0; text-align:center;
  color:#cfcfcf; font-size:13px; font-weight:600; letter-spacing:.04em; }
@media (max-width:991px){ .glay_visual{ min-height:380px; } .gv_core{ width:200px; height:200px; } .gv_badge{ width:112px; height:112px; } }
@media (max-width:575px){ .gv_chip{ font-size:11.5px; padding:7px 11px; } .glay_visual{ min-height:340px; } }

/* ---------- Poster visual (client marketing posters) ---------- */
.poster_visual{
  position:relative; width:100%; max-width:520px; margin-inline:auto;
  border-radius:16px; overflow:hidden; background:#0a0a0a;
  border:1px solid rgba(255,255,255,.07);
}
.poster_visual img{ display:block; width:100%; height:auto; }
@media (max-width:991px){ .poster_visual{ margin-top:30px; max-width:460px; } }

/* ---------- Hero main photo (client hero sample) ---------- */
.hero_main_visual{
  position:relative; border-radius:24px; overflow:hidden; width:100%;
  aspect-ratio:16/9; background:#0a0a0a;
  border:1px solid rgba(255,255,255,.07); box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.hero_main_visual img{ display:block; width:100%; height:100%; object-fit:cover; }
.hero_main_visual::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(160deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.35));
}
@media (max-width:991px){ .hero_main_visual{ margin-top:30px; } }

/* ---------- Hero product image polish ---------- */
.hero_section .hero_product_img{
  position:relative; text-align:center; padding:30px; border-radius:26px;
  background:radial-gradient(ellipse at 50% 32%, rgba(226,35,26,.26), transparent 62%), linear-gradient(160deg,#20201f,#0a0a0a);
  box-shadow:0 34px 80px rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.06);
}
.hero_section .hero_product_img img{
  position:relative; z-index:1; max-width:100%; max-height:500px; width:auto; height:auto;
  border-radius:12px; box-shadow:0 20px 44px rgba(0,0,0,.55);
}
@media (max-width:991px){
  .hero_section .hero_product_img{ margin-top:30px; padding:20px; }
  .hero_section .hero_product_img img{ max-height:400px; }
}
.hero_badges{ display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 30px; }
.hero_badges span{
  font-size:13px; font-weight:600; color:#e9e9e9;
  padding:7px 14px; border-radius:40px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
}
.hero_badges span i{ color:var(--glay-accent-ink); margin-right:7px; }
[data-bs-theme=light] .hero_badges span{
  color:#161616; background:rgba(0,0,0,.04); border-color:rgba(0,0,0,.12);
}

/* ---------- Product showcase cards ---------- */
.product_card{
  height:100%; border-radius:16px; overflow:hidden; background:var(--bs-gray-dark);
  border:1px solid var(--bs-border-color); transition:var(--bs-transition);
  display:flex; flex-direction:column;
}
.product_card:hover{ transform:translateY(-6px); border-color:rgba(245,197,24,.5); }
.product_card .pc_image{ background:#0d0d0d; text-align:center; padding:26px; }
.product_card .pc_image img{ height:300px; width:auto; max-width:100%; object-fit:contain; }
.product_card .pc_body{ padding:26px 26px 30px; display:flex; flex-direction:column; flex:1; }
.product_card .pc_tag{
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--glay-accent-ink); font-weight:700; margin-bottom:8px;
}
.product_card .pc_title{ font-size:21px; margin-bottom:10px; }
.product_card .pc_body p{ font-size:15px; margin-bottom:20px; }
.product_card .pc_body .btn{ margin-top:auto; align-self:flex-start; }

/* ---------- Benefit tiles ---------- */
.benefit_tile{
  height:100%; padding:30px 26px; border-radius:16px; background:var(--bs-gray-dark);
  border:1px solid var(--bs-border-color); transition:var(--bs-transition);
}
.benefit_tile:hover{ transform:translateY(-6px); border-color:rgba(226,35,26,.5); }
.benefit_tile .bt_icon{
  width:62px; height:62px; border-radius:14px; display:grid; place-items:center;
  font-size:26px; color:var(--glay-red); margin-bottom:20px;
  background:rgba(226,35,26,.1); border:1px solid rgba(226,35,26,.25);
}
.benefit_tile h3{ font-size:20px; margin-bottom:12px; }
.benefit_tile p{ margin-bottom:0; font-size:15px; }
.benefit_tile .bt_stat{
  font-family:var(--bs-font-heading); font-weight:700; font-size:16px;
  color:var(--glay-accent-ink); display:block; margin-top:14px;
}

/* ---------- Framed marketing graphic ---------- */
.glay_figure{
  border-radius:20px; overflow:hidden; border:1px solid rgba(255,255,255,.06); padding:22px; text-align:center;
  background:radial-gradient(ellipse at 50% 28%, rgba(226,35,26,.16), transparent 60%), linear-gradient(160deg,#1c1c1b,#0a0a0a);
  box-shadow:0 26px 64px rgba(0,0,0,.42);
}
.glay_figure img{ max-width:100%; max-height:440px; width:auto; height:auto; margin:0 auto; display:block; border-radius:12px; box-shadow:0 14px 34px rgba(0,0,0,.45); }
.glay_figure video{ max-width:100%; max-height:440px; width:auto; height:auto; margin:0 auto; display:block; border-radius:12px; }
.glay_figure iframe{ width:100%; border-radius:12px; display:block; }
@media (max-width:767px){ .glay_figure{ padding:16px; } .glay_figure img, .glay_figure video{ max-height:360px; } }

/* ---------- Steps (apply) ---------- */
.apply_step{ position:relative; padding:28px 26px; border-radius:16px;
  background:var(--bs-gray-dark); border:1px solid var(--bs-border-color); height:100%; }
.apply_step .as_num{
  font-family:var(--bs-font-heading); font-weight:700; font-size:40px;
  line-height:1; color:var(--glay-accent-ink); opacity:.4; margin-bottom:12px; display:block;
}
.apply_step h3{ font-size:19px; margin-bottom:10px; }
.apply_step p{ margin-bottom:0; font-size:15px; }

/* ---------- Distributor / business plan cards ---------- */
.plan_card{
  height:100%; padding:34px 30px; border-radius:18px; background:var(--bs-gray-dark);
  border:1px solid var(--bs-border-color); transition:var(--bs-transition);
}
.plan_card.featured{ border-color:var(--glay-red); box-shadow:0 20px 50px rgba(226,35,26,.18); }
.plan_card:hover{ transform:translateY(-6px); }
.plan_card .plan_tier{ font-family:var(--bs-font-heading); font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--glay-accent-ink); font-size:14px; }
.plan_card h3{ font-size:26px; margin:6px 0 16px; }
.plan_card ul{ list-style:none; padding:0; margin:0 0 26px; }
.plan_card ul li{ position:relative; padding:9px 0 9px 30px; border-bottom:1px solid var(--bs-border-color); font-size:15px; }
.plan_card ul li:last-child{ border-bottom:0; }
.plan_card ul li i{ position:absolute; left:0; top:12px; color:var(--glay-red); }

/* ---------- CTA strip ---------- */
.glay_cta{
  border-radius:20px; padding:56px 48px; text-align:center; position:relative; overflow:hidden;
  background:linear-gradient(135deg,#1d1d1d, #0d0d0d);
  border:1px solid var(--bs-border-color);
}
.glay_cta:before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(226,35,26,.22), transparent 60%);
}
.glay_cta > *{ position:relative; z-index:1; }
.glay_cta h2{ font-size:38px; margin-bottom:14px; color:#fff; }
.glay_cta p{ max-width:640px; margin:0 auto 28px; color:#cfcfcf; }

/* ---------- comparison table ---------- */
.glay_table{ width:100%; border-collapse:separate; border-spacing:0; border-radius:14px; overflow:hidden;
  border:1px solid var(--bs-border-color); background:var(--bs-gray-dark); }
.glay_table th,.glay_table td{ padding:16px 20px; text-align:left; border-bottom:1px solid var(--bs-border-color); font-size:15px; }
.glay_table thead th{ font-family:var(--bs-font-heading); font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:13px; background:#0d0d0d; color:#ededed; }
.glay_table thead th:last-child{ color:var(--glay-yellow); }
.glay_table tbody tr:last-child td{ border-bottom:0; }
.glay_table td:first-child{ font-weight:600; }
.glay_table .col_glay{ color:var(--glay-accent-ink); font-weight:700; }
.glay_table .col_other{ color:#9a9a9a; }
@media (max-width:575px){ .glay_table th,.glay_table td{ padding:12px 12px; font-size:13px; } }

/* ---------- misc ---------- */
.contact_info_card{ padding:26px; border-radius:16px; background:var(--bs-gray-dark);
  border:1px solid var(--bs-border-color); height:100%; }
.contact_info_card .ci_icon{ font-size:24px; color:var(--glay-red); margin-bottom:14px; }
.contact_info_card h3{ font-size:18px; margin-bottom:8px; }
.contact_info_card p,.contact_info_card a{ font-size:15px; margin:0; color:var(--bs-body-color); text-decoration:none; word-break:break-word; }
.contact_info_card a:hover{ color:var(--glay-red); }

/* ---------- gallery ---------- */
.gallery_fig{ display:block; border-radius:14px; overflow:hidden; border:1px solid var(--bs-border-color); background:#0d0d0d; cursor:pointer; }
.gallery_fig img{ width:100%; height:280px; object-fit:cover; display:block; transition:transform .5s ease; }
.gallery_fig:hover img{ transform:scale(1.06); }
.gallery_video{ border-radius:14px; overflow:hidden; border:1px solid var(--bs-border-color); background:#0d0d0d; }
.gallery_video video{ width:100%; display:block; }
@media (max-width:575px){ .gallery_fig img{ height:220px; } }

/* ---------- faq accordion ---------- */
.glay_faq .accordion-item{ background:var(--glay-card); border:1px solid var(--bs-border-color); border-radius:14px!important; margin-bottom:16px; overflow:hidden; }
.glay_faq .accordion-button{ background:var(--glay-card); color:var(--bs-body-color); font-family:var(--bs-font-heading); font-weight:600; font-size:17px; padding:20px 24px; box-shadow:none; }
.glay_faq .accordion-button:not(.collapsed){ color:var(--glay-red); background:var(--glay-card); }
.glay_faq .accordion-button:focus{ box-shadow:none; border-color:transparent; }
.glay_faq .accordion-body{ padding:0 24px 22px; color:var(--bs-body-color); }

/* ---------- footer emails ---------- */
.footer_emails{ margin-top:16px; }
.footer_emails a{ display:block; font-size:14px; color:var(--bs-body-color); text-decoration:none; margin-bottom:4px; word-break:break-word; }
.footer_emails a:hover{ color:var(--glay-red); }
.footer_emails a i{ color:var(--glay-red); margin-right:8px; }

/* ---------- floating WhatsApp button ---------- */
.wa_float{
  position:fixed; right:18px; bottom:24px; z-index:1000;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff; display:grid; place-items:center;
  font-size:30px; text-decoration:none;
  box-shadow:0 8px 24px rgba(37,211,102,.45);
  transition:transform .3s ease, box-shadow .3s ease;
}
.wa_float:hover{ transform:scale(1.08); color:#fff; box-shadow:0 12px 30px rgba(37,211,102,.6); }
.wa_float::after{ content:""; position:absolute; inset:0; border-radius:50%; background:#25D366; z-index:-1; animation:waPulse 2.2s ease-out infinite; }
@keyframes waPulse{ 0%{transform:scale(1);opacity:.55;} 100%{transform:scale(1.9);opacity:0;} }
.wa_float .wa_tip{
  position:absolute; right:72px; top:50%; transform:translateY(-50%);
  white-space:nowrap; background:#161616; color:#fff; font-size:13px; font-weight:600;
  padding:8px 14px; border-radius:8px; opacity:0; pointer-events:none;
  transition:opacity .3s ease; box-shadow:0 6px 18px rgba(0,0,0,.3);
}
.wa_float:hover .wa_tip{ opacity:1; }
.wa_float .wa_tip::after{ content:""; position:absolute; right:-5px; top:50%; transform:translateY(-50%) rotate(45deg); width:10px; height:10px; background:#161616; }
@media (max-width:575px){ .wa_float{ width:52px; height:52px; font-size:27px; right:14px; bottom:18px; } .wa_float .wa_tip{ display:none; } }
@media (prefers-reduced-motion: reduce){ .wa_float::after{ animation:none; } }

/* ---------- footer social icons ---------- */
.footer_social{ display:flex; gap:12px; margin-top:20px; }
.footer_social a{
  width:42px; height:42px; border-radius:10px; display:grid; place-items:center;
  color:var(--bs-body-color); font-size:17px; text-decoration:none;
  background:var(--glay-card); border:1px solid var(--bs-border-color); transition:var(--bs-transition);
}
.footer_social a:hover{ color:#fff; background:var(--glay-red); border-color:var(--glay-red); transform:translateY(-3px); }

/* ---------- certificate cards ---------- */
.cert_card{ display:block; background:#fff; border-radius:12px; overflow:hidden;
  border:1px solid var(--bs-border-color); height:100%; transition:var(--bs-transition); text-decoration:none; }
.cert_card:hover{ transform:translateY(-5px); box-shadow:0 16px 34px rgba(0,0,0,.28); }
.cert_card .cc_img{ height:300px; display:grid; place-items:center; background:#f2f2f2; padding:12px; }
.cert_card .cc_img img{ max-height:100%; max-width:100%; object-fit:contain; display:block; }
.cert_card .cc_label{ padding:13px 14px; text-align:center; font-size:13.5px; font-weight:700;
  color:#161616; background:#fff; font-family:var(--bs-font-heading); letter-spacing:.02em; }
.cert_card .cc_label small{ display:block; font-weight:500; font-size:12px; color:#777; letter-spacing:0; margin-top:2px; font-family:var(--bs-font-body); }
@media (max-width:575px){ .cert_card .cc_img{ height:240px; } }

/* ---------- partners logo carousel ---------- */
.partners_carousel_wrap{ position:relative; }
/* soft fade on both edges of the marquee */
.partners_carousel_wrap:before,.partners_carousel_wrap:after{
  content:""; position:absolute; top:0; bottom:0; width:90px; z-index:2; pointer-events:none;
}
.partners_carousel_wrap:before{ left:0; background:linear-gradient(90deg,var(--bs-body-bg),transparent); }
.partners_carousel_wrap:after{ right:0; background:linear-gradient(270deg,var(--bs-body-bg),transparent); }
.brand_logo_carousel .slick-slide{ height:auto; }
.partner_tile{
  display:flex; align-items:center; justify-content:center; height:128px; margin:0 12px; padding:16px 24px;
  border-radius:16px; background:#b3b3b3; box-shadow:0 10px 26px rgba(0,0,0,.20);
  transition:var(--bs-transition);
}
.partner_tile:hover{ transform:translateY(-5px); box-shadow:0 16px 34px rgba(0,0,0,.30); }
.partner_tile img{ max-height:96px; max-width:100%; width:auto; object-fit:contain; display:block; }
@media (max-width:575px){ .partner_tile{ height:140px; margin:0 8px; } }

/* ---------- team cards ---------- */
.team_card{ text-align:center; padding:30px 22px; border-radius:16px; height:100%;
  background:var(--glay-card); border:1px solid var(--bs-border-color); transition:var(--bs-transition); }
.team_card:hover{ transform:translateY(-6px); border-color:rgba(226,35,26,.5); }
.team_card .tc_photo{ width:120px; height:120px; margin:0 auto 20px; border-radius:50%; overflow:hidden;
  border:3px solid var(--glay-red); }
.team_card .tc_photo img{ width:100%; height:100%; object-fit:cover; }
.team_card .tc_avatar{ width:120px; height:120px; margin:0 auto 20px; border-radius:50%;
  display:grid; place-items:center; font-family:var(--bs-font-heading); font-weight:700; font-size:38px;
  color:#fff; background:linear-gradient(145deg,var(--glay-red),#9c0f0a); border:3px solid rgba(245,197,24,.9); }
.team_card h3{ font-size:20px; margin-bottom:4px; }
.team_card .tc_role{ color:var(--glay-accent-ink); font-weight:700; font-size:14px;
  letter-spacing:.06em; text-transform:uppercase; margin:0; }

/* ---------- company structure / org ---------- */
.org_parent{ max-width:460px; margin:0 auto; text-align:center; padding:28px 26px; border-radius:16px;
  background:linear-gradient(135deg,#1d1d1d,#0d0d0d); border:1px solid var(--glay-red); position:relative; }
[data-bs-theme=light] .org_parent{ background:linear-gradient(135deg,#fff,#f1f1f1); }
.org_parent .org_tag{ color:var(--glay-accent-ink); font-weight:700; font-size:12px; letter-spacing:.2em; text-transform:uppercase; }
.org_parent h3{ font-size:24px; margin:6px 0 4px; }
.org_parent p{ margin:0; font-size:14px; color:#9a9a9a; }
.org_connector{ width:2px; height:40px; background:var(--bs-border-color); margin:0 auto; }
.org_child{ text-align:center; padding:26px 22px; border-radius:16px; height:100%;
  background:var(--glay-card); border:1px solid var(--bs-border-color); transition:var(--bs-transition); }
.org_child:hover{ transform:translateY(-5px); border-color:rgba(245,197,24,.5); }
.org_child .oc_icon{ font-size:26px; color:var(--glay-red); margin-bottom:12px; }
.org_child h4{ font-size:19px; margin-bottom:6px; }
.org_child p{ margin:0; font-size:14px; color:#9a9a9a; }

@media (max-width:767px){
  .glay_cta{ padding:40px 24px; }
  .glay_cta h2{ font-size:28px; }
  .product_card .pc_image img{ height:240px; }
  .partner_tile{ height:100px; }
}
