:root{
  --af-red:#e6302a;
  --af-red-dark:#c82420;
  --af-black:#101114;
  --af-muted:#6f7280;
  --af-soft:#f7f7f8;
  --af-border:#ececf0;
  --af-radius:24px;
  --af-shadow:0 18px 48px rgba(16,17,20,.10);
  --af-shadow-soft:0 10px 24px rgba(16,17,20,.08);
}
*{box-sizing:border-box}
body{font-family:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--af-black);background:#fff;}
a{text-decoration:none;color:inherit}.text-red{color:var(--af-red)!important}.bg-soft{background:var(--af-soft)}
.navbar{backdrop-filter:saturate(180%) blur(18px);background:rgba(255,255,255,.92);border-bottom:1px solid rgba(236,236,240,.7)}
.brand-mark{width:38px;height:38px;border-radius:13px;background:var(--af-red);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 20px rgba(230,48,42,.28)}
.btn-af{background:var(--af-red);border-color:var(--af-red);color:#fff;border-radius:999px;padding:.85rem 1.25rem;font-weight:800;box-shadow:0 10px 22px rgba(230,48,42,.22)}
.btn-af:hover{background:var(--af-red-dark);border-color:var(--af-red-dark);color:#fff;transform:translateY(-1px)}
.btn-af-dark{background:var(--af-black);border-color:var(--af-black);color:#fff;border-radius:999px;padding:.85rem 1.25rem;font-weight:800}.btn-af-dark:hover{background:#000;color:#fff}
.btn-af-light{background:#fff;border:1px solid var(--af-border);border-radius:999px;padding:.85rem 1.25rem;font-weight:800}.btn-af-light:hover{box-shadow:var(--af-shadow-soft);transform:translateY(-1px)}
.hero{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,rgba(16,17,20,.84),rgba(16,17,20,.38)),url('../img/hero.svg') center/cover no-repeat;color:#fff;padding:130px 0 80px}
.hero h1{font-size:clamp(3rem,7vw,6.7rem);font-weight:900;letter-spacing:-.07em;line-height:.92}.hero p{font-size:clamp(1.05rem,2vw,1.35rem);color:rgba(255,255,255,.88);max-width:760px}
.search-shell{background:#fff;border-radius:32px;padding:12px;box-shadow:var(--af-shadow);color:var(--af-black)}
.search-field{padding:18px 20px;border-radius:24px;background:#fff;border:1px solid transparent;min-height:76px}.search-field:hover{background:#fafafa;border-color:var(--af-border)}.search-field label{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--af-muted)}.search-field input,.search-field select{border:0;padding:0;margin-top:3px;box-shadow:none!important;font-weight:800;background:transparent}.search-field input::placeholder{color:#9a9ca6}.divider-v{width:1px;background:var(--af-border);margin:12px 0}
.section{padding:86px 0}.section-title{font-size:clamp(2rem,4vw,3.4rem);font-weight:900;letter-spacing:-.05em;line-height:1}.section-kicker{color:var(--af-red);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.muted{color:var(--af-muted)}
.experience-card,.friend-card,.panel-card,.passport-card{border:1px solid var(--af-border);border-radius:var(--af-radius);background:#fff;box-shadow:0 0 0 rgba(0,0,0,0);transition:.22s ease;overflow:hidden}.experience-card:hover,.friend-card:hover,.panel-card:hover{transform:translateY(-5px);box-shadow:var(--af-shadow-soft)}
.experience-card{padding:24px;min-height:170px}.experience-icon{width:58px;height:58px;border-radius:20px;background:#fff0ef;color:var(--af-red);font-size:1.75rem;display:grid;place-items:center;margin-bottom:22px}.experience-icon .bi{font-size:1.9rem;line-height:1}
.experience-card h3{font-size:1.15rem;font-weight:900}.experience-card p{color:var(--af-muted);margin:0;font-size:.95rem}
.friend-img{height:280px;background:linear-gradient(135deg,#e9e9ec,#fbfbfc);position:relative;overflow:hidden}.friend-img img{width:100%;height:100%;object-fit:cover}.badge-level{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.94);border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.12)}.friend-body{padding:20px}.friend-title{font-weight:900;font-size:1.25rem}.rating{color:#ffb000;font-weight:900}.price{font-weight:900}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--af-border);border-radius:999px;padding:7px 11px;font-weight:800;font-size:.82rem;background:#fff}.chip-red{background:#fff0ef;color:var(--af-red);border-color:#ffd7d5}
.step-number{width:54px;height:54px;border-radius:18px;background:var(--af-red);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.3rem}.security-card{border-radius:28px;background:#111;color:#fff;padding:36px;min-height:100%}.security-card .bi{font-size:2rem;color:#fff}.testimonial{border:1px solid var(--af-border);border-radius:26px;padding:26px;background:#fff;min-height:230px}.footer{background:#101114;color:#fff;padding:60px 0 28px}.footer a{color:rgba(255,255,255,.72)}.footer a:hover{color:#fff}
.page-hero{padding:132px 0 70px;background:linear-gradient(180deg,#fff,#f8f8fa)}.filter-bar{border:1px solid var(--af-border);border-radius:28px;background:#fff;padding:14px;box-shadow:var(--af-shadow-soft)}
.profile-hero{padding:120px 0 50px;background:#fafafa}.profile-cover{height:420px;border-radius:34px;background:url('../img/profile-cover.svg') center/cover no-repeat;box-shadow:var(--af-shadow);position:relative}.profile-avatar{width:148px;height:148px;border-radius:40px;border:6px solid #fff;background:url('../img/avatar-maria.svg') center/cover no-repeat;box-shadow:var(--af-shadow-soft);position:absolute;left:32px;bottom:-52px}.passport-card{padding:28px;box-shadow:var(--af-shadow-soft)}.score-circle{width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--af-red) 0 94%,#eee 94% 100%);display:grid;place-items:center;margin:auto}.score-circle span{width:90px;height:90px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900;font-size:2rem}.booking-box{position:sticky;top:96px;border:1px solid var(--af-border);border-radius:30px;padding:24px;box-shadow:var(--af-shadow-soft);background:#fff}.pack-card{border:1px solid var(--af-border);border-radius:22px;padding:18px;background:#fff}.pack-card:hover{border-color:#ffd1ce;box-shadow:var(--af-shadow-soft)}
.dashboard-sidebar{border-right:1px solid var(--af-border);min-height:100vh;position:sticky;top:0;padding-top:96px}.side-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;color:#505360;font-weight:800}.side-link.active,.side-link:hover{background:#fff0ef;color:var(--af-red)}.admin-shell{background:#f6f6f7;min-height:100vh}.stat-card{border:1px solid var(--af-border);border-radius:24px;background:#fff;padding:22px}.stat-card strong{font-size:2rem;font-weight:900}
@media(max-width:991px){.hero{min-height:auto;padding:120px 0 56px}.search-shell{border-radius:26px}.divider-v{display:none}.search-field{min-height:auto}.profile-cover{height:280px}.dashboard-sidebar{position:relative;min-height:auto;border-right:0;padding-top:20px}.section{padding:62px 0}}

.press-strip{margin-top:-38px;position:relative;z-index:5;padding:0 0 34px;background:#fff}
.press-card{border:1px solid var(--af-border);border-radius:30px;background:#fff;padding:30px;box-shadow:var(--af-shadow-soft)}
.press-card h2{font-size:clamp(1.6rem,3vw,2.55rem);font-weight:900;letter-spacing:-.045em;margin:4px 0 10px}.press-card p{color:var(--af-muted);margin:0}
.media-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.media-logo{height:68px;border:1px solid var(--af-border);border-radius:20px;background:#fafafa;display:grid;place-items:center;font-weight:900;color:#8a8d97;filter:grayscale(1);transition:.22s ease;letter-spacing:-.02em}
.media-logo:hover{background:#fff;color:var(--af-red);filter:none;transform:translateY(-2px);box-shadow:var(--af-shadow-soft);border-color:#ffd7d5}
@media(max-width:991px){.press-strip{margin-top:0;padding-top:28px}.media-logo-grid{grid-template-columns:repeat(2,1fr)}.press-card{padding:22px}}

.empty-state{border:1px dashed var(--af-border);border-radius:26px;background:#fff;padding:42px;text-align:center;color:var(--af-muted)}
.save-btn{line-height:1;color:#a3a5ad}.save-btn:hover{color:var(--af-red)}
.modal-content{box-shadow:var(--af-shadow)}
.auth-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff 0%,#fff5f4 100%);padding:110px 16px 40px}.auth-card{width:min(520px,100%);background:#fff;border:1px solid #f1e3e1;border-radius:28px;box-shadow:0 24px 80px rgba(20,20,20,.10);padding:34px}.form-hint{font-size:.9rem;color:#777}.admin-table img{width:42px;height:42px;border-radius:50%;object-fit:cover}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#1fba68}.status-dot.off{background:#bbb}.dev-note{background:#111;color:#fff;border-radius:18px;padding:18px}.dev-note code{color:#fff;background:rgba(255,255,255,.12);padding:2px 6px;border-radius:8px}

/* Iconografía AlquiFriend */
.btn .bi{vertical-align:-.08em}
.nav-link .bi{font-size:.95rem;color:var(--af-red)}
.meta-icon{display:inline-flex;align-items:center;gap:.35rem}
.icon-soft{width:42px;height:42px;border-radius:16px;background:#fff0ef;color:var(--af-red);display:inline-grid;place-items:center}
.friend-card .chip .bi,.passport-card .chip .bi{font-size:.95rem}
.price .bi{vertical-align:-.1em}
.filter-panel .form-control:focus,.filter-bar .form-control:focus{box-shadow:0 0 0 .2rem rgba(230,48,42,.12);border-color:#ffd7d5}

/* Component system additions */
.card-link{display:inline-flex;align-items:center;margin-top:10px;font-weight:800;color:var(--af-red);font-size:.92rem}
.experience-card:hover .card-link{transform:translateX(3px)}
.empty-icon{font-size:42px;color:var(--af-red);display:block;margin-bottom:14px}
.btn .bi,.chip .bi,.section-kicker .bi{vertical-align:-.12em}
.friend-card .btn-af-light{white-space:nowrap}
.icon-soft{width:44px;height:44px;border-radius:16px;background:rgba(238,53,45,.10);color:var(--af-red);display:inline-flex;align-items:center;justify-content:center;font-size:22px}
.booking-box .chip{justify-content:center}.form-select:focus,.form-control:focus{border-color:#ffd7d5;box-shadow:0 0 0 .22rem rgba(230,48,42,.12)}

/* Private area */
.booking-row{border:1px solid var(--af-border);border-radius:22px;padding:14px;background:#fff;transition:.2s ease}.booking-row:hover{box-shadow:var(--af-shadow-soft);transform:translateY(-2px)}
.booking-avatar{width:62px;height:62px;border-radius:20px;object-fit:cover;background:#f3f3f4}.fw-black{font-weight:900}.message-preview{border:1px solid var(--af-border);border-radius:18px;padding:14px;background:#fff}.conversation-card{transition:.2s ease}.conversation-card:hover{transform:translateY(-3px);box-shadow:var(--af-shadow-soft)}
.avatar-stack{position:relative;width:74px;height:54px;flex:0 0 74px}.avatar-stack img{position:absolute;width:48px;height:48px;border-radius:18px;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 18px rgba(16,17,20,.12)}.avatar-stack img:first-child{left:0;top:0}.avatar-stack img:last-child{right:0;bottom:0}

/* Header limpio V2 */
.af-navbar{min-height:82px;padding:12px 0;background:rgba(255,255,255,.96);box-shadow:0 10px 35px rgba(16,17,20,.06)}
.af-navbar .navbar-brand strong{font-size:1.18rem;font-weight:900;letter-spacing:-.035em}.af-navbar .brand-mark{width:40px;height:40px;border-radius:14px}
.af-main-nav{gap:4px}.af-main-nav .nav-link{display:flex;align-items:center;gap:7px;padding:10px 13px!important;border-radius:999px;color:#555965!important;font-size:.94rem;font-weight:850;white-space:nowrap;transition:.18s ease}.af-main-nav .nav-link .bi{color:var(--af-red);font-size:1rem}.af-main-nav .nav-link:hover{background:#fff0ef;color:var(--af-black)!important}.af-main-nav .nav-link:hover .bi{transform:translateY(-1px)}
.af-nav-actions .btn{min-height:46px;padding:.68rem 1rem}.btn-af-ghost{border:1px solid transparent;border-radius:999px;font-weight:850;color:#555965;background:transparent}.btn-af-ghost:hover{background:#f7f7f8;color:var(--af-black)}.af-dropdown{border:1px solid var(--af-border);border-radius:18px;box-shadow:var(--af-shadow-soft);padding:8px}.af-dropdown .dropdown-item{border-radius:12px;font-weight:800;padding:10px 12px}.af-dropdown .dropdown-item .bi{color:var(--af-red)}.af-dropdown .dropdown-item:hover{background:#fff0ef;color:var(--af-red)}
@media(max-width:991px){.af-navbar{min-height:72px}.af-main-nav{padding:16px 0 8px}.af-main-nav .nav-link{border-radius:16px;padding:12px 10px!important}.af-nav-actions{padding:10px 0 4px;align-items:stretch!important}.af-nav-actions .btn{flex:1;justify-content:center}.af-nav-actions .dropdown{display:none!important}}

.af-flash-wrap{position:fixed;top:92px;left:0;right:0;z-index:1040;pointer-events:none}.af-flash-wrap .alert{pointer-events:auto;border-radius:18px;border:0}.text-red{color:var(--af-red)!important}
@media(max-width:991px){.af-flash-wrap{top:78px}}


/* Friend photo manager */
.upload-drop{
    min-height: 220px;
    border: 2px dashed rgba(238,53,45,.35);
    background: linear-gradient(180deg, rgba(238,53,45,.06), rgba(255,255,255,.9));
    border-radius: 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.35rem;
    text-align:center;
    cursor:pointer;
    transition:.2s ease;
    padding:2rem;
}
.upload-drop:hover{border-color:var(--af-red); transform:translateY(-2px); box-shadow:0 18px 45px rgba(20,20,20,.08)}
.upload-drop input{display:none}
.photo-admin-card{position:relative; overflow:hidden; border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(20,20,20,.08); border:1px solid rgba(20,20,20,.06)}
.photo-admin-card img{width:100%; height:230px; object-fit:cover; display:block}
.photo-admin-card.is-main{outline:3px solid rgba(238,53,45,.35)}
.main-photo-badge{position:absolute; top:12px; left:12px; background:var(--af-red); color:#fff; font-weight:900; font-size:.78rem; padding:.45rem .75rem; border-radius:999px; box-shadow:0 8px 24px rgba(238,53,45,.3)}
.photo-admin-actions{display:flex; gap:.5rem; justify-content:space-between; padding:.9rem; flex-wrap:wrap}
.profile-gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.profile-gallery img{width:100%; height:170px; object-fit:cover; border-radius:20px; box-shadow:0 12px 32px rgba(20,20,20,.08)}
@media (max-width: 767px){.profile-gallery{grid-template-columns:repeat(2,1fr)} .profile-gallery img{height:140px}}

/* Chat / conversación */
.compact-hero{padding-bottom:42px!important}.chat-header-avatar{width:82px;height:82px;border-radius:26px;object-fit:cover;box-shadow:0 16px 40px rgba(0,0,0,.12)}
.chat-shell{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:28px;box-shadow:0 24px 70px rgba(15,23,42,.08);overflow:hidden}.chat-thread{padding:24px;min-height:420px;background:linear-gradient(180deg,#fff 0%,#fff7f7 100%)}.chat-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:16px}.chat-row-mine{justify-content:flex-end}.chat-avatar{width:38px;height:38px;border-radius:14px;object-fit:cover}.chat-bubble{max-width:720px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px 22px 22px 6px;padding:14px 16px;box-shadow:0 10px 25px rgba(15,23,42,.06)}.chat-bubble-mine{background:var(--af-red);color:#fff;border-color:var(--af-red);border-radius:22px 22px 6px 22px}.chat-bubble p{margin:0 0 7px}.chat-bubble span{font-size:.78rem;opacity:.75}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:14px;padding:18px;background:#fff;border-top:1px solid rgba(15,23,42,.08)}.conversation-card{transition:all .2s ease}.conversation-card:hover{transform:translateY(-3px);box-shadow:0 24px 70px rgba(15,23,42,.10)}
@media (max-width: 768px){.chat-compose{grid-template-columns:1fr}.chat-bubble{max-width:84%}.chat-thread{padding:16px}}

/* Mis experiencias */
.af-sticky-form{top:100px;}
.experience-admin-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:1.25rem;
  box-shadow:0 18px 50px rgba(15,23,42,.07);
  transition:.2s ease;
}
.experience-admin-card:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(15,23,42,.1);}
.experience-admin-card.is-disabled{opacity:.72;background:#fafafa;}
.experience-admin-icon{
  width:58px;height:58px;min-width:58px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(238,53,45,.09);color:var(--af-red);
  font-size:1.65rem;
}
.experience-admin-icon i{line-height:1;}
@media (max-width: 991.98px){.af-sticky-form{position:static!important;}}

/* Admin V2 */
.af-admin-page .af-stat-card{
  background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:22px;box-shadow:0 16px 45px rgba(15,23,42,.06);height:100%;
  display:flex;flex-direction:column;gap:6px;transition:.18s ease;
}
.af-admin-page .af-stat-card:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(15,23,42,.1)}
.af-admin-page .af-stat-card i{width:42px;height:42px;border-radius:16px;background:rgba(225,29,46,.10);color:var(--af-red,#e11d2e);display:grid;place-items:center;font-size:1.25rem;margin-bottom:4px}
.af-admin-page .af-stat-card strong{font-size:2rem;line-height:1;font-weight:900;color:#111827}
.af-admin-page .af-stat-card span{color:#6b7280;font-weight:700;font-size:.9rem}
.af-panel-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:22px;box-shadow:0 16px 45px rgba(15,23,42,.06)}
.af-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;border-bottom:1px solid rgba(15,23,42,.08)}
.af-table td{border-color:rgba(15,23,42,.06);padding-top:16px;padding-bottom:16px}
@media(max-width:767px){.af-panel-card{padding:16px}.af-table{min-width:760px}}


/* SEO / landings */
.city-card,.press-item,.experience-seo-card{
  display:block;background:#fff;border:1px solid var(--af-border);border-radius:24px;padding:24px;box-shadow:0 0 0 rgba(0,0,0,0);transition:.22s ease;height:100%;
}
.city-card:hover,.press-item:hover,.experience-seo-card:hover{transform:translateY(-4px);box-shadow:var(--af-shadow-soft);border-color:#ffd7d5}
.city-card h3,.experience-seo-card h3{font-weight:900;letter-spacing:-.035em}.city-card p{color:var(--af-muted);margin-bottom:12px}.city-card span{font-weight:900;color:var(--af-red)}
.press-item h3{letter-spacing:-.04em}.press-item .icon-soft{font-size:1.35rem}.compact-hero .section-title{max-width:980px}

/* Seguridad V2 */
.trust-panel{
  border-radius:28px;
  background:linear-gradient(135deg,#fff,#fff5f5);
  border:1px solid rgba(224,36,36,.12);
  box-shadow:0 24px 70px rgba(20,20,20,.08);
  padding:36px;
}
.trust-icon{
  width:76px;height:76px;border-radius:24px;
  display:grid;place-items:center;
  background:rgba(224,36,36,.10);
  color:var(--af-red,#e02424);
  font-size:34px;margin-bottom:18px;
}
.feature-icon{
  width:54px;height:54px;border-radius:18px;
  display:grid;place-items:center;
  background:rgba(224,36,36,.10);
  color:var(--af-red,#e02424);
  font-size:24px;margin-bottom:14px;
}


.payment-option{display:flex;align-items:flex-start;gap:.5rem;padding:1rem 1.1rem;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05);cursor:pointer;transition:.2s ease}
.payment-option:hover{border-color:rgba(220,38,38,.35);transform:translateY(-1px);box-shadow:0 14px 34px rgba(15,23,42,.08)}
.payment-option .form-check-input{margin-top:.25rem}


.af-notification-card{
  display:flex; align-items:flex-start; gap:16px; padding:18px; border:1px solid rgba(17,17,17,.08);
  border-radius:22px; background:#fff; color:inherit; text-decoration:none; box-shadow:0 14px 35px rgba(15,23,42,.06);
  transition:.18s ease; position:relative;
}
.af-notification-card:hover{ transform:translateY(-2px); box-shadow:0 20px 45px rgba(15,23,42,.1); color:inherit; }
.af-notification-card.is-unread{ border-color:rgba(229,57,53,.28); background:linear-gradient(90deg, rgba(229,57,53,.06), #fff 35%); }
.af-notification-icon{ width:46px; height:46px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:rgba(229,57,53,.09); color:#e53935; font-size:1.25rem; flex:0 0 46px; }
.af-notification-card h2{ font-size:1.02rem; margin:0 0 5px; font-weight:900; }
.af-notification-card p{ margin:0; color:#667085; }
.af-notification-card small{ color:#98a2b3; white-space:nowrap; }
.af-unread-dot{ width:10px; height:10px; background:#e53935; border-radius:50%; position:absolute; top:18px; right:18px; }
.af-empty-state{ background:#fff; border:1px dashed rgba(17,17,17,.16); border-radius:28px; }
.af-empty-icon{ width:74px; height:74px; border-radius:24px; background:rgba(229,57,53,.08); color:#e53935; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-size:2rem; }

.review-card{border:1px solid var(--af-border);border-radius:24px;background:#fff;padding:22px;box-shadow:0 14px 40px rgba(20,20,20,.06)}
.review-stars{color:#f6b800;letter-spacing:2px;font-size:1.05rem}
.rating-select{display:inline-flex;flex-direction:row-reverse;gap:6px;background:#fff7df;border:1px solid #ffe7a1;border-radius:18px;padding:12px 14px}
.rating-select input{display:none}
.rating-select label{font-size:2rem;color:#ddd;cursor:pointer;transition:.15s ease;line-height:1}
.rating-select input:checked ~ label,.rating-select label:hover,.rating-select label:hover ~ label{color:#f6b800;transform:translateY(-1px)}

.favorite-pulse{animation:afFavoritePulse .35s ease}
@keyframes afFavoritePulse{0%{transform:scale(1)}50%{transform:scale(1.22)}100%{transform:scale(1)}}
.save-btn{width:38px;height:38px;border-radius:999px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08);display:inline-flex;align-items:center;justify-content:center}
.save-btn:hover{background:#fff0f0}

/* Blog AlquiFriend */
.af-blog-hero{background:linear-gradient(135deg,#fff 0%,#fff5f5 55%,#f8f9fb 100%);border-bottom:1px solid rgba(0,0,0,.05)}
.af-search-mini .input-group{box-shadow:0 18px 45px rgba(0,0,0,.08);border-radius:18px;overflow:hidden;background:#fff}.af-search-mini .input-group-text,.af-search-mini .form-control{border:0;background:#fff}.af-search-mini .btn{border-radius:0}
.af-blog-card{position:relative;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:24px;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.06);transition:.2s ease}.af-blog-card:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(0,0,0,.11)}
.af-blog-card img{width:100%;height:215px;object-fit:cover;background:#f1f2f5}.af-blog-card .af-read-more{font-weight:800;color:var(--af-red,#e53935)}
.af-article-meta{font-weight:800;color:#6c757d;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.af-article-cover{width:100%;max-height:460px;object-fit:cover;border-radius:30px;box-shadow:0 24px 70px rgba(0,0,0,.12)}
.af-article-content{font-size:1.08rem;line-height:1.85;color:#24262b}.af-article-content h1,.af-article-content h2,.af-article-content h3{font-weight:900;margin-top:2rem;margin-bottom:1rem;color:#111}.af-article-content p{margin-bottom:1.15rem}.af-article-content img{max-width:100%;border-radius:20px}.af-article-content a{color:var(--af-red,#e53935);font-weight:800}
.af-article-cta{display:flex;gap:1rem;align-items:center;justify-content:space-between;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:26px;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.07)}
.af-admin-thumb{width:76px;height:56px;border-radius:14px;object-fit:cover;background:#f2f3f5}.af-code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem;line-height:1.55}
@media(max-width:768px){.af-article-cta{flex-direction:column;align-items:flex-start}.af-blog-card img{height:190px}}


/* Páginas legales */
.legal-hero{background:linear-gradient(135deg,#fff 0%,#fff5f5 55%,#f8f9fb 100%);border-bottom:1px solid rgba(0,0,0,.05)}
.legal-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:30px;padding:34px;box-shadow:0 20px 60px rgba(15,23,42,.07)}
.legal-card h2{font-size:1.25rem;font-weight:900;letter-spacing:-.035em;margin:2rem 0 1rem;color:#111827}
.legal-card h2:first-child{margin-top:0}
.legal-card p{color:#4b5563;line-height:1.82;margin-bottom:1rem}
.legal-card a{color:var(--af-red,#e53935);font-weight:800;text-decoration:none}
.legal-card a:hover{text-decoration:underline}
.legal-list{padding-left:0;list-style:none;margin:0 0 1.25rem}
.legal-list li{padding:.75rem 1rem;margin-bottom:.55rem;border:1px solid rgba(15,23,42,.07);border-radius:16px;background:#fafafa;color:#4b5563}
.legal-side-card{top:100px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(15,23,42,.07)}
.legal-mini-line{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-top:1px solid rgba(15,23,42,.07);font-weight:800;color:#374151}
.legal-mini-line i{color:var(--af-red,#e53935);font-size:1.15rem}
.legal-update{margin-top:2rem;padding:1rem 1.25rem;border-radius:18px;background:#fff5f5;border:1px solid rgba(229,57,53,.16);font-weight:800;color:#b42318}
@media(max-width:768px){.legal-card{padding:22px;border-radius:24px}.legal-side-card{position:static!important}}

/* Página Quiénes somos */
.about-hero-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:34px;padding:38px;box-shadow:0 26px 80px rgba(15,23,42,.10);position:relative;overflow:hidden}
.about-hero-card:after{content:"";position:absolute;right:-60px;bottom:-60px;width:190px;height:190px;border-radius:50%;background:rgba(229,57,53,.08)}
.about-icon{width:82px;height:82px;border-radius:28px;background:rgba(229,57,53,.10);color:var(--af-red,#e53935);display:grid;place-items:center;font-size:2.2rem;margin-bottom:22px}
.about-feature{height:100%;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:26px;padding:26px;box-shadow:0 16px 44px rgba(15,23,42,.06);transition:.18s ease}
.about-feature:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(15,23,42,.10)}
.about-feature i{width:54px;height:54px;border-radius:18px;background:rgba(229,57,53,.10);color:var(--af-red,#e53935);display:grid;place-items:center;font-size:1.45rem;margin-bottom:16px}
.about-feature h3{font-size:1.05rem;font-weight:900;margin-bottom:8px}.about-feature p{margin:0;color:#667085;line-height:1.65}
.about-do-card,.about-dont-card{border-radius:30px;padding:30px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 55px rgba(15,23,42,.07)}
.about-do-card h3{color:#12805c;font-weight:900}.about-dont-card h3{color:#b42318;font-weight:900}.about-do-card ul,.about-dont-card ul{margin:18px 0 0;padding-left:1.1rem;color:#4b5563;line-height:1.9}
.about-stat{height:100%;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:20px;background:#fff;box-shadow:0 14px 38px rgba(15,23,42,.055)}
.about-stat strong{display:block;font-weight:900;margin-bottom:8px}.about-stat strong i{color:var(--af-red,#e53935)}.about-stat span{color:#667085;font-size:.94rem}.about-cta{border-radius:34px;background:linear-gradient(135deg,#111827 0%,#1f2937 60%,#e53935 160%);color:#fff;padding:48px 24px;box-shadow:0 24px 80px rgba(15,23,42,.18)}.about-cta .text-secondary{color:rgba(255,255,255,.78)!important}

/* Registro V2 */
.register-page{background:linear-gradient(135deg,#fff 0%,#fff7f7 54%,#f8f9fb 100%)}
.register-hero{min-height:calc(100vh - 80px)}
.register-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:34px;padding:30px;box-shadow:0 26px 80px rgba(15,23,42,.10)}
.register-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f6f7f9;border-radius:22px;padding:7px}
.register-switch a{text-decoration:none;color:#4b5563;text-align:center;border-radius:17px;padding:13px 10px;font-weight:900;transition:.18s ease}.register-switch a.active{background:#fff;color:var(--af-red,#e53935);box-shadow:0 10px 30px rgba(15,23,42,.08)}
.register-benefit{display:flex;align-items:flex-start;gap:14px;margin:14px 0;color:#4b5563;font-weight:750}.register-benefit i{width:42px;height:42px;border-radius:16px;background:rgba(229,57,53,.10);color:var(--af-red,#e53935);display:grid;place-items:center;flex:0 0 42px;font-size:1.15rem}
.register-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.register-options label,.legal-check{border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#fafafa;padding:12px 14px;font-weight:800;color:#4b5563}.legal-check{display:block;background:#fff5f5;border-color:rgba(229,57,53,.16)}.legal-check a{color:var(--af-red,#e53935);font-weight:900;text-decoration:none}.legal-check a:hover{text-decoration:underline}.text-red{color:var(--af-red,#e53935)!important}
@media(max-width:768px){.register-card{padding:20px;border-radius:26px}.register-switch{grid-template-columns:1fr}.register-options{grid-template-columns:1fr}}

/* Pulido V2 - estados vacíos y detalles de confianza */
.page-hero{padding:130px 0 70px;background:linear-gradient(180deg,#fff7f7 0%,#fff 100%)}
.trust-mini-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--af-border);border-radius:24px;padding:22px;box-shadow:var(--af-shadow-soft)}
.trust-mini-card>i{width:54px;height:54px;border-radius:18px;background:#fff0ef;color:var(--af-red);display:grid;place-items:center;font-size:1.7rem;flex:0 0 54px}
.trust-mini-card strong{display:block;font-weight:900;margin-bottom:4px}.trust-mini-card span{display:block;color:var(--af-muted);font-size:.94rem;line-height:1.35}
.empty-state-premium{border:1px dashed rgba(230,48,42,.35);background:linear-gradient(180deg,#fff,#fff7f7);border-radius:30px;box-shadow:0 18px 45px rgba(16,17,20,.06)}
.empty-state-icon{width:84px;height:84px;border-radius:28px;margin:0 auto 20px;background:#fff0ef;color:var(--af-red);display:grid;place-items:center;font-size:2.4rem}
.empty-state-premium h3{font-weight:900;letter-spacing:-.04em}.empty-state-premium p{max-width:680px;margin-left:auto;margin-right:auto}
.experience-result-card{transition:.22s ease}.experience-result-card:hover{transform:translateY(-4px);box-shadow:var(--af-shadow-soft)}
.cta-band{background:linear-gradient(180deg,#fff,#fff7f7)}.cta-card{border-radius:34px;background:linear-gradient(135deg,var(--af-red),#9e1714);color:#fff;padding:56px 28px;box-shadow:0 24px 70px rgba(230,48,42,.22)}.cta-card h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;letter-spacing:-.06em}.cta-card p{color:rgba(255,255,255,.82);font-size:1.1rem;max-width:720px;margin:10px auto 24px}.fw-black{font-weight:900}.small-muted{color:var(--af-muted);font-size:.92rem}
.card-link{display:inline-flex;align-items:center;margin-top:18px;color:var(--af-red);font-weight:900}.experience-card:hover .card-link{transform:translateX(3px)}
@media(max-width:767px){.page-hero{padding:105px 0 48px}.cta-card{padding:38px 20px}.trust-mini-card{padding:18px}.empty-state-premium{padding:32px 18px!important}}

/* Registro y edición V2: selección de experiencias */
.experience-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.experience-check{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border:1px solid rgba(0,0,0,.08);border-radius:18px;background:#fff;cursor:pointer;transition:all .18s ease;font-weight:700;color:#222}
.experience-check:hover{border-color:rgba(220,38,38,.35);box-shadow:0 10px 24px rgba(20,20,20,.06);transform:translateY(-1px)}
.experience-check input{accent-color:var(--af-red,#e52421);width:18px;height:18px;flex:0 0 auto}
.experience-check input:checked+span{color:var(--af-red,#e52421)}
@media(max-width:767px){.experience-check-grid{grid-template-columns:1fr}}

/* Photo editor / cropper básico */
.photo-editor{
  border:1px solid rgba(20,20,20,.08);
  border-radius:24px;
  background:#fff;
  padding:1rem;
  box-shadow:0 18px 50px rgba(20,20,20,.06);
}
.crop-stage{
  width:min(420px, 100%);
  aspect-ratio:1/1;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg,#fafafa,#eeeeee);
  border:1px solid rgba(20,20,20,.08);
  position:relative;
}
.crop-stage:after{
  content:'';
  position:absolute;
  inset:12px;
  border:2px solid rgba(255,255,255,.95);
  border-radius:18px;
  pointer-events:none;
  box-shadow:0 0 0 999px rgba(0,0,0,.08);
}
.crop-stage canvas{
  width:100%;
  height:100%;
  display:block;
}


/* Selector global de país */
.af-country-dropdown .btn { white-space: nowrap; }
.country-menu { max-height: 360px; overflow-y: auto; min-width: 230px; }
.country-menu .dropdown-item { font-weight: 700; }
.country-menu .dropdown-item.active-country,
.country-menu .dropdown-item:hover { background: rgba(229, 35, 35, .08); color: var(--af-red, #e52323); }
.af-country-modal .modal-content, .af-country-modal { border-radius: 26px; }
.af-country-modal { border: 0; box-shadow: 0 24px 70px rgba(0,0,0,.18); }
@media (max-width: 991px){ .af-country-dropdown { width: 100%; } .af-country-dropdown .btn { width: 100%; justify-content: center; } }

/* Quiénes somos - visual trust blocks */
.about-visual-hero{overflow:hidden;position:relative}.about-visual-hero:before{content:"";position:absolute;right:-180px;top:120px;width:420px;height:420px;border-radius:50%;background:rgba(229,57,53,.08);pointer-events:none}.about-photo-stack{position:relative;min-height:390px}.about-main-photo{width:100%;border-radius:34px;box-shadow:0 28px 90px rgba(15,23,42,.15);border:1px solid rgba(15,23,42,.08);background:#fff}.about-mini-photo{position:absolute;right:-10px;bottom:-22px;width:180px;border-radius:28px;box-shadow:0 20px 60px rgba(15,23,42,.18);border:8px solid #fff;background:#fff}.about-floating-trust{position:absolute;left:-8px;bottom:28px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 60px rgba(15,23,42,.16);border-radius:22px;padding:14px 16px;display:flex;align-items:center;gap:12px;max-width:280px}.about-floating-trust i{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(18,128,92,.10);color:#12805c;font-size:1.35rem}.about-floating-trust strong{display:block;font-weight:900;line-height:1.1}.about-floating-trust span{display:block;color:#667085;font-size:.86rem}.about-section-img{width:100%;border-radius:32px;box-shadow:0 20px 70px rgba(15,23,42,.10);border:1px solid rgba(15,23,42,.08);background:#fff;display:block}.about-mini-value{height:100%;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:18px;box-shadow:0 14px 40px rgba(15,23,42,.055)}.about-mini-value i{width:44px;height:44px;border-radius:15px;background:rgba(229,57,53,.10);color:var(--af-red,#e53935);display:grid;place-items:center;margin-bottom:12px}.about-mini-value strong{display:block;font-weight:900}.about-mini-value span{display:block;color:#667085;font-size:.9rem;margin-top:4px}.about-cta-visual{position:relative;overflow:hidden}.about-cta-image{width:142px;height:112px;margin:0 auto 18px;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 18px 52px rgba(0,0,0,.18);border:6px solid rgba(255,255,255,.85)}.about-cta-image img{width:100%;height:100%;object-fit:cover}
@media (max-width: 991.98px){.about-photo-stack{min-height:auto}.about-mini-photo{width:138px;right:6px;bottom:-12px}.about-floating-trust{left:10px;bottom:16px}.about-section-img.h-100{height:auto!important}}@media (max-width: 575.98px){.about-floating-trust{position:relative;left:auto;bottom:auto;margin-top:12px;max-width:100%}.about-mini-photo{display:none}.about-main-photo,.about-section-img{border-radius:24px}}


/* Cómo funciona - timeline ampliada */
.how-works-section{background:linear-gradient(180deg,#fff 0%,#fff7f7 100%)}
.how-timeline{position:relative;max-width:980px;margin:0 auto}
.how-timeline:before{content:"";position:absolute;left:33px;top:20px;bottom:20px;width:3px;background:linear-gradient(180deg,var(--af-red,#e53935),rgba(229,57,53,.12));border-radius:999px}
.how-step-card{position:relative;display:grid;grid-template-columns:70px 1fr;gap:22px;margin-bottom:24px}
.how-step-number{position:relative;z-index:2;width:66px;height:66px;border-radius:22px;background:var(--af-red,#e53935);color:#fff;display:grid;place-items:center;font-size:1.45rem;font-weight:900;box-shadow:0 16px 38px rgba(229,57,53,.24)}
.how-step-content{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:28px;padding:28px;box-shadow:0 18px 52px rgba(15,23,42,.075)}
.how-step-icon{width:54px;height:54px;border-radius:18px;background:rgba(229,57,53,.10);color:var(--af-red,#e53935);display:grid;place-items:center;font-size:1.55rem;margin-bottom:14px}
.how-step-content h3{font-weight:900;letter-spacing:-.035em;margin-bottom:10px}
.how-step-content p{color:var(--af-muted,#667085);font-size:1.02rem}
.how-profile-box{height:100%;border:1px solid rgba(229,57,53,.16);background:linear-gradient(180deg,#fff,#fffafa);border-radius:22px;padding:18px}
.how-profile-box strong{display:block;font-weight:900;margin-bottom:8px}
.how-profile-box p{font-size:.94rem;margin:0;color:var(--af-muted,#667085)}
.how-filter-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.how-filter-chips span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#fff7f7;border:1px solid rgba(229,57,53,.16);font-weight:800;color:#2b2b2b;font-size:.92rem}
.how-filter-chips i{color:var(--af-red,#e53935)}
.trust-mini-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:22px;box-shadow:0 16px 44px rgba(15,23,42,.065)}
.trust-mini-card i{width:48px;height:48px;border-radius:16px;background:rgba(229,57,53,.10);color:var(--af-red,#e53935);display:grid;place-items:center;font-size:1.35rem;margin-bottom:14px}
.trust-mini-card strong{display:block;font-weight:900;margin-bottom:4px}
.trust-mini-card span{display:block;color:var(--af-muted,#667085);font-size:.94rem}
@media(max-width:767.98px){.how-timeline:before{left:25px}.how-step-card{grid-template-columns:52px 1fr;gap:14px}.how-step-number{width:52px;height:52px;border-radius:18px;font-size:1.15rem}.how-step-content{padding:22px;border-radius:24px}.how-step-icon{width:46px;height:46px;border-radius:16px;font-size:1.25rem}}

/* Mis experiencias: pestañas explicativas */
.experience-help-card{background:linear-gradient(135deg,#fff,#fff7f7)}
.experience-flow-mini{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.experience-flow-mini>div{background:#fff;border:1px solid rgba(230,48,42,.14);border-radius:20px;padding:14px 16px;box-shadow:0 12px 30px rgba(16,17,20,.06);display:flex;align-items:center;gap:10px}
.experience-flow-mini span{width:32px;height:32px;border-radius:50%;background:var(--af-red,#e6302a);color:#fff;display:grid;place-items:center;font-weight:900}
.experience-flow-mini strong{font-size:.92rem;line-height:1.15}.experience-flow-mini>i{color:var(--af-red,#e6302a);font-size:1.35rem}
.experience-tabs{gap:12px;background:#fff;border:1px solid var(--af-border);border-radius:26px;padding:10px;box-shadow:var(--af-shadow-soft)}
.experience-tabs .nav-item{flex:1 1 260px}.experience-tabs .nav-link{width:100%;border:1px solid transparent;border-radius:20px;color:#202124;background:#f8f9fb;padding:16px 18px;display:flex;align-items:center;text-align:left;gap:12px;min-height:78px}
.experience-tabs .nav-link.active{background:linear-gradient(135deg,var(--af-red,#e6302a),#b91c1c);color:#fff;box-shadow:0 16px 40px rgba(230,48,42,.20)}
.experience-tabs .nav-link strong{display:block;font-weight:900}.experience-tabs .nav-link small{display:block;color:inherit;opacity:.74;font-weight:700;line-height:1.25}.experience-tabs .tab-icon{width:42px;height:42px;border-radius:16px;background:#fff;color:var(--af-red,#e6302a);display:grid;place-items:center;font-size:1.25rem;flex:0 0 42px}.experience-tabs .nav-link:not(.active) .tab-icon{background:#fff0ef}
.experience-info-box{border:1px solid rgba(230,48,42,.14);border-radius:26px;background:linear-gradient(180deg,#fff7f7,#fff);padding:24px}.experience-info-icon{width:62px;height:62px;border-radius:22px;background:#fff;color:var(--af-red,#e6302a);display:grid;place-items:center;font-size:1.8rem;box-shadow:0 12px 30px rgba(16,17,20,.06);margin-bottom:16px}
.experience-example-box{background:#202124;color:#fff;border-radius:26px;padding:22px;box-shadow:var(--af-shadow-soft)}.experience-example-box small{display:block;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55);font-weight:900;margin-bottom:8px}.experience-example-box strong,.experience-example-box span{display:block}.experience-example-box span{color:rgba(255,255,255,.76);margin-top:5px;line-height:1.35}
@media(max-width:767px){.experience-tabs{border-radius:22px;padding:8px}.experience-tabs .nav-link{min-height:auto;padding:14px}.experience-flow-mini{justify-content:flex-start}.experience-flow-mini>i{transform:rotate(90deg)}}

/* Ajustes: privacidad y eliminar perfil */
.settings-page .settings-switch-row{border:0;background:transparent}
.settings-danger-icon{width:58px;height:58px;border-radius:20px;background:#dc3545;color:#fff;display:grid;place-items:center;font-size:1.55rem;box-shadow:0 16px 40px rgba(220,53,69,.18);flex:0 0 58px}
@media(max-width:575.98px){.settings-page .list-group-item{align-items:flex-start!important;gap:16px}.settings-page .form-switch{padding-left:2.5em}.settings-danger-icon{width:50px;height:50px;border-radius:18px;font-size:1.3rem;flex-basis:50px}}

/* Perfiles destacados */
.friend-card.is-featured-friend{
  border-color:rgba(255,176,0,.48);
  box-shadow:0 18px 45px rgba(255,176,0,.14);
}
.friend-card.is-featured-friend:hover{
  box-shadow:0 24px 60px rgba(255,176,0,.22);
}
.badge-featured-friend{
  position:absolute;
  right:14px;
  top:14px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:999px;
  padding:8px 13px;
  font-size:.78rem;
  font-weight:900;
  color:#1f1600;
  background:linear-gradient(135deg,#ffd66b,#ffb000);
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  z-index:2;
}
.chip-featured-friend{
  background:linear-gradient(135deg,#fff8df,#fff1b8);
  color:#7a5200;
  border-color:#ffe08a;
}
.featured-upgrade-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(255,176,0,.38);
  border-radius:26px;
  background:linear-gradient(135deg,#fffaf0,#fff 62%);
  padding:20px 22px;
  box-shadow:0 16px 45px rgba(16,17,20,.06);
}
.featured-upgrade-icon,.featured-benefit-icon{
  width:54px;
  height:54px;
  min-width:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#ffd66b,#ffb000);
  color:#1f1600;
  font-size:1.55rem;
  box-shadow:0 12px 28px rgba(255,176,0,.24);
}
.featured-benefit-card,.featured-plan-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:28px;
  background:#fff;
  padding:26px;
  box-shadow:0 18px 50px rgba(15,23,42,.07);
}
.featured-benefit-card{
  background:linear-gradient(180deg,#fff,#fffaf0);
}
.featured-plan-card{
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:.2s ease;
}
.featured-plan-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 60px rgba(15,23,42,.1);
}
.featured-plan-card.is-recommended{
  border-color:rgba(255,176,0,.65);
  box-shadow:0 20px 58px rgba(255,176,0,.14);
}
.featured-plan-recommended{
  position:absolute;
  right:18px;
  top:18px;
  border-radius:999px;
  padding:6px 10px;
  background:#111;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.featured-plan-days{
  width:max-content;
  border-radius:999px;
  padding:7px 12px;
  background:#fff8df;
  color:#7a5200;
  font-weight:900;
  margin-bottom:18px;
}
.featured-plan-price{
  margin-top:auto;
  font-size:2.1rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}
@media(max-width:767px){
  .featured-upgrade-strip{align-items:flex-start;flex-direction:column;padding:18px;}
  .featured-upgrade-strip .btn{width:100%;}
  .badge-featured-friend{font-size:.72rem;padding:7px 10px;}
}

/* Perfil destacado en perfil público */
.profile-hero.is-featured-profile{
  background:
    radial-gradient(circle at 18% 20%, rgba(255,214,107,.34), transparent 30%),
    linear-gradient(180deg,#fffaf0 0%,#fafafa 72%);
}
.profile-cover.is-featured-profile{
  border:2px solid rgba(255,176,0,.55);
  box-shadow:0 26px 70px rgba(255,176,0,.22), var(--af-shadow);
  overflow:hidden;
}
.profile-cover.is-featured-profile::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,214,107,.32), transparent 34%, rgba(255,176,0,.20));
}
.profile-avatar.is-featured-profile{
  border-color:#ffd66b;
  box-shadow:0 20px 54px rgba(255,176,0,.32), 0 0 0 8px rgba(255,255,255,.92);
}
.profile-featured-ribbon{
  position:absolute;
  left:28px;
  top:28px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:11px 16px;
  background:linear-gradient(135deg,#ffd66b,#ffb000);
  color:#1f1600;
  font-weight:900;
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.profile-featured-ribbon i{font-size:1.1rem;}
.profile-featured-float{
  position:absolute;
  right:28px;
  bottom:28px;
  z-index:3;
  align-items:center;
  gap:13px;
  border-radius:22px;
  padding:14px 16px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 44px rgba(16,17,20,.16);
}
.profile-featured-float i{
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#ffd66b,#ffb000);
  color:#1f1600;
  font-size:1.35rem;
}
.profile-featured-float strong{display:block;font-weight:900;line-height:1.05;}
.profile-featured-float small{display:block;color:var(--af-muted);font-weight:800;}
.chip-featured-profile{
  background:linear-gradient(135deg,#ffd66b,#ffb000);
  color:#1f1600;
  border-color:#ffbd22;
  box-shadow:0 10px 24px rgba(255,176,0,.18);
}
.profile-featured-spotlight{
  display:flex;
  align-items:flex-start;
  gap:16px;
  border:1px solid rgba(255,176,0,.42);
  border-radius:28px;
  padding:20px;
  background:linear-gradient(135deg,#fff8df,#fff 65%);
  box-shadow:0 18px 50px rgba(255,176,0,.12);
}
.profile-featured-spotlight-icon{
  width:58px;
  height:58px;
  min-width:58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#ffd66b,#ffb000);
  color:#1f1600;
  font-size:1.65rem;
  box-shadow:0 12px 28px rgba(255,176,0,.24);
}
.booking-box.is-featured-profile{
  border-color:rgba(255,176,0,.55);
  background:linear-gradient(180deg,#fffaf0 0%,#fff 32%);
  box-shadow:0 22px 60px rgba(255,176,0,.16);
}
.booking-featured-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:8px 13px;
  background:linear-gradient(135deg,#ffd66b,#ffb000);
  color:#1f1600;
  font-size:.82rem;
  font-weight:900;
  box-shadow:0 10px 24px rgba(255,176,0,.20);
}
.score-circle.is-featured-profile{
  background:conic-gradient(#ffb000 0 96%,#eee 96% 100%);
  box-shadow:0 16px 36px rgba(255,176,0,.20);
}
.featured-profile-mini{
  display:flex;
  align-items:flex-start;
  gap:12px;
  border:1px solid #ffe08a;
  border-radius:20px;
  padding:14px;
  background:#fff8df;
}
.featured-profile-mini i{
  width:36px;height:36px;min-width:36px;border-radius:14px;
  display:grid;place-items:center;
  background:#ffb000;color:#1f1600;
}
.featured-profile-mini strong{color:#1f1600;}
.featured-profile-mini span{color:#7a5200;font-weight:800;}
.featured-profile-cta{
  border:1px solid rgba(255,176,0,.38);
  border-radius:24px;
  padding:16px;
  background:linear-gradient(135deg,#fff,#fff8df);
}
.featured-profile-cta-icon{
  width:46px;height:46px;min-width:46px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#ffd66b,#ffb000);
  color:#1f1600;
  font-size:1.3rem;
}
@media(max-width:767px){
  .profile-featured-ribbon{left:16px;top:16px;padding:9px 13px;font-size:.86rem;}
  .profile-featured-spotlight{padding:16px;border-radius:22px;}
  .profile-featured-spotlight-icon{width:48px;height:48px;min-width:48px;border-radius:17px;font-size:1.35rem;}
}

/* Vista previa pública en explorar.php */
.guest-preview-alert{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  max-width:980px;
  border:1px solid rgba(229,57,53,.18);
  border-radius:28px;
  padding:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 55px rgba(16,17,20,.10);
  backdrop-filter:blur(12px);
}
.guest-preview-alert-icon{
  width:54px;
  min-width:54px;
  height:54px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#fff0f0,#ffe1df);
  color:var(--af-red);
  font-size:1.45rem;
}
.guest-preview-alert strong{display:block;font-weight:900;color:var(--af-dark);}
.guest-preview-alert span{display:block;color:var(--af-muted);font-weight:700;}
.guest-preview-alert-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.guest-register-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  border:1px solid rgba(229,57,53,.15);
  border-radius:30px;
  padding:24px;
  background:linear-gradient(135deg,#fff,#fff5f4);
  box-shadow:0 18px 55px rgba(229,57,53,.08);
}
.guest-register-copy{max-width:680px;}
.guest-register-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:210px;
}
.guest-bottom-cta{
  text-align:center;
  border:1px solid rgba(229,57,53,.16);
  border-radius:30px;
  padding:28px;
  background:#fff;
  box-shadow:0 16px 48px rgba(16,17,20,.08);
}
@media(max-width:991px){
  .guest-preview-alert,
  .guest-register-panel{
    align-items:flex-start;
    flex-direction:column;
  }
  .guest-preview-alert-actions,
  .guest-register-actions{
    width:100%;
  }
  .guest-preview-alert-actions .btn,
  .guest-register-actions .btn{
    width:100%;
  }
}

/* Dashboard usuario */
.dashboard-hero{background:linear-gradient(135deg,#fff 0%,#fff5f5 55%,#f8f9fb 100%)}
.dashboard-alert-photo{border:1px solid rgba(229,57,53,.18);border-radius:26px;background:linear-gradient(135deg,#fff5f5,#fff);box-shadow:0 18px 50px rgba(15,23,42,.06);color:#25272d;padding:22px}
.dashboard-alert-icon{width:58px;height:58px;border-radius:20px;background:#e53935;color:#fff;display:grid;place-items:center;font-size:1.45rem;box-shadow:0 16px 36px rgba(229,57,53,.22);flex:0 0 58px}
.dashboard-stat-card{position:relative;overflow:hidden}
.dashboard-stat-card:after{content:"";position:absolute;right:-34px;top:-34px;width:98px;height:98px;border-radius:999px;background:rgba(229,57,53,.06)}
.dashboard-summary-card,.dashboard-actions-card{position:relative;overflow:hidden}
.dashboard-status-item{position:relative;display:flex;gap:14px;align-items:flex-start;height:100%;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.04);transition:.18s ease}
.dashboard-status-item:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.08)}
.dashboard-status-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#f4f5f7;color:#667085;font-size:1.15rem;flex:0 0 44px}
.dashboard-status-item.is-ok{border-color:rgba(25,135,84,.18);background:linear-gradient(135deg,#f4fff9,#fff)}
.dashboard-status-item.is-ok .dashboard-status-icon{background:rgba(25,135,84,.10);color:#198754}
.dashboard-status-item.is-warning{border-color:rgba(255,193,7,.28);background:linear-gradient(135deg,#fff9e8,#fff)}
.dashboard-status-item.is-warning .dashboard-status-icon{background:rgba(255,193,7,.18);color:#946200}
.dashboard-status-item.is-danger{border-color:rgba(220,53,69,.18);background:linear-gradient(135deg,#fff5f5,#fff)}
.dashboard-status-item.is-danger .dashboard-status-icon{background:rgba(220,53,69,.10);color:#dc3545}
.dashboard-status-item.is-featured{border-color:rgba(246,184,0,.32);background:linear-gradient(135deg,#fff8df,#fff)}
.dashboard-status-item.is-featured .dashboard-status-icon{background:linear-gradient(135deg,#ffd54a,#f6b800);color:#3a2800}
.dashboard-quick-links{display:flex;flex-direction:column;gap:10px}
.dashboard-quick-links a{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;color:#25272d;text-decoration:none;font-weight:900;box-shadow:0 8px 22px rgba(15,23,42,.04);transition:.18s ease}
.dashboard-quick-links a:hover{border-color:rgba(229,57,53,.24);background:#fff7f7;color:#e53935;transform:translateY(-1px)}
.dashboard-quick-links a>i:first-child{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(229,57,53,.08);color:#e53935;font-size:1rem}
.dashboard-featured-cta{padding:18px;border-radius:22px;background:linear-gradient(135deg,#fff3c4,#fff);border:1px solid rgba(246,184,0,.28);box-shadow:0 14px 34px rgba(246,184,0,.12)}
.dashboard-featured-cta>i{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#ffd54a,#f6b800);color:#3a2800;font-size:1.2rem;margin-bottom:12px}
.dashboard-featured-cta strong{display:block;font-weight:900;margin-bottom:4px}.dashboard-featured-cta p{font-size:.92rem;color:#667085;margin-bottom:14px}
.message-preview.is-unread{border-left:4px solid #e53935;background:#fff7f7;border-radius:14px;padding-left:12px}
@media(max-width:767px){.dashboard-alert-photo{padding:18px}.dashboard-alert-icon{width:50px;height:50px;border-radius:18px;flex-basis:50px}.dashboard-status-item{padding:14px}.dashboard-quick-links a{padding:13px}}

/* Dashboard UX ajustes */
.dashboard-status-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}
.dashboard-status-head span{white-space:nowrap}
.dashboard-status-action{position:relative;z-index:2}
.dashboard-quick-grid{display:grid;grid-template-columns:1fr;gap:14px}
.dashboard-quick-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#fff;color:#25272d;text-decoration:none;box-shadow:0 10px 26px rgba(15,23,42,.045);transition:.18s ease;min-height:86px}
.dashboard-quick-card:hover{border-color:rgba(229,57,53,.26);background:#fff8f8;color:#e53935;transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.08)}
.dashboard-quick-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(229,57,53,.08);color:#e53935;font-size:1.15rem;flex:0 0 46px}
.dashboard-quick-copy{display:flex;flex-direction:column;gap:3px;line-height:1.2;min-width:0}
.dashboard-quick-copy strong{font-weight:900;font-size:.98rem;color:#25272d}
.dashboard-quick-copy small{font-size:.82rem;color:#667085;font-weight:600;line-height:1.3}
.dashboard-quick-card:hover .dashboard-quick-copy strong{color:#e53935}
.dashboard-quick-arrow{margin-left:auto;color:#98a2b3;font-size:.9rem;flex:0 0 auto}
@media(max-width:767px){.dashboard-status-head{flex-direction:column;gap:6px}.dashboard-status-head span{white-space:normal}.dashboard-quick-card{padding:15px;min-height:78px}.dashboard-quick-icon{width:42px;height:42px;border-radius:15px;flex-basis:42px}}

/* Friend Passport: Friend Score checklist */
.friend-score-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.friend-score-row{
  display:flex;
  align-items:center;
  gap:11px;
  padding:11px 12px;
  border-radius:16px;
  background:#f8f9fb;
  border:1px solid rgba(15,23,42,.06);
  color:#32343a;
  font-weight:800;
  cursor:default;
}
.friend-score-row i{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  flex:0 0 24px;
  font-size:1rem;
}
.friend-score-helper-link{
  display:inline-flex;
  align-items:center;
  font-weight:900;
  color:var(--af-red,#e53935);
  text-decoration:none;
}
.friend-score-helper-link:hover{
  color:#b8201b;
  text-decoration:underline;
}

/* Friend Passport: Friend Score mejorado */
.friend-score-panel{
  position:sticky;
  top:92px;
}
.friend-score-top{
  display:flex;
  align-items:center;
  gap:16px;
}
.friend-score-top .score-circle{
  flex:0 0 auto;
  margin:0;
}
.friend-score-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 11px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:900;
  border:1px solid rgba(15,23,42,.08);
  background:#f8f9fb;
  color:#667085;
}
.friend-score-label.is-good{
  background:#effaf4;
  color:#13734a;
  border-color:rgba(25,135,84,.18);
}
.friend-score-label.is-warning{
  background:#fff7e6;
  color:#8a5a00;
  border-color:rgba(255,193,7,.28);
}
.friend-score-progress{
  background:#f0f1f4;
  overflow:hidden;
}
.friend-score-section-title{
  display:flex;
  align-items:center;
  margin:16px 0 9px;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.friend-score-section-title.is-complete{
  color:#198754;
}
.friend-score-section-title.is-pending{
  color:#946200;
}
.friend-score-check{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.035);
}
.friend-score-check.is-complete{
  border-color:rgba(25,135,84,.18);
  background:linear-gradient(135deg,#f4fff9,#fff);
}
.friend-score-check.is-pending{
  border-color:rgba(255,193,7,.28);
  background:linear-gradient(135deg,#fff9e8,#fff);
}
.friend-score-check-icon{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  font-size:1.05rem;
  background:#f4f5f7;
  color:#667085;
}
.friend-score-check.is-complete .friend-score-check-icon{
  background:rgba(25,135,84,.11);
  color:#198754;
}
.friend-score-check.is-pending .friend-score-check-icon{
  background:rgba(255,193,7,.20);
  color:#946200;
}
.friend-score-check-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  line-height:1.25;
}
.friend-score-check-copy strong{
  font-size:.93rem;
  font-weight:950;
  color:#25272d;
}
.friend-score-check-copy small{
  font-size:.79rem;
  color:#667085;
  font-weight:650;
  line-height:1.35;
}
.friend-score-status{
  width:26px;
  height:26px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin-left:auto;
  flex:0 0 26px;
  background:#198754;
  color:#fff;
  font-size:.92rem;
  box-shadow:0 8px 18px rgba(25,135,84,.18);
}
.friend-score-mini-link{
  margin-left:auto;
  flex:0 0 auto;
  font-size:.78rem;
  font-weight:950;
  color:#e53935;
  text-decoration:none;
  padding-top:3px;
}
.friend-score-mini-link:hover{
  color:#b8201b;
  text-decoration:underline;
}
.friend-score-footer{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding-top:12px;
  border-top:1px solid rgba(15,23,42,.08);
}
.friend-score-perfect{
  display:flex;
  gap:12px;
  align-items:center;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(135deg,#fff6d8,#fff);
  border:1px solid rgba(246,184,0,.28);
}
.friend-score-perfect i{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#ffd54a,#f6b800);
  color:#3a2800;
  flex:0 0 40px;
}
.friend-score-perfect strong,
.friend-score-perfect span{
  display:block;
}
.friend-score-perfect strong{
  font-weight:950;
}
.friend-score-perfect span{
  font-size:.82rem;
  color:#667085;
  font-weight:650;
}
@media(max-width:991px){
  .friend-score-panel{position:relative;top:auto;}
}
@media(max-width:575px){
  .friend-score-top{align-items:flex-start;}
  .friend-score-check{padding:12px;}
  .friend-score-mini-link{font-size:.76rem;}
}

/* Friend Passport: Friend Score UX corregido */
.friend-score-panel-v2{
  padding:22px!important;
  overflow:hidden;
}
.friend-score-panel-v2 .friend-score-summary{
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  margin-bottom:18px!important;
}
.friend-score-panel-v2 .score-circle{
  width:86px!important;
  height:86px!important;
  margin:0!important;
  flex:0 0 86px!important;
}
.friend-score-panel-v2 .score-circle span{
  width:66px!important;
  height:66px!important;
  font-size:1.35rem!important;
}
.friend-score-summary-copy h3{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  margin-bottom:4px!important;
}
.friend-score-summary-copy p{
  font-size:.88rem!important;
  line-height:1.35!important;
}
.friend-score-progress-wrap{
  margin:0 0 16px!important;
}
.friend-score-progress-label{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  font-size:.78rem!important;
  font-weight:900!important;
  color:#667085!important;
  margin-bottom:7px!important;
}
.friend-score-progress-label strong{
  color:#25272d!important;
}
.friend-score-next-step{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  padding:14px!important;
  border-radius:20px!important;
  border:1px solid rgba(255,193,7,.32)!important;
  background:linear-gradient(135deg,#fff8df,#fff)!important;
  margin-bottom:16px!important;
}
.friend-score-next-icon{
  width:40px!important;
  height:40px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,193,7,.20)!important;
  color:#946200!important;
  font-size:1.05rem!important;
}
.friend-score-next-step strong,
.friend-score-next-step span{
  display:block!important;
}
.friend-score-next-step strong{
  font-weight:950!important;
  color:#25272d!important;
  font-size:.95rem!important;
  line-height:1.2!important;
}
.friend-score-next-step span{
  color:#667085!important;
  font-size:.82rem!important;
  font-weight:650!important;
  line-height:1.35!important;
  margin-top:3px!important;
}
.friend-score-group{
  margin-top:16px!important;
}
.friend-score-group-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:8px!important;
}
.friend-score-group-head span{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:.82rem!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
  color:#25272d!important;
}
.friend-score-group-head em{
  font-style:normal!important;
  font-size:.72rem!important;
  font-weight:900!important;
  color:#98a2b3!important;
  white-space:nowrap!important;
}
.friend-score-group-pending .friend-score-group-head span{
  color:#946200!important;
}
.friend-score-group-complete .friend-score-group-head span{
  color:#198754!important;
}
.friend-score-items{
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
}
.friend-score-item{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,23,42,.08)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.friend-score-item.is-complete{
  border-color:rgba(25,135,84,.18)!important;
  background:linear-gradient(135deg,#f5fff9,#fff)!important;
}
.friend-score-item.is-pending{
  border-color:rgba(229,57,53,.20)!important;
  background:linear-gradient(135deg,#fff7f7,#fff)!important;
}
.friend-score-state{
  width:28px!important;
  height:28px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 28px!important;
  font-size:.9rem!important;
  line-height:1!important;
  margin-top:1px!important;
}
.friend-score-item.is-complete .friend-score-state{
  background:#198754!important;
  color:#fff!important;
}
.friend-score-item.is-pending .friend-score-state{
  background:#e53935!important;
  color:#fff!important;
}
.friend-score-content{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  line-height:1.25!important;
}
.friend-score-content strong{
  font-size:.92rem!important;
  font-weight:950!important;
  color:#25272d!important;
  line-height:1.18!important;
}
.friend-score-content small{
  font-size:.78rem!important;
  line-height:1.35!important;
  color:#667085!important;
  font-weight:650!important;
}
.friend-score-action-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:flex-start!important;
  margin-top:7px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#e53935!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:.76rem!important;
  font-weight:950!important;
  line-height:1!important;
}
.friend-score-action-link:hover{
  background:#b8201b!important;
  color:#fff!important;
  text-decoration:none!important;
}
@media(max-width:575px){
  .friend-score-panel-v2 .friend-score-summary{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .friend-score-panel-v2 .score-circle{width:72px!important;height:72px!important;flex-basis:72px!important;}
  .friend-score-panel-v2 .score-circle span{width:56px!important;height:56px!important;font-size:1.15rem!important;}
  .friend-score-item{padding:11px!important;}
  .friend-score-group-complete .friend-score-content small{display:none!important;}
}

/* Mis experiencias - guía explicativa sin aspecto de botón */
.experience-guide-list{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:4px 0 4px 18px;
  border-left:3px solid rgba(230,48,42,.18);
}
.experience-guide-item{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:flex-start;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
.experience-guide-number{
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(230,48,42,.10);
  color:var(--af-red,#e6302a);
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:.92rem;
  line-height:1;
}
.experience-guide-item strong{
  display:block;
  font-weight:900;
  color:#1f2937;
  margin-bottom:2px;
}
.experience-guide-item small{
  display:block;
  color:#69707a;
  line-height:1.35;
}
@media(max-width:991px){
  .experience-guide-list{padding-left:14px;margin-top:2px}
}

/* Acciones superiores de página: botones alineados como en Dashboard */
.af-page-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.75rem;
  flex-wrap:nowrap;
  flex:0 0 auto;
}
.af-page-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  width:auto!important;
  flex:0 0 auto;
}
.page-hero .d-flex > div:first-child{
  min-width:0;
}
@media(max-width:991px){
  .af-page-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}
@media(max-width:575px){
  .af-page-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.65rem;
  }
  .af-page-actions .btn{
    width:100%!important;
    padding:.78rem .65rem;
    font-size:.92rem;
  }
  .af-page-actions .btn .bi{
    margin-right:.35rem!important;
  }
}

/* Mis reservas - bandeja organizada */
.reservations-hero .section-title{margin-bottom:.45rem}
.reservation-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.reservation-tab{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:18px;
  border:1px solid var(--af-border);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--af-shadow-soft);
  transition:.18s ease;
}
.reservation-tab:hover{transform:translateY(-2px);border-color:#ffd7d5;color:inherit}
.reservation-tab.active{border-color:rgba(230,48,42,.36);background:linear-gradient(135deg,#fff7f6,#fff)}
.reservation-tab-icon{
  width:54px;height:54px;border-radius:20px;background:#fff0ef;color:var(--af-red);
  display:grid;place-items:center;font-size:1.45rem;flex:0 0 auto;
}
.reservation-tab strong{display:block;font-weight:950;font-size:1.1rem;letter-spacing:-.02em;color:#17181c}
.reservation-tab small{display:block;color:var(--af-muted);font-weight:700;line-height:1.25;margin-top:2px}
.reservation-tab em{font-style:normal;border-radius:999px;background:var(--af-red);color:#fff;font-size:.75rem;font-weight:900;padding:7px 10px;white-space:nowrap}
.reservation-context-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:16px;
  align-items:flex-start;
  border:1px solid var(--af-border);
  border-radius:28px;
  background:#fff;
  padding:22px;
  box-shadow:0 8px 24px rgba(16,17,20,.04);
}
.reservation-context-card h2{font-size:1.25rem;font-weight:950;margin:0 0 4px;color:#17181c;letter-spacing:-.025em}
.reservation-context-card p{margin:0;color:var(--af-muted);font-weight:650;line-height:1.45}
.reservation-status-select{display:none}
.reservation-mobile-select{border-radius:18px;border:1px solid var(--af-border);padding:12px 14px;font-weight:900;color:#1f2937;background-color:#fff;box-shadow:0 8px 22px rgba(16,17,20,.045)}
.reservation-status-bar{display:flex;align-items:center;gap:9px;overflow:auto;padding-bottom:2px}
.reservation-status-pill{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--af-border);
  background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;color:#555965;transition:.16s ease;
}
.reservation-status-pill:hover{border-color:#ffd7d5;color:var(--af-red)}
.reservation-status-pill.active{background:#111;color:#fff;border-color:#111}
.reservation-status-pill.active .bi{color:#fff}
.reservation-status-pill .bi{color:var(--af-red)}
.reservation-list{display:flex;flex-direction:column;gap:14px}
.reservation-card-v2{
  border:1px solid var(--af-border);
  border-radius:28px;
  background:#fff;
  padding:18px;
  box-shadow:0 10px 26px rgba(16,17,20,.045);
  transition:.18s ease;
}
.reservation-card-v2:hover{transform:translateY(-2px);box-shadow:var(--af-shadow-soft)}
.reservation-card-v2.is-pending{border-color:rgba(255,193,7,.42);background:linear-gradient(135deg,#fffdf5,#fff)}
.reservation-card-v2.is-accepted{border-color:rgba(25,135,84,.24)}
.reservation-card-main{display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px;align-items:flex-start}
.reservation-avatar-wrap{position:relative;width:86px;height:86px;flex:0 0 86px}
.reservation-avatar{width:86px;height:86px;border-radius:26px;object-fit:cover;background:#f2f2f4;display:block}
.reservation-direction-icon{
  position:absolute;right:-5px;bottom:-5px;width:34px;height:34px;border-radius:14px;background:var(--af-red);color:#fff;
  display:grid;place-items:center;border:3px solid #fff;box-shadow:0 8px 18px rgba(230,48,42,.22);
}
.reservation-content{min-width:0}
.reservation-topline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.reservation-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:var(--af-muted);margin-bottom:3px}
.reservation-title-wrap h3{font-size:1.35rem;font-weight:950;line-height:1.12;letter-spacing:-.035em;margin:0;color:#17181c}
.reservation-badges{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.reservation-meta-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.reservation-meta-grid div{border:1px solid rgba(236,236,240,.9);border-radius:18px;background:#fafafa;padding:12px;min-width:0}
.reservation-meta-grid span{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:900;color:var(--af-muted);text-transform:uppercase;letter-spacing:.035em;margin-bottom:3px}
.reservation-meta-grid span .bi{color:var(--af-red)}
.reservation-meta-grid strong{display:block;font-size:.93rem;font-weight:950;color:#20222a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reservation-message{
  display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:flex-start;
  border:1px solid rgba(230,48,42,.12);background:#fff7f6;border-radius:18px;padding:12px 14px;
  color:#5f6672;font-weight:700;line-height:1.45;margin-bottom:13px;
}
.reservation-message .bi{color:var(--af-red);margin-top:2px}
.reservation-actions-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.reservation-actions-row form{margin:0}
.reservation-actions-row .btn{font-weight:900}
@media(max-width:991px){
  .reservation-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .reservation-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .reservation-status-select{display:block}
  .reservation-status-bar{display:none}
}
@media(max-width:575px){
  .reservation-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .reservation-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 8px;border-radius:18px;min-height:58px;text-align:center;box-shadow:0 8px 18px rgba(16,17,20,.045)}
  .reservation-tab-icon{width:30px;height:30px;border-radius:12px;font-size:1rem}
  .reservation-tab strong{font-size:.94rem;line-height:1}
  .reservation-tab small{display:none}
  .reservation-tab em{position:absolute;top:-8px;right:7px;margin:0;padding:3px 7px;font-size:.66rem;line-height:1.1;max-width:calc(100% - 14px);overflow:hidden;text-overflow:ellipsis}
  .reservation-tab em .bi{display:none}
  .reservation-context-card{grid-template-columns:1fr;padding:18px}
  .reservation-card-main{grid-template-columns:1fr;gap:12px}
  .reservation-avatar-wrap{width:72px;height:72px}
  .reservation-avatar{width:72px;height:72px;border-radius:22px}
  .reservation-topline{display:block}
  .reservation-badges{justify-content:flex-start;margin-top:10px}
  .reservation-meta-grid{grid-template-columns:1fr}
  .reservation-actions-row{display:grid;grid-template-columns:1fr;align-items:stretch}
  .reservation-actions-row .btn,.reservation-actions-row form,.reservation-actions-row form button{width:100%}
}

/* Conversación: envío sin recarga y estados de mensajes */
.chat-page-hero{padding-bottom:28px!important}
.chat-thread{max-height:min(68vh,680px);overflow-y:auto;scroll-behavior:smooth;position:relative}
.chat-thread::-webkit-scrollbar{width:10px}
.chat-thread::-webkit-scrollbar-track{background:rgba(15,23,42,.04);border-radius:999px}
.chat-thread::-webkit-scrollbar-thumb{background:rgba(15,23,42,.16);border-radius:999px}
.chat-bubble-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.2;flex-wrap:wrap}
.chat-time{font-size:.78rem;opacity:.74;white-space:nowrap}
.chat-status{display:inline-flex;align-items:center;gap:2px;font-size:.78rem;font-weight:800;white-space:nowrap;opacity:.86}
.chat-status.is-sent,.chat-status.is-delivered{color:rgba(255,255,255,.82)}
.chat-status.is-read{color:#d8fbff;text-shadow:0 1px 0 rgba(0,0,0,.05)}
.chat-status.is-sending{color:rgba(255,255,255,.72)}
.chat-status.is-error{color:#ffe3e3}
.chat-status.is-received{color:#64748b}
.chat-bubble:not(.chat-bubble-mine) .chat-status.is-delivered{color:#64748b}
.chat-bubble:not(.chat-bubble-mine) .chat-status.is-read{color:#0f9f9f}
.chat-compose{grid-template-columns:1fr auto;align-items:end}
.chat-compose textarea{resize:none;min-height:64px;max-height:140px}
.chat-compose .btn[disabled]{opacity:.75;cursor:not-allowed}
.chat-compose-feedback{grid-column:1 / -1;min-height:18px;font-size:.88rem;font-weight:800;color:#64748b}
.chat-compose-feedback.is-warning{color:#b45309}
.chat-compose-feedback.is-error{color:#b91c1c}
@media (max-width: 768px){
  .chat-thread{max-height:62vh}
  .chat-bubble-footer{gap:8px}
  .chat-status span,.chat-time{font-size:.74rem}
}

/* Reservas: mensajes sin leer */
.reservation-tab-unread{
  background:linear-gradient(135deg,#e6302a,#ff6b62)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(230,48,42,.22);
}
.reservation-card-v2.has-unread-chat{
  border-color:rgba(230,48,42,.42);
  box-shadow:0 18px 45px rgba(230,48,42,.12);
  background:linear-gradient(135deg,#fff7f6 0%,#fff 45%,#fff 100%);
}
.reservation-unread-badge{
  background:var(--af-red)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(230,48,42,.22);
}
.reservation-unread-alert{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:12px 0;
  padding:12px 14px;
  border-radius:18px;
  background:linear-gradient(135deg,#ffeceb,#fff7f6);
  border:1px solid rgba(230,48,42,.18);
  color:#2b1515;
  font-weight:750;
}
.reservation-unread-alert .bi{
  color:var(--af-red);
  font-size:1.15rem;
  line-height:1.15;
  margin-top:1px;
}
.reservation-unread-alert strong{
  color:#17181c;
  font-weight:950;
}

/* Seguridad pública mejorada */
.safety-hero{background:linear-gradient(135deg,#fff 0%,#fff7f6 52%,#f7f7f8 100%);overflow:hidden}
.safety-visual-card{position:relative;min-height:420px;display:grid;place-items:center}
.safety-phone{width:min(360px,100%);border-radius:36px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 28px 80px rgba(16,17,20,.14);padding:24px;position:relative;z-index:2}
.safety-phone-top{width:96px;height:7px;border-radius:999px;background:#e9e9ee;margin:0 auto 22px}
.safety-profile-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;background:#fafafa;border:1px solid var(--af-border);border-radius:22px;padding:14px;margin-bottom:16px}
.safety-avatar{width:58px;height:58px;border-radius:20px;background:#fff0ef;color:var(--af-red);display:grid;place-items:center;font-size:1.7rem}
.safety-profile-row strong{display:block;font-weight:950;line-height:1.1;color:#15161a}
.safety-profile-row span{display:block;font-size:.85rem;color:var(--af-muted);font-weight:750;margin-top:4px}
.safety-status{display:flex;align-items:center;gap:10px;border:1px solid var(--af-border);border-radius:18px;padding:12px 14px;margin-top:10px;background:#fff;color:#4b5563;font-weight:850}
.safety-status .bi{color:var(--af-red);font-size:1.15rem}
.safety-status.active{background:#fff5f4;border-color:#ffd7d5;color:#17181c}
.safety-floating-badge{position:absolute;right:0;top:42px;background:var(--af-red);color:#fff;border-radius:999px;padding:10px 15px;font-weight:950;box-shadow:0 18px 38px rgba(230,48,42,.28);z-index:3;display:flex;align-items:center;gap:8px}
.safety-step-card{background:#fff;border:1px solid var(--af-border);border-radius:28px;padding:28px;box-shadow:0 10px 28px rgba(16,17,20,.05);transition:.2s ease}
.safety-step-card:hover{transform:translateY(-3px);box-shadow:var(--af-shadow-soft)}
.safety-step-number{width:54px;height:54px;border-radius:20px;background:var(--af-red);color:#fff;display:grid;place-items:center;font-size:1.35rem;font-weight:950;margin-bottom:18px;box-shadow:0 14px 28px rgba(230,48,42,.22)}
.safety-step-card h3,.safety-tool-card h3{font-weight:950;letter-spacing:-.035em;font-size:1.28rem;margin-bottom:10px}
.safety-step-card p,.safety-tool-card p{color:var(--af-muted);font-weight:650;line-height:1.55}
.safety-step-card ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.safety-step-card li{display:flex;align-items:center;gap:8px;font-weight:900;color:#24262e}
.safety-step-card li .bi{color:#198754}
.safety-tool-card{background:#fff;border:1px solid var(--af-border);border-radius:26px;padding:26px;box-shadow:0 10px 24px rgba(16,17,20,.045);transition:.2s ease}
.safety-tool-card:hover{transform:translateY(-3px);border-color:#ffd7d5;box-shadow:var(--af-shadow-soft)}
.safety-tool-card > .bi{width:56px;height:56px;border-radius:20px;background:#fff0ef;color:var(--af-red);display:grid;place-items:center;font-size:1.65rem;margin-bottom:18px}
.safety-advice-list{display:grid;gap:12px}
.safety-advice-list div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;background:#fff;border:1px solid var(--af-border);border-radius:22px;padding:16px 18px;box-shadow:0 8px 22px rgba(16,17,20,.04)}
.safety-advice-list .bi{width:48px;height:48px;border-radius:18px;background:#fff0ef;color:var(--af-red);display:grid;place-items:center;font-size:1.25rem}
.safety-advice-list span{font-weight:850;color:#2d3038;line-height:1.35}
.safety-cta{background:linear-gradient(135deg,#15161a,#2b1110);border-radius:32px;padding:34px;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;box-shadow:0 28px 80px rgba(16,17,20,.18)}
.safety-cta h2{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.045em}
@media(max-width:991px){
  .safety-visual-card{min-height:auto}
  .safety-floating-badge{right:14px;top:12px}
  .safety-cta{grid-template-columns:1fr;padding:26px}
}
@media(max-width:575px){
  .safety-phone{border-radius:28px;padding:18px}
  .safety-floating-badge{position:relative;inset:auto;margin-top:16px;justify-self:center}
  .safety-advice-list div{grid-template-columns:42px minmax(0,1fr);padding:14px}
  .safety-advice-list .bi{width:42px;height:42px;border-radius:16px}
}

/* Admin reportes: vista funcional y filtrable */
.af-admin-filters .form-label{font-size:.86rem;color:#374151;margin-bottom:.35rem}
.af-admin-report-list{display:grid;gap:16px}
.af-report-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-left:5px solid rgba(225,29,46,.55);border-radius:22px;box-shadow:0 16px 45px rgba(15,23,42,.06);padding:18px;overflow:hidden}
.af-report-card.has-reservation{border-left-color:#f59e0b}
.af-report-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.af-report-date{font-size:.86rem;color:#6b7280;font-weight:700;white-space:nowrap}
.af-report-main{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:12px;margin-bottom:14px}
.af-report-person{background:#f8fafc;border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:13px;min-width:0}
.af-report-person.is-reported{background:#fff5f5;border-color:rgba(225,29,46,.16)}
.af-report-label{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:4px}
.af-report-person strong{display:block;color:#111827;line-height:1.2;margin-bottom:3px;overflow-wrap:anywhere}
.af-report-person small{display:block;color:#6b7280;line-height:1.35;overflow-wrap:anywhere}
.af-report-motive{border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:14px;background:#fff}
.af-report-motive>span{display:block;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#b91c1c;margin-bottom:6px}
.af-report-motive p{margin:0;color:#374151;line-height:1.55;overflow-wrap:anywhere}
.af-report-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(15,23,42,.06)}
.af-report-actions .btn{white-space:nowrap}
@media(max-width:991px){.af-report-main{grid-template-columns:1fr}.af-report-card-top{flex-direction:column}.af-report-date{white-space:normal}.af-report-actions{justify-content:flex-start}}
@media(max-width:575px){.af-report-card{padding:14px;border-radius:18px}.af-report-actions{display:grid;grid-template-columns:1fr}.af-report-actions .btn{width:100%;white-space:normal}}

/* Admin reportes: flujo de gestión */
.af-report-card-managed{position:relative}
.af-report-card-managed.state-pendiente{border-left-color:#dc2626}
.af-report-card-managed.state-revision{border-left-color:#f59e0b}
.af-report-card-managed.state-gestionado{border-left-color:#16a34a}
.af-report-card-managed.state-descartado{border-left-color:#64748b}
.af-report-card-managed.priority-urgente{box-shadow:0 20px 60px rgba(220,38,38,.12)}
.af-report-management-summary{margin-top:14px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#f8fafc;padding:14px;display:grid;gap:8px;color:#334155;line-height:1.45;overflow-wrap:anywhere}
.af-report-manage{margin-top:14px;border:1px solid rgba(15,23,42,.10);border-radius:18px;background:#fff;overflow:hidden}
.af-report-manage>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:900;color:#111827;background:linear-gradient(135deg,#fff,#f8fafc);display:flex;align-items:center;gap:4px}
.af-report-manage>summary::-webkit-details-marker{display:none}
.af-report-manage>summary::after{content:'\F282';font-family:'bootstrap-icons';margin-left:auto;color:#64748b;transition:transform .18s ease}
.af-report-manage[open]>summary::after{transform:rotate(180deg)}
.af-report-manage-form{border-top:1px solid rgba(15,23,42,.08);padding:16px;background:#fff}
.af-report-manage-form textarea{resize:vertical;min-height:92px}
.af-report-manage-form .form-text{color:#64748b;font-weight:600}
@media(max-width:575px){.af-report-manage-form{padding:14px}.af-report-manage-form .btn{width:100%}}

/* Dashboard: métricas integradas dentro de Estado de tu perfil */
.dashboard-profile-status-card{position:relative;overflow:hidden}
.dashboard-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dashboard-profile-metric{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:linear-gradient(135deg,#fff,#fafafa);box-shadow:0 10px 26px rgba(15,23,42,.045);min-height:112px}
.dashboard-profile-metric.is-ok{border-color:rgba(25,135,84,.16);background:linear-gradient(135deg,#f5fff9,#fff)}
.dashboard-profile-metric.is-warning{border-color:rgba(255,193,7,.28);background:linear-gradient(135deg,#fff9e8,#fff)}
.dashboard-profile-metric-icon{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:rgba(229,57,53,.08);color:#e53935;font-size:1.2rem;flex:0 0 48px}
.dashboard-profile-metric.is-ok .dashboard-profile-metric-icon{background:rgba(25,135,84,.10);color:#198754}
.dashboard-profile-metric.is-warning .dashboard-profile-metric-icon{background:rgba(255,193,7,.18);color:#946200}
.dashboard-profile-metric-copy{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.dashboard-profile-metric-copy small{font-weight:900;color:#667085;margin-bottom:5px}
.dashboard-profile-metric-copy strong{font-size:1.65rem;font-weight:950;color:#25272d;letter-spacing:-.04em}
.dashboard-profile-metric-copy em{font-style:normal;color:#98a2b3;font-size:.84rem;font-weight:700;line-height:1.25;margin-top:3px}
@media(max-width:1199px){.dashboard-profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.dashboard-profile-metrics{grid-template-columns:1fr}.dashboard-profile-metric{padding:14px;min-height:auto}.dashboard-profile-metric-icon{width:44px;height:44px;border-radius:15px;flex-basis:44px}.dashboard-profile-metric-copy strong{font-size:1.45rem}}
.dashboard-profile-metric.is-clickable{color:inherit;text-decoration:none;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.dashboard-profile-metric.is-clickable:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.08);border-color:rgba(229,57,53,.18)}
.dashboard-profile-metric-arrow{margin-left:auto;color:#c0c4cc;font-size:1rem;transition:transform .18s ease,color .18s ease}
.dashboard-profile-metric.is-clickable:hover .dashboard-profile-metric-arrow{transform:translateX(3px);color:#e53935}
@media(max-width:575px){.dashboard-profile-metric-arrow{display:none}}

/* Mis reservas - navegación fluida sin recarga */
.reservations-ajax-area{
  position:relative;
  transition:opacity .16s ease, transform .16s ease;
}
.reservations-ajax-area.is-loading{
  opacity:.55;
  pointer-events:none;
  transform:translateY(2px);
}
.reservations-ajax-area.is-loading::after{
  content:'Cargando...';
  position:absolute;
  top:12px;
  right:12px;
  z-index:4;
  border-radius:999px;
  background:#111;
  color:#fff;
  padding:7px 12px;
  font-size:.78rem;
  font-weight:900;
  box-shadow:0 12px 28px rgba(16,17,20,.18);
}


/* Email visible en cuenta */
.af-account-menu{min-width:260px}
.af-account-menu-head{max-width:280px}
.dashboard-account-email{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:9px 12px;border:1px solid rgba(229,57,53,.14);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 10px 24px rgba(15,23,42,.06);font-size:.92rem;color:#667085}
.dashboard-account-email i{color:#e53935}
.dashboard-account-email span{font-weight:800;color:#98a2b3}
.dashboard-account-email strong{font-weight:900;color:#25272d;max-width:330px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-account-mini{padding:12px 14px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.045)}
.settings-account-mini span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#98a2b3;margin-bottom:3px}
.settings-account-mini strong{display:block;font-size:.94rem;color:#25272d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-account-email-box{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:linear-gradient(135deg,#fff,#fafafa)}
.settings-account-email-icon{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;background:rgba(229,57,53,.08);color:#e53935;font-size:1.2rem;flex:0 0 48px}
.settings-account-email-copy{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.settings-account-email-copy small{font-weight:900;color:#98a2b3;margin-bottom:3px}
.settings-account-email-copy strong{font-weight:950;color:#25272d;word-break:break-word}
.settings-account-email-copy em{font-style:normal;color:#98a2b3;font-size:.84rem;font-weight:700;margin-top:4px}
@media(max-width:575px){.dashboard-account-email{border-radius:18px;align-items:flex-start;flex-wrap:wrap}.dashboard-account-email strong{max-width:100%;white-space:normal;word-break:break-word}.settings-account-email-box{align-items:flex-start}.settings-account-mini strong{white-space:normal;word-break:break-word}}

/* Contacto público: captcha propio y antispam */
.af-hp-field{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}
.af-contact-captcha{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:linear-gradient(135deg,#fff,#fafafa)}
.af-contact-captcha-box{display:flex;align-items:center;gap:10px;font-weight:950;color:#25272d;white-space:nowrap}
.af-contact-captcha-box input{width:96px;text-align:center;font-weight:900}
@media(max-width:575px){.af-contact-captcha{align-items:flex-start;flex-direction:column}.af-contact-captcha-box{width:100%;justify-content:space-between}.af-contact-captcha-box input{width:120px}}

/* Admin contactos */
.af-contact-stat-link{color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.af-contact-stat-link:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(15,23,42,.08);color:inherit}
.af-contact-admin-card{border:1px solid rgba(15,23,42,.08);border-left:5px solid #dc2626;border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.06);padding:20px;overflow:hidden}
.af-contact-admin-card.state-revision{border-left-color:#f59e0b}.af-contact-admin-card.state-respondido{border-left-color:#16a34a}.af-contact-admin-card.state-cerrado{border-left-color:#64748b}.af-contact-admin-card.state-spam{border-left-color:#111827}
.af-contact-admin-card.priority-urgente{box-shadow:0 20px 60px rgba(220,38,38,.13)}
.af-contact-admin-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.af-contact-admin-message{padding:16px;border-radius:18px;background:#f8fafc;border:1px solid rgba(15,23,42,.06);color:#334155;line-height:1.55;overflow-wrap:anywhere}
.af-contact-admin-summary{margin-top:14px;padding:14px;border-radius:18px;background:#fff7ed;border:1px solid rgba(245,158,11,.16);display:grid;gap:10px;color:#334155;overflow-wrap:anywhere}
.af-contact-manage{margin-top:14px;border:1px solid rgba(15,23,42,.10);border-radius:18px;background:#fff;overflow:hidden}
.af-contact-manage>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:900;color:#111827;background:linear-gradient(135deg,#fff,#f8fafc);display:flex;align-items:center;gap:4px}
.af-contact-manage>summary::-webkit-details-marker{display:none}.af-contact-manage>summary::after{content:'\F282';font-family:'bootstrap-icons';margin-left:auto;color:#64748b;transition:transform .18s ease}.af-contact-manage[open]>summary::after{transform:rotate(180deg)}
.af-contact-manage-form{border-top:1px solid rgba(15,23,42,.08);padding:16px;background:#fff}.af-contact-manage-form textarea{resize:vertical;min-height:112px}
@media(max-width:767px){.af-contact-admin-head{flex-direction:column}.af-contact-admin-card{padding:16px;border-radius:20px}.af-contact-manage-form .btn{width:100%}}

/* Menú privado móvil para usuarios autenticados */
.af-mobile-account-panel{display:none}
@media(max-width:991px){
  .af-mobile-account-panel{display:block;width:100%;padding:14px 0 10px}
  .af-mobile-account-head{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:10px;border:1px solid var(--af-border);border-radius:20px;background:linear-gradient(180deg,#fff,#fff7f6);box-shadow:0 10px 24px rgba(16,17,20,.05)}
  .af-mobile-account-icon{width:44px;height:44px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:rgba(238,53,45,.10);color:var(--af-red);font-size:24px;flex:0 0 44px}
  .af-mobile-private-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 0 8px!important;margin:0!important;width:100%}
  .af-mobile-private-nav .nav-item{min-width:0}
  .af-mobile-private-nav .nav-link{height:100%;min-height:48px;display:flex;align-items:center;justify-content:flex-start;gap:8px;border:1px solid var(--af-border);border-radius:16px!important;background:#fff;box-shadow:0 8px 20px rgba(16,17,20,.035);font-size:.9rem!important;padding:11px 12px!important;white-space:normal!important;line-height:1.15}
  .af-mobile-private-nav .nav-link .bi{font-size:1.05rem;flex:0 0 auto}
  .af-mobile-private-nav .nav-link span{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .af-mobile-private-nav .nav-link:hover{background:#fff0ef;border-color:#ffd7d5}
  .af-mobile-nav-separator{grid-column:1/-1;margin:4px 0 0;padding:4px 2px 0;color:#8a8f9c;font-weight:900;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
  .af-mobile-logout{color:#b42318!important;background:#fff7f7!important;border-color:#ffd7d5!important}
}
@media(max-width:991px){.af-nav-actions-auth{display:none!important}}


/* Recomendación de app móvil en footer PC */
.af-footer-app-download{margin:0 0 34px;padding:20px 22px;border-radius:28px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(230,48,42,.22),rgba(255,255,255,.06));box-shadow:0 18px 42px rgba(0,0,0,.18);overflow:hidden;position:relative}
.af-footer-app-download:after{content:"";position:absolute;right:118px;top:-62px;width:156px;height:156px;border-radius:999px;background:rgba(255,255,255,.07);pointer-events:none}
.af-footer-app-icon{width:58px;height:58px;border-radius:22px;display:grid;place-items:center;flex:0 0 58px;background:#fff;color:var(--af-red,#e6302a);font-size:1.55rem;box-shadow:0 16px 36px rgba(0,0,0,.18)}
.af-footer-app-copy{min-width:0;position:relative;z-index:1}
.af-footer-app-copy span{display:inline-flex;margin-bottom:5px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.78);font-size:.72rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.af-footer-app-copy strong{display:block;color:#fff;font-size:1.28rem;font-weight:950;letter-spacing:-.035em;line-height:1.05}
.af-footer-app-copy p{margin:6px 0 0;color:rgba(255,255,255,.68);font-size:.92rem;font-weight:700;line-height:1.35;max-width:620px}
.af-footer-app-btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;min-height:48px;padding:12px 18px;border-radius:999px;background:#fff;color:#111114!important;text-decoration:none;font-weight:950;box-shadow:0 16px 34px rgba(0,0,0,.22);white-space:nowrap}
.af-footer-app-btn:hover{transform:translateY(-1px);color:var(--af-red,#e6302a)!important}
.af-footer-app-btn i{color:var(--af-red,#e6302a);font-size:1.05rem}
@media(max-width:991.98px) and (min-width:768px){.af-footer-app-download{align-items:flex-start!important;flex-direction:column}.af-footer-app-btn{width:100%}}
@media(max-width:767px){.af-footer-app-download{display:none!important}}


/* Footer móvil estilo app */
.af-mobile-app-footer{display:none}
@media(max-width:767px){
  .footer{padding:22px 0 calc(24px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#15161a 0%,#0b0c0f 100%)}
  .af-footer-desktop-grid{display:none!important}
  .footer hr{margin:18px 0 10px;opacity:.18}
  .footer small{display:block;text-align:center;font-size:.76rem}
  .af-mobile-app-footer{display:block}
  .af-mobile-app-brand{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04));box-shadow:0 18px 44px rgba(0,0,0,.18);margin-bottom:14px}
  .af-mobile-app-brand strong{display:block;font-weight:950;color:#fff;line-height:1.1}
  .af-mobile-app-brand span:not(.brand-mark){display:block;color:rgba(255,255,255,.66);font-size:.83rem;font-weight:750;line-height:1.25;margin-top:3px}
  .af-mobile-footer-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}
  .af-mobile-footer-actions a{display:flex;min-width:0;min-height:70px;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(255,255,255,.06);color:#fff!important;text-align:center;font-weight:900;font-size:.76rem;line-height:1.05;box-shadow:0 10px 24px rgba(0,0,0,.12)}
  .af-mobile-footer-actions a i{width:30px;height:30px;border-radius:12px;display:grid;place-items:center;background:rgba(230,48,42,.20);color:#fff;font-size:1rem}
  .af-mobile-footer-actions a:active{transform:scale(.98);background:rgba(255,255,255,.10)}
  .af-mobile-footer-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border-radius:24px;background:#fff;color:#15161a;box-shadow:0 18px 44px rgba(0,0,0,.20);margin-bottom:14px}
  .af-mobile-footer-card strong{display:block;font-size:.95rem;font-weight:950;line-height:1.1;color:#15161a}
  .af-mobile-footer-card span{display:block;color:#6f7280;font-size:.78rem;font-weight:750;line-height:1.25;margin-top:4px}
  .af-mobile-footer-card .btn{flex:0 0 auto;padding:.58rem .82rem;font-size:.78rem;box-shadow:none}
  .af-mobile-footer-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:2px}
  .af-mobile-footer-links a{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.74)!important;font-size:.78rem;font-weight:850;line-height:1}
  .af-mobile-footer-links a:hover{color:#fff!important;background:rgba(255,255,255,.10)}
}
@media(max-width:360px){
  .af-mobile-footer-actions a{min-height:64px;font-size:.70rem;border-radius:17px}
  .af-mobile-footer-actions a i{width:28px;height:28px;border-radius:11px}
  .af-mobile-footer-card{align-items:flex-start;flex-direction:column}
  .af-mobile-footer-card .btn{width:100%}
}

/* Dashboard móvil estilo app */
.dashboard-mobile-app-hero{display:none}
@media(max-width:767px){
  body:has(.dashboard-home){background:#f6f7fb}
  .dashboard-home{background:#f6f7fb;padding-bottom:8px}
  .dashboard-home .dashboard-hero{display:none}
  .dashboard-mobile-app-hero{display:block;padding:96px 0 18px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .dashboard-mobile-welcome-card{position:relative;overflow:hidden;border-radius:30px;padding:20px;background:linear-gradient(135deg,#e6302a,#b71f1b);color:#fff;box-shadow:0 20px 54px rgba(230,48,42,.28)}
  .dashboard-mobile-welcome-card:after{content:"";position:absolute;right:-44px;top:-44px;width:132px;height:132px;border-radius:999px;background:rgba(255,255,255,.13)}
  .dashboard-mobile-welcome-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;position:relative;z-index:1}
  .dashboard-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.84);margin-bottom:9px}
  .dashboard-mobile-welcome-card h1{font-size:1.72rem;font-weight:950;letter-spacing:-.055em;line-height:1;margin:0;max-width:230px}
  .dashboard-mobile-avatar{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);font-size:1.35rem;flex:0 0 48px;position:relative;z-index:1}
  .dashboard-mobile-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;position:relative;z-index:1}
  .dashboard-mobile-summary-row a{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px;border-radius:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);color:#fff!important}
  .dashboard-mobile-summary-row strong{font-size:1.26rem;font-weight:950;line-height:1;letter-spacing:-.04em}
  .dashboard-mobile-summary-row span{font-size:.72rem;font-weight:850;color:rgba(255,255,255,.76);line-height:1.05;margin-top:5px}
  .dashboard-mobile-next-card{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px;border-radius:24px;background:#fff;color:#15161a!important;border:1px solid rgba(15,23,42,.06);box-shadow:0 14px 36px rgba(16,17,20,.08)}
  .dashboard-mobile-next-card>span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(230,48,42,.10);color:var(--af-red);font-size:1.08rem;flex:0 0 42px}
  .dashboard-mobile-next-card div{display:flex;flex-direction:column;min-width:0;line-height:1.15;flex:1}
  .dashboard-mobile-next-card small{font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3;margin-bottom:3px}
  .dashboard-mobile-next-card strong{font-size:.95rem;font-weight:950;color:#15161a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dashboard-mobile-next-card em{font-style:normal;font-size:.76rem;font-weight:750;color:#6f7280;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .dashboard-mobile-next-card b{font-size:.73rem;font-weight:950;color:var(--af-red);white-space:nowrap;flex:0 0 auto}

  .dashboard-home .section{padding:10px 0 24px}
  .dashboard-home .container{padding-left:14px;padding-right:14px}
  .dashboard-alert-photo{border-radius:26px;padding:16px;background:#fff;box-shadow:0 14px 34px rgba(16,17,20,.07);border-color:rgba(230,48,42,.12)}
  .dashboard-alert-photo .btn{width:100%;justify-content:center;margin-top:2px;box-shadow:none}
  .dashboard-alert-photo h2{font-size:1rem}.dashboard-alert-photo p{font-size:.86rem;line-height:1.35;color:#6f7280}
  .dashboard-alert-icon{width:48px;height:48px;border-radius:17px;flex-basis:48px;font-size:1.15rem;box-shadow:none}

  .dashboard-summary-card{border-radius:30px;padding:18px!important;box-shadow:0 14px 38px rgba(16,17,20,.07);border:1px solid rgba(15,23,42,.06)}
  .dashboard-status-title{margin-bottom:14px!important}
  .dashboard-status-title h2{font-size:1.18rem;letter-spacing:-.035em;display:flex;align-items:center}
  .dashboard-status-title p{font-size:.86rem;line-height:1.35}
  .dashboard-profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px!important}
  .dashboard-profile-metric{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:128px;padding:14px;border-radius:22px;background:#fff;box-shadow:0 10px 24px rgba(16,17,20,.045)}
  .dashboard-profile-metric-icon{width:38px;height:38px;border-radius:14px;flex-basis:38px;font-size:1rem}
  .dashboard-profile-metric-copy small{font-size:.72rem;margin-bottom:4px;line-height:1.05}
  .dashboard-profile-metric-copy strong{font-size:1.38rem;line-height:1}
  .dashboard-profile-metric-copy em{font-size:.72rem;line-height:1.15;margin-top:5px}
  .dashboard-profile-metric-arrow{display:block;position:absolute;right:12px;top:12px;font-size:.8rem;color:#c9cbd2}

  .dashboard-status-item{border-radius:22px;padding:14px;background:#fff;box-shadow:0 10px 24px rgba(16,17,20,.045);border-color:rgba(15,23,42,.06);gap:12px}
  .dashboard-status-item:hover{transform:none;box-shadow:0 10px 24px rgba(16,17,20,.045)}
  .dashboard-status-icon{width:40px;height:40px;border-radius:15px;flex-basis:40px;font-size:1.02rem}
  .dashboard-status-head{flex-direction:row;align-items:center;gap:8px;margin-bottom:4px}
  .dashboard-status-head strong{font-size:.9rem;line-height:1.15}
  .dashboard-status-head span{white-space:normal;font-size:.75rem;line-height:1.1}
  .dashboard-status-item p{font-size:.78rem;line-height:1.25}
  .dashboard-status-action{width:100%;text-align:center;padding:.62rem .85rem;margin-top:10px!important;box-shadow:none}
  .dashboard-status-item + .dashboard-status-item{margin-top:0}
  .dashboard-home .row.g-3{--bs-gutter-y:.65rem;--bs-gutter-x:.65rem}
}
@media(max-width:360px){
  .dashboard-mobile-welcome-card{padding:18px;border-radius:26px}
  .dashboard-mobile-welcome-card h1{font-size:1.52rem}
  .dashboard-mobile-summary-row a{padding:10px;border-radius:17px}
  .dashboard-profile-metric{min-height:122px;padding:12px}
  .dashboard-profile-metric-copy strong{font-size:1.25rem}
}

/* Friend Passport móvil estilo app */
.passport-mobile-app-hero,.passport-mobile-form-section{display:none}
@media(max-width:767px){
  body:has(.passport-page){background:#f6f7fb}
  .passport-page{background:#f6f7fb;padding-bottom:8px}
  .passport-page .page-hero{display:none}
  .passport-mobile-app-hero{display:block;padding:96px 0 12px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .passport-page .section{padding:10px 0 24px!important}
  .passport-page .container{padding-left:14px;padding-right:14px}
  .passport-mobile-pass-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#15161a,#2a1110);color:#fff;box-shadow:0 20px 54px rgba(16,17,20,.22)}
  .passport-mobile-pass-card:after{content:"";position:absolute;right:-40px;top:-48px;width:138px;height:138px;border-radius:999px;background:rgba(230,48,42,.35)}
  .passport-mobile-pass-top{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:14px;align-items:start}
  .passport-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.80);margin-bottom:9px}
  .passport-mobile-pass-card h1{font-size:1.62rem;font-weight:950;letter-spacing:-.055em;line-height:1;margin:0;color:#fff}
  .passport-mobile-pass-card p{margin:8px 0 0;color:rgba(255,255,255,.76);font-weight:750;font-size:.86rem;line-height:1.25;max-width:260px}
  .passport-mobile-score-mini{width:78px;height:78px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);position:relative;z-index:1}
  .passport-mobile-score-mini strong{font-size:1.5rem;font-weight:950;letter-spacing:-.05em;line-height:1;color:#fff}
  .passport-mobile-score-mini span{font-size:.68rem;font-weight:950;color:rgba(255,255,255,.72);margin-top:5px;max-width:64px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .passport-mobile-progress{height:9px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.14);margin-top:18px;position:relative;z-index:1}
  .passport-mobile-progress div{height:100%;border-radius:999px;background:#fff}
  .passport-mobile-stat-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
  .passport-mobile-stat-row a{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10);color:#fff!important;text-decoration:none}
  .passport-mobile-stat-row strong{font-size:1.1rem;font-weight:950;line-height:1;letter-spacing:-.04em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .passport-mobile-stat-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.70);line-height:1.05;margin-top:5px}
  .passport-mobile-next-card{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px;border-radius:24px;background:#fff;color:#15161a!important;border:1px solid rgba(15,23,42,.06);box-shadow:0 14px 36px rgba(16,17,20,.08);text-decoration:none}
  .passport-mobile-next-card>span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(230,48,42,.10);color:var(--af-red);font-size:1.08rem;flex:0 0 42px}
  .passport-mobile-next-card div{display:flex;flex-direction:column;min-width:0;line-height:1.15;flex:1}
  .passport-mobile-next-card small{font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3;margin-bottom:3px}
  .passport-mobile-next-card strong{font-size:.95rem;font-weight:950;color:#15161a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .passport-mobile-next-card em{font-style:normal;font-size:.76rem;font-weight:750;color:#6f7280;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .passport-mobile-next-card b{font-size:.73rem;font-weight:950;color:var(--af-red);white-space:nowrap;flex:0 0 auto}

  .passport-main-grid{--bs-gutter-y:.85rem;--bs-gutter-x:.85rem}
  .passport-form-col{order:1}.passport-score-col{order:2}
  .passport-form-card{border-radius:30px!important;padding:18px!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important;background:#fff!important}
  .passport-form-heading{align-items:flex-start!important;margin-bottom:14px!important}
  .passport-form-heading h2{font-size:1.15rem!important;letter-spacing:-.035em!important;line-height:1.1;margin-bottom:4px!important}
  .passport-form-heading p{font-size:.82rem!important;line-height:1.3!important;color:#6f7280!important}
  .passport-form-heading .chip{display:none!important}
  .passport-mobile-form-section{display:block!important;margin-top:4px;margin-bottom:-2px}
  .passport-mobile-form-section span{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#fff0ef;color:var(--af-red);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
  .passport-form-grid{--bs-gutter-y:.78rem;--bs-gutter-x:.78rem}
  .passport-page .form-label{font-size:.84rem;margin-bottom:.35rem;color:#25272d}
  .passport-page .form-label .bi{font-size:.92rem}
  .passport-page .form-control,
  .passport-page .form-select{border-radius:18px!important;border-color:rgba(15,23,42,.10)!important;background:#f8f9fb!important;box-shadow:none!important;font-size:.94rem!important;font-weight:700;color:#25272d;min-height:50px}
  .passport-page .form-control:focus,
  .passport-page .form-select:focus{background:#fff!important;border-color:rgba(230,48,42,.38)!important;box-shadow:0 0 0 .22rem rgba(230,48,42,.08)!important}
  .passport-page textarea.form-control{min-height:145px;border-radius:22px!important;line-height:1.45;font-weight:650}
  .passport-page .form-hint{font-size:.76rem;color:#8a8f9c;font-weight:650;line-height:1.25}
  .passport-page .alert.alert-light{border-radius:24px!important;padding:14px!important;background:linear-gradient(135deg,#fff7f7,#fff)!important;border-color:rgba(230,48,42,.12)!important;box-shadow:0 10px 24px rgba(16,17,20,.045)}
  .passport-page .alert.alert-light .fs-3{font-size:1.45rem!important}
  .passport-page .alert.alert-light strong{font-size:.9rem;line-height:1.18;display:block;margin-bottom:3px}
  .passport-page .alert.alert-light .muted{font-size:.78rem;line-height:1.28}
  .passport-page .form-check.form-switch{border-radius:24px!important;background:#fff!important;box-shadow:0 10px 24px rgba(16,17,20,.045);padding:15px!important}
  .passport-page .form-check-input{width:3.2em;height:1.65em;margin-top:.1em}
  .passport-page .form-check-label{font-size:.9rem;line-height:1.25;padding-left:12px}
  .passport-form-actions{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;margin:18px -4px -4px!important;padding:10px;border-radius:24px;background:rgba(255,255,255,.90);backdrop-filter:blur(14px);box-shadow:0 16px 40px rgba(16,17,20,.14);border:1px solid rgba(15,23,42,.06)}
  .passport-form-actions .btn{flex:1 1 0;justify-content:center;min-height:46px;box-shadow:none!important;padding:.75rem .85rem!important;font-size:.86rem!important;white-space:nowrap}
  .passport-form-actions .btn-secondary{background:#f4f5f7!important;border-color:#eef0f3!important;color:#5f6673!important}

  .passport-score-mobile-panel{position:relative!important;top:auto!important;border-radius:30px!important;padding:18px!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important;background:#fff!important}
  .passport-score-mobile-panel .friend-score-summary-copy p{font-size:.78rem!important;line-height:1.25!important;margin-bottom:7px!important}
  .passport-score-mobile-panel .friend-score-group{margin-top:14px!important}
  .passport-score-mobile-panel .friend-score-group-head span{font-size:.76rem!important}
  .passport-score-mobile-panel .friend-score-group-head em{font-size:.68rem!important}
  .passport-score-mobile-panel .friend-score-action-link{width:100%;margin-top:8px!important}
}
@media(max-width:360px){
  .passport-mobile-pass-card{padding:16px;border-radius:26px}
  .passport-mobile-pass-top{grid-template-columns:minmax(0,1fr) 70px;gap:10px}
  .passport-mobile-pass-card h1{font-size:1.44rem}
  .passport-mobile-score-mini{width:70px;height:70px;border-radius:22px}
  .passport-mobile-score-mini strong{font-size:1.35rem}
  .passport-form-actions .btn{font-size:.78rem!important;padding:.70rem .6rem!important}
}

/* Perfil público móvil estilo app */
.profile-mobile-app-hero{display:none}
.profile-app-section-card{margin-top:3rem}
.profile-app-section-card:first-of-type{margin-top:0}
@media(max-width:767px){
  body:has(.profile-page){background:#f6f7fb}
  .profile-page{background:#f6f7fb;padding-bottom:8px}
  .profile-page .profile-hero{display:none}
  .profile-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .profile-page .section{padding:10px 0 24px!important}
  .profile-page .container{padding-left:14px;padding-right:14px}
  .profile-page .row.g-5{--bs-gutter-y:.85rem;--bs-gutter-x:.85rem}
  .profile-desktop-summary{display:none!important}
  .profile-booking-col{display:none!important}

  .profile-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#15161a,#30201f);color:#fff;box-shadow:0 20px 54px rgba(16,17,20,.24)}
  .profile-mobile-card:after{content:"";position:absolute;right:-46px;top:-52px;width:144px;height:144px;border-radius:999px;background:rgba(230,48,42,.34)}
  .profile-mobile-card.is-featured-profile{background:linear-gradient(135deg,#3a2600,#15161a)}
  .profile-mobile-featured-pill{position:relative;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:rgba(255,215,128,.18);border:1px solid rgba(255,215,128,.28);color:#ffe7a3;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
  .profile-mobile-top{position:relative;z-index:1;display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:center}
  .profile-mobile-avatar{width:82px;height:82px;border-radius:28px;background:center/cover no-repeat;border:3px solid rgba(255,255,255,.9);box-shadow:0 16px 34px rgba(0,0,0,.20)}
  .profile-mobile-main{min-width:0}
  .profile-mobile-kicker{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.78);margin-bottom:8px}
  .profile-mobile-main h1{font-size:1.55rem;font-weight:950;letter-spacing:-.055em;line-height:1.02;margin:0;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .profile-mobile-main p{margin:7px 0 0;color:rgba(255,255,255,.72);font-weight:800;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .profile-mobile-headline{position:relative;z-index:1;margin:14px 0 0;color:rgba(255,255,255,.82);font-weight:800;font-size:.91rem;line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .profile-mobile-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
  .profile-mobile-stats div{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:12px 10px;border-radius:19px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.10)}
  .profile-mobile-stats strong{font-size:1.16rem;font-weight:950;line-height:1;color:#fff;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .profile-mobile-stats span{font-size:.69rem;font-weight:850;color:rgba(255,255,255,.66);line-height:1.05;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .profile-mobile-actions{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:8px;margin-top:14px}
  .profile-mobile-actions .btn{justify-content:center;border-radius:18px;min-height:46px;box-shadow:none!important;font-size:.86rem;padding:.76rem .8rem;white-space:nowrap}
  .profile-mobile-secondary-actions{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
  .profile-mobile-secondary-actions a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.82)!important;text-decoration:none;font-size:.72rem;font-weight:900;white-space:nowrap}
  .profile-mobile-secondary-actions a i{font-size:.86rem;color:#ffd6d4}
  .profile-mobile-featured-note{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:13px 14px;border-radius:24px;background:#fff8e7;border:1px solid rgba(255,193,7,.22);box-shadow:0 14px 34px rgba(16,17,20,.06);color:#6d4a00;font-weight:800;font-size:.80rem;line-height:1.28}
  .profile-mobile-featured-note i{width:34px;height:34px;border-radius:14px;display:grid;place-items:center;background:rgba(255,193,7,.20);color:#9b6800;flex:0 0 34px}

  .profile-content-col{display:flex;flex-direction:column;gap:12px}
  .profile-app-section-card{margin-top:0;border-radius:30px;padding:18px;background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 14px 38px rgba(16,17,20,.07)}
  .profile-app-section-card h2{font-size:1.15rem;letter-spacing:-.035em;line-height:1.15;margin-bottom:12px!important;display:flex;align-items:center}
  .profile-app-section-card .fs-5{font-size:.93rem!important;line-height:1.42;color:#667085}
  .profile-app-section-card .muted{font-size:.86rem;line-height:1.35}
  .profile-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .profile-gallery img{height:150px;border-radius:22px;box-shadow:none}
  .profile-app-section-card .row.g-3{--bs-gutter-y:.65rem;--bs-gutter-x:.65rem}
  .profile-app-section-card .pack-card{border-radius:24px;padding:15px;border-color:rgba(15,23,42,.06);box-shadow:0 10px 24px rgba(16,17,20,.045)}
  .profile-app-section-card .pack-card h4{font-size:1rem;letter-spacing:-.025em;line-height:1.15;margin-bottom:8px}
  .profile-app-section-card .section-kicker{font-size:.69rem;margin-bottom:8px}
  .profile-app-section-card .chip{font-size:.72rem;padding:7px 9px;border-radius:999px}
  .profile-app-section-card .btn{width:100%;justify-content:center;min-height:42px;border-radius:17px;box-shadow:none!important}
  .profile-app-section-card .review-card{border-radius:24px;padding:15px;border-color:rgba(15,23,42,.06);box-shadow:0 10px 24px rgba(16,17,20,.045)}
  .profile-app-section-card .review-card h5{font-size:.98rem;line-height:1.15}
  .profile-app-section-card .review-card p{font-size:.84rem;line-height:1.33}
  .profile-app-section-card .empty-state{border-radius:24px;padding:18px;background:#f8f9fb;border:1px dashed rgba(15,23,42,.10);box-shadow:none}
  .profile-app-section-card .empty-state h3{font-size:1rem}
  .profile-app-section-card .empty-state p{font-size:.82rem;line-height:1.32}
}
@media(max-width:360px){
  .profile-mobile-card{padding:16px;border-radius:26px}
  .profile-mobile-top{grid-template-columns:74px minmax(0,1fr);gap:11px}
  .profile-mobile-avatar{width:74px;height:74px;border-radius:25px}
  .profile-mobile-main h1{font-size:1.36rem}
  .profile-mobile-stats div{padding:10px 8px;border-radius:17px}
  .profile-mobile-stats strong{font-size:1.02rem}
  .profile-mobile-secondary-actions a{font-size:.66rem;gap:3px}
  .profile-mobile-actions .btn{font-size:.78rem;padding:.72rem .55rem}
  .profile-gallery img{height:132px}
}

/* Mis fotos móvil estilo app */
.photos-mobile-app-hero{display:none}
@media(max-width:767px){
  body:has(.photos-page){background:#f6f7fb}
  .photos-page{background:#f6f7fb;padding-bottom:8px}
  .photos-page .page-hero{display:none}
  .photos-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .photos-page .section{padding:10px 0 24px!important}
  .photos-page .container{padding-left:14px;padding-right:14px}
  .photos-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#15161a,#2a1110);color:#fff;box-shadow:0 20px 54px rgba(16,17,20,.22)}
  .photos-mobile-card:after{content:"";position:absolute;right:-42px;top:-50px;width:140px;height:140px;border-radius:999px;background:rgba(230,48,42,.34)}
  .photos-mobile-top{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:14px;align-items:center}
  .photos-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.80);margin-bottom:9px}
  .photos-mobile-copy{min-width:0}
  .photos-mobile-card h1{font-size:1.62rem;font-weight:950;letter-spacing:-.055em;line-height:1;margin:0;color:#fff}
  .photos-mobile-card p{margin:8px 0 0;color:rgba(255,255,255,.76);font-weight:750;font-size:.86rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .photos-mobile-thumb{width:82px;height:82px;border-radius:28px;background:rgba(255,255,255,.12) center/cover no-repeat;border:2px solid rgba(255,255,255,.55);box-shadow:0 16px 34px rgba(0,0,0,.20);display:grid;place-items:center;color:#fff;font-size:1.7rem;position:relative;z-index:1}
  .photos-mobile-stat-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
  .photos-mobile-stat-row a{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10);color:#fff!important;text-decoration:none}
  .photos-mobile-stat-row strong{font-size:1.12rem;font-weight:950;line-height:1;letter-spacing:-.04em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .photos-mobile-stat-row strong i{font-size:1.05rem}
  .photos-mobile-stat-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.70);line-height:1.05;margin-top:5px}
  .photos-mobile-upload-cta{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px;border-radius:24px;background:#fff;color:#15161a!important;border:1px solid rgba(15,23,42,.06);box-shadow:0 14px 36px rgba(16,17,20,.08);text-decoration:none}
  .photos-mobile-upload-cta>span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(230,48,42,.10);color:var(--af-red);font-size:1.08rem;flex:0 0 42px}
  .photos-mobile-upload-cta div{display:flex;flex-direction:column;min-width:0;line-height:1.15;flex:1}
  .photos-mobile-upload-cta small{font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3;margin-bottom:3px}
  .photos-mobile-upload-cta strong{font-size:.95rem;font-weight:950;color:#15161a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .photos-mobile-upload-cta em{font-style:normal;font-size:.76rem;font-weight:750;color:#6f7280;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .photos-mobile-upload-cta b{font-size:.73rem;font-weight:950;color:var(--af-red);white-space:nowrap;flex:0 0 auto}

  .photos-main-grid{--bs-gutter-y:.85rem;--bs-gutter-x:.85rem}
  .photos-upload-col{order:1}.photos-gallery-col{order:2}
  .photos-upload-card,.photos-gallery-card{border-radius:30px!important;padding:18px!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important;background:#fff!important}
  .photos-upload-card h2,.photos-gallery-card h2{font-size:1.15rem!important;letter-spacing:-.035em!important;line-height:1.1;margin-bottom:6px!important}
  .photos-upload-card>p,.photos-gallery-card .muted{font-size:.82rem!important;line-height:1.3!important;color:#6f7280!important}
  .photos-gallery-card .chip{display:none!important}
  .photos-page .alert.alert-danger{border-radius:24px!important;padding:14px!important;box-shadow:0 10px 24px rgba(16,17,20,.045)}
  .photos-page .upload-drop{min-height:168px;border-radius:26px;padding:20px;background:linear-gradient(135deg,#fff7f7,#fff);border-color:rgba(230,48,42,.18);box-shadow:0 10px 24px rgba(16,17,20,.045);gap:6px}
  .photos-page .upload-drop:hover{transform:none;box-shadow:0 10px 24px rgba(16,17,20,.045)}
  .photos-page .upload-drop i{font-size:2rem!important;width:54px;height:54px;border-radius:20px;display:grid;place-items:center;background:rgba(230,48,42,.10);margin-bottom:4px}
  .photos-page .upload-drop strong{font-size:1rem;font-weight:950;color:#15161a}
  .photos-page .upload-drop span{font-size:.78rem;font-weight:750;color:#7b8190;line-height:1.25;max-width:230px}
  .photos-page .photo-editor{border-radius:26px!important;padding:14px!important;background:#f8f9fb!important;border-color:rgba(15,23,42,.06)!important;box-shadow:none!important}
  .photos-page .photo-editor h3{font-size:1rem!important;line-height:1.1}
  .photos-page .photo-editor .small{font-size:.76rem!important;line-height:1.25}
  .photos-page #resetPhotoEditor{width:100%;justify-content:center;border-radius:16px;margin-top:2px}
  .photos-page .crop-stage{border-radius:24px;box-shadow:0 12px 30px rgba(16,17,20,.07)}
  .photos-page .photo-editor .row.g-3{--bs-gutter-y:.70rem;--bs-gutter-x:.70rem}
  .photos-page .form-label{font-size:.84rem;margin-bottom:.35rem;color:#25272d}
  .photos-page .form-range{accent-color:var(--af-red)}
  .photos-page .photo-editor .btn{border-radius:17px;min-height:42px;box-shadow:none!important}
  .photos-page .photo-editor .alert{display:none}
  .photos-page .form-check.form-switch{border-radius:24px!important;background:#fff!important;box-shadow:0 10px 24px rgba(16,17,20,.045);padding:15px!important}
  .photos-page .form-check-input{width:3.2em;height:1.65em;margin-top:.1em}
  .photos-page .form-check-label{font-size:.9rem;line-height:1.25;padding-left:12px}
  .photos-upload-card>.btn-af{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;min-height:48px;border-radius:20px;box-shadow:0 16px 40px rgba(230,48,42,.20)!important}

  .photos-gallery-card .d-flex.justify-content-between{align-items:flex-start!important;margin-bottom:14px!important}
  .photos-gallery-grid{--bs-gutter-y:.65rem;--bs-gutter-x:.65rem}
  .photos-gallery-grid>.col-md-6{width:50%}
  .photos-page .photo-admin-card{border-radius:24px;border-color:rgba(15,23,42,.06);box-shadow:0 10px 24px rgba(16,17,20,.045);background:#fff}
  .photos-page .photo-admin-card.is-main{outline:2px solid rgba(230,48,42,.28);box-shadow:0 12px 28px rgba(230,48,42,.12)}
  .photos-page .photo-admin-card img{height:168px;border-radius:0;object-fit:cover}
  .photos-page .main-photo-badge{top:9px;left:9px;padding:6px 9px;font-size:.68rem;box-shadow:0 10px 22px rgba(230,48,42,.24)}
  .photos-page .photo-admin-actions{display:grid;grid-template-columns:1fr;gap:6px;padding:8px}
  .photos-page .photo-admin-actions form{display:block!important;width:100%}
  .photos-page .photo-admin-actions .btn{width:100%;justify-content:center;min-height:36px;border-radius:15px;font-size:.72rem;padding:.48rem .55rem;box-shadow:none!important;white-space:nowrap}
  .photos-page .empty-state{border-radius:24px;padding:18px;background:#f8f9fb;border:1px dashed rgba(15,23,42,.10);box-shadow:none}
  .photos-page .empty-state h3{font-size:1rem}
  .photos-page .empty-state p{font-size:.82rem;line-height:1.32}
}
@media(max-width:360px){
  .photos-mobile-card{padding:16px;border-radius:26px}
  .photos-mobile-top{grid-template-columns:minmax(0,1fr) 74px;gap:11px}
  .photos-mobile-thumb{width:74px;height:74px;border-radius:25px}
  .photos-mobile-card h1{font-size:1.42rem}
  .photos-mobile-stat-row a{padding:10px;border-radius:17px}
  .photos-page .photo-admin-card img{height:145px}
  .photos-page .photo-admin-actions .btn{font-size:.68rem;padding:.45rem .45rem}
}

/* Explorar - versión móvil tipo app */
.explore-mobile-app-hero,.explore-mobile-results-toolbar,.explore-filter-mobile-head,.explore-filter-backdrop{display:none}

@media (max-width: 767.98px){
  body.explore-filters-open{overflow:hidden}
  .explore-mobile-app-page{background:#f6f7fb}
  .explore-desktop-hero{display:none!important}
  .explore-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .explore-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#e6302a,#b71f1b);color:#fff;box-shadow:0 20px 54px rgba(230,48,42,.28)}
  .explore-mobile-card:after{content:"";position:absolute;right:-48px;top:-52px;width:150px;height:150px;border-radius:999px;background:rgba(255,255,255,.14)}
  .explore-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .explore-mobile-copy{min-width:0}
  .explore-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.15);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.84);margin-bottom:9px}
  .explore-mobile-card h1{font-size:1.64rem;font-weight:950;letter-spacing:-.055em;line-height:1;margin:0;color:#fff}
  .explore-mobile-card p{margin:8px 0 0;color:rgba(255,255,255,.76);font-weight:800;font-size:.84rem;line-height:1.24;max-width:240px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .explore-mobile-filter-button{width:48px;height:48px;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;font-size:1.18rem;position:relative;flex:0 0 48px;z-index:1}
  .explore-mobile-filter-button span{position:absolute;right:-3px;top:-4px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#fff;color:var(--af-red);font-size:.70rem;font-weight:950;display:grid;place-items:center;box-shadow:0 8px 18px rgba(0,0,0,.16)}
  .explore-mobile-stat-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}
  .explore-mobile-stat-row.explore-mobile-stat-row-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .explore-mobile-stat-row a,.explore-mobile-stat-row button{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);color:#fff!important;text-decoration:none;text-align:left}
  .explore-mobile-stat-row button{appearance:none;box-shadow:none;font-family:inherit}
  .explore-mobile-stat-row strong{font-size:1.15rem;font-weight:950;line-height:1;letter-spacing:-.04em;color:#fff}
  .explore-mobile-stat-row strong i{font-size:1.08rem}
  .explore-mobile-stat-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.72);line-height:1.05;margin-top:5px}
  .explore-mobile-guest-cta{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px;border-radius:24px;background:#fff;color:#15161a!important;border:1px solid rgba(15,23,42,.06);box-shadow:0 14px 36px rgba(16,17,20,.08);text-decoration:none}
  .explore-mobile-guest-cta>span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:rgba(230,48,42,.10);color:var(--af-red);font-size:1.08rem;flex:0 0 42px}
  .explore-mobile-guest-cta div{display:flex;flex-direction:column;min-width:0;line-height:1.15;flex:1}
  .explore-mobile-guest-cta small{font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:#98a2b3;margin-bottom:3px}
  .explore-mobile-guest-cta strong{font-size:.95rem;font-weight:950;color:#15161a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .explore-mobile-guest-cta em{font-style:normal;font-size:.76rem;font-weight:750;color:#6f7280;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .explore-mobile-guest-cta b{font-size:.73rem;font-weight:950;color:var(--af-red);white-space:nowrap;flex:0 0 auto}

  .explore-mobile-app-page .section{padding-top:12px;padding-bottom:92px}
  .explore-results-section{width:100%}
  .explore-desktop-results-heading{display:none!important}
  .explore-mobile-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:0 2px}
  .explore-mobile-results-toolbar small{display:block;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#98a2b3;line-height:1}
  .explore-mobile-results-toolbar strong{display:block;font-size:1.08rem;font-weight:950;letter-spacing:-.035em;color:#15161a;margin-top:4px}
  .explore-mobile-results-toolbar .btn{border-radius:16px;font-size:.80rem;font-weight:900;padding:.62rem .78rem;box-shadow:none!important}

  .explore-mobile-app-page .featured-upgrade-strip{border-radius:24px;padding:14px;align-items:flex-start;gap:12px;box-shadow:0 12px 30px rgba(16,17,20,.06);margin-bottom:14px!important}
  .explore-mobile-app-page .featured-upgrade-strip .featured-upgrade-icon{width:42px;height:42px;border-radius:16px;flex:0 0 42px}
  .explore-mobile-app-page .featured-upgrade-strip h3{font-size:.98rem;line-height:1.12;margin-bottom:4px!important}
  .explore-mobile-app-page .featured-upgrade-strip p{font-size:.78rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .explore-mobile-app-page .featured-upgrade-strip .btn{display:none}
  .explore-mobile-app-page .guest-register-panel{border-radius:26px;padding:16px;box-shadow:0 12px 30px rgba(16,17,20,.06);margin-bottom:14px!important}
  .explore-mobile-app-page .guest-register-panel h3{font-size:1.1rem;line-height:1.12}
  .explore-mobile-app-page .guest-register-panel p{font-size:.84rem;line-height:1.32}
  .explore-mobile-app-page .guest-register-actions{display:grid;width:100%;gap:8px;margin-top:12px}
  .explore-mobile-app-page .guest-register-actions .btn{width:100%;justify-content:center;border-radius:17px;box-shadow:none!important}

  .explore-filter-backdrop.is-open{display:block;position:fixed;inset:0;z-index:1050;background:rgba(16,17,20,.46);backdrop-filter:blur(4px)}
  .explore-filter-aside{position:fixed;left:0;right:0;bottom:0;z-index:1060;width:100%;max-height:86vh;overflow:auto;transform:translateY(110%);transition:transform .22s ease;padding:0 12px 12px!important}
  .explore-filter-aside.is-open{transform:translateY(0)}
  .explore-filter-panel{position:relative!important;top:auto!important;border-radius:30px 30px 24px 24px!important;padding:18px!important;background:#fff!important;box-shadow:0 -18px 54px rgba(16,17,20,.22)!important;border:1px solid rgba(15,23,42,.06)!important;max-height:84vh;overflow:auto}
  .explore-filter-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(15,23,42,.07)}
  .explore-filter-mobile-head small{display:block;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#98a2b3;line-height:1}
  .explore-filter-mobile-head strong{display:block;font-size:1.20rem;font-weight:950;letter-spacing:-.04em;color:#15161a;margin-top:4px}
  .explore-filter-desktop-title{display:none}
  .explore-filter-panel label{font-size:.68rem!important;letter-spacing:.08em;margin-bottom:6px;color:#667085!important}
  .explore-filter-panel .form-control,.explore-filter-panel .form-select{min-height:46px;border-radius:16px;font-weight:750;background:#f8f9fb;border-color:rgba(15,23,42,.08)}
  .explore-filter-panel .form-check{padding:12px 12px 12px 3.1rem;border-radius:18px;background:#f8f9fb;border:1px solid rgba(15,23,42,.06)}
  .explore-filter-panel .btn{min-height:46px;border-radius:17px;box-shadow:none!important;font-weight:950}

  #exploreFriendsGrid{--bs-gutter-x:.75rem;--bs-gutter-y:.85rem}
  #exploreFriendsGrid>[class*="col-"]{width:100%;flex:0 0 100%;max-width:100%}
  .explore-mobile-app-page .friend-card{border-radius:28px;overflow:hidden;box-shadow:0 14px 36px rgba(16,17,20,.08);border:1px solid rgba(15,23,42,.06);background:#fff}
  .explore-mobile-app-page .friend-img{height:220px;border-radius:0;overflow:hidden;background:#f0f2f5}
  .explore-mobile-app-page .friend-img img{height:100%;object-fit:cover}
  .explore-mobile-app-page .friend-body{padding:15px}
  .explore-mobile-app-page .friend-title{font-size:1.17rem;letter-spacing:-.035em;line-height:1.08;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .explore-mobile-app-page .friend-body .muted.mb-2{font-size:.82rem;margin-bottom:7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .explore-mobile-app-page .friend-body .rating{font-size:.82rem;margin-bottom:8px!important}
  .explore-mobile-app-page .friend-body p.muted.small{font-size:.82rem;line-height:1.30;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .explore-mobile-app-page .friend-body .chip{font-size:.69rem;padding:6px 8px;border-radius:999px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .explore-mobile-app-page .friend-body .price{font-size:.86rem;font-weight:950;white-space:nowrap}
  .explore-mobile-app-page .friend-body .btn{border-radius:16px;font-weight:950;box-shadow:none!important;padding:.62rem .8rem;white-space:nowrap}
  .explore-mobile-app-page .save-btn{width:34px;height:34px;border-radius:14px;background:#fff3f2!important;display:grid;place-items:center;flex:0 0 34px}
  .explore-mobile-app-page .save-btn i{font-size:1.08rem!important}
  .explore-mobile-app-page .badge-level{border-radius:14px;font-size:.70rem;padding:6px 9px}
  .explore-mobile-app-page .badge-featured-friend{font-size:.68rem;padding:6px 9px;border-radius:999px}
  .explore-mobile-app-page #exploreInfiniteControls{margin-top:22px!important}
  .explore-mobile-app-page #exploreInfiniteControls .btn{width:100%;border-radius:18px;min-height:46px;font-weight:950;box-shadow:none!important}
  .explore-mobile-app-page .guest-bottom-cta{border-radius:26px;padding:20px;box-shadow:0 14px 34px rgba(16,17,20,.07);background:#fff;margin-top:22px!important}
  .explore-mobile-app-page .guest-bottom-cta h3{font-size:1.12rem;line-height:1.15}
  .explore-mobile-app-page .guest-bottom-cta p{font-size:.86rem;line-height:1.32}
  .explore-mobile-app-page .guest-bottom-cta .btn{width:100%;justify-content:center;border-radius:17px;box-shadow:none!important}
}

@media (max-width: 375px){
  .explore-mobile-card{padding:16px;border-radius:26px}
  .explore-mobile-card h1{font-size:1.42rem}
  .explore-mobile-stat-row a,.explore-mobile-stat-row button{padding:10px;border-radius:17px}
  .explore-mobile-guest-cta strong{font-size:.87rem}
  .explore-mobile-app-page .friend-img{height:205px}
}

/* Denunciar móvil estilo app */
.report-mobile-app-hero{display:none}
.report-mobile-form-kicker{display:none}
@media(max-width:767px){
  body:has(.report-mobile-app-page){background:#f6f7fb}
  .report-mobile-app-page{background:#f6f7fb;padding-bottom:8px}
  .report-mobile-app-page .report-desktop-hero{display:none}
  .report-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .report-mobile-app-page .report-form-section{padding:10px 0 92px!important}
  .report-mobile-app-page .container{padding-left:14px;padding-right:14px}
  .report-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#15161a,#2a1110);color:#fff;box-shadow:0 20px 54px rgba(16,17,20,.24)}
  .report-mobile-card:after{content:"";position:absolute;right:-48px;top:-52px;width:150px;height:150px;border-radius:999px;background:rgba(230,48,42,.36)}
  .report-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .report-mobile-copy{min-width:0}
  .report-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.82);margin-bottom:9px}
  .report-mobile-card h1{font-size:1.62rem;font-weight:950;letter-spacing:-.055em;line-height:1;margin:0;color:#fff}
  .report-mobile-card p{margin:8px 0 0;color:rgba(255,255,255,.76);font-weight:750;font-size:.86rem;line-height:1.25;max-width:250px}
  .report-mobile-close{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2}
  .report-mobile-user-mini{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:15px;padding:13px;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12)}
  .report-mobile-user-mini img{width:54px;height:54px;border-radius:20px;object-fit:cover;background:#f0f2f5;flex:0 0 54px;border:2px solid rgba(255,255,255,.22)}
  .report-mobile-user-mini div{min-width:0;line-height:1.12}
  .report-mobile-user-mini small{display:block;font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.58);margin-bottom:4px}
  .report-mobile-user-mini strong{display:block;font-size:1rem;font-weight:950;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
  .report-mobile-user-mini span{display:block;margin-top:4px;font-size:.76rem;font-weight:800;color:rgba(255,255,255,.70);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
  .report-mobile-stat-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
  .report-mobile-stat-row div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10);color:#fff}
  .report-mobile-stat-row strong{font-size:1.08rem;font-weight:950;line-height:1;color:#fff}
  .report-mobile-stat-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.70);line-height:1.05;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  .report-form-card{border-radius:30px!important;padding:18px!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important;background:#fff!important}
  .report-user-row{align-items:center!important;margin-bottom:14px!important;padding:12px;border-radius:24px;background:#f8f9fb;border:1px solid rgba(15,23,42,.06)}
  .report-user-row .chat-header-avatar{width:58px!important;height:58px!important;border-radius:21px!important;flex:0 0 58px}
  .report-user-row h3{font-size:1.05rem!important;letter-spacing:-.035em;line-height:1.1;max-width:205px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .report-user-row .muted{font-size:.78rem;line-height:1.1;max-width:205px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .report-mobile-form-kicker{display:inline-flex;align-items:center;font-size:.64rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:#98a2b3;margin-bottom:4px}
  .report-mobile-notice{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:24px;background:#fff7f7;border:1px solid rgba(230,48,42,.12);box-shadow:0 10px 24px rgba(16,17,20,.04)}
  .report-mobile-notice>span{width:40px;height:40px;border-radius:15px;display:grid;place-items:center;background:rgba(230,48,42,.10);color:var(--af-red);font-size:1.05rem;flex:0 0 40px}
  .report-mobile-notice strong{display:block;font-size:.92rem;font-weight:950;color:#15161a;line-height:1.15;margin-bottom:4px}
  .report-mobile-notice p{margin:0;font-size:.78rem;line-height:1.28;color:#6f7280;font-weight:750}
  .report-form-field{margin-bottom:14px!important}
  .report-mobile-app-page .form-label{font-size:.84rem;margin-bottom:.35rem;color:#25272d}
  .report-mobile-app-page .form-label .bi{font-size:.92rem}
  .report-mobile-app-page .form-control,
  .report-mobile-app-page .form-select{border-radius:18px!important;border-color:rgba(15,23,42,.10)!important;background:#f8f9fb!important;box-shadow:none!important;font-size:.94rem!important;font-weight:700;color:#25272d;min-height:52px}
  .report-mobile-app-page .form-control:focus,
  .report-mobile-app-page .form-select:focus{background:#fff!important;border-color:rgba(230,48,42,.38)!important;box-shadow:0 0 0 .22rem rgba(230,48,42,.08)!important}
  .report-mobile-app-page textarea.form-control{min-height:160px;border-radius:22px!important;line-height:1.45;font-weight:650}
  .report-mobile-app-page .form-text{font-size:.76rem;color:#8a8f9c;font-weight:650;line-height:1.25;margin-top:7px}
  .report-form-actions{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;margin:18px -4px -4px!important;padding:10px;border-radius:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 16px 40px rgba(16,17,20,.14);border:1px solid rgba(15,23,42,.06);display:grid;grid-template-columns:1fr;gap:8px}
  .report-form-actions .btn{width:100%;justify-content:center;min-height:46px;box-shadow:none!important;padding:.75rem .85rem!important;font-size:.86rem!important;white-space:nowrap;margin:0!important}
  .report-form-actions .btn-af-light{background:#f4f5f7!important;border-color:#eef0f3!important;color:#5f6673!important}
}
@media(max-width:360px){
  .report-mobile-card{padding:16px;border-radius:26px}
  .report-mobile-card h1{font-size:1.44rem}
  .report-mobile-user-mini strong,.report-mobile-user-mini span,.report-user-row h3,.report-user-row .muted{max-width:170px}
  .report-form-actions .btn{font-size:.78rem!important;padding:.70rem .6rem!important}
}

/* Reserva móvil estilo app */
.reservation-mobile-app-hero,
.booking-mobile-form-kicker,
.booking-mobile-estimate,
.booking-mobile-notice{display:none}
.booking-friend-avatar{width:86px;height:86px;border-radius:26px;object-fit:cover;background:#f2f2f4;flex:0 0 86px}.min-width-0{min-width:0}
@media(max-width:767px){
  body:has(.reservation-mobile-app-page){background:#f6f7fb}
  .reservation-mobile-app-page{background:#f6f7fb;padding-bottom:8px}
  .reservation-mobile-app-page .reservation-desktop-hero{display:none}
  .reservation-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .reservation-mobile-app-page .reservation-form-section{padding:10px 0 92px!important}
  .reservation-mobile-app-page .container{padding-left:14px;padding-right:14px}
  .reservation-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#15161a,#2a1110);color:#fff;box-shadow:0 20px 54px rgba(16,17,20,.24)}
  .reservation-mobile-card:after{content:"";position:absolute;right:-44px;top:-52px;width:150px;height:150px;border-radius:999px;background:rgba(230,48,42,.36)}
  .reservation-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .reservation-mobile-copy{min-width:0}
  .reservation-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.82);margin-bottom:9px}
  .reservation-mobile-card h1{font-size:1.62rem;font-weight:950;letter-spacing:-.055em;line-height:1;margin:0;color:#fff}
  .reservation-mobile-card p{margin:8px 0 0;color:rgba(255,255,255,.76);font-weight:750;font-size:.86rem;line-height:1.25;max-width:250px}
  .reservation-mobile-close{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2;text-decoration:none}
  .reservation-mobile-user-mini{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:15px;padding:13px;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);color:#fff!important;text-decoration:none}
  .reservation-mobile-user-mini img{width:54px;height:54px;border-radius:20px;object-fit:cover;background:#f0f2f5;flex:0 0 54px;border:2px solid rgba(255,255,255,.22)}
  .reservation-mobile-user-mini div{min-width:0;line-height:1.12}
  .reservation-mobile-user-mini small{display:block;font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.58);margin-bottom:4px}
  .reservation-mobile-user-mini strong{display:block;font-size:1rem;font-weight:950;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
  .reservation-mobile-user-mini span{display:block;margin-top:4px;font-size:.76rem;font-weight:800;color:rgba(255,255,255,.70);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
  .reservation-mobile-stat-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
  .reservation-mobile-stat-row div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.10);color:#fff}
  .reservation-mobile-stat-row strong{font-size:1.08rem;font-weight:950;line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .reservation-mobile-stat-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.70);line-height:1.05;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  .reservation-mobile-app-page .booking-friend-card{display:none}
  .booking-form-card{border-radius:30px!important;padding:18px!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important;background:#fff!important;overflow:visible!important}
  .booking-mobile-form-kicker{display:inline-flex;align-items:center;font-size:.64rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:#98a2b3;margin-bottom:4px}
  .booking-form-title{font-size:1.22rem!important;line-height:1.12;letter-spacing:-.035em;margin-bottom:14px!important;color:#15161a}
  .booking-form-title .bi{display:none}
  .booking-form-field{margin-bottom:14px!important}
  .booking-experience-field{padding:12px;border-radius:24px;background:#f8f9fb;border:1px solid rgba(15,23,42,.06);margin-bottom:12px!important}
  .booking-date-hours-row{--bs-gutter-x:.65rem;--bs-gutter-y:.65rem;margin-bottom:0!important}
  .booking-date-hours-row .col-md-6{width:50%;flex:0 0 50%;max-width:50%;margin-bottom:0!important}
  .reservation-mobile-app-page label{font-size:.82rem;margin-bottom:.34rem!important;color:#25272d;line-height:1.15}
  .reservation-mobile-app-page label .bi{font-size:.92rem}
  .reservation-mobile-app-page .form-control,
  .reservation-mobile-app-page .form-select{border-radius:18px!important;border-color:rgba(15,23,42,.10)!important;background:#f8f9fb!important;box-shadow:none!important;font-size:.94rem!important;font-weight:700;color:#25272d;min-height:52px}
  .reservation-mobile-app-page .booking-experience-field .form-select{background:#fff!important;margin-bottom:0!important}
  .reservation-mobile-app-page .form-control:focus,
  .reservation-mobile-app-page .form-select:focus{background:#fff!important;border-color:rgba(230,48,42,.38)!important;box-shadow:0 0 0 .22rem rgba(230,48,42,.08)!important}
  .reservation-mobile-app-page textarea.form-control{min-height:150px;border-radius:22px!important;line-height:1.45;font-weight:650;margin-bottom:0!important}
  .booking-mobile-estimate{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 12px;padding:14px;border-radius:24px;background:linear-gradient(135deg,#fff5f4,#fff);border:1px solid rgba(230,48,42,.12);box-shadow:0 10px 24px rgba(16,17,20,.04)}
  .booking-mobile-estimate div{display:flex;flex-direction:column;min-width:0;line-height:1.05}
  .booking-mobile-estimate small{font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:#98a2b3;margin-bottom:5px}
  .booking-mobile-estimate strong{font-size:1.35rem;font-weight:950;letter-spacing:-.04em;color:var(--af-red);white-space:nowrap}
  .booking-mobile-estimate>span{font-size:.78rem;font-weight:850;color:#5f6673;white-space:nowrap;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:999px;padding:8px 10px;flex:0 0 auto}
  .booking-mobile-notice{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:24px;background:#f8f9fb;border:1px solid rgba(15,23,42,.06);box-shadow:0 10px 24px rgba(16,17,20,.035)}
  .booking-mobile-notice>span{width:40px;height:40px;border-radius:15px;display:grid;place-items:center;background:rgba(230,48,42,.10);color:var(--af-red);font-size:1.05rem;flex:0 0 40px}
  .booking-mobile-notice strong{display:block;font-size:.92rem;font-weight:950;color:#15161a;line-height:1.15;margin-bottom:4px}
  .booking-mobile-notice p{margin:0;font-size:.78rem;line-height:1.28;color:#6f7280;font-weight:750}
  .booking-form-actions{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;margin:18px -4px -4px!important;padding:10px;border-radius:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 16px 40px rgba(16,17,20,.14);border:1px solid rgba(15,23,42,.06)}
  .booking-form-actions .btn{width:100%;justify-content:center;min-height:48px;box-shadow:none!important;padding:.78rem .85rem!important;font-size:.88rem!important;white-space:nowrap;margin:0!important;border-radius:17px}
  .booking-desktop-hint{display:none}
  .booking-summary-aside{display:none!important}
}
@media(max-width:360px){
  .reservation-mobile-card{padding:16px;border-radius:26px}
  .reservation-mobile-card h1{font-size:1.44rem}
  .reservation-mobile-user-mini strong,.reservation-mobile-user-mini span{max-width:170px}
  .booking-date-hours-row .col-md-6{width:100%;flex:0 0 100%;max-width:100%}
  .booking-mobile-estimate{align-items:flex-start;flex-direction:column}
  .booking-mobile-estimate>span{white-space:normal}
  .booking-form-actions .btn{font-size:.80rem!important;padding:.72rem .65rem!important}
}

/* Contacto móvil estilo app */
.contact-mobile-app-hero{display:none}
@media(max-width:767px){
  body:has(.contact-mobile-app-page){background:#f6f7fb}
  .contact-mobile-app-page{background:#f6f7fb;padding-bottom:8px}
  .contact-mobile-app-page.py-5{padding-top:0!important;padding-bottom:0!important}
  .contact-mobile-app-page.mt-5{margin-top:0!important}
  .contact-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .contact-mobile-app-page .container{padding-left:14px;padding-right:14px}
  .contact-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#e6302a,#b71f1b);color:#fff;box-shadow:0 20px 54px rgba(230,48,42,.28)}
  .contact-mobile-card:after{content:"";position:absolute;right:-44px;top:-52px;width:150px;height:150px;border-radius:999px;background:rgba(255,255,255,.14)}
  .contact-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .contact-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.84);margin-bottom:9px}
  .contact-mobile-card h1{font-size:1.72rem;font-weight:950;letter-spacing:-.055em;line-height:1;margin:0;color:#fff}
  .contact-mobile-card p{margin:8px 0 0;color:rgba(255,255,255,.78);font-weight:750;font-size:.86rem;line-height:1.25;max-width:255px}
  .contact-mobile-close{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2;text-decoration:none}
  .contact-mobile-summary-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
  .contact-mobile-summary-row div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px;border-radius:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);color:#fff}
  .contact-mobile-summary-row strong{font-size:1.18rem;font-weight:950;line-height:1;color:#fff}
  .contact-mobile-summary-row span{font-size:.72rem;font-weight:850;color:rgba(255,255,255,.76);line-height:1.05;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .contact-mobile-reason{position:relative;z-index:1;display:flex;align-items:center;gap:9px;margin-top:12px;padding:12px 13px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.82rem;font-weight:850}

  .contact-form-section{padding:10px 0 92px!important}
  .contact-form-card{border-radius:30px!important;padding:18px!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important;background:#fff!important;overflow:visible!important}
  .contact-info-panel{display:none!important}
  .contact-form-col{width:100%;flex:0 0 100%;max-width:100%}
  .contact-mobile-app-page .alert{border-radius:22px!important;font-size:.86rem;font-weight:750;line-height:1.35;padding:13px 14px}
  .contact-form-app{gap:13px!important}
  .contact-form-app label{font-size:.82rem;margin-bottom:.34rem!important;color:#25272d;line-height:1.15}
  .contact-form-app .form-control,
  .contact-form-app .form-select{border-radius:18px!important;border-color:rgba(15,23,42,.10)!important;background:#f8f9fb!important;box-shadow:none!important;font-size:.94rem!important;font-weight:700;color:#25272d;min-height:52px}
  .contact-form-app .form-control:focus,
  .contact-form-app .form-select:focus{background:#fff!important;border-color:rgba(230,48,42,.38)!important;box-shadow:0 0 0 .22rem rgba(230,48,42,.08)!important}
  .contact-form-app textarea.form-control{min-height:150px;border-radius:22px!important;line-height:1.45;font-weight:650}
  .contact-mobile-app-page .af-contact-captcha{border-radius:24px!important;padding:14px!important;background:#f8f9fb!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 10px 24px rgba(16,17,20,.035);gap:12px!important}
  .contact-mobile-app-page .af-contact-captcha .form-label{font-size:.86rem;color:#15161a}
  .contact-mobile-app-page .af-contact-captcha p{font-size:.76rem;font-weight:700;line-height:1.25;color:#7b8190!important}
  .contact-mobile-app-page .af-contact-captcha-box{width:100%;justify-content:space-between;padding:11px 12px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.06);font-size:1.05rem}
  .contact-mobile-app-page .af-contact-captcha-box input{width:118px!important;text-align:center;background:#f8f9fb!important;font-weight:950}
  .contact-form-actions{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:20;margin:18px -4px -4px!important;padding:10px;border-radius:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 16px 40px rgba(16,17,20,.14);border:1px solid rgba(15,23,42,.06)}
  .contact-form-actions .btn{width:100%;justify-content:center;min-height:48px;box-shadow:none!important;padding:.78rem .85rem!important;font-size:.88rem!important;white-space:nowrap;margin:0!important;border-radius:17px}
  .contact-form-note{padding:0 4px;text-align:center;font-size:.76rem!important;line-height:1.3;color:#7b8190!important;font-weight:700}
}
@media(max-width:360px){
  .contact-mobile-card{padding:16px;border-radius:26px}
  .contact-mobile-card h1{font-size:1.52rem}
  .contact-mobile-summary-row div{padding:10px;border-radius:17px}
  .contact-mobile-summary-row span{font-size:.66rem}
  .contact-form-actions .btn{font-size:.80rem!important;padding:.72rem .65rem!important}
}

/* Favoritos móvil estilo app */
.favorites-mobile-app-hero,.favorites-mobile-list-head{display:none}
@media(max-width:767px){
  body:has(.favorites-mobile-app-page){background:#f6f7fb}
  .favorites-mobile-app-page{background:#f6f7fb;padding-bottom:8px}
  .favorites-mobile-app-page .container{padding-left:14px;padding-right:14px}
  .favorites-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .favorites-desktop-hero{display:none!important}
  .favorites-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#e6302a,#b71f1b);color:#fff;box-shadow:0 20px 54px rgba(230,48,42,.28)}
  .favorites-mobile-card:after{content:"";position:absolute;right:-44px;top:-52px;width:150px;height:150px;border-radius:999px;background:rgba(255,255,255,.14)}
  .favorites-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .favorites-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.84);margin-bottom:9px}
  .favorites-mobile-card h1{font-size:1.72rem;font-weight:950;letter-spacing:-.055em;line-height:1;margin:0;color:#fff}
  .favorites-mobile-card p{margin:8px 0 0;color:rgba(255,255,255,.78);font-weight:750;font-size:.86rem;line-height:1.25;max-width:265px}
  .favorites-mobile-close{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2;text-decoration:none}
  .favorites-mobile-summary-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
  .favorites-mobile-summary-row div,
  .favorites-mobile-summary-row a{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px;border-radius:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);color:#fff!important;text-decoration:none}
  .favorites-mobile-summary-row strong{font-size:1.18rem;font-weight:950;line-height:1;color:#fff}
  .favorites-mobile-summary-row strong i{font-size:1.08rem}
  .favorites-mobile-summary-row span{font-size:.72rem;font-weight:850;color:rgba(255,255,255,.76);line-height:1.05;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .favorites-mobile-hint{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px 13px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.82rem;font-weight:850;line-height:1.25;text-decoration:none}
  .favorites-mobile-hint-link{color:#fff!important}

  .favorites-list-section{padding:10px 0 92px!important}
  .favorites-desktop-head{display:none!important}
  .favorites-mobile-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:0 2px}
  .favorites-mobile-list-head small{display:block;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#98a2b3;line-height:1}
  .favorites-mobile-list-head strong{display:block;font-size:1.08rem;font-weight:950;letter-spacing:-.035em;color:#15161a;margin-top:4px}
  .favorites-mobile-list-head .btn{border-radius:16px;font-size:.80rem;font-weight:900;padding:.62rem .78rem;box-shadow:none!important}
  .favorites-grid{--bs-gutter-x:.75rem;--bs-gutter-y:.85rem}
  .favorites-grid>[class*="col-"]{width:100%;flex:0 0 100%;max-width:100%}
  .favorites-mobile-app-page .friend-card{border-radius:28px;overflow:hidden;box-shadow:0 14px 36px rgba(16,17,20,.08);border:1px solid rgba(15,23,42,.06);background:#fff}
  .favorites-mobile-app-page .friend-img{height:220px;border-radius:0;overflow:hidden;background:#f0f2f5}
  .favorites-mobile-app-page .friend-img img{height:100%;object-fit:cover}
  .favorites-mobile-app-page .friend-body{padding:15px}
  .favorites-mobile-app-page .friend-title{font-size:1.17rem;letter-spacing:-.035em;line-height:1.08;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .favorites-mobile-app-page .friend-body .muted.mb-2{font-size:.82rem;margin-bottom:7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .favorites-mobile-app-page .friend-body .rating{font-size:.82rem;margin-bottom:8px!important}
  .favorites-mobile-app-page .friend-body p.muted.small{font-size:.82rem;line-height:1.30;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .favorites-mobile-app-page .friend-body .chip{font-size:.69rem;padding:6px 8px;border-radius:999px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .favorites-mobile-app-page .friend-body .price{font-size:.86rem;font-weight:950;white-space:nowrap}
  .favorites-mobile-app-page .friend-body .btn{border-radius:16px;font-weight:950;box-shadow:none!important;padding:.62rem .8rem;white-space:nowrap}
  .favorites-mobile-app-page .save-btn{width:34px;height:34px;border-radius:14px;background:#fff3f2!important;display:grid;place-items:center;flex:0 0 34px}
  .favorites-mobile-app-page .save-btn i{font-size:1.08rem!important}
  .favorites-mobile-app-page .badge-level{border-radius:14px;font-size:.70rem;padding:6px 9px}
  .favorites-mobile-app-page .badge-featured-friend{font-size:.68rem;padding:6px 9px;border-radius:999px}
  .favorites-empty-wrap .empty-state{border-radius:30px!important;padding:26px 18px!important;background:#fff!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important}
  .favorites-empty-wrap .empty-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;margin:0 auto 14px;background:#fff3f2;color:var(--af-red);font-size:1.6rem}
  .favorites-empty-wrap .empty-state h3{font-size:1.24rem;font-weight:950;letter-spacing:-.035em;margin-bottom:6px;color:#15161a}
  .favorites-empty-wrap .empty-state p{font-size:.86rem;line-height:1.35;color:#6f7280;font-weight:750;margin-bottom:16px}
  .favorites-empty-wrap .empty-state .btn{width:100%;justify-content:center;border-radius:18px;min-height:48px;font-weight:950;box-shadow:none!important}
}
@media(max-width:360px){
  .favorites-mobile-card{padding:16px;border-radius:26px}
  .favorites-mobile-card h1{font-size:1.52rem}
  .favorites-mobile-summary-row div,.favorites-mobile-summary-row a{padding:10px;border-radius:17px}
  .favorites-mobile-summary-row span{font-size:.66rem}
  .favorites-mobile-list-head{align-items:flex-start}
  .favorites-mobile-list-head .btn{font-size:.75rem;padding:.58rem .7rem}
}

/* Index móvil estilo app */
.home-mobile-app-hero{display:none}
@media(max-width:991.98px){
  .home-mobile-app-page{background:#f6f7fb;padding-bottom:8px;overflow:hidden}
  .home-mobile-app-page .container{padding-left:14px;padding-right:14px}
  .home-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .home-desktop-hero{display:none!important}
  .home-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#e6302a,#b71f1b);color:#fff;box-shadow:0 20px 54px rgba(230,48,42,.28)}
  .home-mobile-card:before{content:"";position:absolute;right:-42px;top:-48px;width:150px;height:150px;border-radius:999px;background:rgba(255,255,255,.14)}
  .home-mobile-card:after{content:"";position:absolute;left:-54px;bottom:-70px;width:190px;height:190px;border-radius:999px;background:rgba(255,255,255,.08)}
  .home-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .home-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.84);margin-bottom:9px}
  .home-mobile-card h1{font-size:1.82rem;font-weight:950;letter-spacing:-.06em;line-height:.94;margin:0;color:#fff;max-width:270px}
  .home-mobile-card p{margin:9px 0 0;color:rgba(255,255,255,.78);font-weight:750;font-size:.86rem;line-height:1.25;max-width:292px}
  .home-mobile-round-btn{width:48px;height:48px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1.12rem;flex:0 0 48px;position:relative;z-index:2;text-decoration:none}
  .home-mobile-search{position:relative;z-index:1;margin-top:16px;padding:11px;border-radius:24px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);display:grid;gap:9px}
  .home-mobile-search-field{display:flex;align-items:center;gap:9px;min-height:48px;border-radius:18px;background:#fff;padding:0 12px;color:var(--af-red,#e6302a)}
  .home-mobile-search-field i{font-size:1.05rem;flex:0 0 auto}
  .home-mobile-search-field .form-control{border:0!important;box-shadow:none!important;background:transparent!important;padding:0;font-weight:850;font-size:.89rem;color:#15161a;min-height:44px}
  .home-mobile-search-field .form-control::placeholder{color:#98a2b3;font-weight:800}
  .home-mobile-search .btn{min-height:47px;border-radius:17px;font-weight:950;color:#15161a!important;box-shadow:none!important;border:0!important}
  .home-mobile-summary-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}
  .home-mobile-summary-row a{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px;border-radius:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);color:#fff!important;text-decoration:none}
  .home-mobile-summary-row strong{font-size:1.10rem;font-weight:950;line-height:1;color:#fff}
  .home-mobile-summary-row span{font-size:.71rem;font-weight:850;color:rgba(255,255,255,.76);line-height:1.05;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .home-mobile-trust-row{position:relative;z-index:1;display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
  .home-mobile-trust-row span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.88);font-size:.70rem;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

  .home-press-strip{margin-top:0!important;padding:10px 0 10px!important;background:#f6f7fb!important}
  .home-press-card{border-radius:28px!important;padding:18px!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important;border:1px solid rgba(15,23,42,.06)!important;background:#fff!important}
  .home-press-card .section-kicker{font-size:.67rem;margin-bottom:6px}
  .home-press-card h2{font-size:1.22rem!important;font-weight:950;letter-spacing:-.045em;margin-bottom:6px;color:#15161a}
  .home-press-card p{font-size:.84rem!important;line-height:1.32;color:#6f7280;margin-bottom:0;font-weight:700}
  .home-press-card .media-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .home-press-card .media-logo{min-height:42px;border-radius:15px;font-size:.78rem;font-weight:950;background:#f8f9fb;border-color:rgba(15,23,42,.06)}
  .home-press-actions{margin-top:12px!important}
  .home-press-actions .btn{width:100%;justify-content:center;border-radius:17px;box-shadow:none!important;font-size:.82rem;padding:.72rem .85rem}
  .home-press-actions .muted{display:none}

  .home-mobile-app-page .section{padding:28px 0!important;background:#f6f7fb}
  .home-experience-section{padding-top:14px!important}
  .home-section-head{margin-bottom:14px!important;text-align:left!important;align-items:flex-start!important}
  .home-section-head .section-kicker{font-size:.67rem;margin-bottom:6px;letter-spacing:.11em}
  .home-section-head .section-title{font-size:1.55rem!important;line-height:1.03!important;letter-spacing:-.055em;margin:0;color:#15161a}
  .home-section-head p{font-size:.88rem!important;line-height:1.35;font-weight:700;margin-top:8px;color:#6f7280}
  .home-experience-grid,.home-friends-grid{--bs-gutter-x:.75rem;--bs-gutter-y:.85rem}
  .home-experience-grid>[class*="col-"]{width:50%;flex:0 0 50%;max-width:50%}
  .home-experience-section .experience-card{min-height:146px;border-radius:24px;padding:15px;background:#fff;box-shadow:0 14px 34px rgba(16,17,20,.06);border:1px solid rgba(15,23,42,.06)}
  .home-experience-section .experience-card:hover{transform:none;box-shadow:0 14px 34px rgba(16,17,20,.06)}
  .home-experience-section .experience-icon{width:45px;height:45px;border-radius:16px;font-size:1.35rem;margin-bottom:11px}
  .home-experience-section .experience-icon .bi{font-size:1.35rem}
  .home-experience-section .experience-card h3{font-size:.96rem;letter-spacing:-.025em;line-height:1.08;margin-bottom:7px;color:#15161a}
  .home-experience-section .experience-card p{font-size:.76rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#6f7280;font-weight:700}
  .home-experience-section .experience-card .card-link{display:none}
  .home-experience-section .btn,.home-friends-section .btn{border-radius:18px;min-height:48px;font-weight:950;box-shadow:none!important}

  .home-friends-section .home-friends-grid>[class*="col-"]{width:100%;flex:0 0 100%;max-width:100%}
  .home-friends-section .friend-card{border-radius:28px;overflow:hidden;box-shadow:0 14px 36px rgba(16,17,20,.08);border:1px solid rgba(15,23,42,.06);background:#fff}
  .home-friends-section .friend-card:hover{transform:none;box-shadow:0 14px 36px rgba(16,17,20,.08)}
  .home-friends-section .friend-img{height:218px;border-radius:0;overflow:hidden;background:#f0f2f5}
  .home-friends-section .friend-img img{height:100%;object-fit:cover}
  .home-friends-section .friend-body{padding:15px}
  .home-friends-section .friend-title{font-size:1.17rem;letter-spacing:-.035em;line-height:1.08;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-friends-section .friend-body .muted.mb-2{font-size:.82rem;margin-bottom:7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-friends-section .friend-body .rating{font-size:.82rem;margin-bottom:8px!important}
  .home-friends-section .friend-body p.muted.small{font-size:.82rem;line-height:1.30;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .home-friends-section .friend-body .chip{font-size:.69rem;padding:6px 8px;border-radius:999px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-friends-section .friend-body .price{font-size:.86rem;font-weight:950;white-space:nowrap}
  .home-friends-section .friend-body .btn{border-radius:16px;font-weight:950;box-shadow:none!important;padding:.62rem .8rem;white-space:nowrap;min-height:auto}
  .home-friends-section .friend-body>a.btn.btn-af{min-height:44px;margin-top:2px;display:flex;align-items:center;justify-content:center;width:100%}
  .home-friends-section .save-btn{width:34px;height:34px;border-radius:14px;background:#fff3f2!important;display:grid;place-items:center;flex:0 0 34px}
  .home-friends-section .save-btn i{font-size:1.08rem!important}
  .home-friends-section .badge-level{border-radius:14px;font-size:.70rem;padding:6px 9px}
  .home-friends-section .badge-featured-friend{font-size:.68rem;padding:6px 9px;border-radius:999px}

  .home-how-section{background:linear-gradient(180deg,#f6f7fb 0%,#fff7f7 100%)!important}
  .home-how-section .how-timeline{max-width:none}
  .home-how-section .how-timeline:before{display:none}
  .home-how-section .how-step-card{display:block;margin-bottom:12px}
  .home-how-section .how-step-number{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:15px;font-size:.95rem;box-shadow:none;z-index:2}
  .home-how-section .how-step-content{position:relative;border-radius:28px;padding:17px;background:#fff;box-shadow:0 14px 36px rgba(16,17,20,.07);border:1px solid rgba(15,23,42,.06)}
  .home-how-section .how-step-icon{width:45px;height:45px;border-radius:16px;font-size:1.22rem;margin-bottom:10px}
  .home-how-section .how-step-content h3{font-size:1.05rem;line-height:1.12;margin-bottom:7px;color:#15161a}
  .home-how-section .how-step-content p{font-size:.84rem;line-height:1.34;font-weight:700;color:#6f7280;margin-bottom:8px}
  .home-how-section .how-profile-box{border-radius:20px;padding:13px;background:#fffafa}
  .home-how-section .how-profile-box strong{font-size:.84rem;line-height:1.2;margin-bottom:6px}
  .home-how-section .how-profile-box p{font-size:.78rem;line-height:1.28}
  .home-how-section .how-filter-chips{gap:7px;margin-top:10px}
  .home-how-section .how-filter-chips span{font-size:.72rem;padding:7px 9px;font-weight:850}
  .home-trust-grid{margin-top:12px!important;--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
  .home-trust-grid>[class*="col-"]{width:50%;flex:0 0 50%;max-width:50%}
  .home-trust-grid .trust-mini-card{border-radius:24px;padding:15px;box-shadow:0 14px 34px rgba(16,17,20,.06);border:1px solid rgba(15,23,42,.06)}
  .home-trust-grid .trust-mini-card i{width:42px;height:42px;border-radius:15px;font-size:1.18rem;margin-bottom:10px}
  .home-trust-grid .trust-mini-card strong{font-size:.90rem;line-height:1.1}
  .home-trust-grid .trust-mini-card span{font-size:.76rem;line-height:1.25;margin-top:4px;font-weight:700}

  .home-security-section{padding-top:14px!important;background:#f6f7fb!important}
  .home-security-section .security-card{border-radius:30px;padding:20px;background:linear-gradient(135deg,#15161a,#2a1111);box-shadow:0 18px 48px rgba(16,17,20,.16)}
  .home-security-section .section-title{font-size:1.52rem!important;letter-spacing:-.055em;line-height:1.03;margin-bottom:8px}
  .home-security-section p.fs-5{font-size:.86rem!important;line-height:1.32;font-weight:750;margin-bottom:4px}
  .home-security-grid{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem;margin-top:4px}
  .home-security-grid>[class*="col-"]{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:14px;width:100%;flex:0 0 100%;max-width:100%}
  .home-security-grid i{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.10);font-size:1.15rem!important;margin:0 0 9px!important}
  .home-security-grid h4{font-size:.96rem;margin:.25rem 0!important;letter-spacing:-.02em}
  .home-security-grid p{font-size:.78rem;line-height:1.28;font-weight:700}

  .home-serfriend-section{padding-top:14px!important;padding-bottom:94px!important;background:#f6f7fb!important}
  .home-serfriend-section .section-kicker{font-size:.67rem;margin-bottom:6px}
  .home-serfriend-section .section-title{font-size:1.55rem!important;line-height:1.03;letter-spacing:-.055em;margin-bottom:8px}
  .home-serfriend-section p.fs-5{font-size:.88rem!important;line-height:1.35;font-weight:700}
  .home-passport-card{border-radius:30px!important;padding:18px!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important;border:1px solid rgba(15,23,42,.06)!important}
  .home-passport-card h3{font-size:1.22rem;letter-spacing:-.035em}
  .home-passport-card p{font-size:.84rem;font-weight:700;line-height:1.32}
  .home-passport-card .chip{font-size:.72rem;padding:7px 9px}
  .home-passport-card .btn{border-radius:18px;min-height:48px;font-weight:950;box-shadow:none!important}
}
@media(max-width:360px){
  .home-mobile-card{padding:16px;border-radius:26px}
  .home-mobile-card h1{font-size:1.58rem}
  .home-mobile-summary-row a{padding:10px;border-radius:17px}
  .home-mobile-summary-row span{font-size:.66rem}
  .home-experience-section .experience-card{padding:13px;min-height:138px}
  .home-trust-grid>[class*="col-"]{width:100%;flex:0 0 100%;max-width:100%}
}

/* Corrección index móvil: tarjetas de confianza y Friends sin botón de reserva */
@media(max-width:991.98px){
  .home-trust-grid .trust-mini-card{
    display:block!important;
    min-width:0;
    overflow:hidden;
    min-height:156px;
  }
  .home-trust-grid .trust-mini-card>i,
  .home-trust-grid .trust-mini-card i:first-child{
    flex:none!important;
    margin-bottom:10px!important;
  }
  .home-trust-grid .trust-mini-card strong,
  .home-trust-grid .trust-mini-card span{
    max-width:100%;
    min-width:0;
    white-space:normal!important;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .home-trust-grid .trust-mini-card strong{
    display:block;
    margin-bottom:6px;
  }
  .home-trust-grid .trust-mini-card span{
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .home-friends-section .friend-body .d-flex.justify-content-between.align-items-center.gap-2.mb-2{
    align-items:stretch!important;
    flex-direction:column;
  }
  .home-friends-section .friend-body .d-flex.justify-content-between.align-items-center.gap-2.mb-2 .btn{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:4px;
  }
}

/* Selector de país con bandera */
.af-flag-emoji{display:inline-flex;align-items:center;justify-content:center;font-size:1.05em;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.af-mobile-country-short{display:none}
.af-country-dropdown .dropdown-item,.af-mobile-country-short .dropdown-item{display:flex;align-items:center;gap:0;white-space:nowrap}
@media(max-width:991.98px){
  .af-mobile-country-short{display:block}
  .af-mobile-country-button{min-height:42px;padding:0 10px;border-radius:16px;border:1px solid rgba(15,23,42,.07);background:#fff3f2;color:#15161a;font-weight:950;display:inline-flex;align-items:center;gap:6px;box-shadow:0 10px 24px rgba(16,17,20,.06)}
  .af-mobile-country-button:hover,.af-mobile-country-button:focus{background:#fff0ef;color:#15161a;border-color:rgba(230,48,42,.16);box-shadow:0 10px 24px rgba(16,17,20,.08)}
  .af-mobile-country-button .af-flag-emoji{font-size:1.16rem}
  .af-mobile-country-name{display:inline-block;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;letter-spacing:-.02em;line-height:1}
  .af-mobile-country-button.dropdown-toggle::after{margin-left:0;border-top-color:#a4a8b3;transform:scale(.82)}
  .af-mobile-country-short .country-menu{min-width:220px;max-height:70vh;overflow:auto}
}
@media(max-width:390px){
  .af-mobile-country-button{width:42px;padding:0;justify-content:center}
  .af-mobile-country-name,.af-mobile-country-button.dropdown-toggle::after{display:none}
}

@media(max-width:991.98px){
  .home-mobile-kicker-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
  .home-mobile-kicker-row .home-mobile-kicker{margin-bottom:0}
  .home-mobile-country-pill{display:inline-flex;align-items:center;gap:5px;max-width:146px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.91);font-size:.70rem;font-weight:950;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-mobile-country-pill .af-flag-emoji{font-size:.92rem;flex:0 0 auto}
  .home-mobile-trust-row .af-flag-emoji{font-size:.86rem;margin-right:1px;flex:0 0 auto}
}

/* Banderas reales con SVG local: evita que Windows muestre solo ES/AR/etc. */
.af-country-flag-img{
  display:inline-block;
  width:22px;
  height:16px;
  min-width:22px;
  flex:0 0 22px;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 0 0 1px rgba(15,23,42,.10),0 4px 10px rgba(15,23,42,.08);
  vertical-align:-3px;
}
.af-mobile-country-button .af-country-flag-img{width:24px;height:17px;min-width:24px;flex-basis:24px;vertical-align:middle}
.af-country-dropdown .dropdown-item .af-country-flag-img,
.af-mobile-country-short .dropdown-item .af-country-flag-img{margin-right:8px}
.af-country-dropdown .btn .af-country-flag-img{margin-right:5px}
.home-mobile-country-pill .af-country-flag-img{width:19px;height:14px;min-width:19px;flex-basis:19px;box-shadow:0 0 0 1px rgba(255,255,255,.20)}
.home-mobile-trust-row .af-country-flag-img{width:17px;height:12px;min-width:17px;flex-basis:17px;margin-right:4px;box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.af-country-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:52vh;overflow:auto;padding:2px}
.af-country-choice-btn{display:flex;align-items:center;gap:9px;width:100%;border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:18px;padding:11px 12px;text-align:left;font-weight:900;color:#15161a;box-shadow:0 10px 24px rgba(16,17,20,.05)}
.af-country-choice-btn:hover,.af-country-choice-btn:focus{border-color:rgba(230,48,42,.25);background:#fff7f6;color:#15161a;outline:none;box-shadow:0 12px 28px rgba(230,48,42,.10)}
.af-country-choice-btn .af-country-flag-img{width:25px;height:18px;min-width:25px;flex-basis:25px}
.af-country-choice-btn span{font-size:.88rem;line-height:1.08;white-space:normal}
@media(max-width:390px){.af-country-choice-grid{grid-template-columns:1fr}.af-mobile-country-button .af-country-flag-img{margin:0}}

/* Destacar perfil móvil estilo app */
.featured-mobile-app-hero,.featured-mobile-section-title{display:none}
@media(max-width:767px){
  body:has(.featured-mobile-app-page){background:#f6f7fb}
  .featured-mobile-app-page{background:#f6f7fb;padding-bottom:8px}
  .featured-mobile-app-page .container{padding-left:14px;padding-right:14px}
  .featured-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .featured-desktop-hero{display:none!important}
  .featured-mobile-main-section{padding:10px 0 92px!important}
  .featured-mobile-app-page .alert{border-radius:22px!important;font-size:.86rem;font-weight:750;line-height:1.35;padding:13px 14px}

  .featured-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#15161a,#321311);color:#fff;box-shadow:0 20px 54px rgba(16,17,20,.24)}
  .featured-mobile-card:before{content:"";position:absolute;right:-42px;top:-48px;width:150px;height:150px;border-radius:999px;background:rgba(255,176,0,.26)}
  .featured-mobile-card:after{content:"";position:absolute;left:-64px;bottom:-86px;width:210px;height:210px;border-radius:999px;background:rgba(230,48,42,.18)}
  .featured-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .featured-mobile-copy{min-width:0}
  .featured-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.84);margin-bottom:9px}
  .featured-mobile-card h1{font-size:1.68rem;font-weight:950;letter-spacing:-.06em;line-height:.96;margin:0;color:#fff;max-width:260px}
  .featured-mobile-card p{margin:9px 0 0;color:rgba(255,255,255,.78);font-weight:750;font-size:.86rem;line-height:1.25;max-width:288px}
  .featured-mobile-close{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2;text-decoration:none}

  .featured-mobile-status{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:15px;padding:13px;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12)}
  .featured-mobile-status-icon{width:52px;height:52px;border-radius:20px;background:linear-gradient(135deg,#ffd66b,#ffb000);color:#1f1600;display:grid;place-items:center;font-size:1.35rem;flex:0 0 52px;box-shadow:0 12px 28px rgba(255,176,0,.18)}
  .featured-mobile-status div:last-child{min-width:0;line-height:1.12}
  .featured-mobile-status small{display:block;font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.56);margin-bottom:4px}
  .featured-mobile-status strong{display:block;font-size:1rem;font-weight:950;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
  .featured-mobile-status span{display:block;margin-top:4px;font-size:.76rem;font-weight:800;color:rgba(255,255,255,.70);line-height:1.16;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

  .featured-mobile-summary-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
  .featured-mobile-summary-row div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px;border-radius:20px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.12);color:#fff}
  .featured-mobile-summary-row strong{font-size:1.02rem;font-weight:950;line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .featured-mobile-summary-row strong i{font-size:1.08rem;color:#ffd66b}
  .featured-mobile-summary-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.72);line-height:1.05;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .featured-mobile-hint{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px 13px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.82rem;font-weight:850;line-height:1.25}
  .featured-mobile-hint strong{font-weight:950;color:#fff}

  .featured-benefits-col{display:none!important}
  .featured-plans-col{width:100%;flex:0 0 100%;max-width:100%}
  .featured-mobile-section-title{display:block;margin:2px 2px 12px}
  .featured-mobile-section-title small{display:block;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#98a2b3;line-height:1}
  .featured-mobile-section-title strong{display:block;font-size:1.18rem;font-weight:950;letter-spacing:-.04em;color:#15161a;margin-top:4px}
  .featured-mobile-section-title span{display:block;font-size:.82rem;font-weight:750;line-height:1.25;color:#727888;margin-top:3px}

  .featured-plans-grid{--bs-gutter-x:.75rem;--bs-gutter-y:.85rem}
  .featured-plans-grid>[class*="col-"]{width:100%;flex:0 0 100%;max-width:100%}
  .featured-mobile-app-page .featured-plan-card{border-radius:28px;padding:18px;border:1px solid rgba(15,23,42,.06);background:#fff;box-shadow:0 14px 36px rgba(16,17,20,.08);min-height:auto;display:grid;grid-template-columns:1fr auto;grid-template-areas:"days price" "title price" "desc desc" "button button";gap:0 14px;align-items:center}
  .featured-mobile-app-page .featured-plan-card.is-recommended{border-color:rgba(255,176,0,.48);box-shadow:0 18px 40px rgba(255,176,0,.16)}
  .featured-mobile-app-page .featured-plan-card:hover{transform:none;box-shadow:0 14px 36px rgba(16,17,20,.08)}
  .featured-mobile-app-page .featured-plan-recommended{right:14px;top:12px;padding:5px 9px;font-size:.64rem;border-radius:999px;background:#15161a;color:#fff;z-index:2}
  .featured-mobile-app-page .featured-plan-days{grid-area:days;width:max-content;border-radius:999px;padding:6px 10px;background:#fff8df;color:#7a5200;font-size:.76rem;font-weight:950;margin:0 0 8px}
  .featured-mobile-app-page .featured-plan-card h3{grid-area:title;font-size:1.12rem!important;letter-spacing:-.035em;line-height:1.05;margin:0!important;padding-right:76px;color:#15161a}
  .featured-mobile-app-page .featured-plan-card p{grid-area:desc;font-size:.82rem!important;line-height:1.32;font-weight:700;color:#737987!important;margin:10px 0 14px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .featured-mobile-app-page .featured-plan-price{grid-area:price;margin:0!important;font-size:1.52rem;line-height:1;font-weight:950;letter-spacing:-.055em;color:#15161a;align-self:center;justify-self:end;white-space:nowrap}
  .featured-mobile-app-page .featured-plan-card .btn{grid-area:button;border-radius:18px;min-height:48px;font-weight:950;box-shadow:none!important;width:100%;justify-content:center}
  .featured-mobile-app-page .featured-mobile-empty-state{border-radius:30px!important;padding:28px 18px!important;background:#fff!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important}
  .featured-mobile-app-page .featured-mobile-empty-state .empty-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;margin:0 auto 14px;background:#fff3f2;color:var(--af-red);font-size:1.6rem}
  .featured-mobile-app-page .featured-mobile-empty-state h3{font-size:1.24rem;font-weight:950;letter-spacing:-.035em;margin-bottom:7px;color:#15161a}
  .featured-mobile-app-page .featured-mobile-empty-state p{font-size:.86rem;line-height:1.35;color:#6f7280;font-weight:750;margin-bottom:16px}
  .featured-mobile-app-page .featured-mobile-empty-state .btn{width:100%;justify-content:center;border-radius:18px;min-height:48px;font-weight:950;box-shadow:none!important}
}
@media(max-width:360px){
  .featured-mobile-card{padding:16px;border-radius:26px}
  .featured-mobile-card h1{font-size:1.48rem}
  .featured-mobile-status strong{max-width:176px}
  .featured-mobile-summary-row div{padding:10px;border-radius:17px}
  .featured-mobile-summary-row span{font-size:.66rem}
  .featured-mobile-app-page .featured-plan-card{padding:16px;border-radius:24px;grid-template-columns:1fr;grid-template-areas:"days" "title" "price" "desc" "button"}
  .featured-mobile-app-page .featured-plan-card h3{padding-right:0}
  .featured-mobile-app-page .featured-plan-price{justify-self:start;margin-top:10px!important;font-size:1.62rem}
}

/* Seguridad móvil estilo app */
.safety-mobile-app-hero,.safety-mobile-section-title{display:none}
@media(max-width:767px){
  body:has(.safety-mobile-app-page){background:#f6f7fb}
  .safety-mobile-app-page{background:#f6f7fb;padding-bottom:8px}
  .safety-mobile-app-page .container{padding-left:14px;padding-right:14px}
  .safety-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .safety-desktop-hero{display:none!important}
  .safety-mobile-app-page .section{padding:22px 0!important;background:#f6f7fb!important}
  .safety-mobile-cta-section{padding-bottom:92px!important}

  .safety-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#15161a,#321311);color:#fff;box-shadow:0 20px 54px rgba(16,17,20,.24)}
  .safety-mobile-card:before{content:"";position:absolute;right:-54px;top:-60px;width:168px;height:168px;border-radius:999px;background:rgba(230,48,42,.32)}
  .safety-mobile-card:after{content:"";position:absolute;left:-70px;bottom:-86px;width:214px;height:214px;border-radius:999px;background:rgba(255,255,255,.08)}
  .safety-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .safety-mobile-copy{min-width:0}
  .safety-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.84);margin-bottom:9px}
  .safety-mobile-card h1{font-size:1.7rem;font-weight:950;letter-spacing:-.06em;line-height:.96;margin:0;color:#fff;max-width:260px}
  .safety-mobile-card p{margin:9px 0 0;color:rgba(255,255,255,.78);font-weight:750;font-size:.86rem;line-height:1.25;max-width:292px}
  .safety-mobile-close{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2;text-decoration:none}

  .safety-mobile-action-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}
  .safety-mobile-action-row a{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;text-decoration:none;padding:12px;border-radius:20px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.12);color:#fff!important}
  .safety-mobile-action-row strong{font-size:1.05rem;font-weight:950;line-height:1;color:#fff}
  .safety-mobile-action-row strong i{color:#ffdbd9}
  .safety-mobile-action-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.72);line-height:1.05;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  .safety-mobile-flow{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
  .safety-mobile-flow div{min-width:0;padding:12px 10px;border-radius:20px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10)}
  .safety-mobile-flow i{display:grid;place-items:center;width:34px;height:34px;border-radius:14px;background:#fff;color:var(--af-red);font-size:.96rem;margin-bottom:8px}
  .safety-mobile-flow strong{display:block;font-size:.82rem;font-weight:950;color:#fff;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .safety-mobile-flow span{display:block;font-size:.66rem;font-weight:800;color:rgba(255,255,255,.62);line-height:1.08;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .safety-mobile-hint{position:relative;z-index:1;display:flex;align-items:center;gap:6px;margin-top:12px;padding:12px 13px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.82rem;font-weight:850;line-height:1.25}

  .safety-mobile-section-title{display:block;margin:0 2px 12px}
  .safety-mobile-section-title small{display:block;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:#98a2b3;line-height:1}
  .safety-mobile-section-title strong{display:block;font-size:1.18rem;font-weight:950;letter-spacing:-.04em;color:#15161a;margin-top:4px}
  .safety-mobile-section-title span{display:block;font-size:.82rem;font-weight:750;line-height:1.25;color:#727888;margin-top:3px}

  .safety-mobile-steps-section .row{--bs-gutter-y:.85rem}
  .safety-mobile-steps-section .col-md-4{width:100%;flex:0 0 100%;max-width:100%}
  .safety-mobile-app-page .safety-step-card{border-radius:28px;padding:16px;box-shadow:0 14px 36px rgba(16,17,20,.07);display:grid;grid-template-columns:52px minmax(0,1fr);gap:0 13px;align-items:flex-start;min-height:auto}
  .safety-mobile-app-page .safety-step-card:hover{transform:none;box-shadow:0 14px 36px rgba(16,17,20,.07)}
  .safety-mobile-app-page .safety-step-number{width:52px;height:52px;border-radius:19px;margin:0;grid-row:1 / span 3;font-size:1.15rem;box-shadow:0 12px 24px rgba(230,48,42,.18)}
  .safety-mobile-app-page .safety-step-card h3{font-size:1.03rem;letter-spacing:-.03em;margin:2px 0 5px;line-height:1.08}
  .safety-mobile-app-page .safety-step-card p{font-size:.82rem;line-height:1.3;font-weight:700;margin:0;color:#737987;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .safety-mobile-app-page .safety-step-card ul{grid-column:2;margin:10px 0 0;display:flex;gap:6px;flex-wrap:wrap}
  .safety-mobile-app-page .safety-step-card li{gap:4px;border-radius:999px;background:#f8fafc;padding:6px 8px;font-size:.70rem;font-weight:900;color:#2d3038;line-height:1}

  .safety-tools-desktop-head{display:none!important}
  .safety-mobile-tools-section .row.g-4{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
  .safety-mobile-tools-section .col-md-6{width:50%;flex:0 0 50%;max-width:50%}
  .safety-mobile-app-page .safety-tool-card{border-radius:26px;padding:15px;min-height:178px;box-shadow:0 14px 32px rgba(16,17,20,.06);display:flex;flex-direction:column;justify-content:flex-start}
  .safety-mobile-app-page .safety-tool-card:hover{transform:none;box-shadow:0 14px 32px rgba(16,17,20,.06)}
  .safety-mobile-app-page .safety-tool-card>.bi{width:44px;height:44px;border-radius:17px;font-size:1.18rem;margin:0 0 12px}
  .safety-mobile-app-page .safety-tool-card h3{font-size:.98rem;letter-spacing:-.03em;line-height:1.05;margin:0 0 7px;color:#15161a}
  .safety-mobile-app-page .safety-tool-card p{font-size:.75rem;line-height:1.24;font-weight:700;color:#737987;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

  .safety-mobile-advice-section .row>.col-lg-5{display:none!important}
  .safety-mobile-advice-section .row>.col-lg-7{width:100%;flex:0 0 100%;max-width:100%}
  .safety-mobile-app-page .safety-advice-list{gap:9px}
  .safety-mobile-app-page .safety-advice-list div{grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:center;border-radius:22px;padding:13px 14px;box-shadow:0 12px 28px rgba(16,17,20,.05)}
  .safety-mobile-app-page .safety-advice-list .bi{width:44px;height:44px;border-radius:17px;font-size:1.08rem}
  .safety-mobile-app-page .safety-advice-list span{font-size:.83rem;line-height:1.25;font-weight:850;color:#2d3038}

  .safety-mobile-app-page .safety-cta{border-radius:30px;padding:18px;grid-template-columns:1fr;gap:16px;box-shadow:0 18px 48px rgba(16,17,20,.18)}
  .safety-mobile-app-page .safety-cta h2{font-size:1.42rem;letter-spacing:-.045em;line-height:1.02;margin-bottom:8px!important}
  .safety-mobile-app-page .safety-cta p{font-size:.84rem;line-height:1.35;font-weight:750}
  .safety-mobile-app-page .safety-cta .d-flex{display:grid!important;grid-template-columns:1fr;gap:9px!important}
  .safety-mobile-app-page .safety-cta .btn{width:100%;min-height:48px;border-radius:18px!important;font-size:.88rem;font-weight:950;justify-content:center}
}
@media(max-width:360px){
  .safety-mobile-card{padding:16px;border-radius:26px}
  .safety-mobile-card h1{font-size:1.48rem}
  .safety-mobile-action-row a{padding:10px;border-radius:17px}
  .safety-mobile-action-row span{font-size:.66rem}
  .safety-mobile-flow{grid-template-columns:1fr;gap:7px}
  .safety-mobile-flow div{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon title" "icon text";column-gap:9px;padding:9px 10px;align-items:center}
  .safety-mobile-flow i{grid-area:icon;margin:0}
  .safety-mobile-flow strong{grid-area:title}
  .safety-mobile-flow span{grid-area:text;-webkit-line-clamp:1;margin-top:2px}
  .safety-mobile-tools-section .col-md-6{width:100%;flex:0 0 100%;max-width:100%}
  .safety-mobile-app-page .safety-tool-card{min-height:auto}
}

/* Contenido público móvil estilo app: quiénes somos, blog y legales */
.about-mobile-app-hero,.blog-mobile-app-hero,.legal-mobile-app-hero{display:none}
@media(max-width:767px){
  .about-mobile-app-page,
  .blog-mobile-app-page,
  .legal-mobile-app-page{background:#f6f7fb;padding-bottom:88px;overflow:hidden}
  .about-mobile-app-page .container,
  .blog-mobile-app-page .container,
  .legal-mobile-app-page .container{padding-left:14px;padding-right:14px}

  .about-mobile-app-hero,
  .blog-mobile-app-hero,
  .legal-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .about-desktop-hero,
  .blog-desktop-hero,
  .legal-desktop-hero{display:none!important}

  .about-mobile-card,
  .blog-mobile-card,
  .legal-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#15161a,#321311);color:#fff;box-shadow:0 20px 54px rgba(16,17,20,.24)}
  .about-mobile-card:before,
  .blog-mobile-card:before,
  .legal-mobile-card:before{content:"";position:absolute;right:-54px;top:-60px;width:168px;height:168px;border-radius:999px;background:rgba(230,48,42,.32)}
  .about-mobile-card:after,
  .blog-mobile-card:after,
  .legal-mobile-card:after{content:"";position:absolute;left:-70px;bottom:-86px;width:214px;height:214px;border-radius:999px;background:rgba(255,255,255,.08)}

  .about-mobile-top,
  .blog-mobile-top,
  .legal-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .about-mobile-copy,
  .blog-mobile-copy,
  .legal-mobile-copy{min-width:0}
  .about-mobile-kicker,
  .blog-mobile-kicker,
  .legal-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.84);margin-bottom:9px}
  .about-mobile-card h1,
  .blog-mobile-card h1,
  .legal-mobile-card h1{font-size:1.68rem;font-weight:950;letter-spacing:-.06em;line-height:.98;margin:0;color:#fff;max-width:292px}
  .about-mobile-card p,
  .blog-mobile-card p,
  .legal-mobile-card p{margin:9px 0 0;color:rgba(255,255,255,.78);font-weight:750;font-size:.86rem;line-height:1.25;max-width:300px}
  .about-mobile-close,
  .blog-mobile-close,
  .legal-mobile-close{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2;text-decoration:none}

  .about-mobile-action-row,
  .blog-mobile-summary-row,
  .legal-mobile-action-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}
  .about-mobile-action-row a,
  .blog-mobile-summary-row div,
  .blog-mobile-summary-row a,
  .legal-mobile-action-row a{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;text-decoration:none;padding:12px;border-radius:20px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.12);color:#fff!important}
  .about-mobile-action-row strong,
  .blog-mobile-summary-row strong,
  .legal-mobile-action-row strong{font-size:1.05rem;font-weight:950;line-height:1;color:#fff}
  .about-mobile-action-row strong i,
  .blog-mobile-summary-row strong i,
  .legal-mobile-action-row strong i{color:#ffdbd9}
  .about-mobile-action-row span,
  .blog-mobile-summary-row span,
  .legal-mobile-action-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.72);line-height:1.05;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  .about-mobile-hint,
  .legal-mobile-hint{position:relative;z-index:1;display:flex;align-items:center;gap:6px;margin-top:12px;padding:12px 13px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.82rem;font-weight:850;line-height:1.25}

  /* Quiénes somos */
  .about-mobile-app-page .section{padding:22px 0!important;background:#f6f7fb!important}
  .about-mobile-app-page .section-title{font-size:1.42rem;letter-spacing:-.045em;line-height:1.03;margin-bottom:10px!important}
  .about-mobile-app-page .section-kicker{font-size:.68rem;letter-spacing:.08em}
  .about-mobile-app-page .lead{font-size:.92rem!important;line-height:1.38!important;font-weight:750;color:#6f7280!important}
  .about-mobile-app-page p.text-secondary,
  .about-mobile-app-page .muted{font-size:.84rem!important;line-height:1.35!important;color:#747987!important;font-weight:700}
  .about-mobile-app-page .row.g-5{--bs-gutter-y:1rem}
  .about-mobile-app-page .about-section-img{border-radius:26px;box-shadow:0 14px 36px rgba(16,17,20,.07);max-height:235px;object-fit:cover}
  .about-mobile-app-page .about-mini-value{border-radius:22px;padding:15px;box-shadow:0 12px 28px rgba(16,17,20,.05);display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 10px;align-items:center}
  .about-mobile-app-page .about-mini-value i{width:42px;height:42px;border-radius:16px;margin:0;grid-row:1 / span 2}
  .about-mobile-app-page .about-mini-value strong{font-size:.9rem;line-height:1.06}
  .about-mobile-app-page .about-mini-value span{font-size:.74rem;line-height:1.15;margin-top:2px}
  .about-mobile-app-page .about-feature{border-radius:24px;padding:15px;min-height:150px;box-shadow:0 12px 30px rgba(16,17,20,.06)}
  .about-mobile-app-page .about-feature:hover{transform:none;box-shadow:0 12px 30px rgba(16,17,20,.06)}
  .about-mobile-app-page .about-feature i{width:44px;height:44px;border-radius:16px;font-size:1.1rem;margin-bottom:11px}
  .about-mobile-app-page .about-feature h3{font-size:.96rem;letter-spacing:-.03em;line-height:1.05;margin-bottom:6px}
  .about-mobile-app-page .about-feature p{font-size:.75rem;line-height:1.24;font-weight:700;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .about-mobile-app-page .about-do-card,
  .about-mobile-app-page .about-dont-card{border-radius:26px;padding:18px;box-shadow:0 14px 34px rgba(16,17,20,.06)}
  .about-mobile-app-page .about-do-card h3,
  .about-mobile-app-page .about-dont-card h3{font-size:1.05rem;letter-spacing:-.03em}
  .about-mobile-app-page .about-do-card ul,
  .about-mobile-app-page .about-dont-card ul{font-size:.82rem;line-height:1.45;font-weight:750;margin-top:12px}
  .about-mobile-app-page .about-stat{border-radius:22px;padding:14px;box-shadow:0 12px 28px rgba(16,17,20,.05);min-height:110px}
  .about-mobile-app-page .about-stat strong{font-size:.83rem;line-height:1.08}
  .about-mobile-app-page .about-stat span{font-size:.72rem;line-height:1.18;display:block}
  .about-mobile-app-page .about-cta{border-radius:30px;padding:20px 16px;box-shadow:0 18px 48px rgba(16,17,20,.18)}
  .about-mobile-app-page .about-cta h2{font-size:1.42rem!important;letter-spacing:-.045em;line-height:1.02}
  .about-mobile-app-page .about-cta .d-flex{display:grid!important;grid-template-columns:1fr;gap:9px!important}
  .about-mobile-app-page .about-cta .btn{width:100%;min-height:48px;border-radius:18px!important;font-size:.88rem;font-weight:950;justify-content:center}

  /* Blog */
  .blog-mobile-app-page>.container,
  .blog-mobile-app-page>section.container{padding-top:22px!important;padding-bottom:22px!important;background:#f6f7fb!important}
  .blog-mobile-search{position:relative;z-index:1;margin-top:15px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px;border-radius:22px;background:#fff;border:1px solid rgba(255,255,255,.20);box-shadow:0 14px 30px rgba(0,0,0,.14)}
  .blog-mobile-search i{display:grid;place-items:center;color:#98a2b3;font-size:1rem}
  .blog-mobile-search input{min-width:0;border:0;outline:0;background:transparent;font-weight:800;color:#1d2129;font-size:.88rem}
  .blog-mobile-search input::placeholder{color:#8e95a3}
  .blog-mobile-search button{border:0;border-radius:16px;background:var(--af-red,#e53935);color:#fff;font-weight:950;font-size:.78rem;padding:9px 11px}
  .blog-mobile-app-page .d-flex.justify-content-between.align-items-center.mb-4{display:grid!important;grid-template-columns:1fr;gap:8px;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:22px;padding:13px;box-shadow:0 12px 28px rgba(16,17,20,.05)}
  .blog-mobile-app-page .d-flex.justify-content-between.align-items-center.mb-4 p{font-size:.82rem;line-height:1.25;font-weight:800;margin:0;color:#575d6b!important}
  .blog-mobile-app-page .d-flex.justify-content-between.align-items-center.mb-4 .btn{width:100%;justify-content:center;border-radius:16px;font-weight:900}
  .blog-mobile-app-page .row.g-4{--bs-gutter-y:.85rem;--bs-gutter-x:.85rem}
  .blog-mobile-app-page .row.g-4>.col-md-6{width:100%;flex:0 0 100%;max-width:100%}
  .blog-mobile-app-page .af-blog-card{border-radius:28px;box-shadow:0 14px 36px rgba(16,17,20,.07)}
  .blog-mobile-app-page .af-blog-card:hover{transform:none;box-shadow:0 14px 36px rgba(16,17,20,.07)}
  .blog-mobile-app-page .af-blog-card img{height:168px;border-radius:0;background:#eef1f6}
  .blog-mobile-app-page .af-blog-card .p-4{padding:16px!important}
  .blog-mobile-app-page .af-blog-card h2{font-size:1.04rem;letter-spacing:-.03em;line-height:1.12;margin-bottom:7px!important}
  .blog-mobile-app-page .af-blog-card p{font-size:.82rem;line-height:1.30;font-weight:700;color:#6f7280!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .blog-mobile-app-page .af-read-more{font-size:.82rem;font-weight:950}
  .blog-mobile-app-page .pagination{gap:6px;flex-wrap:wrap}
  .blog-mobile-app-page .page-link{border-radius:14px!important;border:0;background:#fff;box-shadow:0 10px 24px rgba(16,17,20,.05);font-weight:900;color:#343944}
  .blog-mobile-app-page .page-item.active .page-link{background:var(--af-red,#e53935);color:#fff}
  .blog-mobile-app-page .af-empty-state{border-radius:30px!important;padding:28px 18px!important;background:#fff!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important}

  /* Páginas legales */
  .legal-mobile-app-page>section.container{padding-top:22px!important;padding-bottom:22px!important;background:#f6f7fb!important}
  .legal-mobile-app-page .row.g-4{--bs-gutter-y:.85rem}
  .legal-mobile-app-page .legal-side-card{display:none!important}
  .legal-mobile-app-page .col-lg-4{display:none!important}
  .legal-mobile-app-page .col-lg-8{width:100%;flex:0 0 100%;max-width:100%}
  .legal-mobile-app-page .legal-card{border-radius:28px;padding:18px;box-shadow:0 14px 36px rgba(16,17,20,.07);border:1px solid rgba(15,23,42,.06)}
  .legal-mobile-app-page .legal-card h2{font-size:1.03rem;letter-spacing:-.035em;line-height:1.1;margin:1.45rem 0 .65rem;display:flex;align-items:flex-start;gap:4px;scroll-margin-top:110px}
  .legal-mobile-app-page .legal-card h2 i{margin-top:1px;flex:0 0 auto}
  .legal-mobile-app-page .legal-card p{font-size:.84rem;line-height:1.48;font-weight:700;color:#667085;margin-bottom:.8rem}
  .legal-mobile-app-page .legal-list{padding-left:1rem;margin-bottom:.8rem;color:#667085;font-size:.83rem;line-height:1.45;font-weight:750}
  .legal-mobile-app-page .legal-list li{margin-bottom:.45rem}
  .legal-mobile-app-page .legal-update{border-radius:20px;padding:13px 14px;font-size:.80rem;font-weight:850;line-height:1.3;margin-top:18px}
}
@media(max-width:360px){
  .about-mobile-card,.blog-mobile-card,.legal-mobile-card{padding:16px;border-radius:26px}
  .about-mobile-card h1,.blog-mobile-card h1,.legal-mobile-card h1{font-size:1.45rem}
  .about-mobile-action-row a,.blog-mobile-summary-row div,.blog-mobile-summary-row a,.legal-mobile-action-row a{padding:10px;border-radius:17px}
  .about-mobile-action-row span,.blog-mobile-summary-row span,.legal-mobile-action-row span{font-size:.64rem}
  .blog-mobile-search{grid-template-columns:30px minmax(0,1fr);gap:3px}
  .blog-mobile-search button{grid-column:1 / -1;width:100%;padding:10px}
  .about-mobile-app-page .about-feature{min-height:auto}
  .about-mobile-app-page .row.g-3>.col-6{width:100%;flex:0 0 100%;max-width:100%}
}

/* Experiencias móvil estilo app */
.experiences-mobile-app-hero{display:none}
@media(max-width:991.98px){
  body:has(.experiences-mobile-app-page){background:#f6f7fb}
  .experiences-mobile-app-page{background:#f6f7fb;padding-bottom:88px;overflow:hidden}
  .experiences-mobile-app-page .container{padding-left:14px;padding-right:14px}
  .experiences-mobile-app-hero{display:block;padding:96px 0 14px;background:linear-gradient(180deg,#fff3f2 0%,#f6f7fb 82%)}
  .experiences-desktop-hero{display:none!important}
  .experiences-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;background:linear-gradient(135deg,#e6302a,#781816);color:#fff;box-shadow:0 20px 54px rgba(230,48,42,.27)}
  .experiences-mobile-card:before{content:"";position:absolute;right:-54px;top:-62px;width:170px;height:170px;border-radius:999px;background:rgba(255,255,255,.14)}
  .experiences-mobile-card:after{content:"";position:absolute;left:-72px;bottom:-88px;width:216px;height:216px;border-radius:999px;background:rgba(255,255,255,.08)}
  .experiences-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .experiences-mobile-copy{min-width:0}
  .experiences-mobile-kicker-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
  .experiences-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.15);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:rgba(255,255,255,.86)}
  .experiences-mobile-country-pill{display:inline-flex;align-items:center;gap:5px;max-width:150px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.92);font-size:.70rem;font-weight:950;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .experiences-mobile-country-pill .af-country-flag-img{width:19px;height:14px;min-width:19px;flex-basis:19px;box-shadow:0 0 0 1px rgba(255,255,255,.20)}
  .experiences-mobile-country-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .experiences-mobile-card h1{font-size:1.68rem;font-weight:950;letter-spacing:-.06em;line-height:.98;margin:0;color:#fff;max-width:286px}
  .experiences-mobile-card p{margin:9px 0 0;color:rgba(255,255,255,.80);font-weight:750;font-size:.86rem;line-height:1.25;max-width:305px}
  .experiences-mobile-round-btn{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2;text-decoration:none}
  .experiences-mobile-action-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}
  .experiences-mobile-action-row a{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;text-decoration:none;padding:12px;border-radius:20px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.12);color:#fff!important}
  .experiences-mobile-action-row strong{font-size:1.05rem;font-weight:950;line-height:1;color:#fff}
  .experiences-mobile-action-row strong i{color:#ffdbd9}
  .experiences-mobile-action-row span{font-size:.70rem;font-weight:850;color:rgba(255,255,255,.74);line-height:1.05;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .experiences-mobile-summary-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}
  .experiences-mobile-summary-row div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px 12px;border-radius:20px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.11);color:#fff}
  .experiences-mobile-summary-row strong{font-size:1.02rem;font-weight:950;line-height:1;color:#fff;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .experiences-mobile-summary-row span{font-size:.69rem;font-weight:850;color:rgba(255,255,255,.70);line-height:1.05;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .experiences-mobile-category-strip{position:relative;z-index:1;display:flex;gap:8px;overflow:auto;margin:13px -18px -2px;padding:0 18px 2px;scrollbar-width:none}
  .experiences-mobile-category-strip::-webkit-scrollbar{display:none}
  .experiences-mobile-category-strip a{flex:0 0 auto;text-decoration:none;color:#fff!important;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:9px 12px;font-size:.75rem;font-weight:950;white-space:nowrap}
  .experiences-mobile-category-strip a.is-active{background:#fff;color:#e6302a!important;border-color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.13)}

  .experiences-categories-section,
  .experiences-results-section,
  .experiences-fallback-section{padding:20px 0!important;background:#f6f7fb!important}
  .experiences-categories-section .d-flex.justify-content-between,
  .experiences-results-section .d-flex.justify-content-between,
  .experiences-fallback-section .d-flex.justify-content-between{display:grid!important;grid-template-columns:1fr;gap:10px;background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:24px;padding:14px;box-shadow:0 12px 28px rgba(16,17,20,.05);margin-bottom:13px!important}
  .experiences-categories-section .section-kicker,
  .experiences-results-section .section-kicker,
  .experiences-fallback-section .section-kicker{font-size:.68rem;letter-spacing:.08em}
  .experiences-categories-section .section-title,
  .experiences-results-section .section-title,
  .experiences-fallback-section .section-title{font-size:1.36rem!important;letter-spacing:-.052em;line-height:1.03;margin-top:6px!important;color:#15161a}
  .experiences-categories-section .btn,
  .experiences-results-section .btn,
  .experiences-fallback-section .btn{width:100%;justify-content:center;border-radius:18px;min-height:46px;font-weight:950;box-shadow:none!important}

  .experiences-categories-section .row.g-4{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
  .experiences-categories-section .row.g-4>[class*="col-"]{width:50%;flex:0 0 50%;max-width:50%}
  .experiences-categories-section .experience-card{min-height:148px;border-radius:24px;padding:15px;background:#fff;box-shadow:0 14px 34px rgba(16,17,20,.06);border:1px solid rgba(15,23,42,.06)}
  .experiences-categories-section .experience-card:hover{transform:none;box-shadow:0 14px 34px rgba(16,17,20,.06)}
  .experiences-categories-section .experience-icon{width:44px;height:44px;border-radius:16px;font-size:1.28rem;margin-bottom:11px}
  .experiences-categories-section .experience-icon .bi{font-size:1.28rem}
  .experiences-categories-section .experience-card h3{font-size:.96rem;letter-spacing:-.03em;line-height:1.08;margin-bottom:7px;color:#15161a}
  .experiences-categories-section .experience-card p{font-size:.76rem;line-height:1.25;font-weight:700;color:#6f7280;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .experiences-categories-section .experience-card .card-link{display:none}

  .experiences-results-section .row.g-4{--bs-gutter-x:.75rem;--bs-gutter-y:.85rem}
  .experiences-results-section .row.g-4>[class*="col-"]{width:100%;flex:0 0 100%;max-width:100%}
  .experiences-results-section .experience-result-card{border-radius:28px;box-shadow:0 14px 36px rgba(16,17,20,.07);border:1px solid rgba(15,23,42,.06);background:#fff;overflow:hidden}
  .experiences-results-section .experience-result-card:hover{transform:none;box-shadow:0 14px 36px rgba(16,17,20,.07)}
  .experiences-results-section .experience-result-card .p-4{padding:16px!important}
  .experiences-results-section .experience-result-card .chip{font-size:.69rem;padding:6px 8px;border-radius:999px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .experiences-results-section .experience-result-card h3{font-size:1.14rem;letter-spacing:-.04em;line-height:1.08;margin-bottom:8px;color:#15161a}
  .experiences-results-section .experience-result-card p.muted{font-size:.84rem;line-height:1.32;font-weight:700;color:#6f7280;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
  .experiences-results-section .experience-result-card .small-muted{font-size:.78rem;line-height:1.25;font-weight:800;color:#7b8190;margin-bottom:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .experiences-results-section .experience-result-card .d-flex.align-items-center.justify-content-between.gap-2:last-child{align-items:stretch!important;gap:10px!important;flex-direction:column}
  .experiences-results-section .experience-result-card .h4{font-size:1.02rem;line-height:1;padding:12px 13px;border-radius:18px;background:#f6fff7;border:1px solid rgba(22,163,74,.10);display:inline-flex;align-items:center;width:100%}
  .experiences-results-section .experience-result-card .btn{width:100%;justify-content:center;min-height:46px;border-radius:18px;font-weight:950;box-shadow:none!important}

  .experiences-results-section .empty-state-premium{border-radius:30px!important;padding:26px 18px!important;background:#fff!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 14px 38px rgba(16,17,20,.07)!important}
  .experiences-results-section .empty-state-premium .empty-state-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;margin:0 auto 14px;background:#fff3f2;color:var(--af-red);font-size:1.6rem}
  .experiences-results-section .empty-state-premium h3{font-size:1.18rem;font-weight:950;letter-spacing:-.035em;margin-bottom:8px;color:#15161a}
  .experiences-results-section .empty-state-premium p{font-size:.84rem;line-height:1.35;color:#6f7280;font-weight:750;margin-bottom:16px}
  .experiences-results-section .empty-state-premium .d-flex{display:grid!important;grid-template-columns:1fr;gap:9px!important}

  .experiences-fallback-section .row.g-4{--bs-gutter-x:.75rem;--bs-gutter-y:.85rem}
  .experiences-fallback-section .row.g-4>[class*="col-"]{width:100%;flex:0 0 100%;max-width:100%}
  .experiences-fallback-section .friend-card{border-radius:28px;overflow:hidden;box-shadow:0 14px 36px rgba(16,17,20,.08);border:1px solid rgba(15,23,42,.06);background:#fff}
  .experiences-fallback-section .friend-img{height:220px;border-radius:0;overflow:hidden;background:#f0f2f5}
  .experiences-fallback-section .friend-img img{height:100%;object-fit:cover}
  .experiences-fallback-section .friend-body{padding:15px}
  .experiences-fallback-section .friend-title{font-size:1.17rem;letter-spacing:-.035em;line-height:1.08;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .experiences-fallback-section .friend-body p.muted.small{font-size:.82rem;line-height:1.30;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .experiences-fallback-section .friend-body .btn{border-radius:16px;font-weight:950;box-shadow:none!important;padding:.62rem .8rem;white-space:nowrap}

  .experiences-cta-section{padding:18px 0 98px!important;background:#f6f7fb!important}
  .experiences-cta-section .cta-card{border-radius:30px;padding:20px 16px;box-shadow:0 18px 48px rgba(16,17,20,.18)}
  .experiences-cta-section .cta-card h2{font-size:1.42rem!important;letter-spacing:-.045em;line-height:1.02;margin-bottom:9px}
  .experiences-cta-section .cta-card p{font-size:.86rem;line-height:1.35;font-weight:750;margin-bottom:16px;color:rgba(255,255,255,.78)}
  .experiences-cta-section .cta-card .btn{width:100%;justify-content:center;min-height:48px;border-radius:18px!important;font-size:.88rem;font-weight:950;box-shadow:none!important}
}
@media(max-width:360px){
  .experiences-mobile-card{padding:16px;border-radius:26px}
  .experiences-mobile-card h1{font-size:1.48rem}
  .experiences-mobile-action-row a,
  .experiences-mobile-summary-row div{padding:10px;border-radius:17px}
  .experiences-mobile-action-row span,
  .experiences-mobile-summary-row span{font-size:.64rem}
  .experiences-categories-section .row.g-4>[class*="col-"]{width:100%;flex:0 0 100%;max-width:100%}
  .experiences-categories-section .experience-card{min-height:auto}
}

/* Registro móvil estilo app */
.register-mobile-app-hero{display:none}
@media(max-width:991.98px){
  body:has(.register-mobile-app-page){background:#f6f7fb}
  .register-mobile-app-page{background:#f6f7fb;padding-bottom:96px}
  .register-mobile-app-hero{display:block;padding:96px 0 10px;background:#f6f7fb}
  .register-mobile-app-page .register-hero{min-height:auto;margin-top:0!important;padding:8px 0 20px!important;background:#f6f7fb!important}
  .register-mobile-app-page .register-hero .container{padding-top:0!important;padding-bottom:0!important}
  .register-mobile-app-page .row.align-items-center.g-5{--bs-gutter-y:0}
  .register-mobile-app-page .col-lg-7{width:100%}

  .register-mobile-card{position:relative;overflow:hidden;border-radius:30px;padding:18px;color:#fff;background:radial-gradient(circle at 15% 0%,rgba(255,255,255,.24),transparent 32%),linear-gradient(135deg,#ff514b 0%,#e6302a 54%,#b91c1c 100%);box-shadow:0 18px 46px rgba(230,48,42,.22)}
  .register-mobile-card:after{content:"";position:absolute;right:-46px;bottom:-54px;width:148px;height:148px;border-radius:999px;background:rgba(255,255,255,.10);pointer-events:none}
  .register-mobile-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .register-mobile-kicker-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:9px}
  .register-mobile-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.14);font-size:.68rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;color:#fff}
  .register-mobile-country-pill{display:inline-flex;align-items:center;gap:5px;max-width:145px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.92);font-size:.70rem;font-weight:950;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .register-mobile-country-pill .af-country-flag-img{width:19px;height:14px;min-width:19px;flex-basis:19px;box-shadow:0 0 0 1px rgba(255,255,255,.20)}
  .register-mobile-card h1{font-size:1.72rem;line-height:.98;font-weight:1000;letter-spacing:-.065em;margin:0 0 8px;color:#fff;max-width:250px}
  .register-mobile-card p{margin:0;color:rgba(255,255,255,.78);font-weight:750;font-size:.86rem;line-height:1.28;max-width:300px}
  .register-mobile-close{width:46px;height:46px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.12);color:#fff!important;display:grid;place-items:center;font-size:1rem;flex:0 0 46px;position:relative;z-index:2;text-decoration:none}
  .register-mobile-role-switch{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:6px;margin-top:15px}
  .register-mobile-role-switch a{min-width:0;text-decoration:none;color:#fff!important;border-radius:17px;padding:11px 8px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:950;font-size:.78rem;white-space:nowrap}
  .register-mobile-role-switch a.active{background:#fff;color:#e6302a!important;box-shadow:0 12px 26px rgba(0,0,0,.12)}
  .register-mobile-role-switch i{font-size:.98rem}
  .register-mobile-summary-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
  .register-mobile-summary-row div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px 12px;border-radius:19px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.11);color:#fff}
  .register-mobile-summary-row strong{font-size:1rem;font-weight:950;line-height:1;color:#fff}
  .register-mobile-summary-row strong i{color:#ffdbd9}
  .register-mobile-summary-row span{font-size:.69rem;font-weight:850;color:rgba(255,255,255,.72);line-height:1.05;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  .register-mobile-app-page .register-card{border-radius:30px;padding:16px;margin:0;box-shadow:0 14px 38px rgba(16,17,20,.07);border:1px solid rgba(15,23,42,.06);background:#fff}
  .register-mobile-app-page .register-card .register-switch{display:none}
  .register-mobile-app-page .register-card .alert-danger{border-radius:22px;font-size:.86rem;line-height:1.35;font-weight:800;margin-bottom:12px}
  .register-mobile-app-page #afRegisterForm{--bs-gutter-x:.75rem;--bs-gutter-y:.82rem}
  .register-mobile-app-page #afRegisterForm>[class*="col-md-"]{width:100%;flex:0 0 100%;max-width:100%}
  .register-mobile-app-page .form-label{font-size:.78rem;margin-bottom:6px;color:#272a31;letter-spacing:-.015em}
  .register-mobile-app-page .form-control,
  .register-mobile-app-page .form-select{min-height:50px;border-radius:18px;border-color:rgba(15,23,42,.10);background:#f8f9fb;font-weight:800;font-size:.92rem;color:#15161a;box-shadow:none!important}
  .register-mobile-app-page .form-control:focus,
  .register-mobile-app-page .form-select:focus{border-color:rgba(230,48,42,.45);background:#fff;box-shadow:0 0 0 .18rem rgba(230,48,42,.10)!important}
  .register-mobile-app-page .form-text{font-size:.72rem;line-height:1.25;font-weight:700;color:#858b98;margin-top:6px}
  .register-mobile-step{display:flex;align-items:center;gap:10px;margin:4px 0 0;padding:12px;border-radius:22px;background:#fff5f4;border:1px solid rgba(230,48,42,.10)}
  .register-mobile-step-compact{margin-top:8px}
  .register-mobile-step span{width:34px;height:34px;border-radius:14px;background:var(--af-red,#e53935);color:#fff;display:grid;place-items:center;font-size:.84rem;font-weight:1000;flex:0 0 34px;box-shadow:0 10px 22px rgba(230,48,42,.20)}
  .register-mobile-step strong{display:block;font-size:.90rem;line-height:1;font-weight:1000;color:#15161a;letter-spacing:-.025em}
  .register-mobile-step small{display:block;margin-top:4px;font-size:.70rem;line-height:1.18;font-weight:750;color:#7a808d}
  .register-mobile-app-page .alert-light{border-radius:22px!important;background:#f7fbff!important;border-color:rgba(59,130,246,.12)!important;font-size:.82rem;line-height:1.34;font-weight:750;color:#4b5563;padding:13px!important}
  .register-mobile-app-page .legal-check{border-radius:22px;padding:14px 14px;background:#fff7f6;border-color:rgba(230,48,42,.12);font-size:.80rem;line-height:1.36;font-weight:800;color:#4b5563;display:flex;gap:10px;align-items:flex-start;width:100%;max-width:100%;overflow:hidden}
  .register-mobile-app-page .legal-check input{margin-top:3px;flex:0 0 auto;transform:scale(1.1);accent-color:var(--af-red,#e53935)}
  .register-mobile-app-page .legal-check-text{display:block;min-width:0;flex:1 1 auto;white-space:normal;overflow-wrap:break-word;word-break:normal}
  .register-mobile-app-page .legal-check-text a{display:inline;white-space:normal;overflow-wrap:break-word;word-break:normal}
  .register-mobile-app-page .d-grid .btn-af{min-height:52px;border-radius:19px;font-size:.92rem;font-weight:1000;box-shadow:0 16px 34px rgba(230,48,42,.23)!important}
  .register-mobile-app-page .muted{font-size:.84rem;font-weight:750}
  .register-mobile-app-page .text-center .text-red{font-weight:1000;text-decoration:none}
}
@media(max-width:360px){
  .register-mobile-card{padding:16px;border-radius:26px}
  .register-mobile-card h1{font-size:1.50rem}
  .register-mobile-role-switch a{font-size:.72rem;padding:10px 6px;gap:5px}
  .register-mobile-summary-row div{padding:10px;border-radius:17px}
  .register-mobile-summary-row span{font-size:.64rem}
}

/* Registro móvil: ajuste local para que el header no parezca desplazado.
   No se toca el header global; se corrige el desbordamiento horizontal de la tarjeta superior. */
@media(max-width:991.98px){
  .register-mobile-app-page{overflow-x:hidden}
  .register-mobile-top > div{min-width:0;flex:1 1 auto}
  .register-mobile-kicker-row{min-width:0;max-width:100%}
  .register-mobile-card h1{max-width:100%;overflow-wrap:break-word;word-break:normal}
  .register-mobile-card p{max-width:100%;overflow-wrap:break-word}
  .register-mobile-country-pill{min-width:0;flex:0 1 auto;max-width:132px}
  .register-mobile-close{width:44px;height:44px;flex:0 0 44px;border-radius:17px}
  .register-mobile-role-switch a span{min-width:0;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:360px){
  .register-mobile-country-pill{max-width:118px}
  .register-mobile-close{width:42px;height:42px;flex-basis:42px}
}

/* Admin - controles finales */
.admin-setting-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--af-border);border-radius:20px;padding:16px 18px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.04)}
.admin-setting-toggle span{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-setting-toggle strong{font-weight:900;color:#111827}.admin-setting-toggle small{color:var(--af-muted);line-height:1.35}.admin-setting-toggle input{width:46px;height:26px;accent-color:var(--af-red);flex:0 0 auto}
@media(max-width:767.98px){.admin-setting-toggle{align-items:flex-start;padding:14px}.admin-setting-toggle input{margin-top:4px}}

/* Hero móvil reutilizable para páginas pendientes */
.af-mobile-page-hero{display:none}.af-mobile-page-card{background:linear-gradient(135deg,#e53935,#b91c1c);color:#fff;border-radius:0 0 30px 30px;padding:22px 18px 18px;box-shadow:0 18px 40px rgba(229,57,53,.22)}.af-mobile-page-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.af-mobile-page-kicker{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.9;margin-bottom:8px}.af-mobile-page-card h1{font-size:1.72rem;line-height:1.02;font-weight:950;margin:0 0 8px}.af-mobile-page-card p{margin:0;color:rgba(255,255,255,.88);font-size:.96rem;line-height:1.35}.af-mobile-page-home{width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;text-decoration:none;flex:0 0 auto}.af-mobile-quick-row{display:flex;gap:10px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:none}.af-mobile-quick-row::-webkit-scrollbar{display:none}.af-mobile-quick-row a,.af-mobile-chip-card{flex:0 0 auto;border:1px solid var(--af-border);background:#fff;border-radius:18px;padding:10px 12px;text-decoration:none;color:#111827;font-weight:900;box-shadow:0 10px 24px rgba(15,23,42,.05);display:flex;align-items:center;gap:8px}.af-mobile-list-card{border:1px solid var(--af-border);background:#fff;border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
@media(max-width:991.98px){.af-mobile-page-hero{display:block;margin-top:72px}.af-mobile-page-hero + .page-hero,.af-mobile-page-hero + .compact-hero{display:none}.af-page.af-article-page .container.py-5.mt-5{padding-top:1.5rem!important;margin-top:0!important}.auth-shell{padding-top:90px!important;padding-bottom:90px!important}.auth-card{border-radius:28px!important;box-shadow:0 18px 45px rgba(15,23,42,.09)!important}.settings-page,.chat-mobile-app-page,.review-mobile-app-page{background:#f8fafc}.settings-page>.container,.chat-mobile-app-page>.container{padding-top:1.25rem!important}.af-table{font-size:.9rem}}
@media(max-width:991.98px){.login-mobile-app-card{padding:18px!important;max-width:calc(100vw - 28px)!important}.login-mobile-app-head{background:linear-gradient(135deg,#e53935,#b91c1c);border-radius:26px;color:#fff;padding:20px;margin:-4px -4px 20px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.login-mobile-app-head span{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.92}.login-mobile-app-head h1{font-size:1.65rem;line-height:1.05;font-weight:950;margin:8px 0}.login-mobile-app-head p{margin:0;color:rgba(255,255,255,.88);line-height:1.35}.login-mobile-app-head a{width:42px;height:42px;border-radius:16px;background:rgba(255,255,255,.18);display:grid;place-items:center;color:#fff;text-decoration:none;flex:0 0 auto}.login-mobile-app-card .brand-mark{display:none}.login-desktop-head h1{display:none}}
@media(max-width:991.98px){.article-mobile-app-page article>.container:first-child{padding-top:1.25rem!important;margin-top:0!important}.article-mobile-app-page article>.container:first-child h1,.article-mobile-app-page article>.container:first-child .lead{display:none}.article-mobile-app-page .af-article-cover{border-radius:24px}.legal-mobile-app-page .af-legal-hero,.press-mobile-app-page .page-hero,.categories-mobile-app-page .page-hero,.category-mobile-app-page .page-hero,.experiences-manager-mobile-app-page .page-hero,.review-mobile-app-page .page-hero,.chat-mobile-app-page .page-hero{display:none}.reservation-confirmed-mobile-app-page .auth-shell{padding-top:1.25rem!important}.reservation-confirmed-mobile-app-page .auth-card{max-width:calc(100vw - 28px)!important}.categories-mobile-app-page .experience-card,.category-mobile-app-page .experience-seo-card,.press-mobile-app-page .press-card{border-radius:24px!important}.settings-mobile-app-page{padding-top:0!important;margin-top:0!important}.settings-mobile-app-page .af-card,.settings-mobile-app-page form.af-card{border-radius:24px!important}.experiences-manager-mobile-app-page .container,.review-mobile-app-page .container{max-width:100%}}
@media(max-width:991.98px){.legal-mobile-app-page .legal-hero{display:none}.legal-mobile-app-page .legal-side-card{display:none}.legal-mobile-app-page .legal-card{border-radius:24px;padding:22px}.legal-mobile-app-page .container.py-5{padding-top:1.25rem!important}}

/* Admin · Revisión de fotografías de usuarios */
.admin-photos-page .admin-photo-filters .form-control,
.admin-photos-page .admin-photo-filters .form-select{border-radius:16px;border:1px solid rgba(15,23,42,.12);font-weight:700;min-height:46px}
.admin-photo-day-list{display:grid;gap:24px}
.admin-photo-day-block{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:26px;box-shadow:0 16px 45px rgba(15,23,42,.06);padding:20px}
.admin-photo-day-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(15,23,42,.08)}
.admin-photo-day-head small{display:block;color:#6b7280;font-weight:900;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.admin-photo-day-head h3{font-weight:900;margin:0;color:#111827}.admin-photo-day-head span{background:#fff1f2;color:#e11d2e;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.86rem;white-space:nowrap}
.admin-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.admin-photo-review-card{border:1px solid rgba(15,23,42,.08);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.055);display:flex;flex-direction:column;min-width:0;position:relative}.admin-photo-review-card.is-main{outline:3px solid rgba(245,158,11,.25)}.admin-photo-review-card.is-deleted{opacity:.76;background:#f8fafc}.admin-photo-review-card.is-deleted .admin-photo-image-link img{filter:grayscale(.7)}
.admin-photo-image-link{display:block;position:relative;aspect-ratio:1/1;background:#f1f5f9;overflow:hidden}.admin-photo-image-link img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.admin-photo-image-link:hover img{transform:scale(1.04)}.admin-photo-zoom{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:14px;background:rgba(17,24,39,.76);color:#fff;display:grid;place-items:center;backdrop-filter:blur(8px)}
.admin-photo-review-body{padding:14px}.admin-photo-review-body h4{font-size:1rem;font-weight:900;color:#111827}.admin-photo-meta{display:flex;flex-direction:column;gap:5px;color:#64748b;font-size:.82rem;font-weight:700;margin:10px 0 12px}.admin-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-photo-delete-form{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.admin-photo-delete-form .form-control{border-radius:14px;font-size:.82rem}.admin-photo-delete-form .btn{border-radius:14px;white-space:nowrap}
@media(max-width:1199.98px){.admin-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-photo-day-block{padding:16px;border-radius:22px}}
@media(max-width:575.98px){.admin-photo-grid{grid-template-columns:1fr}.admin-photo-day-head{align-items:flex-start;flex-direction:column}.admin-photo-actions{grid-template-columns:1fr}.admin-photo-actions .btn{width:100%}.admin-photo-delete-form{grid-template-columns:1fr}.admin-photo-delete-form .btn{width:100%}}

/* Admin fotos: acceso a foto original subida por el usuario */
.admin-photo-original-badge{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 54px);border-radius:999px;background:rgba(245,158,11,.94);color:#111827;font-size:.72rem;font-weight:900;padding:7px 10px;box-shadow:0 8px 22px rgba(15,23,42,.18);backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-photo-original-link{font-weight:900;border-radius:14px;color:#111827}.admin-photo-no-original{border-radius:14px;font-weight:800;cursor:not-allowed}.admin-photo-actions{grid-template-columns:1fr 1fr}.admin-photo-actions>a,.admin-photo-actions>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:575.98px){.admin-photo-original-badge{left:8px;right:50px;max-width:none;text-align:center}.admin-photo-actions>a,.admin-photo-actions>span{width:100%}}

/* =========================================================
   Admin: separación correcta respecto al header fijo
   Evita que títulos como "Panel de control", "Admin",
   "Moderación" o "Configuración" queden cortados debajo
   del menú superior.
   ========================================================= */
.af-admin-page{
  padding-top:96px;
}
.af-admin-page.mt-5,
.af-admin-page.my-5{
  margin-top:0!important;
}
.af-admin-page > .container:first-child,
.af-admin-page > section.container:first-child{
  margin-top:0!important;
  padding-top:26px!important;
}
.af-admin-page > .page-hero:first-child{
  margin-top:-96px;
}
.af-admin-page .af-kicker,
.af-admin-page .section-kicker{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  line-height:1.2;
}
@media(max-width:991.98px){
  .af-admin-page{
    padding-top:78px;
  }
  .af-admin-page > .container:first-child,
  .af-admin-page > section.container:first-child{
    padding-top:18px!important;
  }
  .af-admin-page > .page-hero:first-child{
    margin-top:-78px;
  }
}

/* =========================================================
   Admin: ajuste específico navegación y cabeceras internas
   ========================================================= */
.admin-contactos-page{
  padding-top:128px!important;
}
.admin-contactos-page > section.container:first-child{
  padding-top:34px!important;
}
.admin-reviews-page > .page-hero:first-child{
  margin-top:0!important;
}
.admin-reviews-hero .section-title{
  margin-bottom:.35rem;
}
@media(max-width:991.98px){
  .admin-contactos-page{
    padding-top:104px!important;
  }
  .admin-contactos-page > section.container:first-child{
    padding-top:26px!important;
  }
  .admin-reviews-page > .page-hero:first-child{
    margin-top:0!important;
  }
}

/* Perfil público PC: cabecera compacta sin portada grande */
@media (min-width:768px){
  .profile-hero.profile-hero-compact{
    padding:96px 0 24px;
    background:linear-gradient(180deg,#fff 0%,#f7f7f9 100%);
  }
  .profile-hero.profile-hero-compact.is-featured-profile{
    background:
      radial-gradient(circle at 12% 18%, rgba(255,214,107,.28), transparent 28%),
      linear-gradient(180deg,#fffaf0 0%,#f7f7f9 100%);
  }
  .profile-compact-card{
    position:relative;
    display:grid;
    grid-template-columns:142px minmax(0,1fr) 218px;
    gap:24px;
    align-items:center;
    min-height:188px;
    border:1px solid var(--af-border);
    border-radius:34px;
    background:#fff;
    padding:24px;
    box-shadow:var(--af-shadow-soft);
    overflow:hidden;
  }
  .profile-compact-card::after{
    content:"";
    position:absolute;
    right:-68px;
    top:-78px;
    width:210px;
    height:210px;
    border-radius:999px;
    background:rgba(230,48,42,.07);
    pointer-events:none;
  }
  .profile-compact-card.is-featured-profile{
    border-color:rgba(255,176,0,.46);
    box-shadow:0 22px 54px rgba(255,176,0,.14), var(--af-shadow-soft);
  }
  .profile-compact-ribbon{
    position:absolute;
    top:16px;
    right:20px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-radius:999px;
    padding:8px 12px;
    background:linear-gradient(135deg,#ffd66b,#ffb000);
    color:#1f1600;
    font-size:.78rem;
    font-weight:950;
    box-shadow:0 12px 28px rgba(255,176,0,.24);
  }
  .profile-compact-avatar-wrap{
    position:relative;
    z-index:2;
    width:142px;
    height:142px;
  }
  .profile-compact-avatar{
    width:142px;
    height:142px;
    border-radius:34px;
    background:center/cover no-repeat;
    border:6px solid #fff;
    box-shadow:var(--af-shadow-soft);
  }
  .profile-compact-avatar.is-featured-profile{
    border-color:#ffd66b;
    box-shadow:0 18px 42px rgba(255,176,0,.26), 0 0 0 7px rgba(255,255,255,.92);
  }
  .profile-compact-star{
    position:absolute;
    right:-8px;
    bottom:-8px;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:linear-gradient(135deg,#ffd66b,#ffb000);
    color:#241600;
    border:4px solid #fff;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
  }
  .profile-compact-info{
    position:relative;
    z-index:2;
    min-width:0;
  }
  .profile-compact-info h1{
    margin:0 0 8px;
    font-size:clamp(2rem,3.1vw,3.05rem);
    line-height:.98;
    font-weight:950;
    letter-spacing:-.06em;
  }
  .profile-compact-meta{
    margin:0 0 8px;
    color:var(--af-muted);
    font-size:1rem;
    font-weight:800;
  }
  .profile-compact-headline{
    margin:0;
    max-width:720px;
    color:#3f424a;
    font-size:1.08rem;
    line-height:1.35;
    font-weight:800;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .profile-compact-experiences{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
  }
  .profile-compact-actions{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:10px;
    align-self:stretch;
    justify-content:center;
  }
  .profile-compact-price{
    border:1px solid var(--af-border);
    border-radius:24px;
    background:#fafafa;
    padding:14px 16px;
  }
  .profile-compact-price span{
    display:block;
    color:var(--af-muted);
    font-size:.78rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .profile-compact-price strong{
    display:block;
    margin-top:3px;
    font-size:1.85rem;
    line-height:1;
    font-weight:950;
    letter-spacing:-.05em;
  }
  .profile-compact-actions .btn{
    justify-content:center;
    box-shadow:none!important;
  }
  .profile-compact-featured-note{
    margin-top:14px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid rgba(255,193,7,.24);
    border-radius:24px;
    background:#fff8e7;
    padding:14px 18px;
    color:#6d4a00;
    font-weight:850;
    box-shadow:0 12px 28px rgba(16,17,20,.05);
  }
  .profile-compact-featured-note i{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:rgba(255,193,7,.20);
    color:#9b6800;
  }
  .profile-page .profile-hero-compact + .section{
    padding-top:30px!important;
  }
}
@media (min-width:768px) and (max-width:1199.98px){
  .profile-compact-card{
    grid-template-columns:126px minmax(0,1fr);
  }
  .profile-compact-avatar-wrap,
  .profile-compact-avatar{
    width:126px;
    height:126px;
    border-radius:30px;
  }
  .profile-compact-actions{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:stretch;
  }
  .profile-compact-price{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

/* =========================================================
   Admin navegación y cabeceras finales
   - Menú superior: el usuario admin solo ve acceso "Admin".
   - Contactos: separación extra para evitar que el título quede bajo el header fijo.
   ========================================================= */
.admin-contactos-page{
  padding-top:150px!important;
}
.admin-contactos-page > section.container:first-child{
  padding-top:48px!important;
}
.admin-activity-page > section.container:first-child{
  padding-top:26px!important;
}
@media(max-width:991.98px){
  .admin-contactos-page{
    padding-top:124px!important;
  }
  .admin-contactos-page > section.container:first-child{
    padding-top:36px!important;
  }
}

/* Admin crons */
.admin-crons-page .admin-cron-card{
  border:1px solid rgba(15,23,42,.10);
  border-radius:24px;
  background:#fff;
  padding:24px;
  box-shadow:0 16px 44px rgba(15,23,42,.07);
}
.admin-crons-page .admin-cron-card.is-disabled{opacity:.72;background:#f8fafc}
.admin-crons-page .admin-cron-card-head{margin-bottom:18px}
.admin-crons-page .admin-cron-icon,
.admin-crons-page .admin-cron-help-icon{
  width:46px;height:46px;border-radius:18px;display:grid;place-items:center;
  background:rgba(225,29,46,.10);color:var(--af-red,#e11d2e);font-size:1.35rem;flex:0 0 auto;
}
.admin-crons-page .admin-cron-status{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.admin-crons-page .admin-cron-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.admin-crons-page .admin-cron-meta-grid>div{border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px;background:#f8fafc;min-width:0}
.admin-crons-page .admin-cron-meta-grid small{display:block;color:#6b7280;font-weight:800;font-size:.75rem;margin-bottom:3px}
.admin-crons-page .admin-cron-meta-grid strong{display:block;color:#111827;font-weight:900;font-size:.88rem;word-break:break-word}
.admin-crons-page .admin-cron-code-block{border:1px dashed rgba(15,23,42,.16);border-radius:16px;padding:12px;margin-top:10px;background:#fff}
.admin-crons-page .admin-cron-code-block code{display:block;white-space:normal;word-break:break-word;color:#111827;font-weight:800;font-size:.84rem;background:transparent;padding:0}
.admin-crons-page .admin-cron-note{margin-top:12px;border-radius:16px;background:rgba(225,29,46,.07);color:#7f1d1d;padding:12px 14px;font-weight:700;font-size:.9rem}
.admin-crons-page .admin-cron-result{background:#111827;color:#f9fafb;border-radius:18px;padding:16px;max-height:360px;overflow:auto;font-size:.88rem}
@media(max-width:767.98px){
  .admin-crons-page .admin-cron-card{padding:18px;border-radius:22px}
  .admin-crons-page .admin-cron-meta-grid{grid-template-columns:1fr}
}
