/* ============================================================
   SlimTech — Redesign theme (energetic / bold)
   Safe override layer. Loaded AFTER style.min.css & custom.css.
   To revert: remove the <link> to this file in layouts/app.blade.php
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800&display=swap');
:root{
  --slim-bg:#0a0b10; --slim-bg2:#101220; --slim-panel:#15172a; --slim-ink:#eef0f7; --slim-muted:#9aa0b5;
  --slim-cyan:#10d6ff; --slim-magenta:#ff2bb0;
  --slim-grad:linear-gradient(100deg,#10d6ff 0%,#7c4dff 50%,#ff2bb0 100%);
  --slim-grad-soft:linear-gradient(100deg,rgba(16,214,255,.16),rgba(255,43,176,.16));
}
body{ font-family:'Inter',system-ui,-apple-system,sans-serif !important; background:var(--slim-bg) !important; color:var(--slim-ink) !important; overflow-x:hidden; }
#app.bg-white,#app{ background:var(--slim-bg) !important; }
p{ color:var(--slim-ink); }
.text-secondary{ color:var(--slim-muted) !important; }
a{ transition:color .15s ease, opacity .15s ease; }
.display-1,.display-2,.display-3,.display-4,h1.font-weight-bold,h2.font-weight-bold{ font-family:'Anton',sans-serif !important; font-weight:400 !important; letter-spacing:.5px; text-transform:uppercase; line-height:1.02; }
.text-info{ color:var(--slim-cyan) !important; }

/* NAVBAR */
.nav-bar{ position:sticky; top:0; z-index:1000; background:rgba(10,11,16,.78) !important; backdrop-filter:blur(14px); border-bottom:1px solid rgba(255,255,255,.07); }
.nav-bar .navbar{ padding-top:.6rem !important; padding-bottom:.6rem !important; }
.logo-header{ width:auto !important; height:46px !important; }
.nav-bar .navbar-nav.bg-secondary{ background:transparent !important; border:1px solid rgba(255,255,255,.10); border-radius:50px !important; padding:.4rem 1rem !important; backdrop-filter:blur(6px); }
.nav-bar .nav-link{ color:#d7dae6 !important; font-weight:600; font-size:.95rem; padding:.45rem .9rem !important; }
.nav-bar .nav-link:hover{ color:var(--slim-cyan) !important; }
.nav-bar .nav-link.active{ color:#0a0b10 !important; background:var(--slim-grad); border-radius:50px; }
.navbar-toggler{ border-color:rgba(255,255,255,.3) !important; }

/* BUTTONS */
.btn{ border-radius:50px !important; font-weight:700 !important; letter-spacing:.3px; transition:transform .15s ease, box-shadow .2s ease, filter .2s ease; }
.btn-lg{ padding:.8rem 2rem !important; }
.btn-outline-light,.btn-outline-info,.btn-info,.btn-primary{ background:var(--slim-grad) !important; border:none !important; color:#0a0b10 !important; box-shadow:0 10px 26px rgba(255,43,176,.30); }
.btn-outline-light:hover,.btn-outline-info:hover,.btn-info:hover,.btn-primary:hover{ color:#0a0b10 !important; transform:translateY(-3px); box-shadow:0 16px 36px rgba(16,214,255,.40); filter:saturate(1.1); }
.btn-secondary{ background:transparent !important; border:1.5px solid rgba(255,255,255,.25) !important; color:#fff !important; }
.btn-secondary:hover{ border-color:var(--slim-cyan) !important; color:var(--slim-cyan) !important; }

/* HERO / CAROUSEL (legacy carousel if present) */
#blog-carousel .carousel-item{ background:var(--slim-bg); }
#blog-carousel .carousel-item img{ filter:brightness(.55) contrast(1.05); background:#0a0b10; }
#blog-carousel .carousel-item::after{ content:""; position:absolute; inset:0; background:radial-gradient(60% 80% at 75% 30%,rgba(124,77,255,.35),transparent 70%),radial-gradient(60% 80% at 20% 80%,rgba(16,214,255,.28),transparent 70%),linear-gradient(180deg,rgba(10,11,16,.35),rgba(10,11,16,.65)); pointer-events:none; }
.carousel-caption{ z-index:3; }

/* GYM-CLASS panels */
.gym-class{ margin-top:70px; }
.gym-class .gym-class-box{ border-radius:18px; border:1px solid rgba(255,255,255,.08); box-shadow:0 20px 50px rgba(0,0,0,.45); }

/* generic dark sections */
.bg-secondary{ background:var(--slim-panel) !important; }
.bg-info{ background:linear-gradient(160deg,#0e7490,#141733) !important; }
.bg-dark{ background:var(--slim-panel) !important; }
.container h2.display-4,.container h4.display-4{ color:#fff; }
.svg-icon{ filter:drop-shadow(0 6px 14px rgba(0,0,0,.4)); }
.img-square{ border-radius:16px !important; border:1px solid rgba(255,255,255,.08); }
.border-danger{ border-color:rgba(255,43,176,.5) !important; border-radius:16px; background:rgba(255,43,176,.05); }
.text-danger{ color:var(--slim-magenta) !important; }

/* TESTIMONIAL base */
.testimonial .bg-secondary{ background:rgba(21,23,42,.85) !important; border-radius:18px; }
.testimonial-text{ background:#0a0b10 !important; border:1px solid rgba(255,255,255,.08) !important; border-radius:12px; }
.testimonial .rounded-circle{ border:2px solid var(--slim-cyan); }

/* PAGE HEADER */
.page-header{ background:var(--slim-bg2) !important; border-bottom:1px solid rgba(255,255,255,.07); position:relative; overflow:hidden; }
.page-header::before{ content:""; position:absolute; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle,rgba(124,77,255,.30),transparent 65%); top:-220px; left:50%; transform:translateX(-50%); }
.page-header .display-4{ position:relative; z-index:2; }

/* SHOP cards */
.blog-item .w-custom-shop{ background:var(--slim-panel); border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:22px; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.blog-item .w-custom-shop:hover{ transform:translateY(-6px); border-color:rgba(16,214,255,.4); box-shadow:0 22px 46px rgba(0,0,0,.5); }
.img-shop{ background:#fff; border-radius:12px; padding:10px; }
.blog-item h3{ color:#fff; margin-top:14px; }
.text-success{ color:var(--slim-cyan) !important; }
.modal-content{ border-radius:18px; border:none; }
.modal-header,.modal-footer{ border-color:rgba(0,0,0,.08); }

/* FORMS */
.form-control{ background:var(--slim-bg2) !important; border:1px solid rgba(255,255,255,.14) !important; color:#fff !important; border-radius:10px !important; }
.form-control:focus{ background:var(--slim-bg2) !important; border-color:var(--slim-cyan) !important; color:#fff !important; box-shadow:0 0 0 .2rem rgba(16,214,255,.20) !important; }
.form-control::placeholder{ color:#7b8198 !important; }
label{ color:#d7dae6; }
.card{ background:var(--slim-panel) !important; border:1px solid rgba(255,255,255,.08) !important; border-radius:18px !important; color:var(--slim-ink); }
.card-header{ background:transparent !important; border-bottom:1px solid rgba(255,255,255,.08) !important; color:#fff; font-weight:700; }

/* TABLES */
.table{ color:var(--slim-ink); }
.table thead.bg-secondary th,.table th.bg-secondary{ background:var(--slim-panel) !important; color:#fff !important; border-color:rgba(255,255,255,.08) !important; }
.table td,.table th{ border-color:rgba(255,255,255,.08) !important; }
.table-bordered{ border-color:rgba(255,255,255,.08) !important; }

/* FOOTER */
.footer{ background:#06070c !important; background-image:none !important; border-top:1px solid rgba(255,255,255,.08); margin-top:70px !important; }
.footer .border-dark{ border-color:rgba(255,255,255,.10) !important; }
.footer a{ color:var(--slim-cyan); }
.text-dark{ color:var(--slim-ink) !important; }
hr{ border-color:rgba(255,255,255,.1); }
::selection{ background:rgba(16,214,255,.35); }

/* HERO (homepage) */
.slim-hero{ position:relative; overflow:hidden; background:radial-gradient(60% 80% at 80% 20%,rgba(124,77,255,.35),transparent 60%),radial-gradient(50% 70% at 10% 90%,rgba(16,214,255,.22),transparent 60%),var(--slim-bg); padding:80px 0 90px; }
.slim-eyebrow{ display:inline-block; color:#bfe9ff; font-weight:700; letter-spacing:2px; text-transform:uppercase; font-size:.8rem; margin-bottom:18px; background:var(--slim-grad-soft); border:1px solid rgba(16,214,255,.35); padding:8px 16px; border-radius:50px; }
.slim-hero-title{ font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; line-height:.98; font-size:clamp(2.6rem,6vw,5rem); margin:0 0 20px; color:#fff; letter-spacing:1px; }
.slim-grad{ background:var(--slim-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.slim-hero-lead{ color:var(--slim-muted); font-size:1.1rem; max-width:520px; margin-bottom:30px; }
.slim-hero-text.text-center .slim-hero-lead{ margin-left:auto; margin-right:auto; }
.slim-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.slim-hero-text.text-center .slim-hero-actions{ justify-content:center; }
.slim-hero-stats{ display:flex; gap:34px; margin-top:42px; }
.slim-hero-text.text-center .slim-hero-stats{ justify-content:center; }
.slim-hero-stats .num{ font-family:'Anton'; font-size:2rem; display:block; }
.slim-hero-stats .lbl{ color:var(--slim-muted); font-size:.76rem; text-transform:uppercase; letter-spacing:1px; }
.slim-hero-visual{ position:relative; }
.slim-hero-visual::before{ content:""; position:absolute; inset:8% 12%; border-radius:50%; background:var(--slim-grad); filter:blur(60px); opacity:.40; z-index:0; }
.slim-hero-img{ position:relative; z-index:1; max-height:520px; width:auto; filter:drop-shadow(0 30px 50px rgba(0,0,0,.55)); }
@media(max-width:991px){ .slim-hero-img{ max-height:360px; margin-top:30px; } }
.slim-round-img{ border-radius:18px !important; border:1px solid rgba(255,255,255,.1); box-shadow:0 16px 40px rgba(0,0,0,.45); }

/* service panels with photos */
.gym-class .bg-info{ background:linear-gradient(rgba(8,12,28,.72),rgba(8,12,28,.88)), url(../images/slim-app.jpg) center/cover !important; }
.gym-class .bg-secondary{ background:linear-gradient(rgba(16,8,26,.70),rgba(16,8,26,.86)), url(../images/slim-training.jpg) center/cover !important; }
.testimonial{ background:linear-gradient(rgba(6,7,12,.82),rgba(6,7,12,.90)), url(../images/slim-device.jpg) center/cover !important; }

/* Benefits icon cards */
.slim-benefit-icon{ width:74px; height:74px; border-radius:20px; display:flex; align-items:center; justify-content:center; background:var(--slim-grad); color:#0a0b10; font-size:1.9rem; margin:0 auto; box-shadow:0 12px 26px rgba(255,43,176,.28); }
.feature .col-md-6{ margin-bottom:24px !important; }
.feature .col-md-6 > .row{ background:var(--slim-panel); border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:26px 16px; margin:0; height:100%; transition:transform .2s ease, border-color .2s ease; }
.feature .col-md-6 > .row:hover{ transform:translateY(-5px); border-color:rgba(16,214,255,.4); }
.feature .col-md-6.border-danger{ padding:0 !important; }
.feature .col-md-6.border-danger > .row{ border-color:rgba(255,43,176,.45); background:rgba(255,43,176,.06); }
.feature h4.font-weight-bold{ color:#fff; }
.feature .small{ color:var(--slim-muted); }
.feature h5.text-danger{ margin-top:6px; }

/* Promo top bar */
.slim-topbar{ background:var(--slim-grad); color:#0a0b10; }
.slim-topbar-track{ display:flex; gap:14px; justify-content:center; align-items:center; flex-wrap:wrap; padding:9px 16px; font-weight:700; font-size:.82rem; letter-spacing:.3px; }
.slim-topbar-track .sep{ opacity:.55; }
@media(max-width:680px){ .slim-topbar-track span:nth-child(n+5){ display:none; } }

/* Tier cards */
.slim-systems .slim-tier{ position:relative; background:var(--slim-panel); border:1px solid rgba(255,255,255,.08); border-radius:20px; padding:30px 24px 28px; text-align:center; height:100%; display:flex; flex-direction:column; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.slim-systems .slim-tier:hover{ transform:translateY(-6px); border-color:rgba(16,214,255,.45); box-shadow:0 24px 50px rgba(0,0,0,.5); }
.slim-systems .slim-tier.popular{ border:2px solid transparent; background:linear-gradient(var(--slim-panel),var(--slim-panel)) padding-box, var(--slim-grad) border-box; box-shadow:0 24px 50px rgba(124,77,255,.25); }
.slim-tier-badge{ display:inline-block; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:1.5px; padding:6px 14px; border-radius:50px; background:var(--slim-grad-soft); color:#bfe9ff; border:1px solid rgba(16,214,255,.35); margin-bottom:14px; }
.slim-tier.popular .slim-tier-badge{ background:var(--slim-grad); color:#0a0b10; border:none; }
.slim-tier img{ height:210px; width:auto; object-fit:contain; margin:6px auto 16px; filter:drop-shadow(0 16px 26px rgba(0,0,0,.5)); }
.slim-tier h3{ font-family:'Anton',sans-serif; font-weight:400; font-size:1.9rem; color:#fff; margin-bottom:8px; text-transform:uppercase; letter-spacing:.5px; }
.slim-tier > p{ color:var(--slim-muted); font-size:.92rem; margin-bottom:18px; }
.slim-tier ul{ list-style:none; padding:0; margin:0 0 24px; text-align:left; }
.slim-tier ul li{ color:#d7dae6; font-size:.9rem; padding:8px 0 8px 26px; position:relative; border-bottom:1px solid rgba(255,255,255,.06); }
.slim-tier ul li::before{ content:"\2713"; position:absolute; left:0; color:var(--slim-cyan); font-weight:800; }
.slim-tier .btn{ margin-top:auto; }

/* Floating WhatsApp button */
.slim-whatsapp{ position:fixed; right:20px; bottom:20px; z-index:1050; width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff !important; display:flex; align-items:center; justify-content:center; font-size:1.9rem; box-shadow:0 10px 26px rgba(37,211,102,.5); transition:transform .15s ease; text-decoration:none; }
.slim-whatsapp:hover{ transform:scale(1.08); color:#fff !important; }
.slim-whatsapp::after{ content:""; position:absolute; inset:0; border-radius:50%; box-shadow:0 0 0 0 rgba(37,211,102,.5); animation:slimPulse 2.2s infinite; }
@keyframes slimPulse{ 70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); } 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); } }
@media(max-width:560px){ .slim-whatsapp{ width:52px; height:52px; font-size:1.7rem; right:16px; bottom:16px; } }

/* Add-to-cart toast */
.slim-toast{ position:fixed; left:50%; bottom:30px; transform:translate(-50%,20px); background:var(--slim-panel); color:#fff; border:1px solid rgba(16,214,255,.4); padding:14px 22px; border-radius:50px; font-weight:600; font-size:.95rem; box-shadow:0 16px 40px rgba(0,0,0,.5); z-index:1100; opacity:0; transition:opacity .3s ease, transform .3s ease; pointer-events:none; }
.slim-toast.show{ opacity:1; transform:translate(-50%,0); }
.slim-toast i{ color:#25D366; margin-right:6px; }
