.tourism-page{background:#f7f9f9}
.tourism-hero{position:relative;overflow:hidden;padding:clamp(3.2rem,6vw,5.4rem) 0}
.tourism-hero:after{position:absolute;right:8%;bottom:-6rem;width:17rem;height:17rem;content:"";border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)}
.tourism-hero .container{position:relative;z-index:1}
.tourism-explorer{padding:clamp(2.8rem,6vw,5.5rem) 0}
.tourism-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.tourism-section-head>div:first-child{max-width:720px}
.tourism-section-head .eyebrow{margin-bottom:.45rem}
.tourism-section-head h2{margin-bottom:.65rem;font-size:clamp(2rem,4vw,3.15rem)}
.tourism-section-head>div>p:last-child{margin:0;color:var(--muted);font-size:1.02rem}
.tourism-result-summary{display:grid;flex:0 0 auto;min-width:170px;padding:1.1rem 1.25rem;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 28px rgba(7,59,76,.06)}
.tourism-result-summary strong{color:var(--blue);font-size:2rem;line-height:1}
.tourism-result-summary span{margin-top:.35rem;color:var(--muted);font-size:.78rem;font-weight:650}
.tourism-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem;padding:.75rem;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(7,59,76,.06)}
.tourism-search{display:flex;align-items:center;flex:1;min-width:0}
.tourism-search svg{flex:0 0 auto;width:21px;height:21px;margin-left:.45rem;fill:none;stroke:var(--blue);stroke-linecap:round;stroke-width:2}
.tourism-search input{width:100%;min-width:0;min-height:48px;padding:.6rem .8rem;background:transparent;border:0;outline:0;font:inherit}
.tourism-search input::placeholder{color:#74858d}
.tourism-search:focus-within{border-radius:11px;box-shadow:0 0 0 3px rgba(247,201,72,.42)}
.tourism-filters{display:flex;gap:.45rem}
.tourism-filter{min-height:42px;padding:.55rem .9rem;color:var(--blue);background:#f3f7f7;border:1px solid transparent;border-radius:999px;font:inherit;font-size:.82rem;font-weight:750;cursor:pointer;transition:.18s ease}
.tourism-filter:hover,.tourism-filter.active{color:#fff;background:var(--blue)}
#turismo-status,.tourism-results{margin:.75rem 0 1.2rem;color:var(--muted);font-size:.82rem}
#turismo-status[hidden]{display:none}
.tourism-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.tourism-card{display:flex;min-width:0;flex-direction:column;border:0;border-radius:22px;box-shadow:0 12px 34px rgba(7,59,76,.08)}
.tourism-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(7,59,76,.14)}
.tourism-card-media{position:relative;display:block;overflow:hidden;background:var(--pale);aspect-ratio:16/10}
.tourism-card-media:after{position:absolute;inset:auto 0 0;height:38%;content:"";background:linear-gradient(transparent,rgba(7,59,76,.25));pointer-events:none}
.tourism-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.tourism-card:hover .tourism-card-media img{transform:scale(1.035)}
.tourism-card .badge-destaque{top:.85rem;right:.85rem;box-shadow:0 5px 16px rgba(7,59,76,.18)}
.tourism-card-body{display:flex;flex:1;flex-direction:column;padding:1.35rem}
.tourism-card-kicker{margin:0 0 .45rem;color:var(--blue);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tourism-card .card-title{margin-bottom:.7rem;font-size:clamp(1.25rem,2vw,1.48rem);line-height:1.22}
.tourism-card .card-title a{text-decoration:none}
.tourism-card .card-title a:hover{color:var(--blue)}
.tourism-card .card-text{display:-webkit-box;margin:0 0 1.15rem;overflow:hidden;font-size:.91rem;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.tourism-card-details{display:grid;gap:.75rem;margin-top:auto;padding-top:.15rem}
.tourism-card-details p{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.65rem;margin:0;color:#425a65;font-size:.79rem;line-height:1.45}
.tourism-card-details svg{width:19px;height:19px;margin-top:.15rem;fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.tourism-card-details small{display:block;margin-bottom:.08rem;color:#788890;font-size:.64rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.tourism-card-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding-top:1rem;color:var(--blue);border-top:1px solid var(--line);font-size:.86rem;font-weight:800;text-decoration:none}
.tourism-card-action span:last-child{display:grid;width:31px;height:31px;place-items:center;background:var(--pale);border-radius:50%;transition:.18s ease}
.tourism-card-action:hover span:last-child{color:#fff;background:var(--blue);transform:translateX(2px)}
.tourism-empty{padding:3rem 1.5rem;text-align:center;color:var(--muted);background:#fff;border:1px dashed #bdcdd2;border-radius:22px}
.tourism-empty[hidden]{display:none}
.tourism-empty>span{display:grid;width:54px;height:54px;margin:0 auto 1rem;place-items:center;color:var(--blue);background:var(--pale);border-radius:50%;font-size:1.7rem}
.tourism-empty h3{margin-bottom:.35rem}
.tourism-empty p{margin:0}
@media(max-width:980px){.tourism-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tourism-card-media{aspect-ratio:16/9}}
@media(max-width:700px){.tourism-hero{padding:2.8rem 0}.tourism-hero h1{font-size:clamp(2.35rem,11vw,3.5rem)}.tourism-section-head{align-items:stretch;flex-direction:column;gap:1.25rem}.tourism-result-summary{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.8rem 1rem}.tourism-result-summary strong{font-size:1.35rem}.tourism-result-summary span{margin:0}.tourism-toolbar{align-items:stretch;flex-direction:column;padding:.65rem}.tourism-filters{overflow-x:auto}.tourism-filter{flex:1}.tourism-grid{grid-template-columns:1fr;gap:1rem}.tourism-card{border-radius:18px}.tourism-card-media{aspect-ratio:16/9}.tourism-card-body{padding:1.15rem}.tourism-card .card-text{-webkit-line-clamp:2}}
@media(prefers-reduced-motion:reduce){.tourism-card,.tourism-card-media img,.tourism-card-action span:last-child{transition:none}}
