/*
Theme Name:   Love Massagens Vitrine
Theme URI:    https://lovemassagens.com.br
Author:       Love Massagens
Description:  Vitrine premium de massagistas, serviços de massagem, estética corporal e bem-estar.
Template:     finder
Version:      1.0.7
Requires PHP: 7.4
License:      GNU General Public License v3 or later
Text Domain:  love-massagens-vitrine
Tags:         massagem, marketplace, love, bem-estar, spa
*/

/* ─── VARIÁVEIS DE MARCA ─────────────────────────────────────── */
:root {
  --lm-pink:        #e91e8c;
  --lm-pink-dark:   #c0176e;
  --lm-pink-light:  #ff4db8;
  --lm-pink-pale:   #fce4ec;
  --lm-pink-ultra:  #fff0f7;
  --lm-dark:        #12040e;
  --lm-text:        #2d1520;
  --lm-muted:       #9e6080;
  --lm-border:      #f5c6e0;
  --lm-bg:          #fdf6fb;
  --lm-white:       #ffffff;
  --lm-ouro:        #f5a623;
  --lm-ouro-bg:     #fffbec;
  --lm-prata:       #8e44ad;
  --lm-prata-bg:    #f5f0ff;
  --lm-bronze:      #cd7f32;
  --lm-bronze-bg:   #fff8f0;
  --lm-success:     #27ae60;
  --lm-warning:     #f39c12;
  --lm-danger:      #e74c3c;
  --lm-radius:      14px;
  --lm-radius-lg:   20px;
  --lm-shadow:      0 4px 24px rgba(233,30,140,.10);
  --lm-shadow-lg:   0 8px 40px rgba(233,30,140,.15);
  --lm-font-head:   'Playfair Display', Georgia, serif;
  --lm-font-body:   'DM Sans', system-ui, sans-serif;
  --lm-transition:  all .22s cubic-bezier(.4,0,.2,1);
}

/* ─── RESET & BASE ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body {
  font-family: var(--lm-font-body);
  color: var(--lm-text);
  background: var(--lm-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5 {
  font-family: var(--lm-font-head);
  color: var(--lm-dark);
  line-height: 1.2;
}
a { color: var(--lm-pink); text-decoration: none; transition: var(--lm-transition); }
a:hover { color: var(--lm-pink-dark); }
img { max-width: 100%; height: auto; }

/* ─── HEADER / LOGO ──────────────────────────────────────────── */
.site-header,
.hp-header,
header.site-header {
  background: var(--lm-dark) !important;
  border-bottom: 2px solid var(--lm-pink) !important;
  box-shadow: 0 2px 20px rgba(233,30,140,.15) !important;
}
.site-branding img,
.custom-logo,
.hp-header .custom-logo-link img {
  max-height: 60px !important;
  width: auto !important;
  filter: none !important;
}
.site-title a,
.hp-header .site-title a {
  color: var(--lm-pink) !important;
  font-family: var(--lm-font-head) !important;
  font-size: 1.5rem !important;
}

/* ─── NAVEGAÇÃO ──────────────────────────────────────────────── */
.primary-navigation a,
.hp-nav__menu a,
nav.site-navigation a {
  color: rgba(255,255,255,.85) !important;
  font-weight: 500 !important;
  font-size: .9rem !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  transition: var(--lm-transition) !important;
}
.primary-navigation a:hover,
.hp-nav__menu a:hover {
  color: var(--lm-pink-light) !important;
  background: rgba(233,30,140,.1) !important;
}
.mp-btn-cta,
.menu-item.mp-btn-cta > a {
  background: linear-gradient(135deg, var(--lm-pink), var(--lm-pink-dark)) !important;
  color: #fff !important;
  border-radius: 50px !important;
  padding: 9px 22px !important;
  font-weight: 700 !important;
  box-shadow: 0 3px 12px rgba(233,30,140,.35) !important;
}
.mp-btn-cta:hover,
.menu-item.mp-btn-cta > a:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 18px rgba(233,30,140,.45) !important;
}

/* ─── BOTÕES GLOBAIS ─────────────────────────────────────────── */
.lm-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 11px 24px; border-radius: 50px; border: none;
  font-weight: 700; font-size: .9rem; cursor: pointer;
  transition: var(--lm-transition); text-decoration: none;
}
.lm-btn-primary {
  background: linear-gradient(135deg, var(--lm-pink), var(--lm-pink-dark));
  color: #fff;
  box-shadow: 0 4px 16px rgba(233,30,140,.3);
}
.lm-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 6px 22px rgba(233,30,140,.4); color: #fff; }
.lm-btn-outline {
  background: transparent; color: var(--lm-pink);
  border: 2px solid var(--lm-pink);
}
.lm-btn-outline:hover { background: var(--lm-pink); color: #fff; }
.lm-btn-dark { background: var(--lm-dark); color: #fff; }
.lm-btn-dark:hover { background: #2d1520; color: #fff; }
.lm-btn-gold {
  background: linear-gradient(135deg, #f5a623, #e8920f);
  color: #fff; box-shadow: 0 4px 14px rgba(245,166,35,.35);
}
.lm-btn-gold:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(245,166,35,.45); color: #fff; }

/* ─── CARDS DE LISTAGEM ──────────────────────────────────────── */
.mp-listing-card,
.hp-listing-card,
article.hp-listing {
  background: var(--lm-white);
  border-radius: var(--lm-radius-lg) !important;
  border: 2px solid var(--lm-border) !important;
  box-shadow: var(--lm-shadow) !important;
  overflow: hidden !important;
  transition: var(--lm-transition) !important;
}
.mp-listing-card:hover { transform: translateY(-4px) !important; box-shadow: var(--lm-shadow-lg) !important; }
.mp-plano-ouro  { border-color: var(--lm-ouro) !important; }
.mp-plano-prata { border-color: var(--lm-prata) !important; }
.mp-plano-bronze{ border-color: var(--lm-bronze) !important; }

/* Badge de plano */
.lm-badge-ouro  { background: var(--lm-ouro);  color: #fff; }
.lm-badge-prata { background: var(--lm-prata); color: #fff; }
.lm-badge-bronze{ background: var(--lm-bronze);color: #fff; }
.lm-badge {
  font-size: .65rem; font-weight: 800; padding: 3px 10px;
  border-radius: 50px; text-transform: uppercase; letter-spacing: .05em;
  display: inline-flex; align-items: center; gap: 4px;
}

/* ─── FORMS ──────────────────────────────────────────────────── */
.lm-input {
  width: 100%; padding: 11px 16px; border-radius: 10px;
  border: 2px solid var(--lm-border); background: #fff;
  font-size: .92rem; color: var(--lm-text); font-family: var(--lm-font-body);
  transition: var(--lm-transition);
}
.lm-input:focus {
  outline: none; border-color: var(--lm-pink);
  box-shadow: 0 0 0 3px rgba(233,30,140,.1);
}
.lm-label {
  font-size: .82rem; font-weight: 700; color: var(--lm-text);
  display: block; margin-bottom: 6px;
}
.lm-form-group { margin-bottom: 18px; }

/* ─── PAINEL LATERAL ─────────────────────────────────────────── */
.lm-sidebar {
  background: var(--lm-dark); border-radius: var(--lm-radius-lg);
  padding: 0; overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
}
.lm-sidebar-user {
  background: linear-gradient(135deg, var(--lm-pink-dark), var(--lm-pink));
  padding: 24px 20px; text-align: center; color: #fff;
}
.lm-sidebar-user img {
  width: 72px; height: 72px; border-radius: 50%;
  border: 3px solid rgba(255,255,255,.4); margin-bottom: 10px;
  object-fit: cover;
}
.lm-sidebar-nav a {
  display: flex; align-items: center; gap: 12px;
  padding: 13px 20px; color: rgba(255,255,255,.7) !important;
  font-size: .88rem; font-weight: 500; border-left: 3px solid transparent;
  transition: var(--lm-transition);
}
.lm-sidebar-nav a:hover { color: #fff !important; background: rgba(255,255,255,.06); }
.lm-sidebar-nav a.ativo {
  color: #fff !important; background: rgba(233,30,140,.2);
  border-left-color: var(--lm-pink);
}
.lm-sidebar-nav .divider { border-top: 1px solid rgba(255,255,255,.08); margin: 6px 0; }

/* ─── CARDS STATS ────────────────────────────────────────────── */
.lm-stat-card {
  background: var(--lm-white); border-radius: var(--lm-radius);
  padding: 20px; border-left: 4px solid var(--lm-pink);
  box-shadow: var(--lm-shadow);
}

/* ─── PLANOS PRICING ─────────────────────────────────────────── */
.lm-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: start;
}
@media(max-width:768px){ .lm-pricing-grid { grid-template-columns: 1fr; } }

.lm-plan-card {
  background: var(--lm-white); border-radius: var(--lm-radius-lg);
  border: 2px solid var(--lm-border); overflow: hidden;
  transition: var(--lm-transition); position: relative;
}
.lm-plan-card:hover { transform: translateY(-6px); box-shadow: var(--lm-shadow-lg); }
.lm-plan-card.destaque {
  border-color: var(--lm-pink);
  box-shadow: 0 8px 40px rgba(233,30,140,.2);
  transform: scale(1.03);
}
.lm-plan-card.destaque:hover { transform: scale(1.03) translateY(-6px); }
.lm-plan-header { padding: 28px 24px 20px; text-align: center; }
.lm-plan-body   { padding: 0 24px 28px; }
.lm-plan-price  {
  font-size: 2.8rem; font-weight: 800;
  font-family: var(--lm-font-head); line-height: 1;
}
.lm-plan-period { font-size: .8rem; font-weight: 500; opacity: .7; }
.lm-plan-feature {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0; font-size: .88rem; border-bottom: 1px solid var(--lm-border);
}
.lm-plan-feature:last-child { border-bottom: none; }
.lm-plan-feature .check { color: var(--lm-success); font-size: 1rem; flex-shrink: 0; }
.lm-plan-feature .cross  { color: #ddd; font-size: 1rem; flex-shrink: 0; }
.lm-plan-feature .text-muted { color: var(--lm-muted); }

/* ─── HERO ───────────────────────────────────────────────────── */
.lm-hero { position: relative; overflow: hidden; color: #fff; }
.lm-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg,
    rgba(12,4,14,.88) 0%,
    rgba(192,23,110,.70) 50%,
    rgba(12,4,14,.75) 100%
  );
  z-index: 1;
}
.lm-hero-content { position: relative; z-index: 2; }
.lm-search-bar {
  background: rgba(255,255,255,.97); border-radius: 50px;
  box-shadow: 0 8px 40px rgba(0,0,0,.25);
  display: flex; align-items: center; overflow: hidden;
  max-width: 720px; margin: 0 auto;
}
.lm-search-bar input,
.lm-search-bar select {
  border: none; outline: none; background: transparent;
  font-size: .95rem; color: var(--lm-text);
  padding: 14px 16px;
  font-family: var(--lm-font-body);
}
.lm-search-bar input { flex: 1; min-width: 0; }
.lm-search-bar .sep {
  width: 1px; height: 26px; background: var(--lm-border); flex-shrink: 0;
}
.lm-search-btn {
  background: linear-gradient(135deg, var(--lm-pink), var(--lm-pink-dark));
  color: #fff; border: none; padding: 14px 28px; font-weight: 700;
  font-size: .95rem; cursor: pointer; white-space: nowrap;
  border-radius: 0 50px 50px 0; transition: var(--lm-transition);
}
.lm-search-btn:hover { background: var(--lm-pink-dark); }

/* ─── CATEGORIAS ─────────────────────────────────────────────── */
.lm-cat-card {
  background: var(--lm-white); border-radius: var(--lm-radius);
  border: 2px solid var(--lm-border); padding: 20px 12px;
  text-align: center; text-decoration: none !important; color: var(--lm-text) !important;
  transition: var(--lm-transition); display: flex;
  flex-direction: column; align-items: center; gap: 8px;
}
.lm-cat-card:hover {
  border-color: var(--lm-pink); background: var(--lm-pink-ultra);
  transform: translateY(-3px); box-shadow: var(--lm-shadow);
  color: var(--lm-pink) !important;
}
.lm-cat-icon { font-size: 2.2rem; line-height: 1; }
.lm-cat-name { font-size: .8rem; font-weight: 700; }
.lm-cat-count { font-size: .7rem; color: var(--lm-muted); }

/* ─── SEÇÃO DE DESTAQUE ──────────────────────────────────────── */
.lm-section-ouro  { background: linear-gradient(135deg,#fffbec,#fff8e8); }
.lm-section-prata { background: linear-gradient(135deg,#f8f0ff,#f2e8ff); }
.lm-section-white { background: var(--lm-white); }
.lm-section-bg    { background: var(--lm-pink-ultra); }

.lm-section-tag {
  display: inline-block; font-size: .72rem; font-weight: 800;
  padding: 4px 14px; border-radius: 50px; margin-bottom: 8px;
  text-transform: uppercase; letter-spacing: .07em;
}

/* ─── FOOTER ─────────────────────────────────────────────────── */
.site-footer, footer.site-footer {
  background: var(--lm-dark) !important;
  color: rgba(255,255,255,.7) !important;
  border-top: 2px solid var(--lm-pink) !important;
}
.site-footer a { color: var(--lm-pink-light) !important; }
.site-footer a:hover { color: #fff !important; }

/* ─── HIVEPRESS OVERRIDES ────────────────────────────────────── */
.hp-button--primary,
.hp-field__button,
button.hp-button {
  background: linear-gradient(135deg, var(--lm-pink), var(--lm-pink-dark)) !important;
  border-color: var(--lm-pink) !important;
  color: #fff !important;
  border-radius: 50px !important;
}
.hp-button--primary:hover { box-shadow: 0 4px 16px rgba(233,30,140,.35) !important; }
.hp-field__input:focus,
.hp-field__select:focus,
.hp-field__textarea:focus {
  border-color: var(--lm-pink) !important;
  box-shadow: 0 0 0 3px rgba(233,30,140,.1) !important;
}

/* ─── WHATSAPP FLOAT ─────────────────────────────────────────── */
.mp-whatsapp-float {
  position: fixed; bottom: 24px; right: 24px; z-index: 9999;
  width: 56px; height: 56px; border-radius: 50%;
  background: #25d366;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; box-shadow: 0 4px 16px rgba(37,211,102,.4);
  transition: var(--lm-transition); text-decoration: none !important;
}
.mp-whatsapp-float:hover { transform: scale(1.1); box-shadow: 0 6px 22px rgba(37,211,102,.5); }

/* ─── NOTIFICAÇÕES / ALERTAS ─────────────────────────────────── */
.lm-alert {
  padding: 14px 18px; border-radius: var(--lm-radius);
  display: flex; align-items: flex-start; gap: 12px;
  font-size: .88rem; margin-bottom: 16px;
}
.lm-alert-success { background: #d4edda; border-left: 4px solid var(--lm-success); color: #155724; }
.lm-alert-warning { background: #fff3cd; border-left: 4px solid var(--lm-warning); color: #856404; }
.lm-alert-info    { background: var(--lm-pink-pale); border-left: 4px solid var(--lm-pink); color: var(--lm-pink-dark); }
.lm-alert-danger  { background: #f8d7da; border-left: 4px solid var(--lm-danger); color: #721c24; }

/* ─── TAGS POPULARES ─────────────────────────────────────────── */
.lm-tag {
  background: rgba(255,255,255,.14); color: #fff;
  padding: 5px 14px; border-radius: 50px; font-size: .8rem;
  text-decoration: none !important; border: 1px solid rgba(255,255,255,.2);
  transition: var(--lm-transition);
}
.lm-tag:hover { background: rgba(233,30,140,.3); color: #fff !important; border-color: var(--lm-pink-light); }

/* ─── PAGINAÇÃO ──────────────────────────────────────────────── */
.page-numbers { display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 8px; font-size: .88rem; font-weight: 600; }
.page-numbers.current { background: var(--lm-pink); color: #fff; }
.page-numbers:hover:not(.current) { background: var(--lm-pink-pale); color: var(--lm-pink); }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:900px) {
  .lm-dashboard-grid { grid-template-columns: 1fr !important; }
  .lm-sidebar { margin-bottom: 20px; }
}
@media(max-width:600px) {
  .lm-search-bar { flex-direction: column; border-radius: 16px; padding: 8px; }
  .lm-search-bar .sep { display: none; }
  .lm-search-btn { border-radius: 12px; width: 100%; }
  .lm-search-bar input, .lm-search-bar select { width: 100%; }
  .lm-pricing-grid { grid-template-columns: 1fr !important; }
}

/* ─── LAYOUT CONTAINER ───────────────────────────────────── */
.lm-container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }

/* ─── HERO ───────────────────────────────────────────────── */
.lm-hero {
  position:relative; padding:6rem 0 4rem; min-height:520px;
  display:flex; align-items:center; overflow:hidden;
}
.lm-hero__content { position:relative; z-index:2; text-align:center; }
.lm-hero__badge {
  display:inline-block; background:rgba(255,255,255,.12); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.25); color:#fff; font-size:.82rem; font-weight:600;
  padding:.45rem 1.2rem; border-radius:50px; margin-bottom:1.5rem; letter-spacing:.03em;
}
.lm-hero__title {
  font-family:var(--lm-font-head); font-size:clamp(2rem,5vw,3.5rem);
  color:#fff; font-weight:800; margin:0 0 1rem; line-height:1.15;
}
.lm-hero__title-accent { color:var(--lm-pink-light); }
.lm-hero__subtitle { color:rgba(255,255,255,.82); font-size:1.05rem; max-width:600px; margin:0 auto 2.5rem; }

/* ─── SEARCH BAR (hero) ──────────────────────────────────── */
.lm-search-bar {
  display:flex; align-items:center; background:#fff; border-radius:60px;
  box-shadow:0 8px 40px rgba(0,0,0,.25); max-width:720px; margin:0 auto 2rem;
  padding:.35rem .35rem .35rem 0; overflow:hidden; flex-wrap:wrap; gap:.25rem;
}
.lm-search-bar__field {
  display:flex; align-items:center; gap:.5rem; flex:1; min-width:180px; padding:0 1rem;
  border-right:1px solid var(--lm-border);
}
.lm-search-bar__field:last-of-type { border-right:none; }
.lm-search-bar__icon { font-size:1rem; color:var(--lm-muted); flex-shrink:0; }
.lm-search-bar__input, .lm-search-bar__select {
  border:none; outline:none; font-size:.95rem; background:transparent;
  color:var(--lm-text); width:100%; font-family:var(--lm-font-body);
}
.lm-search-bar__btn {
  display:flex; align-items:center; gap:.5rem; background:var(--lm-pink);
  color:#fff; border:none; border-radius:50px; padding:.75rem 1.75rem;
  font-size:.95rem; font-weight:700; cursor:pointer; white-space:nowrap;
  transition:var(--lm-transition); flex-shrink:0;
}
.lm-search-bar__btn:hover { background:var(--lm-pink-dark); transform:scale(1.02); }
.lm-hero__tags { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin-top:.25rem; }
.lm-hero__tag {
  background:rgba(255,255,255,.15); backdrop-filter:blur(6px); color:#fff;
  border:1px solid rgba(255,255,255,.25); border-radius:50px; padding:.3rem .9rem;
  font-size:.82rem; transition:var(--lm-transition);
}
.lm-hero__tag:hover { background:rgba(255,255,255,.28); color:#fff; }

/* ─── STATS BAR ──────────────────────────────────────────── */
.lm-stats-bar { background:#fff; border-bottom:1px solid var(--lm-border); }
.lm-stats-bar__inner {
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:0; padding:.1rem 0;
}
.lm-stat { text-align:center; padding:1.25rem 2.5rem; }
.lm-stat__num { display:block; font-size:1.6rem; font-weight:800; color:var(--lm-pink); }
.lm-stat__label { font-size:.82rem; color:var(--lm-muted); }
.lm-stat__divider { width:1px; height:40px; background:var(--lm-border); flex-shrink:0; }

/* ─── SECTIONS ───────────────────────────────────────────── */
.lm-section { padding:4rem 0; }
.lm-section--light { background:var(--lm-bg); }
.lm-section--dark  { background:var(--lm-dark); }
.lm-section--ouro  { background:var(--lm-ouro-bg); border-top:3px solid var(--lm-ouro); border-bottom:3px solid var(--lm-ouro); }
.lm-section--prata { background:var(--lm-prata-bg); border-top:3px solid var(--lm-prata); border-bottom:3px solid var(--lm-prata); }
.lm-section__head  { text-align:center; margin-bottom:2.5rem; }
.lm-section__title { font-size:clamp(1.5rem,3vw,2.2rem); font-weight:800; margin:0 0 .5rem; }
.lm-section__title--white { color:#fff; }
.lm-section__sub   { color:var(--lm-muted); font-size:1rem; }
.lm-section__sub--muted { color:rgba(255,255,255,.6); }
.lm-section__badge {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.82rem; font-weight:700; padding:.35rem 1rem; border-radius:50px; margin-bottom:.75rem;
}
.lm-section__badge--ouro  { background:var(--lm-ouro); color:#000; }
.lm-section__badge--prata { background:var(--lm-prata); color:#fff; }
.lm-section__cta  { text-align:center; margin-top:2.5rem; }

/* ─── LISTINGS GRID ──────────────────────────────────────── */
.lm-listings-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem;
}
.lm-listings-grid--4 { grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }
.lm-listings-grid--search { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }

/* ─── CATEGORIES GRID ────────────────────────────────────── */
.lm-categories-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:1rem;
}
.lm-cat-card {
  background:#fff; border:1px solid var(--lm-border); border-radius:var(--lm-radius);
  padding:1.25rem .75rem; text-align:center; text-decoration:none;
  transition:var(--lm-transition); display:flex; flex-direction:column; gap:.35rem;
}
.lm-cat-card:hover { border-color:var(--lm-pink); box-shadow:var(--lm-shadow); transform:translateY(-2px); }
.lm-cat-card__icon  { font-size:2rem; display:block; }
.lm-cat-card__name  { font-size:.88rem; font-weight:700; color:var(--lm-text); }
.lm-cat-card__count { font-size:.75rem; color:var(--lm-muted); }

/* ─── HOW IT WORKS (STEPS) ───────────────────────────────── */
.lm-steps { display:flex; align-items:center; justify-content:center; gap:1.5rem; flex-wrap:wrap; }
.lm-step { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--lm-radius-lg); padding:2rem 1.5rem; text-align:center; flex:1; min-width:200px; max-width:260px; }
.lm-step__num { font-size:.7rem; font-weight:800; letter-spacing:.15em; color:var(--lm-pink-light); text-transform:uppercase; margin-bottom:.5rem; }
.lm-step__icon { font-size:2.5rem; display:block; margin-bottom:.75rem; }
.lm-step__title { font-size:1.1rem; font-weight:700; color:#fff; margin:0 0 .5rem; }
.lm-step__desc  { color:rgba(255,255,255,.65); font-size:.88rem; }
.lm-step__arrow { color:rgba(255,255,255,.3); font-size:1.8rem; }

/* ─── CTA BANNER ─────────────────────────────────────────── */
.lm-cta-banner { background:linear-gradient(135deg,var(--lm-pink),var(--lm-pink-dark)); padding:3.5rem 0; }
.lm-cta-banner__inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.lm-cta-banner__title { font-size:1.8rem; font-weight:800; color:#fff; margin:0 0 .5rem; font-family:var(--lm-font-head); }
.lm-cta-banner__sub { color:rgba(255,255,255,.88); margin:0; }
.lm-cta-banner__actions { display:flex; gap:1rem; flex-wrap:wrap; flex-shrink:0; }

/* ─── TESTIMONIALS ───────────────────────────────────────── */
.lm-testimonials { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; }
.lm-testimonial { background:#fff; border-radius:var(--lm-radius-lg); padding:1.75rem; box-shadow:var(--lm-shadow); border-top:3px solid var(--lm-pink); }
.lm-testimonial__stars { font-size:1rem; margin-bottom:.75rem; }
.lm-testimonial__text  { color:var(--lm-text); font-style:italic; margin:0 0 1rem; }
.lm-testimonial__author strong { display:block; color:var(--lm-dark); font-weight:700; }
.lm-testimonial__author span   { font-size:.82rem; color:var(--lm-muted); }

/* ─── EMPTY STATE ────────────────────────────────────────── */
.lm-empty { text-align:center; padding:3rem 2rem; background:var(--lm-pink-ultra); border-radius:var(--lm-radius-lg); }
.lm-empty__icon { font-size:3rem; display:block; margin-bottom:1rem; }
.lm-empty__text { color:var(--lm-muted); margin-bottom:1.5rem; }

/* ─── BUTTONS ────────────────────────────────────────────── */
.lm-btn {
  display:inline-flex; align-items:center; gap:.5rem; border-radius:50px;
  font-weight:700; font-size:.9rem; padding:.65rem 1.5rem; transition:var(--lm-transition);
  text-decoration:none; border:2px solid transparent; cursor:pointer; white-space:nowrap;
}
.lm-btn--primary     { background:var(--lm-pink); color:#fff; border-color:var(--lm-pink); }
.lm-btn--primary:hover { background:var(--lm-pink-dark); border-color:var(--lm-pink-dark); color:#fff; transform:translateY(-1px); box-shadow:var(--lm-shadow); }
.lm-btn--outline     { background:transparent; color:var(--lm-pink); border-color:var(--lm-pink); }
.lm-btn--outline:hover { background:var(--lm-pink); color:#fff; }
.lm-btn--outline-white { background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.lm-btn--outline-white:hover { background:rgba(255,255,255,.15); color:#fff; }
.lm-btn--white       { background:#fff; color:var(--lm-pink); border-color:#fff; }
.lm-btn--white:hover { background:var(--lm-pink-pale); color:var(--lm-pink-dark); }
.lm-btn--ghost       { background:transparent; color:var(--lm-muted); border-color:var(--lm-border); }
.lm-btn--ghost:hover { color:var(--lm-text); border-color:var(--lm-muted); }
.lm-btn--danger      { border-color:var(--lm-danger); color:var(--lm-danger); }
.lm-btn--danger:hover { background:var(--lm-danger); color:#fff; }
.lm-btn--sm  { padding:.4rem 1rem; font-size:.82rem; }
.lm-btn--lg  { padding:.85rem 2rem; font-size:1rem; }
.lm-btn--full{ width:100%; justify-content:center; }

/* Plan buttons */
.lm-btn--plan { width:100%; justify-content:center; margin-top:auto; padding:.85rem; font-size:1rem; border-radius:14px; border:2px solid transparent; }
.lm-btn--plan--bronze { background:var(--lm-bronze); color:#fff; border-color:var(--lm-bronze); }
.lm-btn--plan--bronze:hover { background:#b56e27; color:#fff; }
.lm-btn--plan--prata  { background:var(--lm-prata); color:#fff; border-color:var(--lm-prata); }
.lm-btn--plan--prata:hover  { background:#7a3b98; color:#fff; }
.lm-btn--plan--ouro   { background:linear-gradient(135deg,var(--lm-ouro),#e67e00); color:#000; font-weight:800; }
.lm-btn--plan--ouro:hover   { background:linear-gradient(135deg,#f0c040,var(--lm-ouro)); color:#000; }

/* ─── BADGES ─────────────────────────────────────────────── */
.lm-badge { display:inline-flex; align-items:center; gap:.25rem; font-size:.72rem; font-weight:700; padding:.2rem .6rem; border-radius:50px; }
.lm-badge--success { background:#e8f8ee; color:#27ae60; }
.lm-badge--warning { background:#fef9ec; color:var(--lm-warning); }
.lm-badge--danger  { background:#fdf0ef; color:var(--lm-danger); }
.lm-badge--muted   { background:var(--lm-bg); color:var(--lm-muted); }
.lm-badge--ouro    { background:var(--lm-ouro-bg); color:#b8820a; }
.lm-badge--prata   { background:var(--lm-prata-bg); color:var(--lm-prata); }
.lm-badge--bronze  { background:var(--lm-bronze-bg); color:var(--lm-bronze); }
.lm-badge--sm { font-size:.68rem; padding:.15rem .5rem; }

/* ─── ALERTS ─────────────────────────────────────────────── */
.lm-alert {
  border-radius:var(--lm-radius); padding:1rem 1.25rem; margin-bottom:1.25rem;
  display:flex; align-items:flex-start; gap:.75rem; font-size:.9rem; position:relative;
}
.lm-alert--success { background:#e8f8ee; border-left:4px solid #27ae60; color:#1a7a40; }
.lm-alert--warning { background:#fef9ec; border-left:4px solid var(--lm-warning); color:#8a620a; }
.lm-alert--danger  { background:#fdf0ef; border-left:4px solid var(--lm-danger); color:#a93226; }
.lm-alert--dismissible .lm-alert__close { position:absolute; top:.75rem; right:.75rem; background:none; border:none; font-size:1.2rem; cursor:pointer; color:inherit; opacity:.7; }

/* ─── FORMS ──────────────────────────────────────────────── */
.lm-form-group { margin-bottom:1.25rem; }
.lm-label { display:block; font-size:.85rem; font-weight:600; color:var(--lm-text); margin-bottom:.4rem; }
.lm-input {
  width:100%; padding:.7rem 1rem; border:1.5px solid var(--lm-border); border-radius:10px;
  font-size:.95rem; font-family:var(--lm-font-body); color:var(--lm-text);
  background:#fff; transition:var(--lm-transition); outline:none;
}
.lm-input:focus { border-color:var(--lm-pink); box-shadow:0 0 0 3px rgba(233,30,140,.1); }
.lm-input--textarea { resize:vertical; min-height:100px; }
.lm-input--select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239e6080' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; }
.lm-input-wrap { position:relative; }
.lm-input-wrap--eye .lm-input { padding-right:2.75rem; }
.lm-eye-toggle { position:absolute; right:.75rem; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; font-size:1rem; color:var(--lm-muted); padding:0; }
.lm-form-row { display:flex; align-items:center; }
.lm-form-row--between { justify-content:space-between; }
.lm-checkbox { display:flex; align-items:center; gap:.5rem; font-size:.85rem; cursor:pointer; }
.lm-checkbox--terms { margin:.25rem 0 1.25rem; }
.lm-checkbox input { accent-color:var(--lm-pink); width:16px; height:16px; }
.lm-link { color:var(--lm-pink); text-decoration:underline; }
.lm-link-btn { background:none; border:none; color:var(--lm-pink); cursor:pointer; font-weight:700; text-decoration:underline; font-size:inherit; }
.lm-muted { color:var(--lm-muted); }
.lm-range { width:100%; accent-color:var(--lm-pink); }

/* ─── AUTH PAGE ──────────────────────────────────────────── */
.lm-auth-page {
  display:flex; min-height:100vh; background:linear-gradient(135deg,var(--lm-dark) 0%,#4a0a32 100%);
}
.lm-auth-card {
  width:100%; max-width:480px; background:#fff; border-radius:0; padding:2.5rem;
  overflow-y:auto; flex-shrink:0;
}
.lm-auth-card__head { text-align:center; margin-bottom:2rem; }
.lm-auth-card__logo-img { max-height:56px; width:auto; }
.lm-auth-card__logo-text { font-family:var(--lm-font-head); font-size:1.5rem; font-weight:800; color:var(--lm-pink); }
.lm-auth-card__tagline { color:var(--lm-muted); font-size:.85rem; margin:.5rem 0 0; }
.lm-auth-tabs { display:flex; background:var(--lm-bg); border-radius:10px; padding:.25rem; margin-bottom:1.75rem; gap:.25rem; }
.lm-auth-tab { flex:1; padding:.6rem; background:none; border:none; border-radius:8px; font-size:.9rem; font-weight:600; color:var(--lm-muted); cursor:pointer; transition:var(--lm-transition); }
.lm-auth-tab--active { background:#fff; color:var(--lm-pink); box-shadow:0 1px 6px rgba(0,0,0,.08); }
.lm-auth-panel { display:none; }
.lm-auth-panel--active { display:block; }
.lm-auth-form { display:flex; flex-direction:column; }
.lm-auth-info { display:flex; align-items:flex-start; gap:.75rem; background:var(--lm-pink-ultra); border:1px solid var(--lm-border); border-radius:10px; padding:1rem; margin-bottom:1.25rem; font-size:.85rem; }
.lm-auth-info__icon { font-size:1.5rem; flex-shrink:0; }
.lm-auth-switch { text-align:center; margin-top:1.25rem; color:var(--lm-muted); font-size:.87rem; }
.lm-auth-benefits { flex:1; padding:3rem 2.5rem; display:flex; align-items:center; }
.lm-auth-benefits__inner { max-width:400px; }
.lm-auth-benefits__title { color:#fff; font-family:var(--lm-font-head); font-size:1.6rem; margin:0 0 2rem; }
.lm-auth-benefit { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.5rem; }
.lm-auth-benefit__icon { font-size:1.5rem; flex-shrink:0; }
.lm-auth-benefit__title { display:block; color:#fff; font-weight:700; font-size:.95rem; }
.lm-auth-benefit__desc { color:rgba(255,255,255,.6); font-size:.85rem; margin:.2rem 0 0; }

/* ─── BREADCRUMB ─────────────────────────────────────────── */
.lm-breadcrumb-bar { background:var(--lm-bg); border-bottom:1px solid var(--lm-border); padding:.6rem 0; font-size:.83rem; color:var(--lm-muted); }
.lm-breadcrumb-bar__inner { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.lm-breadcrumb-bar a { color:var(--lm-muted); }
.lm-breadcrumb-bar a:hover { color:var(--lm-pink); }
.lm-breadcrumb-sep { color:var(--lm-border); }

/* ─── SEARCH PAGE ────────────────────────────────────────── */
.lm-search-page { padding:2.5rem 0; background:var(--lm-bg); min-height:60vh; }
.lm-search-page__inner { display:grid; grid-template-columns:280px 1fr; gap:2rem; align-items:start; }
.lm-search-sidebar { position:sticky; top:80px; }
.lm-search-sidebar__card { background:#fff; border-radius:var(--lm-radius-lg); padding:1.5rem; box-shadow:var(--lm-shadow); }
.lm-search-sidebar__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.25rem; }
.lm-search-sidebar__title { font-size:1rem; font-weight:700; margin:0; }
.lm-search-sidebar__clear { font-size:.82rem; color:var(--lm-danger); }
.lm-filter-form { display:flex; flex-direction:column; gap:.25rem; }
.lm-filter-group { display:flex; flex-direction:column; gap:.35rem; margin-bottom:.75rem; }
.lm-search-results__header { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.lm-search-results__title { font-size:1.3rem; font-weight:800; margin:0; }
.lm-search-results__count { font-size:.85rem; color:var(--lm-muted); display:block; margin-top:.2rem; }
.lm-search-results__info { flex:1; }
.lm-active-filters { display:flex; gap:.5rem; flex-wrap:wrap; }
.lm-filter-chip { display:inline-flex; align-items:center; gap:.35rem; background:#fff; border:1px solid var(--lm-border); border-radius:50px; padding:.25rem .75rem; font-size:.8rem; }
.lm-filter-chip__remove { color:var(--lm-danger); text-decoration:none; font-weight:700; font-size:1rem; }
.lm-sidebar-cats { display:flex; flex-direction:column; gap:.35rem; }
.lm-sidebar-cat { display:flex; align-items:center; justify-content:space-between; padding:.5rem .75rem; border-radius:8px; text-decoration:none; color:var(--lm-text); font-size:.85rem; transition:var(--lm-transition); }
.lm-sidebar-cat:hover,.lm-sidebar-cat--active { background:var(--lm-pink-pale); color:var(--lm-pink); }
.lm-sidebar-cat__count { font-size:.75rem; color:var(--lm-muted); background:var(--lm-bg); padding:.1rem .45rem; border-radius:50px; }
.lm-pagination { display:flex; justify-content:center; gap:.5rem; margin-top:2.5rem; flex-wrap:wrap; }
.lm-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; border-radius:10px; border:1.5px solid var(--lm-border); color:var(--lm-text); text-decoration:none; font-size:.88rem; font-weight:600; transition:var(--lm-transition); }
.lm-pagination .page-numbers.current,.lm-pagination .page-numbers:hover { background:var(--lm-pink); border-color:var(--lm-pink); color:#fff; }

/* ─── PLANS GRID ─────────────────────────────────────────── */
.lm-plans-wrap { padding:1.5rem 0 2.5rem; }
.lm-plans-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; align-items:start;
}
.lm-plan-card {
  background:#fff; border-radius:var(--lm-radius-lg); padding:2rem 1.75rem;
  box-shadow:var(--lm-shadow); border:2px solid var(--lm-border); position:relative;
  display:flex; flex-direction:column; gap:0; transition:var(--lm-transition);
}
.lm-plan-card:hover { transform:translateY(-4px); box-shadow:var(--lm-shadow-lg); }
.lm-plan-card--bronze { border-top:4px solid var(--lm-bronze); }
.lm-plan-card--prata  { border-top:4px solid var(--lm-prata); }
.lm-plan-card--ouro   { border-top:4px solid var(--lm-ouro); border-color:var(--lm-ouro); }
.lm-plan-card--featured {
  background:linear-gradient(170deg,#fffbec 0%,#fff 60%); transform:scale(1.04);
  box-shadow:0 16px 60px rgba(245,166,35,.22);
}
.lm-plan-card--featured:hover { transform:scale(1.04) translateY(-4px); }
.lm-plan-card__badge {
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:linear-gradient(90deg,var(--lm-ouro),#e67e00); color:#000;
  font-size:.72rem; font-weight:800; padding:.25rem .9rem; border-radius:50px; white-space:nowrap;
}
.lm-plan-card__head { text-align:center; padding-bottom:1.25rem; border-bottom:1px solid var(--lm-border); margin-bottom:1.25rem; }
.lm-plan-card__icon { font-size:2.5rem; display:block; margin-bottom:.5rem; }
.lm-plan-card__name { font-size:1.25rem; font-weight:800; margin:0 0 .2rem; }
.lm-plan-card__tagline { font-size:.82rem; color:var(--lm-muted); margin:0; }
.lm-plan-card__price { text-align:center; padding:.75rem 0 1.25rem; border-bottom:1px solid var(--lm-border); margin-bottom:1.25rem; }
.lm-plan-card__price-label { display:block; font-size:.72rem; color:var(--lm-muted); text-transform:uppercase; letter-spacing:.08em; }
.lm-plan-card__price .woocommerce-Price-amount { font-size:2.2rem; font-weight:800; color:var(--lm-dark); }
.lm-plan-card__price-period { font-size:.82rem; color:var(--lm-muted); }
.lm-plan-card__features { list-style:none; padding:0; margin:0 0 1.5rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
.lm-plan-card__feature { font-size:.88rem; padding-left:.25rem; }
.lm-plan-card__feature--no { color:var(--lm-muted); }
.lm-plans-footer { text-align:center; margin-top:2rem; color:var(--lm-muted); font-size:.88rem; }

/* ─── LISTING CARD (HivePress override) ─────────────────── */
.hp-listing-card, article.hp-listing {
  background:#fff; border-radius:var(--lm-radius-lg); overflow:hidden;
  box-shadow:var(--lm-shadow); border:1px solid var(--lm-border);
  transition:var(--lm-transition);
}
.hp-listing-card:hover, article.hp-listing:hover { transform:translateY(-4px); box-shadow:var(--lm-shadow-lg); border-color:var(--lm-pink); }
.hp-listing-card[data-plano="ouro"] { border-top:3px solid var(--lm-ouro); }
.hp-listing-card[data-plano="prata"]{ border-top:3px solid var(--lm-prata); }

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width:1024px) {
  .lm-search-page__inner { grid-template-columns:240px 1fr; }
  .lm-plans-grid { grid-template-columns:1fr; gap:1rem; }
  .lm-plan-card--featured { transform:none; }
  .lm-plan-card--featured:hover { transform:translateY(-4px); }
}
@media (max-width:768px) {
  .lm-hero { padding:4rem 0 3rem; min-height:auto; }
  .lm-search-bar { border-radius:16px; }
  .lm-search-bar__field { border-right:none; border-bottom:1px solid var(--lm-border); padding:.6rem 1rem; }
  .lm-search-bar__btn { border-radius:10px; width:100%; justify-content:center; }
  .lm-search-page__inner { grid-template-columns:1fr; }
  .lm-search-sidebar { position:static; }
  .lm-cta-banner__inner { flex-direction:column; text-align:center; }
  .lm-auth-page { flex-direction:column; }
  .lm-auth-card { max-width:100%; }
  .lm-auth-benefits { display:none; }
  .lm-stat { padding:.75rem 1.25rem; }
  .lm-stats-bar__inner { gap:.25rem; }
  .lm-stat__divider { display:none; }
  .lm-steps { flex-direction:column; }
  .lm-step__arrow { display:none; }
}
@media (max-width:480px) {
  .lm-categories-grid { grid-template-columns:repeat(3,1fr); }
  .lm-listings-grid { grid-template-columns:1fr; }
}

/* ─── LISTING CARD (loop) ────────────────────────────────── */
.lm-card {
  background:#fff; border-radius:var(--lm-radius-lg); overflow:hidden;
  box-shadow:var(--lm-shadow); border:1.5px solid var(--lm-border);
  transition:var(--lm-transition); display:flex; flex-direction:column;
}
.lm-card:hover { transform:translateY(-4px); box-shadow:var(--lm-shadow-lg); border-color:var(--lm-pink); }
.lm-card[data-plano="ouro"]  { border-top:3px solid var(--lm-ouro); }
.lm-card[data-plano="prata"] { border-top:3px solid var(--lm-prata); }
.lm-card__thumb-wrap { display:block; position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--lm-pink-pale); }
.lm-card__thumb { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.lm-card:hover .lm-card__thumb { transform:scale(1.04); }
.lm-card__thumb-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:3rem; background:var(--lm-pink-pale); }
.lm-card__plan-badge {
  position:absolute; top:.6rem; left:.6rem; font-size:.7rem; font-weight:800;
  padding:.25rem .7rem; border-radius:50px; backdrop-filter:blur(6px);
}
.lm-card__plan-badge--ouro  { background:var(--lm-ouro); color:#000; }
.lm-card__plan-badge--prata { background:var(--lm-prata); color:#fff; }
.lm-card__plan-badge--bronze{ background:var(--lm-bronze); color:#fff; }
.lm-card__verified { position:absolute; top:.6rem; right:.6rem; background:#27ae60; color:#fff; font-size:.65rem; font-weight:700; padding:.2rem .55rem; border-radius:50px; }
.lm-card__body { padding:1rem 1.1rem; flex:1; display:flex; flex-direction:column; gap:.3rem; }
.lm-card__cat  { font-size:.72rem; color:var(--lm-pink); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.lm-card__title{ font-size:1rem; font-weight:700; margin:0; line-height:1.3; }
.lm-card__title a { color:var(--lm-dark); }
.lm-card__title a:hover { color:var(--lm-pink); }
.lm-card__tipo  { font-size:.8rem; color:var(--lm-muted); }
.lm-card__rating{ font-size:.82rem; font-weight:600; color:var(--lm-warning); }
.lm-card__location { font-size:.8rem; color:var(--lm-muted); }
.lm-card__meta  { display:flex; flex-direction:column; gap:.2rem; margin-top:auto; }
.lm-card__footer{ padding:.85rem 1.1rem; border-top:1px solid var(--lm-border); display:flex; align-items:center; justify-content:space-between; gap:.5rem; flex-wrap:wrap; }
.lm-card__price { display:flex; flex-direction:column; }
.lm-card__price span  { font-size:.7rem; color:var(--lm-muted); }
.lm-card__price strong{ font-size:1rem; font-weight:800; color:var(--lm-dark); }
.lm-card__price--consult strong { font-size:.85rem; color:var(--lm-muted); }

/* ─── WHATSAPP BUTTON ────────────────────────────────────── */
.lm-btn--whatsapp {
  background:#25d366; color:#fff !important; border-color:#25d366;
  display:inline-flex; align-items:center; gap:.45rem;
  border-radius:50px; font-weight:700; font-size:.88rem;
  padding:.55rem 1.1rem; transition:var(--lm-transition); text-decoration:none;
}
.lm-btn--whatsapp:hover { background:#1ebe5a; border-color:#1ebe5a; transform:translateY(-1px); }

/* ─── CAROUSEL ───────────────────────────────────────────── */
.lm-carousel { position:relative; overflow:hidden; padding:0 .5rem 3rem; }
.lm-carousel__track {
  display:flex; gap:1.5rem; transition:transform .4s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.lm-carousel__card { flex:0 0 calc(33.333% - 1rem); min-width:0; }
@media (max-width:900px) { .lm-carousel__card { flex:0 0 calc(50% - .75rem); } }
@media (max-width:600px) { .lm-carousel__card { flex:0 0 calc(100% - 0px); } }
.lm-carousel__arrow {
  position:absolute; top:calc(50% - 40px); z-index:10;
  background:#fff; border:2px solid var(--lm-border); border-radius:50%;
  width:48px; height:48px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:var(--lm-transition); box-shadow:var(--lm-shadow);
  color:var(--lm-text);
}
.lm-carousel__arrow--prev { left:-12px; }
.lm-carousel__arrow--next { right:-12px; }
.lm-carousel__arrow:hover { background:var(--lm-pink); border-color:var(--lm-pink); color:#fff; transform:scale(1.08); }
.lm-carousel__dots { position:absolute; bottom:.5rem; left:0; right:0; display:flex; justify-content:center; gap:.4rem; }
.lm-carousel__dot {
  width:8px; height:8px; border-radius:50%; background:var(--lm-border);
  border:none; cursor:pointer; transition:var(--lm-transition); padding:0;
}
.lm-carousel__dot--active { background:var(--lm-pink); width:22px; border-radius:4px; }

/* ─── GALLERY (listing single) ───────────────────────────── */
.lm-listing-hero { background:var(--lm-dark); }
.lm-gallery { position:relative; height:480px; background:var(--lm-dark); overflow:hidden; }
@media (max-width:768px) { .lm-gallery { height:280px; } }
.lm-gallery__slide { position:absolute; inset:0; opacity:0; transition:opacity .4s ease; }
.lm-gallery__slide--active { opacity:1; z-index:1; }
.lm-gallery__img { width:100%; height:100%; object-fit:cover; }
.lm-gallery__placeholder { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:rgba(255,255,255,.4); font-size:4rem; gap:1rem; }
.lm-gallery__placeholder p { font-size:1rem; }
.lm-gallery__arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:10;
  background:rgba(255,255,255,.15); backdrop-filter:blur(10px); border:1.5px solid rgba(255,255,255,.3);
  border-radius:50%; width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:#fff; transition:var(--lm-transition);
}
.lm-gallery__arrow--prev { left:1.25rem; }
.lm-gallery__arrow--next { right:1.25rem; }
.lm-gallery__arrow:hover { background:var(--lm-pink); border-color:var(--lm-pink); transform:translateY(-50%) scale(1.08); }
.lm-gallery__counter { position:absolute; bottom:1rem; right:1.25rem; z-index:10; background:rgba(0,0,0,.5); color:#fff; font-size:.8rem; font-weight:600; padding:.3rem .8rem; border-radius:50px; backdrop-filter:blur(4px); }
.lm-gallery__thumbs { position:absolute; bottom:1rem; left:50%; transform:translateX(-50%); z-index:10; display:flex; gap:.4rem; max-width:80%; overflow-x:auto; scrollbar-width:none; }
.lm-gallery__thumb-btn { width:50px; height:36px; border-radius:6px; border:2px solid transparent; background-size:cover; background-position:center; cursor:pointer; flex-shrink:0; transition:var(--lm-transition); opacity:.65; }
.lm-gallery__thumb-btn--active, .lm-gallery__thumb-btn:hover { border-color:var(--lm-pink); opacity:1; }
.lm-gallery__badges { position:absolute; top:1rem; left:1.25rem; z-index:10; display:flex; flex-direction:column; gap:.4rem; }
.lm-gallery__hint { background:var(--lm-dark); color:rgba(255,255,255,.5); text-align:center; font-size:.78rem; padding:.5rem; }

/* ─── LISTING LAYOUT ─────────────────────────────────────── */
.lm-listing-layout { display:grid; grid-template-columns:1fr 340px; gap:2.5rem; padding:2rem 0 3rem; align-items:start; }
@media (max-width:1024px) { .lm-listing-layout { grid-template-columns:1fr; } }
.lm-listing-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; font-size:.8rem; color:var(--lm-muted); margin-bottom:1.25rem; }
.lm-listing-breadcrumb a { color:var(--lm-muted); }
.lm-listing-breadcrumb a:hover { color:var(--lm-pink); }
.lm-listing-header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.lm-listing-header__cats { font-size:.78rem; color:var(--lm-pink); font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.4rem; }
.lm-listing-header__title { font-size:clamp(1.4rem,3vw,2rem); font-weight:800; margin:0 0 .75rem; }
.lm-listing-header__meta { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; font-size:.88rem; color:var(--lm-muted); }
.lm-listing-rating { color:var(--lm-warning); font-weight:600; }
.lm-listing-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:1rem; background:var(--lm-pink-ultra); border-radius:var(--lm-radius); padding:1.25rem; margin-bottom:2rem; border:1px solid var(--lm-border); }
.lm-listing-stat { display:flex; align-items:center; gap:.6rem; }
.lm-listing-stat__icon { font-size:1.4rem; flex-shrink:0; }
.lm-listing-stat strong { display:block; font-weight:800; font-size:1rem; color:var(--lm-dark); }
.lm-listing-stat span   { font-size:.75rem; color:var(--lm-muted); }
.lm-listing-section { margin-bottom:2.5rem; }
.lm-listing-section__title { font-size:1.2rem; font-weight:800; margin:0 0 1.25rem; padding-bottom:.6rem; border-bottom:2px solid var(--lm-pink-pale); color:var(--lm-dark); }
.lm-listing-description { line-height:1.8; color:var(--lm-text); }
.lm-listing-certs { display:flex; flex-wrap:wrap; gap:.5rem; }
.lm-cert-badge { background:var(--lm-pink-ultra); border:1px solid var(--lm-border); color:var(--lm-pink-dark); padding:.35rem .9rem; border-radius:50px; font-size:.83rem; font-weight:600; }

/* ─── BENEFITS GRID ──────────────────────────────────────── */
.lm-benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
@media (max-width:768px) { .lm-benefits-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .lm-benefits-grid { grid-template-columns:1fr; } }
.lm-benefit-card { background:var(--lm-bg); border:1px solid var(--lm-border); border-radius:var(--lm-radius); padding:1.25rem; transition:var(--lm-transition); }
.lm-benefit-card:hover { border-color:var(--lm-pink); background:#fff; box-shadow:var(--lm-shadow); transform:translateY(-2px); }
.lm-benefit-card__icon  { font-size:1.75rem; margin-bottom:.5rem; display:block; }
.lm-benefit-card__title { font-size:.9rem; font-weight:700; margin:0 0 .3rem; color:var(--lm-dark); }
.lm-benefit-card__desc  { font-size:.8rem; color:var(--lm-muted); margin:0; line-height:1.5; }

/* ─── PROCESS STEPS ──────────────────────────────────────── */
.lm-process { display:flex; flex-direction:column; gap:0; position:relative; }
.lm-process::before { content:''; position:absolute; left:22px; top:24px; bottom:24px; width:2px; background:var(--lm-pink-pale); z-index:0; }
.lm-process__step { display:flex; gap:1.25rem; align-items:flex-start; position:relative; z-index:1; padding-bottom:1.5rem; }
.lm-process__step:last-child { padding-bottom:0; }
.lm-process__num { width:46px; height:46px; border-radius:50%; background:var(--lm-pink); color:#fff; font-size:.82rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 0 0 4px var(--lm-pink-pale); }
.lm-process__content { flex:1; padding-top:.6rem; }
.lm-process__title { font-size:.95rem; font-weight:700; margin:0 0 .25rem; color:var(--lm-dark); }
.lm-process__desc  { font-size:.85rem; color:var(--lm-muted); margin:0; line-height:1.5; }

/* ─── FAQ ────────────────────────────────────────────────── */
.lm-faq { display:flex; flex-direction:column; gap:.5rem; }
.lm-faq__item { border:1.5px solid var(--lm-border); border-radius:var(--lm-radius); overflow:hidden; cursor:pointer; transition:border-color .2s; }
.lm-faq__item:hover, .lm-faq__item--open { border-color:var(--lm-pink); }
.lm-faq__question { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; font-weight:600; font-size:.92rem; }
.lm-faq__arrow { font-size:.7rem; color:var(--lm-muted); transition:transform .25s; flex-shrink:0; }
.lm-faq__item--open .lm-faq__arrow { transform:rotate(180deg); color:var(--lm-pink); }
.lm-faq__answer { max-height:0; overflow:hidden; transition:max-height .3s ease, padding .3s ease; font-size:.88rem; color:var(--lm-muted); line-height:1.7; padding:0 1.25rem; }
.lm-faq__item--open .lm-faq__answer { max-height:300px; padding:.25rem 1.25rem 1rem; }

/* ─── VIDEO EMBED ────────────────────────────────────────── */
.lm-video-wrap { border-radius:var(--lm-radius-lg); overflow:hidden; aspect-ratio:16/9; }
.lm-video-wrap iframe { width:100%; height:100%; }

/* ─── CONTACT SIDEBAR CARD ───────────────────────────────── */
.lm-listing-sidebar { position:sticky; top:90px; }
.lm-contact-card { background:#fff; border-radius:var(--lm-radius-lg); padding:1.75rem; box-shadow:var(--lm-shadow-lg); border:1.5px solid var(--lm-border); display:flex; flex-direction:column; gap:1.1rem; }
.lm-contact-card__profile { display:flex; align-items:center; gap:1rem; }
.lm-contact-card__avatar  { width:64px; height:64px; border-radius:50%; border:3px solid var(--lm-pink); object-fit:cover; flex-shrink:0; }
.lm-contact-card__name    { display:block; font-weight:800; font-size:1rem; color:var(--lm-dark); margin-bottom:.3rem; }
.lm-contact-card__rating  { font-size:.8rem; color:var(--lm-warning); font-weight:600; margin-top:.25rem; }
.lm-contact-card__price { background:var(--lm-pink-ultra); border-radius:12px; padding:1rem 1.25rem; text-align:center; border:1px solid var(--lm-border); }
.lm-contact-card__price-label { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--lm-muted); margin-bottom:.2rem; }
.lm-contact-card__price-val   { display:block; font-size:1.8rem; font-weight:800; color:var(--lm-pink); }
.lm-contact-card__price-dur   { display:block; font-size:.78rem; color:var(--lm-muted); margin-top:.15rem; }
.lm-contact-card__details { display:flex; flex-direction:column; gap:.5rem; }
.lm-contact-detail { display:flex; align-items:center; gap:.6rem; font-size:.83rem; color:var(--lm-muted); }
.lm-contact-card__trust { display:flex; flex-direction:column; gap:.35rem; border-top:1px solid var(--lm-border); padding-top:.9rem; }
.lm-trust-item { font-size:.78rem; color:var(--lm-muted); }

/* ─── LISTING CTA BOTTOM SECTION ────────────────────────── */
.lm-listing-cta-section { background:var(--lm-dark); padding:3.5rem 0; }
.lm-listing-cta-section__inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.lm-listing-cta-section__title { font-size:1.7rem; font-weight:800; color:#fff; margin:0 0 .35rem; font-family:var(--lm-font-head); }
.lm-listing-cta-section__sub   { color:rgba(255,255,255,.7); margin:0; }
.lm-listing-cta-section__actions { display:flex; gap:1rem; flex-wrap:wrap; flex-shrink:0; }

/* ─── FLOATING WHATSAPP BUTTON ───────────────────────────── */
.lm-whatsapp-float {
  position:fixed; bottom:1.75rem; right:1.75rem; z-index:9999;
  background:#25d366; color:#fff; width:60px; height:60px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,.45); transition:var(--lm-transition);
  text-decoration:none;
}
.lm-whatsapp-float:hover { transform:scale(1.12); box-shadow:0 8px 32px rgba(37,211,102,.55); color:#fff; }

/* ============================================================
   PAINEL v4 — Perfil Tabs, Dash Plan Card, Checkboxes, etc.
   ============================================================ */

/* --- Perfil sub-tabs --- */
.lm-perfil-tabs {
  display: flex;
  gap: .5rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.lm-perfil-tab {
  padding: .5rem 1.1rem;
  border-radius: 50px;
  border: 2px solid var(--lm-border);
  background: #fff;
  font-size: .85rem;
  font-weight: 600;
  color: var(--lm-muted);
  cursor: pointer;
  transition: var(--lm-transition);
}
.lm-perfil-tab:hover {
  border-color: var(--lm-pink);
  color: var(--lm-pink);
}
.lm-perfil-tab.active {
  background: var(--lm-pink);
  border-color: var(--lm-pink);
  color: #fff;
}

/* --- Perfil section panels --- */
.lm-perfil-section { display: none; }
.lm-perfil-section.active { display: block; }

/* --- Dashboard plan card --- */
.lm-dash-plan-card {
  background: linear-gradient(135deg, #fff 0%, var(--lm-pink-pale) 100%);
  border: 2px solid var(--lm-border);
  border-radius: var(--lm-radius-lg);
  padding: 1.5rem;
  box-shadow: var(--lm-shadow);
}
.lm-dash-plan-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: .5rem;
}
.lm-dash-plan-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--lm-text);
  margin: 0;
}
.lm-dash-plan-card__current {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.lm-dash-plan-card__icon {
  font-size: 2.2rem;
  flex-shrink: 0;
}
.lm-dash-plan-card__info { flex: 1; }
.lm-dash-plan-card__plan-name {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--lm-pink);
  margin: 0 0 .2rem;
}
.lm-dash-plan-card__desc {
  font-size: .85rem;
  color: var(--lm-muted);
  margin: 0;
}
.lm-dash-plan-card__upgrade {
  border-top: 1px solid var(--lm-border);
  padding-top: 1rem;
  margin-top: .5rem;
  font-size: .88rem;
  color: var(--lm-muted);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
}

/* --- Checkboxes grid (atende, idiomas, categorias) --- */
.lm-checkboxes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: .5rem;
}
.lm-check-label {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .85rem;
  border: 2px solid var(--lm-border);
  border-radius: 10px;
  cursor: pointer;
  font-size: .88rem;
  font-weight: 500;
  color: var(--lm-text);
  transition: var(--lm-transition);
  background: #fff;
}
.lm-check-label:hover {
  border-color: var(--lm-pink);
  color: var(--lm-pink);
}
.lm-check-label input[type="checkbox"] {
  accent-color: var(--lm-pink);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.lm-check-label input[type="checkbox"]:checked + span,
.lm-check-label:has(input:checked) {
  border-color: var(--lm-pink);
  background: var(--lm-pink-pale);
  color: var(--lm-pink);
}

/* --- Inline new category wrap --- */
.lm-new-cat-wrap {
  margin-top: .75rem;
  padding: 1rem;
  background: var(--lm-bg);
  border-radius: var(--lm-radius);
  border: 1px dashed var(--lm-border);
  display: none;
}
.lm-new-cat-wrap.open { display: block; }
.lm-new-cat-wrap .lm-form-row {
  display: flex;
  gap: .5rem;
  align-items: flex-end;
  flex-wrap: wrap;
}
.lm-new-cat-wrap .lm-form-row input {
  flex: 1;
  min-width: 180px;
}

/* --- Extras dynamic fields --- */
.lm-extras-list {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-bottom: 1rem;
}
.lm-extra-row {
  display: flex;
  gap: .5rem;
  align-items: center;
}
.lm-extra-row input {
  flex: 1;
}
.lm-extra-remove {
  background: none;
  border: none;
  color: var(--lm-muted);
  cursor: pointer;
  font-size: 1.1rem;
  padding: .25rem;
  border-radius: 6px;
  transition: var(--lm-transition);
  flex-shrink: 0;
}
.lm-extra-remove:hover { color: var(--lm-danger, #e74c3c); background: #fef2f2; }

/* --- Portfolio page --- */
.lm-portfolio {
  max-width: 960px;
  margin: 0 auto;
  padding: 2rem 1rem;
}
.lm-portfolio__header {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
}
.lm-portfolio__avatar {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--lm-pink);
  flex-shrink: 0;
}
.lm-portfolio__avatar-placeholder {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: var(--lm-pink-pale);
  border: 4px solid var(--lm-pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.5rem;
  flex-shrink: 0;
}
.lm-portfolio__meta { flex: 1; }
.lm-portfolio__name {
  font-size: 1.9rem;
  font-weight: 800;
  margin: 0 0 .35rem;
  color: var(--lm-text);
}
.lm-portfolio__location {
  font-size: .95rem;
  color: var(--lm-muted);
  margin: 0 0 .75rem;
}
.lm-portfolio__plan-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .35rem 1rem;
  border-radius: 50px;
  font-size: .8rem;
  font-weight: 700;
  margin-bottom: .75rem;
}
.lm-portfolio__bio {
  font-size: .95rem;
  color: var(--lm-text-light);
  line-height: 1.7;
  margin: 0;
}
.lm-portfolio__section {
  background: #fff;
  border-radius: var(--lm-radius-lg);
  padding: 1.5rem 2rem;
  box-shadow: var(--lm-shadow);
  margin-bottom: 1.5rem;
}
.lm-portfolio__section-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--lm-text);
  margin: 0 0 1.25rem;
  padding-bottom: .75rem;
  border-bottom: 2px solid var(--lm-pink-pale);
  display: flex;
  align-items: center;
  gap: .5rem;
}
.lm-portfolio__attrs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
}
.lm-portfolio__attr {
  background: var(--lm-bg);
  border-radius: 12px;
  padding: .75rem 1rem;
  text-align: center;
}
.lm-portfolio__attr-label {
  font-size: .75rem;
  color: var(--lm-muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  display: block;
  margin-bottom: .25rem;
}
.lm-portfolio__attr-value {
  font-size: .95rem;
  font-weight: 700;
  color: var(--lm-text);
}
.lm-portfolio__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.lm-portfolio__tag {
  background: var(--lm-pink-pale);
  color: var(--lm-pink);
  border-radius: 50px;
  padding: .35rem .9rem;
  font-size: .82rem;
  font-weight: 600;
}
.lm-portfolio__video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  border-radius: var(--lm-radius);
  overflow: hidden;
}
.lm-portfolio__video iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: none;
}
.lm-portfolio__extras {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .75rem;
}
.lm-portfolio__extra-item {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: .9rem;
}
.lm-portfolio__extra-key {
  font-weight: 600;
  color: var(--lm-text);
}
.lm-portfolio__extra-val { color: var(--lm-muted); }

.lm-portfolio__back-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: 1.5rem;
  font-size: .88rem;
  color: var(--lm-pink);
  text-decoration: none;
  font-weight: 600;
}
.lm-portfolio__back-link:hover { text-decoration: underline; }

@media (max-width: 600px) {
  .lm-portfolio__header { flex-direction: column; align-items: center; text-align: center; }
  .lm-portfolio__name { font-size: 1.5rem; }
  .lm-portfolio__section { padding: 1.25rem; }
  .lm-perfil-tabs { gap: .3rem; }
  .lm-perfil-tab { padding: .4rem .8rem; font-size: .8rem; }
  .lm-checkboxes-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   LOGO — header & mobile
   ============================================================ */
.lm-site-logo { display:inline-flex; align-items:center; text-decoration:none; }
.lm-site-logo img { height:52px; width:auto; display:block; }
.lm-sidebar-logo img { height:36px; width:auto; }

/* Finder header logo override */
.hp-header .hp-logo,
.hp-header__logo {
  display:flex !important;
  align-items:center !important;
}
.hp-header .hp-logo img,
.hp-header__logo img {
  height:52px !important;
  max-height:52px !important;
  width:auto !important;
  object-fit:contain !important;
}
/* Hide Finder text logo when custom logo is present */
.has-custom-logo .hp-logo__text,
.has-custom-logo .site-title { display:none !important; }

/* Login page logo */
.lm-auth__logo { text-align:center; margin-bottom:2rem; }
.lm-auth__logo img { height:64px; width:auto; }

/* ============================================================
   LISTING-SINGLE — Atributos / Tags / Grid
   ============================================================ */
.lm-attr-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px,1fr));
  gap: .75rem;
}
.lm-attr-grid--prices {
  grid-template-columns: repeat(auto-fill, minmax(180px,1fr));
}
.lm-price-card {
  background: var(--lm-pink-pale);
  border: 2px solid var(--lm-pink);
  border-radius: var(--lm-radius);
  padding: 1rem 1.25rem;
  text-align: center;
}
.lm-price-card__label { font-size:.8rem; color:var(--lm-muted); display:block; margin-bottom:.25rem; }
.lm-price-card__val   { font-size:1.4rem; font-weight:800; color:var(--lm-pink); display:block; }

.lm-attr-item {
  background: var(--lm-bg);
  border-radius: 10px;
  padding: .7rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.lm-attr-item__label { font-size:.72rem; font-weight:700; color:var(--lm-muted); text-transform:uppercase; letter-spacing:.04em; }
.lm-attr-item__val   { font-size:.92rem; font-weight:600; color:var(--lm-text); }

.lm-attr-tags-row { display:flex; flex-wrap:wrap; gap:.5rem; }
.lm-attr-tag {
  display: inline-flex; align-items: center; gap:.3rem;
  padding: .4rem .9rem;
  background: var(--lm-bg);
  border: 1px solid var(--lm-border);
  border-radius: 50px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--lm-text);
  text-decoration: none;
  transition: var(--lm-transition);
}
.lm-attr-tag:hover { border-color:var(--lm-pink); color:var(--lm-pink); }
.lm-attr-tag--pink   { background:var(--lm-pink-pale); color:var(--lm-pink); border-color:var(--lm-pink); }
.lm-attr-tag--blue   { background:#e8f4fd; color:#1e6fa5; border-color:#91caeb; }
.lm-attr-tag--purple { background:#f3e8ff; color:#6d28d9; border-color:#c4b5fd; }
.lm-attr-tag--green  { background:#dcfce7; color:#166534; border-color:#86efac; }

/* ============================================================
   MENU CENTRALIZADO
   ============================================================ */
.hp-header .hp-header__inner,
.finder-header .header-inner,
.site-header .header-inner,
nav.navbar { justify-content: center !important; }

.hp-header__menu,
.hp-header nav,
.primary-navigation > ul,
.nav-menu {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 2rem !important;
  list-style: none !important;
  margin: 0 auto !important;
}
.hp-header { position: sticky; top:0; z-index:1000; background:#fff; box-shadow:0 1px 12px rgba(0,0,0,.08); }

/* Logo tamanho ajustável via CSS var —— alterado pelo Customizer */
.hp-header .hp-logo img,
.hp-header__logo img,
.lm-site-logo img,
.lm-auth-logo img {
  height: var(--lm-logo-height, 52px) !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain;
}

/* ============================================================
   MOBILE-FIRST — Base (≤ 640px)
   ============================================================ */
@media (max-width: 640px) {
  /* Tipografia */
  :root { --lm-logo-height: 40px; }
  h1 { font-size: 1.6rem !important; }
  h2 { font-size: 1.25rem !important; }

  /* Container */
  .lm-container { padding: 0 1rem !important; }
  .lm-section   { padding: 2rem 0 !important; }

  /* Hero */
  .lm-hero { min-height: 90svh !important; padding: 2rem 1rem !important; }
  .lm-hero__title { font-size: 1.8rem !important; line-height:1.2; }
  .lm-hero__subtitle { font-size: 1rem !important; }
  .lm-search-bar { flex-direction: column !important; gap: .5rem !important; }
  .lm-search-bar input, .lm-search-bar select { border-radius: 10px !important; }
  .lm-search-btn { border-radius: 10px !important; width:100%; }

  /* Stats bar */
  .lm-stats-bar { grid-template-columns: 1fr 1fr !important; gap:.75rem !important; }

  /* Carrossel */
  .lm-carousel__track { gap: .75rem !important; }
  .lm-carousel__card  { width: 240px !important; min-width: 240px !important; }
  .lm-carousel__arrow { width:36px!important; height:36px!important; }

  /* Listings grid */
  .lm-listings-grid { grid-template-columns: 1fr !important; }
  .lm-listing-card__img { height: 200px !important; }

  /* Categorias grid */
  .lm-categories-grid { grid-template-columns: 1fr 1fr !important; }
  .lm-category-card   { padding: 1rem .75rem !important; }

  /* Planos */
  .lm-plans-grid { grid-template-columns: 1fr !important; }

  /* Login */
  .lm-auth-page { padding: 1rem !important; }
  .lm-auth-card { padding: 1.5rem 1.25rem !important; }

  /* Painel */
  .lm-painel { flex-direction: column !important; }
  .lm-painel__sidebar {
    width: 100% !important;
    height: auto !important;
    position: static !important;
    border-right: none !important;
    border-bottom: 1px solid var(--lm-border) !important;
  }
  .lm-sidebar__nav {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    padding: .5rem !important;
    gap: .25rem !important;
  }
  .lm-sidebar__nav-item {
    flex-direction: column !important;
    font-size: .7rem !important;
    padding: .5rem .25rem !important;
    text-align: center !important;
    border-right: none !important;
    border-bottom: 2px solid transparent !important;
  }
  .lm-sidebar__nav-item--active {
    border-right: none !important;
    border-bottom-color: var(--lm-pink) !important;
  }
  .lm-sidebar__nav-item .lm-sidebar__nav-icon { margin-right: 0 !important; font-size: 1.2rem !important; }
  .lm-painel__main { padding: 1rem !important; }

  /* Listing single */
  .lm-listing-layout { flex-direction: column !important; gap: 0 !important; }
  .lm-listing-sidebar {
    position: static !important;
    width: 100% !important;
    order: -1 !important; /* sidebar aparece antes do conteúdo no mobile */
    padding: 0 !important;
  }
  .lm-contact-card { border-radius: 0 !important; }
  .lm-gallery { height: 260px !important; }
  .lm-gallery__thumb-strip { display: none !important; }

  /* Atributos */
  .lm-attr-grid { grid-template-columns: 1fr 1fr !important; }
  .lm-attr-grid--prices { grid-template-columns: 1fr !important; }

  /* Buscar */
  .lm-search-layout { flex-direction: column !important; }
  .lm-search-sidebar { width: 100% !important; }

  /* Portfólio */
  .lm-portfolio__header { flex-direction: column !important; align-items: center !important; text-align: center !important; }
  .lm-portfolio__attrs  { grid-template-columns: 1fr 1fr !important; }

  /* Admin painel */
  .lm-painel__header { flex-direction: column !important; gap: .75rem !important; }

  /* Botões */
  .lm-btn--lg { padding: .85rem 1.5rem !important; font-size: .95rem !important; }

  /* WhatsApp float — reposicionar */
  .lm-whatsapp-float { bottom: 1.25rem !important; right: 1.25rem !important; width: 52px !important; height: 52px !important; }

  /* Steps */
  .lm-steps { flex-direction: column !important; }
  .lm-step  { flex-direction: row !important; align-items: flex-start !important; text-align: left !important; }
  .lm-step::after { display: none !important; }

  /* Plans page */
  .lm-plans-period-tabs { flex-direction: column !important; }
  .lm-plan-opt-duo { grid-template-columns: 1fr !important; }
}

/* Tablet (641–1024px) */
@media (min-width: 641px) and (max-width: 1024px) {
  .lm-listings-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .lm-categories-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .lm-plans-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .lm-carousel__card { width: 260px !important; }
  .lm-painel__sidebar { width: 200px !important; }
  .lm-attr-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* App-like meta tags hint (via PHP echo in header) */
/* viewport-fit=cover, safe-area insets already handled */
.lm-safe-bottom { padding-bottom: env(safe-area-inset-bottom, 0); }

/* ============================================================
   PLANS PAGE v2 — Períodos 7 e 30 dias
   ============================================================ */
.lm-plans-period-tabs {
  display: flex; justify-content: center; gap: 1rem;
  margin-bottom: 2.5rem; flex-wrap: wrap;
}
.lm-period-tab {
  padding: .7rem 2rem;
  border-radius: 50px;
  border: 2px solid var(--lm-border);
  background: #fff;
  font-size: .95rem; font-weight: 700;
  cursor: pointer; transition: var(--lm-transition);
  color: var(--lm-muted);
}
.lm-period-tab.active,
.lm-period-tab:hover {
  background: var(--lm-pink); border-color: var(--lm-pink); color: #fff;
}
.lm-plans-period { display: none; }
.lm-plans-period.active { display: block; }

.lm-plan-opt-duo {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.5rem;
}

/* ============================================================
   LISTING FORM — Multi-tab Anúncio
   ============================================================ */
.lm-anuncio-section { display: block; }
.lm-anuncio-nav {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 2rem; padding-top: 1.5rem;
  border-top: 1px solid var(--lm-border);
}
.lm-checkboxes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: .5rem;
}
@media (max-width: 640px) {
  .lm-plan-opt-duo { grid-template-columns: 1fr; }
  .lm-anuncio-nav { flex-direction: column; gap: .75rem; }
  .lm-anuncio-nav .lm-btn { width: 100%; text-align: center; }
  .lm-checkboxes-grid { grid-template-columns: 1fr 1fr; }
}

/* ─── LOVE MASSAGENS — HEADER/FOOTER PRÓPRIO ───────────────── */
.lm-site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--lm-border);box-shadow:0 4px 22px rgba(233,30,140,.08)}
.lm-site-header__inner{max-width:1180px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.lm-site-header__brand img,.lm-logo img{display:block;max-height:58px;width:auto}
.lm-site-nav{display:flex;align-items:center;gap:6px}
.lm-site-nav__link{display:inline-flex;align-items:center;padding:10px 13px;border-radius:999px;color:var(--lm-text);font-weight:700;font-size:.94rem;text-decoration:none}
.lm-site-nav__link:hover,.lm-site-nav__link--active{background:var(--lm-pink-ultra);color:var(--lm-pink)}
.lm-site-header__actions{display:flex;align-items:center;gap:10px}
.lm-header-cta{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;background:linear-gradient(135deg,var(--lm-pink),var(--lm-pink-light));color:#fff!important;font-weight:800;box-shadow:0 8px 22px rgba(233,30,140,.24)}
.lm-header-login{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;border:1px solid var(--lm-border);color:var(--lm-pink)!important;font-weight:800;background:#fff}
.lm-menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--lm-border);border-radius:12px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.lm-menu-toggle span{width:20px;height:2px;background:var(--lm-pink);border-radius:99px;display:block}
.lm-mobile-menu{display:none;background:#fff;border-top:1px solid var(--lm-border);padding:10px 20px 18px}
.lm-mobile-menu a{display:block;padding:13px 10px;border-radius:12px;color:var(--lm-text);font-weight:800}
.lm-mobile-menu a:hover{background:var(--lm-pink-ultra);color:var(--lm-pink)}
.lm-site-footer{background:var(--lm-dark);color:#fff;margin-top:64px;padding:42px 0}
.lm-site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.lm-site-footer p{margin:12px 0 0;color:rgba(255,255,255,.72)}
.lm-site-footer__links{display:flex;gap:16px;flex-wrap:wrap}
.lm-site-footer__links a{color:#fff;font-weight:700;opacity:.86}
.lm-site-footer__links a:hover{opacity:1;color:var(--lm-pink-light)}
@media (max-width: 900px){.lm-site-nav{display:none}.lm-menu-toggle{display:flex}.lm-mobile-menu--open{display:block}.lm-header-cta{display:none}.lm-site-footer__inner{align-items:flex-start;flex-direction:column}.lm-site-footer__links{flex-direction:column;gap:8px}}
.lm-free-plan-note{max-width:920px;margin:1.25rem auto 0;padding:1rem 1.25rem;border:1px dashed var(--lm-border);border-radius:16px;background:#fff;color:var(--lm-muted);text-align:center;font-weight:600}.lm-free-plan-note strong{color:var(--lm-pink-dark)}

/* ===== Love Massagens v1.0.3 ajustes finais ===== */
.lm-container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.lm-section{padding:64px 0}.lm-section--light{background:var(--lm-pink-ultra)}.lm-section__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.lm-section__head--center{text-align:center;display:block}.lm-section__title{font-size:clamp(1.7rem,3vw,2.6rem);margin:0 0 8px}.lm-section__sub{color:var(--lm-muted);margin:0}.lm-kicker{display:inline-flex;color:var(--lm-pink);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:10px}.lm-link-more{font-weight:800;color:var(--lm-pink-dark)}
.lm-home-hero{background:radial-gradient(circle at 20% 20%,rgba(233,30,140,.25),transparent 28%),linear-gradient(135deg,#12040e,#42102e 58%,#e91e8c);color:#fff;padding:86px 0 70px}.lm-home-hero__inner{display:grid;grid-template-columns:1.4fr .6fr;gap:34px;align-items:center}.lm-home-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,4.8rem);margin:0 0 18px;max-width:820px}.lm-home-hero p{color:rgba(255,255,255,.82);font-size:1.05rem;max-width:700px}.lm-home-search{display:grid;grid-template-columns:1.2fr .9fr .9fr auto;gap:10px;background:#fff;padding:10px;border-radius:22px;box-shadow:0 18px 60px rgba(0,0,0,.22);margin-top:28px}.lm-home-search input,.lm-home-search select,.lm-filter-panel input,.lm-filter-panel select{width:100%;border:1px solid var(--lm-border);border-radius:14px;padding:13px 14px;background:#fff;color:var(--lm-text);font-weight:600}.lm-home-hero__panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:30px;text-align:center;backdrop-filter:blur(10px)}.lm-home-hero__stat{margin:18px 0}.lm-home-hero__stat strong{display:block;color:#fff;font-size:2.2rem}.lm-home-hero__stat span{color:rgba(255,255,255,.75)}
.lm-listings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.lm-listings-grid--premium{grid-template-columns:repeat(4,minmax(0,1fr))}.lm-card{background:#fff;border:1px solid var(--lm-border);border-radius:24px;overflow:hidden;box-shadow:var(--lm-shadow);display:flex;flex-direction:column;min-height:100%;transition:var(--lm-transition)}.lm-card:hover{transform:translateY(-4px);box-shadow:var(--lm-shadow-lg)}.lm-card--plan-ouro{border-color:rgba(245,166,35,.75)}.lm-card--plan-prata{border-color:rgba(142,68,173,.55)}.lm-card--plan-bronze{border-color:rgba(205,127,50,.45)}.lm-card--plan-free{opacity:.9}.lm-card__thumb-wrap{position:relative;display:block;aspect-ratio:4/3;background:#fff0f7;overflow:hidden}.lm-card__thumb{width:100%;height:100%;object-fit:cover;display:block}.lm-card__thumb-placeholder{height:100%;display:grid;place-items:center;font-family:var(--lm-font-head);font-size:2rem;color:var(--lm-pink);background:linear-gradient(135deg,#fff,#ffe0f0)}.lm-card__plan-badge,.lm-card__verified{position:absolute;left:12px;top:12px;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.18)}.lm-card__verified{left:auto;right:12px;background:var(--lm-success)}.lm-card__plan-badge--ouro{background:var(--lm-ouro)}.lm-card__plan-badge--prata{background:var(--lm-prata)}.lm-card__plan-badge--bronze{background:var(--lm-bronze)}.lm-card__plan-badge--free{background:#778}.lm-card__body{padding:16px;flex:1}.lm-card__cat{display:inline-flex;font-size:.72rem;font-weight:900;color:var(--lm-pink-dark);background:var(--lm-pink-ultra);padding:4px 9px;border-radius:999px;margin-bottom:8px}.lm-card__title{font-family:var(--lm-font-head);font-size:1.25rem;margin:0 0 5px}.lm-card__location,.lm-card__excerpt{font-size:.88rem;color:var(--lm-muted);margin:6px 0}.lm-card__tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.lm-card__tags span,.lm-service-tags span{background:#fdf0f7;color:var(--lm-pink-dark);border:1px solid var(--lm-border);font-size:.72rem;font-weight:800;border-radius:999px;padding:4px 9px}.lm-card__footer{display:flex;gap:8px;padding:0 16px 16px}.lm-btn--sm{padding:8px 13px;font-size:.78rem}.lm-btn--primary,.lm-btn.lm-btn--primary{background:linear-gradient(135deg,var(--lm-pink),var(--lm-pink-dark));color:#fff}.lm-btn--outline,.lm-btn.lm-btn--outline{background:#fff;color:var(--lm-pink-dark);border:1px solid var(--lm-border)}.lm-btn--whatsapp,.lm-btn.lm-btn--whatsapp{background:#22c55e;color:#fff}.lm-btn--full{width:100%;justify-content:center;margin-top:10px}.lm-categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.lm-cat-card{background:#fff;border:1px solid var(--lm-border);border-radius:20px;padding:18px;text-align:center;box-shadow:var(--lm-shadow)}.lm-cat-card__icon{display:block;font-size:1.8rem}.lm-cat-card__name{display:block;color:var(--lm-dark);font-weight:900;margin:6px 0}.lm-cat-card__count{font-size:.78rem;color:var(--lm-muted)}.lm-section__badge{display:inline-flex;padding:6px 12px;border-radius:999px;font-weight:900;font-size:.76rem;margin-bottom:8px}.lm-section__badge--ouro{background:var(--lm-ouro-bg);color:#9a6500}.lm-section__badge--prata{background:var(--lm-prata-bg);color:var(--lm-prata)}.lm-section__badge--bronze{background:var(--lm-bronze-bg);color:var(--lm-bronze)}.lm-section--dark-cta{background:var(--lm-dark);color:#fff}.lm-cta-box{display:flex;align-items:center;justify-content:space-between;gap:28px}.lm-cta-box h2{color:#fff;font-size:2rem;margin:0 0 10px}.lm-cta-box p{color:rgba(255,255,255,.72);margin:0}.lm-filter-panel{display:grid;grid-template-columns:1.1fr .8fr .8fr .8fr .8fr .7fr auto;gap:10px;background:#fff;border:1px solid var(--lm-border);border-radius:24px;padding:14px;box-shadow:var(--lm-shadow);margin-bottom:28px}.lm-search-page{padding:50px 0 70px;background:var(--lm-bg)}.lm-pagination{text-align:center;margin-top:30px}.lm-empty{text-align:center;background:#fff;border:1px solid var(--lm-border);border-radius:24px;padding:48px 24px;box-shadow:var(--lm-shadow)}.lm-empty__icon{font-size:2.5rem}.lm-empty__text{color:var(--lm-muted)}
.lm-single-hero{background:linear-gradient(135deg,#12040e,#5b123d);padding:42px 0;color:#fff}.lm-single-hero__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}.lm-single-gallery__main{position:relative;border-radius:28px;overflow:hidden;background:#fff0f7;aspect-ratio:4/3;box-shadow:0 18px 60px rgba(0,0,0,.22)}.lm-single-gallery__img{width:100%;height:100%;object-fit:cover}.lm-single-gallery__placeholder{height:100%;display:grid;place-items:center;color:var(--lm-pink);font-family:var(--lm-font-head);font-size:2.5rem}.lm-single-gallery__thumbs{display:flex;gap:10px;overflow:auto;margin-top:10px}.lm-single-gallery__thumb{width:86px;height:70px;object-fit:cover;border-radius:14px;border:2px solid rgba(255,255,255,.45)}.lm-single-card{background:#fff;color:var(--lm-text);border-radius:28px;padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.22)}.lm-single-card h1{font-size:clamp(2rem,4vw,3.2rem);margin:8px 0}.lm-single-card__lead{font-size:1rem;color:var(--lm-muted)}.lm-single-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.lm-single-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.lm-single-mini-grid div{background:var(--lm-pink-ultra);border:1px solid var(--lm-border);border-radius:16px;padding:12px}.lm-single-mini-grid strong{display:block;color:var(--lm-pink-dark);font-size:.78rem;text-transform:uppercase}.lm-single-mini-grid span{font-size:.88rem}.lm-single-layout{display:grid;grid-template-columns:1fr 330px;gap:24px}.lm-info-box{background:#fff;border:1px solid var(--lm-border);border-radius:24px;padding:24px;box-shadow:var(--lm-shadow);margin-bottom:18px}.lm-info-box h2,.lm-info-box h3{margin:0 0 12px}.lm-service-tags{display:flex;flex-wrap:wrap;gap:8px}.lm-price-table{display:grid;gap:8px}.lm-price-table div{display:flex;justify-content:space-between;border-bottom:1px solid var(--lm-border);padding:10px 0}.lm-single-sticky{position:sticky;top:20px;height:max-content}.lm-whatsapp-float--single{font-weight:900;border-radius:999px;padding:12px 18px}
@media(max-width:980px){.lm-home-hero__inner,.lm-single-hero__inner,.lm-single-layout{grid-template-columns:1fr}.lm-home-search,.lm-filter-panel{grid-template-columns:1fr}.lm-listings-grid,.lm-listings-grid--premium,.lm-categories-grid{grid-template-columns:repeat(2,1fr)}.lm-cta-box{display:block;text-align:center}.lm-cta-box .lm-btn{margin-top:20px}.lm-single-sticky{position:static}}@media(max-width:560px){.lm-container{width:min(100% - 22px,1180px)}.lm-section{padding:42px 0}.lm-home-hero{padding:54px 0}.lm-listings-grid,.lm-categories-grid{grid-template-columns:1fr}.lm-section__head{display:block;text-align:center}.lm-card__footer{flex-direction:column}.lm-card__footer .lm-btn{justify-content:center}.lm-single-mini-grid{grid-template-columns:1fr}.lm-single-card{padding:22px}.lm-info-box{padding:18px}.lm-home-hero__panel{display:none}}

.lm-site-header__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;width:min(1180px,calc(100% - 32px));margin-inline:auto}.lm-site-nav{display:flex;justify-content:center;align-items:center;gap:6px}.lm-logo img{max-height:54px!important;width:auto!important}.lm-site-header__brand{display:flex;align-items:center}.lm-menu-toggle{display:none}@media(max-width:980px){.lm-site-nav{display:none}.lm-menu-toggle{display:inline-flex}.lm-mobile-menu{display:none}.lm-mobile-menu.lm-mobile-menu--open{display:grid}}


/* ===== Love Massagens v1.0.4 — busca premium, carrossel com setas e página do serviço ===== */
.lm-section--paid-home{background:linear-gradient(180deg,#fff,#fff6fb)}
.lm-paid-carousel{position:relative;margin-top:8px}
.lm-paid-carousel__viewport{overflow:hidden;scroll-behavior:smooth;padding:8px 3px 18px}
.lm-paid-carousel__track{display:flex;gap:18px;align-items:stretch}
.lm-paid-carousel__slide{flex:0 0 calc((100% - 54px)/4);min-width:260px;display:flex}.lm-paid-carousel__slide .lm-card{width:100%}
.lm-paid-carousel__arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:5;width:48px;height:48px;border-radius:999px;border:1px solid var(--lm-border);background:#fff;color:var(--lm-pink);box-shadow:0 12px 30px rgba(0,0,0,.14);font-size:2rem;font-weight:900;display:grid;place-items:center;cursor:pointer;transition:var(--lm-transition)}
.lm-paid-carousel__arrow:hover{background:var(--lm-pink);color:#fff}.lm-paid-carousel__arrow--prev{left:-18px}.lm-paid-carousel__arrow--next{right:-18px}
.lm-search-premium{background:var(--lm-bg)}.lm-search-hero{background:radial-gradient(circle at 85% 10%,rgba(233,30,140,.32),transparent 28%),linear-gradient(135deg,#160511,#57163e 62%,#e91e8c);color:#fff;padding:62px 0}.lm-search-hero__inner{display:grid;grid-template-columns:1fr 260px;gap:28px;align-items:center}.lm-search-hero h1{color:#fff;font-size:clamp(2rem,4.2vw,4rem);margin:0 0 12px}.lm-search-hero p{color:rgba(255,255,255,.82);margin:0;max-width:780px}.lm-search-hero__box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:26px;text-align:center;backdrop-filter:blur(12px)}.lm-search-hero__box strong{display:block;color:#fff;font-size:2.6rem}.lm-search-hero__box span{color:rgba(255,255,255,.78)}
.lm-search-layout-premium{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}.lm-search-sidebar-premium{position:sticky;top:88px}.lm-filter-card{background:#fff;border:1px solid var(--lm-border);border-radius:28px;padding:22px;box-shadow:var(--lm-shadow)}.lm-filter-card__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.lm-filter-card__head h2{font-size:1.3rem;margin:0}.lm-filter-card__head a{color:var(--lm-pink);font-weight:800}.lm-filter-card label{display:block;color:var(--lm-muted);font-weight:800;font-size:.82rem;margin-bottom:12px}.lm-filter-card input,.lm-filter-card select{width:100%;margin-top:6px;border:1px solid var(--lm-border);border-radius:14px;background:#fff;padding:12px 13px;color:var(--lm-text);font-weight:700}.lm-filter-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lm-search-results-premium{min-width:0}.lm-results-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.lm-results-head h2{font-size:2rem;margin:0}.lm-results-head p{margin:0;color:var(--lm-muted);font-weight:700}.lm-listings-grid--search{grid-template-columns:repeat(3,minmax(0,1fr))}
.lm-single-gallery__main .lm-single-gallery__img{display:none}.lm-single-gallery__main .lm-single-gallery__img.is-active{display:block}.lm-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.92);color:var(--lm-pink);font-size:2rem;font-weight:900;display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.2);cursor:pointer}.lm-gallery-arrow--prev{left:14px}.lm-gallery-arrow--next{right:14px}.lm-single-gallery__thumb{cursor:pointer;opacity:.7;transition:var(--lm-transition)}.lm-single-gallery__thumb.is-active,.lm-single-gallery__thumb:hover{opacity:1;border-color:var(--lm-pink)!important;transform:translateY(-2px)}
.lm-single .lm-info-box{line-height:1.75}.lm-single-actions .lm-btn{min-width:150px;justify-content:center}.lm-single-card{border:1px solid rgba(233,30,140,.12)}.lm-single-content{min-width:0}.lm-whatsapp-float--single{position:fixed;right:22px;bottom:22px;z-index:9999;background:#22c55e;color:#fff;text-decoration:none;box-shadow:0 14px 35px rgba(34,197,94,.32)}
@media(max-width:1100px){.lm-paid-carousel__slide{flex-basis:calc((100% - 18px)/2)}.lm-listings-grid--search{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-search-layout-premium{grid-template-columns:1fr}.lm-search-sidebar-premium{position:static}}
@media(max-width:760px){.lm-search-hero__inner{grid-template-columns:1fr}.lm-search-hero__box{text-align:left}.lm-paid-carousel__slide{flex-basis:86%;min-width:260px}.lm-paid-carousel__arrow{width:42px;height:42px}.lm-paid-carousel__arrow--prev{left:2px}.lm-paid-carousel__arrow--next{right:2px}.lm-filter-two{grid-template-columns:1fr}.lm-results-head{display:block;text-align:center}.lm-listings-grid--search{grid-template-columns:1fr}.lm-search-sidebar-premium{order:-1}.lm-search-hero{padding:46px 0}.lm-gallery-arrow{width:40px;height:40px}.lm-single-actions .lm-btn{width:100%}}

/* ==========================================================
   Love Massagens v1.0.5 — Design premium + segurança + UX
   ========================================================== */
.lm-home-hero--premium{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 15%,rgba(233,30,140,.16),transparent 34%),linear-gradient(135deg,#fff7fc 0%,#fff 52%,#fdf0f7 100%)}
.lm-home-search--premium{box-shadow:0 22px 70px rgba(70,13,49,.13);border:1px solid rgba(233,30,140,.14)}
.lm-trust-row{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.15rem}.lm-trust-row span{background:#fff;border:1px solid rgba(233,30,140,.14);border-radius:999px;padding:.48rem .8rem;font-weight:800;font-size:.78rem;color:#56163b;box-shadow:0 8px 22px rgba(40,8,27,.05)}
.lm-home-hero__panel--glass{background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border:1px solid rgba(233,30,140,.16)}.lm-hero-security-card{background:linear-gradient(135deg,#210917,#491030);color:#fff;border-radius:18px;padding:1rem;margin:1rem 0;text-align:left}.lm-hero-security-card strong{display:block;font-size:1rem}.lm-hero-security-card span{display:block;opacity:.78;font-size:.84rem;margin-top:.25rem;line-height:1.45}
.lm-card--premium{transition:transform .2s ease, box-shadow .2s ease}.lm-card--premium:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(76,10,50,.15)}.lm-card__available{position:absolute;left:12px;bottom:12px;background:#13a86b;color:#fff;border-radius:999px;padding:.32rem .55rem;font-size:.68rem;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.16)}
.lm-listings-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.lm-section--plan-strip{padding-top:3rem;padding-bottom:3rem}.lm-plan-strip--ouro{background:linear-gradient(180deg,#fffaf0,#fff)}.lm-plan-strip--prata{background:linear-gradient(180deg,#f7f8fb,#fff)}.lm-plan-strip--bronze{background:linear-gradient(180deg,#fff6ef,#fff)}
.lm-how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.lm-how-grid>div{background:#fff;border:1px solid rgba(233,30,140,.13);border-radius:22px;padding:1.4rem;box-shadow:0 16px 45px rgba(43,7,28,.06)}.lm-how-grid b{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--lm-pink);color:#fff;font-size:1.05rem;margin-bottom:.85rem}.lm-how-grid h3{margin:.1rem 0 .4rem;font-size:1.05rem}.lm-how-grid p{margin:0;color:var(--lm-muted);line-height:1.55}.lm-how-grid--security b{background:#17101a}
.lm-section--brand-safe{background:linear-gradient(135deg,#190713,#371026);color:#fff}.lm-brand-safe-box{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:2rem}.lm-brand-safe-box h2{font-family:var(--lm-font-head);font-size:2rem;margin:.25rem 0 .6rem;color:#fff}.lm-brand-safe-box p{margin:0;color:rgba(255,255,255,.76);line-height:1.7}.lm-brand-safe-actions{display:flex;gap:.8rem;flex-wrap:wrap;flex-shrink:0}.lm-info-box--wide{margin:1rem 0;padding:2rem}.lm-info-page .lm-info-box h1{font-family:var(--lm-font-head);font-size:2rem;margin:.25rem 0 1rem}.lm-check-list{margin:0;padding-left:1rem;color:var(--lm-muted);line-height:1.8}.lm-small-note{font-size:.9rem;color:var(--lm-muted);margin-top:1rem}.lm-safety-box{border-color:rgba(19,168,107,.2);background:linear-gradient(180deg,#fff,#f5fff9)}
.lm-search-hero--premium{background:radial-gradient(circle at 80% 0,rgba(233,30,140,.15),transparent 30%),linear-gradient(135deg,#190713,#45122f);color:#fff}.lm-search-hero--premium h1,.lm-search-hero--premium p{color:#fff}.lm-search-hero--premium p{opacity:.78}.lm-search-hero__box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px)}.lm-mobile-filter-toggle{display:none;width:100%;border:0;background:var(--lm-pink);color:#fff;border-radius:16px;padding:1rem 1.15rem;font-weight:900;margin-bottom:1rem;box-shadow:0 12px 30px rgba(233,30,140,.22)}.lm-filter-check{display:flex!important;gap:.55rem;align-items:center;line-height:1.4;background:#fff7fc;border:1px solid var(--lm-border);border-radius:12px;padding:.75rem!important;margin:.25rem 0 .95rem!important}.lm-filter-check input{width:auto!important;margin:0!important}.lm-search-sidebar-premium{position:sticky;top:95px}.lm-filter-card textarea{width:100%;border:1.5px solid var(--lm-border);border-radius:12px;padding:.9rem;background:#fff;color:var(--lm-dark)}
.lm-single--premium .lm-single-card--premium{border:1px solid rgba(233,30,140,.16);box-shadow:0 24px 70px rgba(63,9,42,.13)}.lm-profile-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}.lm-profile-quick-actions .lm-btn:first-child{grid-column:1/-1}.lm-social-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 1rem}.lm-social-actions a{background:#fff7fc;border:1px solid var(--lm-border);border-radius:999px;padding:.45rem .8rem;font-weight:800;text-decoration:none;color:var(--lm-pink)}
.lm-alert{border-radius:16px;padding:1rem 1.15rem;font-weight:800;margin-bottom:1rem}.lm-alert--success{background:#e8f8ee;color:#1b5e20;border:1px solid #a5d6a7}.lm-alert--danger{background:#ffebee;color:#b71c1c;border:1px solid #ef9a9a}
@media(max-width:980px){.lm-listings-grid--compact,.lm-how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-brand-safe-box{display:block}.lm-brand-safe-actions{margin-top:1.2rem}.lm-search-sidebar-premium{position:static}.lm-mobile-filter-toggle{display:block}.lm-search-sidebar-premium[data-filter-panel]{display:none}.lm-search-sidebar-premium[data-filter-panel].is-open{display:block}.lm-profile-quick-actions{grid-template-columns:1fr}.lm-listings-grid--search{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.lm-listings-grid--compact,.lm-listings-grid--search,.lm-how-grid{grid-template-columns:1fr}.lm-trust-row span{width:100%;text-align:center}.lm-brand-safe-box h2{font-size:1.55rem}.lm-info-box--wide{padding:1.25rem}.lm-home-hero__copy h1{font-size:2rem}.lm-home-search--premium{display:grid;grid-template-columns:1fr}.lm-single-mini-grid{grid-template-columns:1fr}.lm-card__footer{display:grid;grid-template-columns:1fr 1fr}.lm-paid-carousel__slide{min-width:82vw}}

/* ============================================================
   LOVE MASSAGENS — PREMIUM v2.0
   Single Page · Cards v2 · Plans v2 · Global polish
   ============================================================ */

/* ── Google Fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');

/* ── CONTAINER ────────────────────────────────────────────── */
.lms-container { width: min(1200px, 94vw); margin-inline: auto; }

/* ── BOTÕES (harmonizados) ────────────────────────────────── */
.lms-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 24px; border-radius: 50px; border: 2px solid transparent;
  font-weight: 700; font-size: .92rem; cursor: pointer;
  transition: all .2s ease; text-decoration: none; line-height: 1;
}
.lms-btn--whatsapp {
  background: #25d366; color: #fff; border-color: #25d366;
  box-shadow: 0 4px 16px rgba(37,211,102,.3);
}
.lms-btn--whatsapp:hover { background: #1ebe5d; transform: translateY(-2px); color: #fff; }
.lms-btn--outline  { background: transparent; color: var(--lm-pink); border-color: var(--lm-pink); }
.lms-btn--outline:hover { background: var(--lm-pink); color: #fff; }
.lms-btn--ghost    { background: transparent; color: var(--lm-muted); border-color: var(--lm-border); }
.lms-btn--ghost:hover { border-color: var(--lm-pink); color: var(--lm-pink); }
.lms-btn--dark     { background: var(--lm-dark); color: #fff; border-color: var(--lm-dark); }
.lms-btn--dark:hover { opacity: .88; color: #fff; }
.lms-btn--sm       { padding: 8px 16px; font-size: .82rem; }
.lms-btn--full     { width: 100%; justify-content: center; }

/* ── KICKER / BADGE ───────────────────────────────────────── */
.lms-kicker {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--lm-pink-pale); border: 1px solid var(--lm-border);
  color: var(--lm-pink-dark); border-radius: 999px;
  padding: 5px 14px; font-weight: 700; font-size: .78rem;
  text-transform: uppercase; letter-spacing: .07em;
}
.lms-plan-badge {
  display: inline-block; padding: 4px 12px; border-radius: 999px;
  font-size: .75rem; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase;
}
.lms-plan-badge--ouro   { background: linear-gradient(135deg,#f5a623,#e8920f); color: #fff; }
.lms-plan-badge--prata  { background: linear-gradient(135deg,#8e44ad,#6c3483); color: #fff; }
.lms-plan-badge--bronze { background: linear-gradient(135deg,#cd7f32,#b8692a); color: #fff; }
.lms-plan-badge--free   { background: #e9ecef; color: #666; }
.lms-badge { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .72rem; font-weight: 700; }
.lms-badge--verified { background: var(--lm-success); color: #fff; }
.lms-badge--available{ background: #00b894; color: #fff; }

/* ══════════════════════════════════════════════════════════
   CARD v2 — com mini galeria
══════════════════════════════════════════════════════════ */
.lm-card--v2 {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(233,30,140,.08);
  border: 1.5px solid var(--lm-border);
  display: flex; flex-direction: column;
  transition: all .22s ease;
}
.lm-card--v2:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(233,30,140,.16);
  border-color: var(--lm-pink);
}

/* Media */
.lm-card__media {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: var(--lm-pink-pale);
}
.lm-card__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transition: opacity .3s ease;
}
.lm-card__img.is-active { opacity: 1; }
.lm-card__thumb-placeholder {
  position: absolute; inset: 0;
  display: grid; place-items: center;
  font-size: 3rem; color: var(--lm-pink); background: var(--lm-pink-pale);
}
.lm-card__link-overlay { position: absolute; inset: 0; z-index: 1; }

/* Setas card */
.lm-card__arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 5; background: rgba(255,255,255,.92); color: var(--lm-dark);
  border: none; border-radius: 50%; width: 34px; height: 34px;
  font-size: 1.3rem; font-weight: 900; cursor: pointer;
  display: grid; place-items: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.18);
  transition: all .18s ease; line-height: 1;
}
.lm-card__arrow:hover { background: var(--lm-pink); color: #fff; transform: translateY(-50%) scale(1.08); }
.lm-card__arrow--prev { left: 10px; }
.lm-card__arrow--next { right: 10px; }

/* Dots */
.lm-card__dots {
  position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);
  z-index: 4; display: flex; gap: 5px;
}
.lm-card__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,.5); transition: all .2s;
}
.lm-card__dot.is-active { background: #fff; transform: scale(1.3); }

/* Badges do card */
.lm-card__badges {
  position: absolute; top: 10px; left: 10px; z-index: 4;
  display: flex; flex-direction: column; gap: 5px;
}
.lm-card__photo-count {
  position: absolute; bottom: 10px; right: 10px; z-index: 4;
  background: rgba(0,0,0,.55); color: #fff; border-radius: 999px;
  padding: 3px 10px; font-size: .72rem; font-weight: 700;
  backdrop-filter: blur(4px);
}

/* Corpo */
.lm-card__body { padding: 14px 16px 10px; flex: 1; }
.lm-card__cat  { font-size: .72rem; font-weight: 700; color: var(--lm-pink); text-transform: uppercase; letter-spacing: .06em; }
.lm-card__title { margin: 5px 0 4px; font-size: 1.05rem; font-family: var(--lm-font-head); }
.lm-card__title a { color: var(--lm-dark); }
.lm-card__title a:hover { color: var(--lm-pink); }
.lm-card__location { font-size: .8rem; color: var(--lm-muted); margin: 0 0 4px; }
.lm-card__excerpt  { font-size: .82rem; color: var(--lm-muted); margin: 0 0 8px; line-height: 1.4; }
.lm-card__meta-row { display: flex; gap: 12px; align-items: center; margin: 6px 0; flex-wrap: wrap; }
.lm-card__meta-row span { font-size: .8rem; color: var(--lm-muted); }
.lm-card__price { color: var(--lm-pink) !important; font-weight: 700 !important; }
.lm-card__tags  { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.lm-card__tags span { background: var(--lm-pink-pale); color: var(--lm-pink-dark); border-radius: 999px; padding: 3px 10px; font-size: .72rem; font-weight: 600; }

/* Footer */
.lm-card__footer { padding: 0 16px 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.lm-card__footer .lms-btn { flex: 1; justify-content: center; }

/* ══════════════════════════════════════════════════════════
   SINGLE PAGE — Premium
══════════════════════════════════════════════════════════ */
.lms-single { min-height: 80vh; }

/* Hero */
.lms-hero { padding: 32px 0 0; background: var(--lm-bg); }
.lms-hero__inner {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 32px;
  align-items: start;
}

/* Galeria */
.lms-gallery-col { display: flex; flex-direction: column; gap: 20px; }
.lms-gallery { border-radius: 20px; overflow: hidden; background: #1a1a1b; box-shadow: 0 8px 40px rgba(0,0,0,.18); }

.lms-gallery__main {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #12040e;
}
.lms-gallery__main img {
  width: 100%; height: 100%; object-fit: cover;
  transition: opacity .25s ease;
}
.lms-gallery__placeholder {
  aspect-ratio: 4/3; display: grid; place-items: center;
  flex-direction: column; color: #666;
}
.lms-gallery__placeholder span { font-size: 4rem; }
.lms-gallery__placeholder p { color: var(--lm-muted); margin: 8px 0 0; }

/* Setas galeria */
.lms-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  z-index: 10; background: rgba(255,255,255,.15); color: #fff;
  border: 1.5px solid rgba(255,255,255,.3); border-radius: 50%;
  width: 46px; height: 46px; font-size: 1.8rem; font-weight: 900;
  cursor: pointer; display: grid; place-items: center; line-height: 1;
  backdrop-filter: blur(6px); transition: all .2s ease;
}
.lms-arrow:hover { background: var(--lm-pink); border-color: var(--lm-pink); transform: translateY(-50%) scale(1.08); }
.lms-arrow--prev { left: 14px; }
.lms-arrow--next { right: 14px; }

.lms-gallery__counter {
  position: absolute; bottom: 14px; right: 14px;
  background: rgba(0,0,0,.55); color: #fff; border-radius: 999px;
  padding: 4px 14px; font-size: .8rem; font-weight: 700; z-index: 4;
  backdrop-filter: blur(4px);
}
.lms-gallery__badges {
  position: absolute; top: 14px; left: 14px; z-index: 5;
  display: flex; flex-direction: column; gap: 6px;
}

/* Thumbs */
.lms-thumbs {
  display: flex; gap: 8px; padding: 12px 12px 10px; overflow-x: auto;
  background: rgba(0,0,0,.6); scrollbar-width: none;
}
.lms-thumbs::-webkit-scrollbar { display: none; }
.lms-thumb {
  flex-shrink: 0; width: 64px; height: 64px; border-radius: 10px;
  overflow: hidden; cursor: pointer; opacity: .55;
  border: 2px solid transparent; transition: all .2s;
  background: none; padding: 0;
}
.lms-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lms-thumb.is-active { opacity: 1; border-color: var(--lm-pink); }
.lms-thumb:hover { opacity: .9; }

/* Cards da single page */
.lms-card { background: #fff; border-radius: 16px; padding: 22px 24px; border: 1.5px solid var(--lm-border); }

.lms-profile-head__name { font-family: var(--lm-font-head); font-size: clamp(1.6rem, 3vw, 2.4rem); margin: 10px 0 8px; }
.lms-profile-head__lead { font-size: 1.05rem; color: var(--lm-muted); margin: 0 0 8px; }
.lms-profile-head__loc  { font-size: .9rem; color: var(--lm-muted); margin: 0; }

.lms-quick-stats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.lms-quick-stats span {
  background: var(--lm-pink-pale); color: var(--lm-pink-dark);
  border-radius: 999px; padding: 5px 14px; font-size: .82rem; font-weight: 600;
}

/* Info sections */
.lms-info-section h2 {
  font-family: var(--lm-font-head); font-size: 1.25rem;
  color: var(--lm-dark); margin: 0 0 14px;
  padding-bottom: 10px; border-bottom: 2px solid var(--lm-pink-pale);
}
.lms-content { color: var(--lm-text); line-height: 1.7; font-size: .95rem; }
.lms-content p { margin: 0 0 .8em; }

/* Spec grid */
.lms-spec-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px;
}
.lms-spec-grid div {
  background: var(--lm-bg); border-radius: 10px; padding: 10px 14px;
}
.lms-spec-grid strong { display: block; font-size: .75rem; color: var(--lm-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.lms-spec-grid span   { font-size: .92rem; font-weight: 600; color: var(--lm-dark); }

/* Tags de serviço */
.lms-service-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.lms-service-tag {
  background: linear-gradient(135deg, var(--lm-pink-pale), #fff0f7);
  color: var(--lm-pink-dark); border: 1px solid var(--lm-border);
  border-radius: 999px; padding: 6px 16px; font-size: .85rem; font-weight: 600;
}

/* Tabela de preços */
.lms-price-table { display: flex; flex-direction: column; gap: 10px; }
.lms-price-row {
  display: flex; justify-content: space-between; align-items: center;
  background: var(--lm-bg); border-radius: 10px; padding: 12px 16px;
}
.lms-price-row__label { font-size: .9rem; color: var(--lm-muted); }
.lms-price-row__value { font-size: 1.1rem; font-weight: 800; color: var(--lm-pink); }
.lms-payment-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.lms-payment-tag {
  background: var(--lm-success); color: #fff; border-radius: 999px;
  padding: 4px 14px; font-size: .78rem; font-weight: 700;
}
.lms-note { font-size: .82rem; color: var(--lm-muted); margin: 10px 0 0; font-style: italic; }

/* Regras box */
.lms-regras-box { background: var(--lm-pink-ultra) !important; border-color: var(--lm-pink) !important; }
.lms-regras-box h2 { border-color: var(--lm-pink) !important; }

/* Safety box */
.lms-safety-box { background: #f0f9ff !important; border-color: #bce0fd !important; }
.lms-safety-box h2 { border-color: #bce0fd !important; }

/* Video */
.lms-video-wrap { border-radius: 12px; overflow: hidden; }
.lms-video-wrap iframe { width: 100%; aspect-ratio: 16/9; display: block; }
.lms-link-more { color: var(--lm-pink); font-weight: 600; font-size: .9rem; }

/* SIDEBAR */
.lms-contact-aside { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 20px; }
.lms-aside-card {
  background: #fff; border-radius: 18px; padding: 20px;
  border: 1.5px solid var(--lm-border);
  display: flex; flex-direction: column; gap: 10px;
}
.lms-aside-card h3 { font-family: var(--lm-font-head); font-size: 1.1rem; margin: 0 0 6px; }

/* Avatar na sidebar */
.lms-aside-avatar {
  width: 80px; height: 80px; border-radius: 50%; margin: 0 auto 4px;
  overflow: hidden; position: relative;
  border: 3px solid var(--lm-pink); box-shadow: 0 4px 16px rgba(233,30,140,.2);
}
.lms-aside-avatar img { width: 100%; height: 100%; object-fit: cover; }
.lms-aside-avatar--placeholder {
  background: var(--lm-pink-pale); display: grid; place-items: center;
  font-size: 2rem;
}
.lms-aside-avatar__badge {
  position: absolute; bottom: 2px; right: 2px;
  background: var(--lm-success); color: #fff; border-radius: 50%;
  width: 20px; height: 20px; font-size: .65rem; font-weight: 700;
  display: grid; place-items: center;
}
.lms-aside-card__name { text-align: center; }
.lms-aside-card__name strong { display: block; font-size: 1.05rem; font-family: var(--lm-font-head); }
.lms-aside-card__name span { font-size: .8rem; color: var(--lm-muted); }
.lms-aside-card__loc { font-size: .82rem; color: var(--lm-muted); text-align: center; margin: 0; }
.lms-aside-divider { height: 1px; background: var(--lm-border); }

/* Plan card na sidebar */
.lms-aside-card--plan { text-align: center; }
.lms-aside-card--plan-ouro   { background: #fffbec !important; border-color: #f5a623 !important; }
.lms-aside-card--plan-prata  { background: #f5f0ff !important; border-color: #8e44ad !important; }
.lms-aside-card--plan-bronze { background: #fff8f0 !important; border-color: #cd7f32 !important; }
.lms-aside-plan-label { font-weight: 800; font-size: 1rem; }
.lms-aside-card--plan p { font-size: .82rem; color: var(--lm-muted); margin: 4px 0 0; }

/* Check list */
.lms-check-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.lms-check-list li { font-size: .85rem; color: var(--lm-text); padding-left: 22px; position: relative; }
.lms-check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--lm-success); font-weight: 700; }

/* Alert */
.lms-alert { border-radius: 10px; padding: 12px 16px; font-size: .85rem; font-weight: 600; }
.lms-alert--warn { background: #fff3cd; border: 1px solid #f5c518; color: #856404; }

/* Float WhatsApp */
.lms-float-whatsapp {
  position: fixed; bottom: 24px; right: 24px; z-index: 999;
  background: #25d366; color: #fff;
  border-radius: 50px; padding: 14px 22px;
  font-weight: 700; font-size: .95rem; display: none;
  align-items: center; gap: 8px;
  box-shadow: 0 6px 24px rgba(37,211,102,.4);
  text-decoration: none; transition: all .2s;
}
.lms-float-whatsapp:hover { background: #1ebe5d; transform: translateY(-2px); color: #fff; }

/* Sections */
.lms-section { padding: 48px 0; }
.lms-section--light { background: var(--lm-bg); }
.lms-section-head { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; justify-content: space-between; margin-bottom: 24px; }
.lms-section-head h2 { font-family: var(--lm-font-head); font-size: 1.6rem; margin: 6px 0 0; }
.lms-listings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }

/* ══════════════════════════════════════════════════════════
   PLANOS v2 — página de planos redesenhada
══════════════════════════════════════════════════════════ */
.vp-plans-wrap { max-width: 1100px; margin: 0 auto; }
.vp-plans-header { text-align: center; margin-bottom: 2.5rem; }
.vp-plans-header h2 { font-family: var(--lm-font-head); font-size: clamp(1.6rem, 3vw, 2.4rem); color: var(--lm-dark); margin: 0 0 .6rem; }
.vp-plans-header p  { color: var(--lm-muted); max-width: 560px; margin: 0 auto; }

/* Period tabs */
.vp-period-tabs {
  display: flex; justify-content: center; gap: 12px;
  margin-bottom: 2.5rem; flex-wrap: wrap;
}
.vp-period-tab {
  display: flex; flex-direction: column; align-items: center;
  padding: 12px 28px; border-radius: 50px; border: 2px solid var(--lm-border);
  background: #fff; cursor: pointer; transition: all .2s; color: var(--lm-muted);
  font-family: inherit;
}
.vp-period-tab span { font-weight: 700; font-size: .95rem; }
.vp-period-tab em   { font-style: normal; font-size: .72rem; color: var(--lm-success); margin-top: 2px; display: none; }
.vp-period-tab.is-active { background: var(--lm-pink); border-color: var(--lm-pink); color: #fff; box-shadow: 0 4px 16px rgba(233,30,140,.3); }
.vp-period-tab.is-active em { color: rgba(255,255,255,.85); display: block; }
.vp-period-content { display: none; }
.vp-period-content.is-active { display: block; }

/* Plans grid */
.vp-plans-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 20px; align-items: start;
}

/* Plan card */
.vp-plan-card {
  background: #fff; border-radius: 24px;
  border: 2px solid var(--lm-border);
  padding: 28px 24px; display: flex; flex-direction: column; gap: 16px;
  position: relative; transition: all .22s ease;
}
.vp-plan-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,.1); }
.vp-plan-card--featured {
  border-color: var(--lm-pink) !important;
  box-shadow: 0 8px 32px rgba(233,30,140,.18) !important;
  transform: scale(1.02);
}
.vp-plan-card--active { border-color: var(--lm-success) !important; }

.vp-plan-card__ribbon {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--lm-pink); color: #fff;
  border-radius: 999px; padding: 4px 18px;
  font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  white-space: nowrap;
}

.vp-plan-card__head {
  display: flex; align-items: center; gap: 12px;
}
.vp-plan-card__icon { font-size: 2rem; }
.vp-plan-card__name { font-family: var(--lm-font-head); font-size: 1.3rem; margin: 0; color: var(--plan-color,var(--lm-pink)); }
.vp-plan-card__period { font-size: .78rem; color: var(--lm-muted); }

.vp-plan-card__price {
  display: flex; align-items: baseline; gap: 4px;
  padding: 14px 0; border-top: 1px solid var(--lm-border); border-bottom: 1px solid var(--lm-border);
}
.vp-plan-card__currency { font-size: .95rem; color: var(--lm-muted); }
.vp-plan-card__amount   { font-size: 2.6rem; font-weight: 900; color: var(--plan-color, var(--lm-pink)); line-height: 1; }
.vp-plan-card__period-label { font-size: .8rem; color: var(--lm-muted); }

.vp-plan-card__desc { font-size: .87rem; color: var(--lm-muted); line-height: 1.6; margin: 0; }

.vp-plan-card__features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.vp-plan-card__feat { font-size: .88rem; padding-left: 4px; }
.vp-plan-card__feat--yes { color: var(--lm-text); }
.vp-plan-card__feat--no  { color: #bbb; text-decoration: line-through; }

.vp-plan-card__cta {
  display: flex; justify-content: center; align-items: center;
  background: linear-gradient(135deg, var(--lm-pink), var(--lm-pink-dark));
  color: #fff; border-radius: 50px; padding: 13px 24px;
  font-weight: 700; font-size: .92rem; text-decoration: none;
  transition: all .2s; box-shadow: 0 4px 16px rgba(233,30,140,.25);
  margin-top: auto;
}
.vp-plan-card__cta:hover { transform: translateY(-2px); box-shadow: 0 6px 22px rgba(233,30,140,.4); color: #fff; }
.vp-plan-card__cta--featured { background: linear-gradient(135deg, #f5a623, #c0176e); }
.vp-plan-card__active-badge {
  text-align: center; background: #d4edda; color: #155724;
  border-radius: 50px; padding: 10px; font-weight: 700; font-size: .9rem;
  margin-top: auto;
}

/* Plans footer */
.vp-plans-footer { margin-top: 2rem; }
.vp-plans-footer__trust {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 20px;
  margin-bottom: 1rem;
}
.vp-plans-footer__trust span { font-size: .85rem; color: var(--lm-muted); }
.vp-free-note {
  text-align: center; background: var(--lm-bg); border-radius: 12px;
  padding: 14px 20px; font-size: .85rem; color: var(--lm-muted);
  border: 1px solid var(--lm-border);
}
.vp-free-note strong { color: var(--lm-text); }

/* ══════════════════════════════════════════════════════════
   MOBILE — Responsivo
══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .lms-hero__inner { grid-template-columns: 1fr; }
  .lms-contact-aside { position: static; }
  .lms-float-whatsapp { display: flex; }
  .lms-aside-card--contact .lms-btn--whatsapp { font-size: 1rem; padding: 14px; }
}

@media (max-width: 700px) {
  .vp-plans-grid { grid-template-columns: 1fr; }
  .vp-plan-card--featured { transform: none; }
  .lms-gallery__main { aspect-ratio: 3/4; }
  .lms-spec-grid { grid-template-columns: 1fr 1fr; }
  .lms-hero { padding-top: 16px; }
  .lm-card__media { aspect-ratio: 3/4; }
  .lms-arrow { width: 38px; height: 38px; font-size: 1.5rem; }
  .lms-listings-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

@media (max-width: 480px) {
  .lms-listings-grid { grid-template-columns: 1fr; }
  .lms-section { padding: 28px 0; }
  .lms-container { width: 96vw; }
  .vp-period-tabs { flex-direction: column; align-items: center; }
}
