/* Turismo V40: estilos encapsulados para no alterar otras páginas */
.v40-section{max-width:1180px;margin:52px auto;padding:0 24px;scroll-margin-top:120px}
.v40-section h2,.v40-close h2{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2;color:#650000;margin:8px 0 14px}
.v40-section>p{line-height:1.7;color:#514747}
.v40-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:28px}
.v40-card{min-width:0;border:1px solid #ebdede;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(38,0,0,.07)}
.v40-card>img{display:block;width:100%;height:185px;object-fit:cover}
.v40-card-body{padding:22px}.v40-card h3{font-size:1.3rem;color:#680000;margin:12px 0}.v40-card p{line-height:1.6;color:#554949}
.v40-cap{display:inline-block;background:#f8eeee;color:#830000;border-radius:20px;padding:7px 11px;font-weight:700}
.v40-detail,.v40-maplink{display:inline-block;background:#830000;color:#fff;border:0;border-radius:9px;padding:12px 17px;text-decoration:none;font:700 1rem Roboto,sans-serif;cursor:pointer}
.v40-small{font-size:.86rem;color:#6b5a5a!important;margin-top:20px}
.v40-tips{background:#faf7f7;border-radius:20px;padding:36px 30px}
.v40-tips-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:25px}
.v40-tips-grid article{background:white;border:1px solid #f0e5e5;border-radius:14px;padding:21px}
.v40-tips-grid span{font-size:1.8rem}.v40-tips-grid h3{color:#750000;font-size:1.05rem}.v40-tips-grid p{line-height:1.6;color:#5d5353}
.v40-office{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;background:white;border:1px solid #eee0e0;border-radius:16px;padding:20px}
.v40-office>div{padding:12px}.v40-office h3{color:#760000}.v40-office p{line-height:1.7}.v40-office iframe{width:100%;height:330px;border:0;border-radius:12px}
.v40-close{max-width:1180px;margin:60px auto 76px;padding:52px 45px;border-radius:22px;background:linear-gradient(125deg,#250a0a,#830000);color:white}
.v40-close h2{color:white;max-width:750px}.v40-close p{max-width:820px;line-height:1.75;color:#fff0f0}
.v40-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.v40-actions a,.v40-modal-actions a{display:inline-block;background:white;color:#830000;border-radius:9px;padding:14px 19px;font-weight:700;text-decoration:none}
.v40-actions a:first-child{background:#e5f7e8;color:#195d30}
.v40-modal{border:0;border-radius:18px;max-width:590px;width:calc(100% - 32px);padding:26px;box-shadow:0 24px 90px #0006;color:#342727}
.v40-modal::backdrop{background:rgba(19,7,7,.68)}
.v40-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v40-modal-head h2{font-family:"Playfair Display",serif;color:#740000;margin:0}
.v40-close-button{border:0;background:#f5e9e9;border-radius:50%;width:39px;height:39px;cursor:pointer;font-size:1.1rem}
.v40-feature-list{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:13px}
.v40-feature-list li{padding:11px;background:#faf5f5;border-radius:9px}
.v40-modal-actions a{background:#830000;color:white}
.v40-modal-note{font-size:.85rem;line-height:1.6;color:#746464}
@media(max-width:1000px){.v40-grid,.v40-tips-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.v40-grid,.v40-tips-grid,.v40-office{grid-template-columns:1fr}.v40-section{padding:0 16px;margin:35px auto}.v40-tips{padding:26px 18px}.v40-close{margin:35px 16px;padding:30px 22px}.v40-office iframe{height:280px}.v40-feature-list{grid-template-columns:1fr}.v40-actions a{width:100%;text-align:center}}

/* V41: destinos turísticos, sin dependencias externas */
.v41-destinations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:26px}
.v41-place{min-width:0;background:#fff;border:1px solid #eddddd;border-radius:15px;overflow:hidden;box-shadow:0 8px 25px rgba(45,0,0,.06)}
.v41-place-art{height:165px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.v41-place-art>span{font-size:4.6rem;filter:drop-shadow(0 5px 8px #0002)}
.v41-place-art>small{position:absolute;left:15px;bottom:13px;letter-spacing:.13em;font-weight:800;color:#fff;text-shadow:0 1px 4px #0008}
/*.v41-patzcuaro{background:linear-gradient(135deg,#557e71,#abc3a5)}
.v41-guanajuato{background:linear-gradient(135deg,#b45843,#e4a45f)}
.v41-ixtapa{background:linear-gradient(135deg,#157b9e,#9edccf)}
.v41-san-miguel{background:linear-gradient(135deg,#994759,#e7b47e)}*/
.v41-patzcuaro {
  background: url('../assets/turismo/patzcuaro.webp')
              center / cover no-repeat;
}

.v41-guanajuato {
  background: url('../assets/turismo/guanajuato.webp')
              center / cover no-repeat;
}

.v41-ixtapa {
  background: url('../assets/turismo/zihuatanejo.webp')
              center / cover no-repeat;
}

.v41-san-miguel {
  background: url('../assets/turismo/sanmigueldeallende.webp')
              center / cover no-repeat;
}
.v41-place-body{padding:20px}.v41-place-body h3{color:#740000;margin:0 0 10px;font-size:1.17rem}.v41-place-body p{color:#554949;line-height:1.6;min-height:100px}
.v41-place-body a{display:inline-block;padding:11px 13px;border-radius:8px;background:#830000;color:white;font-weight:700;text-decoration:none}
@media(max-width:1000px){.v41-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.v41-place-body p{min-height:0}}
@media(max-width:600px){.v41-destinations{grid-template-columns:1fr}.v41-place-art{height:190px}}
