/* ============================================================
   ZONA PAISA · Sistema de diseño
   ============================================================ */
:root{
  --green-900:#0b2d21;   /* fondo header/footer, hero text (un punto más oscuro) */
  --green-800:#15402f;
  --green-700:#1b5a43;   /* hover botón (más claro, feedback) */
  --green-600:#113e2f;   /* rgb(17,62,47) · botón / acento marca */
  --green-500:#2f7d54;   /* "Zona Paisa" resaltado */
  --green-100:#e3efe7;
  --green-50:#eef5ef;
  --amber:#e8a13c;       /* CTA secundario / búsqueda */
  --amber-dark:#d68f2a;
  --cream:#f6f4ec;       /* fondo página */
  --ink:#1d2a22;         /* texto principal */
  --muted:#5f6f66;       /* texto secundario · contraste AA (5.3:1 sobre blanco) */
  --line:#e6e3d8;        /* bordes */
  --white:#ffffff;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 18px 40px -24px rgba(20,50,35,.45);
  --shadow-sm:0 8px 20px -14px rgba(20,50,35,.5);
  --font-display:'Poppins',system-ui,-apple-system,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --max:1200px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  overflow-x:hidden;
  margin:0;font-family:var(--font-body);color:var(--ink);
  background:var(--cream);line-height:1.55;-webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;
}
body > main{flex:1 0 auto}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;margin:0;
  letter-spacing:-.01em;-webkit-font-smoothing:antialiased}
p{margin:0}
.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:24px}
.icon{width:24px;height:24px;flex:none}
.icon-sm{width:17px;height:17px;flex:none}
.eyebrow{font-family:var(--font-body);font-weight:600;font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green-600)}
.text-green{color:var(--green-600)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.92rem;
  padding:.72rem 1.3rem;border-radius:999px;border:1px solid transparent;cursor:pointer;
  transition:transform .15s ease,background .2s ease,box-shadow .2s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green-600);color:#fff}
.btn-primary:hover{background:var(--green-700);box-shadow:var(--shadow-sm)}
.btn-amber{background:var(--amber);color:#3a2a08}
.btn-amber:hover{background:var(--amber-dark)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-light{background:#fff;color:var(--green-800);border-color:var(--line)}
.btn-lg{padding:.7rem .8rem .7rem 1.5rem;font-size:1rem;gap:.85rem}
.btn-lg .icon{width:34px;height:34px;padding:8px;border-radius:999px;background:rgba(255,255,255,.18)}
.btn-primary.btn-lg:hover .icon{background:rgba(255,255,255,.26)}
.link-more{display:inline-flex;align-items:center;gap:.35rem;color:var(--green-600);
  font-weight:600;font-size:.9rem}
.link-more .icon{width:16px;height:16px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--green-900);color:#fff;
  transition:background .3s ease,box-shadow .3s ease,height .3s ease}
.site-header.is-scrolled{box-shadow:0 8px 28px -18px rgba(0,0,0,.55)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:74px;
  transition:height .3s ease}
.brand-logo{height:32px;width:auto;display:block}
.brand-logo--dark{display:none}   /* header verde sólido → logo blanco por defecto */
.main-nav{display:flex;align-items:center;gap:1.6rem}
.nav-links{display:flex;align-items:center;gap:1.6rem}
.nav-head{display:none}
.nav-link-arrow{display:none}
.nav-link{font-size:.92rem;font-weight:600;color:rgba(255,255,255,.82);position:relative;padding:.2rem 0}
.nav-link:hover,.nav-link.is-active{color:#fff}
.nav-link.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
  background:var(--amber);border-radius:2px}
.nav-cta{display:none}
.nav-signin{display:none} /* solo en el menú móvil; en escritorio está el botón del header */
.header-actions{display:flex;align-items:center;gap:.6rem}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:999px;background:rgba(255,255,255,.1);color:#fff;border:none;cursor:pointer}
.icon-btn:hover{background:rgba(255,255,255,.2)}
.nav-toggle,.nav-close{display:none}

/* Header transparente sobre el hero (home), fijo y con cambio de color al bajar */
.site-header--overlay{position:fixed;top:0;left:0;right:0;background:transparent;box-shadow:none}
/* --- Estado arriba (transparente sobre hero claro): logo verde + texto oscuro --- */
.site-header--overlay:not(.is-scrolled) .brand-logo--dark{display:block}
.site-header--overlay:not(.is-scrolled) .brand-logo--light{display:none}
.site-header--overlay:not(.is-scrolled) .nav-link{color:var(--green-900);opacity:.85}
.site-header--overlay:not(.is-scrolled) .nav-link:hover,
.site-header--overlay:not(.is-scrolled) .nav-link.is-active{opacity:1}
.site-header--overlay:not(.is-scrolled) .icon-btn{background:rgba(17,62,47,.08);color:var(--green-900)}
.site-header--overlay:not(.is-scrolled) .icon-btn:hover{background:rgba(17,62,47,.16)}
.site-header--overlay:not(.is-scrolled) .nav-toggle{color:var(--green-900)}
/* --- Estado al bajar: fondo verde sólido + logo blanco + texto blanco --- */
.site-header--overlay.is-scrolled{background:var(--green-900);
  box-shadow:0 8px 28px -18px rgba(0,0,0,.55)}
.site-header--overlay.is-scrolled .header-inner{height:64px}

/* ---------- Hero ---------- */
.hero{position:relative;color:var(--ink);min-height:640px;display:flex;align-items:center;
  background:var(--cream)}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(96deg,rgba(246,244,236,.95) 0%,rgba(246,244,236,.85) 22%,rgba(246,244,236,.5) 42%,rgba(246,244,236,.08) 64%,transparent 82%)}
.hero .container{position:relative;z-index:2;padding-block:140px 150px}
.hero-content{max-width:560px}
.hero h1{font-size:clamp(2.5rem,5.2vw,4rem);font-weight:700;letter-spacing:-.02em;line-height:1.08;color:var(--green-900)}
.hero .text-green{color:var(--green-500)}
.hero p{margin-top:1.2rem;font-size:1.08rem;color:#4a5a50;max-width:440px}
.hero .btn{margin-top:1.8rem}

/* ---------- Barra de categorías ---------- */
.cat-bar-wrap{position:relative;z-index:5;margin-top:-46px}
.cat-bar{border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.cat-item{display:flex;flex-direction:column;align-items:center;gap:.55rem;
  padding:1.4rem 1rem;text-align:center;color:var(--ink);background:#fff;
  transition:background .2s ease}
.cat-item:hover{background:var(--green-50)}
.cat-item .ci-ico{display:flex;align-items:center;justify-content:center;color:var(--green-600)}
.cat-item .ci-ico .icon{width:30px;height:30px}
.cat-item b{font-family:var(--font-display);font-weight:600;font-size:1rem}
.cat-item span{font-size:.76rem;color:var(--muted)}

/* ---------- Secciones ---------- */
.section{padding-block:64px}
.section--cream{background:#fff}
.eyebrow--light{color:#8fd3aa}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;
  margin-bottom:2rem}
.section-head h2{font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:700;letter-spacing:-.01em}
.section-head .lead{color:var(--muted);max-width:none;margin-top:.5rem}
.section-leaf{position:relative}

/* Carrusel de tarjetas */
.cards-row{display:flex;gap:1.3rem}
.cards-row>.place-card{flex:0 0 calc((100% - 3.9rem)/4)}
.place-card{position:relative;border-radius:var(--radius);overflow:hidden;background:#fff;
  box-shadow:var(--shadow-sm);color:var(--ink);display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease}
.place-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.place-card .pc-imgwrap{position:relative;aspect-ratio:4/3;overflow:hidden}
.place-card .pc-imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.place-card:hover .pc-imgwrap img{transform:scale(1.05)}
.place-card .pc-tag{position:absolute;top:.85rem;left:.85rem;z-index:2;background:var(--green-900);
  color:#fff;font-size:.72rem;font-weight:600;padding:.32rem .75rem;border-radius:999px}
.place-card .pc-body{display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding:.95rem 1.05rem 1.1rem}
.place-card .pc-text{min-width:0}
.place-card h3{font-size:1.06rem;line-height:1.25;color:var(--ink)}
.place-card .pc-meta{display:flex;align-items:center;gap:.3rem;font-size:.82rem;
  color:var(--muted);margin-top:.2rem}
.place-card .pc-meta .icon{width:14px;height:14px;color:var(--green-600)}
.place-card .pc-fav{flex:none;width:38px;height:38px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer}
.place-card .pc-fav:hover{border-color:var(--amber);color:var(--amber)}
.place-card .pc-fav .icon{width:18px;height:18px}

.carousel{position:relative}
.carousel .cards-row{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.5rem}
.carousel .cards-row::-webkit-scrollbar{display:none}
.carousel .place-card{scroll-snap-align:start}
.car-nav{display:flex;gap:.5rem}
.car-btn{width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:#fff;
  color:var(--green-800);display:flex;align-items:center;justify-content:center;cursor:pointer}
.car-btn:hover{background:var(--green-600);color:#fff;border-color:var(--green-600)}

/* ---------- Cultura (tarjetas claras) ---------- */
.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.culture-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;transition:transform .2s ease}
.culture-card:hover{transform:translateY(-5px)}
.culture-card .cc-img{aspect-ratio:16/10;overflow:hidden}
.culture-card .cc-img img{width:100%;height:100%;object-fit:cover}
.culture-card .cc-body{padding:1.3rem}
.culture-card .cc-ico{width:42px;height:42px;border-radius:12px;background:var(--green-50);
  color:var(--green-600);display:flex;align-items:center;justify-content:center;margin-bottom:.8rem}
.culture-card h3{font-size:1.2rem;margin-bottom:.4rem}
.culture-card p{color:var(--muted);font-size:.92rem;margin-bottom:1rem}

/* ---------- Planifica (banda verde) ---------- */
.plan{background:var(--green-900);color:#fff;border-radius:26px;padding:2.6rem;
  display:grid;grid-template-columns:1fr 2fr;gap:2.5rem;align-items:center}
.plan-intro h2{font-size:2rem;margin-bottom:1rem}
.plan-intro p{color:rgba(255,255,255,.78);margin-bottom:1.4rem}
.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem 1.8rem}
.plan-item{display:flex;gap:.9rem}
.plan-item .pi-ico{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1);
  color:var(--amber);display:flex;align-items:center;justify-content:center;flex:none}
.plan-item h4{font-size:1.02rem;margin-bottom:.2rem}
.plan-item p{font-size:.85rem;color:rgba(255,255,255,.7)}

/* ---------- Blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.blog-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;transition:transform .2s ease}
.blog-card:hover{transform:translateY(-5px)}
.blog-card .bc-img{aspect-ratio:4/3;overflow:hidden;position:relative}
.blog-card .bc-img img{width:100%;height:100%;object-fit:cover}
.blog-card .bc-tag{position:absolute;top:.8rem;left:.8rem;background:var(--amber);color:#3a2a08;
  font-size:.7rem;font-weight:600;padding:.25rem .6rem;border-radius:999px}
.blog-card .bc-body{padding:1.1rem 1.2rem 1.3rem}
.blog-card h3{font-size:1.05rem;line-height:1.25;margin-bottom:.5rem}
.blog-card .bc-meta{font-size:.78rem;color:var(--muted)}

/* ---------- Comunidad (boletín) ---------- */
.community{--news-green:#15402e;
  display:flex;align-items:center;gap:1.6rem;border-radius:26px;overflow:hidden;
  color:#fff;background:var(--news-green);box-shadow:var(--shadow);min-height:158px;
  padding-right:1.5rem;position:relative}
.community .cm-vehicle{position:relative;width:236px;align-self:stretch;flex:none}
.community .cm-vehicle img{width:100%;height:100%;object-fit:cover;object-position:left center}
.community .cm-vehicle::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 48%,var(--news-green) 98%)}
.community .cm-text{flex:1;min-width:170px;padding:1rem 0}
.community h2{font-size:1.5rem;line-height:1.16;letter-spacing:-.01em}
.community p{color:rgba(255,255,255,.82);margin-top:.45rem;font-size:.92rem;max-width:340px}
.community .cm-flores{height:148px;width:auto;flex:none;margin:-6px -8px -10px 0}
.subscribe{display:flex;gap:.4rem;background:#fff;padding:.4rem;border-radius:999px;
  flex:none;width:100%;max-width:390px}
.subscribe input{flex:1;border:none;background:transparent;padding:.5rem .9rem;font-size:.92rem;
  color:var(--ink);outline:none;min-width:0}
.subscribe .btn{padding:.7rem 1.2rem;flex:none}
.subscribe .btn .icon{width:17px;height:17px}

/* ---------- Footer ---------- */
.site-footer{background:var(--green-900);color:rgba(255,255,255,.78);margin-top:72px;
  padding-block:56px 28px}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:2rem}
.footer-logo{height:30px;margin-bottom:1rem}
.footer-brand p{font-size:.9rem;max-width:300px;margin-bottom:1.2rem}
.footer-social{display:flex;gap:.6rem}
.footer-social a{width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;color:#fff}
.footer-social a:hover{background:var(--amber);color:#3a2a08}
.footer-social .icon{width:18px;height:18px}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:1rem}
.fc-chev{display:none}
.footer-col a{display:flex;align-items:center;gap:.4rem;font-size:.88rem;padding:.28rem 0;
  color:rgba(255,255,255,.72)}
.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.4rem;
  font-size:.82rem;color:rgba(255,255,255,.6)}
.footer-admin{color:rgba(255,255,255,.5)}
.footer-admin:hover{color:var(--amber)}

/* ---------- Bottom nav (móvil) ---------- */
.bottom-nav{display:none}

/* ---------- Stars ---------- */
.stars{display:inline-flex;align-items:center;gap:.1rem;font-size:.85rem}
.stars .star{color:#d6d2c4}
.stars .star.on{color:var(--amber)}
.stars b{margin-left:.4rem;font-weight:600;color:var(--ink)}

/* Calificación rápida de un lugar (ficha) */
.rate-widget{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.6rem;
  padding:.55rem .8rem;background:#f4f8f5;border-radius:12px;font-size:.86rem;color:var(--muted)}
.rw-stars{display:inline-flex;gap:.15rem}
.rw-star{background:none;border:none;padding:0;font-size:1.25rem;line-height:1;color:#d6d2c4;cursor:pointer;transition:color .1s,transform .1s}
.rw-star:hover{transform:scale(1.12)}
.rw-star.on{color:var(--amber)}
.rw-msg{color:var(--green-600,#113e2f);font-weight:600}

/* ============================================================
   EXPLORAR
   ============================================================ */
.page-head{background:var(--green-900);color:#fff;padding-block:48px 40px}
.page-head h1{font-size:clamp(2rem,4vw,3rem)}
.page-head p{color:rgba(255,255,255,.8);margin-top:.6rem;max-width:520px}
.explore-bar{position:sticky;top:74px;z-index:30;background:var(--cream);
  border-bottom:1px solid var(--line);padding-block:.9rem}
.tabs{display:flex;gap:.6rem;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.1rem;border-radius:999px;
  border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:500;font-size:.9rem;
  white-space:nowrap;cursor:pointer}
.tab .icon{width:17px;height:17px}
.tab:hover{border-color:var(--green-500)}
.tab.is-active{background:var(--green-600);color:#fff;border-color:var(--green-600)}
.explore-group{padding-block:36px}
.explore-group .section-head{margin-bottom:1.4rem}
.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}

/* Tarjeta horizontal (listado mobile/explorar) */
.list-card{display:flex;background:#fff;border-radius:var(--radius-sm);overflow:hidden;
  box-shadow:var(--shadow-sm);transition:transform .2s ease}
.list-card:hover{transform:translateY(-3px)}
.list-card .lc-img{width:130px;flex:none;position:relative;overflow:hidden}
.list-card .lc-img img{width:100%;height:100%;object-fit:cover}
.list-card .lc-body{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}
.list-card .lc-tag{font-size:.7rem;font-weight:600;color:var(--green-600)}
.list-card h3{font-size:1.02rem}
.list-card .lc-meta{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--muted)}
.list-card .lc-meta .icon{width:14px;height:14px}
.list-card p{font-size:.84rem;color:var(--muted);overflow:hidden;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical}

/* ============================================================
   DETALLE DE LUGAR
   ============================================================ */
.detail-wrap{display:grid;grid-template-columns:1.7fr 1fr;gap:2.5rem;padding-block:40px}
.detail-back{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-weight:500;
  margin-bottom:1.2rem}
.detail-back .icon{width:18px;height:18px}
.detail-title{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:.4rem}
.detail-sub{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;color:var(--muted);
  font-size:.92rem;margin-bottom:1.5rem}
.detail-sub .ds-loc{display:inline-flex;align-items:center;gap:.3rem}
.detail-info{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0 2rem;
  background:#fff;border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow-sm)}
.info-row{display:flex;gap:.7rem;align-items:flex-start}
.info-row .icon{width:20px;height:20px;color:var(--green-600);flex:none;margin-top:2px}
.info-row span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.info-row b{display:block;font-weight:600;font-size:.95rem}
.detail-block{margin-bottom:2.2rem}
.detail-block h2{font-size:1.4rem;margin-bottom:1rem}
.detail-block p{color:#3c4a41}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.gallery a{border-radius:12px;overflow:hidden;aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gallery a:hover img{transform:scale(1.06)}
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.feat{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:.8rem 1rem;font-size:.92rem}
.feat .icon{width:20px;height:20px;color:var(--green-600);flex:none}
.tips{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}
.tips li{display:flex;gap:.7rem;align-items:flex-start;background:var(--green-50);
  border-radius:12px;padding:.85rem 1.1rem;font-size:.92rem}
.tips li .icon{width:19px;height:19px;color:var(--green-600);flex:none;margin-top:2px}
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);height:280px}
.map-embed iframe{width:100%;height:100%;border:0}

/* sidebar */
.detail-aside{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:1.5rem}
.aside-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.4rem}
.aside-card h3{font-size:1.1rem;margin-bottom:1rem}
.mini-card{display:flex;gap:.8rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--line)}
.mini-card:last-child{border-bottom:none}
.mini-card img{width:62px;height:62px;border-radius:10px;object-fit:cover;flex:none}
.mini-card .mc-meta{font-size:.78rem;color:var(--muted)}
.mini-card h4{font-size:.95rem;margin-bottom:.15rem}

/* badges / chips / contacto */
.badge-verif{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-body);
  font-size:.74rem;font-weight:600;color:var(--green-700);background:var(--green-50);
  padding:.22rem .6rem;border-radius:999px;vertical-align:middle;margin-left:.5rem}
.badge-verif .icon{width:14px;height:14px}
.ds-precio{font-weight:600;color:var(--green-700)}
.tag-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:-.6rem 0 1.4rem}
.chip{font-size:.78rem;font-weight:500;color:#41524a;background:#fff;border:1px solid var(--line);
  padding:.3rem .7rem;border-radius:999px}
.btn-wa{background:#25d366;color:#0a2e1a;width:100%;justify-content:center;font-weight:600}
.btn-wa:hover{background:#1fbb59}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.6rem}
.contact-grid .btn{justify-content:center;font-size:.84rem;padding:.55rem .6rem}
.contact-meta{margin-top:1rem;display:flex;flex-direction:column;gap:.7rem}
.btn-share{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;background:none;border:none;
  color:var(--muted);font-family:inherit;font-size:.86rem;font-weight:500;cursor:pointer;padding:0}
.btn-share:hover{color:var(--green-600)}
.claim-card{display:flex;gap:.9rem;background:#fff;border:1px dashed var(--line);border-radius:var(--radius);
  padding:1.2rem}
.claim-card > .icon{width:30px;height:30px;color:var(--green-600);flex:none}
.claim-card b{font-size:.98rem}
.claim-card p{font-size:.85rem;color:var(--muted);margin:.25rem 0 .6rem}

/* reseñas / CTA verde */
.review-cta{background:var(--green-900);color:#fff;border-radius:var(--radius);padding:1.6rem;
  text-align:center}
.review-cta h3{font-size:1.2rem;margin-bottom:.5rem}
.review-cta p{color:rgba(255,255,255,.78);font-size:.9rem;margin-bottom:1.1rem}

/* ---------- Reclamar ficha ---------- */
.form-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.8rem}
.claim-form .cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.4rem}
.claim-form label{display:flex;flex-direction:column;gap:.4rem;font-size:.86rem;font-weight:600;color:var(--ink)}
.claim-form .cf-full{grid-column:1/-1}
.claim-form input,.claim-form textarea{font-family:inherit;font-size:.95rem;padding:.7rem .85rem;
  border:1px solid var(--line);border-radius:10px;font-weight:400;color:var(--ink)}
.claim-form input:focus,.claim-form textarea:focus{outline:none;border-color:var(--green-500);
  box-shadow:0 0 0 3px rgba(44,122,85,.12)}
.alert-box{background:#fdecea;color:#b3392b;border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1.2rem;font-size:.9rem}
.claim-success{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:2.4rem;text-align:center}
.claim-success > .icon{width:54px;height:54px;color:#fff;background:var(--green-600);border-radius:999px;
  padding:14px;margin:0 auto 1rem}
.claim-success h2{font-size:1.5rem;margin-bottom:.6rem}
.claim-success p{color:var(--muted);max-width:480px;margin:0 auto 1.4rem}

/* ---------- utilidades ---------- */
.center{text-align:center}
.mt-2{margin-top:2rem}
.empty{padding:3rem;text-align:center;color:var(--muted);background:#fff;border-radius:var(--radius);
  border:1px dashed var(--line)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .detail-wrap{grid-template-columns:1fr}
  .detail-aside{position:static}
  .plan{grid-template-columns:1fr}
}
@media (max-width:768px){
  .container{padding-inline:18px}
  .header-cta{display:none}
  .nav-toggle{display:flex}
  /* Menú móvil: pantalla completa, claro */
  .main-nav{position:fixed;inset:0;width:100%;height:100dvh;background:#fff;
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;
    padding:1rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px));
    transform:translateX(100%);transition:transform .3s ease;z-index:70;overflow-y:auto}
  .main-nav.is-open{transform:translateX(0)}
  .nav-head{display:flex;align-items:center;justify-content:space-between;
    padding:.4rem 0 .8rem;border-bottom:1px solid var(--line);margin-bottom:.4rem}
  .nav-logo{height:30px;width:auto}
  .nav-close{display:flex;position:static;background:var(--green-50);border:none;color:var(--green-900);
    width:44px;height:44px;border-radius:999px;align-items:center;justify-content:center;cursor:pointer}
  .nav-close:hover{background:var(--green-100)}
  .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .main-nav .nav-link{display:flex;align-items:center;justify-content:space-between;
    color:var(--green-900);opacity:1;font-size:1.18rem;font-weight:600;padding:1.05rem .15rem;
    border-bottom:1px solid var(--line)}
  .main-nav .nav-link:hover,.main-nav .nav-link.is-active{color:var(--green-600)}
  .main-nav .nav-link.is-active::after{display:none}
  .nav-link-arrow{display:block;width:18px;height:18px;color:var(--muted);opacity:.6}
  .nav-cta{display:inline-flex;justify-content:center;margin-top:1.5rem;padding:.95rem 1.3rem;font-size:1.02rem}
  .nav-signin{display:flex} /* visible dentro del menú móvil */
  .nav-overlay{display:none}
  .hero{min-height:520px}
  .hero .container{padding-block:110px 90px}
  .hero-bg::after{background:linear-gradient(180deg,rgba(246,244,236,.92) 0%,rgba(246,244,236,.78) 45%,rgba(246,244,236,.45) 100%)}
  .cat-bar-wrap{margin-top:-30px}
  .cat-bar{grid-template-columns:repeat(2,1fr)}
  .section{padding-block:44px}
  .section-head{flex-direction:column;align-items:flex-start;gap:.6rem}
  .cards-row>.place-card{flex-basis:78%}
  .culture-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .plan{padding:1.8rem}
  .plan-grid{grid-template-columns:1fr}
  .community{flex-direction:column;align-items:stretch;text-align:center;gap:.9rem;padding:1.5rem}
  .community .cm-vehicle{width:auto;align-self:center;height:120px}
  .community .cm-vehicle img{object-fit:contain}
  .community .cm-vehicle::after{display:none}
  .community .cm-text{padding:0}
  .community p{max-width:none;margin-inline:auto}
  .community .cm-flores{display:none}
  .subscribe{width:100%}
  .list-grid{grid-template-columns:1fr}
  /* Footer como acordeón en móvil */
  .site-footer{padding-block:36px 24px}
  .footer-grid{grid-template-columns:1fr;gap:0}
  .footer-brand{text-align:center;padding-bottom:1.6rem}
  .footer-brand p{margin-inline:auto}
  .footer-social{justify-content:center}
  .footer-col{border-top:1px solid rgba(255,255,255,.12)}
  .footer-col h4{display:flex;align-items:center;justify-content:space-between;
    margin:0;padding:1.05rem .2rem;cursor:pointer;font-size:1rem;user-select:none}
  .fc-chev{display:block;width:20px;height:20px;opacity:.7;transition:transform .25s ease}
  .footer-col.is-open .fc-chev{transform:rotate(180deg)}
  .footer-col a{display:none;padding:.5rem .2rem}
  .footer-col.is-open a{display:flex}
  .footer-col.is-open{padding-bottom:.9rem}
  .footer-bottom{flex-direction:column;gap:.6rem;text-align:center}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .detail-info{grid-template-columns:1fr}
  .explore-bar{top:64px}
  .site-header .header-inner{height:64px}

  /* Barra de navegación inferior */
  body{padding-bottom:66px}
  .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:48;background:#fff;
    border-top:1px solid var(--line);justify-content:space-around;align-items:stretch;
    padding:.35rem .2rem;padding-bottom:calc(.35rem + env(safe-area-inset-bottom,0px));
    box-shadow:0 -8px 24px -16px rgba(15,40,28,.4)}
  .bn-item{display:flex;flex-direction:column;align-items:center;gap:.22rem;flex:1;
    color:var(--muted);font-size:.7rem;font-weight:500;padding:.3rem 0;text-align:center}
  .bn-item .icon{width:24px;height:24px;stroke-width:2.2}
  .bn-item.is-active{color:var(--green-600)}
  .bn-item.is-active .icon{stroke-width:2.6}
}
@media (max-width:430px){
  .cat-bar{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
}

/* ===== Cuentas de usuario / comunidad ===== */
.user-chip{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:var(--green-600,#2f8f5b);color:#fff;font-weight:700;font-size:.85rem;text-decoration:none;flex:none;
  border:0;padding:0;cursor:pointer;font-family:inherit;overflow:hidden}
.user-chip:hover{filter:brightness(.95)}
.user-chip img{width:100%;height:100%;object-fit:cover}
.nav-account{display:flex;flex-direction:column;gap:.2rem;margin-top:.4rem;border-top:1px solid var(--line);padding-top:.6rem}
@media(min-width:981px){
  .nav-account{display:none}
}
@media(max-width:980px){
  .header-actions .user-chip,.header-actions .header-cta{display:none}
}

/* Menú desplegable de cuenta (header) */
.acc-menu{position:relative}
.acc-dropdown{position:absolute;right:0;top:calc(100% + 14px);width:250px;background:#fff;border-radius:16px;
  border:1px solid var(--line);box-shadow:0 20px 48px -18px rgba(17,62,47,.28);padding:.5rem;z-index:60;
  color:var(--ink,#1c2a22);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;
  transition:opacity .16s ease,transform .16s ease,visibility .16s}
.acc-dropdown.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.acc-dropdown-head{display:flex;align-items:center;gap:.7rem;padding:.5rem .55rem .8rem;margin-bottom:.4rem;border-bottom:1px solid var(--line)}
.acc-dropdown-head .user-chip{width:40px;height:40px;font-size:.9rem}
.acc-dropdown-head-info{min-width:0;flex:1}
.acc-dropdown-head b{display:block;color:var(--ink,#1c2a22);font-size:.92rem;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-dropdown-head small{display:block;color:#6b7d72;font-size:.76rem;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-dropdown a{display:flex;align-items:center;gap:.65rem;padding:.6rem .6rem;border-radius:10px;
  color:var(--ink,#1c2a22);text-decoration:none;font-size:.88rem;font-weight:500;transition:background .12s}
.acc-dropdown a:hover{background:#f2f6f3}
.acc-dropdown a .icon-sm{width:17px;height:17px;flex:none;color:#5a6b61}
.acc-dropdown-logout{margin-top:.15rem;border-top:1px solid var(--line);border-radius:0 0 10px 10px!important;
  padding-top:.7rem!important;color:#b3261e!important}
.acc-dropdown-logout .icon-sm{color:#b3261e}

/* Selector de foto de perfil (mi cuenta) */
.acc-avatar-pick{position:relative;display:inline-flex;cursor:pointer;flex:none}
.acc-avatar-edit{position:absolute;right:-3px;bottom:-3px;width:22px;height:22px;border-radius:50%;
  background:var(--green-900,#113e2f);color:#fff;display:flex;align-items:center;justify-content:center;
  border:2px solid #fff}
.acc-avatar-edit .icon-sm{width:12px;height:12px}

/* Selector de foto de perfil (registro) */
.wiz-avatar-field{display:flex;align-items:center}
.wiz-avatar-pick{display:flex;align-items:center;gap:.9rem}
.wiz-avatar-preview{width:56px;height:56px;border-radius:50%;flex:none;overflow:hidden;
  display:flex;align-items:center;justify-content:center;background:#eef3ef;color:var(--muted)}
.wiz-avatar-preview img{width:100%;height:100%;object-fit:cover}
.wiz-avatar-preview .icon{width:26px;height:26px}

/* tarjetas de lista de la comunidad */
.lc-author{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;font-size:.82rem;color:#5a6b61}
.lc-author .ua-mini{width:24px;height:24px;border-radius:50%;background:var(--green-600,#2f8f5b);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;flex:none}
.lc-likes{display:inline-flex;align-items:center;gap:.25rem;margin-left:auto;color:#5a6b61}

/* botón de like */
.btn-like{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1rem;
  border:1px solid var(--line);border-radius:11px;background:#fff;color:#41524a;font:inherit;font-weight:600;cursor:pointer}
.btn-like.is-on{background:#fff0f3;border-color:#f4b8c4;color:#c8385c}
.btn-like.is-on svg{fill:#c8385c}

/* perfil / formularios de cuenta */
.auth-card{max-width:440px;margin:0 auto;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:2rem}
.auth-card h1{font-size:1.6rem;margin-bottom:.4rem}
.auth-card .field{margin-bottom:1rem}
.auth-card label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem}
.auth-card input{width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;font:inherit}
.auth-alt{text-align:center;margin-top:1.2rem;color:#5a6b61;font-size:.92rem}
/* Alertas del público */
.alert{padding:.75rem .95rem;border-radius:12px;font-size:.88rem;line-height:1.4;border:1px solid transparent}
.alert-error{color:#8f2b26;background:#fdecea;border-color:#f5c6c2}
.alert-ok{color:#1c5c3d;background:var(--green-50);border-color:var(--green-100)}

/* ============ Wizard de registro ============ */
.wiz-wrap,.auth-center{padding:40px 16px 56px;display:flex;justify-content:center;align-items:center;min-height:calc(100dvh - 72px)}
.wiz{width:100%;max-width:600px;background:#fff;border-radius:24px;box-shadow:0 30px 70px -30px rgba(11,45,33,.4),0 2px 8px rgba(11,45,33,.06)}
.wiz-head{text-align:center;margin-bottom:1.5rem}
.wiz-head h1{font-family:'Poppins',sans-serif;font-size:1.55rem;font-weight:700;letter-spacing:-.01em}
.wiz-head p{color:var(--muted);font-size:.9rem;margin-top:.3rem}
.wiz-hint{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1.1rem;color:var(--muted);font-size:.82rem}
.wiz-hint .icon{width:15px;height:15px}

/* Panel de marca (izquierda) */
.wiz-aside{position:relative;isolation:isolate;padding:2.4rem 2rem;color:#eaf3ec;background:linear-gradient(165deg,var(--green-800),var(--green-900));display:flex;flex-direction:column;gap:1.6rem;overflow:hidden}
.wiz-aside-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(100% 55% at 50% -10%,rgba(255,255,255,.05),transparent 70%)}
.wiz-aside-mtn{position:absolute;left:0;right:0;bottom:0;width:100%;height:100px;z-index:-1;opacity:.4}
.wiz-aside-mtn path{fill:rgba(255,255,255,.05)}
.wiz-badge{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#bfe6cd;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.3rem .7rem}
.wiz-title{font-family:'Poppins',sans-serif;font-weight:800;font-size:2.05rem;line-height:1.05;letter-spacing:-.01em;margin:0;color:#fff}
.wiz-sub{color:#a9c6b5;font-size:.92rem;line-height:1.5;margin:0}
.wiz-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.wiz-stepdot{display:flex;align-items:center;gap:.75rem;padding:.55rem .7rem;border-radius:14px;transition:background .25s}
.wiz-stepdot.is-current{background:rgba(255,255,255,.07)}
.wsd-num{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.9rem;color:#bfe6cd;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.18);transition:all .25s}
.wiz-stepdot.is-current .wsd-num{color:var(--green-900);background:#fff;border-color:#fff}
.wiz-stepdot.is-done .wsd-num{color:#fff;background:var(--green-500);border-color:var(--green-500)}
.wiz-stepdot.is-done .wsd-num::after{content:'✓'}
.wiz-stepdot.is-done .wsd-num{font-size:0}
.wiz-stepdot.is-done .wsd-num::after{font-size:.9rem}
.wsd-label{display:flex;flex-direction:column;line-height:1.2}
.wsd-label b{font-size:.92rem;color:#eaf3ec;font-weight:600}
.wsd-label small{font-size:.76rem;color:#8fb3a1}
.wiz-props{margin-top:auto;display:flex;flex-direction:column;gap:.55rem}
.wiz-props span{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#bcd6c7}
.wiz-props .icon{color:#7fb097}

/* Formulario (derecha) */
.wiz-main{padding:2.8rem 3rem;display:flex;flex-direction:column}
.wiz-progress{display:flex;align-items:center;gap:.9rem;margin-bottom:1.6rem}
.wiz-bar{flex:1;height:6px;border-radius:999px;background:var(--green-100);overflow:hidden}
.wiz-bar-fill{display:block;height:100%;width:50%;border-radius:999px;background:linear-gradient(90deg,var(--green-500),var(--green-700));transition:width .45s cubic-bezier(.65,0,.35,1)}
.wiz-count{font-size:.8rem;color:var(--muted);white-space:nowrap}
.wiz-count b{color:var(--green-600)}
.wiz-step{display:none;animation:wizIn .4s cubic-bezier(.22,1,.36,1)}
.wiz-step.is-active{display:block}
@keyframes wizIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wiz-h{font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .25rem}
.wiz-p{color:var(--muted);font-size:.9rem;margin:0 0 1.3rem}
.wiz-alert{margin-bottom:1rem}
.wiz-nav{display:flex;gap:.7rem;align-items:center;margin-top:1.5rem}
.wiz-nav .btn-lg{flex:1;justify-content:center}
.wiz-next{width:100%}
.btn-ghost{background:transparent;color:var(--green-700);border:none;font-weight:600}
.btn-ghost:hover{color:var(--green-900)}

/* Tarjetas viajero / anfitrión */
.tipo-cuenta{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.tipo-opt{margin:0;cursor:pointer}
.tipo-opt input{position:absolute;opacity:0;width:0;height:0}
.tipo-card{position:relative;display:flex;flex-direction:column;gap:.2rem;height:100%;padding:1.1rem 1rem;border:1.5px solid var(--line);border-radius:16px;background:#fff;transition:transform .18s ease,border-color .18s,box-shadow .18s,background .18s}
.tipo-card .tipo-emoji{font-size:1.7rem;line-height:1;margin-bottom:.2rem}
.tipo-card b{font-size:1rem}
.tipo-card small{color:var(--muted);font-size:.78rem;line-height:1.3;font-weight:400}
.tipo-check{position:absolute;top:.7rem;right:.7rem;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--green-600);opacity:0;transform:scale(.5);transition:all .2s}
.tipo-check .icon{width:14px;height:14px}
.tipo-opt:hover .tipo-card{border-color:var(--green-500);transform:translateY(-2px)}
.tipo-opt input:checked + .tipo-card{border-color:var(--green-600);background:var(--green-50);box-shadow:0 0 0 3px rgba(47,125,84,.15)}
.tipo-opt input:checked + .tipo-card .tipo-check{opacity:1;transform:scale(1)}
.tipo-opt input:focus-visible + .tipo-card{outline:2px solid var(--green-500);outline-offset:2px}

/* Campos del wizard */
.wiz-field{margin-bottom:1.05rem}
.wiz-field > label{display:block;font-weight:600;font-size:.86rem;margin-bottom:.4rem;color:var(--ink)}
.wiz-input{position:relative;display:flex;align-items:center}
.wiz-input .wiz-ico{position:absolute;left:.85rem;color:var(--muted);display:flex;pointer-events:none}
.wiz-input .wiz-ico .icon{width:18px;height:18px}
.wiz-input input{width:100%;padding:.85rem .9rem .85rem 2.6rem;border:1.5px solid var(--line);border-radius:13px;font:inherit;background:#fbfcfb;transition:border-color .18s,box-shadow .18s,background .18s}
.wiz-input input:focus{outline:none;border-color:var(--green-500);background:#fff;box-shadow:0 0 0 3px rgba(47,125,84,.14)}
.wiz-eye{position:absolute;right:.55rem;width:34px;height:34px;border:none;background:transparent;color:var(--muted);cursor:pointer;border-radius:8px;display:grid;place-items:center}
.wiz-eye:hover{color:var(--green-700);background:var(--green-50)}
.wiz-eye.is-on{color:var(--green-700)}
.wiz-field.has-err input{border-color:#d9534f;background:#fff6f5}
.wiz-err{display:block;color:#c0392b;font-size:.78rem;margin-top:.35rem;min-height:0}
.wiz-field.has-err .wiz-err{min-height:1rem}
.wiz-strength{display:flex;align-items:center;gap:.6rem;margin-top:.5rem}
.wiz-strength[hidden]{display:none}
.wiz-strength-bar{flex:1;height:5px;border-radius:999px;background:var(--green-100);overflow:hidden}
.wiz-strength-bar i{display:block;height:100%;width:0;border-radius:999px;transition:width .3s,background .3s}
.wiz-strength-txt{font-size:.75rem;font-weight:600;color:var(--muted);min-width:44px}
.wiz-strength.is-weak .wiz-strength-bar i{background:#e0605a}
.wiz-strength.is-weak .wiz-strength-txt{color:#c0392b}
.wiz-strength.is-mid .wiz-strength-bar i{background:var(--amber)}
.wiz-strength.is-mid .wiz-strength-txt{color:var(--amber-dark)}
.wiz-strength.is-strong .wiz-strength-bar i{background:var(--green-500)}
.wiz-strength.is-strong .wiz-strength-txt{color:var(--green-600)}
.wiz-main .auth-alt{margin-top:1.4rem}

.wiz-aside,.wiz-main{min-width:0}
@media(max-width:760px){
  .wiz{grid-template-columns:1fr;max-width:460px;border-radius:22px}
  .wiz-aside{padding:1.8rem 1.6rem;gap:1.1rem}
  .wiz-title{font-size:1.7rem}
  .wiz-steps,.wiz-props{display:none}
  .wiz-main{padding:1.8rem 1.4rem}
}
@media(max-width:480px){.tipo-cuenta{grid-template-columns:1fr}}
/* Pantallas grandes: agrandar contenedor y tipografía del wizard/login */
@media(min-width:1600px){
  .wiz{max-width:720px;border-radius:28px}
  .wiz-main{padding:3.4rem 3.6rem}
  .wiz-head{margin-bottom:1.8rem}
  .wiz-head h1{font-size:1.95rem}
  .wiz-head p{font-size:1.05rem}
  .wiz-progress{margin-bottom:1.9rem}
  .wiz-bar{height:7px}
  .wiz-count{font-size:.95rem}
  .wiz-h{font-size:1.7rem}
  .wiz-p{font-size:1.02rem}
  .tipo-cuenta{gap:1rem}
  .tipo-card{padding:1.4rem 1.3rem;border-radius:18px}
  .tipo-card .tipo-emoji{font-size:2.1rem}
  .tipo-card b{font-size:1.15rem}
  .tipo-card small{font-size:.9rem}
  .wiz-hint{font-size:.95rem;margin-top:1.3rem}
  .wiz-field>label{font-size:.98rem}
  .wiz-input input{padding:1.05rem 1rem 1.05rem 3rem;font-size:1.05rem;border-radius:15px}
  .wiz-input .wiz-ico{left:1rem}
  .wiz-input .wiz-ico .icon{width:20px;height:20px}
  .wiz-strength-txt{font-size:.82rem}
  .wiz-main .auth-alt{font-size:1.02rem}
  /* login clásico */
  .auth-card{max-width:560px;padding:2.8rem}
  .auth-card h1{font-size:2rem}
  .auth-card label{font-size:1rem}
  .auth-card input{padding:.95rem 1.1rem;font-size:1.05rem;border-radius:13px}
  .auth-alt{font-size:1.02rem}
}
@media(min-width:2200px){
  .wiz{max-width:840px;border-radius:32px}
  .wiz-main{padding:4rem 4.4rem}
  .wiz-head h1{font-size:2.3rem}
  .wiz-head p{font-size:1.18rem}
  .wiz-h{font-size:2rem}
  .wiz-p{font-size:1.15rem}
  .wiz-count{font-size:1.05rem}
  .tipo-card{padding:1.7rem 1.6rem}
  .tipo-card .tipo-emoji{font-size:2.5rem}
  .tipo-card b{font-size:1.3rem}
  .tipo-card small{font-size:1rem}
  .wiz-hint{font-size:1.05rem}
  .wiz-field>label{font-size:1.08rem}
  .wiz-input input{padding:1.2rem 1.1rem 1.2rem 3.3rem;font-size:1.15rem}
  .wiz-input .wiz-ico .icon{width:22px;height:22px}
  .wiz-main .auth-alt{font-size:1.12rem}
  .auth-card{max-width:640px;padding:3.4rem}
  .auth-card h1{font-size:2.4rem}
  .auth-card input{font-size:1.15rem}
}
/* Insignia "Dueño verificado" */
.badge-dueno{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:700;color:var(--green-600);background:var(--green-100);border-radius:999px;padding:.1rem .5rem;vertical-align:middle}
/* Ficha administrada por su dueño */
.claim-card--owned{background:var(--green-50);border-color:var(--green-100)}
/* Panel "Mi negocio" */
.negocios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.negocio-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.negocio-thumb{position:relative;height:150px;background-size:cover;background-position:center;background-color:var(--green-100)}
.negocio-thumb .badge-verif{position:absolute;top:.6rem;left:.6rem}
.negocio-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem}
.negocio-cat{font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--green-500)}
.negocio-body h3{margin:0;font-size:1.1rem}
.negocio-body p{margin:0 0 .6rem;color:var(--muted);font-size:.88rem}
.negocio-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}

/* crédito de lugar aportado por la comunidad */
.aporte-credit{display:inline-flex;align-items:center;gap:.4rem;background:#f1f9f4;color:var(--green-700,#2f6b4f);
  border:1px solid #cdeada;border-radius:999px;padding:.4rem .9rem;font-size:.84rem;margin-bottom:1rem}

/* ===== Favoritos de lugares (corazón) ===== */
.pc-fav.on{color:var(--amber);border-color:var(--amber)}
.pc-fav.on svg{fill:currentColor}

/* corazón flotante en tarjetas de Explorar */
.list-card .lc-fav{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border-radius:999px;
  border:none;background:rgba(255,255,255,.9);color:#41524a;display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.15s}
.list-card .lc-fav:hover{background:#fff;color:var(--amber)}
.list-card .lc-fav.on{color:var(--amber)}
.list-card .lc-fav.on svg{fill:currentColor}

/* botón guardar en la ficha del lugar */
.btn-fav{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.8rem;
  padding:.7rem 1rem;border:1px solid var(--line);border-radius:11px;background:#fff;color:#41524a;
  font:inherit;font-weight:600;cursor:pointer;transition:.15s}
.btn-fav:hover{border-color:var(--amber);color:var(--amber)}
.btn-fav.on{background:#fff7ec;border-color:var(--amber);color:var(--amber)}
.btn-fav.on svg{fill:currentColor}

/* Calificación rápida en tarjetas (sin entrar al lugar) */
.card-rate{display:inline-flex;align-items:center;gap:.02em}
.card-rate .cr-star{background:none;border:none;padding:0;margin:0;font-size:1em;line-height:1;
  color:#d6d2c4;cursor:pointer;transition:color .1s,transform .1s}
.card-rate .cr-star:hover{transform:scale(1.15)}
.card-rate .cr-star.on{color:var(--amber)}
.card-rate .cr-num{margin-left:.35em;font-weight:600;color:var(--ink);white-space:nowrap}

/* ===== Experiencias (feed UGC) ===== */
.exp-feed{display:flex;flex-direction:column;gap:1rem}
.exp-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.1rem 1.2rem}
.exp-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}
.exp-head .ua-mini{width:38px;height:38px;border-radius:50%;background:var(--green-600,#2f8f5b);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex:none}
.exp-meta{line-height:1.3}
.exp-meta b{display:block}
.exp-meta span{color:#8b9690;font-size:.84rem}
.exp-meta a{color:var(--green-600,#2f8f5b);text-decoration:none;font-weight:600}
.exp-stars{color:#e8a13c;font-size:1rem;letter-spacing:1px;margin-bottom:.5rem}
.exp-stars .star{color:#dfe5e1}
.exp-stars .star.on{color:#e8a13c}
.exp-text{color:#3c4a41;margin-bottom:.7rem;white-space:pre-line}
.exp-fotos{display:grid;gap:.35rem;border-radius:12px;overflow:hidden;margin-bottom:.7rem}
.exp-fotos img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1/1}
.exp-fotos.exp-n1{grid-template-columns:1fr}
.exp-fotos.exp-n1 img{aspect-ratio:16/10}
.exp-fotos.exp-n2{grid-template-columns:1fr 1fr}
.exp-fotos.exp-n3{grid-template-columns:1fr 1fr 1fr}
.exp-fotos.exp-n4{grid-template-columns:1fr 1fr}
.exp-actions{display:flex;border-top:1px solid var(--line);margin-top:.9rem;padding-top:.25rem}
.exp-act{flex:1;min-width:0;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:none;border:none;
  cursor:pointer;color:#5a6b61;font:inherit;font-weight:600;font-size:.92rem;padding:.6rem .3rem;text-decoration:none;
  white-space:nowrap;border-radius:8px;transition:background .12s, color .12s}
.exp-act:hover{background:#f4f8f5;color:var(--green-700,#2f6b4f)}
.exp-act svg{flex:none}
.exp-act .exl-n,.exp-act .ecn{color:#9aa7a0;font-weight:700}
.exp-act .exl-n:empty,.exp-act .ecn:empty{display:none}
.exp-act.ex-like.on{color:#c8385c}
.exp-act.ex-like.on svg{fill:currentColor}
.exp-act.ex-like.on .exl-n{color:#c8385c}
/* móvil: tarjetas y barra de acciones más compactas */
@media(max-width:560px){
  .exp-card{padding:1rem}
  .exp-head .ua-mini{width:34px;height:34px}
  .exp-actions{margin-top:.7rem}
  .exp-act{font-size:.82rem;gap:.3rem;padding:.6rem .15rem}
  .exp-act svg{width:16px;height:16px}
}
@media(max-width:360px){
  .exp-act{font-size:.76rem;gap:.25rem}
}

/* ===== Comentarios de experiencias ===== */
.ex-cc{display:inline-flex;align-items:center;gap:.4rem;color:#5a6b61;font-weight:600;text-decoration:none;padding:.2rem .4rem}
.ex-cc:hover{color:var(--green-600,#2f8f5b)}
.ec-list{display:flex;flex-direction:column;gap:.7rem;margin-top:.9rem}
.ec-item{display:flex;align-items:flex-start;gap:.55rem}
.ua-mini.ua-xs{width:30px;height:30px;font-size:.72rem}
.ec-body{flex:1;min-width:0;background:#f4f8f5;border-radius:12px;padding:.5rem .8rem;font-size:.92rem;color:#2f3b34}
.ec-body b{margin-right:.35rem}
.ec-time{display:block;color:#9aa7a0;font-size:.75rem;margin-top:.2rem}
.ec-del{flex:none;border:none;background:none;color:#c3cdc6;font-size:1.2rem;line-height:1;cursor:pointer;padding:.2rem .3rem}
.ec-del:hover{color:#c8385c}
.ec-form{display:flex;gap:.5rem;margin-top:.8rem}
.ec-form input{flex:1;padding:.55rem .8rem;border:1px solid var(--line);border-radius:999px;font:inherit;outline:none}
.ec-form input:focus{border-color:var(--green-600,#2f8f5b)}
.ec-form button{flex:none;width:40px;border:none;border-radius:50%;background:var(--green-600,#2f8f5b);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ec-login{display:inline-block;margin-top:.8rem;color:#5a6b61;font-size:.88rem;text-decoration:none}
.ec-login:hover{color:var(--green-600,#2f8f5b);text-decoration:underline}

/* feed de comunidad en el home: 2 columnas */
.exp-feed--home{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:none;align-items:start}
@media(max-width:760px){.exp-feed--home{grid-template-columns:1fr}}

/* ===== Carrusel: cultura y experiencias en el home ===== */
.cards-row.culture-row>.culture-card{flex:0 0 calc((100% - 2.6rem)/3);scroll-snap-align:start}
.cards-row.exp-row{align-items:flex-start}
.cards-row.exp-row>.exp-card{flex:0 0 calc((100% - 2.6rem)/3);scroll-snap-align:start}
@media(max-width:900px){
  .cards-row.culture-row>.culture-card,
  .cards-row.exp-row>.exp-card{flex-basis:calc((100% - 1.3rem)/2)}
}
@media(max-width:560px){
  .cards-row.culture-row>.culture-card,
  .cards-row.exp-row>.exp-card{flex-basis:84%}
}

/* ===== Modal de éxito (reutilizable) ===== */
.modal-ok{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.2rem;
  background:rgba(11,45,33,.55);backdrop-filter:blur(2px);animation:mokfade .2s ease}
.modal-ok.is-closing{animation:mokfade .18s ease reverse}
.modal-ok .modal-box{background:#fff;border-radius:22px;max-width:420px;width:100%;padding:2.3rem 1.8rem 1.6rem;
  text-align:center;box-shadow:var(--shadow);position:relative;animation:mokpop .28s cubic-bezier(.2,.8,.3,1.25)}
.modal-ok .modal-x{position:absolute;top:.7rem;right:.7rem;width:36px;height:36px;border:none;background:none;
  color:#9aa7a0;cursor:pointer;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.modal-ok .modal-x:hover{background:#f1f4f2;color:#41524a}
.modal-ok .modal-badge{width:66px;height:66px;border-radius:50%;background:#eaf7ef;color:var(--green-600,#2f8f5b);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.modal-ok .modal-badge svg{width:32px;height:32px;stroke-width:2.6}
.modal-ok h3{font-size:1.3rem;line-height:1.25;margin-bottom:.45rem}
.modal-ok p{color:#5a6b61;margin-bottom:1.5rem}
.modal-ok .modal-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
@keyframes mokfade{from{opacity:0}to{opacity:1}}
@keyframes mokpop{from{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:none}}

/* Reclamar ficha: adaptación a móvil */
@media(max-width:560px){
  .claim-form .cf-grid{grid-template-columns:1fr;gap:.9rem;margin-bottom:1.1rem}
  .form-card{padding:1.3rem}
  .claim-success{padding:1.9rem 1.3rem}
  .claim-form .btn-lg{width:100%;justify-content:center}
}

/* ===== Espacios publicitarios ===== */
.ad-wrap{padding:10px 0}
.ad-slot{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.ad-slot img{width:100%;height:auto;display:block}
.ad-banner{max-width:1000px;margin-inline:auto;max-height:210px}
.ad-rect{max-width:100%}
.ad-label{position:absolute;top:6px;left:8px;z-index:2;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;
  color:#8a958d;background:rgba(255,255,255,.82);padding:2px 6px;border-radius:6px;line-height:1}
.ad-empty{display:flex;align-items:center;justify-content:center;min-height:96px;background:#faf9f4;border-style:dashed}
.ad-empty-cta{color:#9aa7a0;font-size:.86rem;font-weight:600;text-align:center;padding:1rem;text-decoration:none}
.ad-empty-cta:hover{color:var(--green-600,#2f8f5b)}
