/*
Theme Name:   Love Massagens
Theme URI:    https://lovemassagens.com.br/
Description:  Tema standalone premium para marketplace Love Massagens com cadastro, CRM do dono, planos, anúncios, pagamentos, analytics e WhatsApp.
Author:       Love Massagens
Version: 32.0.0
Requires PHP: 7.4
License:      GNU General Public License v3
Text Domain:  love-massagens
*/

/* ─── TOKENS ─────────────────────────────────────────── */
:root{
  --lm-pink:        #e91e8c;
  --lm-pink-dark:   #c0176e;
  --lm-pink-light:  #f472b6;
  --lm-pink-ultra:  #fdf2f8;
  --lm-dark:        #2d1520;
  --lm-black:       #12040e;
  --lm-white:       #ffffff;
  --lm-muted:       #9e6080;
  --lm-border:      #f0d6e8;
  --lm-bg:          #fdf6fb;
  --lm-bg2:         #fff;
  --lm-text:        #1a0a12;
  --lm-success:     #22c55e;
  --lm-warning:     #f59e0b;
  --lm-danger:      #ef4444;
  --lm-ouro:        #f59e0b;
  --lm-prata:       #94a3b8;
  --lm-bronze:      #b45309;
  --lm-radius:      18px;
  --lm-radius-sm:   10px;
  --lm-radius-xl:   28px;
  --lm-shadow:      0 10px 40px rgba(233,30,140,.10);
  --lm-shadow-sm:   0 4px 16px rgba(0,0,0,.07);
  --lm-font:        'DM Sans', system-ui, sans-serif;
  --lm-font-head:   'Playfair Display', Georgia, serif;
  --lm-transition:  all .22s cubic-bezier(.4,0,.2,1);
}

/* ─── BASE ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--lm-font); background: var(--lm-bg); color: var(--lm-text); -webkit-font-smoothing: antialiased; }
a { color: var(--lm-dark); text-decoration: none; transition: var(--lm-transition); }
img { max-width: 100%; height: auto; }
h1,h2,h3,h4 { font-family: var(--lm-font-head); color: var(--lm-dark); line-height: 1.18; }

/* Logo */
.site-logo img,.navbar-brand img,.custom-logo,.lm-logo img,
.hp-header__logo img,.hp-logo img { max-height: 76px; width: auto; }
.hp-header__logo .hp-logo__text, .site-title a { display: none !important; }

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

/* ─── BOTÕES ─────────────────────────────────────────── */
.lm-btn,
.btn-primary,.button-primary,.hp-button--primary,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button {
  display: inline-flex; align-items: center; gap: .45rem; justify-content: center;
  background: var(--lm-pink) !important; color: #fff !important;
  border: none !important; border-radius: 999px !important;
  font-weight: 800 !important; font-size: .92rem !important;
  padding: .82rem 1.5rem !important;
  box-shadow: 0 6px 18px rgba(233,30,140,.28) !important;
  text-decoration: none !important; cursor: pointer;
  transition: var(--lm-transition);
}
.lm-btn:hover { background: var(--lm-pink-dark) !important; transform: translateY(-2px); box-shadow: 0 10px 26px rgba(233,30,140,.38) !important; }
.lm-btn.dark   { background: var(--lm-dark) !important; box-shadow: 0 6px 18px rgba(0,0,0,.18) !important; }
.lm-btn.dark:hover { background: var(--lm-black) !important; }
.lm-btn.outline{ background: transparent !important; color: var(--lm-dark) !important; border: 2px solid var(--lm-dark) !important; box-shadow: none !important; }
.lm-btn.outline:hover { background: var(--lm-dark) !important; color: #fff !important; }
.lm-btn.sm { padding: .55rem 1.1rem !important; font-size: .82rem !important; }
.lm-btn.danger { background: var(--lm-danger) !important; box-shadow: none !important; }
.lm-btn.whatsapp { background: #25d366 !important; color: #fff !important; box-shadow: 0 6px 20px rgba(37,211,102,.30) !important; }
.lm-btn.whatsapp:hover { background: #1daa55 !important; }
.hp-form__button { background: var(--lm-pink) !important; color: #fff !important; border-radius: 999px !important; border: 0 !important; font-weight: 800 !important; }

/* ─── KICKER / BADGE ──────────────────────────────────── */
.lm-kicker {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(233,30,140,.1); border: 1px solid rgba(233,30,140,.25);
  color: var(--lm-pink); border-radius: 999px;
  padding: 6px 14px; font-weight: 800; font-size: .78rem;
  text-transform: uppercase; letter-spacing: .06em;
}
.lm-badge {
  display: inline-flex; align-items: center; gap: 5px;
  border-radius: 999px; padding: 4px 10px;
  font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
  backdrop-filter: blur(6px);
}
.lm-badge.ouro   { background: rgba(245,158,11,.9); color: #fff; }
.lm-badge.prata  { background: rgba(148,163,184,.9); color: #fff; }
.lm-badge.bronze { background: rgba(180,83,9,.9); color: #fff; }
.lm-badge.success{ background: rgba(34,197,94,.9); color: #fff; }
.lm-badge.pink   { background: var(--lm-pink); color: #fff; }
.lm-ribbon {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  background: var(--lm-pink); color: #fff;
  border-radius: 999px; padding: 5px 12px; font-weight: 800; font-size: .72rem;
}
.lm-ribbon.ouro   { background: var(--lm-ouro); }
.lm-ribbon.prata  { background: var(--lm-prata); color: var(--lm-dark); }
.lm-ribbon.verificado { background: var(--lm-success); }

/* ─── LAYOUT GERAL ───────────────────────────────────── */
.lm-section { padding: 60px 0; }
.lm-section-title {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 16px; margin-bottom: 28px;
}
.lm-section-title h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); margin: 0; }
.lm-section-title p  { color: var(--lm-muted); margin: 6px 0 0; }
.lm-divider { height: 1px; background: var(--lm-border); margin: 0; }

/* ─── CARD ───────────────────────────────────────────── */
.lm-card {
  background: var(--lm-white); border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius); padding: 24px;
  box-shadow: var(--lm-shadow-sm);
}
.lm-card h3 { margin-top: 0; color: var(--lm-dark); font-weight: 800; }

/* ─── GRID ───────────────────────────────────────────── */
.lm-grid        { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.lm-grid-2      { grid-template-columns: repeat(2,1fr); }
.lm-grid-4      { grid-template-columns: repeat(4,1fr); }
.lm-auth-grid   { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }

/* ─── ALERT ──────────────────────────────────────────── */
.lm-alert {
  border-radius: var(--lm-radius-sm); padding: 14px 18px;
  font-weight: 700; font-size: .92rem; margin-bottom: 18px;
  display: flex; align-items: center; gap: 8px;
}
.lm-alert         { background: #fff7ed; border: 1px solid #fed7aa; color: #9a3412; }
.lm-alert.ok      { background: #f0fdf4; border-color: #bbf7d0; color: #14532d; }
.lm-alert.danger  { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.lm-alert.info    { background: var(--lm-pink-ultra); border-color: var(--lm-border); color: var(--lm-pink-dark); }

/* ─── HERO ───────────────────────────────────────────── */
.lm-hero {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, var(--lm-black) 0%, #5a0f35 60%, #bd116c 100%);
  color: #fff; padding: 80px 0 90px;
  border-radius: 0 0 40px 40px;
}
.lm-hero::after {
  content: ''; position: absolute; right: -80px; top: -140px;
  width: 480px; height: 480px; border-radius: 50%;
  background: radial-gradient(circle, rgba(233,30,140,.45) 0%, transparent 70%);
  pointer-events: none;
}
.lm-hero-grid {
  display: grid; grid-template-columns: 1.15fr .85fr;
  gap: 48px; align-items: center; position: relative; z-index: 1;
}
.lm-hero .lm-kicker { margin-bottom: 18px; background: rgba(233,30,140,.18); border-color: rgba(233,30,140,.4); }
.lm-hero h1 {
  font-size: clamp(2.4rem, 5.5vw, 5rem); line-height: .93;
  margin: 0 0 16px; color: #fff; font-family: var(--lm-font-head);
}
.lm-hero h1 em { font-style: italic; color: var(--lm-pink-light); }
.lm-hero p { font-size: 1.08rem; color: rgba(255,255,255,.78); max-width: 560px; }
.lm-hero-card {
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px; padding: 28px; backdrop-filter: blur(12px);
}
.lm-hero-card h3 { color: #fff; margin-top: 14px; }
.lm-hero-card p  { color: rgba(255,255,255,.7); font-size: .9rem; }
.lm-hero-card .lm-meta span { background: rgba(255,255,255,.1); color: rgba(255,255,255,.8); }

/* Barra de busca hero */
.lm-search {
  display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr auto;
  gap: 10px; background: #fff; border-radius: 22px;
  padding: 14px; box-shadow: var(--lm-shadow); margin-top: 28px;
}
.lm-search input,
.lm-search select { border: none; outline: none; font-size: .9rem; color: var(--lm-text); background: transparent; }
.lm-search input::placeholder { color: var(--lm-muted); }

/* ─── LISTING CARD ───────────────────────────────────── */
.lm-listing-card {
  background: var(--lm-white); border-radius: 22px;
  border: 1px solid var(--lm-border); overflow: hidden;
  box-shadow: var(--lm-shadow-sm); position: relative;
  transition: var(--lm-transition); display: flex; flex-direction: column;
}
.lm-listing-card:hover { transform: translateY(-4px); box-shadow: var(--lm-shadow); border-color: var(--lm-pink-light); }
.lm-card-img { display: block; position: relative; overflow: hidden; }
.lm-card-img img { width: 100%; height: 220px; object-fit: cover; display: block; transition: transform .5s ease; }
.lm-listing-card:hover .lm-card-img img { transform: scale(1.04); }
.lm-no-photo {
  width: 100%; height: 220px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--lm-pink-ultra), #fce7f3);
  color: var(--lm-muted); font-size: .9rem; font-weight: 700;
}
.lm-card-actions {
  position: absolute; top: 12px; right: 12px; z-index: 3;
  display: flex; gap: 6px;
}
.lm-fav {
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(255,255,255,.88); backdrop-filter: blur(8px);
  display: grid; place-items: center;
  color: var(--lm-muted); font-size: 1.1rem;
  transition: var(--lm-transition); text-decoration: none;
  border: 1.5px solid rgba(255,255,255,.5);
}
.lm-fav:hover, .lm-fav.is-active { color: var(--lm-pink); background: #fff; border-color: var(--lm-pink-light); }
.lm-listing-body { padding: 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.lm-listing-title { font-size: 1.1rem; font-weight: 800; margin: 0; color: var(--lm-dark); line-height: 1.3; }
.lm-listing-title a { color: inherit; }
.lm-listing-title a:hover { color: var(--lm-pink); }
.lm-price { font-size: 1.25rem; font-weight: 900; color: var(--lm-dark); }
.lm-chamada { font-size: .85rem; color: var(--lm-muted); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lm-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.lm-meta span { background: #f5eef8; border-radius: 999px; padding: 4px 10px; font-weight: 700; font-size: .78rem; color: var(--lm-dark); }
.lm-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.lm-tags span { background: var(--lm-pink-ultra); border: 1px solid var(--lm-border); border-radius: 999px; padding: 3px 9px; font-size: .74rem; font-weight: 700; color: var(--lm-dark); }
.lm-card-buttons { display: flex; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--lm-border); }
.lm-card-buttons .lm-btn { flex: 1; font-size: .82rem !important; padding: .65rem 1rem !important; }

/* ─── HERO STATS BAR ──────────────────────────────────── */
.lm-stats-bar {
  background: var(--lm-white); border-bottom: 1px solid var(--lm-border);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.lm-stats-bar-inner {
  display: flex; justify-content: center; gap: 0;
}
.lm-stat { text-align: center; padding: 18px 36px; }
.lm-stat-num { display: block; font-size: 1.5rem; font-weight: 900; color: var(--lm-dark); font-family: var(--lm-font-head); }
.lm-stat-label { display: block; font-size: .72rem; color: var(--lm-muted); text-transform: uppercase; letter-spacing: .07em; font-weight: 700; margin-top: 3px; }
.lm-stat-sep { width: 1px; height: 40px; background: var(--lm-border); align-self: center; }

/* ─── CARROSSEL ───────────────────────────────────────── */

/* ─── SINGLE LISTING ──────────────────────────────────── */
.lm-single {
  display: grid; grid-template-columns: minmax(0,1fr) 360px;
  gap: 28px; align-items: start; padding: 36px 0 60px;
}
.lm-single article { display: flex; flex-direction: column; gap: 20px; }

/* Galeria single */
.lm-gallery-arrow-mode { position: relative; border-radius: 22px; overflow: hidden; background: var(--lm-dark); }
.lm-main-photo { min-height: 420px; display: grid; place-items: center; position: relative; }
.lm-main-photo img { width: 100%; height: 520px; object-fit: cover; display: block; }
.lm-gallery-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 48px; height: 48px; border: 0; border-radius: 50%;
  background: rgba(0,0,0,.7); color: #fff; font-size: 32px;
  display: grid; place-items: center; cursor: pointer;
  box-shadow: 0 8px 22px rgba(0,0,0,.3); transition: var(--lm-transition);
}
.lm-gallery-arrow:hover { background: var(--lm-pink); }
.lm-gallery-prev { left: 18px; }
.lm-gallery-next { right: 18px; }
.lm-gallery-counter {
  position: absolute; bottom: 14px; right: 18px; z-index: 4;
  background: rgba(0,0,0,.65); color: #fff; border-radius: 999px;
  padding: 4px 12px; font-size: .78rem; font-weight: 700; backdrop-filter: blur(6px);
}
.lm-thumbs-clean {
  display: flex; gap: 8px; overflow-x: auto; padding: 12px 14px;
  background: rgba(0,0,0,.25); scrollbar-width: thin;
}
.lm-thumb-btn {
  flex: 0 0 78px; height: 58px; border: 2px solid transparent;
  border-radius: 10px; overflow: hidden; padding: 0;
  background: #fff; cursor: pointer; opacity: .7; transition: var(--lm-transition);
}
.lm-thumb-btn.active, .lm-thumb-btn:hover { border-color: var(--lm-pink); opacity: 1; }
.lm-thumb-btn img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Single — info cards */
.lm-single-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px; flex-wrap: wrap;
}
.lm-single-head h1 { font-size: clamp(1.5rem, 3vw, 2.2rem); margin: 6px 0 10px; }
.lm-single-price { font-size: 1.6rem !important; font-weight: 900; color: var(--lm-dark); }
.lm-spec-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.lm-spec-grid div {
  background: var(--lm-pink-ultra); border: 1px solid var(--lm-border);
  border-radius: 12px; padding: 12px 16px;
}
.lm-spec-grid div strong { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--lm-muted); font-weight: 800; margin-bottom: 3px; }
.lm-spec-grid div span { font-weight: 700; color: var(--lm-dark); font-size: .92rem; }
.lm-tags-big span { font-size: .88rem; padding: 8px 14px; background: var(--lm-pink-ultra); border: 1px solid var(--lm-border); }
.lm-tags-big span::before { content: '✓ '; color: var(--lm-success); }
.lm-content-text { color: var(--lm-text); font-size: 1rem; line-height: 1.78; }
.lm-content-text p { margin: 0 0 14px; }
.lm-content-text img, .lm-description-card img, .lm-description-card svg { display: none !important; }

/* Preços table */
.lm-price-table { width: 100%; border-collapse: collapse; }
.lm-price-table th { background: var(--lm-dark); color: #fff; padding: 10px 16px; text-align: left; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.lm-price-table td { padding: 12px 16px; border-bottom: 1px solid var(--lm-border); font-weight: 700; }
.lm-price-table td:last-child { color: var(--lm-pink); font-size: 1.05rem; }
.lm-price-table tr:last-child td { border-bottom: 0; }

/* Sidebar contato */
.lm-contact-box { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 14px; }
.lm-contact-box > .lm-card { padding: 22px; }
.lm-contact-box .lm-btn { width: 100%; justify-content: center; margin-top: 8px; }
.lm-contact-box .lm-whatsapp-btn { background: #25d366 !important; color: #fff !important; box-shadow: 0 6px 20px rgba(37,211,102,.28) !important; }
.lm-contact-box .lm-proposal-btn { background: transparent !important; color: var(--lm-dark) !important; border: 2px solid var(--lm-border) !important; box-shadow: none !important; }
.lm-contact-box .lm-alert { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; border-radius: 12px; padding: 12px; font-size: .84rem; }
.lm-whatsapp-fixed {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 999;
  background: rgba(255,255,255,.97); backdrop-filter: blur(10px);
  border-top: 1px solid var(--lm-border); padding: 12px 20px;
  box-shadow: 0 -4px 20px rgba(0,0,0,.08); gap: 10px;
}

/* ─── PAINEL ──────────────────────────────────────────── */
.lm-panel {
  display: grid; grid-template-columns: 260px minmax(0,1fr);
  gap: 24px; padding: 36px 0 60px; align-items: start;
}
.lm-side {
  background: var(--lm-dark); color: #fff; border-radius: 22px;
  padding: 20px; position: sticky; top: 24px; overflow: hidden;
}
.lm-side::before {
  content: ''; position: absolute; top: -60px; right: -60px;
  width: 160px; height: 160px; border-radius: 50%;
  background: rgba(233,30,140,.2); pointer-events: none;
}
.lm-side a {
  display: flex; align-items: center; gap: 10px;
  color: rgba(255,255,255,.75); text-decoration: none;
  padding: 11px 14px; border-radius: 12px; font-weight: 700; font-size: .9rem;
  transition: var(--lm-transition);
}
.lm-side a:hover, .lm-side a.active {
  background: rgba(233,30,140,.2); color: var(--lm-pink-light);
}
.lm-admin-table { width: 100%; border-collapse: collapse; }
.lm-admin-table th, .lm-admin-table td { padding: 11px 14px; border-bottom: 1px solid var(--lm-border); text-align: left; font-size: .9rem; }
.lm-admin-table th { background: var(--lm-pink-ultra); font-weight: 800; color: var(--lm-dark); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.lm-admin-table tr:hover td { background: var(--lm-pink-ultra); }
.lm-status-pill {
  display: inline-flex; align-items: center; border-radius: 999px; padding: 3px 10px;
  font-size: .72rem; font-weight: 800; text-transform: uppercase;
}
.lm-status-pill.publish  { background: #dcfce7; color: #15803d; }
.lm-status-pill.pending  { background: #fef9c3; color: #a16207; }
.lm-status-pill.draft    { background: #f1f5f9; color: #64748b; }
.lm-status-pill.private  { background: #fce7f3; color: var(--lm-pink-dark); }

/* ─── FILTROS / BUSCA ────────────────────────────────── */
.lm-search-page { padding: 36px 0 60px; }
.lm-filter-card { margin-bottom: 24px; }
.lm-form-grid { display: grid; gap: 14px; }
.lm-form-grid-4 { grid-template-columns: repeat(4, 1fr); }
.lm-form-grid-2 { grid-template-columns: repeat(2, 1fr); }
.lm-form input[type="text"],.lm-form input[type="email"],
.lm-form input[type="password"],.lm-form input[type="tel"],
.lm-form input[type="number"],.lm-form input[type="date"],
.lm-form input[type="url"],.lm-form input[type="time"],
.lm-form select,.lm-form textarea,
.lm-filter-card input,.lm-filter-card select,.lm-filter-card textarea {
  width: 100%; border: 1.5px solid var(--lm-border); border-radius: 12px;
  padding: 11px 14px; background: #fff; color: var(--lm-text);
  font-family: var(--lm-font); font-size: .9rem; transition: var(--lm-transition);
}
.lm-form input:focus,.lm-form select:focus,.lm-form textarea:focus,
.lm-filter-card input:focus,.lm-filter-card select:focus {
  outline: none; border-color: var(--lm-pink);
  box-shadow: 0 0 0 3px rgba(233,30,140,.12);
}
.lm-form label { display: grid; gap: 6px; font-weight: 700; color: var(--lm-dark); font-size: .88rem; }
.lm-checks { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.lm-checks label { display: flex; align-items: center; gap: 7px; font-weight: 700; font-size: .87rem; cursor: pointer; }
.lm-check { display: flex !important; align-items: center !important; gap: 10px !important; font-weight: 700 !important; }
.lm-check input { width: 18px; height: 18px; accent-color: var(--lm-pink); }
.lm-search-actions { display: flex; gap: 10px; align-items: center; margin-top: 8px; }
.lm-results-head { margin-bottom: 20px; }
.lm-results-head h2 { font-size: 1.2rem; margin: 0; }
.lm-results-head p  { font-size: .85rem; color: var(--lm-muted); margin: 4px 0 0; }
.lm-results-grid { grid-template-columns: repeat(3,1fr); }
.lm-pagination { margin-top: 32px; display: flex; justify-content: center; gap: 4px; }
.lm-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  border: 1.5px solid var(--lm-border); color: var(--lm-dark);
  font-weight: 700; font-size: .88rem; transition: var(--lm-transition);
}
.lm-pagination .page-numbers:hover, .lm-pagination .page-numbers.current {
  background: var(--lm-pink); border-color: var(--lm-pink); color: #fff;
}

/* ─── FORMULÁRIO DE ANÚNCIO (8 etapas) ────────────────── */
.lm-anuncio-wrap { max-width: 860px; margin: 0 auto; padding: 36px 0 70px; }
.lm-progress-bar {
  height: 6px; background: var(--lm-border); border-radius: 999px;
  overflow: hidden; margin-bottom: 10px;
}
.lm-progress-bar-fill {
  height: 100%; background: linear-gradient(90deg, var(--lm-pink), var(--lm-pink-light));
  border-radius: 999px; transition: width .4s ease; width: 12.5%;
}
.lm-step-indicators {
  display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; margin-bottom: 28px;
}
.lm-step-indicator {
  border: none; border-radius: 999px; padding: 5px 14px;
  font-size: .75rem; font-weight: 800; cursor: pointer; transition: var(--lm-transition);
}
.lm-step-indicator.active  { background: var(--lm-pink); color: #fff; }
.lm-step-indicator.done    { background: var(--lm-success); color: #fff; }
.lm-step-indicator.pending { background: var(--lm-border); color: var(--lm-muted); }

.lm-form-step-panel { display: none; }
.lm-step-card {
  background: var(--lm-white); border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius); padding: 32px;
  box-shadow: var(--lm-shadow-sm); margin-bottom: 16px;
}
.lm-step-card h2 {
  font-size: 1.3rem; font-weight: 800; margin: 0 0 5px;
  font-family: var(--lm-font-head); color: var(--lm-dark);
}
.lm-step-card .lm-step-desc { font-size: .88rem; color: var(--lm-muted); margin-bottom: 24px; }
.lm-step-nav {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 0 0; gap: 12px;
}
.lm-field-error { border-color: var(--lm-danger) !important; box-shadow: 0 0 0 3px rgba(239,68,68,.15) !important; }
.lm-char-count { font-size: .75rem; color: var(--lm-muted); text-align: right; display: block; }
.lm-servicos-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 10px;
}
.lm-servico-check {
  display: flex; align-items: center; gap: 9px;
  border: 1.5px solid var(--lm-border); border-radius: 12px;
  padding: 10px 14px; cursor: pointer; transition: var(--lm-transition);
  font-weight: 700; font-size: .88rem;
}
.lm-servico-check:hover { border-color: var(--lm-pink); background: var(--lm-pink-ultra); }
.lm-servico-check input:checked + span { color: var(--lm-pink); }
.lm-servico-check:has(input:checked) { border-color: var(--lm-pink); background: var(--lm-pink-ultra); }
.lm-servico-check input { accent-color: var(--lm-pink); width: 16px; height: 16px; }

/* Upload drag-drop */
.lm-drop-area {
  border: 2.5px dashed var(--lm-border); border-radius: var(--lm-radius);
  padding: 48px 24px; text-align: center; cursor: pointer;
  transition: var(--lm-transition); background: var(--lm-bg);
}
.lm-drop-area:hover, .lm-drop-area.lm-drop-active {
  border-color: var(--lm-pink); background: var(--lm-pink-ultra);
}
.lm-drop-area h3 { margin: 12px 0 4px; font-size: 1rem; color: var(--lm-dark); }
.lm-drop-area p  { font-size: .84rem; color: var(--lm-muted); margin: 0; }
.lm-drop-icon { font-size: 2.8rem; opacity: .5; }
.lm-thumb-preview { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.lm-thumb-wrap { position: relative; width: 90px; flex-shrink: 0; }
.lm-thumb-wrap img { width: 90px; height: 90px; object-fit: cover; border-radius: 10px; border: 2px solid var(--lm-border); display: block; }
.lm-thumb-wrap img.lm-thumb-capa { border-color: var(--lm-pink); }
.lm-thumb-rm {
  position: absolute; top: -8px; right: -8px; width: 22px; height: 22px;
  border-radius: 50%; background: var(--lm-danger); color: #fff; border: 2px solid #fff;
  font-size: .75rem; cursor: pointer; display: grid; place-items: center;
}
.lm-thumb-badge {
  position: absolute; bottom: 0; left: 0; right: 0; text-align: center;
  background: rgba(0,0,0,.6); color: #fff; font-size: .6rem; font-weight: 800;
  padding: 2px; border-radius: 0 0 8px 8px;
}
.lm-file-msg { font-size: .82rem; color: var(--lm-success); margin-top: 8px; font-weight: 700; }

/* Revisão */
.lm-revisao-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.lm-revisao-table td { padding: 9px 14px; border-bottom: 1px solid var(--lm-border); }
.lm-revisao-table td:first-child { font-weight: 800; color: var(--lm-pink); width: 42%; }

/* ─── PLANOS ──────────────────────────────────────────── */
.lm-plan { position: relative; overflow: hidden; }
.lm-plan.featured { border: 2px solid var(--lm-pink); transform: translateY(-6px); }
.lm-plan.featured::before {
  content: '⭐ Mais popular'; position: absolute; top: 0; right: 0;
  background: var(--lm-pink); color: #fff; font-size: .7rem; font-weight: 800;
  padding: 6px 14px; border-radius: 0 0 0 16px;
}
.lm-plan .price { font-size: 2.1rem; font-weight: 900; color: var(--lm-dark); margin: 12px 0; }
.lm-plan ul { padding-left: 20px; line-height: 2; }

/* ─── AUTH / LOGIN ────────────────────────────────────── */
.lm-login-page { padding: 48px 0 64px; }
.lm-auth-card h1, .lm-auth-card h2 { margin-top: 0; }
.lm-form { display: flex; flex-direction: column; gap: 14px; margin-top: 18px; }
.lm-small { font-size: .85rem; color: var(--lm-muted); margin: 4px 0 0; }
.lm-small a { color: var(--lm-dark); font-weight: 800; }

/* ─── ADMIN (backend) ─────────────────────────────────── */
.lm-admin-badge {
  display: inline-flex; align-items: center; border-radius: 999px;
  padding: 3px 9px; font-size: .72rem; font-weight: 800;
}
.lm-admin-badge.pendente { background: #fef9c3; color: #a16207; }
.lm-admin-badge.publicado{ background: #dcfce7; color: #15803d; }
.lm-admin-badge.recusado { background: #fee2e2; color: #b91c1c; }
.lm-admin-badge.suspenso { background: #f1f5f9; color: #64748b; }
.lm-admin-badge.ouro     { background: rgba(245,158,11,.15); color: #92400e; }
.lm-admin-badge.prata    { background: #f1f5f9; color: #475569; }
.lm-admin-badge.bronze   { background: #fef3c7; color: #92400e; }

/* ─── FLOAT WHATSAPP ──────────────────────────────────── */
.lm-whatsapp-float {
  position: fixed; right: 22px; bottom: 22px; z-index: 9999;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25d366; color: #fff;
  display: grid; place-items: center; font-size: 26px;
  box-shadow: 0 10px 28px rgba(0,0,0,.22); text-decoration: none;
  transition: var(--lm-transition);
}
.lm-whatsapp-float:hover { transform: scale(1.08); background: #1daa55; }

/* ─── EMPTY STATES ────────────────────────────────────── */
.lm-empty { text-align: center; padding: 52px 24px; }
.lm-empty h2 { font-size: 1.4rem; color: var(--lm-dark); margin-bottom: 10px; }
.lm-empty p  { color: var(--lm-muted); margin-bottom: 22px; }
.lm-empty-featured { text-align: center; }

/* ─── BREADCRUMB ──────────────────────────────────────── */
.lm-breadcrumb {
  padding: 14px 0; font-size: .84rem; color: var(--lm-muted);
  border-bottom: 1px solid var(--lm-border); margin-bottom: 0;
}
.lm-breadcrumb a { color: var(--lm-muted); font-weight: 600; }
.lm-breadcrumb a:hover { color: var(--lm-pink); }
.lm-breadcrumb span { color: var(--lm-dark); font-weight: 700; }

/* ─── DENÚNCIA MODAL ──────────────────────────────────── */
.lm-denuncia-modal {
  display: none; position: fixed; inset: 0; z-index: 9998;
  background: rgba(0,0,0,.6); align-items: center; justify-content: center;
}
.lm-denuncia-modal.open { display: flex; }
.lm-denuncia-box {
  background: #fff; border-radius: 22px; padding: 28px;
  max-width: 440px; width: 90%; box-shadow: 0 20px 60px rgba(0,0,0,.3);
}

/* ─── RESPONSIVE ──────────────────────────────────────── */
@media(max-width: 1100px){
  .lm-grid, .lm-results-grid { grid-template-columns: repeat(2,1fr); }
  .lm-form-grid-4 { grid-template-columns: 1fr 1fr; }
  .lm-servicos-grid { grid-template-columns: repeat(2,1fr); }
}
@media(max-width: 1024px){
  .lm-single { grid-template-columns: 1fr; }
  .lm-whatsapp-fixed { display: flex !important; }
  body.single-hp_listing { padding-bottom: 80px; }
  .lm-main-photo img { height: 420px; }
  .lm-gallery-arrow { top: 210px; }
  .lm-spec-grid { grid-template-columns: 1fr; }
}
@media(max-width: 900px){
  .lm-hero-grid { grid-template-columns: 1fr; }
  .lm-hero::after { opacity: .2; }
  .lm-panel { grid-template-columns: 1fr; }
  .lm-side { position: relative; top: 0; }
  .lm-auth-grid { grid-template-columns: 1fr; }
  .lm-step-card { padding: 22px 18px; }
}
@media(max-width: 700px){
  .lm-grid, .lm-auth-grid { grid-template-columns: 1fr; }
  .lm-form-grid-4, .lm-form-grid-2 { grid-template-columns: 1fr; }
  .lm-search { grid-template-columns: 1fr; border-radius: 16px; }
  .lm-section { padding: 40px 0; }
  .lm-hero { padding: 52px 0 60px; border-radius: 0 0 24px 24px; }
  .lm-hero h1 { font-size: 2.4rem; }
  .lm-card { padding: 18px; }
  .lm-main-photo { min-height: 260px; }
  .lm-main-photo img { height: 280px; }
  .lm-gallery-arrow { top: 155px; width: 42px; height: 42px; font-size: 26px; }
  .lm-gallery-prev { left: 12px; }
  .lm-gallery-next { right: 12px; }
  .lm-servicos-grid { grid-template-columns: 1fr 1fr; }
  .lm-stats-bar-inner { flex-wrap: wrap; }
  .lm-stat-sep { display: none; }
  .lm-stat { padding: 14px 20px; }
}


/* =========================================================
   LOVE MASSAGENS — MENU ÚNICO DO TEMA FILHO
   ========================================================= */

/* Remove qualquer navegação/cabeçalho do Finder e versões antigas do nosso menu */
body .lmv-remove-finder-menu,
body .lmv-custom-header,
body .lmv-perfect-header,
body header:not(.lmv-child-header),
body .site-header:not(.lmv-child-header),
body .hp-header,
body .hp-header__content,
body .hp-header__menu,
body .hp-header__nav,
body .hp-menu,
body .navbar,
body .navbar-collapse,
body .navbar-nav,
body .main-navigation,
body .menu-primary-container,
body .cs-header,
body .finder-header {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Espaço do header próprio */
body {
  padding-top: 116px !important;
}

.lmv-child-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999999 !important;
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 0 !important;
  background: rgba(255,255,255,.98) !important;
  border-bottom: 2px solid rgba(233,30,140,.18) !important;
  box-shadow: 0 8px 40px rgba(233,30,140,.12) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.admin-bar .lmv-child-header {
  top: 32px !important;
}

.lmv-child-header__inner {
  width: min(1200px, calc(100% - 32px));
  min-height: 110px;
  margin: 0 auto;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.lmv-child-header .lm-logo {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto;
  text-decoration: none !important;
  visibility: visible !important;
  height: auto !important;
  padding: 4px 0;
}

.lmv-child-header .lm-logo img {
  display: block !important;
  max-height: 94px !important;
  max-width: 340px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.lmv-child-header__nav {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex: 1;
}

.lmv-child-header__nav a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 13px;
  border-radius: 999px;
  color: #2d1520 !important;
  background: transparent;
  font-size: .88rem;
  font-weight: 850;
  text-decoration: none !important;
  letter-spacing: -.01em;
  white-space: nowrap;
  transition: .18s ease;
}

.lmv-child-header__nav a:hover {
  color: #e91e8c !important;
  background: #fff0f8;
}

.lmv-child-header__nav .lmv-child-menu-panel {
  background: #fff6fb;
  color: #bd116c !important;
  border: 1px solid rgba(233,30,140,.16);
}

.lmv-child-header__nav .lmv-child-menu-login {
  background: #fff;
  color: #e91e8c !important;
  border: 1px solid rgba(233,30,140,.26);
}

.lmv-child-header__nav .lmv-child-menu-cta {
  color: #fff !important;
  background: linear-gradient(135deg, #e91e8c, #bd116c);
  box-shadow: 0 14px 28px rgba(233,30,140,.24);
  padding-inline: 18px;
}

.lmv-child-header__nav .lmv-child-menu-cta:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #f02a9f, #bd116c);
  transform: translateY(-1px);
}

.lmv-child-header__toggle {
  display: none;
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #e91e8c, #bd116c);
  box-shadow: 0 16px 30px rgba(233,30,140,.28);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 0;
}

.lmv-child-header__toggle span {
  width: 23px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transition: transform .18s ease, opacity .18s ease;
}

.lmv-child-header.is-open .lmv-child-header__toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.lmv-child-header.is-open .lmv-child-header__toggle span:nth-child(2) {
  opacity: 0;
}

.lmv-child-header.is-open .lmv-child-header__toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.lmv-child-mobile {
  display: none;
}

html.lmv-child-menu-open,
html.lmv-child-menu-open body {
  overflow: hidden !important;
}

@media (max-width: 1080px) {
  .lmv-child-header__nav a {
    font-size: .82rem;
    padding-inline: 10px;
  }

  .lmv-child-header .lm-logo img {
    max-width: 260px !important;
  }
}

@media (max-width: 940px) {
  body {
    padding-top: 88px !important;
  }

  .admin-bar .lmv-child-header {
    top: 46px !important;
  }

  .lmv-child-header__inner {
    min-height: 78px;
    width: calc(100% - 28px);
  }

  .lmv-child-header .lm-logo img {
    max-height: 65px !important;
    max-width: 270px !important;
  }

  .lmv-child-header__nav {
    display: none !important;
  }

  .lmv-child-header__toggle {
    display: inline-flex !important;
  }

  .lmv-child-mobile {
    display: block !important;
    position: fixed !important;
    inset: 78px 0 0 0 !important;
    z-index: 999998 !important;
    background: rgba(45,21,32,.44);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }

  .admin-bar .lmv-child-mobile {
    inset: 124px 0 0 0 !important;
  }

  .lmv-child-header.is-open .lmv-child-mobile {
    opacity: 1;
    pointer-events: auto;
  }

  .lmv-child-mobile__box {
    margin: 12px;
    padding: 14px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(233,30,140,.14);
    box-shadow: 0 30px 90px rgba(45,21,32,.25);
    transform: translateY(-10px);
    transition: transform .2s ease;
  }

  .lmv-child-header.is-open .lmv-child-mobile__box {
    transform: translateY(0);
  }

  .lmv-child-mobile__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 2px 12px;
    border-bottom: 1px solid rgba(233,30,140,.10);
    margin-bottom: 10px;
  }

  .lmv-child-mobile__top .lm-logo img {
    max-height: 46px !important;
    max-width: 190px !important;
  }

  .lmv-child-mobile__close {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 14px;
    background: #fff0f8;
    color: #bd116c;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
  }

  .lmv-child-mobile__link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin: 8px 0;
    padding: 14px 18px;
    border-radius: 18px;
    background: #fff6fb;
    border: 1px solid rgba(233,30,140,.12);
    color: #2d1520 !important;
    font-size: 1rem;
    font-weight: 900;
    text-decoration: none !important;
    text-align: center;
  }

  .lmv-child-mobile__link.lmv-child-menu-panel {
    background: #fff0f8;
    color: #bd116c !important;
  }

  .lmv-child-mobile__link.lmv-child-menu-login {
    background: #fff;
    color: #e91e8c !important;
    border: 1.5px solid rgba(233,30,140,.32);
  }

  .lmv-child-mobile__link.lmv-child-menu-cta {
    min-height: 60px;
    color: #fff !important;
    background: linear-gradient(135deg, #e91e8c, #bd116c);
    box-shadow: 0 16px 34px rgba(233,30,140,.28);
    font-size: 1.05rem;
  }

  .lmv-child-mobile__link:active {
    transform: scale(.985);
  }
}

@media (max-width: 600px) {
  .admin-bar .lmv-child-header {
    top: 0 !important;
  }

  .admin-bar .lmv-child-mobile {
    inset: 78px 0 0 0 !important;
  }

  .lmv-child-header .lm-logo img {
    max-width: 180px !important;
  }
}


/* Final ajuste menu compacto e botões */
body{padding-top:68px!important}.lmv-child-header{height:68px!important;min-height:68px!important}.lmv-child-header__inner{height:68px!important;min-height:68px!important}.lmv-child-header .lm-logo img{max-height:55px!important}.lmv-child-header__toggle{background:linear-gradient(135deg,#d91580,#bd116c)!important}.lm-btn,.vam-btn,button[type=submit],input[type=submit]{background:linear-gradient(135deg,#e91e8c,#bd116c)!important;color:#fff!important}.lm-btn.outline,.vam-btn--outline{background:#fff!important;color:#bd116c!important;border:1.5px solid rgba(233,30,140,.32)!important}


/* Correção final: upload/foto no cadastro */
.lm-file-input-visible{
  display:block!important;
  width:100%!important;
  margin-top:14px!important;
  padding:14px!important;
  border:1.5px dashed rgba(233,30,140,.35)!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#2d1520!important;
}
.lm-card-img img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.lm-thumb-preview{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr))!important;
  gap:10px!important;
  margin-top:14px!important;
}
.lm-thumb-wrap{
  position:relative!important;
  border-radius:14px!important;
  overflow:hidden!important;
  border:1px solid rgba(233,30,140,.18)!important;
  background:#fff!important;
}
.lm-thumb-wrap img{
  display:block!important;
  width:100%!important;
  height:100px!important;
  object-fit:cover!important;
}


/* Painel: botões pequenos e galeria existente */
.lm-btn.mini{min-height:34px!important;padding:7px 12px!important;font-size:.82rem!important;border-radius:999px!important}
.lm-existing-gallery{margin:16px 0 10px}
.lm-existing-gallery strong{display:block;margin-bottom:10px;color:var(--lm-dark)}
.lm-existing-photo span{display:flex;align-items:center;gap:6px;padding:8px;font-size:.82rem;color:#bd116c;background:#fff}
.lm-single .lm-main-photo img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}
.lm-single-no-photo{display:flex!important;align-items:center!important;justify-content:center!important}

/* ═══════════════════════════════════════════════════════════════
   LOVE MASSAGENS v11 — HOME PREMIUM REDESIGN
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────────── */
.lmv-hero {
  position: relative;
  overflow: hidden;
  padding: 120px 0 80px;
  margin-top: 0;
}
.lmv-hero__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #2d1520 0%, #5a0f35 40%, #e91e8c 100%);
  z-index: 0;
}
.lmv-hero__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.lmv-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: center;
}
.lmv-hero__copy { color: #fff; }
.lmv-hero__title {
  font-family: var(--lm-font-head);
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  margin: 14px 0 16px;
}
.lmv-hero__sub {
  font-size: clamp(.9rem, 1.5vw, 1.08rem);
  color: rgba(255,255,255,.8);
  line-height: 1.65;
  max-width: 520px;
  margin: 0 0 24px;
}
.lmv-hero__search {
  display: flex;
  gap: 0;
  max-width: 520px;
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(0,0,0,.22);
}
.lmv-hero__search input {
  flex: 1;
  border: none;
  padding: 16px 22px;
  font-size: .95rem;
  outline: none;
  font-family: var(--lm-font);
  color: var(--lm-dark);
  background: #fff;
}
.lmv-hero__search button {
  background: var(--lm-pink);
  color: #fff;
  border: none;
  padding: 16px 26px;
  font-weight: 800;
  font-size: .9rem;
  cursor: pointer;
  transition: background .2s;
  font-family: var(--lm-font);
  white-space: nowrap;
}
.lmv-hero__search button:hover { background: var(--lm-pink-dark); }
.lmv-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.lmv-hero__trust span {
  color: rgba(255,255,255,.75);
  font-size: .8rem;
  font-weight: 700;
}
/* Hero visual card */
.lmv-hero__visual { display: flex; justify-content: flex-end; }
.lmv-hero__logo-card {
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 24px;
  padding: 28px 24px;
  text-align: center;
  width: 340px;
  box-shadow: 0 30px 60px rgba(0,0,0,.18);
}
.lmv-hero__logo-img {
  height: 80px;
  width: auto;
  object-fit: contain;
  filter: none;
  background: #fff;
  border-radius: 14px;
  padding: 10px 18px;
  margin-bottom: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,.14);
}
.lmv-hero__badge-row { display: flex; gap: 8px; justify-content: center; margin-bottom: 12px; }
.lmv-hero__badge {
  display: inline-flex; align-items: center; gap: 4px;
  border-radius: 999px; padding: 5px 14px; font-size: .76rem; font-weight: 800;
}
.lmv-hero__badge.ouro { background: linear-gradient(135deg,#f59e0b,#d97706); color: #fff; }
.lmv-hero__badge.prata { background: rgba(255,255,255,.18); color: #fff; border: 1px solid rgba(255,255,255,.3); }
.lmv-hero__card-text { color: rgba(255,255,255,.75); font-size: .84rem; line-height: 1.5; margin-bottom: 14px; }

/* ── Categorias rápidas ─────────────────────────────────────── */
.lmv-cats__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.lmv-cat-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #fff;
  border: 1.5px solid var(--lm-border);
  border-radius: 999px;
  padding: 10px 20px;
  font-size: .86rem;
  font-weight: 700;
  color: var(--lm-dark);
  text-decoration: none;
  transition: var(--lm-transition);
  box-shadow: var(--lm-shadow-sm);
}
.lmv-cat-chip:hover {
  border-color: var(--lm-pink);
  color: var(--lm-pink);
  background: var(--lm-pink-ultra);
  transform: translateY(-2px);
}
.lmv-cat-chip__icon { font-size: 1.1rem; }

/* ── Como funciona ──────────────────────────────────────────── */
.lmv-como { background: var(--lm-bg); }
.lmv-steps {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 32px;
}
.lmv-step {
  background: #fff;
  border: 1.5px solid var(--lm-border);
  border-radius: 20px;
  padding: 28px 24px;
  text-align: center;
  max-width: 240px;
  box-shadow: var(--lm-shadow-sm);
}
.lmv-step__num {
  width: 48px; height: 48px;
  background: linear-gradient(135deg, var(--lm-pink), var(--lm-pink-dark));
  color: #fff;
  border-radius: 50%;
  font-size: 1.3rem;
  font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
  box-shadow: 0 8px 20px rgba(233,30,140,.3);
}
.lmv-step h4 { font-size: 1.05rem; margin: 0 0 8px; font-family: var(--lm-font); font-weight: 800; }
.lmv-step p { color: var(--lm-muted); font-size: .86rem; line-height: 1.55; margin: 0; }
.lmv-step__arrow { font-size: 1.8rem; color: var(--lm-pink); opacity: .4; }

/* ── Planos strip ───────────────────────────────────────────── */
.lmv-planos-strip {
  background: linear-gradient(135deg, #2d1520 0%, #5a0f35 60%, #e91e8c 100%);
  padding: 70px 0;
}
.lmv-planos-strip__head { text-align: center; margin-bottom: 40px; }
.lmv-planos-strip__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}
.lmv-plano-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  padding: 30px 24px;
  position: relative;
  transition: var(--lm-transition);
  backdrop-filter: blur(10px);
}
.lmv-plano-card:hover { transform: translateY(-6px); background: rgba(255,255,255,.14); }
.lmv-plano-card.prata { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.28); }
.lmv-plano-card.ouro {
  background: linear-gradient(135deg, rgba(245,158,11,.18), rgba(217,119,6,.1));
  border-color: rgba(245,158,11,.45);
  transform: scale(1.03);
}
.lmv-plano-card.ouro:hover { transform: scale(1.03) translateY(-4px); }
.lmv-plano-card__badge {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg,#f59e0b,#d97706);
  color: #fff; border-radius: 999px; padding: 4px 14px;
  font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em;
  white-space: nowrap;
}
.lmv-plano-card__top { text-align: center; margin-bottom: 20px; }
.lmv-plano-card__icon { font-size: 2rem; display: block; margin-bottom: 8px; }
.lmv-plano-card__top h3 { color: #fff; font-size: 1.2rem; font-weight: 900; margin: 0 0 10px; font-family: var(--lm-font); }
.lmv-plano-card__price { color: #fff; font-size: 1.6rem; font-weight: 700; }
.lmv-plano-card__price strong { font-size: 2.2rem; font-weight: 900; }
.lmv-plano-card__price small { font-size: .9rem; opacity: .75; }
.lmv-plano-card__period { color: rgba(255,255,255,.5); font-size: .74rem; margin-top: 2px; }
.lmv-plano-card__list { list-style: none; padding: 0; margin: 0 0 20px; }
.lmv-plano-card__list li { color: rgba(255,255,255,.8); font-size: .86rem; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.lmv-plano-card__list li:last-child { border: none; }

/* ── Join / Cadastro massagista ─────────────────────────────── */
.lmv-join { background: var(--lm-pink-ultra); }
.lmv-join__grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 48px;
  align-items: center;
}
.lmv-join__benefits { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
.lmv-join__benefit {
  display: flex; gap: 14px; align-items: flex-start;
  background: #fff;
  border: 1px solid var(--lm-border);
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: var(--lm-shadow-sm);
}
.lmv-join__benefit > span { font-size: 1.5rem; flex-shrink: 0; }
.lmv-join__benefit strong { display: block; font-size: .9rem; color: var(--lm-dark); margin-bottom: 2px; }
.lmv-join__benefit p { color: var(--lm-muted); font-size: .82rem; margin: 0; }
.lmv-join__card {
  background: #fff;
  border: 2px solid var(--lm-border);
  border-radius: 24px;
  padding: 32px 28px;
  box-shadow: 0 20px 50px rgba(233,30,140,.1);
  text-align: center;
}
.lmv-join__steps-mini {
  display: flex; flex-direction: column; gap: 8px; text-align: left;
  background: var(--lm-pink-ultra);
  border-radius: 12px;
  padding: 14px 16px;
}
.lmv-join__steps-mini span {
  font-size: .84rem; font-weight: 700; color: var(--lm-dark);
}
.lmv-join__steps-mini span::before { content: ''; }

/* ── Responsivo ─────────────────────────────────────────────── */
@media (max-width: 940px) {
  .lmv-hero { padding: 100px 0 60px; }
  .lmv-hero__inner { grid-template-columns: 1fr; gap: 32px; }
  .lmv-hero__visual { justify-content: center; }
  .lmv-hero__logo-card { width: 100%; max-width: 380px; }
  .lmv-planos-strip__grid { grid-template-columns: 1fr; max-width: 380px; }
  .lmv-plano-card.ouro { transform: none; }
  .lmv-join__grid { grid-template-columns: 1fr; }
  .lmv-join__card { max-width: 420px; }
  .lmv-steps { flex-direction: column; }
  .lmv-step__arrow { transform: rotate(90deg); }
}
@media (max-width: 600px) {
  .lmv-hero__search { border-radius: 16px; flex-direction: column; }
  .lmv-hero__search input, .lmv-hero__search button { border-radius: 12px; width: 100%; }
  .lmv-cats__grid { justify-content: flex-start; }
}

/* ═══════════════════════════════════════════════════════════════
   SETAS DA GALERIA DO ANÚNCIO — ROSA
   ═══════════════════════════════════════════════════════════════ */
.vam-sgarrow {
  background: rgba(233,30,140,.75) !important;
  color: #fff !important;
}
.vam-sgarrow:hover {
  background: rgba(233,30,140,1) !important;
  box-shadow: 0 4px 20px rgba(233,30,140,.5) !important;
}
.vam-sgthumb.active { border-color: #e91e8c !important; }
.vam-sg-counter {
  background: rgba(233,30,140,.65) !important;
}

/* Também para galeria do HivePress / hp-listing */
.hp-gallery__arrow,
.swiper-button-next,
.swiper-button-prev,
[class*="slick-arrow"],
.hp-gallery__item .slick-prev,
.hp-gallery__item .slick-next {
  background: rgba(233,30,140,.8) !important;
  color: #fff !important;
}
.swiper-button-next::after,
.swiper-button-prev::after { color: #fff !important; }

/* ═══════════════════════════════════════════════════════════════
   LOVE MASSAGENS v12 — HOME REESTRUTURADA
   Estrutura: 1/3 hero+clientes | 2/3 vitrine profissionais
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero atualizado ─────────────────────────────────────────── */
.lmv-hero__kicker {
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  backdrop-filter: blur(8px);
}
.lmv-hero__cta-btn {
  width: 100%;
  justify-content: center;
  margin-top: 8px;
  font-size: 1rem !important;
  padding: 14px 22px !important;
}
.lmv-hero__logo-card {
  background: rgba(255,255,255,.11);
  backdrop-filter: blur(22px);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 24px;
  padding: 30px 26px;
  text-align: center;
  width: 320px;
  box-shadow: 0 30px 60px rgba(0,0,0,.2);
}
.lmv-hero__logo-img {
  height: 80px;
  width: auto;
  object-fit: contain;
  filter: none;
  background: #fff;
  border-radius: 14px;
  padding: 10px 18px;
  margin-bottom: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,.14);
}
.lmv-hero__card-text {
  color: rgba(255,255,255,.78);
  font-size: .88rem;
  line-height: 1.55;
  margin: 0 0 18px;
}

/* ── Divisor entre blocos ────────────────────────────────────── */
.lmv-divider-strip {
  background: linear-gradient(90deg, #2d1520, #5a0f35, #e91e8c);
  padding: 20px 0;
}
.lmv-divider-strip .lm-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.lmv-divider-strip p {
  color: rgba(255,255,255,.85);
  font-weight: 700;
  font-size: 1rem;
  margin: 0;
}
.lmv-divider-strip a {
  color: #fff;
  font-weight: 800;
  font-size: .9rem;
  text-decoration: none;
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  padding: 8px 20px;
  transition: .18s;
}
.lmv-divider-strip a:hover {
  background: rgba(255,255,255,.26);
}

/* ── Números / prova social ──────────────────────────────────── */
.lmv-numeros { background: var(--lm-pink-ultra); padding: 50px 0; }
.lmv-numeros__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.lmv-num {
  text-align: center;
  padding: 24px 16px;
  background: #fff;
  border-radius: 18px;
  border: 1.5px solid var(--lm-border);
  box-shadow: 0 4px 16px rgba(233,30,140,.07);
}
.lmv-num__value {
  font-size: 2.2rem;
  font-weight: 900;
  color: var(--lm-pink);
  line-height: 1;
  font-family: var(--lm-font-head);
}
.lmv-num__label {
  font-size: .78rem;
  color: var(--lm-muted);
  font-weight: 700;
  margin-top: 6px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* ── Por que cadastrar ───────────────────────────────────────── */
.lmv-porque__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.lmv-porque__card {
  background: var(--lm-pink-ultra);
  border: 1.5px solid var(--lm-border);
  border-radius: 18px;
  padding: 26px 22px;
  transition: var(--lm-transition);
}
.lmv-porque__card:hover {
  border-color: var(--lm-pink);
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(233,30,140,.12);
}
.lmv-porque__icon {
  font-size: 2rem;
  margin-bottom: 12px;
  display: block;
}
.lmv-porque__card h4 {
  font-size: 1rem;
  font-weight: 800;
  color: var(--lm-dark);
  margin: 0 0 8px;
  font-family: var(--lm-font);
}
.lmv-porque__card p {
  color: var(--lm-muted);
  font-size: .86rem;
  line-height: 1.6;
  margin: 0;
}

/* ── Passo a passo do cadastro ───────────────────────────────── */
.lmv-como-cadastrar { background: var(--lm-bg); }
.lmv-passos {
  display: grid;
  grid-template-columns: 1fr 32px 1fr 32px 1fr 32px 1fr;
  gap: 0;
  align-items: start;
  max-width: 960px;
  margin: 0 auto;
}
.lmv-passo {
  background: #fff;
  border: 1.5px solid var(--lm-border);
  border-radius: 20px;
  padding: 26px 20px;
  text-align: center;
  box-shadow: 0 4px 16px rgba(233,30,140,.06);
}
.lmv-passo__num {
  font-size: 2rem;
  font-weight: 900;
  color: var(--lm-pink);
  font-family: var(--lm-font-head);
  line-height: 1;
  margin-bottom: 12px;
  display: block;
}
.lmv-passo h4 {
  font-size: .95rem;
  font-weight: 800;
  color: var(--lm-dark);
  margin: 0 0 8px;
  font-family: var(--lm-font);
}
.lmv-passo p {
  color: var(--lm-muted);
  font-size: .82rem;
  line-height: 1.6;
  margin: 0;
}
.lmv-passo__line {
  display: flex;
  align-items: flex-start;
  padding-top: 38px;
  justify-content: center;
}
.lmv-passo__line::after {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, var(--lm-pink), var(--lm-pink-light));
  border-radius: 2px;
}

/* ── Depoimentos ─────────────────────────────────────────────── */
.lmv-depoimentos__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.lmv-dep {
  background: var(--lm-pink-ultra);
  border: 1.5px solid var(--lm-border);
  border-radius: 18px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lmv-dep__stars { color: #f59e0b; font-size: 1rem; letter-spacing: 2px; }
.lmv-dep p {
  color: var(--lm-dark);
  font-size: .9rem;
  line-height: 1.65;
  margin: 0;
  flex: 1;
  font-style: italic;
}
.lmv-dep__author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.lmv-dep__avatar {
  width: 40px; height: 40px;
  background: linear-gradient(135deg, var(--lm-pink), var(--lm-pink-dark));
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 1rem;
  flex-shrink: 0;
}
.lmv-dep__author strong { display: block; font-size: .88rem; color: var(--lm-dark); }
.lmv-dep__author span { font-size: .76rem; color: var(--lm-muted); }

/* ── CTA final ───────────────────────────────────────────────── */
.lmv-cta-final {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
}
.lmv-cta-final__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #2d1520 0%, #5a0f35 50%, #e91e8c 100%);
}
.lmv-cta-final__inner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}
.lmv-cta-final__copy {
  text-align: center;
  max-width: 580px;
  color: #fff;
}
.lmv-cta-final__logo {
  height: 72px;
  width: auto;
  object-fit: contain;
  filter: none;
  background: #fff;
  border-radius: 14px;
  padding: 10px 20px;
  margin-bottom: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,.14);
}
.lmv-cta-final__copy h2 {
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  font-weight: 900;
  color: #fff;
  margin: 0 0 14px;
}
.lmv-cta-final__copy > p {
  color: rgba(255,255,255,.78);
  font-size: .96rem;
  line-height: 1.65;
  margin: 0 0 28px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.lmv-cta-final__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.lmv-cta-final__btn-main {
  font-size: 1.05rem !important;
  padding: 16px 36px !important;
  background: #fff !important;
  color: var(--lm-pink) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.18) !important;
}
.lmv-cta-final__btn-main:hover {
  background: #fdf2f8 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 22px 50px rgba(0,0,0,.22) !important;
}
.lmv-cta-final__link {
  color: rgba(255,255,255,.75);
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s;
}
.lmv-cta-final__link:hover { color: #fff; }
.lmv-cta-final__fine {
  color: rgba(255,255,255,.45) !important;
  font-size: .76rem !important;
  margin-top: 14px !important;
  margin-bottom: 0 !important;
}

/* ── Responsivo ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .lmv-numeros__grid { grid-template-columns: repeat(2, 1fr); }
  .lmv-porque__grid  { grid-template-columns: repeat(2, 1fr); }
  .lmv-passos {
    grid-template-columns: 1fr;
    gap: 12px;
    max-width: 440px;
  }
  .lmv-passo__line { padding: 0; }
  .lmv-passo__line::after { width: 2px; height: 22px; margin: 0 auto; display: block; }
  .lmv-depoimentos__grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
}
@media (max-width: 700px) {
  .lmv-numeros__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .lmv-porque__grid  { grid-template-columns: 1fr; }
  .lmv-divider-strip .lm-container { justify-content: center; text-align: center; }
}


/* Logo visível no menu — versão 12.1 */
.lmv-child-header{
  height:104px!important;
  min-height:104px!important;
}
.lmv-child-header__inner{
  height:104px!important;
  min-height:104px!important;
}
.lmv-child-header .lm-logo img{
  height:96px!important;
  max-height:96px!important;
  max-width:320px!important;
  width:auto!important;
  object-fit:contain!important;
}
body{
  padding-top:104px!important;
}
@media(max-width:940px){
  .lmv-child-header{
    height:92px!important;
    min-height:92px!important;
  }
  .lmv-child-header__inner{
    height:92px!important;
    min-height:92px!important;
  }
  .lmv-child-header .lm-logo img{
    height:82px!important;
    max-height:82px!important;
    max-width:205px!important;
  }
  body{
    padding-top:92px!important;
  }
  .lmv-child-mobile{
    inset:92px 0 0 0!important;
  }
}


/* Home: perfis com e sem plano */
.lm-home-visibility-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 18px;
  padding:12px 16px;
  border:1px solid rgba(233,30,140,.16);
  border-radius:18px;
  background:#fff6fb;
  color:var(--lm-dark);
}
.lm-home-visibility-note strong{
  font-weight:900;
  color:var(--lm-pink-dark);
}
.lm-home-visibility-note span{
  font-size:.9rem;
  color:var(--lm-muted);
}
@media(max-width:700px){
  .lm-home-visibility-note{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ── Seção recentes (plano gratuito) ─────────────────────── */
.lmv-section-recentes { border-top: 1px solid rgba(233,30,140,.08); }
.lmv-gratis-carousel .lm-carousel-arrow { border-color: rgba(233,30,140,.25); color: var(--lm-muted); }
.lmv-gratis-carousel .lm-carousel-arrow:hover { background: rgba(233,30,140,.08); border-color: var(--lm-pink); color: var(--lm-pink); }

/* ── Pin badge no carrossel ──────────────────────────────── */
.lmv-pinned-slide { position: relative; }
.lmv-pin-badge {
  position: absolute;
  top: 10px; left: 10px;
  z-index: 10;
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #fff;
  border-radius: 999px;
  padding: 3px 10px;
  font-size: .68rem;
  font-weight: 800;
  pointer-events: none;
  white-space: nowrap;
}
/* pin badge na grade */
.lmv-pinned-badge-wrap { position: relative; }

/* ════════════════════════════════════════════════════════════
   LOVE MASSAGENS v13 — Novos estilos + responsivo completo
   ════════════════════════════════════════════════════════════ */

/* ── Variáveis base ─────────────────────────────────────── */
/* ── Seção heads (título + botão ver todos) ──────────────── */
.lmv-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.lmv-section-sub { color: var(--lm-muted); font-size: .88rem; margin: 5px 0 0; }
.lmv-btn-verall  { flex-shrink: 0; white-space: nowrap; }

/* ── Kicker por tipo ─────────────────────────────────────── */
.lm-kicker         { display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--lm-pink);margin-bottom:4px; }
.lmv-kicker-gold   { color:#b45309; }
.lmv-kicker-silver { color:#e91e8c; }

/* ── Botão base ──────────────────────────────────────────── */

/* ── Hero ────────────────────────────────────────────────── */
.lmv-hero        { position:relative;background:linear-gradient(135deg,#2d1520 0%,#5a0f35 60%,#e91e8c 100%);overflow:hidden;padding:60px 0 40px; }
.lmv-hero__bg    { position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><circle cx="50" cy="50" r="40" fill="none" stroke="rgba(255,255,255,.03)" stroke-width="2"/></svg>') repeat;pointer-events:none; }
.lmv-hero__inner { display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:center;position:relative;z-index:1; }
.lmv-hero__copy  { color:#fff; }
.lmv-hero__kicker{ color:rgba(255,255,255,.7);margin-bottom:12px; }
.lmv-hero__title { font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.15;margin:0 0 16px; }
.lmv-hero__sub   { font-size:1rem;opacity:.85;margin:0 0 28px;max-width:520px;line-height:1.6; }
.lmv-hero__search{ display:flex;background:#fff;border-radius:999px;overflow:hidden;max-width:480px;box-shadow:0 4px 24px rgba(0,0,0,.25); }
.lmv-hero__search input { flex:1;border:none;padding:14px 20px;font-size:.92rem;outline:none;min-width:0; }
.lmv-hero__search button{ padding:14px 24px;background:var(--lm-pink);color:#fff;border:none;font-weight:700;cursor:pointer;font-size:.88rem;white-space:nowrap;transition:.15s; }
.lmv-hero__search button:hover { background:var(--lm-pink-dark); }
.lmv-hero__trust { display:flex;flex-wrap:wrap;gap:10px;margin-top:20px; }
.lmv-hero__trust span { background:rgba(255,255,255,.12);border-radius:999px;padding:5px 14px;font-size:.78rem;color:rgba(255,255,255,.9); }
.lmv-hero__logo-card { background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:var(--lm-radius);padding:28px;text-align:center; }
.lmv-hero__logo-img  { width:100%;max-width:200px;border-radius:10px;object-fit:cover; }
.lmv-hero__card-text { color:rgba(255,255,255,.75);font-size:.85rem;margin:12px 0 18px;line-height:1.5; }
.lmv-hero__cta-btn   { width:100%;justify-content:center;font-size:.95rem;padding:14px 20px; }
.lmv-hero__visual    { display:flex;justify-content:center; }

/* ── Chips de categoria ──────────────────────────────────── */
.lmv-cats        { background:#fff;border-bottom:1px solid var(--lm-border); }
.lmv-cats__grid  { display:flex;flex-wrap:wrap;gap:8px; }
.lmv-cat-chip    { display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff0f8;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--lm-dark);text-decoration:none;transition:.15s;white-space:nowrap; }
.lmv-cat-chip:hover { background:var(--lm-pink);color:#fff; }
.lmv-cat-chip span  { font-size:1.1rem; }

/* ── Carrossel ───────────────────────────────────────────── */
.lm-paid-carousel   { position:relative;display:flex;align-items:center;gap:0; }
.lm-carousel-viewport{ overflow:hidden;flex:1;min-width:0; }
.lm-carousel-track  { display:flex;gap:16px;transition:transform .35s ease;will-change:transform; }
.lm-carousel-slide  { flex:0 0 260px;max-width:260px;position:relative; }
.lm-carousel-arrow  { flex-shrink:0;width:40px;height:40px;border-radius:50%;border:2px solid var(--lm-border);background:#fff;cursor:pointer;font-size:1.3rem;display:flex;align-items:center;justify-content:center;color:var(--lm-pink);transition:.15s;z-index:2; }
.lm-carousel-arrow:hover { background:var(--lm-pink);color:#fff;border-color:var(--lm-pink); }
.lm-carousel-arrow.prev { margin-right:6px; }
.lm-carousel-arrow.next { margin-left:6px; }

/* Carrossel Ouro */
.lmv-carousel-gold .lm-carousel-arrow { border-color:rgba(180,83,9,.2);color:#b45309; }
.lmv-carousel-gold .lm-carousel-arrow:hover { background:#b45309;border-color:#b45309;color:#fff; }
/* Carrossel Prata */
.lmv-carousel-prata .lm-carousel-arrow { border-color:rgba(233,30,140,.2);color:#e91e8c; }
.lmv-carousel-prata .lm-carousel-arrow:hover { background:#e91e8c;border-color:#e91e8c;color:#fff; }

/* ── Pin badge ───────────────────────────────────────────── */
.lmv-pinned-slide  { position:relative; }
.lmv-pin-badge     { position:absolute;top:10px;left:10px;z-index:10;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:999px;padding:3px 10px;font-size:.66rem;font-weight:800;pointer-events:none;white-space:nowrap; }
.lmv-pinned-badge-wrap { position:relative; }

/* ── CTA Final ───────────────────────────────────────────── */
.lmv-cta-final        { position:relative;background:linear-gradient(135deg,#2d1520,#5a0f35);overflow:hidden;padding:60px 0; }
.lmv-cta-final__bg    { position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,rgba(233,30,140,.18),transparent 60%);pointer-events:none; }
.lmv-cta-final__inner { position:relative;z-index:1;text-align:center; }
.lmv-cta-final__copy  { max-width:560px;margin:0 auto; }
.lmv-cta-final__logo  { width:80px;border-radius:12px;margin-bottom:20px;object-fit:cover; }
.lmv-cta-final__copy h2  { color:#fff;font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 12px; }
.lmv-cta-final__copy p   { color:rgba(255,255,255,.8);font-size:.95rem;line-height:1.6;margin:0 0 28px; }
.lmv-cta-final__actions  { display:flex;flex-wrap:wrap;gap:14px;justify-content:center; }
.lmv-cta-final__btn-main { font-size:1rem;padding:15px 32px; }
.lmv-cta-final__fine     { color:rgba(255,255,255,.5);font-size:.75rem;margin-top:14px; }

/* ── Login page ──────────────────────────────────────────── */
.lmv-login-wrap { background:var(--lm-bg); }
.lmv-como-funciona { padding:48px 0 36px;background:#fff; }
.lmv-cf__head { text-align:center;margin-bottom:36px; }
.lmv-cf__sub  { color:var(--lm-muted);font-size:.92rem;margin:8px auto 0;max-width:480px; }

.lmv-passos   { display:flex;align-items:flex-start;gap:0;flex-wrap:wrap;justify-content:center; }
.lmv-passo    { display:flex;flex-direction:column;align-items:center;text-align:center;max-width:180px; }
.lmv-passo__num  { width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--lm-pink),#a0106a);color:#fff;font-size:1rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex-shrink:0; }
.lmv-passo__body h4 { margin:0 0 6px;font-size:.92rem; }
.lmv-passo__body p  { color:var(--lm-muted);font-size:.8rem;margin:0;line-height:1.5; }
.lmv-passo__line    { flex:1;min-width:24px;height:2px;background:linear-gradient(90deg,var(--lm-pink),rgba(233,30,140,.2));margin-top:26px;align-self:flex-start; }

.lmv-btn-cadastro-lg { font-size:1rem;padding:14px 36px; }

.lmv-login-section  { padding:40px 0 60px;background:var(--lm-bg); }
.lmv-login-inner    { max-width:460px; }
.lmv-login-form-wrap { background:#fff;border-radius:var(--lm-radius);padding:32px;box-shadow:var(--lm-shadow); }

/* ── Cadastro page ───────────────────────────────────────── */
.lmv-cadastro-wrap  { background:var(--lm-bg);padding:48px 0 64px; }
.lmv-cadastro-inner { display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:start; }
.lmv-cadastro-benefits h1 { font-size:clamp(1.6rem,3vw,2.2rem);margin:10px 0 24px;line-height:1.2; }
.lmv-benefits-list  { list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px; }
.lmv-benefits-list li { display:flex;gap:14px;align-items:flex-start; }
.lmv-benefit-icon   { font-size:1.6rem;flex-shrink:0;line-height:1; }
.lmv-benefits-list strong { display:block;font-size:.92rem;margin-bottom:3px; }
.lmv-benefits-list p { color:var(--lm-muted);font-size:.82rem;margin:0;line-height:1.5; }

.lmv-cadastro-card  { background:#fff;border-radius:var(--lm-radius);padding:32px;box-shadow:var(--lm-shadow); }
.lmv-cadastro-card h2 { margin:0 0 4px;font-size:1.3rem; }
.lmv-req            { color:var(--lm-pink); }

.lmv-pass-wrap      { position:relative; }
.lmv-pass-wrap input{ padding-right:48px; }
.lmv-pass-toggle    { position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;line-height:1; }

.lmv-btn-cadastro-submit { width:100%;font-size:.95rem;padding:13px 20px;margin-top:4px; }

/* ── Formulário ──────────────────────────────────────────── */
.lm-form        { display:flex;flex-direction:column;gap:14px; }
.lm-form label  { display:flex;flex-direction:column;gap:5px;font-size:.84rem;font-weight:600;color:var(--lm-dark); }
.lm-form input[type=text],
.lm-form input[type=email],
.lm-form input[type=password],
.lm-form input[type=tel],
.lm-form input[type=search] {
  border:1.5px solid var(--lm-border);
  border-radius:10px;
  padding:11px 14px;
  font-size:.9rem;
  outline:none;
  transition:.15s;
  width:100%;
  box-sizing:border-box;
  background:#fff;
}
.lm-form input:focus { border-color:var(--lm-pink); box-shadow:0 0 0 3px rgba(233,30,140,.1); }
.lm-check       { flex-direction:row!important;align-items:center;gap:8px;font-weight:400!important; }
.lm-small       { font-size:.78rem;color:var(--lm-muted);margin:0; }
.lm-alert       { padding:12px 16px;border-radius:10px;font-size:.85rem;margin-bottom:4px; }
.lm-alert-err   { background:#fff0f0;color:#c0392b;border-left:3px solid #c0392b; }
.lm-alert-ok    { background:#f0fff4;color:#16a34a;border-left:3px solid #16a34a; }
.lm-alert a     { color:inherit;font-weight:700; }

/* ── Card de listing (HivePress) ─────────────────────────── */
.hp-listing-view-block,
.hp-listing-card,
.hp-listing-view { border-radius:12px!important;overflow:hidden!important;box-shadow:0 2px 12px rgba(100,60,120,.09)!important;transition:.2s!important;background:#fff!important; }
.hp-listing-view-block:hover,
.hp-listing-card:hover { transform:translateY(-3px)!important;box-shadow:0 6px 24px rgba(233,30,140,.15)!important; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVO COMPLETO
   ═══════════════════════════════════════════════════════════ */

/* Tablet landscape (< 1024px) */
@media (max-width: 1024px) {
  .lmv-hero__inner       { grid-template-columns: 1fr 320px; gap: 28px; }
  .lmv-cadastro-inner    { grid-template-columns: 1fr 380px; gap: 32px; }
}

/* Tablet portrait (< 768px) */
@media (max-width: 768px) {
  .lm-section { padding: 36px 0; }

  /* Hero */
  .lmv-hero { padding: 40px 0 32px; }
  .lmv-hero__inner { grid-template-columns: 1fr; gap: 28px; }
  .lmv-hero__visual { order: -1; }
  .lmv-hero__logo-card { max-width: 320px; margin: 0 auto; padding: 20px; }
  .lmv-hero__title { font-size: 1.8rem; }
  .lmv-hero__search { max-width: 100%; }

  /* Seção heads */
  .lmv-section-head { flex-direction: column; align-items: flex-start; }
  .lmv-btn-verall { align-self: flex-start; }

  /* Passos */
  .lmv-passos { flex-direction: column; align-items: center; gap: 8px; }
  .lmv-passo  { max-width: 100%; flex-direction: row; text-align: left; gap: 16px; }
  .lmv-passo__num { margin-bottom: 0; flex-shrink: 0; }
  .lmv-passo__line { display: none; }

  /* Login */
  .lmv-login-inner { max-width: 100%; }

  /* Cadastro */
  .lmv-cadastro-inner { grid-template-columns: 1fr; gap: 28px; }
  .lmv-cadastro-benefits h1 { font-size: 1.5rem; }

  /* Carrossel: slides menores */
  .lm-carousel-slide { flex: 0 0 220px; max-width: 220px; }

  /* Chips */
  .lmv-cats__grid { gap: 6px; }
  .lmv-cat-chip   { font-size: .74rem; padding: 6px 10px; }

  /* CTA final */
  .lmv-cta-final { padding: 44px 0; }
  .lmv-cta-final__copy h2 { font-size: 1.6rem; }
  .lmv-cta-final__actions { flex-direction: column; align-items: center; }
  .lmv-cta-final__btn-main { width: 100%; max-width: 320px; }
}

/* Mobile (< 480px) */
@media (max-width: 480px) {
  .lm-container { padding: 0 14px; }

  .lmv-hero { padding: 30px 0 24px; }
  .lmv-hero__title { font-size: 1.5rem; }
  .lmv-hero__sub   { font-size: .88rem; }
  .lmv-hero__search input  { padding: 11px 14px; font-size: .85rem; }
  .lmv-hero__search button { padding: 11px 16px; font-size: .82rem; }
  .lmv-hero__trust { gap: 6px; }
  .lmv-hero__trust span { font-size: .72rem; padding: 4px 10px; }

  /* Carrossel: slide full largura - 2 visíveis */
  .lm-carousel-slide { flex: 0 0 calc(50vw - 28px); max-width: calc(50vw - 28px); }
  .lm-carousel-arrow { width: 32px; height: 32px; font-size: 1rem; }

  .lmv-passo__num { width: 42px; height: 42px; font-size: .85rem; }

  .lmv-cadastro-card { padding: 22px 18px; }
  .lmv-login-form-wrap { padding: 22px 18px; }
  .lmv-btn-cadastro-lg { font-size: .9rem; padding: 12px 24px; }

  .lmv-benefits-list { gap: 14px; }
  .lmv-benefit-icon  { font-size: 1.3rem; }

  .lmv-section-head h2 { font-size: 1.3rem; }
}

/* ── Utilitários ─────────────────────────────────────────── */


/* =========================================================
   AJUSTE SOLICITADO v14 — etapa visível, rosa global e responsivo
   ========================================================= */
.lm-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  color:var(--lm-muted);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.lm-progress-head strong{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--lm-pink),var(--lm-pink-dark));
  color:#fff;
  box-shadow:0 12px 26px rgba(233,30,140,.22);
  letter-spacing:0;
  text-transform:none;
  font-size:.88rem;
}
.lm-step-indicators{align-items:center;}
.lm-step-indicator{
  position:relative;
  min-height:34px;
  border:1px solid transparent;
  white-space:nowrap;
}
.lm-step-indicator.active{
  box-shadow:0 12px 24px rgba(233,30,140,.24);
  transform:translateY(-1px);
}
.lm-step-indicator.done::before{content:'✓ ';font-weight:900;}
.lm-step-indicator.pending{background:#fff0f8;color:#bd116c;border-color:rgba(233,30,140,.16);}

/* Remoção dos últimos tons roxos sem alterar layout */
.lmv-kicker-silver{color:var(--lm-pink)!important;}
.lmv-carousel-prata .lm-carousel-arrow{border-color:rgba(233,30,140,.2)!important;color:var(--lm-pink)!important;}
.lmv-carousel-prata .lm-carousel-arrow:hover{background:var(--lm-pink)!important;border-color:var(--lm-pink)!important;color:#fff!important;}
.lmv-hero{background:linear-gradient(135deg,#2d1520 0%,#5a0f35 60%,#e91e8c 100%)!important;}
.lmv-cta-final{background:linear-gradient(135deg,#2d1520,#5a0f35)!important;}
.lmv-cat-chip{background:#fff0f8!important;}
.lmv-cat-chip:hover{background:var(--lm-pink)!important;color:#fff!important;}

/* Responsivo final: mantém o design, só impede quebras em telas menores */
img,video,iframe{max-width:100%;height:auto;}
.lm-container{width:min(1180px,calc(100% - 32px));}
.lm-form input,.lm-form select,.lm-form textarea{max-width:100%;}
.lm-form-grid{min-width:0;}
.lm-form-grid > *{min-width:0;}
.lm-card-buttons,.lm-step-nav{flex-wrap:wrap;}
.lm-card-buttons .lm-btn,.lm-step-nav .lm-btn{white-space:normal;text-align:center;}
.lm-revisao-table{width:100%;border-collapse:collapse;table-layout:fixed;}
.lm-revisao-table td{word-break:break-word;}

@media(max-width:1024px){
  .lmv-hero__inner{grid-template-columns:1fr!important;gap:28px!important;}
  .lmv-hero__visual{order:-1;}
  .lm-results-grid,.lm-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .lm-form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .lm-container{width:min(100% - 24px,1180px)!important;}
  .lm-anuncio-wrap{padding:24px 0 52px!important;}
  .lm-progress-head{position:sticky;top:76px;z-index:30;background:rgba(253,246,251,.96);padding:8px 0;margin-bottom:8px;backdrop-filter:blur(12px);}
  .lm-step-indicators{justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:8px!important;padding:0 2px 12px!important;margin-bottom:18px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .lm-step-indicators::-webkit-scrollbar{height:4px;}
  .lm-step-indicators::-webkit-scrollbar-thumb{background:rgba(233,30,140,.25);border-radius:999px;}
  .lm-step-indicator{flex:0 0 auto;scroll-snap-align:start;padding:7px 13px!important;font-size:.76rem!important;}
  .lm-step-card{padding:20px 16px!important;border-radius:20px!important;}
  .lm-step-card h2{font-size:1.15rem!important;}
  .lm-form-grid-2,.lm-form-grid-4,.lm-results-grid,.lm-grid{grid-template-columns:1fr!important;}
  .lm-servicos-grid{grid-template-columns:1fr!important;}
  .lm-step-nav{gap:10px!important;}
  .lm-step-nav .lm-btn{width:100%;justify-content:center;}
  .lm-step-nav span:empty{display:none;}
  .lmv-hero__search{border-radius:22px!important;flex-direction:column!important;}
  .lmv-hero__search button{width:100%!important;}
  .lm-carousel-slide{flex-basis:82vw!important;max-width:82vw!important;}
  .lm-paid-carousel{gap:4px!important;}
  .lm-carousel-arrow{width:38px!important;height:38px!important;}
  .lm-card-buttons .lm-btn{flex:1 1 100%;}
}
@media(max-width:480px){
  body{padding-top:68px!important;}
  .lm-container{width:calc(100% - 18px)!important;}
  .lm-section{padding:30px 0!important;}
  .lm-progress-head{top:70px;align-items:flex-start;flex-direction:column;gap:6px;}
  .lm-progress-head strong{width:100%;justify-content:center;}
  .lm-step-card{padding:18px 14px!important;}
  .lm-btn,.vam-btn,button[type=submit],input[type=submit]{min-height:46px;}
  .lmv-child-header .lm-logo img{max-width:150px!important;}
  .lm-main-photo img{height:240px!important;}
  .lm-thumb-preview{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .lm-revisao-table,.lm-revisao-table tbody,.lm-revisao-table tr,.lm-revisao-table td{display:block;width:100%;}
  .lm-revisao-table td:first-child{width:100%!important;border-bottom:0;padding-bottom:2px;}
  .lm-revisao-table td:last-child{padding-top:2px;}
}


/* Ajuste final da logo do hero - evita corte da imagem */
.lmv-hero__logo-card {
  overflow: visible;
}
.lmv-hero__logo-img {
  display: block;
  width: 100% !important;
  max-width: 230px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto 14px !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 768px) {
  .lmv-hero__logo-img {
    max-width: 210px !important;
  }
}


/* Ajuste extra mobile: corrige cards cortando e reforça responsividade geral */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden; }
body { max-width: 100%; }
[class*="grid"] > *,
.lm-card,
.lm-listing-card,
.lm-hero-card,
.lm-filter-card,
.lm-auth-card,
.lm-step-card,
.lmv-plano-card,
.lmv-porque__card,
.lmv-cadastro-card,
.hp-listing-card,
.hp-listing-view,
.lm-carousel-slide {
  min-width: 0;
}
.lm-card,
.lm-listing-card,
.lm-hero-card,
.lm-filter-card,
.lm-auth-card,
.lm-step-card,
.lmv-plano-card,
.lmv-porque__card,
.lmv-cadastro-card,
.hp-listing-card,
.hp-listing-view {
  width: 100%;
  max-width: 100%;
}
.lm-card h1, .lm-card h2, .lm-card h3, .lm-card h4,
.lm-listing-card h1, .lm-listing-card h2, .lm-listing-card h3, .lm-listing-card h4,
.lmv-plano-card h1, .lmv-plano-card h2, .lmv-plano-card h3, .lmv-plano-card h4,
.lmv-porque__card h1, .lmv-porque__card h2, .lmv-porque__card h3, .lmv-porque__card h4,
.lm-chamada, .lmv-porque__card p, .lmv-plano-card__list li, .lmv-hero__card-text {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 768px) {
  .lm-card,
  .lm-listing-card,
  .lm-hero-card,
  .lm-filter-card,
  .lm-auth-card,
  .lm-step-card,
  .lmv-plano-card,
  .lmv-porque__card,
  .lmv-cadastro-card,
  .hp-listing-card,
  .hp-listing-view {
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .lmv-planos-strip__grid,
  .lmv-depoimentos__grid,
  .lmv-porque__grid,
  .lmv-numeros__grid,
  .lm-grid,
  .lm-results-grid,
  .lm-form-grid-2,
  .lm-form-grid-4,
  .lm-servicos-grid,
  .lm-auth-grid {
    grid-template-columns: 1fr !important;
  }

  .lm-card-img,
  .lm-card-img img,
  .hp-listing-card img,
  .hp-listing-view img {
    width: 100% !important;
    max-width: 100% !important;
  }

  .lm-card-img img,
  .hp-listing-card img,
  .hp-listing-view img {
    height: 210px !important;
    object-fit: cover !important;
  }

  .lm-card-buttons,
  .lm-step-nav {
    gap: 10px !important;
  }

  .lm-card-buttons .lm-btn,
  .lm-step-nav .lm-btn,
  .lmv-plano-card .lm-btn,
  .lmv-plano-card a.lm-btn {
    width: 100% !important;
  }

  .lm-carousel-viewport {
    min-width: 0 !important;
  }
  .lm-carousel-track {
    gap: 12px !important;
  }
  .lm-carousel-slide {
    flex: 0 0 84vw !important;
    max-width: 84vw !important;
  }
}

@media (max-width: 480px) {
  .lm-card,
  .lm-listing-card,
  .lm-hero-card,
  .lm-filter-card,
  .lm-auth-card,
  .lm-step-card,
  .lmv-plano-card,
  .lmv-porque__card,
  .lmv-cadastro-card,
  .hp-listing-card,
  .hp-listing-view {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .lm-card-img img,
  .hp-listing-card img,
  .hp-listing-view img {
    height: 190px !important;
  }

  .lm-carousel-slide {
    flex: 0 0 88vw !important;
    max-width: 88vw !important;
  }

  .lmv-plano-card__price strong {
    font-size: 1.9rem !important;
  }
}


/* Correção final mobile: cards do carrossel não podem cortar */
@media (max-width: 760px) {
  .lm-paid-carousel,
  .lmv-gratis-carousel,
  .lmv-carousel-prata,
  .lmv-carousel-gold {
    position: relative !important;
    display: block !important;
    padding: 0 2px !important;
  }

  .lm-carousel-viewport {
    width: 100% !important;
    overflow: hidden !important;
  }

  .lm-carousel-track {
    gap: 0 !important;
  }

  .lm-carousel-slide {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
  }

  .lm-carousel-slide > .lm-listing-card,
  .lm-carousel-slide > article,
  .lm-carousel-slide .hp-listing-card,
  .lm-carousel-slide .hp-listing-view {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .lm-carousel-arrow {
    position: absolute !important;
    top: 170px !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 34px !important;
    height: 34px !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.12) !important;
  }

  .lm-carousel-arrow.prev { left: 2px !important; margin-right: 0 !important; }
  .lm-carousel-arrow.next { right: 2px !important; margin-left: 0 !important; }

  .lm-listing-body {
    padding: 16px !important;
  }

  .lm-listing-title {
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }

  .lm-price {
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }

  .lm-meta,
  .lm-tags {
    gap: 6px !important;
  }

  .lm-meta span,
  .lm-tags span {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .lm-meta span {
    font-size: .74rem !important;
    padding: 5px 9px !important;
  }

  .lm-tags span {
    font-size: .72rem !important;
    padding: 4px 8px !important;
  }
}

@media (max-width: 480px) {
  .lm-carousel-slide {
    padding: 0 4px !important;
  }

  .lm-listing-body {
    padding: 14px !important;
  }

  .lm-card-img img,
  .hp-listing-card img,
  .hp-listing-view img {
    height: 200px !important;
  }

  .lm-carousel-arrow {
    top: 160px !important;
    width: 32px !important;
    height: 32px !important;
  }
}


/* V20 — Alinhamento definitivo da área de cadastro em todos os dispositivos */
.lm-anuncio-wrap,
.lmv-cadastro-wrap,
.lmv-login-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.lm-step-form,
.lm-form-step-panel,
.lm-step-card,
.lmv-cadastro-card,
.lmv-cadastro-form-wrap,
.lmv-login-form-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.lm-step-card {
  display: block;
}

.lm-step-card h2,
.lmv-cadastro-card h2,
.lmv-login-form-wrap h2 {
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.lm-step-card .lm-step-desc,
.lmv-cadastro-card p,
.lmv-login-form-wrap p {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.lm-form-grid {
  width: 100%;
  align-items: start;
}

.lm-form,
.lm-form label,
.lm-step-card label,
.lmv-cadastro-card label,
.lmv-login-form-wrap label {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.lm-step-card .lm-form,
.lmv-cadastro-card .lm-form,
.lmv-login-form-wrap .lm-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  margin: 0 !important;
  font-weight: 700 !important;
  color: var(--lm-dark) !important;
}

.lm-step-card input,
.lm-step-card select,
.lm-step-card textarea,
.lmv-cadastro-card input,
.lmv-cadastro-card select,
.lmv-cadastro-card textarea,
.lmv-login-form-wrap input,
.lmv-login-form-wrap select,
.lmv-login-form-wrap textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.lm-step-card textarea,
.lmv-cadastro-card textarea,
.lmv-login-form-wrap textarea {
  resize: vertical;
}

.lm-step-card fieldset {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.lm-step-card legend {
  max-width: calc(100% - 20px);
  white-space: normal;
  line-height: 1.25;
}

.lm-checks {
  width: 100%;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px !important;
  align-items: stretch;
}

.lm-checks label,
.lm-check {
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid rgba(233,30,140,.12);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.lm-checks input,
.lm-check input {
  flex: 0 0 auto;
}

.lmv-pass-wrap {
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: stretch;
  position: relative;
}

.lmv-pass-wrap input {
  padding-right: 48px !important;
}

.lmv-pass-toggle {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.lm-step-nav {
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
}

.lm-step-nav .lm-btn {
  min-width: 148px;
  justify-content: center;
}

.lm-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.lm-progress-head span,
.lm-progress-head strong {
  min-width: 0;
  white-space: normal;
}

.lm-step-indicators {
  width: 100%;
  max-width: 100%;
}

.lm-step-indicator {
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .lm-anuncio-wrap {
    max-width: 720px;
  }

  .lm-form-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .lm-form-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .lmv-cadastro-inner,
  .lmv-login-inner {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

@media (max-width: 700px) {
  .lm-anuncio-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .lm-step-card,
  .lmv-cadastro-card,
  .lmv-login-form-wrap {
    padding: 20px 16px !important;
    border-radius: 20px !important;
  }

  .lm-form-grid,
  .lm-form-grid-2,
  .lm-form-grid-4 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .lm-form[style*="grid-column"],
  .lm-step-card label[style*="grid-column"] {
    grid-column: 1 / -1 !important;
  }

  .lm-checks {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .lm-checks label,
  .lm-check {
    align-items: flex-start !important;
    min-height: 42px;
    padding: 10px !important;
    font-size: .84rem !important;
  }

  .lm-step-nav {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .lm-step-nav span {
    display: none;
  }

  .lm-step-nav .lm-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px;
  }

  .lm-progress-head {
    align-items: stretch !important;
  }

  .lm-progress-head strong {
    text-align: center;
  }

  .lm-step-indicators {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 10px !important;
    -webkit-overflow-scrolling: touch;
  }

  .lm-step-indicator {
    flex: 0 0 auto !important;
  }
}

@media (max-width: 480px) {
  .lm-container .lm-anuncio-wrap {
    width: 100%;
  }

  .lm-step-card,
  .lmv-cadastro-card,
  .lmv-login-form-wrap {
    padding: 18px 14px !important;
    border-radius: 18px !important;
  }

  .lm-step-card h2,
  .lmv-cadastro-card h2,
  .lmv-login-form-wrap h2 {
    font-size: 1.08rem !important;
  }

  .lm-step-card .lm-step-desc {
    font-size: .84rem !important;
    margin-bottom: 18px !important;
  }

  .lm-step-card input,
  .lm-step-card select,
  .lm-step-card textarea,
  .lmv-cadastro-card input,
  .lmv-cadastro-card select,
  .lmv-cadastro-card textarea,
  .lmv-login-form-wrap input,
  .lmv-login-form-wrap select,
  .lmv-login-form-wrap textarea {
    font-size: 16px !important;
    min-height: 46px;
    padding: 11px 12px !important;
  }

  .lm-step-card fieldset {
    padding: 14px 10px !important;
  }

  .lm-step-card legend {
    font-size: .82rem !important;
  }

  #lmv-revisao {
    padding: 14px !important;
    overflow-x: auto !important;
  }
}


/* Alinhamento final do cadastro: campos começam na mesma linha em desktop/tablet */
.lm-step-card .lm-form small,
.lmv-cadastro-card .lm-form small,
.lmv-login-form-wrap .lm-form small {
  display: block;
  margin-top: 2px;
  line-height: 1.25;
}

@media (min-width: 701px) {
  .lm-form-grid-2 > .lm-form,
  .lm-form-grid-4 > .lm-form {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-self: stretch !important;
    min-height: 108px;
  }

  .lm-form-grid-2 > .lm-form > input,
  .lm-form-grid-2 > .lm-form > select,
  .lm-form-grid-2 > .lm-form > textarea,
  .lm-form-grid-4 > .lm-form > input,
  .lm-form-grid-4 > .lm-form > select,
  .lm-form-grid-4 > .lm-form > textarea,
  .lm-form-grid-2 > .lm-form > .lmv-pass-wrap,
  .lm-form-grid-4 > .lm-form > .lmv-pass-wrap {
    margin-top: auto !important;
  }

  .lm-form-grid-2 > .lm-form[style*="grid-column:span 2"],
  .lm-form-grid-4 > .lm-form[style*="grid-column:span 2"],
  .lm-form-grid-4 > .lm-form[style*="grid-column: span 2"] {
    min-height: auto;
  }
}

@media (max-width: 700px) {
  .lm-step-card .lm-form small,
  .lmv-cadastro-card .lm-form small,
  .lmv-login-form-wrap .lm-form small {
    margin-top: 1px;
  }

  .lm-form-grid-2 > .lm-form,
  .lm-form-grid-4 > .lm-form {
    min-height: auto !important;
  }
}


/* Revisão completa do cadastro - alinhamento consistente em todas as etapas */
.lm-anuncio-wrap {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.lm-step-form,
.lm-form-step-panel,
.lm-step-card {
  width: 100% !important;
  max-width: 100% !important;
}

.lm-step-card {
  padding: 32px !important;
  border-radius: 24px !important;
}

.lm-step-card h2 {
  margin: 0 0 6px !important;
  line-height: 1.15 !important;
}

.lm-step-card .lm-step-desc {
  margin: 0 0 26px !important;
  line-height: 1.45 !important;
}

.lm-form-grid,
.lm-form-grid-2,
.lm-form-grid-4 {
  display: grid !important;
  width: 100% !important;
  align-items: start !important;
  gap: 20px 14px !important;
}

.lm-form-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.lm-form-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.lm-form-grid-2 > .lm-form[style*="grid-column:span 2"],
.lm-form-grid-2 > .lm-form[style*="grid-column: span 2"],
.lm-form-grid-4 > .lm-form[style*="grid-column:span 2"],
.lm-form-grid-4 > .lm-form[style*="grid-column: span 2"] {
  grid-column: 1 / -1 !important;
}

.lm-form-grid-2 > .lm-form:last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
}

.lm-step-card .lm-form,
.lm-step-card label.lm-form {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}

.lm-step-card .lm-form small {
  display: block !important;
  margin: 2px 0 0 !important;
  min-height: 18px !important;
  line-height: 1.25 !important;
  color: var(--lm-muted) !important;
}

.lm-step-card input,
.lm-step-card select,
.lm-step-card textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.lm-step-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.lm-step-card select {
  height: 48px !important;
  min-height: 48px !important;
}

.lm-step-card textarea {
  min-height: 116px !important;
  resize: vertical !important;
}

.lm-step-card fieldset {
  width: 100% !important;
  max-width: 100% !important;
  margin: 18px 0 0 !important;
  box-sizing: border-box !important;
}

.lm-step-card legend {
  line-height: 1.25 !important;
  white-space: normal !important;
}

.lm-checks,
.lm-servicos-grid {
  width: 100% !important;
  align-items: stretch !important;
}

.lm-checks label,
.lm-check,
.lm-servico-check {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.lm-checks input,
.lm-check input,
.lm-servico-check input {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: auto !important;
}

.lm-drop-area,
.lm-existing-gallery,
.lm-thumb-preview,
.lm-alert,
#lmv-revisao {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.lm-thumb-preview {
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)) !important;
}

.lm-step-nav {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 18px !important;
}

.lm-step-nav .lm-btn {
  min-height: 48px !important;
}

.lm-revisao-table {
  width: 100% !important;
  table-layout: fixed !important;
}

.lm-revisao-table td {
  vertical-align: top !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

@media (min-width: 901px) {
  .lm-form-grid-2 > .lm-form {
    min-height: 88px !important;
  }

  .lm-form-grid-4 > .lm-form {
    min-height: 88px !important;
  }

  .lm-form-grid-2 > .lm-form > input,
  .lm-form-grid-2 > .lm-form > select,
  .lm-form-grid-2 > .lm-form > textarea,
  .lm-form-grid-4 > .lm-form > input,
  .lm-form-grid-4 > .lm-form > select,
  .lm-form-grid-4 > .lm-form > textarea {
    margin-top: auto !important;
  }

  .lm-form-grid-2 > .lm-form:has(textarea),
  .lm-form-grid-4 > .lm-form:has(textarea),
  .lm-form-grid-2 > .lm-form[style*="grid-column"],
  .lm-form-grid-4 > .lm-form[style*="grid-column"] {
    min-height: auto !important;
  }
}

@media (max-width: 1100px) {
  .lm-anuncio-wrap {
    max-width: 920px !important;
  }

  .lm-form-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .lm-anuncio-wrap {
    max-width: 100% !important;
    padding: 18px 0 48px !important;
  }

  .lm-progress-head {
    position: static !important;
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
  }

  .lm-step-card {
    padding: 20px 16px !important;
    border-radius: 20px !important;
  }

  .lm-step-card h2 {
    font-size: 1.18rem !important;
  }

  .lm-step-card .lm-step-desc {
    font-size: .88rem !important;
    margin-bottom: 20px !important;
  }

  .lm-form-grid,
  .lm-form-grid-2,
  .lm-form-grid-4,
  .lm-servicos-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .lm-step-card .lm-form,
  .lm-step-card label.lm-form {
    gap: 7px !important;
  }

  .lm-step-card .lm-form small {
    min-height: auto !important;
  }

  .lm-step-card fieldset {
    padding: 14px 12px !important;
  }

  .lm-checks {
    grid-template-columns: 1fr !important;
  }

  .lm-checks label,
  .lm-check,
  .lm-servico-check {
    align-items: flex-start !important;
    min-height: 42px !important;
  }

  .lm-thumb-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .lm-step-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .lm-step-nav .lm-btn,
  .lm-step-nav button {
    width: 100% !important;
    justify-content: center !important;
  }

  .lm-step-nav span:empty,
  .lm-step-nav > span {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .lm-step-card {
    padding: 18px 14px !important;
    border-radius: 18px !important;
  }

  .lm-step-card input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  .lm-step-card select {
    height: 46px !important;
    min-height: 46px !important;
    font-size: 16px !important;
  }

  .lm-step-card textarea {
    min-height: 108px !important;
    font-size: 16px !important;
  }

  .lm-drop-area {
    padding: 20px 14px !important;
  }

  .lm-alert ul {
    padding-left: 16px !important;
    margin-left: 0 !important;
  }
}

/* v33 — Ajustes finais de hierarquia, edição e usabilidade */
.lm-painel-actions{opacity:.78!important}
.lm-painel-action-btn.logout,.lm-painel-action-btn.delete{box-shadow:none!important;filter:none!important}
.lm-existing-gallery{margin-top:18px;padding:16px;border:1px solid rgba(233,30,140,.18);border-radius:18px;background:#fff7fb}
.lm-existing-gallery>strong{display:block;margin-bottom:12px;color:#2d1520;font-size:.92rem}
.lm-existing-photo{position:relative!important;border:2px solid rgba(233,30,140,.18)!important;background:#fff!important;padding-bottom:38px!important;cursor:pointer!important}
.lm-existing-photo span{position:absolute!important;left:8px!important;right:8px!important;bottom:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;background:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important;border-radius:999px!important;padding:6px 10px!important;font-size:.78rem!important;font-weight:900!important;z-index:5!important}
.lm-existing-photo input{width:auto!important;margin:0!important;accent-color:#dc2626!important}
.lm-field-error{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important;background:#fff7f7!important}
button[disabled],.lm-btn[disabled]{opacity:.65!important;cursor:not-allowed!important}
@media(max-width:700px){.lm-painel-actions{opacity:1!important}.lm-painel-action-btn.logout,.lm-painel-action-btn.delete{width:auto!important;min-width:0!important;font-size:.72rem!important;padding:7px 10px!important}.lm-existing-photo span{font-size:.72rem!important}}
