*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#0c2853;background:#f3f8fb}.hero{height:245px;position:relative;overflow:hidden;background:linear-gradient(110deg,#f7fbff 0 23%,#56b7dc 42%,#0875b7 70%,#f8d875 100%)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.72) 25%,rgba(255,255,255,0) 48%),linear-gradient(180deg,rgba(255,255,255,.1),rgba(0,40,90,.18));pointer-events:none}.hero:before{content:"";position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1584987543544-8e0b3f7b2c4b?auto=format&fit=crop&w=1800&q=85');background-size:cover;background-position:center 58%;mix-blend-mode:multiply;opacity:.6}.brand{position:absolute;z-index:3;left:35px;top:18px;display:flex;gap:14px;align-items:center}.brand-mark{font-size:48px}.brand strong{display:block;font-size:40px;letter-spacing:1px;color:#092c59}.brand span{display:block;font-size:25px;font-weight:800;color:#f4a900}.brand small{display:block;font-weight:700;margin-top:5px}.hero-person{position:absolute;z-index:2;left:27%;bottom:-8px;height:240px;width:220px;overflow:hidden;border-radius:100px 100px 0 0;box-shadow:0 0 35px rgba(0,0,0,.15)}.hero-person img{width:100%;height:100%;object-fit:cover;object-position:center 19%}.hero-copy{position:absolute;z-index:3;right:38px;top:30px;text-align:right}.script{font-size:31px;font-family:cursive;font-style:italic;font-weight:700}.badge{display:inline-block;margin-top:15px;background:#073d72;color:#fff;padding:13px 24px;border-radius:5px;text-align:center;transform:rotate(-2deg)}.badge b{display:block;font-size:20px}.badge span{font-size:12px;letter-spacing:.7px}.nav{height:72px;background:#063d70;display:flex;align-items:stretch;padding-left:20px;position:sticky;top:0;z-index:20;box-shadow:0 3px 12px #0002}.nav a{min-width:150px;padding:10px 18px;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-right:1px solid #ffffff22;font-weight:700}.nav a.active,.nav a:hover{background:#f5b817;color:#082d56}.nav button{margin:auto 20px auto auto;background:#f5b817;border:0;border-radius:8px;padding:15px 24px;font-weight:800;color:#062d57;font-size:15px}.intro{max-width:1250px;margin:auto;padding:38px 24px 22px;text-align:center}.intro h1{margin:0;font-size:34px}.intro p{font-size:17px;color:#55708c}.tour-section{max-width:1250px;margin:auto;background:#fff;border:1px solid #dbe7ef;border-radius:12px;padding:24px;box-shadow:0 3px 12px #0a3a6610}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-title h1,.section-title h2{margin:5px 0 18px;font-size:30px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;color:#1677c4}.admin-link{color:#0868ae;font-weight:700;text-decoration:none}.tour-tabs{display:flex;gap:7px;overflow:auto;border-bottom:1px solid #d9e3eb;margin-bottom:18px}.tour-tab{border:1px solid #d9e3eb;border-bottom:0;background:#f7fafc;padding:13px 20px;border-radius:8px 8px 0 0;font-weight:700;white-space:nowrap;cursor:pointer}.tour-tab.active{background:#0876c9;color:#fff;border-color:#0876c9}.tour-grid{display:grid;grid-template-columns:1.1fr 1.35fr .9fr;gap:18px}.tour-description{padding:8px 10px;font-size:16px;line-height:1.55}.tour-description h2{font-size:27px;margin:0 0 8px}.facts{list-style:none;padding:0;margin:22px 0}.facts li{margin:13px 0}.gallery-main{height:310px;border-radius:9px;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:cover}.thumbs{display:flex;gap:8px;margin-top:9px}.thumbs img{width:80px;height:58px;object-fit:cover;border-radius:6px}.side-card{border:1px solid #dce6ee;border-radius:9px;padding:16px;background:#fbfdff}.video{height:170px;border-radius:8px;overflow:hidden;background:#0d355a;margin:10px 0}.video iframe{width:100%;height:100%;border:0}.price{font-size:30px;color:#0769b4;font-weight:900;margin:10px 0}.pay{line-height:1.8}.whatsapp{display:inline-block;background:#16b957;color:white!important;border-radius:8px;padding:13px 18px;text-decoration:none;font-weight:800}.features{max-width:1250px;margin:18px auto;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.features div{background:#fff;border-radius:9px;padding:20px;text-align:center;font-size:25px}.features b,.features small{display:block}.features b{font-size:15px;margin-top:8px}.features small{font-size:12px;color:#667c91;margin-top:4px}.contact-strip{max-width:1250px;margin:22px auto;padding:25px;background:#fff;border-radius:12px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center}.contact-strip h2{margin:5px 0}.contact-buttons{display:flex;flex-direction:column;gap:10px}.contact-buttons a{padding:13px 18px;border-radius:8px;color:#fff;text-decoration:none;font-weight:800;text-align:center}.instagram{background:#c32c92}.email{background:#0b79c6}.map-card{border:1px solid #dce6ee;border-radius:9px;padding:15px;display:flex;gap:12px;align-items:center}.map-art{height:90px;width:120px;border-radius:7px;background:linear-gradient(135deg,#9bd5e9,#e9f2c6);display:grid;place-items:center;font-size:42px}.map-card small,.map-card a{display:block;margin-top:6px}.map-card a{color:#0671bc;font-weight:700;text-decoration:none}footer{margin-top:25px;background:#052f5c;color:white;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:20px;padding:28px 5%;align-items:center}.footer-brand b{font-size:34px}.footer-brand span{display:block;color:#f4b20f;font-size:21px;font-weight:900}.footer-brand small{display:block;margin-top:5px}.footer-slogan{font-family:cursive;font-size:19px;font-style:italic}.footer-contact div{margin:8px 0}.footer-company{border-left:1px solid #ffffff55;padding-left:20px;line-height:1.6}.modal{display:none;position:fixed;inset:0;background:#001f3faa;z-index:100;align-items:center;justify-content:center}.modal.show{display:flex}.modal-box{background:#fff;width:min(480px,92vw);padding:28px;border-radius:12px;position:relative}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}.modal select,.modal button.primary{width:100%;padding:13px;margin-top:15px}.primary{background:#0876c9;color:white;border:0;border-radius:7px;padding:12px 18px;font-weight:800;cursor:pointer}.admin-page{background:#eef5f9}.admin-header{background:#063d70;color:#fff;padding:18px 5%;display:flex;justify-content:space-between;align-items:center}.admin-header b{font-size:27px}.admin-header span{color:#f5b817;font-weight:900}.admin-header small{display:block}.admin-header a{color:white;text-decoration:none}.admin-wrap{max-width:1200px;margin:35px auto;padding:0 18px}.admin-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.panel{background:#fff;border-radius:12px;padding:22px;box-shadow:0 2px 10px #08355c14}.panel h2{margin-top:0}.tour-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid #e5edf3}.status{padding:5px 9px;border-radius:12px;font-size:12px;font-weight:800}.status.on{background:#d9f4e1;color:#13743b}.status.off{background:#f9dcdc;color:#a52323}.tour-row button{border:0;background:#edf4f9;padding:8px;border-radius:6px;cursor:pointer}label{display:block;font-weight:700;font-size:13px;margin:13px 0}input,textarea,select{width:100%;border:1px solid #ccdbe6;border-radius:6px;padding:11px;margin-top:6px;font:inherit}textarea{min-height:120px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.preview{height:150px;border:1px dashed #b9cad8;border-radius:8px;display:grid;place-items:center;color:#70869b;overflow:hidden}.preview img{width:100%;height:100%;object-fit:cover}.form-actions{display:flex;gap:10px;margin-top:18px}.form-actions button:not(.primary){padding:12px 18px;border:1px solid #ccdbe6;border-radius:7px;background:white}.empty{padding:25px;text-align:center;color:#70869b}
@media(max-width:900px){.hero{height:260px}.hero-person{left:38%;opacity:.7}.hero-copy{right:15px;top:20px}.brand{left:15px}.brand strong{font-size:28px}.brand span{font-size:18px}.brand small{font-size:9px}.nav{overflow:auto}.nav a{min-width:120px}.nav button{display:none}.tour-grid,.contact-strip,.admin-grid,footer{grid-template-columns:1fr}.features{grid-template-columns:1fr 1fr}.footer-company{border-left:0;padding-left:0}}
/* Ajustes da nova versão */
.home-section{max-width:1250px;margin:0 auto;padding:38px 24px 12px}
.home-copy{text-align:center;max-width:850px;margin:0 auto 28px}
.home-copy h1{font-size:34px;margin:7px 0 12px}
.home-copy p{font-size:17px;color:#55708c;line-height:1.55}
.home-actions{display:flex;justify-content:center;gap:12px;margin-top:20px;flex-wrap:wrap}
.large{padding:14px 24px!important}
.home-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}
.info-card{background:#fff;border:1px solid #dce7ef;border-radius:10px;padding:20px;display:flex;gap:14px;align-items:flex-start;min-height:145px;box-shadow:0 2px 10px #0a3a6610}
.info-icon{font-size:31px;min-width:36px;text-align:center}
.info-card h3{margin:2px 0 7px;font-size:17px}
.info-card p{margin:0 0 8px;color:#556f89;font-size:14px}
.info-card a{color:#0671bc;font-size:13px;font-weight:700;text-decoration:none}
.home-map{margin:16px 0 18px;background:#fff;border:1px solid #dce7ef;border-radius:10px;padding:20px;display:flex;gap:20px;align-items:center}
.map-art.big{width:210px;height:135px;font-size:50px;flex-shrink:0}
.home-map h2{margin:6px 0 5px}.home-map p{color:#61768b}.primary-link{display:inline-block;background:#0876c9;color:#fff;text-decoration:none;border-radius:7px;padding:11px 17px;font-weight:800}
.tour-empty{border:1px dashed #c7d8e4;border-radius:10px;padding:55px 20px;text-align:center;color:#60778c;background:#fbfdff;font-size:17px}
.reserve-btn{border:0;cursor:pointer;font:inherit}
.no-video{display:grid;place-items:center;color:#fff;height:100%}
.footer-brand{display:flex;align-items:center;gap:10px}
.footer-logo-mark{font-size:40px}
.footer-brand b{font-size:32px}.footer-brand span{display:block}.footer-brand small{display:block}
.footer-slogan{text-align:center;line-height:1.35}.footer-slogan span{font-size:28px}
.footer-contact div{display:flex;align-items:center;gap:10px;margin:9px 0}
.footer-icon{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;font-size:21px;border:1px solid #ffffff66;flex-shrink:0}
.whatsapp-icon{font-size:20px}.instagram-icon{font-size:25px}.email-icon{font-size:20px}
@media(max-width:900px){.home-info-grid{grid-template-columns:1fr 1fr}.home-map{align-items:flex-start}.footer-brand{justify-content:center}}
@media(max-width:600px){.home-info-grid{grid-template-columns:1fr}.home-map{display:block}.map-art.big{width:100%;margin-bottom:15px}.home-copy h1{font-size:27px}}

.footer-admin{display:inline-block;margin-top:8px;color:#b9cad9!important;text-decoration:none!important;font-size:12px;font-weight:400!important}
.footer-admin:hover{text-decoration:underline!important;color:#fff!important}
#passeios{display:none}

/* Padronização dos quadros de vídeo */
.tour-grid{align-items:stretch}
.side-card{height:465px;min-height:465px;display:flex;flex-direction:column}
.side-card .video{height:190px;min-height:190px;position:relative;flex-shrink:0}
.side-card .video iframe{display:block;width:100%;height:100%;border:0}
.youtube-fallback{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.75);color:#fff;text-decoration:none;padding:6px 10px;border-radius:5px;font-size:12px;font-weight:700}
.side-card .price{margin:5px 0 7px}
.side-card h3{margin:3px 0 7px}

.image-upload-section{border:1px solid #dce6ee;border-radius:9px;padding:15px;margin:18px 0;background:#fbfdff}
.image-upload-section h3{margin:0 0 5px}
.helper{font-size:12px;color:#667d91;margin:0 0 14px}
.image-upload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.image-input-card{border:1px solid #dce6ee;background:#fff;border-radius:8px;padding:9px}
.image-input-card label{margin:0}
.image-preview{height:95px;margin-top:7px;border:1px dashed #b9cad8;border-radius:6px;display:grid;place-items:center;overflow:hidden;color:#8092a2;font-size:11px}
.image-preview img{width:100%;height:100%;object-fit:cover}
.image-count{display:inline-block;margin-left:8px;color:#70869b;font-size:11px}
.tour-thumb{border:0;padding:0;background:none;cursor:pointer;border-radius:7px;overflow:hidden;opacity:.7}
.tour-thumb img{width:80px;height:58px;object-fit:cover;display:block}
.tour-thumb.selected{opacity:1;outline:3px solid #0876c9}
.thumbs{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
@media(max-width:600px){.image-upload-grid{grid-template-columns:1fr}}

.nav{overflow-x:auto;overflow-y:hidden}.nav a{flex:0 0 auto}.nav button{flex:0 0 auto}

.image-upload-section .form-actions button:disabled{opacity:.65;cursor:wait}
.home-info-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.home-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.home-info-grid{grid-template-columns:1fr}}

.tour-facts-form{border:1px solid #dce6ee;border-radius:9px;padding:15px;margin:18px 0;background:#fbfdff}
.tour-facts-form h3{margin:0 0 5px}
.tour-facts-form label{margin:11px 0}

#tourForm button[type="submit"]{min-width:150px}

/* Ajustes de layout — versão 10 */
.admin-brand{display:flex;align-items:baseline;gap:8px}
.admin-brand b,.admin-brand span{font-size:27px;font-weight:900}
.admin-brand span{color:#f5b817}

/* Área do passeio ocupando praticamente toda a largura disponível */
.tour-section{max-width:none;width:calc(100% - 30px);margin-top:10px;margin-bottom:10px;margin-left:15px;margin-right:15px}
.tour-grid{grid-template-columns:minmax(260px,.9fr) minmax(420px,1.45fr) minmax(300px,.85fr)}

/* Imagem principal: nunca cortar conteúdo de imagens verticais */
.gallery-main{background:#eef3f6;display:flex;align-items:center;justify-content:center}
.gallery-main img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}

/* Miniaturas também preservam a imagem inteira */
.tour-thumb{background:#eef3f6;display:flex;align-items:center;justify-content:center}
.tour-thumb img{object-fit:contain;background:#eef3f6}

/* O título do vídeo foi removido; o player continua com tamanho padronizado */
.side-card .video{margin-top:0}

/* Em telas menores, preservar a largura e permitir rolagem horizontal das abas */
@media(max-width:900px){
  .tour-section{width:calc(100% - 20px);margin-top:10px;margin-bottom:10px;margin-left:10px;margin-right:10px}
  .tour-grid{grid-template-columns:1fr}
}

/* Versão 11 — destaque maior para as imagens */
.tour-grid{
  grid-template-columns:minmax(245px,.82fr) minmax(520px,1.75fr) minmax(275px,.72fr);
}
.gallery-main{
  height:390px;
}
.tour-thumb img{
  width:92px;
  height:66px;
}
.side-card{
  width:100%;
  box-sizing:border-box;
}

.delete-tour-btn{
  border:1px solid #c0392b!important;
  color:#c0392b!important;
  background:#fff!important;
}
.delete-tour-btn:hover{
  background:#c0392b!important;
  color:#fff!important;
}

/* Versão 12 — mais destaque para imagens e reserva centralizada */
.tour-grid{
  grid-template-columns:minmax(245px,.82fr) minmax(540px,1.85fr) minmax(230px,.58fr);
}
.tour-description{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.tour-description .reserve-btn{
  align-self:center;
  background:#0b477b!important;
  color:#fff!important;
  border:0!important;
  padding:13px 24px;
  font-weight:800;
  border-radius:7px;
  cursor:pointer;
}
.tour-description .reserve-btn:hover{
  background:#08395f!important;
}

/* Indicador de status dos passeios */
.tour-row{
  display:flex;
  align-items:center;
  gap:12px;
}
.tour-row .tour-name{
  flex:1;
  min-width:0;
}
.tour-row .tour-name b{
  display:inline-block;
  max-width:100%;
}
.tour-row .status-dot{
  width:13px;
  height:13px;
  border-radius:50%;
  display:block;
  flex:0 0 13px;
  box-shadow:0 0 0 2px rgba(0,0,0,.08);
}
.tour-row .status-dot.active{background:#22a447}
.tour-row .status-dot.inactive{background:#d9363e}

/* Versão 13 — novo cabeçalho visual da Kaukito Turismo */
.hero.hero-art{
  position:relative;
  width:100%;
  height:300px;
  overflow:hidden;
  padding:0;
  margin:0;
  background:#fff;
}
.hero-art-image{
  display:block;
  width:100%;
  height:auto;
  min-height:100%;
  object-fit:cover;
  object-position:center top;
}

/* Tipografia inspirada na escrita da nova arte */
.nav a,
.tour-description .reserve-btn,
.section-title h2,
.tour-description h2{
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
}
.nav a{
  font-weight:700;
}

/* Correção do cabeçalho: mostrar toda a arte sem cortar */
.hero.hero-art{
  width:100%;
  height:auto;
  aspect-ratio:2172 / 580;
  overflow:hidden;
  background:#fff;
}
.hero-art-image{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center top;
  display:block;
}

/* Versão 15 — cabeçalho final */
.hero.hero-art{
  width:100%;
  height:300px;
  overflow:hidden;
  background:#fff;
  padding:0;
  margin:0;
}
.hero-art-image{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
  display:block;
}

/* Versão 17 — mais espaço para o cronograma */
.tour-grid{
  grid-template-columns:minmax(330px,1.30fr) minmax(400px,1.35fr) minmax(230px,.62fr);
  align-items:start;
}
.gallery-main{
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  min-height:0;
}
.gallery-main img{
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Versão 19 — contatos integrados */
.map-embed{
  width:100%;
  height:230px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #d9e3eb;
  background:#eef3f6;
}
.map-embed iframe{
  width:100%;
  height:100%;
  border:0;
}
.instagram-embed-card{
  margin-top:18px;
  padding:18px;
  border:1px solid #d9e3eb;
  border-radius:10px;
  background:#fff;
}
.instagram-embed-card h3{margin:4px 0 12px}
.instagram-embed{
  width:100%;
  max-width:540px;
  height:430px;
  margin:0 auto;
  overflow:hidden;
  border:1px solid #e3e8ed;
  border-radius:10px;
  background:#fafafa;
}
.instagram-embed iframe{
  width:100%;
  height:100%;
  border:0;
}
.instagram-link{
  display:inline-block;
  margin-top:10px;
  font-weight:700;
  text-decoration:none;
}
@media(max-width:600px){
  .instagram-embed{height:380px}
  .map-embed{height:210px}
}

.maps-direct-link{display:inline-block;margin-top:8px;font-weight:700;text-decoration:none}

/* Versão 21 — ajustes solicitados na tela inicial e informações dos passeios */
.home-copy{margin-bottom:22px}
.home-copy h1{margin:0}
.home-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-left:auto;margin-right:auto}
.home-map{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(430px,1fr);gap:20px;align-items:stretch}
.home-map .attendance-card{min-width:0}
.home-map .instagram-embed-card{margin-top:0;min-width:0}
.instagram-embed{max-width:none;height:460px}
.instagram-embed-card{padding:20px}
.instagram-link,.maps-direct-link{display:none!important}
.map-art.big{display:none!important}
.contact-buttons a{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.whatsapp-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px}
.whatsapp-btn-icon svg,.reserve-whatsapp-icon svg{width:100%;height:100%;fill:currentColor;display:block}
.tour-price-info{margin:4px 0 18px;padding-top:2px}
.tour-price-info h3{margin:0 0 2px;font-size:17px}
.tour-price-info .price{margin:0 0 5px}
.tour-price-info .pay{line-height:1.7}
.tour-description .reserve-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.reserve-whatsapp-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px}
.side-card{height:465px;min-height:465px}
.side-card .video{height:190px;min-height:190px}
@media(max-width:900px){
  .home-info-grid{grid-template-columns:1fr}
  .home-map{grid-template-columns:1fr}
  .instagram-embed{height:430px}
}
@media(max-width:600px){
  .home-info-grid{grid-template-columns:1fr}
  .home-map{display:grid}
  .home-copy h1{font-size:27px}
}

/* Versão 22 — contato reorganizado: WhatsApp abaixo do mapa e Instagram ampliado */
.home-info-grid{display:none!important}
.home-map{grid-template-columns:minmax(300px,.78fr) minmax(500px,1.22fr);gap:20px;align-items:stretch}
.home-map .attendance-card{min-width:0}
.home-map .instagram-embed-card{min-width:0}
.map-embed{width:100%;max-width:100%;height:230px}
.instagram-embed-card{width:100%;box-sizing:border-box}
.instagram-embed{width:100%;max-width:none;height:460px}
.home-whatsapp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:12px;
  padding:12px 18px;
  width:100%;
  box-sizing:border-box;
  border-radius:7px;
  background:#0b477b;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  transition:background .2s ease,transform .2s ease;
}
.home-whatsapp-btn:hover{background:#08395f;transform:translateY(-1px)}
.home-whatsapp-btn .whatsapp-btn-icon{width:20px;height:20px;flex:0 0 20px}
@media(max-width:900px){
  .home-map{grid-template-columns:1fr}
  .map-embed{height:210px}
  .instagram-embed{height:430px}
}


/* Versão 23 corrigida — somente ajustes solicitados */
.home-map{
  grid-template-columns:minmax(300px,.72fr) minmax(540px,1.28fr);
  gap:20px;
  align-items:stretch;
}
.map-embed{
  height:390px;
}
.instagram-embed-card{
  width:100%;
}
.instagram-embed{
  width:100%;
  max-width:none;
  height:460px;
}
.footer-icon{
  width:24px;
  height:24px;
  border:0;
  border-radius:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  flex:0 0 24px;
  background:transparent;
}
.footer-icon svg{
  width:22px;
  height:22px;
  display:block;
}
@media(max-width:900px){
  .home-map{grid-template-columns:1fr}
  .map-embed{height:320px}
  .instagram-embed{height:430px}
}
@media(max-width:600px){
  .map-embed{height:240px}
}

/* WhatsApp do rodapé em branco */
.footer-contact .whatsapp-icon svg{color:#fff!important;fill:#fff!important}
.footer-contact .whatsapp-icon{color:#fff!important}

/* Versão 25 — ajustes no cadastro de imagens e na tela inicial */
.tour-facts-form{border:0!important;padding:0!important;margin:0!important;background:transparent!important}
.image-input-title{font-weight:700;font-size:13px;margin-bottom:6px}
.image-preview{
  aspect-ratio:16 / 9;
  height:auto!important;
  min-height:0;
  background:#eef3f6;
}
.image-preview img{
  width:100%;
  height:100%;
  object-fit:contain!important;
  background:#eef3f6;
}
.discard-image-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:7px;
  padding:6px 9px;
  border:1px solid #c0392b;
  border-radius:6px;
  background:#fff;
  color:#c0392b;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.discard-image-btn:hover{background:#c0392b;color:#fff}

/* Versão 26 — aumenta um pouco a altura do mapa para alinhar com o botão de WhatsApp. */
.map-embed{height:430px!important}
@media(max-width:900px){.map-embed{height:350px!important}}
@media(max-width:600px){.map-embed{height:260px!important}}


/* Versão 27 — ajustes finais solicitados */
/* Instagram: remover a borda externa e alinhar o título com o Ponto de Atendimento */
.home-map .instagram-embed-card{
  border:0!important;
  box-shadow:none!important;
  margin-top:0!important;
  padding-top:18px!important;
}

/* Cabeçalho: mostrar toda a imagem sem cortar */
.hero.hero-art{
  height:auto!important;
  aspect-ratio:2172 / 579!important;
  overflow:hidden!important;
}
.hero-art-image{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:fill!important;
  object-position:center center!important;
}

/* Reserva alinhada à esquerda na área do passeio */
.tour-description .reserve-btn{
  align-self:flex-start!important;
}

/* Rodapé sem o antigo ícone decorativo */
.footer-logo-mark{
  display:none!important;
}


/* Versão 28 — nova arte do cabeçalho e alinhamento da tela inicial */
.hero.hero-art{
  width:100%;
  height:auto;
  aspect-ratio:2048 / 494;
  overflow:hidden;
  padding:0;
  margin:0;
  background:#fff;
}
.hero-art-image{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  object-position:center center;
}

/* O título INSTAGRAM começa na mesma altura do PONTO DE ATENDIMENTO */
.home-map .instagram-embed-card{
  margin-top:0;
  padding-top:20px;
  border:none;
}


/* Versão 29 — Gestão de Eventos e alinhamento do Instagram */
.home-map .instagram-embed{
  height:494px!important;
}
.admin-title-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.admin-back-btn{
  background:#e3e7eb;
  color:#263746;
  border:0;
  border-radius:7px;
  padding:12px 18px;
  font-weight:800;
  cursor:pointer;
}
.admin-back-btn:hover{background:#d3d9de}
@media(max-width:900px){
  .home-map .instagram-embed{height:494px!important}
  .admin-title-actions{flex-wrap:wrap}
}
@media(max-width:600px){
  .home-map .instagram-embed{height:430px!important}
}


/* Versão 30 — centralização da administração e prévia do YouTube em file:// */
.admin-page .section-title{
  position:relative;
}
.admin-page .section-title > div:first-child{
  flex:1;
  text-align:center;
}
.admin-page .section-title > .admin-title-actions{
  flex:0 0 auto;
}
.youtube-preview{
  position:relative;
  background:#111;
}
.youtube-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.youtube-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:58px;
  height:42px;
  border-radius:12px;
  background:#e62117;
  color:#fff!important;
  text-decoration:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  line-height:1;
  box-shadow:0 2px 12px rgba(0,0,0,.35);
}
.youtube-preview .youtube-fallback{
  z-index:2;
}


/* Versão 31 — títulos menores e vídeo incorporado */
.home-map .attendance-card h3,
.home-map .instagram-embed-card h3{
  font-size:18px!important;
  font-weight:400!important;
  margin:4px 0 12px!important;
}
.home-map .attendance-card .eyebrow,
.home-map .instagram-embed-card .eyebrow{
  margin:0!important;
}

/* Mais espaço horizontal para o vídeo do passeio */
.tour-grid{
  grid-template-columns:minmax(280px,1fr) minmax(360px,1.15fr) minmax(360px,1.25fr)!important;
}
.side-card .video{
  width:100%;
  height:240px!important;
  min-height:240px!important;
}
.side-card .video iframe{
  width:100%;
  height:100%;
  display:block;
  border:0;
}
@media(max-width:900px){
  .tour-grid{grid-template-columns:1fr!important}
  .side-card .video{height:240px!important;min-height:240px!important}
}


/* Versão 32 — ajuste da caixa do YouTube e alinhamento dos títulos da tela inicial */
.side-card{
  width:70%!important;
  justify-self:start;
}
.home-map .instagram-embed-card{
  padding-top:24px!important;
}
.home-map .attendance-card .eyebrow,
.home-map .instagram-embed-card .eyebrow{
  line-height:1.2;
}
.home-map .attendance-card h3,
.home-map .instagram-embed-card h3{
  margin-top:4px!important;
}
@media(max-width:900px){
  .side-card{
    width:100%!important;
  }
}

/* Administração: títulos alinhados à esquerda */
.admin-page .section-title > div:first-child{
  flex:initial!important;
  text-align:left!important;
}


/* Versão 33 — Instagram sem margem/padding externo */
.home-map .instagram-embed-card{
  margin:0!important;
  padding:0!important;
}


/* Versão 34 — galeria com setas, vídeo preenchendo o card e Instagram alinhado */
.gallery-column{min-width:0}
.gallery-main{position:relative}
.gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:58px;
  border:0;
  border-radius:9px;
  background:rgba(0,47,92,.72);
  color:#fff;
  font-size:40px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  padding:0 0 5px;
}
.gallery-arrow:hover{background:rgba(0,47,92,.9)}
.gallery-arrow-left{left:10px}
.gallery-arrow-right{right:10px}

.side-card{
  display:flex;
  align-items:stretch;
  box-sizing:border-box;
}
.side-card .video{
  width:100%;
  height:auto!important;
  min-height:0!important;
  flex:1 1 auto;
  margin:0;
}

.home-map{
  align-items:stretch!important;
}
.home-map .instagram-embed-card{
  height:100%;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-self:stretch;
}
.home-map .instagram-embed{
  flex:1 1 auto;
  height:auto!important;
  min-height:0;
  max-width:none;
}

/* Versão 35.1 — cronograma preserva as quebras de linha e vídeo opcional */
.description{
  white-space:normal;
}
.tour-grid.without-video{
  grid-template-columns:minmax(330px,1fr) minmax(500px,1fr)!important;
}
@media(max-width:900px){
  .tour-grid.without-video{
    grid-template-columns:1fr!important;
  }
}

/* Versão 36 — ajustes responsivos solicitados */
/* Menu: 30% menor em todos os dispositivos. */
.nav{height:50px!important}
.nav a{min-height:50px!important;padding-top:6px!important;padding-bottom:6px!important}

/* Banner inicial: 50% menor somente no PC. */
@media(min-width:901px){
  .hero.hero-art{
    height:150px!important;
    aspect-ratio:auto!important;
  }
}

/* Botão de expandir a imagem da galeria. */
.gallery-expand{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:4;
  width:42px;
  height:42px;
  border:0;
  border-radius:8px;
  background:rgba(0,47,92,.78);
  color:#fff;
  font-size:25px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0 0 3px;
}
.gallery-expand:hover{background:rgba(0,47,92,.95)}

/* Visualização ampliada da imagem. */
.image-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,20,45,.92);
  align-items:center;
  justify-content:center;
  padding:30px;
}
.image-lightbox.show{display:flex}
.image-lightbox img{
  max-width:95vw;
  max-height:92vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 8px 35px rgba(0,0,0,.45);
}
.image-lightbox-close{
  position:absolute;
  top:18px;
  right:22px;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#0c2853;
  font-size:32px;
  line-height:1;
  cursor:pointer;
}
body.lightbox-open{overflow:hidden}

/* Setas da imagem ampliada: disponíveis no smartphone quando houver mais de uma imagem. */
.image-lightbox-arrow{
  display:none;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:64px;
  border:0;
  border-radius:10px;
  background:rgba(0,47,92,.78);
  color:#fff;
  font-size:42px;
  line-height:1;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:1002;
  padding:0 0 5px;
}
.image-lightbox-arrow.available{display:none}
.image-lightbox-arrow-left{left:18px}
.image-lightbox-arrow-right{right:18px}
.image-lightbox-arrow:hover{background:rgba(0,47,92,.95)}

/* Botões de ação do cadastro com ícones em PC e smartphone. */
.form-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.action-icon{font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}

/* A reserva mantém a mesma largura da caixa principal de imagem; o JS sincroniza a medida. */
.tour-description .reserve-btn{
  align-self:center!important;
  box-sizing:border-box;
}

/* Ajustes exclusivos de smartphone. */
@media(max-width:600px){
  /* Administração */
  .admin-header{
    justify-content:center!important;
    text-align:center;
  }
  .admin-brand{justify-content:center;width:100%;}
  .admin-page .section-title{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    row-gap:16px;
    align-items:center;
  }
  .admin-page .section-title > div:first-child{
    grid-column:1 / -1;
    text-align:center!important;
    width:100%;
  }
  .admin-page .section-title > div:first-child .eyebrow,
  .admin-page .section-title > div:first-child h1{
    display:block;
    text-align:center;
  }
  .admin-page .section-title > .admin-title-actions{
    grid-column:1 / -1;
    width:100%;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:12px;
    flex-wrap:nowrap!important;
  }
  .admin-page .admin-title-actions button{
    width:100%;
    min-width:0;
  }
  .admin-page .admin-title-actions button:first-child{justify-self:start}
  .admin-page .admin-title-actions button:last-child{justify-self:end}
  .admin-page .panel h2{text-align:center}

  /* Salvar à esquerda e Limpar à direita. Excluir, quando aparecer, fica abaixo. */
  .admin-page .form-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .admin-page .form-actions #deleteTourBtn{
    grid-column:1 / -1;
    width:100%;
  }
  .admin-page .form-actions button{width:100%;}

  /* Tela do passeio */
  .tour-description > h2{
    text-align:center;
    width:100%;
  }
  .tour-description .reserve-btn{
    align-self:center!important;
  }
  .gallery-main{margin-left:auto;margin-right:auto}
  .thumbs{
    justify-content:center;
  }

  /* Tela inicial: Instagram primeiro, ponto de atendimento depois e WhatsApp por último dentro do bloco. */
  .home-map{
    display:flex!important;
    flex-direction:column;
  }
  .home-map .instagram-embed-card{
    order:1;
    width:100%;
  }
  .home-map .attendance-card{
    order:2;
    width:100%;
  }
  .home-map .attendance-card .eyebrow,
  .home-map .attendance-card h3{
    text-align:left;
  }
  .home-map .map-embed{
    height:430px!important;
  }
  .home-map .home-whatsapp-btn{
    order:3;
  }
  .home-map .instagram-embed{
    height:430px!important;
  }
}


/* Versão 36.1 — ajuste final do cabeçalho e espaçamento no smartphone */
.admin-slogan{
  display:none;
}

@media(max-width:600px){
  /* Marca do cabeçalho administrativo */
  .admin-header{
    justify-content:center!important;
    text-align:center!important;
  }
  .admin-brand{
    width:100%!important;
    display:flex!important;
    flex-wrap:wrap;
    justify-content:center!important;
    align-items:baseline!important;
    column-gap:8px;
    row-gap:3px;
    text-align:center!important;
  }
  .admin-brand b,
  .admin-brand span{
    text-align:center!important;
  }
  .admin-slogan{
    display:block!important;
    flex-basis:100%;
    width:100%;
    margin-top:3px;
    text-align:center!important;
    font-size:10px!important;
    line-height:1.2;
    color:#fff!important;
  }

  /* Título da administração */
  .admin-page .section-title > div:first-child{
    text-align:center!important;
  }

  /* Botões ficam em sua própria linha e com espaço antes dos eventos */
  .admin-page .admin-title-actions{
    margin-bottom:16px!important;
  }

  /* Mantém os dois botões com a mesma largura e alinhados nas extremidades */
  .admin-page .admin-title-actions button{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box;
  }

  /* Uma linha de respiro entre os botões e a caixa Eventos Cadastrados */
  .admin-page .admin-grid{
    margin-top:0!important;
  }
}

/* Versão 36.2 — ajustes finais solicitados */
/* PC: botão Faça sua reserva com 60% menos largura e alinhado à esquerda. */
@media(min-width:601px){
  .tour-description .reserve-btn{
    width:40%!important;
    max-width:40%!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
}

/* Smartphone: rodapé alinhado à esquerda. */
@media(max-width:600px){
  footer .footer-brand{
    justify-content:flex-start!important;
    text-align:left!important;
  }
  footer .footer-brand > div{
    text-align:left!important;
  }
  footer .footer-slogan{
    text-align:left!important;
  }

  /* Administração: botões 15% menores, mantendo Novo Cadastro/Salvar à esquerda
     e Voltar/Limpar à direita. */
  .admin-page .admin-title-actions button,
  .admin-page .form-actions button{
    width:85%!important;
  }
  .admin-page .admin-title-actions button:first-child,
  .admin-page .form-actions button:first-child{
    justify-self:start!important;
  }
  .admin-page .admin-title-actions button:last-child,
  .admin-page .form-actions button:last-child{
    justify-self:end!important;
  }
}


/* Imagem ampliada: setas somente no layout smartphone. */
@media(max-width:600px){
  .image-lightbox-arrow.available{
    display:flex!important;
  }
  .image-lightbox{
    padding:16px;
  }
  .image-lightbox img{
    max-width:88vw;
    max-height:88vh;
  }
  .image-lightbox-arrow-left{left:8px}
  .image-lightbox-arrow-right{right:8px}
}


/* Versão 36.4 — ajustes finais PC + navegação clicável da imagem ampliada */
@media(min-width:901px){
  /* Relatórios/ações do cadastro alinhados à direita no PC. */
  .admin-page .form-actions{
    justify-content:flex-end!important;
  }

  /* Rodapé PC: três blocos, com divisórias verticais antes dos contatos e da empresa. */
  footer{
    grid-template-columns:1.2fr 1fr 1fr!important;
  }
  footer .footer-contact,
  footer .footer-company{
    border-left:1px solid #ffffff55!important;
    padding-left:24px!important;
  }
}

/* As setas da imagem ampliada são botões clicáveis em PC e smartphone. */
.image-lightbox-arrow.available{
  display:flex!important;
}

@media(max-width:600px){
  /* No smartphone, a divisória do rodapé não aparece. */
  footer .footer-contact,
  footer .footer-company{
    border-left:0!important;
    padding-left:0!important;
  }
}


/* v36.5 — Correção para smartphones que reportam viewport de desktop
   (ex.: Safari/iPhone com "Solicitar Site para Computador").
   Não altera o layout de PC; ativa o comportamento responsivo quando o dispositivo
   possui ponteiro por toque mesmo que a largura CSS informada seja maior. */
@media (pointer: coarse) and (hover: none){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden!important;
  }
  .hero.hero-art{
    width:100%!important;
    height:auto!important;
    aspect-ratio:2048 / 494!important;
  }
  .hero-art-image{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
  .nav{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
  }
  .tour-grid{
    grid-template-columns:1fr!important;
  }
  .tour-section{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    margin-left:10px!important;
    margin-right:10px!important;
  }
  .tour-description,
  .side-card,
  .gallery-main,
  .thumbs{
    min-width:0!important;
    max-width:100%!important;
  }
  .gallery-main{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .thumbs{
    justify-content:center!important;
    flex-wrap:wrap!important;
  }
  .contact-strip,
  .home-map,
  footer{
    grid-template-columns:1fr!important;
  }
  .home-info-grid{
    grid-template-columns:1fr!important;
  }
  .home-map{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .home-map .instagram-embed-card,
  .home-map .attendance-card,
  .home-map .home-whatsapp-btn{
    width:100%!important;
  }
  .map-embed,.instagram-embed{
    max-width:100%!important;
  }
  .footer-brand{
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .footer-brand > div,.footer-slogan{
    text-align:left!important;
  }
}


/* v36.6 — Limpar alinhado à margem direita no smartphone */
@media(max-width:600px){
  .admin-page .form-actions{
    width:100%!important;
    grid-template-columns:1fr 1fr!important;
  }
  .admin-page .form-actions button:first-child{
    justify-self:start!important;
  }
  .admin-page .form-actions button:last-child{
    justify-self:end!important;
  }
}


/* v36.7 — botões de ação somente com ícones no smartphone */
@media(max-width:600px){
  /* Somente os botões da tela de edição/cadastro. */
  .admin-page .form-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    gap:10px!important;
    grid-template-columns:none!important;
  }

  .admin-page .form-actions button,
  .admin-page .form-actions #deleteTourBtn{
    box-sizing:border-box!important;
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:56px!important;
    min-height:56px!important;
    padding:0!important;
    margin:0!important;
    border-radius:8px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 56px!important;
    font-size:0!important;
  }

  .admin-page .form-actions button .action-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:25px!important;
    line-height:1!important;
    margin:0!important;
  }

  .admin-page .form-actions #deleteTourBtn{
    grid-column:auto!important;
  }

  /* Não altera Novo Cadastro e Voltar. */
  .admin-page .admin-title-actions button{
    font-size:inherit!important;
  }
}

/* v36.8 — refinamento dos botões de administração no smartphone */
@media(max-width:600px){
  /* Novo Cadastro e Voltar: apenas refinamento visual dos ícones e texto normal. */
  .admin-page .admin-title-actions button{
    font-weight:400!important;
  }
  .admin-page .admin-title-actions .title-action-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:21px;
    line-height:1;
    vertical-align:middle;
    margin-right:4px;
    font-weight:400;
  }

  /* Salvar, Limpar e Excluir: quadrados, ícones centralizados e somente ícones. */
  .admin-page .form-actions button,
  .admin-page .form-actions #deleteTourBtn{
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:56px!important;
    min-height:56px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#fff!important;
    font-size:0!important;
    border-radius:8px!important;
    box-sizing:border-box!important;
  }

  .admin-page .form-actions button.primary{
    background:#0876c9!important;
  }

  .admin-page .form-actions button:nth-child(2){
    background:#707b86!important;
    border-color:#707b86!important;
  }

  .admin-page .form-actions #deleteTourBtn{
    background:#e04b4b!important;
    border:1px solid #e04b4b!important;
  }

  .admin-page .form-actions .action-icon{
    width:26px!important;
    height:26px!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#fff!important;
    font-size:0!important;
    line-height:1!important;
  }

  .admin-page .form-actions .action-icon svg{
    width:26px!important;
    height:26px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.4!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  .admin-page .form-actions .action-label{
    display:none!important;
  }
}

/* v36.9 — correção do ícone de excluir e simplificação dos ícones superiores */
@media(max-width:600px){
  .admin-page .form-actions #deleteTourBtn::before{
    content:none!important;
    display:none!important;
  }

  .admin-page .form-actions #deleteTourBtn .action-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:26px!important;
    height:26px!important;
    margin:0!important;
  }

  .admin-page .form-actions #deleteTourBtn .action-icon svg{
    width:26px!important;
    height:26px!important;
    display:block!important;
  }

  .admin-page .admin-title-actions .title-action-icon{
    font-size:20px!important;
    font-weight:400!important;
    margin-right:5px!important;
  }
}

/* v36.12 — ícones finais da tela Admin no smartphone */
@media (max-width:600px){
  /* Novo Cadastro e Voltar: somente texto, sem ícones. */
  .admin-page .admin-title-actions .title-action-icon{
    display:none!important;
  }

  /* Mantém a disposição atual dos botões inferiores. */
  .admin-page .form-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
  }

  .admin-page .form-actions button{
    width:56px!important;
    min-width:56px!important;
    max-width:56px!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:0!important;
    margin:0!important;
    flex:0 0 56px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:0!important;
    line-height:1!important;
  }

  .admin-page .form-actions .action-icon{
    width:26px!important;
    height:26px!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#fff!important;
  }

  .admin-page .form-actions .action-icon svg{
    width:26px!important;
    height:26px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.4!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  .admin-page .form-actions .action-label{
    display:none!important;
  }

  .admin-page .form-actions button.primary{
    background:#0876c9!important;
  }

  .admin-page .form-actions button:nth-child(2){
    background:#707b86!important;
    border-color:#707b86!important;
  }

  .admin-page .form-actions #deleteTourBtn{
    background:#e04b4b!important;
    border-color:#e04b4b!important;
  }

  .admin-page .form-actions #deleteTourBtn::before{
    content:none!important;
    display:none!important;
  }
}

/* v36.14 — lixeira escolhida pelo usuário no botão Excluir (smartphone) */
@media (max-width:600px){
  .admin-page .form-actions #deleteTourBtn .trash-emoji{
    width:26px!important;
    height:26px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
    font-size:24px!important;
    line-height:1!important;
    color:#fff!important;
    filter:none!important;
  }

  .admin-page .form-actions #deleteTourBtn .trash-emoji svg{
    display:none!important;
  }
}

/* v36.13 — correção final dos botões do Admin no smartphone */
@media (max-width:600px){
  .admin-page .form-actions button.primary{
    background:#16a34a!important;
    border-color:#16a34a!important;
    color:#fff!important;
  }
  .admin-page .form-actions button:nth-child(2){
    background:#707b86!important;
    border-color:#707b86!important;
    color:#fff!important;
  }
  .admin-page .form-actions #deleteTourBtn{
    background:#e04b4b!important;
    border-color:#e04b4b!important;
    color:#fff!important;
  }
  .admin-page .form-actions .action-icon{
    color:#fff!important;
  }
  .admin-page .form-actions .action-label{
    display:none!important;
  }
}


/* v36.15 — Botão Fale Conosco na tela inicial */
.home-whatsapp-btn{
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive!important;
  font-weight:800;
}
.home-whatsapp-btn .whatsapp-btn-icon{
  display:none!important;
}


/* v36.16 — ajustes exclusivos do layout PC na tela Admin */
@media (min-width: 769px){
  /* Somente PC: textos dos botões sem negrito */
  .admin-page .admin-title-actions button,
  .admin-page .form-actions button,
  .admin-page #deleteTourBtn{
    font-weight:400!important;
  }

  /* Somente PC: Salvar com fundo verde */
  .admin-page .form-actions button:first-child{
    background-color:#2e9d50!important;
    font-weight:400!important;
  }

  /* Somente PC: excluir passeio somente texto */
  .admin-page #deleteTourBtn .action-icon,
  .admin-page #deleteTourBtn svg,
  .admin-page #deleteTourBtn::before,
  .admin-page #deleteTourBtn::after{
    display:none!important;
    content:none!important;
  }
}


/* v36.17 — restaura ícone de excluir somente no smartphone */
@media (max-width: 768px){
  .admin-page #deleteTourBtn .action-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:26px!important;
    height:26px!important;
    margin:0!important;
  }

  .admin-page #deleteTourBtn .action-icon svg{
    display:block!important;
    width:26px!important;
    height:26px!important;
  }

  /* O ícone de lixeira usado no smartphone volta a ser visível.
     No PC continua oculto pela regra específica de desktop. */
  .admin-page #deleteTourBtn::before,
  .admin-page #deleteTourBtn::after{
    content:none!important;
  }
}


/* v36.18 — lixeira escolhida pelo usuário, somente smartphone */
@media (max-width: 768px){
  .admin-page #deleteTourBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  .admin-page #deleteTourBtn .delete-trash-icon{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:1em!important;
    height:1em!important;
    margin:0!important;
    padding:0!important;
    font-size:24px!important;
    line-height:1!important;
    text-align:center!important;
    flex:0 0 auto!important;
  }

  .admin-page #deleteTourBtn .delete-label{
    display:none!important;
  }
}

@media (min-width: 769px){
  .admin-page #deleteTourBtn .delete-trash-icon{
    display:none!important;
  }
  .admin-page #deleteTourBtn .delete-label{
    display:inline!important;
  }
}


/* v36.19 — abas da tela Admin e padronização dos botões somente no PC */
@media (min-width: 901px){
  /* Abas ocupam a largura da área administrativa. */
  .admin-desktop-tabs{
    display:flex;
    gap:0;
    width:100%;
    margin:0 0 18px;
    border-bottom:1px solid #d6e2eb;
  }

  .admin-desktop-tabs .admin-tab{
    appearance:none;
    border:1px solid #d6e2eb;
    border-bottom:0;
    background:#f5f9fc;
    color:#0c2853;
    min-width:220px;
    height:48px;
    padding:0 22px;
    border-radius:9px 9px 0 0;
    font:inherit;
    font-weight:400;
    cursor:pointer;
  }

  .admin-desktop-tabs .admin-tab.active{
    background:#0876c9;
    color:#fff;
    border-color:#0876c9;
  }

  /* No PC, cada aba ocupa toda a largura disponível. */
  .admin-page .admin-grid{
    display:block!important;
  }

  .admin-page .admin-tab-panel{
    display:none;
    width:100%!important;
  }

  .admin-page .admin-tab-panel.admin-tab-panel-active{
    display:block!important;
  }

  /* Botões da tela Admin com a mesma largura e altura do Novo Cadastro. */
  .admin-page .admin-title-actions button,
  .admin-page .form-actions button{
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    box-sizing:border-box!important;
    margin:0!important;
  }

  .admin-page .admin-title-actions{
    display:flex!important;
    gap:10px!important;
    align-items:center!important;
  }

  .admin-page .form-actions{
    display:flex!important;
    gap:10px!important;
    align-items:center!important;
  }
}

@media (max-width: 900px){
  /* As abas são exclusivas do layout PC. */
  .admin-desktop-tabs{
    display:none!important;
  }
}


/* v36.21 — comportamento definitivo das abas Admin no PC */
@media (min-width: 901px){
  /* O formulário não mantém estado de edição quando a aba Novo Cadastro é escolhida. */
  .admin-page .edit-mode-back-wrap{
    display:none!important;
  }
}


/* v36.22 — respostas dos campos do formulário sem negrito */
@media (min-width: 901px){
  .admin-page #tourForm input,
  .admin-page #tourForm textarea,
  .admin-page #tourForm select,
  .admin-page #tourForm option,
  .admin-page #tourForm .form-control,
  .admin-page #tourForm .form-input{
    font-weight:400!important;
  }
}


/* v36.23 — correção de interação do botão Editar */
@media (min-width: 901px){
  .admin-page #tourList button,
  .admin-page #tourList .edit-btn,
  .admin-page #tourList [data-action="edit"]{
    position:relative;
    z-index:5;
    pointer-events:auto!important;
  }
}


/* v36.25 — edição visível mantendo a aba Eventos selecionada */
@media (min-width: 901px){
  .admin-page #adminEventsPanel.admin-tab-panel-active{display:block!important;}
  .admin-page #adminFormPanel.admin-tab-panel-active{display:block!important;}
}


/* v36.26 — remove aba Novo Cadastro somente no PC */
@media (min-width: 901px){
  .admin-page #adminTabForm{
    display:none!important;
  }
}


/* v36.27 — Admin PC: remove Novo Cadastro e organizar 6 imagens em 3x2 */
@media (min-width: 901px){
  /* Remove o botão de ação Novo Cadastro do cabeçalho somente no PC. */
  .admin-page .admin-title-actions button[onclick*="newTour"]{
    display:none!important;
  }

  /* Grade das seis imagens: 3 por linha, mantendo a largura do formulário. */
  .admin-page #imageInputs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    width:100%!important;
  }

  .admin-page #imageInputs > *{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .admin-page #imageInputs img,
  .admin-page #imageInputs .image-preview,
  .admin-page #imageInputs .image-box{
    max-width:100%!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
}

@media (max-width: 900px){
  /* Smartphone permanece sem alteração. */
  .admin-page #imageInputs{
    grid-template-columns:initial;
  }
}


/* v36.28 — restaura a aba Novo Cadastro no PC */
@media (min-width: 901px){
  .admin-page #adminTabForm{
    display:inline-flex!important;
  }
}


/* v36.29 — centraliza texto da aba Novo Cadastro no PC */
@media (min-width: 901px){
  .admin-page #adminTabForm{
    text-align:center!important;
    justify-content:center!important;
    align-items:center!important;
  }
}

/* v36.30 — PC: YouTube imediatamente abaixo da galeria, sem competir com a descrição.
   A caixa do vídeo usa a mesma largura e a mesma altura da caixa principal de fotos.
   O espaçamento entre as duas caixas é de aproximadamente 0,5 cm.
   Smartphone permanece com comportamento de uma única coluna. */
@media (min-width:901px){
  .tour-grid.has-video{
    grid-template-columns:minmax(330px,1fr) minmax(500px,1.35fr)!important;
    align-items:start!important;
  }

  .tour-grid.has-video .gallery-column{
    grid-column:2;
    grid-row:1;
    min-width:0;
  }

  .tour-grid.has-video .gallery-main{
    width:100%!important;
    aspect-ratio:16 / 9!important;
    height:auto!important;
  }

  .tour-grid.has-video .side-card{
    width:100%!important;
    aspect-ratio:16 / 9!important;
    height:auto!important;
    min-height:0!important;
    margin:18.9px 0 0!important;
    padding:16px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:stretch!important;
    justify-self:stretch!important;
  }

  .tour-grid.has-video .side-card .video{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    flex:1 1 auto!important;
    aspect-ratio:auto!important;
  }
}

@media (max-width:900px){
  .tour-grid.has-video .gallery-column{
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
  }

  .tour-grid.has-video .side-card{
    width:100%!important;
    margin-top:0!important;
  }
}

/* v36.31 — Smartphone: reduz a altura da caixa do YouTube em 25%.
   Somente o layout smartphone é afetado; o layout PC permanece inalterado. */
@media (max-width:900px){
  .tour-grid.has-video .side-card{
    height:349px!important;
    min-height:349px!important;
    max-height:349px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .tour-grid.has-video .side-card .video{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    flex:1 1 auto!important;
    margin:0!important;
  }

  .tour-grid.has-video .side-card .video iframe{
    width:100%!important;
    height:100%!important;
    display:block!important;
  }
}


/* v37 — Indicadores de tráfego administrativo. */
.indicators-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px;
}
.indicators-header h2{margin:0 0 4px}
.indicators-subtitle{margin:0;color:#70869b;font-size:14px}
.indicators-refresh{
  border:1px solid #ccdbe6;
  background:#f5f9fc;
  color:#0c2853;
  border-radius:7px;
  padding:10px 14px;
  cursor:pointer;
  font:inherit;
}
.indicators-refresh:hover{background:#eaf2f8}
.metrics-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.metric-card{
  border:1px solid #dce6ee;
  border-radius:10px;
  background:#fbfdff;
  padding:18px;
  min-height:120px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.metric-label{font-size:14px;font-weight:700;color:#0c2853}
.metric-card strong{font-size:32px;line-height:1.15;color:#0876c9;margin:8px 0 5px}
.metric-card small{font-size:12px;color:#70869b}
.metric-bandwidth strong{font-size:27px}
.metrics-note{margin:18px 0 0;color:#70869b;font-size:12px;line-height:1.5}

@media (min-width:901px){
  .admin-page #adminIndicatorsPanel{width:100%!important}
}

@media (max-width:900px){
  .admin-page #adminIndicatorsPanel{
    display:block!important;
    width:100%!important;
    margin-top:18px!important;
  }
  .admin-page .indicators-header{
    align-items:flex-start;
  }
  .admin-page .indicators-refresh{
    flex:0 0 auto;
  }
  .metrics-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:600px){
  .admin-page #adminIndicatorsPanel{
    margin-top:18px!important;
  }
  .admin-page .indicators-header{
    display:block;
    text-align:center;
  }
  .admin-page .indicators-header h2{
    text-align:center;
  }
  .admin-page .indicators-refresh{
    margin-top:12px;
  }
  .metrics-grid{
    grid-template-columns:1fr;
  }
  .metric-card{
    min-height:105px;
    text-align:center;
  }
}


/* v38 — Gestão Administrativa: Novo cadastro dentro da lista e duplicação de eventos (PC) */
@media (min-width:901px){
  .admin-page .admin-heading-mobile{display:none!important;}
  .admin-page .admin-heading-pc{display:inline!important;}

  /* No PC, o cabeçalho superior deixa de carregar os botões Novo Cadastro/Voltar.
     Eles continuam disponíveis no smartphone, sem alteração de disposição. */
  .admin-page .section-title > .admin-title-actions{display:none!important;}

  .admin-page .events-panel-header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin:0 0 14px!important;
  }
  .admin-page .events-panel-header h2{
    margin:0!important;
  }
  .admin-page .events-new-btn{
    flex:0 0 auto!important;
    width:150px!important;
    min-width:150px!important;
    height:44px!important;
    padding:0 18px!important;
    border:0!important;
    border-radius:7px!important;
    background:#0876c9!important;
    color:#fff!important;
    font:inherit!important;
    font-weight:400!important;
    cursor:pointer!important;
  }
  .admin-page .events-new-btn:hover{background:#0668ae!important;}

  .admin-page #tourList .duplicate-tour-btn,
  .admin-page #tourList .edit-tour-btn{
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  .admin-page #tourList .duplicate-tour-btn svg{
    width:20px!important;
    height:20px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .admin-page #tourList .duplicate-tour-btn{
    background:#eaf2f8!important;
    color:#0c4f80!important;
  }
  .admin-page #tourList .duplicate-tour-btn:hover{
    background:#dcecf7!important;
  }
  .admin-page #tourList .edit-tour-btn{
    background:#edf4f9!important;
  }
}

@media (max-width:900px){
  .admin-page .admin-heading-pc{display:none!important;}
  .admin-page .admin-heading-mobile{display:inline!important;}
  .admin-page .events-panel-header{display:block!important;}
  .admin-page .events-new-btn{display:none!important;}
  .admin-page #tourList .duplicate-tour-btn{display:none!important;}
}

/* v38.1 — Gestão de Eventos: somente duas abas e ações do passeio organizadas */
.admin-desktop-tabs{
  display:flex;
  gap:0;
}

.admin-events-panel .events-panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.events-panel-header h2{
  margin:0;
}

.events-new-btn{
  flex:0 0 auto;
}

.admin-page .tour-row{
  display:flex;
  align-items:center;
  gap:12px;
}

.admin-page .tour-row .tour-name{
  flex:1 1 auto;
  min-width:0;
}

.admin-page .tour-row-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}

.admin-page .tour-row-actions .status-dot{
  flex:0 0 13px;
}

.admin-page .tour-row-actions button{
  width:38px;
  height:38px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.admin-page .tour-row-actions .duplicate-tour-btn svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* O formulário é uma tela de trabalho, não uma aba. */
.admin-page #adminFormPanel.admin-tab-panel-active{
  display:block;
}

@media(max-width:600px){
  .admin-page .tour-row-actions{
    gap:7px;
  }
  .admin-page .tour-row-actions button{
    width:36px;
    height:36px;
  }
}

/* v40 — navegação do formulário e retorno ao site */
.form-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:100%;
}

.form-actions-left{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  flex:0 0 auto;
}

.form-actions .form-back-btn{
  margin-left:auto!important;
  flex:0 0 150px;
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:12px 18px!important;
  border:1px solid #ccdbe6!important;
  border-radius:7px!important;
  background:#fff!important;
  color:#0c2853!important;
  font:inherit!important;
  font-weight:400!important;
  cursor:pointer!important;
}

.form-actions .form-back-btn:hover{
  background:#f1f5f8!important;
}

.admin-site-back-wrap{
  max-width:1200px;
  margin:18px auto 28px;
  padding:0 18px;
  text-align:center;
}

.admin-site-back{
  color:#0868ae;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

/* No PC, Salvar/Limpar/Excluir ficam à esquerda e Voltar à direita. */
@media (min-width:901px){
  .admin-page .form-actions{
    justify-content:space-between!important;
  }
  .admin-page .form-actions-left{
    justify-content:flex-start!important;
  }
}

/* No smartphone, preserva os três botões compactos à esquerda e coloca
   Voltar à direita na mesma linha. */
@media (max-width:900px){
  .admin-page .form-actions{
    justify-content:space-between!important;
    align-items:center!important;
    gap:12px!important;
  }
  .admin-page .form-actions-left{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    flex:0 0 auto!important;
  }
  .admin-page .form-actions .form-back-btn{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:90px!important;
    max-width:none!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:10px 18px!important;
  }
}

/* v41 — Voltar ao Site: somente tela Admin */
@media (min-width: 769px){
  .admin-page .back-to-site{
    font-size:13px!important;
    font-weight:400!important;
    text-align:right!important;
    display:block!important;
    width:100%!important;
    margin-left:auto!important;
  }
}

/* v42 — Voltar ao Site no cabeçalho, alinhado à direita no PC */
@media (min-width:901px){
  .admin-page .admin-header{
    position:relative!important;
  }
  .admin-page .admin-header .admin-site-back{
    position:absolute!important;
    right:5%!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:block!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:400!important;
    text-decoration:underline!important;
    text-underline-offset:2px!important;
    cursor:pointer!important;
  }
}
@media (max-width:900px){
  .admin-page .admin-header .admin-site-back{
    display:none!important;
  }
  .admin-page .admin-site-back-wrap{
    display:block!important;
    width:100%!important;
    margin:24px 0 28px!important;
    padding:0 18px!important;
    text-align:center!important;
  }
}

/* v41.2 — Voltar ao Site alinhado à borda direita do painel de eventos no PC */
.admin-page .admin-site-back-wrap{
  box-sizing:border-box!important;
}
.admin-page .admin-site-back{
  color:inherit!important;
  text-decoration:underline!important;
  font-size:13px!important;
  font-weight:400!important;
  cursor:pointer!important;
  visibility:visible!important;
  opacity:1!important;
  text-underline-offset:2px;
}
@media (min-width:901px){
  .admin-page .admin-site-back-wrap{
    width:calc((100% - 20px) / 2.2)!important;
    margin:24px 0 28px!important;
    padding:0!important;
    text-align:right!important;
  }
  .admin-page .admin-site-back{
    display:inline-block!important;
  }
}
@media (max-width:900px){
  .admin-page .admin-site-back-wrap{
    width:100%!important;
    margin:24px 0 28px!important;
    padding:0 18px!important;
    text-align:center!important;
  }
  .admin-page .admin-site-back{
    display:inline-block!important;
  }
}

/* v42 final override: header link is the desktop source of truth */
@media (min-width:901px){
  .admin-page .admin-header .admin-site-back{
    position:absolute!important;
    right:5%!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    display:block!important;
    text-align:right!important;
    font-size:13px!important;
    font-weight:400!important;
    text-decoration:underline!important;
  }
}

/* v45 — Smartphone: Eventos Cadastrados e Indicadores recolhíveis */
@media (max-width:900px){
  .admin-page .admin-title-actions button[onclick*="newTour"]{
    display:none!important;
  }
  .admin-page .events-panel-header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }
  .admin-page .events-header-actions{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-left:auto!important;
  }
  .admin-page .events-new-btn{
    display:none!important;
  }
  .admin-page .mobile-collapse-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#e9eef3!important;
    color:#173d63!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:400!important;
  }
  .admin-page .mobile-new-tour-btn{
    display:block!important;
    width:fit-content!important;
    min-width:170px!important;
    margin:18px auto 2px!important;
    padding:11px 20px!important;
    border:0!important;
    border-radius:7px!important;
    background:#0876c9!important;
    color:#fff!important;
    font-weight:400!important;
    font-size:15px!important;
  }
  .admin-page .adminEventsPanel.mobile-section-collapsed #tourList,
  .admin-page .adminEventsPanel.mobile-section-collapsed .mobile-new-tour-btn{
    display:none!important;
  }
  .admin-page #adminIndicatorsPanel .indicators-header{
    position:relative!important;
  }
  .admin-page #adminIndicatorsPanel .mobile-collapse-toggle{
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed #indicatorCards,
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-subtitle,
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-refresh{
    display:none!important;
  }
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-header{
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
  }
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-header > div{
    width:100%!important;
  }
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-header h2{
    margin:0!important;
    text-align:center!important;
  }
  .admin-page #adminEventsPanel.mobile-section-collapsed .events-panel-header{
    margin-bottom:0!important;
  }
  .admin-page #adminEventsPanel.mobile-section-collapsed .events-panel-header h2{
    margin:0!important;
  }
  .admin-page #adminFormPanel{
    display:none!important;
  }
  .admin-page #adminFormPanel.admin-tab-panel-active{
    display:block!important;
  }
}
@media (min-width:901px){
  .mobile-collapse-toggle,
  .mobile-new-tour-btn{display:none!important;}
}

/* v46 — refinamentos exclusivos do smartphone na tela Admin */
.admin-mobile-site-back{display:none}

@media (max-width:900px){
  /* Eventos Cadastrados: título centralizado e seta à direita na mesma linha. */
  .admin-page #adminEventsPanel .events-panel-header{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    margin:0!important;
  }
  .admin-page #adminEventsPanel .events-panel-header h2{
    width:100%!important;
    margin:0!important;
    text-align:center!important;
  }
  .admin-page #adminEventsPanel .events-header-actions{
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
  }

  /* Recolhido: somente o título e a seta ficam visíveis. */
  .admin-page #adminEventsPanel.mobile-section-collapsed #tourList,
  .admin-page #adminEventsPanel.mobile-section-collapsed .mobile-new-tour-btn{
    display:none!important;
  }

  /* Indicadores: somente o título e a seta ficam visíveis quando recolhido. */
  .admin-page #adminIndicatorsPanel .indicators-header{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
  }
  .admin-page #adminIndicatorsPanel .indicators-header > div{
    width:100%!important;
  }
  .admin-page #adminIndicatorsPanel .indicators-header h2{
    margin:0!important;
    text-align:center!important;
  }
  .admin-page #adminIndicatorsPanel .mobile-collapse-toggle{
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }

  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-subtitle,
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-refresh,
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .metrics-grid,
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .metrics-note{
    display:none!important;
  }

  /* Indicadores expandidos: métricas em duas colunas, duas linhas. */
  .admin-page #adminIndicatorsPanel:not(.mobile-section-collapsed) .metrics-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .admin-page #adminIndicatorsPanel:not(.mobile-section-collapsed) .metric-card{
    min-width:0!important;
    text-align:center!important;
  }

  /* Voltar ao Site: abaixo de tudo, 1 cm após a caixa de Indicadores e centralizado. */
  .admin-page .admin-header .admin-site-back{
    display:none!important;
  }
  .admin-page .admin-mobile-site-back{
    display:block!important;
    width:100%!important;
    margin-top:1cm!important;
    margin-bottom:20px!important;
    text-align:center!important;
  }
  .admin-page .admin-mobile-site-back a{
    color:#0868ae!important;
    font-size:13px!important;
    font-weight:400!important;
    text-decoration:underline!important;
    text-underline-offset:2px!important;
  }
}

/* PC permanece exatamente como estava. */
@media (min-width:901px){
  .admin-mobile-site-back{display:none!important;}
}



/* v48 — Smartphone: botão Atualizar abaixo do subtítulo dos Indicadores */
@media (max-width: 900px){
  .admin-page #adminIndicatorsPanel .indicators-header{
    display:block!important;
    position:relative!important;
    text-align:center!important;
  }

  .admin-page #adminIndicatorsPanel .indicators-header > div{
    width:100%!important;
    text-align:center!important;
  }

  .admin-page #adminIndicatorsPanel .indicators-header .indicators-subtitle{
    margin-bottom:0!important;
    text-align:center!important;
  }

  .admin-page #adminIndicatorsPanel .indicators-header .indicators-refresh{
    display:block!important;
    width:auto!important;
    margin:1em auto 0 auto!important;
    float:none!important;
    position:static!important;
    text-align:center!important;
  }

  /* A seta continua na mesma linha do título, alinhada à direita. */
  .admin-page #adminIndicatorsPanel .indicators-header .mobile-collapse-toggle{
    position:absolute!important;
    top:0!important;
    right:0!important;
  }
}


/* v49 — Smartphone: Atualizar oculto quando Indicadores estiver recolhido */
@media (max-width: 900px){
  /* Quando recolhido, o botão Atualizar não deve aparecer. */
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-refresh{
    display:none!important;
  }

  /* Quando expandido, Atualizar fica abaixo do subtítulo e centralizado. */
  .admin-page #adminIndicatorsPanel:not(.mobile-section-collapsed) .indicators-refresh{
    display:block!important;
    width:auto!important;
    margin:1em auto 0 auto!important;
    float:none!important;
    position:static!important;
  }

  /* A seta permanece na mesma linha do título Indicadores, à direita. */
  .admin-page #adminIndicatorsPanel .indicators-header .mobile-collapse-toggle{
    position:absolute!important;
    top:50%!important;
    right:0!important;
    transform:translateY(-50%)!important;
  }
}

/* v50 — Smartphone: Indicadores recolhido com a mesma altura de Eventos Cadastrados recolhido */
@media (max-width:900px){
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed{
    height:86px!important;
    min-height:86px!important;
    padding:22px!important;
  }
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-header{
    height:42px!important;
    min-height:42px!important;
  }
}


/* v51 — Smartphone: refinamentos finais da administração
   1) Indicadores: seta na mesma linha do título; Atualizar abaixo do subtítulo.
   2) Remove a observação técnica de visitantes/servidor-CDN no smartphone.
   3) Título Eventos Cadastrados -> Passeios no smartphone.
   4) Remove o botão lateral/Voltar do formulário no smartphone; permanecem os botões de ação à esquerda.
*/
.events-title-mobile{display:none;}
@media (max-width:900px){
  /* Título da caixa de eventos: apenas "Passeios" no smartphone. */
  .admin-page #adminEventsPanel .events-title-pc{display:none!important;}
  .admin-page #adminEventsPanel .events-title-mobile{display:inline!important;}

  /* Indicadores: cabeçalho com título/subtítulo centralizados e seta presa à linha do título. */
  .admin-page #adminIndicatorsPanel .indicators-header{
    position:relative!important;
    display:block!important;
    text-align:center!important;
    min-height:0!important;
    padding-top:0!important;
  }
  .admin-page #adminIndicatorsPanel .indicators-header > div{
    width:100%!important;
    text-align:center!important;
  }
  .admin-page #adminIndicatorsPanel .indicators-header h2{
    margin:0!important;
    text-align:center!important;
    line-height:42px!important;
  }
  .admin-page #adminIndicatorsPanel .indicators-header .mobile-collapse-toggle{
    position:absolute!important;
    right:0!important;
    top:21px!important;
    transform:translateY(-50%)!important;
    z-index:2!important;
  }
  .admin-page #adminIndicatorsPanel .indicators-header .indicators-subtitle{
    margin:0!important;
    text-align:center!important;
  }
  .admin-page #adminIndicatorsPanel:not(.mobile-section-collapsed) .indicators-header .indicators-refresh{
    display:block!important;
    position:static!important;
    float:none!important;
    width:auto!important;
    margin:1em auto 0!important;
  }

  /* Recolhido: somente "Indicadores" e a seta; nenhuma outra ação aparece. */
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-subtitle,
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .indicators-refresh,
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .metrics-grid,
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .metrics-note{
    display:none!important;
  }

  /* A observação técnica não aparece no smartphone. */
  .admin-page #adminIndicatorsPanel .metrics-note{display:none!important;}

  /* O formulário não possui botão lateral à direita no smartphone. */
  .admin-page #adminFormPanel .form-back-btn{display:none!important;}
}
@media (min-width:901px){
  .events-title-pc{display:inline;}
}


/* v53 — Smartphone: nomes dos formulários, fechamento e respostas sem negrito */
.form-title-mobile{display:none;}
.mobile-form-close{display:none;}
@media (max-width:900px){
  .admin-page .form-panel-header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:18px!important;
  }
  .admin-page .form-panel-header h2{
    margin:0!important;
    flex:1 1 auto!important;
  }
  .admin-page .form-title-pc{display:none!important;}
  .admin-page .form-title-mobile{display:inline!important;}
  .admin-page .mobile-form-close{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#173d63!important;
    font-size:30px!important;
    line-height:1!important;
    font-weight:400!important;
    cursor:pointer!important;
  }
  .admin-page #tourForm input,
  .admin-page #tourForm textarea,
  .admin-page #tourForm select,
  .admin-page #tourForm option,
  .admin-page #tourForm .form-control,
  .admin-page #tourForm .form-input{
    font-weight:400!important;
  }
}
@media (min-width:901px){
  .admin-page .form-title-pc{display:inline;}
}


/* Kaukito Turismo — controle sutil de recolher/expandir no smartphone */
@media (max-width: 767px) {
  .collapse-toggle,
  .expand-toggle,
  .section-toggle,
  .toggle-section,
  button[data-toggle-section],
  button[aria-expanded] {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #7a858f !important;
  }

  .collapse-toggle::before,
  .expand-toggle::before,
  .section-toggle::before,
  .toggle-section::before,
  button[data-toggle-section]::before {
    content: "⌄";
    font-size: 25px;
    line-height: 1;
    font-weight: 600;
    color: #7a858f;
    display: block;
    transform: translateY(-2px);
  }

  button[aria-expanded="true"]::before {
    content: "⌃";
  }

  .collapse-toggle:hover,
  .expand-toggle:hover,
  .section-toggle:hover,
  .toggle-section:hover,
  button[data-toggle-section]:hover,
  button[aria-expanded]:hover {
    background: transparent !important;
  }
}

/* V56 — Smartphone: seta sutil aprovada + botão Duplicar visível */
@media (max-width: 900px){
  /* O duplicar fica imediatamente à direita do Editar. */
  .admin-page #tourList .tour-row-actions .duplicate-tour-btn{
    display:inline-flex!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }

  /* Controle de expandir/recolher: discreto, sem círculo/fundo. */
  .admin-page #adminEventsPanel .mobile-collapse-toggle,
  .admin-page #adminIndicatorsPanel .mobile-collapse-toggle{
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:transparent!important;
    font-size:0!important;
    line-height:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .admin-page #adminEventsPanel .mobile-collapse-toggle::before,
  .admin-page #adminIndicatorsPanel .mobile-collapse-toggle::before{
    content:"⌄";
    display:block!important;
    color:#7b8792!important;
    font-size:22px!important;
    line-height:1!important;
    font-family:Arial, sans-serif!important;
    font-weight:400!important;
    transform:translateY(-1px)!important;
  }

  .admin-page #adminEventsPanel .mobile-collapse-toggle[aria-expanded="true"]::before,
  .admin-page #adminIndicatorsPanel .mobile-collapse-toggle[aria-expanded="true"]::before{
    content:"⌃";
  }

  .admin-page #adminEventsPanel .mobile-collapse-toggle:hover,
  .admin-page #adminIndicatorsPanel .mobile-collapse-toggle:hover,
  .admin-page #adminEventsPanel .mobile-collapse-toggle:focus,
  .admin-page #adminIndicatorsPanel .mobile-collapse-toggle:focus{
    background:transparent!important;
    box-shadow:none!important;
    outline:none!important;
  }
}

/* V59 — PC: Atualizar com a mesma altura de Novo passeio */
@media (min-width: 901px){
  .admin-page .indicators-refresh,
  .admin-page button.indicators-refresh,
  .admin-page #refreshIndicators,
  .admin-page button[id*="refresh"]{
    min-height: 42px !important;
    height: 42px !important;
    box-sizing: border-box !important;
  }

  .admin-page .new-tour-btn,
  .admin-page button.new-tour-btn,
  .admin-page #newTourBtn{
    min-height: 42px !important;
    height: 42px !important;
    box-sizing: border-box !important;
  }
}


/* V61 — PC: Gestão Administrativa no tamanho de título cadastral */
@media (min-width: 901px){
  .admin-page .section-title .eyebrow{
    font-size:24px!important;
    letter-spacing:0!important;
    font-weight:700!important;
  }
}

/* V64 — PC: Voltar ao Site no cabeçalho, alinhado à direita */
.admin-pc-site-back{display:none;}
@media (min-width:901px){
  .admin-header{position:relative!important;}
  .admin-pc-site-back{
    display:block!important;
    position:absolute!important;
    right:5%!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:400!important;
    text-decoration:underline!important;
    text-underline-offset:2px!important;
    white-space:nowrap!important;
    z-index:5!important;
  }
}

/* V65 — PC: distribuição dos campos do formulário */
@media (min-width:901px){
  .pc-form-row{
    display:grid!important;
    gap:12px!important;
    width:100%!important;
  }
  .pc-timing-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .pc-payment-row{
    grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,2fr)!important;
  }
  .pc-form-row > label{
    min-width:0!important;
  }
  .pc-form-row > label input,
  .pc-form-row > label select{
    width:100%!important;
    box-sizing:border-box!important;
  }
}

/* V66 — PC: Ideal para e Experiência na mesma linha, 50% / 50% */
@media (min-width:901px){
  .pc-ideal-experience-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .pc-ideal-experience-row > label{
    min-width:0!important;
  }
  .pc-ideal-experience-row > label input{
    width:100%!important;
    box-sizing:border-box!important;
  }
}

/* V67 — PC: indicadores completamente centralizados */
@media (min-width:901px){
  .metrics-grid .metric-card{
    align-items:center!important;
    text-align:center!important;
  }
  .metrics-grid .metric-card .metric-label,
  .metrics-grid .metric-card strong,
  .metrics-grid .metric-card small{
    width:100%!important;
    text-align:center!important;
    display:block!important;
  }
}

/* V68 — Smartphone: Passeios e Indicadores como botões de expansão */
.mobile-section-title-button{display:none;}
@media(max-width:900px){
  .events-panel-header .mobile-collapse-toggle,
  .indicators-header > .mobile-collapse-toggle{
    display:none!important;
  }
  .events-panel-header h2,
  .indicators-header h2{
    width:100%!important;
    margin:0!important;
  }
  .mobile-section-title-button{
    display:flex!important;
    width:100%!important;
    min-height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    padding:0 42px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:#173d63!important;
    font:inherit!important;
    font-weight:700!important;
    cursor:pointer!important;
  }
  .mobile-section-title-text{
    display:block!important;
    text-align:center!important;
  }
  .mobile-section-title-arrow{
    position:absolute!important;
    right:4px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:30px!important;
    height:30px!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:400!important;
  }
  .events-panel-header,
  .indicators-header{
    position:relative!important;
  }
  .indicators-header > div{
    width:100%!important;
  }
}

/* V69 — Smartphone: Saída, Retorno e Duração na mesma linha, 3 partes iguais */
@media(max-width:900px){
  .pc-timing-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .pc-timing-row > label{
    min-width:0!important;
  }
  .pc-timing-row > label input{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

/* V70 — Smartphone */
@media(max-width:900px){
  /* Valor por pessoa + Parcelamento: 50% / 50% */
  .mobile-price-installments-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .mobile-price-installments-row > label{
    min-width:0!important;
  }
  .mobile-price-installments-row input,
  .mobile-price-installments-row select{
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Títulos dos formulários centralizados na própria linha */
  .form-panel-header{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .form-panel-header h2{
    width:100%!important;
    text-align:center!important;
    margin:0!important;
  }
  .form-panel-header .mobile-form-close{
    position:absolute!important;
    right:0!important;
  }

  /* Retirar Gestão de Eventos da tela mobile */
  .admin-heading-mobile{
    display:none!important;
  }

  /* Passeios e Indicadores continuam clicáveis, mas visualmente são apenas texto.
     Não exibir seta/ícone. */
  .mobile-section-title-button{
    display:block!important;
    min-height:42px!important;
    width:100%!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#000!important;
    font:inherit!important;
    font-weight:inherit!important;
    text-align:center!important;
    cursor:pointer!important;
  }
  .mobile-section-title-text{
    display:block!important;
    color:#000!important;
    text-align:center!important;
  }
  .mobile-section-title-arrow{
    display:none!important;
  }
}

/* V71 — Smartphone: correção final dos títulos e controles */
@media(max-width:900px){
  /* Retira definitivamente o título "Gestão de Eventos" */
  .admin-heading-mobile{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
  }

  /* Os textos Passeios e Indicadores continuam clicáveis,
     mas nenhum ícone/seta deve aparecer. */
  .mobile-section-title-button .mobile-section-title-arrow,
  .mobile-section-title-arrow,
  .events-panel-header .mobile-collapse-toggle,
  .indicators-header .mobile-collapse-toggle,
  .events-header-actions .mobile-collapse-toggle{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  .mobile-section-title-button{
    display:block!important;
    position:relative!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:#000!important;
    text-align:center!important;
  }

  .mobile-section-title-text{
    display:block!important;
    color:#000!important;
    text-align:center!important;
  }
}

/* V72 — Smartphone: remover qualquer seta/ícone dos títulos Passeios e Indicadores */
@media (max-width: 900px) {
  /* Controles visuais de expandir/recolher */
  .mobile-section-title-button .mobile-section-title-arrow,
  .mobile-section-title-button::before,
  .mobile-section-title-button::after,
  .mobile-section-title-arrow,
  .mobile-section-title-arrow::before,
  .mobile-section-title-arrow::after,
  .mobile-collapse-toggle,
  .mobile-collapse-toggle::before,
  .mobile-collapse-toggle::after,
  .collapse-toggle,
  .collapse-toggle::before,
  .collapse-toggle::after,
  .section-toggle,
  .section-toggle::before,
  .section-toggle::after {
    display: none !important;
    visibility: hidden !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  /* O título permanece somente como texto clicável */
  .mobile-section-title-button {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    color: #000 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  .mobile-section-title-text {
    display: block !important;
    color: #000 !important;
    text-align: center !important;
  }
}

/* V73 — PC only: YouTube 50% | Valor por pessoa 30% | Parcelamento 20% */
@media (min-width:901px){
  .pc-payment-row > .mobile-price-installments-row{
    display:contents!important;
  }
  .pc-payment-row{
    grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,2fr)!important;
  }
  .pc-payment-row > label{
    min-width:0!important;
  }
  .pc-payment-row > label input,
  .pc-payment-row > label select{
    width:100%!important;
    box-sizing:border-box!important;
  }
}

/* V74 — Smartphone: espaçamento entre Gestão Administrativa e Passeios */
@media (max-width:900px){
  .admin-header + .admin-content{
    margin-top: 24px !important;
  }
}

/* V75 — Smartphone: Gestão Administrativa com o mesmo tamanho de fonte de Passeios */
@media (max-width:900px){
  .admin-header .admin-title,
  .admin-header h1,
  .admin-header .section-title{
    font-size: 30px !important;
  }
}

/* V75 — correção: o texto Gestão Administrativa é o .eyebrow */
@media (max-width:900px){
  .section-title .eyebrow{
    font-size:30px !important;
    line-height:1.2 !important;
  }
}

/* V76 — Smartphone: refinamento do título e espaçamento */
@media (max-width:900px){
  /* Gestão Administrativa: 4px menor que os 30px anteriores */
  .admin-page .section-title .eyebrow{
    font-size:26px !important;
    line-height:1.2 !important;
  }

  /* Mesmo respiro vertical usado entre os cards Passeios e Indicadores */
  .admin-page .section-title{
    margin-bottom:20px !important;
  }
  .admin-page .admin-grid{
    gap:20px !important;
  }
}

/* V77 — Smartphone: Gestão Administrativa em 24px */
@media (max-width:900px){
  .admin-page .section-title .eyebrow{
    font-size:24px !important;
  }
}

/* V78 — Smartphone: reduzir o espaço vertical após Gestão Administrativa */
@media (max-width:900px){
  .admin-page .section-title{
    margin-bottom:0 !important;
  }
  /* O h1 contém apenas o título de Gestão de Eventos, oculto no smartphone.
     Removê-lo do fluxo elimina o espaço vazio abaixo de Gestão Administrativa. */
  .admin-page .section-title h1{
    display:none !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* V79 — Smartphone: ações do formulário em 3 terços */
@media (max-width:900px){
  .admin-page .form-actions{
    width:100% !important;
    display:block !important;
  }

  .admin-page .form-actions-left{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:10px !important;
    align-items:stretch !important;
  }

  .admin-page .form-actions-left > button{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    padding:8px 6px !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
  }

  .admin-page .form-actions-left > button:nth-child(1){
    grid-column:1 !important;
  }

  .admin-page .form-actions-left > button:nth-child(2){
    grid-column:2 !important;
  }

  .admin-page .form-actions-left > button:nth-child(3){
    grid-column:3 !important;
  }

  .admin-page .form-actions .action-label{
    display:inline !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1 !important;
  }

  .admin-page .form-actions .action-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:22px !important;
    height:22px !important;
    margin:0 !important;
    flex:0 0 22px !important;
  }

  .admin-page .form-actions .action-icon svg{
    width:22px !important;
    height:22px !important;
  }

  .admin-page .form-actions #deleteTourBtn .delete-label{
    display:inline !important;
    width:auto !important;
    height:auto !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1 !important;
  }

  .admin-page .form-actions #deleteTourBtn .delete-trash-icon{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:22px !important;
    height:22px !important;
    margin:0 !important;
    flex:0 0 22px !important;
  }

  /* No Novo Passeio, o botão Excluir continua oculto: o 3º terço permanece vazio. */
  .admin-page .form-actions #deleteTourBtn[style*="display:none"]{
    display:none !important;
  }
}

/* V80 — Smartphone: correção do botão Excluir e peso da fonte */
@media (max-width:900px){
  .admin-page .form-actions-left > button{
    font-weight:400 !important;
    overflow:hidden !important;
  }

  .admin-page .form-actions-left > button .action-label{
    font-weight:400 !important;
  }

  .admin-page .form-actions-left > #deleteTourBtn{
    grid-column:3 !important;
    flex:initial !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
  }

  .admin-page .form-actions-left > #deleteTourBtn .delete-trash-icon{
    position:static !important;
    flex:0 0 22px !important;
    width:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    height:22px !important;
    font-size:20px !important;
    line-height:1 !important;
    overflow:hidden !important;
  }

  .admin-page .form-actions-left > #deleteTourBtn .delete-label{
    display:inline !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 29px) !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-weight:400 !important;
    font-size:15px !important;
    line-height:1 !important;
  }

  .admin-page .form-actions-left > button.primary .action-label{
    font-weight:400 !important;
  }
}

/* V81 — PC: botões do formulário com o mesmo estilo visual do smartphone */
@media (min-width:901px){
  .admin-page .form-actions-left{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
  }

  .admin-page .form-actions-left > button{
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    height:56px !important;
    min-height:56px !important;
    padding:8px 18px !important;
    border-radius:8px !important;
    color:#fff !important;
    font-weight:400 !important;
    font-size:15px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  /* Salvar — mesmo verde do smartphone */
  .admin-page .form-actions-left > button.primary{
    width:auto !important;
    margin-top:0 !important;
    background:#16a34a !important;
    border:1px solid #16a34a !important;
    color:#fff !important;
  }

  /* Limpar — mesmo cinza do smartphone */
  .admin-page .form-actions-left > button:nth-child(2){
    background:#707b86 !important;
    border:1px solid #707b86 !important;
    color:#fff !important;
  }

  /* Excluir — mesmo vermelho e ícone do smartphone */
  .admin-page .form-actions-left > button#deleteTourBtn{
    background:#e04b4b !important;
    border:1px solid #e04b4b !important;
    color:#fff !important;
  }

  .admin-page .form-actions-left .action-icon{
    width:22px !important;
    height:22px !important;
    flex:0 0 22px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    color:#fff !important;
  }

  .admin-page .form-actions-left .action-icon svg{
    width:22px !important;
    height:22px !important;
    display:block !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2.4 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .admin-page .form-actions-left #deleteTourBtn .delete-trash-icon{
    width:22px !important;
    height:22px !important;
    flex:0 0 22px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    font-size:20px !important;
    line-height:1 !important;
  }

  .admin-page .form-actions-left .action-label,
  .admin-page .form-actions-left #deleteTourBtn .delete-label{
    display:inline !important;
    font-weight:400 !important;
    font-size:15px !important;
    line-height:1 !important;
  }
}

/* V82 — Smartphone: botões Salvar/Limpar/Excluir com a mesma altura de Novo Passeio */
@media (max-width:900px){
  .admin-page .mobile-new-tour-btn{
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    box-sizing:border-box !important;
    padding:11px 20px !important;
  }

  .admin-page .form-actions-left > button{
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    box-sizing:border-box !important;
  }
}

/* V83 — Smartphone: Excluir com a mesma altura de Salvar */
@media (max-width:900px){
  .admin-page .form-actions-left > #deleteTourBtn{
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    box-sizing:border-box !important;
  }
}

/* V84 — PC: botões Salvar, Limpar e Excluir com a mesma altura de Novo Passeio */
@media (min-width:901px){
  .admin-page .form-actions-left > button,
  .admin-page .form-actions-left > button#deleteTourBtn{
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    box-sizing:border-box !important;
  }
}

/* V85 — PC + Smartphone: ON/OFF, duplicar e excluir diretamente na lista de passeios */
.status-toggle{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:30px!important;
  min-height:30px!important;
  padding:3px!important;
  border:0!important;
  border-radius:999px!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
}
.status-toggle.on{background:#22a447!important;justify-content:flex-end!important;}
.status-toggle.off{background:#d64545!important;justify-content:flex-start!important;}
.status-toggle-knob{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 1px 3px rgba(0,0,0,.25)!important;
}
.status-toggle-label{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:700!important;
  pointer-events:none!important;
}
.status-toggle.on .status-toggle-label{left:7px!important;}
.status-toggle.off .status-toggle-label{right:7px!important;}

.delete-list-tour-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:7px!important;
  background:#e04b4b!important;
  color:#fff!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
.delete-list-tour-btn span{
  font-size:18px!important;
  line-height:1!important;
}
.delete-list-tour-btn:hover{filter:brightness(.94)!important;}

@media (max-width:900px){
  .admin-page #tourList .tour-row-actions{
    gap:6px!important;
  }
  .admin-page #tourList .status-toggle{
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    height:30px!important;
  }
  .admin-page #tourList .delete-list-tour-btn{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:36px!important;
  }
}

@media (min-width:901px){
  .admin-page #tourList .tour-row-actions{
    gap:8px!important;
  }
}

/* V86 — PC + Smartphone: reduzir discretamente os controles da lista */
.status-toggle{
  width:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  height:26px!important;
  min-height:26px!important;
  padding:2px!important;
}
.status-toggle-knob{
  width:20px!important;
  height:20px!important;
  flex-basis:20px!important;
}
.status-toggle-label{
  font-size:9px!important;
}
.status-toggle.on .status-toggle-label{left:6px!important;}
.status-toggle.off .status-toggle-label{right:6px!important;}

.delete-list-tour-btn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
}
.delete-list-tour-btn span{
  font-size:15px!important;
}

@media (max-width:900px){
  .admin-page #tourList .status-toggle{
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:26px!important;
  }
  .admin-page #tourList .delete-list-tour-btn{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
  }
}

/* V87 — PC + Smartphone: Editar e Duplicar com o mesmo tamanho de Excluir */
.edit-tour-btn,
.duplicate-tour-btn,
.delete-list-tour-btn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.edit-tour-btn svg,
.duplicate-tour-btn svg{
  width:15px!important;
  height:15px!important;
}

@media (max-width:900px){
  .admin-page #tourList .edit-tour-btn,
  .admin-page #tourList .duplicate-tour-btn,
  .admin-page #tourList .delete-list-tour-btn{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
  }
}

/* V88 — Ícone Duplicar: dois quadrados sobrepostos */
.duplicate-tour-btn svg{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* V90 — PC + Smartphone: Duplicar com exatamente o mesmo tamanho de Excluir */
.edit-tour-btn,
.duplicate-tour-btn,
.delete-list-tour-btn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
}

@media (max-width:900px){
  .admin-page #tourList .duplicate-tour-btn,
  .admin-page #tourList .delete-list-tour-btn{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
  }
}

/* V91 — Correção definitiva: Editar, Duplicar e Excluir com o mesmo box */
#tourList .edit-tour-btn,
#tourList .duplicate-tour-btn,
#tourList .delete-list-tour-btn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  flex:0 0 30px!important;
  overflow:hidden!important;
}

#tourList .edit-tour-btn svg,
#tourList .duplicate-tour-btn svg{
  display:block!important;
  width:15px!important;
  height:15px!important;
  max-width:15px!important;
  max-height:15px!important;
  box-sizing:border-box!important;
  flex:none!important;
}

#tourList .delete-list-tour-btn span{
  display:block!important;
  font-size:15px!important;
  line-height:15px!important;
  width:15px!important;
  height:15px!important;
}

/* V92 — Correção final dos botões da lista: Duplicar 30x30 e lixeira centralizada */
#tourList .tour-row-actions > .duplicate-tour-btn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  flex:0 0 30px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

#tourList .tour-row-actions > .edit-tour-btn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  flex:0 0 30px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

#tourList .tour-row-actions > .delete-list-tour-btn{
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  flex:0 0 30px!important;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

#tourList .tour-row-actions > .delete-list-tour-btn > span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:15px!important;
  height:15px!important;
  margin:0!important;
  padding:0!important;
  line-height:15px!important;
  text-align:center!important;
  transform:none!important;
}

#tourList .tour-row-actions > .duplicate-tour-btn > svg{
  display:block!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  max-width:15px!important;
  max-height:15px!important;
  margin:0!important;
  padding:0!important;
  flex:0 0 15px!important;
}

/* V93 — somente PC: aumentar discretamente a altura da imagem da tela inicial */
@media (min-width:901px){
  .hero.hero-art{
    height:190px!important;
    aspect-ratio:auto!important;
  }
  .hero.hero-art .hero-art-image{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* V94 — PC: mostrar a arte inteira, sem corte e sem distorção */
@media (min-width:901px){
  .hero.hero-art{
    width:100%!important;
    height:auto!important;
    aspect-ratio:2048 / 494!important;
    overflow:hidden!important;
  }
  .hero.hero-art .hero-art-image{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* V95 — Smartphone: Salvar, Limpar e Excluir exatamente 30x30 */
@media (max-width:900px){
  .admin-page .form-actions-left > #saveTourBtn,
  .admin-page .form-actions-left > #clearTourBtn,
  .admin-page .form-actions-left > #deleteTourBtn{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    flex:0 0 30px!important;
    box-sizing:border-box!important;
    padding:0!important;
    margin:0!important;
  }
}

/* V96 — Smartphone: botões da lista Editar, Duplicar e Excluir exatamente 30x30 */
@media (max-width:900px){
  #tourList .tour-row-actions .edit-tour-btn,
  #tourList .tour-row-actions .duplicate-tour-btn,
  #tourList .tour-row-actions .delete-list-tour-btn,
  .tour-row-actions .edit-tour-btn,
  .tour-row-actions .duplicate-tour-btn,
  .tour-row-actions .delete-list-tour-btn{
    display:flex!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    flex:0 0 30px!important;
    box-sizing:border-box!important;
    padding:0!important;
    margin:0!important;
    border-radius:8px!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }

  #tourList .tour-row-actions .edit-tour-btn svg,
  #tourList .tour-row-actions .duplicate-tour-btn svg,
  .tour-row-actions .edit-tour-btn svg,
  .tour-row-actions .duplicate-tour-btn svg{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    min-height:15px!important;
    max-width:15px!important;
    max-height:15px!important;
    margin:0!important;
  }

  #tourList .tour-row-actions .delete-list-tour-btn > span,
  .tour-row-actions .delete-list-tour-btn > span{
    width:15px!important;
    height:15px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
  }
}

/* V97 — Smartphone: força física do botão Duplicar para 30x30 */
@media (max-width:900px){
  .admin-page #tourList .tour-row-actions button.duplicate-tour-btn{
    inline-size:30px!important;
    min-inline-size:30px!important;
    max-inline-size:30px!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    block-size:30px!important;
    min-block-size:30px!important;
    max-block-size:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    aspect-ratio:1 / 1!important;
    flex:0 0 30px!important;
    flex-basis:30px!important;
    align-self:center!important;
    position:relative!important;
    transform:none!important;
    zoom:1!important;
    box-sizing:border-box!important;
    padding:0!important;
    border-width:0!important;
    overflow:hidden!important;
  }

  .admin-page #tourList .tour-row-actions button.duplicate-tour-btn svg{
    inline-size:15px!important;
    block-size:15px!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    max-width:15px!important;
    min-height:15px!important;
    max-height:15px!important;
    flex:0 0 15px!important;
    position:static!important;
    transform:none!important;
    margin:0!important;
  }
}

/* V98 — Garantia final no smartphone para os botões da lista */
@media (max-width:900px){
  #tourList .duplicate-tour-btn,
  #tourList .edit-tour-btn,
  #tourList .delete-list-tour-btn{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    box-sizing:border-box!important;
    flex:0 0 30px!important;
  }
}

/* V99 — Indicadores: gráficos de acessos */
.metrics-charts{
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:18px;
  margin-top:20px;
}
.metrics-chart-card{
  background:#f8fbfd;
  border:1px solid #e1eaf0;
  border-radius:10px;
  padding:18px;
  min-width:0;
}
.metrics-chart-card h3{
  margin:0;
  font-size:16px;
  color:#263746;
}
.metrics-chart-subtitle{
  margin:4px 0 18px;
  color:#71869a;
  font-size:12px;
}
.bar-chart{
  height:230px;
  display:flex;
  align-items:stretch;
  gap:7px;
  padding:0 4px;
}
.bar-chart-column{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
}
.bar-chart-value{
  font-size:10px;
  color:#526b80;
  min-height:16px;
  white-space:nowrap;
}
.bar-chart-bar-wrap{
  width:100%;
  height:175px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.bar-chart-bar{
  width:72%;
  min-height:3px;
  background:#0876c9;
  border-radius:5px 5px 2px 2px;
  transition:height .25s ease;
}
.bar-chart-label{
  margin-top:8px;
  font-size:10px;
  color:#647b8f;
}
.device-chart{
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:28px;
}
.device-chart-row{width:100%}
.device-chart-label{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  color:#263746;
  font-size:13px;
}
.device-chart-label span{font-size:16px}
.device-chart-label strong{font-weight:800}
.device-chart-label em{
  margin-left:auto;
  font-style:normal;
  font-size:12px;
  color:#647b8f;
}
.device-chart-track{
  height:14px;
  background:#e6edf2;
  border-radius:99px;
  overflow:hidden;
}
.device-chart-fill{
  height:100%;
  min-width:3px;
  background:#0876c9;
  border-radius:99px;
  transition:width .25s ease;
}
@media(max-width:900px){
  .metrics-charts{
    grid-template-columns:1fr;
    gap:14px;
  }
  .bar-chart{height:200px;gap:3px}
  .bar-chart-bar-wrap{height:145px}
  .bar-chart-value{font-size:9px}
  .bar-chart-label{font-size:9px}
}

/* V100 — Indicadores: títulos centralizados em PC e smartphone */
.metrics-chart-card h3,
.metrics-chart-subtitle{
  text-align:center!important;
}
.metrics-most-wanted-card{
  grid-column:1 / -1;
}
.horizontal-tour-chart{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:4px 2px 2px;
}
.horizontal-tour-row{
  display:grid;
  grid-template-columns:minmax(170px, 30%) minmax(0, 1fr) 52px;
  align-items:center;
  gap:10px;
}
.horizontal-tour-name{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.horizontal-tour-name span{
  width:22px;
  flex:0 0 22px;
  text-align:right;
  color:#708397;
  font-size:11px;
}
.horizontal-tour-name strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#263746;
  font-size:12px;
}
.horizontal-tour-track{
  height:18px;
  background:#e6edf2;
  border-radius:3px;
  overflow:hidden;
}
.horizontal-tour-fill{
  height:100%;
  min-width:3px;
  background:#0876c9;
  border-radius:3px;
  transition:width .25s ease;
}
.horizontal-tour-value{
  text-align:right;
  color:#263746;
  font-size:12px;
  white-space:nowrap;
}
.horizontal-tour-chart-empty{
  text-align:center;
  color:#71869a;
  padding:28px 10px;
  font-size:13px;
}
@media(max-width:900px){
  .metrics-most-wanted-card{
    grid-column:auto;
  }
  .horizontal-tour-row{
    grid-template-columns:minmax(125px, 34%) minmax(0,1fr) 42px;
    gap:7px;
  }
  .horizontal-tour-name span{
    width:18px;
    flex-basis:18px;
    font-size:10px;
  }
  .horizontal-tour-name strong,
  .horizontal-tour-value{
    font-size:11px;
  }
  .horizontal-tour-track{
    height:15px;
  }
}

/* V105 — Smartphone: ao recolher Indicadores, esconder todos os gráficos.
   No PC o comportamento permanece inalterado. */
@media (max-width:900px){
  .admin-page #adminIndicatorsPanel.mobile-section-collapsed .metrics-charts{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
}

/* V109 — tipografia pública igual à usada no cabeçalho administrativo */
.nav a,
.nav a span,
.tour-description h2{
  font-family:Arial,Helvetica,sans-serif!important;
}

/* V110 — tipografia pública: Fale conosco e Faça sua reserva */
.fale-conosco,
.contact-link,
.reserve-button,
.btn-reserva,
a[href*="reserva"],
button[id*="reserva"],
button[class*="reserva"]{
  font-family:Arial,Helvetica,sans-serif!important;
}


/* V112 — Seletor de idioma no canto inferior direito da tela inicial */
.language-switcher-home{
  position:fixed;
  right:24px;
  bottom:20px;
  display:flex;
  align-items:center;
  gap:6px;
  z-index:9999;
}
.language-switcher-home .language-btn{
  width:auto;
  min-width:54px;
  height:32px;
  padding:0 8px;
  border:1px solid #ffffff44;
  border-radius:6px;
  background:transparent;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px;
  line-height:1;
  cursor:pointer;
  opacity:.7;
}
.language-switcher-home .language-btn.active{
  background:#f5b817;
  border-color:#f5b817;
  opacity:1;
}
@media(max-width:700px){
  .language-switcher-home{
    right:12px;
    bottom:12px;
    gap:4px;
  }
  .language-switcher-home .language-btn{
    min-width:50px;
    height:30px;
    padding:0 7px;
    font-size:13px;
  }
}

/* V114 — Bandeiras nos botões de idioma */
.language-flag{
  width:20px;
  height:auto;
  max-height:15px;
  object-fit:contain;
  vertical-align:middle;
  display:inline-block;
  margin-right:3px;
}
.language-switcher-home .language-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:2px;
}

/* V115 — Seletor de idioma com as bandeiras fornecidas, sem texto */
.language-switcher-home .language-btn{
  width:42px;
  min-width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.65;
  overflow:hidden;
}
.language-switcher-home .language-btn.active{
  background:transparent;
  border:2px solid #f5b817;
  opacity:1;
}
.language-switcher-home .language-flag{
  width:36px;
  height:36px;
  max-height:none;
  margin:0;
  display:block;
  object-fit:cover;
  border-radius:50%;
}
@media(max-width:700px){
  .language-switcher-home .language-btn{
    width:40px;
    min-width:40px;
    height:40px;
  }
  .language-switcher-home .language-flag{
    width:34px;
    height:34px;
  }
}

/* V119 — idioma: preservar capitalização natural no conteúdo público */
.public-site,
.public-site *,
.public-content,
.public-content *,
.tour-public,
.tour-public *,
.nav-public,
.nav-public * {
  text-transform: none !important;
}

/* V120 — preservar o nome comercial real dos passeios */
.tour-name,
.passeio-name,
[data-tour-name] {
  text-transform: none !important;
}

/* V121 — todos os passeios dentro de um único dropdown */
.nav{
  overflow:visible;
}
.tour-dropdown{
  position:relative;
  flex:0 0 auto;
  height:100%;
}
.tour-dropdown-toggle{
  height:100%;
  min-width:150px;
  margin:0 !important;
  padding:10px 18px !important;
  border:0 !important;
  border-right:1px solid #ffffff22 !important;
  border-radius:0 !important;
  background:#063d70 !important;
  color:#fff !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:inherit;
  font-weight:700;
  cursor:pointer;
}
.tour-dropdown-toggle:hover,
.tour-dropdown.active .tour-dropdown-toggle,
.tour-dropdown.open .tour-dropdown-toggle{
  background:#f5b817 !important;
  color:#082d56 !important;
}
.tour-dropdown-arrow{
  font-size:20px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .15s ease;
}
.tour-dropdown.open .tour-dropdown-arrow{
  transform:rotate(180deg) translateY(1px);
}
.tour-dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:280px;
  max-width:420px;
  background:#fff;
  border:1px solid #d8e2ea;
  border-radius:0 0 10px 10px;
  box-shadow:0 8px 22px #0002;
  padding:6px 0;
  display:none;
  z-index:1000;
}
.tour-dropdown.open .tour-dropdown-menu{
  display:block;
}
.tour-dropdown-item{
  width:100%;
  min-height:48px;
  margin:0 !important;
  padding:10px 18px !important;
  border:0 !important;
  border-bottom:1px solid #e6edf2 !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#173555 !important;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  font-family:inherit;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
.tour-dropdown-item:last-child{
  border-bottom:0 !important;
}
.tour-dropdown-item:hover,
.tour-dropdown-item.active{
  background:#f5b817 !important;
  color:#082d56 !important;
}
.tour-dropdown-empty{
  padding:14px 18px;
  color:#667789;
  font-size:14px;
  white-space:nowrap;
}
@media(max-width:900px){
  .tour-dropdown-toggle{
    min-width:145px;
  }
  .tour-dropdown-menu{
    min-width:250px;
    max-width:calc(100vw - 24px);
  }
}
@media(max-width:600px){
  .tour-dropdown-toggle{
    min-width:135px;
    padding:10px 14px !important;
  }
  .tour-dropdown-menu{
    position:fixed;
    top:auto;
    left:12px;
    right:12px;
    min-width:0;
    max-width:none;
    border-radius:10px;
  }
}

/* V122 — Dropdown de passeios otimizado para smartphone */
@media(max-width:600px){
  .nav{
    height:54px;
    padding-left:0;
    padding-right:0;
    overflow:visible;
    width:100%;
    display:flex;
  }

  .nav #navHome{
    min-width:0 !important;
    width:50%;
    flex:1 1 50%;
    padding:8px 10px;
    font-size:15px;
    white-space:nowrap;
  }

  .nav .tour-dropdown{
    width:50%;
    flex:1 1 50%;
    min-width:0;
    height:54px;
  }

  .nav .tour-dropdown-toggle{
    width:100%;
    min-width:0;
    height:54px;
    padding:8px 10px !important;
    font-size:15px;
    white-space:nowrap;
  }

  .nav .tour-dropdown-arrow{
    font-size:18px;
  }

  .nav .tour-dropdown-menu{
    position:absolute;
    top:54px;
    left:0;
    right:0;
    width:100%;
    min-width:0;
    max-width:none;
    max-height:65vh;
    overflow-y:auto;
    border-radius:0 0 10px 10px;
    padding:4px 0;
    box-sizing:border-box;
  }

  .nav .tour-dropdown-item{
    min-height:48px;
    padding:11px 16px !important;
    font-size:14px;
    line-height:1.25;
    white-space:normal;
  }

  .nav .tour-dropdown-empty{
    padding:14px 16px;
    white-space:normal;
    text-align:center;
  }
}

/* V123 — correção definitiva do menu Passeios no smartphone */
@media(max-width:600px){
  .nav{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 !important;
    display:flex !important;
    align-items:stretch !important;
    overflow:visible !important;
    width:100% !important;
  }

  .nav #navHome{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:50% !important;
    min-width:0 !important;
    flex:0 0 50% !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 8px !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    font-size:15px !important;
    color:#fff !important;
  }

  .nav #navHome.active{
    background:#f5b817 !important;
    color:#082d56 !important;
  }

  .nav .tour-dropdown{
    position:relative !important;
    display:block !important;
    width:50% !important;
    min-width:0 !important;
    flex:0 0 50% !important;
    height:50px !important;
  }

  .nav .tour-dropdown-toggle{
    appearance:none !important;
    -webkit-appearance:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    width:100% !important;
    min-width:0 !important;
    height:50px !important;
    min-height:50px !important;
    margin:0 !important;
    padding:0 8px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#063d70 !important;
    color:#fff !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
    box-sizing:border-box !important;
  }

  .nav .tour-dropdown.active .tour-dropdown-toggle,
  .nav .tour-dropdown.open .tour-dropdown-toggle{
    background:#f5b817 !important;
    color:#082d56 !important;
  }

  .nav .tour-dropdown-arrow{
    display:inline-block !important;
    font-size:17px !important;
    line-height:1 !important;
    margin-top:-2px !important;
    transform:none !important;
  }

  .nav .tour-dropdown.open .tour-dropdown-arrow{
    transform:rotate(180deg) !important;
  }

  .nav .tour-dropdown-menu{
    position:absolute !important;
    top:50px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    max-height:60vh !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    display:none !important;
    padding:0 !important;
    margin:0 !important;
    background:#fff !important;
    border:1px solid #d8e2ea !important;
    border-top:0 !important;
    border-radius:0 0 10px 10px !important;
    box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
    z-index:2000 !important;
  }

  .nav .tour-dropdown.open .tour-dropdown-menu{
    display:block !important;
  }

  .nav .tour-dropdown-item{
    appearance:none !important;
    -webkit-appearance:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-width:0 !important;
    min-height:50px !important;
    margin:0 !important;
    padding:12px 15px !important;
    border:0 !important;
    border-bottom:1px solid #e6edf2 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#173555 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    text-align:left !important;
    white-space:normal !important;
    cursor:pointer !important;
    box-sizing:border-box !important;
  }

  .nav .tour-dropdown-item:last-child{
    border-bottom:0 !important;
  }

  .nav .tour-dropdown-item:active,
  .nav .tour-dropdown-item:hover{
    background:#f5b817 !important;
    color:#082d56 !important;
  }

  .nav .tour-dropdown-empty{
    padding:14px !important;
    text-align:center !important;
    white-space:normal !important;
  }

  /* Escurece levemente o conteúdo enquanto o menu está aberto. */
  body:has(.tour-dropdown.open)::after{
    content:"";
    position:fixed;
    inset:50px 0 0;
    background:rgba(0,20,40,.08);
    z-index:999;
    pointer-events:none;
  }
}

/* V124 — Kaukito Turismo como item fixo ao lado de Passeios */
.nav #navKaukito{
  min-width:150px;
  flex:0 0 auto;
}

/* Smartphone: três áreas equilibradas: Tela Inicial | Passeios | Kaukito Turismo */
@media(max-width:600px){
  .nav #navHome,
  .nav #navKaukito,
  .nav .tour-dropdown{
    width:33.333333% !important;
    min-width:0 !important;
    flex:0 0 33.333333% !important;
  }

  .nav #navKaukito{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:50px !important;
    min-height:50px !important;
    padding:0 6px !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    font-size:13px !important;
  }

  .nav .tour-dropdown{
    height:50px !important;
  }

  .nav .tour-dropdown-toggle{
    height:50px !important;
    min-height:50px !important;
    font-size:13px !important;
    padding:0 5px !important;
  }

  .nav #navHome{
    font-size:13px !important;
  }
}

/* V125 — seta do dropdown com chevron minimalista */
.nav .tour-dropdown-arrow{
  width:8px !important;
  height:8px !important;
  display:inline-block !important;
  box-sizing:border-box !important;
  border-right:2px solid currentColor !important;
  border-bottom:2px solid currentColor !important;
  transform:rotate(45deg) !important;
  transition:transform .18s ease !important;
  margin-top:-4px !important;
  font-size:0 !important;
  line-height:0 !important;
}

.nav .tour-dropdown.open .tour-dropdown-arrow{
  transform:rotate(225deg) !important;
  margin-top:4px !important;
}

@media(max-width:600px){
  .nav .tour-dropdown-arrow{
    width:7px !important;
    height:7px !important;
    border-right-width:2px !important;
    border-bottom-width:2px !important;
  }
}

/* V126 — smartphone: uma única seta à direita e mais espaço para o dropdown */
@media(max-width:600px){
  .nav .tour-dropdown-toggle{
    /* remove qualquer marcador/decoração nativo do botão */
    list-style:none !important;
  }

  .nav .tour-dropdown-toggle::before{
    content:none !important;
    display:none !important;
  }

  .nav .tour-dropdown-toggle .tour-dropdown-arrow{
    flex:0 0 auto !important;
  }

  /* O dropdown pode usar toda a largura da barra no smartphone. */
  .nav .tour-dropdown.open .tour-dropdown-menu{
    left:0 !important;
    width:200% !important;
    max-width:200% !important;
    right:auto !important;
  }

  /* O conteúdo dos itens ganha espaço e evita quebra desnecessária. */
  .nav .tour-dropdown.open .tour-dropdown-item{
    white-space:nowrap !important;
    min-width:100% !important;
  }

  /* Mantém Kaukito Turismo como item próprio, mas sem interferir na
     largura do dropdown aberto. */
  .nav .tour-dropdown.open + #navKaukito{
    position:relative;
    z-index:1001;
  }
}
