/* Elaryve R3.15 · capa visual consolidada
   Se carga después de styles.css y sólo redefine la experiencia pública R3.15
   más el nuevo editor de planes. */
:root{
  --r315-bg:#09090b;
  --r315-bg-soft:#111114;
  --r315-panel:rgba(19,18,20,.92);
  --r315-panel-solid:#151416;
  --r315-ink:#f5f1e9;
  --r315-muted:#aaa39a;
  --r315-gold:#c7a66a;
  --r315-gold-hi:#e4c98f;
  --r315-line:rgba(218,188,127,.22);
  --r315-line-soft:rgba(255,255,255,.09);
  --r315-radius:22px;
  --r315-shadow:0 26px 70px rgba(0,0,0,.32);
  --r315-max:1280px;
}

/* Cabecera y marca: el PNG limpio evita el halo/pixelado del recurso anterior. */
.brand-logo-image,.footer-logo-image{display:block;object-fit:contain;image-rendering:auto;filter:none}
.brand-logo-image{height:56px;width:auto;max-width:205px}
.footer-logo-image{height:45px;width:auto;max-width:180px}
.topbar{border-bottom-color:rgba(211,180,118,.18)!important}

body.public-r315{
  color:var(--r315-ink);
  background:
    radial-gradient(ellipse at 16% -8%,rgba(185,145,77,.09),transparent 34%),
    radial-gradient(ellipse at 88% 8%,rgba(255,255,255,.045),transparent 28%),
    linear-gradient(180deg,#0a090b 0%,#0d0c0e 34%,#09090b 100%)!important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.public-r315:before{display:none!important}
.public-r315 .topbar{
  min-height:76px!important;
  padding:8px clamp(16px,3vw,44px)!important;
  background:rgba(8,8,10,.88)!important;
  border-bottom:1px solid rgba(218,188,127,.16)!important;
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.public-r315 .topbar nav{gap:5px}
.public-r315 .topbar nav a{font-size:13px;letter-spacing:.02em}
.public-r315 .legal-footer{border-top:1px solid var(--r315-line);background:#08080a}
.public-r315 img{image-rendering:auto}
.public-r315 h1,.public-r315 h2,.public-r315 h3{letter-spacing:-.025em;text-wrap:balance}
.public-r315 p{line-height:1.7}
.public-r315 a{text-underline-offset:3px}

.r315-home,.r315-catalog,.r315-location,.public-r315 .clean-public-profile{
  width:min(var(--r315-max),calc(100% - 32px));
  margin:0 auto;
}
.r315-kicker{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--r315-gold-hi);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.r315-kicker:before{content:"";width:24px;height:1px;background:currentColor;opacity:.78}
.r315-primary,.r315-secondary,.r315-contact,.r315-profile-link,.r315-national-search button,.r315-search button{
  position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:0 20px;border-radius:999px;text-decoration:none;font-weight:750;font-size:14px;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.r315-primary,.r315-contact.primary,.r315-national-search button,.r315-search button{
  color:#17120b;background:linear-gradient(135deg,var(--r315-gold-hi),#ad874a);border:1px solid #e0c17f;
  box-shadow:0 10px 28px rgba(180,137,66,.14);
}
.r315-secondary,.r315-contact,.r315-profile-link{color:var(--r315-ink);background:rgba(255,255,255,.025);border:1px solid var(--r315-line-soft)}
.r315-primary:hover,.r315-secondary:hover,.r315-contact:hover,.r315-profile-link:hover,.r315-national-search button:hover,.r315-search button:hover{transform:translateY(-1px);border-color:rgba(225,193,128,.55)}

/* Portada */
.r315-home{padding:28px 0 74px}
.r315-hero{
  position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  min-height:610px;overflow:hidden;border:1px solid var(--r315-line);border-radius:30px;
  background:
    radial-gradient(circle at 32% 12%,rgba(194,157,91,.13),transparent 27%),
    linear-gradient(135deg,#151316 0%,#0d0d0f 62%);
  box-shadow:var(--r315-shadow);
}
.r315-hero:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px rgba(255,255,255,.045)}
.r315-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:72px 56px 120px}
.r315-hero-copy h1{max-width:760px;margin:14px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(43px,5vw,76px);line-height:.98;font-weight:500;color:#fbf6ec}
.r315-hero-copy>p{max-width:650px;margin:0;color:#c1bbb1;font-size:17px;line-height:1.75}
.r315-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.r315-hero-visual{position:relative;min-height:610px;overflow:hidden;background:#141315}
.r315-hero-visual:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#111012 0%,rgba(17,16,18,.38) 22%,transparent 50%),linear-gradient(0deg,rgba(9,9,11,.5),transparent 33%);pointer-events:none}
.r315-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:scale(1.015)}
.r315-hero-search{
  position:absolute;z-index:4;left:40px;right:40px;bottom:30px;display:grid;grid-template-columns:1fr minmax(220px,310px) auto;align-items:center;gap:14px;
  padding:17px 18px 17px 22px;border:1px solid rgba(225,193,128,.22);border-radius:18px;
  background:rgba(14,13,15,.9);backdrop-filter:blur(16px);box-shadow:0 18px 48px rgba(0,0,0,.24);
}
.r315-hero-search>div{display:flex;flex-direction:column;gap:4px}.r315-hero-search strong{font-size:15px}
.r315-hero-search select,.r315-national-search select,.r315-search input,.r315-search select,.r315-advanced input,.r315-advanced select{
  width:100%;min-height:46px;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:0 14px;background:#151417;color:#f4efe7;outline:none;
}
.r315-hero-search select:focus,.r315-national-search select:focus,.r315-search input:focus,.r315-search select:focus{border-color:rgba(225,193,128,.58);box-shadow:0 0 0 3px rgba(199,166,106,.08)}
.r315-hero-search button{min-height:46px;padding:0 22px;border:1px solid #d8b773;border-radius:12px;background:linear-gradient(135deg,#e5ca91,#ac874c);font-weight:800;color:#17120c;cursor:pointer}

/* Secciones */
.r315-section{padding:64px 0 8px}
.r315-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.r315-section-head h2{margin:6px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3vw,44px);font-weight:500}
.r315-section-head p{margin:8px 0 0;color:var(--r315-muted)}
.r315-section-head>a{color:#d7bd88;text-decoration:none;font-size:13px;font-weight:750}
.r315-province-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.r315-province-card{
  display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;min-height:94px;padding:18px 19px;
  border:1px solid var(--r315-line-soft);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  color:var(--r315-ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.r315-province-card:hover{transform:translateY(-2px);border-color:var(--r315-line);background:rgba(255,255,255,.045)}
.r315-province-card>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--r315-line);border-radius:50%;color:var(--r315-gold-hi);font-size:11px;font-weight:800}
.r315-province-card div{display:flex;flex-direction:column;gap:5px}.r315-province-card strong{font-size:17px}.r315-province-card small{color:var(--r315-muted)}.r315-province-card i{font-style:normal;color:var(--r315-gold-hi);font-size:21px}
.r315-home-profile-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.r315-home-profile{position:relative;overflow:hidden;aspect-ratio:.78;border:1px solid var(--r315-line-soft);border-radius:18px;background:#151416;color:white;text-decoration:none}
.r315-home-profile:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.9))}
.r315-home-profile img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.r315-home-profile:hover img{transform:scale(1.025)}
.r315-home-profile>div{position:absolute;z-index:2;left:15px;right:15px;bottom:15px;display:flex;flex-direction:column;gap:3px}.r315-home-profile strong{font-size:17px}.r315-home-profile span{font-size:12px;color:#ddd5ca}
.r315-home-initial,.r315-initial,.r315-vip-initial{display:grid;place-items:center;width:100%;height:100%;font-family:Georgia,serif;font-size:64px;color:var(--r315-gold);background:radial-gradient(circle,#29231b,#111)}
.r315-trust{display:grid;grid-template-columns:repeat(3,1fr);margin-top:66px;border:1px solid var(--r315-line-soft);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.018)}
.r315-trust article{display:flex;flex-direction:column;gap:6px;padding:24px;border-right:1px solid var(--r315-line-soft)}.r315-trust article:last-child{border-right:0}.r315-trust strong{font-size:15px}.r315-trust span{font-size:13px;color:var(--r315-muted);line-height:1.6}
.r315-advertise{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:35px 38px;border:1px solid var(--r315-line);border-radius:22px;background:linear-gradient(120deg,rgba(190,149,76,.1),rgba(255,255,255,.018))}.r315-advertise h2{margin:7px 0 5px;font-family:Georgia,serif;font-size:34px;font-weight:500}.r315-advertise p{margin:0;color:var(--r315-muted)}
.r315-bottom-context{max-width:920px;margin:46px auto 0;padding-top:22px;border-top:1px solid var(--r315-line-soft);color:#8f8981;text-align:center;font-size:12px}
.r315-empty{padding:30px;border:1px dashed rgba(225,193,128,.25);border-radius:18px;color:#aaa39a;text-align:center;background:rgba(255,255,255,.015)}

/* VIP Destacado: una sola banda, rotación por JS, huecos visibles */
.r315-vip-strip{padding:58px 0 4px}
.r315-vip-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.r315-vip-heading h2{margin:5px 0 0;font-family:Georgia,serif;font-size:clamp(30px,3vw,44px);font-weight:500}
.r315-slot-status{padding:9px 13px;border:1px solid var(--r315-line);border-radius:999px;color:var(--r315-gold-hi);text-decoration:none;font-size:12px;font-weight:800;background:rgba(190,149,76,.055)}
.r315-vip-viewport{position:relative;overflow:hidden;border:1px solid rgba(225,193,128,.32);border-radius:24px;background:#111012;box-shadow:0 25px 75px rgba(0,0,0,.28)}
.r315-vip-track{display:flex;width:100%;transform:translate3d(0,0,0);transition:transform .55s cubic-bezier(.22,.7,.2,1);will-change:transform}
.r315-vip-slide{position:relative;display:grid;grid-template-columns:minmax(300px,38%) 1fr;flex:0 0 100%;min-width:100%;min-height:360px;background:linear-gradient(115deg,#171518,#0f0f11)}
.r315-vip-slide:after{content:"";position:absolute;inset:0;pointer-events:none;border-top:1px solid rgba(255,255,255,.04)}
.r315-vip-media{position:relative;display:block;min-height:360px;overflow:hidden;background:#181719;text-decoration:none}.r315-vip-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 68%,#111012 100%);pointer-events:none}.r315-vip-media img{width:100%;height:100%;object-fit:cover;object-position:center 25%;transition:transform .45s ease}.r315-vip-slide:hover .r315-vip-media img{transform:scale(1.018)}
.r315-vip-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:42px clamp(38px,5vw,76px) 42px 48px}
.r315-vip-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--r315-gold-hi);font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.r315-vip-copy h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:12px 0 4px;font-family:Georgia,serif;font-size:clamp(36px,4.2vw,60px);font-weight:500;line-height:1}.r315-vip-copy h3 small{font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:650;letter-spacing:0;color:#c9c1b5}
.r315-vip-location{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:7px 0 0;color:#c8c0b5;font-size:14px}.r315-flag{display:inline-flex;align-items:center;gap:6px}.r315-flag img,.r315-card-flag img{display:block;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.r315-vip-desc{max-width:660px;margin:16px 0 0;color:#b8b1a8;font-size:14px;line-height:1.72}
.r315-vip-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:23px}.r315-vip-actions .r315-profile-link{margin-left:4px}
.r315-vip-empty{grid-template-columns:38% 1fr;background:radial-gradient(circle at 22% 50%,rgba(198,158,87,.13),transparent 30%),linear-gradient(115deg,#171518,#0f0f11)}
.r315-vip-empty-mark{display:grid;place-items:center;align-content:center;gap:2px;min-height:360px;border-right:1px solid var(--r315-line);background:repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 1px,transparent 1px 9px)}.r315-vip-empty-mark span{color:var(--r315-gold-hi);font-size:13px;font-weight:900;letter-spacing:.28em}.r315-vip-empty-mark strong{font-family:Georgia,serif;font-size:90px;font-weight:400;color:rgba(218,184,118,.52);line-height:.9}
.r315-vip-arrow{position:absolute;z-index:5;top:50%;display:grid;place-items:center;width:42px;height:42px;margin-top:-21px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:rgba(8,8,10,.72);color:white;font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(10px);transition:background .18s ease,border-color .18s ease}.r315-vip-arrow:hover{background:#171518;border-color:var(--r315-line)}.r315-vip-arrow.prev{left:13px}.r315-vip-arrow.next{right:13px}
.r315-vip-dots{display:flex;justify-content:center;gap:7px;min-height:26px;padding-top:12px}.r315-vip-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#59545a;cursor:pointer;transition:width .2s ease,background .2s ease}.r315-vip-dots button.active{width:25px;border-radius:9px;background:var(--r315-gold)}

/* Catálogo nacional */
.r315-catalog{padding:46px 0 78px}
.r315-catalog-head{max-width:850px;padding:32px 0 10px}.r315-catalog-head h1,.r315-location-head h1{margin:10px 0 12px;font-family:Georgia,serif;font-size:clamp(44px,5vw,70px);font-weight:500;line-height:1}.r315-catalog-head p,.r315-location-head p{max-width:730px;margin:0;color:var(--r315-muted);font-size:16px}
.r315-national-search{margin:20px 0 2px;padding:15px;border:1px solid var(--r315-line-soft);border-radius:17px;background:rgba(255,255,255,.02)}.r315-national-search form{display:grid;grid-template-columns:1fr auto;gap:10px}.r315-national-search label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px}.r315-national-search label>span{padding-left:7px;color:#bbb3a9;font-size:12px;font-weight:750}

/* Provincia y buscador */
.r315-location{padding:30px 0 74px}.r315-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin:5px 0 22px;color:#8f8981;font-size:12px}.r315-breadcrumb a{color:#c3ad82;text-decoration:none}.r315-location-head{padding:15px 0 22px}.r315-result-count{display:inline-flex;margin-top:15px;padding:7px 11px;border:1px solid var(--r315-line-soft);border-radius:999px;color:#bcb4aa;font-size:12px}
.r315-search{margin:10px 0 8px;padding:18px;border:1px solid var(--r315-line-soft);border-radius:19px;background:rgba(255,255,255,.02)}.r315-search-form{display:grid;grid-template-columns:1.2fr repeat(3,minmax(120px,.6fr)) auto;gap:9px;align-items:end}.r315-search label,.r315-advanced label{display:flex;flex-direction:column;gap:6px}.r315-search label>span,.r315-advanced label>span{color:#a9a198;font-size:11px;font-weight:750}.r315-search-actions{display:flex;gap:7px}.r315-more-filters{min-height:46px;border:1px solid var(--r315-line-soft);border-radius:12px;background:#151417;color:#ded7cc;cursor:pointer;padding:0 14px}.r315-advanced{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid var(--r315-line-soft)}.r315-advanced[hidden]{display:none}
.r315-filter-strip{display:flex;gap:7px;overflow:auto;padding:12px 0 2px;scrollbar-width:none}.r315-filter-strip::-webkit-scrollbar{display:none}.xp-filter{flex:none;min-height:36px;padding:0 13px;border:1px solid var(--r315-line-soft);border-radius:999px;background:transparent;color:#b9b1a8;cursor:pointer}.xp-filter.active{border-color:var(--r315-line);background:rgba(194,157,91,.09);color:var(--r315-gold-hi)}
.r315-province-cloud{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.r315-province-cloud a{padding:8px 12px;border:1px solid var(--r315-line-soft);border-radius:999px;color:#c8c0b6;text-decoration:none;font-size:12px}.r315-province-cloud a:hover{border-color:var(--r315-line);color:var(--r315-gold-hi)}

/* VIP Superior */
.r315-plan-section{padding-top:44px}.r315-plan-count{font-size:12px;color:#918b84}.r315-superior-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.r315-superior-card{position:relative;overflow:hidden!important;border:1px solid var(--r315-line-soft)!important;border-radius:19px!important;background:#141315!important;box-shadow:none!important;transition:transform .2s ease,border-color .2s ease!important}.r315-superior-card:hover{transform:translateY(-3px);border-color:rgba(218,188,127,.34)!important}.r315-card-hit{position:absolute;z-index:2;inset:0}.r315-superior-media{position:relative;overflow:hidden;aspect-ratio:.77;background:#171619}.r315-superior-media>img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.r315-superior-card:hover .r315-superior-media>img{transform:scale(1.02)}.r315-superior-media:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(8,8,9,.6));pointer-events:none}.r315-superior-body{position:relative;z-index:3;padding:15px 16px 17px;pointer-events:none}.r315-superior-body>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.r315-superior-body h3{margin:0;font-family:Georgia,serif;font-size:23px;font-weight:500}.r315-superior-body>div>span{color:#aaa199;font-size:12px}.r315-superior-body>p{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:7px 0 12px;color:#9f978e;font-size:12px}.r315-card-link{color:#d8bd89;font-size:12px;font-weight:800}.r315-plan-tag{position:absolute;z-index:4;left:10px;bottom:10px;padding:6px 9px;border:1px solid rgba(231,202,146,.25);border-radius:999px;background:rgba(11,10,12,.76);backdrop-filter:blur(8px);color:#e3c98f;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.r315-fav{position:absolute!important;z-index:6!important;right:10px!important;top:10px!important;margin:0!important}.r315-card-badges{position:absolute;z-index:5;left:10px;top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;pointer-events:none}.r315-badge{display:inline-flex;padding:5px 8px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(8,8,10,.76);backdrop-filter:blur(8px);color:#eee8df;font-size:8.5px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.r315-badge.verified{color:#e7d2a6;border-color:rgba(221,187,119,.28)}.r315-badge.new{color:#f0e5ce}.r315-card-flag{display:inline-flex;align-items:center;gap:5px;color:#b9b1a7}

/* Select horizontal */
.r315-select-list{display:grid;gap:10px}.r315-select-card{position:relative;display:grid!important;grid-template-columns:150px minmax(0,1fr);min-height:180px;overflow:hidden!important;border:1px solid var(--r315-line-soft)!important;border-radius:18px!important;background:rgba(20,19,21,.88)!important;box-shadow:none!important;transition:transform .18s ease,border-color .18s ease!important}.r315-select-card:hover{transform:translateX(2px);border-color:rgba(218,188,127,.32)!important}.r315-select-media{position:relative;min-height:180px;overflow:hidden;background:#171619}.r315-select-media img{width:100%;height:100%;object-fit:cover}.r315-select-copy{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px 54px 18px 22px;pointer-events:none}.r315-select-top{display:flex;align-items:center;gap:8px;min-height:25px}.r315-select-top .r315-plan-tag{position:static}.r315-select-top .r315-card-badges{position:static;flex-direction:row}.r315-select-card>.r315-fav{right:13px!important;top:13px!important}.r315-select-copy h3{display:flex;align-items:baseline;gap:10px;margin:8px 0 2px;font-family:Georgia,serif;font-size:28px;font-weight:500}.r315-select-copy h3 small{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:600;color:#aaa198}.r315-select-location{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:4px 0;color:#a8a098;font-size:12px}.r315-select-desc{display:-webkit-box;max-width:760px;margin:8px 0;color:#999189;font-size:12.5px;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.r315-select-copy .r315-card-link{margin-top:7px}

/* Perfil individual: pulido sin alterar su estructura funcional */
.public-r315 .clean-public-profile{padding-top:28px;padding-bottom:82px}
.public-r315 .clean-profile-hero,.public-r315 .clean-gallery-shell,.public-r315 .clean-about-card,.public-r315 .clean-detail-card,.public-r315 .clean-text-card,.public-r315 .clean-video-card,.public-r315 .clean-contact-card,.public-r315 .verification-explainer{
  border-color:var(--r315-line-soft)!important;background:rgba(20,19,21,.92)!important;box-shadow:none!important;border-radius:20px!important;
}
.public-r315 .clean-profile-hero h1{font-family:Georgia,serif;letter-spacing:-.035em}
.public-r315 .profile-photo-zoom img{image-rendering:auto}.public-r315 .flag-image{image-rendering:auto}
.public-r315 .contact-bubble{border-radius:12px!important}.public-r315 .contact-bubble.whatsapp{box-shadow:none!important}
.public-r315 .related-profiles .profile-card{border-radius:18px!important;overflow:hidden}

/* Paginación y contexto */
.r315-pagination{display:flex;justify-content:center;align-items:center;gap:8px;padding:28px 0}.r315-pagination a,.r315-pagination span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--r315-line-soft);border-radius:10px;color:#d0c8bd;text-decoration:none}.r315-pagination .active{border-color:var(--r315-line);background:rgba(194,157,91,.1);color:var(--r315-gold-hi)}.r315-role-note{margin-top:34px;padding:18px;border-top:1px solid var(--r315-line-soft);color:#8d867e;font-size:11.5px;line-height:1.6}
.r315-filter-empty.hidden{display:none}

/* Administración de planes R3.15 */
.plan-admin-r315{max-width:1320px;margin:0 auto;padding-bottom:70px}
.plan-admin-r315 .dash-head{margin-bottom:22px}.plan-admin-r315 .plan-visual-guide{padding:22px}.plan-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plan-preview{position:relative;overflow:hidden;min-height:140px;padding:18px;border:1px solid rgba(218,188,127,.2);border-radius:17px;background:linear-gradient(145deg,rgba(210,170,93,.08),rgba(255,255,255,.02))}.plan-preview b{display:block;margin-bottom:6px;font-size:16px}.plan-preview span{color:#aaa39a;font-size:12px;line-height:1.55}.plan-preview.vip-d:after{content:"";position:absolute;left:16px;right:16px;bottom:15px;height:30px;border:1px solid rgba(221,187,119,.28);border-radius:8px}.plan-preview.vip-s:after{content:"";position:absolute;right:18px;bottom:15px;width:64px;height:76px;border:1px solid rgba(221,187,119,.28);border-radius:8px}.plan-preview.select:after{content:"";position:absolute;left:18px;right:18px;bottom:16px;height:42px;border:1px solid rgba(221,187,119,.28);border-radius:8px}
.plan-editor{margin-top:16px}.plan-offers{margin:0 0 22px;padding:0 20px 20px;border:1px solid rgba(255,255,255,.08);border-top:0;border-radius:0 0 18px 18px;background:rgba(255,255,255,.012)}.offer-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.offer-chip{display:flex;align-items:center;gap:12px;padding:10px 11px;border:1px solid rgba(218,188,127,.19);border-radius:12px;background:rgba(255,255,255,.022)}.offer-chip>div{display:flex;flex-direction:column;gap:2px}.offer-chip span{color:#aaa39a;font-size:11px}.offer-add{margin-top:12px}.plan-delete-form{display:flex;align-items:center;gap:10px;margin:-10px 0 26px;padding:0 20px}.banner-manager{margin-top:34px}.banner-quick-publish{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px;border:1px solid rgba(218,188,127,.22);border-radius:14px;background:rgba(190,149,76,.055)}.banner-quick-publish>div:first-child{display:flex;flex-direction:column;gap:4px}.banner-quick-publish small{color:#aaa39a}.banner-quick-controls{display:flex;align-items:center;gap:8px}.banner-quick-controls input{width:88px}.banner-list{display:grid;gap:9px;margin-top:18px}.banner-admin-card{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.018)}.banner-admin-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.banner-admin-row>div:first-child{display:flex;align-items:center;gap:12px}.banner-admin-row img{width:72px;height:58px;object-fit:cover;border-radius:9px}.banner-admin-row small{display:block;margin-top:4px;color:#aaa39a}.banner-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.banner-publish-hours{display:flex;align-items:center;gap:5px}.banner-publish-hours input{width:70px}

/* Accesibilidad/reduced motion */
@media (prefers-reduced-motion:reduce){.r315-vip-track,.r315-home-profile img,.r315-superior-media>img{transition:none}.r315-primary,.r315-secondary,.r315-contact,.r315-profile-link,.r315-province-card,.r315-superior-card,.r315-select-card{transition:none}}

@media (max-width:1050px){
  .r315-hero{grid-template-columns:1fr .78fr;min-height:560px}.r315-hero-copy{padding:56px 38px 112px}.r315-hero-visual{min-height:560px}
  .r315-province-grid{grid-template-columns:repeat(2,1fr)}.r315-home-profile-grid{grid-template-columns:repeat(4,1fr)}.r315-superior-grid{grid-template-columns:repeat(3,1fr)}
  .r315-search-form{grid-template-columns:1fr 1fr 1fr}.r315-search-actions{grid-column:span 3}.r315-search-actions>*{flex:1}.r315-advanced{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .brand-logo-image{height:46px;max-width:170px}.footer-logo-image{height:38px}
  .public-r315 .topbar{min-height:64px!important;padding:8px 14px!important}
  .r315-home,.r315-catalog,.r315-location,.public-r315 .clean-public-profile{width:min(100% - 22px,var(--r315-max))}
  .r315-home{padding-top:12px}.r315-hero{display:block;min-height:700px;border-radius:22px}.r315-hero-copy{padding:37px 22px 372px}.r315-hero-copy h1{font-size:clamp(38px,12vw,58px)}.r315-hero-copy>p{font-size:14px}.r315-hero-visual{position:absolute;inset:auto 0 92px 0;height:360px;min-height:0}.r315-hero-visual:before{background:linear-gradient(180deg,#111012 0%,transparent 28%),linear-gradient(0deg,#111012 0%,transparent 28%)}.r315-hero-search{left:10px;right:10px;bottom:10px;grid-template-columns:1fr auto;padding:11px}.r315-hero-search>div{display:none}.r315-hero-search select{min-width:0}.r315-hero-search button{padding:0 14px}
  .r315-section{padding-top:46px}.r315-section-head{align-items:flex-start}.r315-section-head>a{margin-top:8px}.r315-province-grid{grid-template-columns:1fr}.r315-province-card{min-height:80px;padding:14px}.r315-home-profile-grid{grid-template-columns:repeat(2,1fr)}
  .r315-trust{grid-template-columns:1fr}.r315-trust article{border-right:0;border-bottom:1px solid var(--r315-line-soft)}.r315-trust article:last-child{border-bottom:0}.r315-advertise{align-items:flex-start;flex-direction:column;padding:26px 22px}
  .r315-vip-strip{padding-top:44px}.r315-vip-heading{align-items:flex-start}.r315-slot-status{white-space:nowrap}.r315-vip-slide,.r315-vip-empty{grid-template-columns:42% 58%;min-height:300px}.r315-vip-media,.r315-vip-empty-mark{min-height:300px}.r315-vip-media:after{background:linear-gradient(90deg,transparent 68%,#111012 100%)}.r315-vip-copy{padding:27px 20px 27px 19px}.r315-vip-copy h3{font-size:clamp(29px,8vw,42px)}.r315-vip-desc{font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.r315-vip-location{font-size:12px}.r315-vip-actions{gap:6px;margin-top:16px}.r315-vip-actions a{min-height:39px;padding:0 12px;font-size:12px}.r315-vip-actions .r315-profile-link{display:none}.r315-vip-empty-mark strong{font-size:64px}.r315-vip-arrow{width:34px;height:34px;margin-top:-17px;font-size:24px}.r315-vip-arrow.prev{left:7px}.r315-vip-arrow.next{right:7px}
  .r315-catalog{padding-top:24px}.r315-catalog-head h1,.r315-location-head h1{font-size:43px}.r315-national-search form{grid-template-columns:1fr auto}.r315-national-search label{grid-template-columns:1fr}.r315-national-search label>span{display:none}
  .r315-superior-grid{grid-template-columns:repeat(2,1fr);gap:9px}.r315-superior-body{padding:11px 11px 13px}.r315-superior-body h3{font-size:20px}.r315-superior-body>p{margin-bottom:7px}.r315-plan-tag{left:7px;bottom:7px}.r315-card-badges{left:7px;top:7px}.r315-badge{font-size:7.5px;padding:4px 6px}.r315-fav{right:7px!important;top:7px!important}
  .r315-select-card{grid-template-columns:104px 1fr;min-height:142px}.r315-select-media{min-height:142px}.r315-select-copy{padding:13px 42px 13px 13px}.r315-select-copy h3{font-size:22px}.r315-select-desc{display:none}.r315-select-top .r315-card-badges{display:none}.r315-select-top{min-height:20px}.r315-select-copy .r315-card-link{margin-top:4px}
  .r315-search{padding:12px}.r315-search-form{grid-template-columns:1fr 1fr}.r315-search-form>label:first-child{grid-column:1/-1}.r315-search-actions{grid-column:1/-1}.r315-advanced{grid-template-columns:1fr 1fr}
  .plan-preview-grid{grid-template-columns:1fr}.banner-quick-publish,.banner-admin-row{align-items:stretch;flex-direction:column}.banner-row-actions{justify-content:flex-start}
}
@media (max-width:470px){
  .r315-section-head{display:block}.r315-section-head>a{display:inline-block;margin-top:10px}.r315-home-profile-grid{gap:8px}.r315-home-profile>div{left:10px;right:10px;bottom:10px}.r315-home-profile strong{font-size:15px}
  .r315-vip-heading{display:block}.r315-slot-status{display:inline-flex;margin-top:10px}.r315-vip-slide,.r315-vip-empty{grid-template-columns:39% 61%;min-height:275px}.r315-vip-media,.r315-vip-empty-mark{min-height:275px}.r315-vip-copy{padding:20px 13px}.r315-vip-copy h3{font-size:28px}.r315-vip-meta span:nth-child(2){display:none}.r315-vip-location .r315-flag{font-size:0}.r315-vip-location .r315-flag img{width:25px;height:auto}.r315-vip-desc{-webkit-line-clamp:2}.r315-vip-actions .r315-contact{min-width:0;padding:0 9px}.r315-vip-arrow{display:none}
  .r315-superior-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r315-superior-body>div:first-child{display:block}.r315-superior-body>div>span{display:block;margin-top:2px}.r315-superior-body>p{font-size:10px}.r315-card-flag{font-size:0}.r315-card-flag img{width:22px;height:auto}.r315-badge.verified{max-width:84px;white-space:normal;line-height:1.15}
  .r315-national-search form{grid-template-columns:1fr}.r315-national-search button{width:100%}.r315-advanced{grid-template-columns:1fr}.r315-search-form{grid-template-columns:1fr}.r315-search-form>*{grid-column:1/-1}.r315-search-actions{display:grid;grid-template-columns:1fr 1fr}
}
.plan-performance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:2px 0 8px;padding:12px;border:1px solid rgba(218,188,127,.15);border-radius:14px;background:rgba(190,149,76,.035)}.plan-performance>div{display:flex;flex-direction:column;gap:3px;padding:7px 9px;border-right:1px solid rgba(255,255,255,.07)}.plan-performance>div:last-child{border-right:0}.plan-performance span{font-size:10px;color:#999189;text-transform:uppercase;letter-spacing:.06em}.plan-performance strong{font-size:20px}.plan-performance small{font-size:10px;color:#8f8880}@media(max-width:760px){.plan-performance{grid-template-columns:1fr 1fr}.plan-performance>div:nth-child(2){border-right:0}.plan-performance>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.07)}}
.r315-national-select{margin-top:18px}.banner-edit-details{margin-top:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}.banner-edit-details summary{cursor:pointer;color:#d9c08e;font-size:12px;font-weight:750}.banner-edit-form{margin-top:14px;padding-top:0}.banner-edit-form textarea{resize:vertical}

/* ==========================================================
   R3.15.1 · EXPERIENCIA MÓVIL REAL
   Rediseño específico para iPhone/Android. No es una mera
   reducción del escritorio: reordena hero, galerías, VIP,
   catálogo, navegación y contacto para pantallas táctiles.
   ========================================================== */
@media (max-width:760px){
  html{scroll-padding-top:76px}
  body.public-r315{overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}
  .public-r315 .topbar{
    min-height:62px!important;padding:7px max(12px,env(safe-area-inset-left)) 7px max(12px,env(safe-area-inset-right))!important;
    background:rgba(8,8,10,.94)!important;backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);
  }
  .public-r315 .brand-logo-image{height:43px!important;max-width:158px!important}
  .public-r315 .mobile-menu-btn{width:40px!important;height:40px!important;border-radius:13px!important;border-color:rgba(218,188,127,.22)!important;background:rgba(255,255,255,.035)!important;font-size:19px!important}
  .public-r315 .topbar nav{top:calc(100% + 7px)!important;left:9px!important;right:9px!important;padding:8px!important;border-color:rgba(218,188,127,.18)!important;border-radius:18px!important;background:rgba(10,10,12,.98)!important;box-shadow:0 24px 70px rgba(0,0,0,.58)!important;backdrop-filter:blur(22px)}
  .public-r315 .topbar nav a{padding:12px 13px!important;border-bottom:1px solid rgba(255,255,255,.045)!important;border-radius:10px!important;font-size:14px!important}.public-r315 .topbar nav a:last-child{border-bottom:0!important}

  .r315-home,.r315-catalog,.r315-location,.public-r315 .clean-public-profile{width:calc(100% - 16px)!important;max-width:none;margin-left:auto!important;margin-right:auto!important}
  .r315-home{padding:8px 0 54px!important}.r315-catalog{padding:18px 0 58px!important}.r315-location{padding:18px 0 68px!important}

  /* Portada: fotografía primero y contenido después, como una app móvil premium. */
  .r315-hero{display:flex!important;flex-direction:column!important;min-height:0!important;border-radius:20px!important;overflow:hidden!important}
  .r315-hero-visual{position:relative!important;inset:auto!important;order:1!important;width:100%!important;height:330px!important;min-height:330px!important}
  .r315-hero-visual:before{background:linear-gradient(180deg,rgba(8,8,10,.02) 35%,rgba(8,8,10,.88) 100%)!important}
  .r315-hero-visual img{object-position:center 18%!important;transform:none!important}
  .r315-hero-copy{order:2!important;padding:22px 18px 20px!important;justify-content:flex-start!important}
  .r315-hero-copy h1{margin:9px 0 12px!important;font-size:clamp(36px,10.4vw,48px)!important;line-height:.99!important}
  .r315-hero-copy>p{font-size:14px!important;line-height:1.58!important;color:#bab3aa!important}
  .r315-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:19px!important}
  .r315-hero-actions>*{width:100%!important;min-height:45px!important;padding:0 12px!important;font-size:13px!important}
  .r315-hero-search{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;order:3!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;margin:0 10px 10px!important;padding:10px!important;border-radius:14px!important;background:rgba(22,21,24,.96)!important;box-shadow:none!important}
  .r315-hero-search>div{display:none!important}.r315-hero-search select{min-height:44px!important;border-radius:10px!important}.r315-hero-search button{min-height:44px!important;padding:0 14px!important;border-radius:10px!important}

  /* Secciones más compactas, con carruseles táctiles donde tiene sentido. */
  .r315-section{padding:38px 0 0!important}.r315-section-head{display:flex!important;align-items:flex-end!important;gap:12px!important;margin-bottom:15px!important}.r315-section-head>div{min-width:0}.r315-section-head h2{font-size:30px!important;line-height:1.02!important}.r315-section-head p{font-size:12.5px!important;line-height:1.5!important}.r315-section-head>a{flex:0 0 auto;font-size:11.5px!important}
  .r315-kicker{font-size:9.5px!important;letter-spacing:.13em!important}.r315-kicker:before{width:18px!important}
  .r315-province-grid{display:flex!important;grid-template-columns:none!important;gap:9px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:2px 1px 8px!important;margin-right:-8px!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}.r315-province-grid::-webkit-scrollbar{display:none}.r315-province-card{flex:0 0 min(82vw,330px)!important;scroll-snap-align:start;min-height:76px!important;padding:13px 14px!important;border-radius:15px!important}.r315-province-card>span{width:36px!important;height:36px!important}.r315-province-card strong{font-size:16px!important}.r315-province-card small{font-size:11px!important}
  .r315-home-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.r315-home-profile{border-radius:14px!important;aspect-ratio:.77!important}.r315-home-profile>div{left:11px!important;right:11px!important;bottom:11px!important}.r315-home-profile strong{font-size:16px!important}.r315-home-profile span{font-size:10.5px!important}
  .r315-trust{margin-top:42px!important;border-radius:16px!important}.r315-trust article{padding:17px 16px!important}.r315-trust span{font-size:12px!important}
  .r315-advertise{margin-top:18px!important;padding:22px 18px!important;border-radius:17px!important}.r315-advertise h2{font-size:29px!important}.r315-advertise .r315-primary{width:100%!important}

  /* VIP Destacado: tarjeta completa vertical; nada de texto apretado al lado de la foto. */
  .r315-vip-strip{padding:40px 0 2px!important}.r315-vip-heading{display:flex!important;align-items:flex-end!important;gap:10px!important;margin-bottom:12px!important}.r315-vip-heading h2{font-size:29px!important;margin-bottom:0!important}.r315-slot-status{flex:0 0 auto;padding:7px 9px!important;font-size:10.5px!important;white-space:nowrap!important}
  .r315-vip-viewport{border-radius:18px!important}
  .r315-vip-slide,.r315-vip-empty{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;min-height:0!important}
  .r315-vip-media,.r315-vip-empty-mark{width:100%!important;height:255px!important;min-height:255px!important}
  .r315-vip-media:after{background:linear-gradient(180deg,transparent 58%,rgba(17,16,18,.94) 100%)!important}
  .r315-vip-copy{min-height:240px!important;padding:20px 17px 18px!important;justify-content:flex-start!important}
  .r315-vip-copy h3{font-size:35px!important;line-height:1!important;margin:10px 0 8px!important}.r315-vip-copy h3 small{font-size:12px!important}.r315-vip-meta{font-size:9.5px!important}.r315-vip-location{font-size:11.5px!important}.r315-vip-desc{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:12.5px!important;line-height:1.55!important;margin:10px 0 0!important}
  .r315-vip-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:auto!important;padding-top:16px!important}.r315-vip-actions a{width:100%!important;min-height:43px!important;padding:0 9px!important;font-size:12px!important}.r315-vip-actions .r315-profile-link{display:flex!important;grid-column:1/-1!important;min-height:40px!important}
  .r315-vip-empty-mark{background:radial-gradient(circle at 50% 55%,rgba(212,176,104,.13),transparent 34%),#111012!important}.r315-vip-empty-mark strong{font-size:70px!important}.r315-vip-arrow{display:none!important}.r315-vip-dots{padding-top:10px!important;min-height:23px!important}

  /* Catálogo y buscador: controles grandes para pulgar y sin bloques gigantes. */
  .r315-catalog-head,.r315-location-head{padding:15px 2px 14px!important}.r315-catalog-head h1,.r315-location-head h1{font-size:39px!important;line-height:1!important;margin:8px 0 10px!important}.r315-catalog-head p,.r315-location-head p{font-size:13px!important;line-height:1.55!important}.r315-result-count{margin-top:11px!important}
  .r315-national-search{margin:10px 0 0!important;padding:9px!important;border-radius:14px!important}.r315-national-search form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}.r315-national-search label{display:block!important}.r315-national-search label>span{display:none!important}.r315-national-search select,.r315-national-search button{min-height:44px!important}
  .r315-breadcrumb{flex-wrap:nowrap!important;overflow-x:auto!important;white-space:nowrap!important;margin:2px 0 13px!important;padding-bottom:3px!important;scrollbar-width:none}.r315-breadcrumb::-webkit-scrollbar{display:none}
  .r315-search{margin:5px 0 2px!important;padding:10px!important;border-radius:15px!important}.r315-search-form{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.r315-search-form>label:first-of-type{grid-column:1/-1!important}.r315-search label>span,.r315-advanced label>span{font-size:9.5px!important}.r315-search input,.r315-search select,.r315-advanced input,.r315-advanced select{min-height:44px!important;padding:0 10px!important;border-radius:10px!important;font-size:13px!important}.r315-more-filters{min-height:42px!important;border-radius:10px!important}.r315-search-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.r315-search-actions>*{width:100%!important;min-height:43px!important}.r315-advanced{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:2px!important}
  .r315-filter-strip{margin:3px -8px 0!important;padding:10px 8px 3px!important;scroll-snap-type:x proximity!important}.xp-filter{scroll-snap-align:start;min-height:34px!important;padding:0 11px!important;font-size:11px!important}

  /* VIP Superior: dos columnas verdaderamente compactas. */
  .r315-plan-section{padding-top:36px!important}.r315-superior-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.r315-superior-card{border-radius:14px!important}.r315-superior-media{aspect-ratio:4/5!important}.r315-superior-body{padding:10px 10px 12px!important}.r315-superior-body>div:first-child{display:block!important}.r315-superior-body h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px!important}.r315-superior-body>div>span{display:block;margin-top:2px;font-size:10px!important}.r315-superior-body>p{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:5px 0 6px!important;font-size:9.5px!important}.r315-superior-body .r315-card-flag{display:inline-flex!important;margin-left:4px}.r315-card-link{font-size:10px!important}.r315-plan-tag{padding:4px 6px!important;font-size:7.5px!important}.r315-badge{padding:4px 5px!important;font-size:7px!important}.r315-badge.verified{max-width:78px!important;white-space:normal!important;line-height:1.1!important}.r315-fav{width:31px!important;height:31px!important}

  /* Select permanece horizontal, pero con proporción móvil y texto legible. */
  .r315-select-list{gap:8px!important}.r315-select-card{grid-template-columns:98px minmax(0,1fr)!important;min-height:136px!important;border-radius:14px!important}.r315-select-media{min-height:136px!important}.r315-select-copy{padding:11px 38px 11px 12px!important}.r315-select-top{min-height:18px!important}.r315-select-top .r315-card-badges{display:none!important}.r315-select-copy h3{margin:6px 0 2px!important;font-size:21px!important;line-height:1.02!important}.r315-select-copy h3 small{font-size:10px!important}.r315-select-location{display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:3px 0!important;font-size:10px!important}.r315-select-desc{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin:5px 0 0!important;font-size:10.5px!important;line-height:1.35!important}.r315-select-copy .r315-card-link{margin-top:5px!important}.r315-select-card>.r315-fav{right:7px!important;top:7px!important}

  /* Ficha individual: galería swipe horizontal en lugar de cuadrícula reducida. */
  .public-r315 .clean-public-profile{width:100%!important;margin:0 auto 104px!important;padding:16px 8px 0!important}
  .public-r315 .clean-profile-head{padding:0 5px!important;gap:10px!important;margin-bottom:14px!important}.public-r315 .clean-profile-identity h1{font-size:38px!important;line-height:.98!important;margin:6px 0!important}.public-r315 .clean-profile-location{gap:6px!important;font-size:12px!important}.public-r315 .nationality-chip{padding:5px 8px!important;font-size:10.5px!important}.public-r315 .clean-profile-head-actions{gap:8px!important}.public-r315 .clean-profile-head-actions .button{width:auto!important;min-height:40px!important;padding:0 13px!important}.public-r315 .profile-report-link{padding:9px 5px!important}
  .public-r315 .clean-photo-showcase{margin-left:-8px!important;margin-right:-8px!important;margin-bottom:14px!important;overflow:hidden!important}.public-r315 .clean-photo-grid{display:flex!important;grid-template-columns:none!important;grid-auto-rows:auto!important;gap:7px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding:0 8px 8px!important;border-radius:0!important;background:transparent!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}.public-r315 .clean-photo-grid::-webkit-scrollbar{display:none}.public-r315 .clean-photo-grid figure,.public-r315 .clean-photo-grid .clean-photo-primary,.public-r315 .clean-photo-grid .clean-photo-secondary,.public-r315 .clean-photo-grid figure:only-child{flex:0 0 88%!important;grid-column:auto!important;grid-row:auto!important;height:auto!important;aspect-ratio:4/5!important;scroll-snap-align:center!important;border-radius:16px!important;overflow:hidden!important;background:#0b090d!important}.public-r315 .clean-photo-grid figure:only-child{flex-basis:calc(100% - 16px)!important}.public-r315 .clean-photo-grid .profile-photo-zoom{border-radius:16px!important}.public-r315 .clean-gallery-count{position:absolute!important;right:16px!important;bottom:17px!important;font-size:10px!important}
  .public-r315 .clean-profile-content{gap:8px!important;padding:0 2px!important}.public-r315 .clean-profile-content>.panel{padding:17px 15px!important;border-radius:15px!important}.public-r315 .clean-profile-content h2{font-size:25px!important}.public-r315 .clean-about-card .description,.public-r315 .clean-text-card .description{font-size:13.5px!important;line-height:1.65!important}.public-r315 .clean-detail-grid{grid-template-columns:1fr 1fr!important;gap:6px!important}.public-r315 .clean-detail-grid>div{padding:11px!important;border-radius:11px!important}.public-r315 .clean-detail-grid span{font-size:8.5px!important}.public-r315 .clean-detail-grid b{font-size:11.5px!important}.public-r315 .clean-photo-empty{min-height:300px!important;border-radius:16px!important}
  .public-r315 .related-profiles{width:100%!important;margin:34px auto 0!important}.public-r315 .related-profiles .profile-grid{display:flex!important;grid-template-columns:none!important;gap:8px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding:0 2px 8px!important;scrollbar-width:none!important}.public-r315 .related-profiles .profile-grid::-webkit-scrollbar{display:none}.public-r315 .related-profiles .profile-card{flex:0 0 46%!important;scroll-snap-align:start!important;border-radius:14px!important}.public-r315 .related-profiles .profile-art{aspect-ratio:4/5!important;height:auto!important}.public-r315 .related-profiles .profile-body{padding:10px!important}.public-r315 .related-profiles .profile-title h3{font-size:18px!important}
  .public-r315 .mobile-contact-dock{left:7px!important;right:7px!important;bottom:max(7px,env(safe-area-inset-bottom))!important;z-index:2200!important;gap:7px!important;padding:7px!important;padding-bottom:max(7px,env(safe-area-inset-bottom))!important;border-radius:16px!important;border-color:rgba(218,188,127,.25)!important;background:rgba(10,10,12,.95)!important;box-shadow:0 16px 48px rgba(0,0,0,.55)!important}.public-r315 .mobile-contact-dock a{min-height:46px!important;border-radius:11px!important;background:linear-gradient(135deg,#dcbf82,#a78148)!important;color:#17120b!important;font-size:13px!important;font-weight:850!important}.public-r315 .mobile-contact-dock a[href*="wa.me"]{background:#1f8b58!important;color:#fff!important;border-color:#3aa872!important}

  /* Footer / overlays */
  .public-r315 .legal-footer{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;padding:24px 14px calc(28px + env(safe-area-inset-bottom))!important}.public-r315 .legal-footer .footer-brand{grid-column:1/-1!important;margin-bottom:12px!important;justify-content:center!important}.public-r315 .legal-footer>a{padding:9px 8px!important;border-bottom:1px solid rgba(255,255,255,.045)!important;text-align:left!important;font-size:10.5px!important}
  .public-r315 .age-gate{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important}.public-r315 .age-card{padding:30px 18px!important;border-radius:20px!important}.public-r315 .age-card h1{font-size:31px!important}.public-r315 .age-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.public-r315 .age-actions button{width:100%!important;min-height:48px!important}
  .public-r315 .cookie-consent{left:8px!important;right:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;border-radius:16px!important;padding:14px!important}.public-r315 .cookie-consent-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}.public-r315 .cookie-consent-actions>a{grid-column:1/-1!important;text-align:center!important}
}

@media (max-width:430px){
  .r315-hero-visual{height:300px!important;min-height:300px!important}.r315-hero-copy{padding:19px 15px 17px!important}.r315-hero-copy h1{font-size:35px!important}.r315-hero-actions{grid-template-columns:1fr!important}.r315-section-head h2{font-size:27px!important}.r315-section-head>a{display:none!important}.r315-province-card{flex-basis:86vw!important}
  .r315-vip-media,.r315-vip-empty-mark{height:235px!important;min-height:235px!important}.r315-vip-copy{min-height:230px!important;padding:18px 15px 16px!important}.r315-vip-copy h3{font-size:31px!important}.r315-vip-heading{align-items:flex-start!important;flex-direction:column!important}.r315-slot-status{align-self:flex-start!important}
  .r315-superior-grid{gap:7px!important}.r315-superior-body{padding:8px 8px 10px!important}.r315-superior-body h3{font-size:17px!important}.r315-superior-body>p{font-size:8.7px!important}.r315-select-card{grid-template-columns:92px minmax(0,1fr)!important}.r315-select-copy{padding-left:10px!important}.r315-select-desc{-webkit-line-clamp:1!important}
  .public-r315 .clean-profile-identity h1{font-size:35px!important}.public-r315 .clean-photo-grid figure,.public-r315 .clean-photo-grid .clean-photo-primary,.public-r315 .clean-photo-grid .clean-photo-secondary{flex-basis:91%!important}.public-r315 .clean-detail-grid{grid-template-columns:1fr 1fr!important}.public-r315 .related-profiles .profile-card{flex-basis:48%!important}
}

@media (max-width:350px){
  .r315-home,.r315-catalog,.r315-location{width:calc(100% - 12px)!important}.r315-hero-copy h1{font-size:32px!important}.r315-superior-body h3{font-size:16px!important}.r315-card-badges .custom,.r315-badge.updated{display:none!important}.r315-select-card{grid-template-columns:86px minmax(0,1fr)!important}.public-r315 .clean-detail-grid{grid-template-columns:1fr!important}.public-r315 .related-profiles .profile-card{flex-basis:70%!important}
}


/* ==========================================================
   R3.15.2 · HOTFIX VISUAL CABECERA + PORTADA
   Corrige regresiones detectadas tras R3.15.1 sin tocar backend,
   planes, SEO ni documentos legales.
   ========================================================== */

/* El logo ahora es una imagen real: anula definitivamente la antigua
   línea decorativa heredada del logo textual. */
.public-r315 .luxury-brand::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}
.public-r315 .luxury-brand{
  padding:0!important;
  filter:none!important;
  min-height:0!important;
  line-height:1!important;
}
.public-r315 .brand-logo-image{
  display:block!important;
  width:auto!important;
  height:50px!important;
  max-width:188px!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}

/* Cabecera de escritorio: navegación respirada y legible. */
@media (min-width:761px){
  .public-r315 .topbar{
    min-height:72px!important;
    padding:8px clamp(22px,3.2vw,52px)!important;
    gap:28px!important;
  }
  .public-r315 .topbar nav{
    gap:18px!important;
    margin-left:auto!important;
    align-items:center!important;
  }
  .public-r315 .topbar nav a{
    padding:9px 2px!important;
    font-size:14.5px!important;
    line-height:1.2!important;
    letter-spacing:.015em!important;
    white-space:nowrap!important;
  }
}

/* Portada de escritorio: recupera proporción premium/compacta.
   R3.15.1 había llevado el hero a 610px y un H1 de hasta 76px. */
@media (min-width:761px){
  .r315-home{
    width:min(1180px,calc(100% - 34px))!important;
    padding-top:18px!important;
  }
  .r315-hero{
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.82fr)!important;
    min-height:500px!important;
    border-radius:24px!important;
  }
  .r315-hero-copy{
    padding:52px 44px 102px!important;
  }
  .r315-hero-copy h1{
    max-width:650px!important;
    margin:11px 0 15px!important;
    font-size:clamp(38px,4.15vw,60px)!important;
    line-height:1.01!important;
  }
  .r315-hero-copy>p{
    max-width:610px!important;
    font-size:15px!important;
    line-height:1.62!important;
  }
  .r315-hero-actions{
    margin-top:23px!important;
  }
  .r315-hero-visual{
    min-height:500px!important;
  }
  .r315-hero-search{
    left:28px!important;
    right:28px!important;
    bottom:22px!important;
    padding:14px 15px 14px 18px!important;
    border-radius:16px!important;
  }
}

/* Móvil: mantiene el rediseño táctil de R3.15.1, pero evita una portada
   desproporcionadamente alta y conserva una cabecera nítida. */
@media (max-width:760px){
  .public-r315 .luxury-brand{
    max-width:calc(100% - 54px)!important;
  }
  .public-r315 .brand-logo-image{
    height:41px!important;
    max-width:154px!important;
  }
  .r315-hero-visual{
    height:255px!important;
    min-height:255px!important;
  }
  .r315-hero-copy{
    padding:18px 16px 17px!important;
  }
  .r315-hero-copy h1{
    margin:8px 0 10px!important;
    font-size:clamp(31px,9.2vw,40px)!important;
    line-height:1.01!important;
  }
  .r315-hero-copy>p{
    font-size:13.5px!important;
    line-height:1.52!important;
  }
  .r315-hero-actions{
    margin-top:15px!important;
  }
}
@media (max-width:430px){
  .r315-hero-visual{
    height:230px!important;
    min-height:230px!important;
  }
  .r315-hero-copy h1{
    font-size:32px!important;
  }
}
