
:root {
  --rd-blue: #1a5fff;
  --rd-blue-2: #5e96ff;
  --rd-blue-3: #9cc3ff;
  --rd-blue-deep: #07152e;
  --rd-white: #ffffff;
  --rd-ice: #eef5ff;
  --rd-line: rgba(255,255,255,.18);
  --rd-glass: rgba(255,255,255,.10);
  --rd-shadow: 0 18px 60px rgba(0,0,0,.32);
  --rd-radius: 1.4rem;
}

@font-face {
  font-family: 'BoneBikerCustom';
  src: url('../fonts/BikerBones.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--rd-white);
  font-family: Inter, Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.45), transparent 0 26%),
    radial-gradient(circle at 85% 20%, rgba(100,160,255,.42), transparent 0 24%),
    radial-gradient(circle at 50% 82%, rgba(255,255,255,.18), transparent 0 22%),
    linear-gradient(135deg, #061224 0%, #0c2e73 24%, #e9f2ff 50%, #1d5ed8 73%, #061224 100%);
  background-attachment: fixed;
  min-height: 100vh;
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    linear-gradient(rgba(4,8,16,.50), rgba(6,12,24,.70)),
    radial-gradient(circle at center, transparent 0 58%, rgba(0,0,0,.20) 100%);
  pointer-events: none;
  z-index: -1;
}

.site-bg {
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.8), rgba(0,0,0,.18));
  pointer-events: none;
  z-index: -1;
}

.bone-font {
  font-family: 'BoneBikerCustom', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero-title,
.section-heading,
.footer-title,
.brand-title,
.navbar-brand,
.btn-rd,
.badge-rd,
.card-title,
.member-name {
  font-family: 'BoneBikerCustom', Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.hero-title,
.section-heading,
.brand-title,
.footer-title,
.bone-font {
  color: #79abff;
  text-shadow:
    0 0 12px rgba(26,95,255,.30),
    0 0 24px rgba(255,255,255,.16),
    0 4px 24px rgba(0,0,0,.48);
}

.brand-title {
  font-size: 1.22rem;
  line-height: 1.02;
}
.brand-subtitle {
  font-size: .82rem;
  color: rgba(255,255,255,.86) !important;
}

.rd-navbar {
  background: linear-gradient(180deg, rgba(4,8,17,.86), rgba(8,17,35,.78));
  border-bottom: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(16px);
  box-shadow: 0 12px 38px rgba(0,0,0,.26);
}

.nav-link {
  color: rgba(255,255,255,.84) !important;
  border-bottom: 2px solid transparent;
  transition: .22s ease;
  text-transform: uppercase;
  font-size: .95rem;
}
.nav-link:hover,
.nav-link.active {
  color: #ffffff !important;
  border-bottom-color: var(--rd-blue-2);
  text-shadow: 0 0 12px rgba(26,95,255,.35);
}

.brand-logo {
  width: 104px;
  height: 104px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,.88);
  box-shadow:
    0 0 0 8px rgba(255,255,255,.08),
    0 0 18px rgba(26,95,255,.48),
    0 0 42px rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
}

.placeholder-logo,
.placeholder-member {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--rd-blue), #0a2f75);
  color: white;
}

.hero-premium {
  position: relative;
  padding-top: 2.6rem;
}

.hero-premium::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 76% 24%, rgba(255,255,255,.26), transparent 0 16%),
    radial-gradient(circle at 86% 63%, rgba(26,95,255,.32), transparent 0 18%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  pointer-events: none;
}

.hero-title { max-width: 10ch; font-size: clamp(3rem, 6vw, 5.7rem); }
.hero-text { max-width: 55ch; color: rgba(255,255,255,.92); }
.py-lg-6 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
.section-spacing { padding-top: 3.8rem; }

.hero-panel,
.premium-card,
.section-card,
.admin-card,
.event-tile,
.stat-card,
.premium-banner {
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius);
  box-shadow: var(--rd-shadow);
  backdrop-filter: blur(8px);
}

.hero-panel { position: relative; overflow: hidden; }
.hero-panel::after,
.premium-banner::after {
  content: '';
  position: absolute;
  top: -34%;
  right: -8%;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(26,95,255,.30), transparent 60%);
  pointer-events: none;
}

.mini-overline {
  display: inline-block;
  font-size: .76rem;
  letter-spacing: .24em;
  color: #dce9ff;
  text-transform: uppercase;
  margin-bottom: .85rem;
}

.section-heading { font-size: clamp(1.9rem, 2.4vw, 3rem); }

.feature-list .feature-item {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1rem;
  background: rgba(255,255,255,.05);
}
.feature-item i { color: #d7e7ff; font-size: 1.1rem; }

.stat-card {
  padding: 1.15rem 1.2rem;
  text-align: center;
  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06));
}
.stat-card strong {
  display: block;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: .35rem;
  color: #fff;
}
.stat-card span { color: rgba(255,255,255,.78); font-size: .95rem; }

.badge-rd,
.chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .52rem .95rem;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: var(--rd-ice);
  border: 1px solid rgba(255,255,255,.16);
  font-weight: 600;
}

.btn-rd {
  background: linear-gradient(135deg, #0f4fe0, #ffffff 210%);
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 12px 28px rgba(31,87,195,.36);
}
.btn-rd:hover { color: #fff; transform: translateY(-1px); }
.btn-outline-light {
  border-color: rgba(255,255,255,.42);
  background: rgba(255,255,255,.04);
}
.btn-outline-light:hover { color: #08111f; background: #ffffff; }
.gallery-filter.active { background: white; color: #08111f; }

.page-hero {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  flex-wrap: wrap;
}

.event-tile {
  display: flex;
  gap: 1rem;
  padding: 1rem;
}
.event-date-box {
  min-width: 74px;
  border-radius: 1rem;
  padding: .9rem;
  text-align: center;
  background: linear-gradient(180deg, rgba(26,95,255,.38), rgba(255,255,255,.08));
  border: 1px solid rgba(255,255,255,.15);
}
.event-date-box span { display: block; font-size: 1.8rem; font-weight: 800; line-height: 1; color: white; }
.event-date-box small { letter-spacing: .08em; color: rgba(255,255,255,.84); }

.gallery-grid-home {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1rem;
}
.gallery-home-card { grid-column: span 4; min-height: 240px; }
.gallery-home-card-lg { grid-column: span 8; }
.gallery-home-card a,
.gallery-home-card .video-poster-card {
  display: block;
  height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: var(--rd-radius);
  border: 1px solid var(--rd-line);
}
.gallery-home-card img,
.member-photo,
.media-thumb {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  border-radius: 1.15rem;
}
.gallery-home-card img { transition: transform .35s ease; }
.gallery-home-card a:hover img { transform: scale(1.03); }
.gallery-home-caption {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  padding: .8rem 1rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(3,10,20,.2), rgba(3,10,20,.84));
  color: white;
  font-weight: 700;
}

.video-poster-card {
  min-height: 250px;
  display: grid;
  place-items: center;
  text-align: center;
  background: linear-gradient(135deg, rgba(26,95,255,.24), rgba(255,255,255,.08));
}
.video-poster-card i { font-size: 3rem; margin-bottom: .75rem; display: block; }
.video-embed { aspect-ratio: 16 / 9; width: 100%; border: 0; border-radius: 1.15rem; }

.timeline-list { position: relative; }
.timeline-item {
  position: relative;
  padding-left: 1.5rem;
  margin-left: .5rem;
  padding-bottom: 1.5rem;
  border-left: 1px solid rgba(255,255,255,.15);
}
.timeline-dot {
  position: absolute;
  left: -.42rem;
  top: .4rem;
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background: var(--rd-blue-2);
  box-shadow: 0 0 0 6px rgba(79,134,255,.15);
}
.timeline-image {
  width: 100%;
  height: 190px;
  object-fit: cover;
  border-radius: 1rem;
  margin-bottom: .9rem;
}

.calendar-shell .fc {
  --fc-border-color: rgba(255,255,255,.12);
  --fc-page-bg-color: transparent;
  --fc-neutral-bg-color: rgba(255,255,255,.05);
  --fc-list-event-hover-bg-color: rgba(255,255,255,.08);
  --fc-today-bg-color: rgba(79,134,255,.20);
  --fc-event-bg-color: #2b6cf0;
  --fc-event-border-color: #2b6cf0;
  --fc-event-text-color: #fff;
  color: #fff;
}
.fc .fc-toolbar-title { font-size: 1.2rem; }
.fc .fc-button {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: white !important;
}
.fc .fc-button:hover,
.fc .fc-button-active { background: rgba(79,134,255,.45) !important; }

.footer-rd {
  background: linear-gradient(180deg, rgba(2,6,14,.82), rgba(6,12,26,.88));
  border-top: 1px solid var(--rd-line);
  backdrop-filter: blur(10px);
}
.footer-bottom { background: rgba(255,255,255,.05); }
.footer-title { text-transform: uppercase; letter-spacing: .12em; margin-bottom: 1rem; }
.footer-links li + li { margin-top: .6rem; }
.footer-links a,
.social-link,
.text-link {
  color: white;
  text-decoration: none;
  transition: .2s ease;
}
.footer-links a:hover,
.social-link:hover,
.text-link:hover { color: #d7e7ff; }

.form-control,
.form-select,
textarea {
  background: rgba(255,255,255,.08) !important;
  color: white !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: .9rem !important;
}
.form-control::placeholder,
textarea::placeholder { color: rgba(255,255,255,.58) !important; }

.table {
  --bs-table-bg: transparent;
  --bs-table-color: #fff;
  --bs-table-border-color: rgba(255,255,255,.08);
}
.table thead th { color: #d8e7ff; }

.map-frame { width: 100%; min-height: 470px; border: 0; border-radius: 1.15rem; }
.empty-state {
  padding: 2rem;
  text-align: center;
  border: 1px dashed rgba(255,255,255,.24);
  border-radius: 1.2rem;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.03);
}

.member-photo { height: 320px; }
.placeholder-member { min-height: 320px; font-size: 4rem; border-radius: 1.15rem; }

@media (max-width: 991.98px) {
  .hero-title { max-width: none; }
  .gallery-home-card,
  .gallery-home-card-lg { grid-column: span 12; }
}

@media (max-width: 767.98px) {
  .py-lg-6 { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
  .brand-logo { width: 78px; height: 78px; }
  .member-photo, .placeholder-member { height: 280px; min-height: 280px; }
  .map-frame { min-height: 340px; }
}

.admin-login-body { min-height: 100vh; }

.table {
  --bs-table-bg: transparent;
  --bs-table-color: rgba(255,255,255,.88);
  --bs-table-border-color: rgba(255,255,255,.08);
}
.table thead th {
  color: #d8e7ff;
  font-weight: 600;
  border-bottom-color: rgba(255,255,255,.12);
}
.form-control,
.form-select {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.14);
  color: white;
}
.form-control:focus,
.form-select:focus {
  background: rgba(255,255,255,.08);
  color: white;
  border-color: rgba(99,153,255,.8);
  box-shadow: 0 0 0 .2rem rgba(58,123,255,.15);
}
.form-control::placeholder { color: rgba(255,255,255,.45); }
.alert-success { background: rgba(25,135,84,.18); color: #d6ffe8; border-color: rgba(25,135,84,.3); }
.alert-danger { background: rgba(220,53,69,.18); color: #ffe1e5; border-color: rgba(220,53,69,.3); }
.border-secondary-subtle { border-color: rgba(255,255,255,.08)!important; }


.lang-switcher{min-width:56px;font-weight:700;text-transform:uppercase;}


.about-body-white,
.about-body-white p,
.about-body-white * {
    color: #ffffff !important;
}

/* V3.4 FIX REAL: inicio limpio + mapa grande */
.home-clean-hero { min-height: calc(100vh - 120px); padding: 5rem 0; }
.home-main-image-card { position: relative; overflow: hidden; border-radius: 2rem; min-height: 520px; background: linear-gradient(135deg, rgba(255,255,255,.24), rgba(46,112,255,.24)); border: 1px solid rgba(255,255,255,.22); box-shadow: 0 28px 70px rgba(0,0,0,.42), 0 0 50px rgba(46,112,255,.22); }
.home-main-image-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(19,80,190,.15)); pointer-events: none; }
.home-main-image { width: 100%; height: 100%; min-height: 520px; object-fit: cover; display: block; }
.home-image-placeholder { min-height: 520px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; color: #fff; text-align: center; padding: 2rem; }
.home-image-placeholder i { font-size: 4rem; opacity: .85; }
.home-slogan { color: #ffffff; font-size: clamp(1.2rem, 2.6vw, 2rem); text-shadow: 0 0 18px rgba(47,111,255,.75); }
.map-card, .location-map-card { min-height: 680px; }
.map-card iframe, .location-map-card iframe { width: 100%; min-height: 680px; height: 72vh; border: 0; border-radius: 1.25rem; display: block; }
@media (max-width: 991.98px) { .home-main-image-card, .home-main-image, .home-image-placeholder { min-height: 380px; } .map-card, .location-map-card, .map-card iframe, .location-map-card iframe { min-height: 460px; height: 58vh; } }

/* Login con logo del club */
.admin-login-logo{
  max-width: 190px;
  max-height: 190px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 14px rgba(37, 99, 235, .55)) drop-shadow(0 0 8px rgba(255,255,255,.35));
}
.admin-login-logo-placeholder{
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,.35);
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,.20), rgba(37,99,235,.55), rgba(5,8,14,.95));
  color: #fff;
  font-size: 3rem;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}

/* V3.6 - Footer limpio y adaptación móvil reforzada */
.footer-simple{
  margin-top: 0 !important;
  background: linear-gradient(180deg, rgba(5,8,14,.96), rgba(6,16,36,1));
  border-top: 1px solid rgba(255,255,255,.12);
}
.footer-brand{
  color: #ffffff;
  font-size: clamp(1.45rem, 4vw, 2.4rem);
  letter-spacing: 2px;
  text-transform: uppercase;
  text-shadow: 0 0 14px rgba(37,99,235,.75), 0 0 8px rgba(255,255,255,.35);
}

img, video, iframe{max-width:100%;}

@media (max-width: 1199.98px){
  .brand-title{font-size:1.55rem;}
  .brand-logo{width:88px;height:88px;}
  .hero-display{font-size:clamp(2.4rem, 7vw, 4.7rem);}
}

@media (max-width: 991.98px){
  .rd-navbar .container{max-width:100%; padding-left:1rem; padding-right:1rem;}
  .navbar-brand{gap:.85rem !important; max-width:calc(100% - 72px);}
  .brand-logo{width:72px !important; height:72px !important; min-width:72px;}
  .brand-title{font-size:1.28rem; line-height:1; white-space:normal;}
  .brand-subtitle{display:none;}
  .navbar-toggler{border-color:rgba(255,255,255,.25); padding:.45rem .6rem;}
  .navbar-collapse{margin-top:1rem; padding:1rem; border-radius:1.25rem; background:rgba(5,8,14,.94); border:1px solid rgba(255,255,255,.12); box-shadow:0 18px 45px rgba(0,0,0,.35);}
  .navbar-nav{align-items:stretch !important; gap:.35rem !important;}
  .navbar-nav .nav-link{padding:.8rem 1rem; border-radius:.9rem; background:rgba(255,255,255,.04);}
  .navbar-nav .btn{width:100%; margin-top:.35rem; padding:.75rem 1rem;}
  .section-spacing{padding-top:3rem; padding-bottom:3rem;}
  .hero-rd, .home-clean-hero{min-height:auto; padding:3.25rem 0; text-align:center;}
  .hero-chip{margin-left:auto; margin-right:auto;}
  .hero-text{font-size:1rem;}
  .home-main-image-card, .home-main-image, .home-image-placeholder{min-height:340px !important;}
  .premium-card{border-radius:1.35rem;}
  .gallery-item img, .gallery-item video{height:240px;}
  .map-card, .location-map-card{min-height:520px !important;}
  .map-card iframe, .location-map-card iframe{min-height:520px !important; height:64vh !important; border-radius:1rem;}
}

@media (max-width: 575.98px){
  body{overflow-x:hidden;}
  .container{padding-left:1rem; padding-right:1rem;}
  .rd-navbar{position:sticky; top:0;}
  .navbar-brand{gap:.65rem !important;}
  .brand-logo{width:58px !important; height:58px !important; min-width:58px;}
  .brand-title{font-size:1.05rem; letter-spacing:1px;}
  .hero-rd, .home-clean-hero{padding:2.4rem 0;}
  .hero-display, .section-heading{font-size:clamp(2rem, 12vw, 3.1rem); line-height:.98;}
  .hero-text, .text-white, p{font-size:.98rem;}
  .home-main-image-card, .home-main-image, .home-image-placeholder{min-height:260px !important; border-radius:1.25rem;}
  .home-image-placeholder i{font-size:2.6rem;}
  .row.g-5{--bs-gutter-y:2rem;}
  .premium-card{padding:1.15rem !important; border-radius:1.15rem;}
  .card-body{padding:1rem;}
  .gallery-item img, .gallery-item video{height:210px;}
  .btn, .btn-rd, .btn-rd-primary, .btn-rd-outline{width:100%; display:inline-flex; justify-content:center; align-items:center; margin-bottom:.5rem;}
  .d-flex.gap-3, .d-flex.gap-2{gap:.6rem !important;}
  .map-card, .location-map-card{min-height:440px !important; padding:.5rem !important;}
  .map-card iframe, .location-map-card iframe{min-height:440px !important; height:62vh !important; border-radius:.85rem;}
  table{font-size:.88rem;}
  .table-responsive{border-radius:1rem;}
  .footer-brand{font-size:1.5rem;}
}

/* =========================================================
   V3.7 HOME PRO - Landing limpia para Road Demons MC
   ========================================================= */
.home-landing-pro{
    min-height: calc(100vh - 120px);
}

.home-hero-pro{
    position: relative;
    overflow: hidden;
    padding: clamp(3rem, 7vw, 6rem) 0;
    background:
        radial-gradient(circle at 18% 20%, rgba(255,255,255,0.36), transparent 22%),
        radial-gradient(circle at 85% 18%, rgba(29,78,216,0.46), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,0.94) 0%, rgba(219,234,254,0.86) 34%, rgba(37,99,235,0.80) 67%, rgba(5,14,35,0.96) 100%);
}

.home-hero-pro::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(5,14,35,0.82), rgba(5,14,35,0.34), rgba(5,14,35,0.82)),
        repeating-linear-gradient(135deg, rgba(255,255,255,0.055) 0 1px, transparent 1px 13px);
    pointer-events:none;
}

.home-hero-pro::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:160px;
    background: linear-gradient(transparent, rgba(5,14,35,0.95));
    pointer-events:none;
}

.home-hero-glow{
    position:absolute;
    width:440px;
    height:440px;
    right:-120px;
    top:90px;
    border-radius:50%;
    background: rgba(255,255,255,0.18);
    filter: blur(42px);
    pointer-events:none;
}

.min-vh-pro{
    min-height: calc(100vh - 190px);
}

.home-kicker{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    color:#fff;
    background: rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    padding:.55rem .9rem;
    letter-spacing:2px;
    font-size:.9rem;
    box-shadow: 0 18px 35px rgba(0,0,0,.22);
    backdrop-filter: blur(10px);
}

.home-title-pro{
    color:#fff;
    font-size: clamp(3.1rem, 8vw, 7.7rem);
    line-height:.86;
    margin:1.25rem 0 .8rem;
    text-transform:uppercase;
    letter-spacing:2px;
    text-shadow:
        0 0 14px rgba(37,99,235,.72),
        0 10px 34px rgba(0,0,0,.72);
}

.home-slogan-pro{
    color:#dbeafe;
    font-size: clamp(1.25rem, 3vw, 2.15rem);
    letter-spacing:1.5px;
    text-transform:uppercase;
    text-shadow:0 5px 20px rgba(0,0,0,.45);
}

.home-intro-pro{
    max-width: 680px;
    color:#fff;
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    line-height:1.7;
    margin:1.35rem 0 0;
    text-shadow:0 4px 18px rgba(0,0,0,.55);
}

.home-actions-pro{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin-top:2rem;
}

.home-photo-frame-pro{
    position:relative;
    isolation:isolate;
    border-radius:34px;
    padding:12px;
    background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(37,99,235,.72), rgba(255,255,255,.22));
    box-shadow:
        0 26px 80px rgba(0,0,0,.45),
        0 0 42px rgba(37,99,235,.34);
    transform: rotate(1.5deg);
}

.home-photo-frame-pro::before{
    content:"";
    position:absolute;
    inset:22px;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.22);
    z-index:2;
    pointer-events:none;
}

.home-photo-pro{
    display:block;
    width:100%;
    height: min(64vh, 620px);
    min-height: 410px;
    object-fit:cover;
    border-radius:25px;
    filter: contrast(1.08) saturate(1.04);
}

.home-photo-placeholder-pro{
    min-height:470px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1rem;
    text-align:center;
    color:#fff;
    border-radius:25px;
    background: linear-gradient(135deg, rgba(15,23,42,.7), rgba(29,78,216,.56));
}

.home-photo-placeholder-pro i{
    font-size:4rem;
}

@media (max-width: 991.98px){
    .home-hero-pro{
        padding:3.25rem 0 4rem;
    }
    .min-vh-pro{
        min-height:auto;
    }
    .home-photo-frame-pro{
        transform:none;
        border-radius:26px;
    }
    .home-photo-pro{
        min-height:280px;
        height:420px;
        border-radius:18px;
    }
}

@media (max-width: 575.98px){
    .home-kicker{
        width:100%;
        justify-content:center;
        font-size:.78rem;
        padding:.5rem .7rem;
    }
    .home-title-pro{
        font-size: clamp(2.45rem, 17vw, 4.2rem);
        letter-spacing:1px;
    }
    .home-actions-pro .btn{
        width:100%;
    }
    .home-photo-pro,
    .home-photo-placeholder-pro{
        height:320px;
        min-height:320px;
    }
}

/* Footer MC real */
.footer-mc{
    position:relative;
    padding:2.4rem 0 1.4rem;
    background:
        radial-gradient(circle at top center, rgba(37,99,235,.18), transparent 34%),
        linear-gradient(180deg, rgba(2,6,23,.08), rgba(2,6,23,.72));
}

.footer-mc-plate{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(255,255,255,.18);
    background:
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(37,99,235,.18), rgba(2,6,23,.62)),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
    box-shadow:
        0 20px 50px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.22);
}

.footer-mc-plate::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 12px),
        radial-gradient(circle at 12% 25%, rgba(255,255,255,.16), transparent 18%),
        radial-gradient(circle at 88% 70%, rgba(37,99,235,.22), transparent 20%);
    pointer-events:none;
}

.footer-mc-line{
    height:4px;
    background:linear-gradient(90deg, transparent, #fff, #2563eb, #fff, transparent);
    box-shadow:0 0 18px rgba(37,99,235,.65);
}

.footer-mc-inner{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.75rem;
    padding:1.35rem 1rem 1.1rem;
    text-align:center;
}

.footer-mc-brand{
    color:#fff;
    font-size:clamp(1.05rem, 2.4vw, 1.55rem);
    letter-spacing:2px;
    line-height:1;
    text-transform:uppercase;
    text-shadow:
        0 0 8px rgba(37,99,235,.7),
        0 4px 18px rgba(0,0,0,.75);
}

.footer-mc-social{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:.55rem;
}

.footer-mc-social a{
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
    transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.footer-mc-social a:hover{
    transform:translateY(-2px);
    background:rgba(37,99,235,.28);
    border-color:rgba(255,255,255,.34);
    box-shadow:0 0 18px rgba(37,99,235,.45);
}

.footer-mc-copy{
    margin:0;
    color:rgba(255,255,255,.88);
    font-size:.68rem;
    letter-spacing:1.15px;
    line-height:1.5;
    text-transform:uppercase;
    text-shadow:0 0 7px rgba(37,99,235,.42);
}

@media (max-width: 575.98px){
    .footer-mc{
        padding:1.5rem 0 1rem;
    }
    .footer-mc-plate{
        border-radius:18px;
    }
    .footer-mc-brand{
        font-size:1.05rem;
        letter-spacing:1.35px;
    }
    .footer-mc-copy{
        font-size:.58rem;
        letter-spacing:.8px;
        max-width:280px;
    }
    .footer-mc-social a{
        width:31px;
        height:31px;
    }
}

/* V4.3 - Corrección fuerte título inicio */
.home-title-pro,
.home-landing-pro .home-title-pro,
.home-hero-pro .home-title-pro,
body .home-title-pro.bone-font {
    color: #0d6efd !important;
    font-size: clamp(2rem, 4.2vw, 3.35rem) !important;
    line-height: 1.02 !important;
    text-shadow: 0 0 12px rgba(13,110,253,.55), 0 2px 16px rgba(255,255,255,.22) !important;
    max-width: 12ch !important;
}

@media (max-width: 991.98px) {
    .home-title-pro,
    .home-landing-pro .home-title-pro,
    .home-hero-pro .home-title-pro,
    body .home-title-pro.bone-font {
        font-size: clamp(1.8rem, 9vw, 2.65rem) !important;
        max-width: none !important;
    }
}

@media (max-width: 575.98px) {
    .home-title-pro,
    .home-landing-pro .home-title-pro,
    .home-hero-pro .home-title-pro,
    body .home-title-pro.bone-font {
        font-size: clamp(1.55rem, 10vw, 2.15rem) !important;
    }
}
